summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlexey Shchepin <alexey@process-one.net>2003-04-08 19:32:01 +0000
committerAlexey Shchepin <alexey@process-one.net>2003-04-08 19:32:01 +0000
commit71d4115a086676f2ae8ee8c96eb59a2c322178d7 (patch)
tree7bab852a7f1fc258770a6431d004931236138bfd /src
parent* src/mod_muc/mod_muc_room.erl: Added support for grant/revoke (diff)
* src/jlib.hrl: Added jaber:iq:auth:error namespace and
appropriate errors * src/ejabberd_c2s.erl: Use auth:error in appropriate places * src/jlib.hrl: Changed stream error and stanza error namespace names due to last XMPP Core changes SVN Revision: 97
Diffstat (limited to 'src')
-rw-r--r--src/ejabberd_c2s.erl4
-rw-r--r--src/jlib.hrl21
2 files changed, 20 insertions, 5 deletions
diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl
index 6bcc1634..b495e7c0 100644
--- a/src/ejabberd_c2s.erl
+++ b/src/ejabberd_c2s.erl
@@ -178,7 +178,7 @@ wait_for_auth({xmlstreamelement, El}, StateData) ->
send_element(StateData#state.socket, Res),
{next_state, wait_for_auth, StateData};
{auth, ID, set, {U, P, D, ""}} ->
- Err = jlib:make_error_reply(El, "406", "Not Acceptable"),
+ Err = jlib:make_error_reply(El, ?ERR_AUTH_NO_RESOURCE_PROVIDED),
send_element(StateData#state.socket, Err),
{next_state, wait_for_auth, StateData};
{auth, ID, set, {U, P, D, R}} ->
@@ -316,7 +316,7 @@ wait_for_resource_auth({xmlstreamelement, El}, StateData) ->
send_element(StateData#state.socket, Res),
{next_state, wait_for_resource_auth, StateData};
{auth, ID, set, {U, _, _, ""}} ->
- Err = jlib:make_error_reply(El, "406", "Not Acceptable"),
+ Err = jlib:make_error_reply(El, ?ERR_AUTH_NO_RESOURCE_PROVIDED),
send_element(StateData#state.socket, Err),
{next_state, wait_for_resource_auth, StateData};
{auth, ID, set, {U, _, _, R}} ->
diff --git a/src/jlib.hrl b/src/jlib.hrl
index ace624c7..b9a9ff70 100644
--- a/src/jlib.hrl
+++ b/src/jlib.hrl
@@ -9,6 +9,7 @@
-define(NS_DISCO_INFO, "http://jabber.org/protocol/disco#info").
-define(NS_VCARD, "vcard-temp").
-define(NS_AUTH, "jabber:iq:auth").
+-define(NS_AUTH_ERROR, "jabber:iq:auth:error").
-define(NS_REGISTER, "jabber:iq:register").
-define(NS_SEARCH, "jabber:iq:search").
-define(NS_ROSTER, "jabber:iq:roster").
@@ -27,9 +28,8 @@
-define(NS_STREAM, "http://etherx.jabber.org/streams").
-% TODO: replace "xmppcore-rfc-number" with real RFC number
--define(NS_STANZAS, "urn:ietf:rfc:xmppcore-rfc-number:stanzas").
--define(NS_STREAMS, "urn:ietf:rfc:xmppcore-rfc-number:streams").
+-define(NS_STANZAS, "urn:ietf:params:xml:ns:xmpp-stanzas").
+-define(NS_STREAMS, "urn:ietf:params:xml:ns:xmpp-streams").
-define(NS_SASL_MECHANISMS, "http://www.iana.org/assignments/sasl-mechanisms").
@@ -68,6 +68,21 @@
%-define(ERR_,
% ?STANZA_ERROR("", "", "")).
+% Application-specific stanza errors
+-define(AUTH_STANZA_ERROR(Condition),
+ {xmlelement, "error",
+ [{"code", "406"}, {"class", "app"}],
+ [{xmlelement, "auth-condition",
+ [{"xmlns", ?NS_AUTH_ERROR}],
+ [{xmlelement, Condition, [], []}]}]}).
+
+-define(ERR_AUTH_NO_RESOURCE_PROVIDED,
+ ?AUTH_STANZA_ERROR("no-resource-provided")).
+-define(ERR_AUTH_BAD_RESOURCE_FORMAT,
+ ?AUTH_STANZA_ERROR("bad-resource-format")).
+-define(ERR_AUTH_RESOURCE_CONFLICT,
+ ?AUTH_STANZA_ERROR("resource-conflict")).
+
-define(STREAM_ERROR(Class, Condition),
{xmlelement, "stream:error",