]> granicus.if.org Git - ejabberd/commitdiff
* src/ejabberd_local.erl: Bugfix
authorAlexey Shchepin <alexey@process-one.net>
Tue, 14 Oct 2003 19:34:17 +0000 (19:34 +0000)
committerAlexey Shchepin <alexey@process-one.net>
Tue, 14 Oct 2003 19:34:17 +0000 (19:34 +0000)
* src/mod_register.erl: Added support for sending of "welcome"
message
* src/ejabberd.cfg.example: Updated

* src/ejabberd_s2s_out.erl: Replaced "_jabber-server" with
"_xmpp-server"

SVN Revision: 150

ChangeLog
src/ejabberd.cfg.example
src/ejabberd_local.erl
src/ejabberd_s2s_out.erl
src/mod_register.erl

index 2162c330ce2fb682041ad5f7de14f514a8436324..04dd65443ab5d4307d50cdbe98a0c9cd25f8e400 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2003-10-14  Alexey Shchepin  <alexey@sevcom.net>
+
+       * src/ejabberd_local.erl: Bugfix
+
+       * src/mod_register.erl: Added support for sending of "welcome"
+       message
+       * src/ejabberd.cfg.example: Updated
+
+       * src/ejabberd_s2s_out.erl: Replaced "_jabber-server" with
+       "_xmpp-server"
+
 2003-10-12  Alexey Shchepin  <alexey@sevcom.net>
 
        * doc/guide.tex: Updated
index 4474f3b68ada49e6c233db3d88fbe9168d73b7e9..b2d90b7734fcc42066cd5c3df73f0bf1a598cba1 100644 (file)
 % 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}.
+
 
 % Only non-blocked users can use c2s connections:
 {access, c2s, [{deny, blocked},
index 6df88e3da53b5cc0143dc8724f79cf2f1c7b323a..d4517f35b5bcc1b83b6803cf1d35cb40be548a56 100644 (file)
@@ -84,11 +84,15 @@ do_route(State, From, To, Packet) ->
                    ok
            end;
        #jid{luser = ""} ->
-           Err = jlib:make_error_reply(Packet, ?ERR_ITEM_NOT_FOUND),
-           ejabberd_router ! {route,
-                              jlib:make_jid("", State#state.mydomain, ""),
-                              From,
-                              Err};
+           {xmlelement, _Name, Attrs, _Els} = Packet,
+           case xml:get_attr_s("type", Attrs) of
+               "error" -> ok;
+               "result" -> ok;
+               _ ->
+                   Err = jlib:make_error_reply(Packet, ?ERR_ITEM_NOT_FOUND),
+                   ejabberd_router:route(
+                     jlib:make_jid("", State#state.mydomain, ""), From, Err)
+           end;
        _ ->
            ejabberd_sm ! {route, From, To, Packet}
     end.
index 466f9fd0b9a1c8a0c31db0cc394f0dfc9219e941..90faf4c557aaa7936ec31e87f53194456e6df138 100644 (file)
@@ -443,7 +443,7 @@ is_verify_res(_) ->
 -include_lib("kernel/include/inet.hrl").
 
 get_addr_port(Server) ->
-    Res = case inet_res:getbyname("_jabber-server._tcp." ++ Server, srv) of
+    Res = case inet_res:getbyname("_xmpp-server._tcp." ++ Server, srv) of
              {error, _Reason} ->
                  inet_res:getbyname("_jabber._tcp." ++ Server, srv);
              {ok, _HEnt} = R -> R
index 9bf89f05e77068b276effd33795050666c4e5744..f19a608a3135d535e7784e7ff04b401384229419 100644 (file)
@@ -116,12 +116,14 @@ try_register(User, Password) ->
        false ->
            {error, ?ERR_BAD_REQUEST};
        _ ->
-           case acl:match_rule(register, jlib:make_jid(User, ?MYNAME, "")) of
+           JID = jlib:make_jid(User, ?MYNAME, ""),
+           case acl:match_rule(register, JID) of
                deny ->
                    {error, ?ERR_CONFLICT};
                allow ->
                    case ejabberd_auth:try_register(User, Password) of
                        {atomic, ok} ->
+                           send_welcome_message(JID),
                            ok;
                        {atomic, exists} ->
                            {error, ?ERR_CONFLICT};
@@ -132,4 +134,18 @@ try_register(User, Password) ->
     end.
 
 
+send_welcome_message(JID) ->
+    case ejabberd_config:get_local_option(welcome_message) of
+       {"", ""} ->
+           ok;
+       {Subj, Body} ->
+           ejabberd_router:route(
+             jlib:make_jid("", ?MYNAME, ""),
+             JID,
+             {xmlelement, "message", [{"type", "normal"}],
+              [{xmlelement, "subject", [], [{xmlcdata, Subj}]},
+               {xmlelement, "body", [], [{xmlcdata, Body}]}]});
+       _ ->
+           ok
+    end.