Skip to content

Commit 03bce05

Browse files
sstriglergithub-actions[bot]
authored andcommitted
Automatic changes "make spec xdata"
1 parent 9814266 commit 03bce05

File tree

3 files changed

+144
-94
lines changed

3 files changed

+144
-94
lines changed

include/xmpp_codec.hrl

Lines changed: 99 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -190,15 +190,9 @@
190190
cdata = <<>> :: binary()}).
191191
-type scram_upgrade_salt() :: #scram_upgrade_salt{}.
192192

193-
-record(receipt_request, {}).
194-
-type receipt_request() :: #receipt_request{}.
195-
196193
-record(legacy_auth_feature, {}).
197194
-type legacy_auth_feature() :: #legacy_auth_feature{}.
198195

199-
-record(rosterver_feature, {}).
200-
-type rosterver_feature() :: #rosterver_feature{}.
201-
202196
-record(mix_roster_channel, {participant_id = <<>> :: binary()}).
203197
-type mix_roster_channel() :: #mix_roster_channel{}.
204198

@@ -341,6 +335,9 @@
341335
-record(private, {sub_els = [] :: [xmpp_element() | fxml:xmlel()]}).
342336
-type private() :: #private{}.
343337

338+
-record(preauth, {token = <<>> :: binary()}).
339+
-type preauth() :: #preauth{}.
340+
344341
-record(scram_upgrade_hash, {data = <<>> :: binary()}).
345342
-type scram_upgrade_hash() :: #scram_upgrade_hash{}.
346343

@@ -389,6 +386,9 @@
389386
id = <<>> :: binary()}).
390387
-type inbox_entry() :: #inbox_entry{}.
391388

389+
-record(feature_register_ibr_token, {}).
390+
-type feature_register_ibr_token() :: #feature_register_ibr_token{}.
391+
392392
-record(x509_challenge_failed, {}).
393393
-type x509_challenge_failed() :: #x509_challenge_failed{}.
394394

@@ -644,6 +644,9 @@
644644
items = [] :: [#ps_item{}]}).
645645
-type ps_publish() :: #ps_publish{}.
646646

647+
-record(feature_pre_approval, {}).
648+
-type feature_pre_approval() :: #feature_pre_approval{}.
649+
647650
-record(report, {reason :: 'abuse' | 'spam',
648651
text = [] :: [#text{}]}).
649652
-type report() :: #report{}.
@@ -860,11 +863,6 @@
860863
resource :: 'undefined' | binary()}).
861864
-type legacy_auth() :: #legacy_auth{}.
862865

863-
-record(privacy_query, {lists = [] :: [#privacy_list{}],
864-
default :: 'none' | 'undefined' | binary(),
865-
active :: 'none' | 'undefined' | binary()}).
866-
-type privacy_query() :: #privacy_query{}.
867-
868866
-record(pubsub_serverinfo_remote_domain, {name = <<>> :: binary(),
869867
type = [] :: ['bidi' | 'incoming' | 'outgoing']}).
870868
-type pubsub_serverinfo_remote_domain() :: #pubsub_serverinfo_remote_domain{}.
@@ -927,14 +925,6 @@
927925
-record(credentials, {services = [] :: [#service{}]}).
928926
-type credentials() :: #credentials{}.
929927

930-
-record(vcard_email, {home = false :: boolean(),
931-
work = false :: boolean(),
932-
internet = false :: boolean(),
933-
pref = false :: boolean(),
934-
x400 = false :: boolean(),
935-
userid :: 'undefined' | binary()}).
936-
-type vcard_email() :: #vcard_email{}.
937-
938928
-record(block_item, {jid :: jid:jid(),
939929
spam_report :: 'undefined' | #report{}}).
940930
-type block_item() :: #block_item{}.
@@ -1255,38 +1245,6 @@
12551245
suffix :: 'undefined' | binary()}).
12561246
-type vcard_name() :: #vcard_name{}.
12571247

1258-
-record(vcard_temp, {version :: 'undefined' | binary(),
1259-
fn :: 'undefined' | binary(),
1260-
n :: 'undefined' | #vcard_name{},
1261-
nickname :: 'undefined' | binary(),
1262-
photo :: 'undefined' | #vcard_photo{},
1263-
bday :: 'undefined' | binary(),
1264-
adr = [] :: [#vcard_adr{}],
1265-
label = [] :: [#vcard_label{}],
1266-
tel = [] :: [#vcard_tel{}],
1267-
email = [] :: [#vcard_email{}],
1268-
jabberid :: 'undefined' | binary(),
1269-
mailer :: 'undefined' | binary(),
1270-
tz :: 'undefined' | binary(),
1271-
geo :: 'undefined' | #vcard_geo{},
1272-
title :: 'undefined' | binary(),
1273-
role :: 'undefined' | binary(),
1274-
logo :: 'undefined' | #vcard_logo{},
1275-
org :: 'undefined' | #vcard_org{},
1276-
categories = [] :: [binary()],
1277-
note :: 'undefined' | binary(),
1278-
prodid :: 'undefined' | binary(),
1279-
rev :: 'undefined' | binary(),
1280-
sort_string :: 'undefined' | binary(),
1281-
sound :: 'undefined' | #vcard_sound{},
1282-
uid :: 'undefined' | binary(),
1283-
url :: 'undefined' | binary(),
1284-
class :: 'confidential' | 'private' | 'public' | 'undefined',
1285-
key :: 'undefined' | #vcard_key{},
1286-
desc :: 'undefined' | binary(),
1287-
sub_els = [] :: [xmpp_element() | fxml:xmlel()]}).
1288-
-type vcard_temp() :: #vcard_temp{}.
1289-
12901248
-record(ibb_data, {sid = <<>> :: binary(),
12911249
seq :: non_neg_integer(),
12921250
data = <<>> :: binary()}).
@@ -1338,28 +1296,6 @@
13381296
text = [] :: [#text{}]}).
13391297
-type sasl_failure() :: #sasl_failure{}.
13401298

1341-
-record(bind, {jid :: undefined | jid:jid(),
1342-
resource = <<>> :: binary()}).
1343-
-type bind() :: #bind{}.
1344-
1345-
-record(jingle_ft_file, {date :: undefined | erlang:timestamp(),
1346-
desc = [] :: [#text{}],
1347-
hash = [] :: [#hash{}],
1348-
'hash-used' :: 'undefined' | #hash_used{},
1349-
'media-type' :: 'undefined' | binary(),
1350-
name :: 'undefined' | binary(),
1351-
size :: 'undefined' | non_neg_integer(),
1352-
range :: 'undefined' | #jingle_ft_range{}}).
1353-
-type jingle_ft_file() :: #jingle_ft_file{}.
1354-
1355-
-record(jingle_ft_checksum, {creator :: 'initiator' | 'responder' | 'undefined',
1356-
name = <<>> :: binary(),
1357-
file :: #jingle_ft_file{}}).
1358-
-type jingle_ft_checksum() :: #jingle_ft_checksum{}.
1359-
1360-
-record(jingle_ft_description, {file :: 'undefined' | #jingle_ft_file{}}).
1361-
-type jingle_ft_description() :: #jingle_ft_description{}.
1362-
13631299
-record(pubsub, {subscriptions :: 'undefined' | {binary(),[#ps_subscription{}]},
13641300
subscription :: 'undefined' | #ps_subscription{},
13651301
affiliations :: 'undefined' | {binary(),[#ps_affiliation{}]},
@@ -1400,6 +1336,88 @@
14001336
sub_els = [] :: [xmpp_element() | fxml:xmlel()]}).
14011337
-type jingle() :: #jingle{}.
14021338

1339+
-record(muc_subscription, {jid :: undefined | jid:jid(),
1340+
nick = <<>> :: binary(),
1341+
events = [] :: [binary()]}).
1342+
-type muc_subscription() :: #muc_subscription{}.
1343+
1344+
-record(muc_subscriptions, {list = [] :: [#muc_subscription{}]}).
1345+
-type muc_subscriptions() :: #muc_subscriptions{}.
1346+
1347+
-record(pubsub_owner, {affiliations :: 'undefined' | {binary(),[#ps_affiliation{}]},
1348+
configure :: 'undefined' | {binary(),'undefined' | #xdata{}},
1349+
default :: 'undefined' | {binary(),'undefined' | #xdata{}},
1350+
delete :: 'undefined' | {binary(),binary()},
1351+
purge :: 'undefined' | binary(),
1352+
subscriptions :: 'undefined' | {binary(),[#ps_subscription{}]}}).
1353+
-type pubsub_owner() :: #pubsub_owner{}.
1354+
1355+
-record(receipt_request, {}).
1356+
-type receipt_request() :: #receipt_request{}.
1357+
1358+
-record(vcard_email, {home = false :: boolean(),
1359+
work = false :: boolean(),
1360+
internet = false :: boolean(),
1361+
pref = false :: boolean(),
1362+
x400 = false :: boolean(),
1363+
userid :: 'undefined' | binary()}).
1364+
-type vcard_email() :: #vcard_email{}.
1365+
1366+
-record(vcard_temp, {version :: 'undefined' | binary(),
1367+
fn :: 'undefined' | binary(),
1368+
n :: 'undefined' | #vcard_name{},
1369+
nickname :: 'undefined' | binary(),
1370+
photo :: 'undefined' | #vcard_photo{},
1371+
bday :: 'undefined' | binary(),
1372+
adr = [] :: [#vcard_adr{}],
1373+
label = [] :: [#vcard_label{}],
1374+
tel = [] :: [#vcard_tel{}],
1375+
email = [] :: [#vcard_email{}],
1376+
jabberid :: 'undefined' | binary(),
1377+
mailer :: 'undefined' | binary(),
1378+
tz :: 'undefined' | binary(),
1379+
geo :: 'undefined' | #vcard_geo{},
1380+
title :: 'undefined' | binary(),
1381+
role :: 'undefined' | binary(),
1382+
logo :: 'undefined' | #vcard_logo{},
1383+
org :: 'undefined' | #vcard_org{},
1384+
categories = [] :: [binary()],
1385+
note :: 'undefined' | binary(),
1386+
prodid :: 'undefined' | binary(),
1387+
rev :: 'undefined' | binary(),
1388+
sort_string :: 'undefined' | binary(),
1389+
sound :: 'undefined' | #vcard_sound{},
1390+
uid :: 'undefined' | binary(),
1391+
url :: 'undefined' | binary(),
1392+
class :: 'confidential' | 'private' | 'public' | 'undefined',
1393+
key :: 'undefined' | #vcard_key{},
1394+
desc :: 'undefined' | binary(),
1395+
sub_els = [] :: [xmpp_element() | fxml:xmlel()]}).
1396+
-type vcard_temp() :: #vcard_temp{}.
1397+
1398+
-record(privacy_query, {lists = [] :: [#privacy_list{}],
1399+
default :: 'none' | 'undefined' | binary(),
1400+
active :: 'none' | 'undefined' | binary()}).
1401+
-type privacy_query() :: #privacy_query{}.
1402+
1403+
-record(jingle_ft_file, {date :: undefined | erlang:timestamp(),
1404+
desc = [] :: [#text{}],
1405+
hash = [] :: [#hash{}],
1406+
'hash-used' :: 'undefined' | #hash_used{},
1407+
'media-type' :: 'undefined' | binary(),
1408+
name :: 'undefined' | binary(),
1409+
size :: 'undefined' | non_neg_integer(),
1410+
range :: 'undefined' | #jingle_ft_range{}}).
1411+
-type jingle_ft_file() :: #jingle_ft_file{}.
1412+
1413+
-record(jingle_ft_checksum, {creator :: 'initiator' | 'responder' | 'undefined',
1414+
name = <<>> :: binary(),
1415+
file :: #jingle_ft_file{}}).
1416+
-type jingle_ft_checksum() :: #jingle_ft_checksum{}.
1417+
1418+
-record(jingle_ft_description, {file :: 'undefined' | #jingle_ft_file{}}).
1419+
-type jingle_ft_description() :: #jingle_ft_description{}.
1420+
14031421
-record(register, {registered = false :: boolean(),
14041422
remove = false :: boolean(),
14051423
instructions :: 'undefined' | binary(),
@@ -1424,21 +1442,12 @@
14241442
sub_els = [] :: [xmpp_element() | fxml:xmlel()]}).
14251443
-type register() :: #register{}.
14261444

1427-
-record(muc_subscription, {jid :: undefined | jid:jid(),
1428-
nick = <<>> :: binary(),
1429-
events = [] :: [binary()]}).
1430-
-type muc_subscription() :: #muc_subscription{}.
1431-
1432-
-record(muc_subscriptions, {list = [] :: [#muc_subscription{}]}).
1433-
-type muc_subscriptions() :: #muc_subscriptions{}.
1445+
-record(bind, {jid :: undefined | jid:jid(),
1446+
resource = <<>> :: binary()}).
1447+
-type bind() :: #bind{}.
14341448

1435-
-record(pubsub_owner, {affiliations :: 'undefined' | {binary(),[#ps_affiliation{}]},
1436-
configure :: 'undefined' | {binary(),'undefined' | #xdata{}},
1437-
default :: 'undefined' | {binary(),'undefined' | #xdata{}},
1438-
delete :: 'undefined' | {binary(),binary()},
1439-
purge :: 'undefined' | binary(),
1440-
subscriptions :: 'undefined' | {binary(),[#ps_subscription{}]}}).
1441-
-type pubsub_owner() :: #pubsub_owner{}.
1449+
-record(rosterver_feature, {}).
1450+
-type rosterver_feature() :: #rosterver_feature{}.
14421451

14431452
-type xmpp_element() :: address() |
14441453
addresses() |
@@ -1491,7 +1500,9 @@
14911500
fasten_apply_to() |
14921501
fasten_external() |
14931502
feature_csi() |
1503+
feature_pre_approval() |
14941504
feature_register() |
1505+
feature_register_ibr_token() |
14951506
feature_sm() |
14961507
forwarded() |
14971508
gone() |
@@ -1583,6 +1594,7 @@
15831594
origin_id() |
15841595
pep_bookmarks_conference() |
15851596
ping() |
1597+
preauth() |
15861598
presence() |
15871599
privacy_item() |
15881600
privacy_list() |

src/rfc6121.erl

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@
55

66
-compile(export_all).
77

8+
do_decode(<<"sub">>,
9+
<<"urn:xmpp:features:pre-approval">>, El, Opts) ->
10+
decode_feature_pre_approval(<<"urn:xmpp:features:pre-approval">>,
11+
Opts,
12+
El);
813
do_decode(<<"ver">>, <<"urn:xmpp:features:rosterver">>,
914
El, Opts) ->
1015
decode_rosterver_feature(<<"urn:xmpp:features:rosterver">>,
@@ -25,7 +30,8 @@ do_decode(Name, XMLNS, _, _) ->
2530
erlang:error({xmpp_codec, {unknown_tag, Name, XMLNS}}).
2631

2732
tags() ->
28-
[{<<"ver">>, <<"urn:xmpp:features:rosterver">>},
33+
[{<<"sub">>, <<"urn:xmpp:features:pre-approval">>},
34+
{<<"ver">>, <<"urn:xmpp:features:rosterver">>},
2935
{<<"query">>, <<"jabber:iq:roster">>},
3036
{<<"item">>, <<"jabber:iq:roster">>},
3137
{<<"group">>, <<"jabber:iq:roster">>}].
@@ -36,13 +42,18 @@ do_encode({roster_item, _, _, _, _, _, _} = Item,
3642
do_encode({roster_query, _, _, _} = Query, TopXMLNS) ->
3743
encode_roster_query(Query, TopXMLNS);
3844
do_encode({rosterver_feature} = Ver, TopXMLNS) ->
39-
encode_rosterver_feature(Ver, TopXMLNS).
45+
encode_rosterver_feature(Ver, TopXMLNS);
46+
do_encode({feature_pre_approval} = Sub, TopXMLNS) ->
47+
encode_feature_pre_approval(Sub, TopXMLNS).
4048

49+
do_get_name({feature_pre_approval}) -> <<"sub">>;
4150
do_get_name({roster_item, _, _, _, _, _, _}) ->
4251
<<"item">>;
4352
do_get_name({roster_query, _, _, _}) -> <<"query">>;
4453
do_get_name({rosterver_feature}) -> <<"ver">>.
4554

55+
do_get_ns({feature_pre_approval}) ->
56+
<<"urn:xmpp:features:pre-approval">>;
4657
do_get_ns({roster_item, _, _, _, _, _, _}) ->
4758
<<"jabber:iq:roster">>;
4859
do_get_ns({roster_query, _, _, _}) ->
@@ -54,12 +65,14 @@ pp(roster_item, 6) ->
5465
[jid, name, groups, subscription, ask, mix_channel];
5566
pp(roster_query, 3) -> [items, ver, mix_annotate];
5667
pp(rosterver_feature, 0) -> [];
68+
pp(feature_pre_approval, 0) -> [];
5769
pp(_, _) -> no.
5870

5971
records() ->
6072
[{roster_item, 6},
6173
{roster_query, 3},
62-
{rosterver_feature, 0}].
74+
{rosterver_feature, 0},
75+
{feature_pre_approval, 0}].
6376

6477
dec_enum(Val, Enums) ->
6578
AtomVal = erlang:binary_to_existing_atom(Val, utf8),
@@ -69,6 +82,21 @@ dec_enum(Val, Enums) ->
6982

7083
enc_enum(Atom) -> erlang:atom_to_binary(Atom, utf8).
7184

85+
decode_feature_pre_approval(__TopXMLNS, __Opts,
86+
{xmlel, <<"sub">>, _attrs, _els}) ->
87+
{feature_pre_approval}.
88+
89+
encode_feature_pre_approval({feature_pre_approval},
90+
__TopXMLNS) ->
91+
__NewTopXMLNS =
92+
xmpp_codec:choose_top_xmlns(<<"urn:xmpp:features:pre-approval">>,
93+
[],
94+
__TopXMLNS),
95+
_els = [],
96+
_attrs = xmpp_codec:enc_xmlns_attrs(__NewTopXMLNS,
97+
__TopXMLNS),
98+
{xmlel, <<"sub">>, _attrs, _els}.
99+
72100
decode_rosterver_feature(__TopXMLNS, __Opts,
73101
{xmlel, <<"ver">>, _attrs, _els}) ->
74102
{rosterver_feature}.

0 commit comments

Comments
 (0)