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:
parent
a4507b8b6f
commit
d7a6fcb712
17
ChangeLog
17
ChangeLog
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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,
|
||||||
|
@ -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 ->
|
||||||
|
@ -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 ->
|
||||||
|
@ -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
20
src/odbc/Makefile.win32
Normal 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
|
@ -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:
|
||||||
|
Loading…
Reference in New Issue
Block a user