25
1
mirror of https://github.com/processone/ejabberd.git synced 2024-11-24 16:23:40 +01:00

* src/win32/ejabberd.cfg: Updated (thanks to Sergei Golovan)

* src/odbc/Makefile.win32: Added (thanks to Sergei Golovan)

* src/Makefile.win32: Updated (thanks to Sergei Golovan)

* src/jd2ejd.erl: Fixed private xml setting

* src/mod_last.erl: Bugfix
* src/mod_last_odbc.erl: Likewise

* src/mod_pubsub/mod_pubsub.erl: Fixed service stopping

SVN Revision: 347
This commit is contained in:
Alexey Shchepin 2005-05-15 23:03:25 +00:00
parent a4507b8b6f
commit d7a6fcb712
8 changed files with 209 additions and 164 deletions

View File

@ -1,3 +1,20 @@
2005-05-16 Alexey Shchepin <alexey@sevcom.net>
* src/win32/ejabberd.cfg: Updated (thanks to Sergei Golovan)
* src/odbc/Makefile.win32: Added (thanks to Sergei Golovan)
* src/Makefile.win32: Updated (thanks to Sergei Golovan)
2005-05-15 Alexey Shchepin <alexey@sevcom.net>
* src/jd2ejd.erl: Fixed private xml setting
* src/mod_last.erl: Bugfix
* src/mod_last_odbc.erl: Likewise
* src/mod_pubsub/mod_pubsub.erl: Fixed service stopping
2005-05-09 Alexey Shchepin <alexey@sevcom.net> 2005-05-09 Alexey Shchepin <alexey@sevcom.net>
* src/mod_muc/mod_muc_room.erl: Fixed bug with storing * src/mod_muc/mod_muc_room.erl: Fixed bug with storing

View File

@ -68,6 +68,8 @@ release : build release_clean
copy tls\*.erl $(SRC_DIR)\tls copy tls\*.erl $(SRC_DIR)\tls
mkdir $(SRC_DIR)\web mkdir $(SRC_DIR)\web
copy web\*.erl $(SRC_DIR)\web copy web\*.erl $(SRC_DIR)\web
mkdir $(SRC_DIR)\odbc
copy odbc\*.erl $(SRC_DIR)\odbc
mkdir $(DOC_DIR) mkdir $(DOC_DIR)
copy ..\doc\*.html $(DOC_DIR) copy ..\doc\*.html $(DOC_DIR)
copy ..\doc\*.png $(DOC_DIR) copy ..\doc\*.png $(DOC_DIR)
@ -93,6 +95,8 @@ all-recursive :
nmake -nologo -f Makefile.win32 nmake -nologo -f Makefile.win32
cd ..\web cd ..\web
nmake -nologo -f Makefile.win32 nmake -nologo -f Makefile.win32
cd ..\odbc
nmake -nologo -f Makefile.win32
cd .. cd ..
compile-beam : compile-beam :
@ -122,6 +126,8 @@ clean-recursive :
nmake -nologo -f Makefile.win32 clean nmake -nologo -f Makefile.win32 clean
cd ..\web cd ..\web
nmake -nologo -f Makefile.win32 clean nmake -nologo -f Makefile.win32 clean
cd ..\odbc
nmake -nologo -f Makefile.win32 clean
cd .. cd ..
distclean : release_clean clean distclean : release_clean clean

View File

@ -111,7 +111,7 @@ xdb_data(User, Server, {xmlelement, _Name, Attrs, _Els} = El) ->
XMLNS -> XMLNS ->
case xml:get_attr_s("j_private_flag", Attrs) of case xml:get_attr_s("j_private_flag", Attrs) of
"1" -> "1" ->
catch mod_private:process_local_iq( catch mod_private:process_sm_iq(
From, From,
jlib:make_jid("", ?MYNAME, ""), jlib:make_jid("", ?MYNAME, ""),
#iq{type = set, xmlns = ?NS_PRIVATE, #iq{type = set, xmlns = ?NS_PRIVATE,

View File

@ -74,7 +74,7 @@ process_sm_iq(From, To, #iq{type = Type, sub_el = SubEl} = IQ) ->
roster_get_jid_info, {none, []}, [User, Server, From]), roster_get_jid_info, {none, []}, [User, Server, From]),
if if
(Subscription == both) or (Subscription == from) -> (Subscription == both) or (Subscription == from) ->
case catch mod_privacy:get_user_list(User) of case catch mod_privacy:get_user_list(User, Server) of
{'EXIT', _Reason} -> {'EXIT', _Reason} ->
get_last(IQ, SubEl, User, Server); get_last(IQ, SubEl, User, Server);
List -> List ->

View File

@ -62,12 +62,13 @@ process_sm_iq(From, To, #iq{type = Type, sub_el = SubEl} = IQ) ->
IQ#iq{type = error, sub_el = [SubEl, ?ERR_NOT_ALLOWED]}; IQ#iq{type = error, sub_el = [SubEl, ?ERR_NOT_ALLOWED]};
get -> get ->
User = To#jid.luser, User = To#jid.luser,
Server = To#jid.lserver,
{Subscription, _Groups} = {Subscription, _Groups} =
ejabberd_hooks:run_fold( ejabberd_hooks:run_fold(
roster_get_jid_info, {none, []}, [User, From]), roster_get_jid_info, {none, []}, [User, From]),
if if
(Subscription == both) or (Subscription == from) -> (Subscription == both) or (Subscription == from) ->
case catch mod_privacy:get_user_list(User) of case catch mod_privacy:get_user_list(User, Server) of
{'EXIT', _Reason} -> {'EXIT', _Reason} ->
get_last(IQ, SubEl, User); get_last(IQ, SubEl, User);
List -> List ->

View File

@ -80,7 +80,7 @@ loop(Hosts, Parent) ->
ets:delete(muc_online_room, Room), ets:delete(muc_online_room, Room),
loop(Hosts, Parent); loop(Hosts, Parent);
stop -> stop ->
ejabberd_router:unregister_global_routes(Hosts), ejabberd_router:unregister_routes(Hosts),
ok; ok;
reload -> reload ->
?MODULE:loop(Hosts, Parent); ?MODULE:loop(Hosts, Parent);

20
src/odbc/Makefile.win32 Normal file
View File

@ -0,0 +1,20 @@
include ..\Makefile.inc
OUTDIR = ..
EFLAGS = -I .. -pz ..
OBJS = \
$(OUTDIR)\ejabberd_odbc.beam \
$(OUTDIR)\ejabberd_odbc_sup.beam
ALL : $(OBJS)
CLEAN :
-@erase $(OBJS)
$(OUTDIR)\ejabberd_odbc.beam : ejabberd_odbc.erl
erlc -W $(EFLAGS) -o $(OUTDIR) ejabberd_odbc.erl
$(OUTDIR)\ejabberd_odbc_sup.beam : ejabberd_odbc_sup.erl
erlc -W $(EFLAGS) -o $(OUTDIR) ejabberd_odbc_sup.erl

View File

@ -1,160 +1,161 @@
% $Id$ % $Id$
%override_acls. %override_acls.
% Users that have admin access. Add line like one of the following after you % Users that have admin access. Add line like one of the following after you
% will be successfully registered on server to get admin access: % will be successfully registered on server to get admin access:
%{acl, admin, {user, "aleksey"}}. %{acl, admin, {user, "aleksey"}}.
%{acl, admin, {user, "ermine"}}. %{acl, admin, {user, "ermine"}}.
% Blocked users: % Blocked users:
%{acl, blocked, {user, "test"}}. %{acl, blocked, {user, "test"}}.
% Local users: % Local users:
{acl, local, {user_regexp, ""}}. {acl, local, {user_regexp, ""}}.
% Another examples of ACLs: % Another examples of ACLs:
%{acl, jabberorg, {server, "jabber.org"}}. %{acl, jabberorg, {server, "jabber.org"}}.
%{acl, aleksey, {user, "aleksey", "jabber.ru"}}. %{acl, aleksey, {user, "aleksey", "jabber.ru"}}.
%{acl, test, {user_regexp, "^test"}}. %{acl, test, {user_regexp, "^test"}}.
%{acl, test, {user_glob, "test*"}}. %{acl, test, {user_glob, "test*"}}.
% Only admins can use configuration interface: % Only admins can use configuration interface:
{access, configure, [{allow, admin}]}. {access, configure, [{allow, admin}]}.
% Every username can be registered via in-band registration: % Every username can be registered via in-band registration:
{access, register, [{allow, all}]}. {access, register, [{allow, all}]}.
% After successful registration user will get message with following subject % After successful registration user will get message with following subject
% and body: % and body:
{welcome_message, {welcome_message,
{"Welcome!", {"Welcome!",
"Welcome to Jabber Service. " "Welcome to Jabber Service. "
"For information about Jabber visit http://jabber.org"}}. "For information about Jabber visit http://jabber.org"}}.
% Replace them with 'none' if you don't want to send such message: % Replace them with 'none' if you don't want to send such message:
%{welcome_message, none}. %{welcome_message, none}.
% List of people who will get notifications about registered users % List of people who will get notifications about registered users
%{registration_watchers, ["admin1@localhost", %{registration_watchers, ["admin1@localhost",
% "admin2@localhost"]}. % "admin2@localhost"]}.
% Only admins can send announcement messages: % Only admins can send announcement messages:
{access, announce, [{allow, admin}]}. {access, announce, [{allow, admin}]}.
% Only non-blocked users can use c2s connections: % Only non-blocked users can use c2s connections:
{access, c2s, [{deny, blocked}, {access, c2s, [{deny, blocked},
{allow, all}]}. {allow, all}]}.
% Set shaper with name "normal" to limit traffic speed to 1000B/s % Set shaper with name "normal" to limit traffic speed to 1000B/s
{shaper, normal, {maxrate, 1000}}. {shaper, normal, {maxrate, 1000}}.
% Set shaper with name "fast" to limit traffic speed to 50000B/s % Set shaper with name "fast" to limit traffic speed to 50000B/s
{shaper, fast, {maxrate, 50000}}. {shaper, fast, {maxrate, 50000}}.
% For all users except admins used "normal" shaper % For all users except admins used "normal" shaper
{access, c2s_shaper, [{none, admin}, {access, c2s_shaper, [{none, admin},
{normal, all}]}. {normal, all}]}.
% For all S2S connections used "fast" shaper % For all S2S connections used "fast" shaper
{access, s2s_shaper, [{fast, all}]}. {access, s2s_shaper, [{fast, all}]}.
% Admins of this server are also admins of MUC service: % Admins of this server are also admins of MUC service:
{access, muc_admin, [{allow, admin}]}. {access, muc_admin, [{allow, admin}]}.
% All users are allowed to use MUC service: % All users are allowed to use MUC service:
{access, muc, [{allow, all}]}. {access, muc, [{allow, all}]}.
% This rule allows access only for local users: % This rule allows access only for local users:
{access, local, [{allow, local}]}. {access, local, [{allow, local}]}.
% Authentification method. If you want to use internal user base, then use % Authentification method. If you want to use internal user base, then use
% this line: % this line:
{auth_method, internal}. {auth_method, internal}.
% For LDAP authentification use these lines instead of above one: % For LDAP authentification use these lines instead of above one:
%{auth_method, ldap}. %{auth_method, ldap}.
%{ldap_servers, ["localhost"]}. % List of LDAP servers %{ldap_servers, ["localhost"]}. % List of LDAP servers
%{ldap_uidattr, "uid"}. % LDAP attribute that holds user ID %{ldap_uidattr, "uid"}. % LDAP attribute that holds user ID
%{ldap_base, "dc=example,dc=com"}. % Base of LDAP directory %{ldap_base, "dc=example,dc=com"}. % Base of LDAP directory
% For authentification via external script use the following: % For authentification via external script use the following:
%{auth_method, external}. %{auth_method, external}.
%{extauth_program, "/path/to/authentification/script"}. %{extauth_program, "/path/to/authentification/script"}.
% Host name: % Host name(s):
{host, "localhost"}. {hosts, ["localhost"]}.
% Default language: % Default language:
{language, "en"}. {language, "en"}.
% Listened ports: % Listened ports:
{listen, {listen,
[ [
{5222, ejabberd_c2s, [{access, c2s}, {5222, ejabberd_c2s, [{access, c2s},
{shaper, c2s_shaper}]}, {shaper, c2s_shaper}]},
% To create selfsigned certificate run the following command from the % To create selfsigned certificate run the following command from the
% command prompt: % command prompt:
% %
% openssl req -new -x509 -days 365 -nodes -out ejabberd.pem -keyout ejabberd.pem % openssl req -new -x509 -days 365 -nodes -out ejabberd.pem -keyout ejabberd.pem
% %
% and answer the questions. % and answer the questions.
% {5222, ejabberd_c2s, [{access, c2s}, % {5222, ejabberd_c2s, [{access, c2s},
% starttls, {certfile, "./ejabberd.pem"}, % starttls, {certfile, "./ejabberd.pem"},
% {shaper, c2s_shaper}]}, % {shaper, c2s_shaper}]},
% When using SSL/TLS ssl option is not recommended (it requires patching % When using SSL/TLS ssl option is not recommended (it requires patching
% erlang ssl application). Use tls option instead (as shown below). % erlang ssl application). Use tls option instead (as shown below).
% {5223, ejabberd_c2s, [{access, c2s}, % {5223, ejabberd_c2s, [{access, c2s},
% tls, {certfile, "./ejabberd.pem"}, % tls, {certfile, "./ejabberd.pem"},
% {shaper, c2s_shaper}]}, % {shaper, c2s_shaper}]},
{5269, ejabberd_s2s_in, [{shaper, s2s_shaper}]}, {5269, ejabberd_s2s_in, [{shaper, s2s_shaper}]},
% {5555, ejabberd_service, [{access, all}, % {5555, ejabberd_service, [{access, all},
% {host, "icq.localhost", [{password, "secret"}]}]}, % {host, "icq.localhost", [{password, "secret"}]}]},
{5280, ejabberd_http, [http_poll, web_admin]} {5280, ejabberd_http, [http_poll, web_admin]}
]}. ]}.
% If SRV lookup fails, then port 5269 is used to communicate with remote server % If SRV lookup fails, then port 5269 is used to communicate with remote server
{outgoing_s2s_port, 5269}. {outgoing_s2s_port, 5269}.
% Used modules: % Used modules:
{modules, {modules,
[ [
{mod_register, [{access, register}]}, {mod_register, [{access, register}]},
{mod_roster, []}, {mod_roster, []},
{mod_privacy, []}, {mod_shared_roster, []},
{mod_configure, []}, {mod_privacy, []},
{mod_disco, []}, {mod_configure, []},
{mod_stats, []}, {mod_disco, []},
{mod_vcard, []}, {mod_stats, []},
{mod_offline, []}, {mod_vcard, []},
{mod_announce, [{access, announce}]}, {mod_offline, []},
{mod_private, []}, {mod_announce, [{access, announce}]},
{mod_irc, []}, {mod_private, []},
% Default options for mod_muc: {mod_irc, []},
% host: "conference." ++ ?MYNAME % Default options for mod_muc:
% access: all % host: "conference." ++ ?MYNAME
% access_create: all % access: all
% access_admin: none (only room creator has owner privileges) % access_create: all
{mod_muc, [{access, muc}, % access_admin: none (only room creator has owner privileges)
{access_create, muc}, {mod_muc, [{access, muc},
{access_admin, muc_admin}]}, {access_create, muc},
{mod_pubsub, []}, {access_admin, muc_admin}]},
{mod_time, []}, {mod_pubsub, []},
{mod_last, []}, {mod_time, []},
{mod_version, []} {mod_last, []},
]}. {mod_version, []}
]}.
% Local Variables:
% mode: erlang % Local Variables:
% End: % mode: erlang
% End: