25
1
mirror of https://github.com/processone/ejabberd.git synced 2024-12-26 17:38:45 +01:00

Add registration remove test case

This commit is contained in:
Evgeniy Khramtsov 2013-06-15 02:58:26 +10:00 committed by Alexey Shchepin
parent 7b96d8cc24
commit adf75e3c18
4 changed files with 186 additions and 122 deletions

View File

@ -115,7 +115,8 @@ groups() ->
privacy, privacy,
blocking, blocking,
vcard, vcard,
pubsub]}]. pubsub,
test_unregister]}].
all() -> all() ->
[{group, single_user}, stop_ejabberd]. [{group, single_user}, stop_ejabberd].
@ -228,6 +229,24 @@ register(Config) ->
#iq{type = result, id = I2, sub_els = [#register{}]} = recv(), #iq{type = result, id = I2, sub_els = [#register{}]} = recv(),
Config. Config.
test_unregister(Config) ->
case ?config(register, Config) of
true ->
disconnect(try_unregister(Config));
_ ->
{skipped, 'registration_not_available'}
end.
try_unregister(Config) ->
I = send(Config,
#iq{type = set,
sub_els = [#register{remove = true}]}),
%% BUG: we should receive empty sub_els
%% TODO: fix in ejabberd
%% #iq{type = result, id = I, sub_els = []} = recv(),
#iq{type = result, id = I, sub_els = [#register{}]} = recv(),
Config.
test_auth(Config) -> test_auth(Config) ->
disconnect(auth(Config)). disconnect(auth(Config)).

View File

@ -1,6 +1,6 @@
%% Created automatically by XML generator (xml_gen.erl) %% Created automatically by XML generator (xml_gen.erl)
%% Source: xmpp_codec.spec %% Source: xmpp_codec.spec
%% Date: Fri, 14 Jun 2013 14:30:53 GMT %% Date: Fri, 14 Jun 2013 16:48:12 GMT
-module(xmpp_codec). -module(xmpp_codec).
@ -334,6 +334,8 @@ decode({xmlel, _name, _attrs, _} = _el) ->
decode_register_username(_el); decode_register_username(_el);
{<<"instructions">>, <<"jabber:iq:register">>} -> {<<"instructions">>, <<"jabber:iq:register">>} ->
decode_register_instructions(_el); decode_register_instructions(_el);
{<<"remove">>, <<"jabber:iq:register">>} ->
decode_register_remove(_el);
{<<"registered">>, <<"jabber:iq:register">>} -> {<<"registered">>, <<"jabber:iq:register">>} ->
decode_register_registered(_el); decode_register_registered(_el);
{<<"register">>, {<<"register">>,
@ -720,7 +722,7 @@ encode({session} = Session) ->
[{<<"xmlns">>, [{<<"xmlns">>,
<<"urn:ietf:params:xml:ns:xmpp-session">>}]); <<"urn:ietf:params:xml:ns:xmpp-session">>}]);
encode({register, _, _, _, _, _, _, _, _, _, _, _, _, _, encode({register, _, _, _, _, _, _, _, _, _, _, _, _, _,
_, _, _, _, _, _} = _, _, _, _, _, _, _} =
Query) -> Query) ->
encode_register(Query, encode_register(Query,
[{<<"xmlns">>, <<"jabber:iq:register">>}]); [{<<"xmlns">>, <<"jabber:iq:register">>}]);
@ -5027,6 +5029,15 @@ encode_register_registered(true, _xmlns_attrs) ->
_attrs = _xmlns_attrs, _attrs = _xmlns_attrs,
{xmlel, <<"registered">>, _attrs, _els}. {xmlel, <<"registered">>, _attrs, _els}.
decode_register_remove({xmlel, <<"remove">>, _attrs,
_els}) ->
true.
encode_register_remove(true, _xmlns_attrs) ->
_els = [],
_attrs = _xmlns_attrs,
{xmlel, <<"remove">>, _attrs, _els}.
decode_register_instructions({xmlel, <<"instructions">>, decode_register_instructions({xmlel, <<"instructions">>,
_attrs, _els}) -> _attrs, _els}) ->
Cdata = decode_register_instructions_els(_els, <<>>), Cdata = decode_register_instructions_els(_els, <<>>),
@ -5480,42 +5491,61 @@ encode_register_key_cdata(_val, _acc) ->
decode_register({xmlel, <<"query">>, _attrs, _els}) -> decode_register({xmlel, <<"query">>, _attrs, _els}) ->
{Zip, Misc, Address, Instructions, Text, Last, First, {Zip, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name, Password, Registered, Date, Phone, State, Name,
Username, Key, City, Nick, Url, Email} = Username, Remove, Key, City, Nick, Url, Email} =
decode_register_els(_els, undefined, undefined, decode_register_els(_els, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, false, undefined, undefined, undefined, undefined, false, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined, undefined, false, undefined,
undefined, undefined, undefined, undefined), undefined, undefined, undefined, undefined),
{register, Registered, Instructions, Username, Nick, {register, Registered, Remove, Instructions, Username,
Password, Name, First, Last, Email, Address, City, Nick, Password, Name, First, Last, Email, Address, City,
State, Zip, Phone, Url, Date, Misc, Text, Key}. State, Zip, Phone, Url, Date, Misc, Text, Key}.
decode_register_els([], Zip, Misc, Address, decode_register_els([], Zip, Misc, Address,
Instructions, Text, Last, First, Password, Registered, Instructions, Text, Last, First, Password, Registered,
Date, Phone, State, Name, Username, Key, City, Nick, Date, Phone, State, Name, Username, Remove, Key, City,
Url, Email) -> Nick, Url, Email) ->
{Zip, Misc, Address, Instructions, Text, Last, First, {Zip, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name, Password, Registered, Date, Phone, State, Name,
Username, Key, City, Nick, Url, Email}; Username, Remove, Key, City, Nick, Url, Email};
decode_register_els([{xmlel, <<"registered">>, _attrs, decode_register_els([{xmlel, <<"registered">>, _attrs,
_} = _} =
_el _el
| _els], | _els],
Zip, Misc, Address, Instructions, Text, Last, First, Zip, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name, Password, Registered, Date, Phone, State, Name,
Username, Key, City, Nick, Url, Email) -> Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = xml:get_attr_s(<<"xmlns">>, _attrs), _xmlns = xml:get_attr_s(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> -> if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> ->
decode_register_els(_els, Zip, Misc, Address, decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Password, Instructions, Text, Last, First, Password,
decode_register_registered(_el), Date, Phone, decode_register_registered(_el), Date, Phone,
State, Name, Username, Key, City, Nick, Url, State, Name, Username, Remove, Key, City, Nick,
Email); Url, Email);
true -> true ->
decode_register_els(_els, Zip, Misc, Address, decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Password, Instructions, Text, Last, First, Password,
Registered, Date, Phone, State, Name, Username, Registered, Date, Phone, State, Name, Username,
Key, City, Nick, Url, Email) Remove, Key, City, Nick, Url, Email)
end;
decode_register_els([{xmlel, <<"remove">>, _attrs, _} =
_el
| _els],
Zip, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name,
Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = xml:get_attr_s(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> ->
decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Password,
Registered, Date, Phone, State, Name, Username,
decode_register_remove(_el), Key, City, Nick,
Url, Email);
true ->
decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Password,
Registered, Date, Phone, State, Name, Username,
Remove, Key, City, Nick, Url, Email)
end; end;
decode_register_els([{xmlel, <<"instructions">>, _attrs, decode_register_els([{xmlel, <<"instructions">>, _attrs,
_} = _} =
@ -5523,18 +5553,19 @@ decode_register_els([{xmlel, <<"instructions">>, _attrs,
| _els], | _els],
Zip, Misc, Address, Instructions, Text, Last, First, Zip, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name, Password, Registered, Date, Phone, State, Name,
Username, Key, City, Nick, Url, Email) -> Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = xml:get_attr_s(<<"xmlns">>, _attrs), _xmlns = xml:get_attr_s(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> -> if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> ->
decode_register_els(_els, Zip, Misc, Address, decode_register_els(_els, Zip, Misc, Address,
decode_register_instructions(_el), Text, Last, decode_register_instructions(_el), Text, Last,
First, Password, Registered, Date, Phone, State, First, Password, Registered, Date, Phone, State,
Name, Username, Key, City, Nick, Url, Email); Name, Username, Remove, Key, City, Nick, Url,
Email);
true -> true ->
decode_register_els(_els, Zip, Misc, Address, decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Password, Instructions, Text, Last, First, Password,
Registered, Date, Phone, State, Name, Username, Registered, Date, Phone, State, Name, Username,
Key, City, Nick, Url, Email) Remove, Key, City, Nick, Url, Email)
end; end;
decode_register_els([{xmlel, <<"username">>, _attrs, decode_register_els([{xmlel, <<"username">>, _attrs,
_} = _} =
@ -5542,38 +5573,38 @@ decode_register_els([{xmlel, <<"username">>, _attrs,
| _els], | _els],
Zip, Misc, Address, Instructions, Text, Last, First, Zip, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name, Password, Registered, Date, Phone, State, Name,
Username, Key, City, Nick, Url, Email) -> Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = xml:get_attr_s(<<"xmlns">>, _attrs), _xmlns = xml:get_attr_s(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> -> if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> ->
decode_register_els(_els, Zip, Misc, Address, decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Password, Instructions, Text, Last, First, Password,
Registered, Date, Phone, State, Name, Registered, Date, Phone, State, Name,
decode_register_username(_el), Key, City, Nick, decode_register_username(_el), Remove, Key, City,
Url, Email); Nick, Url, Email);
true -> true ->
decode_register_els(_els, Zip, Misc, Address, decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Password, Instructions, Text, Last, First, Password,
Registered, Date, Phone, State, Name, Username, Registered, Date, Phone, State, Name, Username,
Key, City, Nick, Url, Email) Remove, Key, City, Nick, Url, Email)
end; end;
decode_register_els([{xmlel, <<"nick">>, _attrs, _} = decode_register_els([{xmlel, <<"nick">>, _attrs, _} =
_el _el
| _els], | _els],
Zip, Misc, Address, Instructions, Text, Last, First, Zip, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name, Password, Registered, Date, Phone, State, Name,
Username, Key, City, Nick, Url, Email) -> Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = xml:get_attr_s(<<"xmlns">>, _attrs), _xmlns = xml:get_attr_s(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> -> if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> ->
decode_register_els(_els, Zip, Misc, Address, decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Password, Instructions, Text, Last, First, Password,
Registered, Date, Phone, State, Name, Username, Registered, Date, Phone, State, Name, Username,
Key, City, decode_register_nick(_el), Url, Remove, Key, City, decode_register_nick(_el),
Email); Url, Email);
true -> true ->
decode_register_els(_els, Zip, Misc, Address, decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Password, Instructions, Text, Last, First, Password,
Registered, Date, Phone, State, Name, Username, Registered, Date, Phone, State, Name, Username,
Key, City, Nick, Url, Email) Remove, Key, City, Nick, Url, Email)
end; end;
decode_register_els([{xmlel, <<"password">>, _attrs, decode_register_els([{xmlel, <<"password">>, _attrs,
_} = _} =
@ -5581,299 +5612,302 @@ decode_register_els([{xmlel, <<"password">>, _attrs,
| _els], | _els],
Zip, Misc, Address, Instructions, Text, Last, First, Zip, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name, Password, Registered, Date, Phone, State, Name,
Username, Key, City, Nick, Url, Email) -> Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = xml:get_attr_s(<<"xmlns">>, _attrs), _xmlns = xml:get_attr_s(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> -> if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> ->
decode_register_els(_els, Zip, Misc, Address, decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Instructions, Text, Last, First,
decode_register_password(_el), Registered, Date, decode_register_password(_el), Registered, Date,
Phone, State, Name, Username, Key, City, Nick, Phone, State, Name, Username, Remove, Key, City,
Url, Email); Nick, Url, Email);
true -> true ->
decode_register_els(_els, Zip, Misc, Address, decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Password, Instructions, Text, Last, First, Password,
Registered, Date, Phone, State, Name, Username, Registered, Date, Phone, State, Name, Username,
Key, City, Nick, Url, Email) Remove, Key, City, Nick, Url, Email)
end; end;
decode_register_els([{xmlel, <<"name">>, _attrs, _} = decode_register_els([{xmlel, <<"name">>, _attrs, _} =
_el _el
| _els], | _els],
Zip, Misc, Address, Instructions, Text, Last, First, Zip, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name, Password, Registered, Date, Phone, State, Name,
Username, Key, City, Nick, Url, Email) -> Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = xml:get_attr_s(<<"xmlns">>, _attrs), _xmlns = xml:get_attr_s(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> -> if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> ->
decode_register_els(_els, Zip, Misc, Address, decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Password, Instructions, Text, Last, First, Password,
Registered, Date, Phone, State, Registered, Date, Phone, State,
decode_register_name(_el), Username, Key, City, decode_register_name(_el), Username, Remove, Key,
Nick, Url, Email); City, Nick, Url, Email);
true -> true ->
decode_register_els(_els, Zip, Misc, Address, decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Password, Instructions, Text, Last, First, Password,
Registered, Date, Phone, State, Name, Username, Registered, Date, Phone, State, Name, Username,
Key, City, Nick, Url, Email) Remove, Key, City, Nick, Url, Email)
end; end;
decode_register_els([{xmlel, <<"first">>, _attrs, _} = decode_register_els([{xmlel, <<"first">>, _attrs, _} =
_el _el
| _els], | _els],
Zip, Misc, Address, Instructions, Text, Last, First, Zip, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name, Password, Registered, Date, Phone, State, Name,
Username, Key, City, Nick, Url, Email) -> Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = xml:get_attr_s(<<"xmlns">>, _attrs), _xmlns = xml:get_attr_s(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> -> if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> ->
decode_register_els(_els, Zip, Misc, Address, decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, Instructions, Text, Last,
decode_register_first(_el), Password, Registered, decode_register_first(_el), Password, Registered,
Date, Phone, State, Name, Username, Key, City, Date, Phone, State, Name, Username, Remove, Key,
Nick, Url, Email); City, Nick, Url, Email);
true -> true ->
decode_register_els(_els, Zip, Misc, Address, decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Password, Instructions, Text, Last, First, Password,
Registered, Date, Phone, State, Name, Username, Registered, Date, Phone, State, Name, Username,
Key, City, Nick, Url, Email) Remove, Key, City, Nick, Url, Email)
end; end;
decode_register_els([{xmlel, <<"last">>, _attrs, _} = decode_register_els([{xmlel, <<"last">>, _attrs, _} =
_el _el
| _els], | _els],
Zip, Misc, Address, Instructions, Text, Last, First, Zip, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name, Password, Registered, Date, Phone, State, Name,
Username, Key, City, Nick, Url, Email) -> Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = xml:get_attr_s(<<"xmlns">>, _attrs), _xmlns = xml:get_attr_s(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> -> if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> ->
decode_register_els(_els, Zip, Misc, Address, decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, decode_register_last(_el), Instructions, Text, decode_register_last(_el),
First, Password, Registered, Date, Phone, State, First, Password, Registered, Date, Phone, State,
Name, Username, Key, City, Nick, Url, Email); Name, Username, Remove, Key, City, Nick, Url,
Email);
true -> true ->
decode_register_els(_els, Zip, Misc, Address, decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Password, Instructions, Text, Last, First, Password,
Registered, Date, Phone, State, Name, Username, Registered, Date, Phone, State, Name, Username,
Key, City, Nick, Url, Email) Remove, Key, City, Nick, Url, Email)
end; end;
decode_register_els([{xmlel, <<"email">>, _attrs, _} = decode_register_els([{xmlel, <<"email">>, _attrs, _} =
_el _el
| _els], | _els],
Zip, Misc, Address, Instructions, Text, Last, First, Zip, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name, Password, Registered, Date, Phone, State, Name,
Username, Key, City, Nick, Url, Email) -> Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = xml:get_attr_s(<<"xmlns">>, _attrs), _xmlns = xml:get_attr_s(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> -> if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> ->
decode_register_els(_els, Zip, Misc, Address, decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Password, Instructions, Text, Last, First, Password,
Registered, Date, Phone, State, Name, Username, Registered, Date, Phone, State, Name, Username,
Key, City, Nick, Url, Remove, Key, City, Nick, Url,
decode_register_email(_el)); decode_register_email(_el));
true -> true ->
decode_register_els(_els, Zip, Misc, Address, decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Password, Instructions, Text, Last, First, Password,
Registered, Date, Phone, State, Name, Username, Registered, Date, Phone, State, Name, Username,
Key, City, Nick, Url, Email) Remove, Key, City, Nick, Url, Email)
end; end;
decode_register_els([{xmlel, <<"address">>, _attrs, _} = decode_register_els([{xmlel, <<"address">>, _attrs, _} =
_el _el
| _els], | _els],
Zip, Misc, Address, Instructions, Text, Last, First, Zip, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name, Password, Registered, Date, Phone, State, Name,
Username, Key, City, Nick, Url, Email) -> Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = xml:get_attr_s(<<"xmlns">>, _attrs), _xmlns = xml:get_attr_s(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> -> if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> ->
decode_register_els(_els, Zip, Misc, decode_register_els(_els, Zip, Misc,
decode_register_address(_el), Instructions, Text, decode_register_address(_el), Instructions, Text,
Last, First, Password, Registered, Date, Phone, Last, First, Password, Registered, Date, Phone,
State, Name, Username, Key, City, Nick, Url, State, Name, Username, Remove, Key, City, Nick,
Email); Url, Email);
true -> true ->
decode_register_els(_els, Zip, Misc, Address, decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Password, Instructions, Text, Last, First, Password,
Registered, Date, Phone, State, Name, Username, Registered, Date, Phone, State, Name, Username,
Key, City, Nick, Url, Email) Remove, Key, City, Nick, Url, Email)
end; end;
decode_register_els([{xmlel, <<"city">>, _attrs, _} = decode_register_els([{xmlel, <<"city">>, _attrs, _} =
_el _el
| _els], | _els],
Zip, Misc, Address, Instructions, Text, Last, First, Zip, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name, Password, Registered, Date, Phone, State, Name,
Username, Key, City, Nick, Url, Email) -> Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = xml:get_attr_s(<<"xmlns">>, _attrs), _xmlns = xml:get_attr_s(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> -> if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> ->
decode_register_els(_els, Zip, Misc, Address, decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Password, Instructions, Text, Last, First, Password,
Registered, Date, Phone, State, Name, Username, Registered, Date, Phone, State, Name, Username,
Key, decode_register_city(_el), Nick, Url, Remove, Key, decode_register_city(_el), Nick,
Email); Url, Email);
true -> true ->
decode_register_els(_els, Zip, Misc, Address, decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Password, Instructions, Text, Last, First, Password,
Registered, Date, Phone, State, Name, Username, Registered, Date, Phone, State, Name, Username,
Key, City, Nick, Url, Email) Remove, Key, City, Nick, Url, Email)
end; end;
decode_register_els([{xmlel, <<"state">>, _attrs, _} = decode_register_els([{xmlel, <<"state">>, _attrs, _} =
_el _el
| _els], | _els],
Zip, Misc, Address, Instructions, Text, Last, First, Zip, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name, Password, Registered, Date, Phone, State, Name,
Username, Key, City, Nick, Url, Email) -> Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = xml:get_attr_s(<<"xmlns">>, _attrs), _xmlns = xml:get_attr_s(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> -> if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> ->
decode_register_els(_els, Zip, Misc, Address, decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Password, Instructions, Text, Last, First, Password,
Registered, Date, Phone, Registered, Date, Phone,
decode_register_state(_el), Name, Username, Key, decode_register_state(_el), Name, Username,
City, Nick, Url, Email); Remove, Key, City, Nick, Url, Email);
true -> true ->
decode_register_els(_els, Zip, Misc, Address, decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Password, Instructions, Text, Last, First, Password,
Registered, Date, Phone, State, Name, Username, Registered, Date, Phone, State, Name, Username,
Key, City, Nick, Url, Email) Remove, Key, City, Nick, Url, Email)
end; end;
decode_register_els([{xmlel, <<"zip">>, _attrs, _} = _el decode_register_els([{xmlel, <<"zip">>, _attrs, _} = _el
| _els], | _els],
Zip, Misc, Address, Instructions, Text, Last, First, Zip, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name, Password, Registered, Date, Phone, State, Name,
Username, Key, City, Nick, Url, Email) -> Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = xml:get_attr_s(<<"xmlns">>, _attrs), _xmlns = xml:get_attr_s(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> -> if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> ->
decode_register_els(_els, decode_register_zip(_el), decode_register_els(_els, decode_register_zip(_el),
Misc, Address, Instructions, Text, Last, First, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name, Password, Registered, Date, Phone, State, Name,
Username, Key, City, Nick, Url, Email); Username, Remove, Key, City, Nick, Url, Email);
true -> true ->
decode_register_els(_els, Zip, Misc, Address, decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Password, Instructions, Text, Last, First, Password,
Registered, Date, Phone, State, Name, Username, Registered, Date, Phone, State, Name, Username,
Key, City, Nick, Url, Email) Remove, Key, City, Nick, Url, Email)
end; end;
decode_register_els([{xmlel, <<"phone">>, _attrs, _} = decode_register_els([{xmlel, <<"phone">>, _attrs, _} =
_el _el
| _els], | _els],
Zip, Misc, Address, Instructions, Text, Last, First, Zip, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name, Password, Registered, Date, Phone, State, Name,
Username, Key, City, Nick, Url, Email) -> Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = xml:get_attr_s(<<"xmlns">>, _attrs), _xmlns = xml:get_attr_s(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> -> if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> ->
decode_register_els(_els, Zip, Misc, Address, decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Password, Instructions, Text, Last, First, Password,
Registered, Date, decode_register_phone(_el), Registered, Date, decode_register_phone(_el),
State, Name, Username, Key, City, Nick, Url, State, Name, Username, Remove, Key, City, Nick,
Email); Url, Email);
true -> true ->
decode_register_els(_els, Zip, Misc, Address, decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Password, Instructions, Text, Last, First, Password,
Registered, Date, Phone, State, Name, Username, Registered, Date, Phone, State, Name, Username,
Key, City, Nick, Url, Email) Remove, Key, City, Nick, Url, Email)
end; end;
decode_register_els([{xmlel, <<"url">>, _attrs, _} = _el decode_register_els([{xmlel, <<"url">>, _attrs, _} = _el
| _els], | _els],
Zip, Misc, Address, Instructions, Text, Last, First, Zip, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name, Password, Registered, Date, Phone, State, Name,
Username, Key, City, Nick, Url, Email) -> Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = xml:get_attr_s(<<"xmlns">>, _attrs), _xmlns = xml:get_attr_s(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> -> if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> ->
decode_register_els(_els, Zip, Misc, Address, decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Password, Instructions, Text, Last, First, Password,
Registered, Date, Phone, State, Name, Username, Registered, Date, Phone, State, Name, Username,
Key, City, Nick, decode_register_url(_el), Remove, Key, City, Nick,
Email); decode_register_url(_el), Email);
true -> true ->
decode_register_els(_els, Zip, Misc, Address, decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Password, Instructions, Text, Last, First, Password,
Registered, Date, Phone, State, Name, Username, Registered, Date, Phone, State, Name, Username,
Key, City, Nick, Url, Email) Remove, Key, City, Nick, Url, Email)
end; end;
decode_register_els([{xmlel, <<"date">>, _attrs, _} = decode_register_els([{xmlel, <<"date">>, _attrs, _} =
_el _el
| _els], | _els],
Zip, Misc, Address, Instructions, Text, Last, First, Zip, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name, Password, Registered, Date, Phone, State, Name,
Username, Key, City, Nick, Url, Email) -> Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = xml:get_attr_s(<<"xmlns">>, _attrs), _xmlns = xml:get_attr_s(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> -> if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> ->
decode_register_els(_els, Zip, Misc, Address, decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Password, Instructions, Text, Last, First, Password,
Registered, decode_register_date(_el), Phone, Registered, decode_register_date(_el), Phone,
State, Name, Username, Key, City, Nick, Url, State, Name, Username, Remove, Key, City, Nick,
Email); Url, Email);
true -> true ->
decode_register_els(_els, Zip, Misc, Address, decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Password, Instructions, Text, Last, First, Password,
Registered, Date, Phone, State, Name, Username, Registered, Date, Phone, State, Name, Username,
Key, City, Nick, Url, Email) Remove, Key, City, Nick, Url, Email)
end; end;
decode_register_els([{xmlel, <<"misc">>, _attrs, _} = decode_register_els([{xmlel, <<"misc">>, _attrs, _} =
_el _el
| _els], | _els],
Zip, Misc, Address, Instructions, Text, Last, First, Zip, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name, Password, Registered, Date, Phone, State, Name,
Username, Key, City, Nick, Url, Email) -> Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = xml:get_attr_s(<<"xmlns">>, _attrs), _xmlns = xml:get_attr_s(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> -> if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> ->
decode_register_els(_els, Zip, decode_register_els(_els, Zip,
decode_register_misc(_el), Address, Instructions, decode_register_misc(_el), Address, Instructions,
Text, Last, First, Password, Registered, Date, Text, Last, First, Password, Registered, Date,
Phone, State, Name, Username, Key, City, Nick, Phone, State, Name, Username, Remove, Key, City,
Url, Email); Nick, Url, Email);
true -> true ->
decode_register_els(_els, Zip, Misc, Address, decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Password, Instructions, Text, Last, First, Password,
Registered, Date, Phone, State, Name, Username, Registered, Date, Phone, State, Name, Username,
Key, City, Nick, Url, Email) Remove, Key, City, Nick, Url, Email)
end; end;
decode_register_els([{xmlel, <<"text">>, _attrs, _} = decode_register_els([{xmlel, <<"text">>, _attrs, _} =
_el _el
| _els], | _els],
Zip, Misc, Address, Instructions, Text, Last, First, Zip, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name, Password, Registered, Date, Phone, State, Name,
Username, Key, City, Nick, Url, Email) -> Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = xml:get_attr_s(<<"xmlns">>, _attrs), _xmlns = xml:get_attr_s(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> -> if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> ->
decode_register_els(_els, Zip, Misc, Address, decode_register_els(_els, Zip, Misc, Address,
Instructions, decode_register_text(_el), Last, Instructions, decode_register_text(_el), Last,
First, Password, Registered, Date, Phone, State, First, Password, Registered, Date, Phone, State,
Name, Username, Key, City, Nick, Url, Email); Name, Username, Remove, Key, City, Nick, Url,
true ->
decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Password,
Registered, Date, Phone, State, Name, Username,
Key, City, Nick, Url, Email)
end;
decode_register_els([{xmlel, <<"key">>, _attrs, _} = _el
| _els],
Zip, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name,
Username, Key, City, Nick, Url, Email) ->
_xmlns = xml:get_attr_s(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> ->
decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Password,
Registered, Date, Phone, State, Name, Username,
decode_register_key(_el), City, Nick, Url,
Email); Email);
true -> true ->
decode_register_els(_els, Zip, Misc, Address, decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Password, Instructions, Text, Last, First, Password,
Registered, Date, Phone, State, Name, Username, Registered, Date, Phone, State, Name, Username,
Key, City, Nick, Url, Email) Remove, Key, City, Nick, Url, Email)
end;
decode_register_els([{xmlel, <<"key">>, _attrs, _} = _el
| _els],
Zip, Misc, Address, Instructions, Text, Last, First,
Password, Registered, Date, Phone, State, Name,
Username, Remove, Key, City, Nick, Url, Email) ->
_xmlns = xml:get_attr_s(<<"xmlns">>, _attrs),
if _xmlns == <<>>; _xmlns == <<"jabber:iq:register">> ->
decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Password,
Registered, Date, Phone, State, Name, Username,
Remove, decode_register_key(_el), City, Nick,
Url, Email);
true ->
decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Password,
Registered, Date, Phone, State, Name, Username,
Remove, Key, City, Nick, Url, Email)
end; end;
decode_register_els([_ | _els], Zip, Misc, Address, decode_register_els([_ | _els], Zip, Misc, Address,
Instructions, Text, Last, First, Password, Registered, Instructions, Text, Last, First, Password, Registered,
Date, Phone, State, Name, Username, Key, City, Nick, Date, Phone, State, Name, Username, Remove, Key, City,
Url, Email) -> Nick, Url, Email) ->
decode_register_els(_els, Zip, Misc, Address, decode_register_els(_els, Zip, Misc, Address,
Instructions, Text, Last, First, Password, Registered, Instructions, Text, Last, First, Password, Registered,
Date, Phone, State, Name, Username, Key, City, Nick, Date, Phone, State, Name, Username, Remove, Key, City,
Url, Email). Nick, Url, Email).
encode_register({register, Registered, Instructions, encode_register({register, Registered, Remove,
Username, Nick, Password, Name, First, Last, Email, Instructions, Username, Nick, Password, Name, First,
Address, City, State, Zip, Phone, Url, Date, Misc, Text, Last, Email, Address, City, State, Zip, Phone, Url,
Key}, Date, Misc, Text, Key},
_xmlns_attrs) -> _xmlns_attrs) ->
_els = 'encode_register_$email'(Email, _els = 'encode_register_$email'(Email,
'encode_register_$url'(Url, 'encode_register_$url'(Url,
'encode_register_$nick'(Nick, 'encode_register_$nick'(Nick,
'encode_register_$city'(City, 'encode_register_$city'(City,
'encode_register_$key'(Key, 'encode_register_$key'(Key,
'encode_register_$remove'(Remove,
'encode_register_$username'(Username, 'encode_register_$username'(Username,
'encode_register_$name'(Name, 'encode_register_$name'(Name,
'encode_register_$state'(State, 'encode_register_$state'(State,
@ -5888,7 +5922,7 @@ encode_register({register, Registered, Instructions,
'encode_register_$address'(Address, 'encode_register_$address'(Address,
'encode_register_$misc'(Misc, 'encode_register_$misc'(Misc,
'encode_register_$zip'(Zip, 'encode_register_$zip'(Zip,
[]))))))))))))))))))), [])))))))))))))))))))),
_attrs = _xmlns_attrs, _attrs = _xmlns_attrs,
{xmlel, <<"query">>, _attrs, _els}. {xmlel, <<"query">>, _attrs, _els}.
@ -5949,6 +5983,10 @@ encode_register({register, Registered, Instructions,
'encode_register_$username'(Username, _acc) -> 'encode_register_$username'(Username, _acc) ->
[encode_register_username(Username, []) | _acc]. [encode_register_username(Username, []) | _acc].
'encode_register_$remove'(false, _acc) -> _acc;
'encode_register_$remove'(Remove, _acc) ->
[encode_register_remove(Remove, []) | _acc].
'encode_register_$key'(undefined, _acc) -> _acc; 'encode_register_$key'(undefined, _acc) -> _acc;
'encode_register_$key'(Key, _acc) -> 'encode_register_$key'(Key, _acc) ->
[encode_register_key(Key, []) | _acc]. [encode_register_key(Key, []) | _acc].

View File

@ -1,6 +1,6 @@
%% Created automatically by XML generator (xml_gen.erl) %% Created automatically by XML generator (xml_gen.erl)
%% Source: xmpp_codec.spec %% Source: xmpp_codec.spec
%% Date: Fri, 14 Jun 2013 14:30:53 GMT %% Date: Fri, 14 Jun 2013 16:48:12 GMT
-record(last, {seconds, text}). -record(last, {seconds, text}).
@ -107,9 +107,10 @@
-record(feature_register, {}). -record(feature_register, {}).
-record(register, -record(register,
{registered = false, instructions, username, nick, {registered = false, remove = false, instructions,
password, name, first, last, email, address, city, username, nick, password, name, first, last, email,
state, zip, phone, url, date, misc, text, key}). address, city, state, zip, phone, url, date, misc, text,
key}).
-record(session, {}). -record(session, {}).

View File

@ -839,6 +839,10 @@
#elem{name = <<"registered">>, #elem{name = <<"registered">>,
xmlns = <<"jabber:iq:register">>, xmlns = <<"jabber:iq:register">>,
result = true}}. result = true}}.
{register_remove,
#elem{name = <<"remove">>,
xmlns = <<"jabber:iq:register">>,
result = true}}.
{register_instructions, {register_instructions,
#elem{name = <<"instructions">>, #elem{name = <<"instructions">>,
xmlns = <<"jabber:iq:register">>, xmlns = <<"jabber:iq:register">>,
@ -932,13 +936,15 @@
{register, {register,
#elem{name = <<"query">>, #elem{name = <<"query">>,
xmlns = <<"jabber:iq:register">>, xmlns = <<"jabber:iq:register">>,
result = {register, '$registered', '$instructions', result = {register, '$registered', '$remove', '$instructions',
'$username', '$nick', '$password', '$name', '$username', '$nick', '$password', '$name',
'$first', '$last', '$email', '$address', '$first', '$last', '$email', '$address',
'$city', '$state', '$zip', '$phone', '$url', '$city', '$state', '$zip', '$phone', '$url',
'$date', '$misc', '$text', '$key'}, '$date', '$misc', '$text', '$key'},
refs = [#ref{name = register_registered, min = 0, max = 1, refs = [#ref{name = register_registered, min = 0, max = 1,
default = false, label = '$registered'}, default = false, label = '$registered'},
#ref{name = register_remove, min = 0, max = 1,
default = false, label = '$remove'},
#ref{name = register_instructions, min = 0, max = 1, #ref{name = register_instructions, min = 0, max = 1,
label = '$instructions'}, label = '$instructions'},
#ref{name = register_username, min = 0, max = 1, #ref{name = register_username, min = 0, max = 1,