From d7a6fcb7124928247d805a1fa0eab7a244d026ce Mon Sep 17 00:00:00 2001 From: Alexey Shchepin Date: Sun, 15 May 2005 23:03:25 +0000 Subject: [PATCH] * 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 --- ChangeLog | 17 ++ src/Makefile.win32 | 6 + src/jd2ejd.erl | 2 +- src/mod_last.erl | 2 +- src/mod_last_odbc.erl | 3 +- src/mod_pubsub/mod_pubsub.erl | 2 +- src/odbc/Makefile.win32 | 20 +++ src/win32/ejabberd.cfg | 321 +++++++++++++++++----------------- 8 files changed, 209 insertions(+), 164 deletions(-) create mode 100644 src/odbc/Makefile.win32 diff --git a/ChangeLog b/ChangeLog index 73072dc7a..6645bc0fa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,20 @@ +2005-05-16 Alexey Shchepin + + * 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 + + * 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 * src/mod_muc/mod_muc_room.erl: Fixed bug with storing diff --git a/src/Makefile.win32 b/src/Makefile.win32 index 692641c5a..cfa872e75 100644 --- a/src/Makefile.win32 +++ b/src/Makefile.win32 @@ -68,6 +68,8 @@ release : build release_clean copy tls\*.erl $(SRC_DIR)\tls mkdir $(SRC_DIR)\web copy web\*.erl $(SRC_DIR)\web + mkdir $(SRC_DIR)\odbc + copy odbc\*.erl $(SRC_DIR)\odbc mkdir $(DOC_DIR) copy ..\doc\*.html $(DOC_DIR) copy ..\doc\*.png $(DOC_DIR) @@ -93,6 +95,8 @@ all-recursive : nmake -nologo -f Makefile.win32 cd ..\web nmake -nologo -f Makefile.win32 + cd ..\odbc + nmake -nologo -f Makefile.win32 cd .. compile-beam : @@ -122,6 +126,8 @@ clean-recursive : nmake -nologo -f Makefile.win32 clean cd ..\web nmake -nologo -f Makefile.win32 clean + cd ..\odbc + nmake -nologo -f Makefile.win32 clean cd .. distclean : release_clean clean diff --git a/src/jd2ejd.erl b/src/jd2ejd.erl index a950f86c7..6f2152b97 100644 --- a/src/jd2ejd.erl +++ b/src/jd2ejd.erl @@ -111,7 +111,7 @@ xdb_data(User, Server, {xmlelement, _Name, Attrs, _Els} = El) -> XMLNS -> case xml:get_attr_s("j_private_flag", Attrs) of "1" -> - catch mod_private:process_local_iq( + catch mod_private:process_sm_iq( From, jlib:make_jid("", ?MYNAME, ""), #iq{type = set, xmlns = ?NS_PRIVATE, diff --git a/src/mod_last.erl b/src/mod_last.erl index c46f82890..8a1bb0539 100644 --- a/src/mod_last.erl +++ b/src/mod_last.erl @@ -74,7 +74,7 @@ process_sm_iq(From, To, #iq{type = Type, sub_el = SubEl} = IQ) -> roster_get_jid_info, {none, []}, [User, Server, From]), if (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} -> get_last(IQ, SubEl, User, Server); List -> diff --git a/src/mod_last_odbc.erl b/src/mod_last_odbc.erl index 6edd10a2d..ef3c656eb 100644 --- a/src/mod_last_odbc.erl +++ b/src/mod_last_odbc.erl @@ -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]}; get -> User = To#jid.luser, + Server = To#jid.lserver, {Subscription, _Groups} = ejabberd_hooks:run_fold( roster_get_jid_info, {none, []}, [User, From]), if (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} -> get_last(IQ, SubEl, User); List -> diff --git a/src/mod_pubsub/mod_pubsub.erl b/src/mod_pubsub/mod_pubsub.erl index 8404d212c..a69670909 100644 --- a/src/mod_pubsub/mod_pubsub.erl +++ b/src/mod_pubsub/mod_pubsub.erl @@ -80,7 +80,7 @@ loop(Hosts, Parent) -> ets:delete(muc_online_room, Room), loop(Hosts, Parent); stop -> - ejabberd_router:unregister_global_routes(Hosts), + ejabberd_router:unregister_routes(Hosts), ok; reload -> ?MODULE:loop(Hosts, Parent); diff --git a/src/odbc/Makefile.win32 b/src/odbc/Makefile.win32 new file mode 100644 index 000000000..072813563 --- /dev/null +++ b/src/odbc/Makefile.win32 @@ -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 diff --git a/src/win32/ejabberd.cfg b/src/win32/ejabberd.cfg index 7325056df..f882f7cc6 100644 --- a/src/win32/ejabberd.cfg +++ b/src/win32/ejabberd.cfg @@ -1,160 +1,161 @@ -% $Id$ - -%override_acls. - - -% Users that have admin access. Add line like one of the following after you -% will be successfully registered on server to get admin access: -%{acl, admin, {user, "aleksey"}}. -%{acl, admin, {user, "ermine"}}. - -% Blocked users: -%{acl, blocked, {user, "test"}}. - -% Local users: -{acl, local, {user_regexp, ""}}. - -% Another examples of ACLs: -%{acl, jabberorg, {server, "jabber.org"}}. -%{acl, aleksey, {user, "aleksey", "jabber.ru"}}. -%{acl, test, {user_regexp, "^test"}}. -%{acl, test, {user_glob, "test*"}}. - - -% Only admins can use configuration interface: -{access, configure, [{allow, admin}]}. - -% Every username can be registered via in-band registration: -{access, register, [{allow, all}]}. - -% After successful registration user will get message with following subject -% and body: -{welcome_message, - {"Welcome!", - "Welcome to Jabber Service. " - "For information about Jabber visit http://jabber.org"}}. -% Replace them with 'none' if you don't want to send such message: -%{welcome_message, none}. - -% List of people who will get notifications about registered users -%{registration_watchers, ["admin1@localhost", -% "admin2@localhost"]}. - -% Only admins can send announcement messages: -{access, announce, [{allow, admin}]}. - - -% Only non-blocked users can use c2s connections: -{access, c2s, [{deny, blocked}, - {allow, all}]}. - -% Set shaper with name "normal" to limit traffic speed to 1000B/s -{shaper, normal, {maxrate, 1000}}. - -% Set shaper with name "fast" to limit traffic speed to 50000B/s -{shaper, fast, {maxrate, 50000}}. - -% For all users except admins used "normal" shaper -{access, c2s_shaper, [{none, admin}, - {normal, all}]}. - -% For all S2S connections used "fast" shaper -{access, s2s_shaper, [{fast, all}]}. - -% Admins of this server are also admins of MUC service: -{access, muc_admin, [{allow, admin}]}. - -% All users are allowed to use MUC service: -{access, muc, [{allow, all}]}. - -% This rule allows access only for local users: -{access, local, [{allow, local}]}. - - -% Authentification method. If you want to use internal user base, then use -% this line: -{auth_method, internal}. - -% For LDAP authentification use these lines instead of above one: -%{auth_method, ldap}. -%{ldap_servers, ["localhost"]}. % List of LDAP servers -%{ldap_uidattr, "uid"}. % LDAP attribute that holds user ID -%{ldap_base, "dc=example,dc=com"}. % Base of LDAP directory - -% For authentification via external script use the following: -%{auth_method, external}. -%{extauth_program, "/path/to/authentification/script"}. - - -% Host name: -{host, "localhost"}. - -% Default language: -{language, "en"}. - -% Listened ports: -{listen, - [ - {5222, ejabberd_c2s, [{access, c2s}, - {shaper, c2s_shaper}]}, - -% To create selfsigned certificate run the following command from the -% command prompt: -% -% openssl req -new -x509 -days 365 -nodes -out ejabberd.pem -keyout ejabberd.pem -% -% and answer the questions. -% {5222, ejabberd_c2s, [{access, c2s}, -% starttls, {certfile, "./ejabberd.pem"}, -% {shaper, c2s_shaper}]}, - -% When using SSL/TLS ssl option is not recommended (it requires patching -% erlang ssl application). Use tls option instead (as shown below). -% {5223, ejabberd_c2s, [{access, c2s}, -% tls, {certfile, "./ejabberd.pem"}, -% {shaper, c2s_shaper}]}, - - {5269, ejabberd_s2s_in, [{shaper, s2s_shaper}]}, - -% {5555, ejabberd_service, [{access, all}, -% {host, "icq.localhost", [{password, "secret"}]}]}, - - {5280, ejabberd_http, [http_poll, web_admin]} - ]}. - -% If SRV lookup fails, then port 5269 is used to communicate with remote server -{outgoing_s2s_port, 5269}. - - -% Used modules: -{modules, - [ - {mod_register, [{access, register}]}, - {mod_roster, []}, - {mod_privacy, []}, - {mod_configure, []}, - {mod_disco, []}, - {mod_stats, []}, - {mod_vcard, []}, - {mod_offline, []}, - {mod_announce, [{access, announce}]}, - {mod_private, []}, - {mod_irc, []}, -% Default options for mod_muc: -% host: "conference." ++ ?MYNAME -% access: all -% access_create: all -% access_admin: none (only room creator has owner privileges) - {mod_muc, [{access, muc}, - {access_create, muc}, - {access_admin, muc_admin}]}, - {mod_pubsub, []}, - {mod_time, []}, - {mod_last, []}, - {mod_version, []} - ]}. - - -% Local Variables: -% mode: erlang -% End: +% $Id$ + +%override_acls. + + +% Users that have admin access. Add line like one of the following after you +% will be successfully registered on server to get admin access: +%{acl, admin, {user, "aleksey"}}. +%{acl, admin, {user, "ermine"}}. + +% Blocked users: +%{acl, blocked, {user, "test"}}. + +% Local users: +{acl, local, {user_regexp, ""}}. + +% Another examples of ACLs: +%{acl, jabberorg, {server, "jabber.org"}}. +%{acl, aleksey, {user, "aleksey", "jabber.ru"}}. +%{acl, test, {user_regexp, "^test"}}. +%{acl, test, {user_glob, "test*"}}. + + +% Only admins can use configuration interface: +{access, configure, [{allow, admin}]}. + +% Every username can be registered via in-band registration: +{access, register, [{allow, all}]}. + +% After successful registration user will get message with following subject +% and body: +{welcome_message, + {"Welcome!", + "Welcome to Jabber Service. " + "For information about Jabber visit http://jabber.org"}}. +% Replace them with 'none' if you don't want to send such message: +%{welcome_message, none}. + +% List of people who will get notifications about registered users +%{registration_watchers, ["admin1@localhost", +% "admin2@localhost"]}. + +% Only admins can send announcement messages: +{access, announce, [{allow, admin}]}. + + +% Only non-blocked users can use c2s connections: +{access, c2s, [{deny, blocked}, + {allow, all}]}. + +% Set shaper with name "normal" to limit traffic speed to 1000B/s +{shaper, normal, {maxrate, 1000}}. + +% Set shaper with name "fast" to limit traffic speed to 50000B/s +{shaper, fast, {maxrate, 50000}}. + +% For all users except admins used "normal" shaper +{access, c2s_shaper, [{none, admin}, + {normal, all}]}. + +% For all S2S connections used "fast" shaper +{access, s2s_shaper, [{fast, all}]}. + +% Admins of this server are also admins of MUC service: +{access, muc_admin, [{allow, admin}]}. + +% All users are allowed to use MUC service: +{access, muc, [{allow, all}]}. + +% This rule allows access only for local users: +{access, local, [{allow, local}]}. + + +% Authentification method. If you want to use internal user base, then use +% this line: +{auth_method, internal}. + +% For LDAP authentification use these lines instead of above one: +%{auth_method, ldap}. +%{ldap_servers, ["localhost"]}. % List of LDAP servers +%{ldap_uidattr, "uid"}. % LDAP attribute that holds user ID +%{ldap_base, "dc=example,dc=com"}. % Base of LDAP directory + +% For authentification via external script use the following: +%{auth_method, external}. +%{extauth_program, "/path/to/authentification/script"}. + + +% Host name(s): +{hosts, ["localhost"]}. + +% Default language: +{language, "en"}. + +% Listened ports: +{listen, + [ + {5222, ejabberd_c2s, [{access, c2s}, + {shaper, c2s_shaper}]}, + +% To create selfsigned certificate run the following command from the +% command prompt: +% +% openssl req -new -x509 -days 365 -nodes -out ejabberd.pem -keyout ejabberd.pem +% +% and answer the questions. +% {5222, ejabberd_c2s, [{access, c2s}, +% starttls, {certfile, "./ejabberd.pem"}, +% {shaper, c2s_shaper}]}, + +% When using SSL/TLS ssl option is not recommended (it requires patching +% erlang ssl application). Use tls option instead (as shown below). +% {5223, ejabberd_c2s, [{access, c2s}, +% tls, {certfile, "./ejabberd.pem"}, +% {shaper, c2s_shaper}]}, + + {5269, ejabberd_s2s_in, [{shaper, s2s_shaper}]}, + +% {5555, ejabberd_service, [{access, all}, +% {host, "icq.localhost", [{password, "secret"}]}]}, + + {5280, ejabberd_http, [http_poll, web_admin]} + ]}. + +% If SRV lookup fails, then port 5269 is used to communicate with remote server +{outgoing_s2s_port, 5269}. + + +% Used modules: +{modules, + [ + {mod_register, [{access, register}]}, + {mod_roster, []}, + {mod_shared_roster, []}, + {mod_privacy, []}, + {mod_configure, []}, + {mod_disco, []}, + {mod_stats, []}, + {mod_vcard, []}, + {mod_offline, []}, + {mod_announce, [{access, announce}]}, + {mod_private, []}, + {mod_irc, []}, +% Default options for mod_muc: +% host: "conference." ++ ?MYNAME +% access: all +% access_create: all +% access_admin: none (only room creator has owner privileges) + {mod_muc, [{access, muc}, + {access_create, muc}, + {access_admin, muc_admin}]}, + {mod_pubsub, []}, + {mod_time, []}, + {mod_last, []}, + {mod_version, []} + ]}. + + +% Local Variables: +% mode: erlang +% End: