Mercurial > prosody-modules
annotate mod_compat_vcard/mod_compat_vcard.lua @ 1268:854a3933cfcd
mod_muc_log_http: URL-encode room names. This allows special characters in room names to work. Ideally this escaping shouldn’t be done in the user visible content, but the module’s template system doesn’t currently allow that.
| author | Waqas Hussain <waqas20@gmail.com> |
|---|---|
| date | Sat, 04 Jan 2014 16:50:57 -0500 |
| parents | 1a7cdc874b8c |
| children | 3df303543765 |
| rev | line source |
|---|---|
|
749
1a7cdc874b8c
mod_compat_vcard: Handle vcard requests sent to full JIDs (a spec violation commited by older versions of ejabberd and possibly others) - replaces vcard_compatibility option from Prosody 0.8
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
1 -- Compatibility with clients and servers (i.e. ejabberd) that send vcard |
|
1a7cdc874b8c
mod_compat_vcard: Handle vcard requests sent to full JIDs (a spec violation commited by older versions of ejabberd and possibly others) - replaces vcard_compatibility option from Prosody 0.8
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
2 -- requests to the full JID |
|
1a7cdc874b8c
mod_compat_vcard: Handle vcard requests sent to full JIDs (a spec violation commited by older versions of ejabberd and possibly others) - replaces vcard_compatibility option from Prosody 0.8
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
3 -- |
|
1a7cdc874b8c
mod_compat_vcard: Handle vcard requests sent to full JIDs (a spec violation commited by older versions of ejabberd and possibly others) - replaces vcard_compatibility option from Prosody 0.8
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
4 -- https://support.process-one.net/browse/EJAB-1045 |
|
1a7cdc874b8c
mod_compat_vcard: Handle vcard requests sent to full JIDs (a spec violation commited by older versions of ejabberd and possibly others) - replaces vcard_compatibility option from Prosody 0.8
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
5 |
|
1a7cdc874b8c
mod_compat_vcard: Handle vcard requests sent to full JIDs (a spec violation commited by older versions of ejabberd and possibly others) - replaces vcard_compatibility option from Prosody 0.8
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
6 local jid_bare = require "util.jid".bare; |
|
1a7cdc874b8c
mod_compat_vcard: Handle vcard requests sent to full JIDs (a spec violation commited by older versions of ejabberd and possibly others) - replaces vcard_compatibility option from Prosody 0.8
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
7 local st = require "util.stanza"; |
|
1a7cdc874b8c
mod_compat_vcard: Handle vcard requests sent to full JIDs (a spec violation commited by older versions of ejabberd and possibly others) - replaces vcard_compatibility option from Prosody 0.8
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
8 local core_process_stanza = prosody.core_process_stanza; |
|
1a7cdc874b8c
mod_compat_vcard: Handle vcard requests sent to full JIDs (a spec violation commited by older versions of ejabberd and possibly others) - replaces vcard_compatibility option from Prosody 0.8
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
9 |
|
1a7cdc874b8c
mod_compat_vcard: Handle vcard requests sent to full JIDs (a spec violation commited by older versions of ejabberd and possibly others) - replaces vcard_compatibility option from Prosody 0.8
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
10 module:hook("iq/full", function(event) |
|
1a7cdc874b8c
mod_compat_vcard: Handle vcard requests sent to full JIDs (a spec violation commited by older versions of ejabberd and possibly others) - replaces vcard_compatibility option from Prosody 0.8
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
11 local stanza = event.stanza; |
|
1a7cdc874b8c
mod_compat_vcard: Handle vcard requests sent to full JIDs (a spec violation commited by older versions of ejabberd and possibly others) - replaces vcard_compatibility option from Prosody 0.8
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
12 local payload = stanza.tags[1]; |
|
1a7cdc874b8c
mod_compat_vcard: Handle vcard requests sent to full JIDs (a spec violation commited by older versions of ejabberd and possibly others) - replaces vcard_compatibility option from Prosody 0.8
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
13 if payload.name == "vCard" and stanza.attr.type == "get" and payload.attr.xmlns == "vcard-temp" then |
|
1a7cdc874b8c
mod_compat_vcard: Handle vcard requests sent to full JIDs (a spec violation commited by older versions of ejabberd and possibly others) - replaces vcard_compatibility option from Prosody 0.8
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
14 local fixed_stanza = st.clone(event.stanza); |
|
1a7cdc874b8c
mod_compat_vcard: Handle vcard requests sent to full JIDs (a spec violation commited by older versions of ejabberd and possibly others) - replaces vcard_compatibility option from Prosody 0.8
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
15 fixed_stanza.attr.to = jid_bare(stanza.attr.to); |
|
1a7cdc874b8c
mod_compat_vcard: Handle vcard requests sent to full JIDs (a spec violation commited by older versions of ejabberd and possibly others) - replaces vcard_compatibility option from Prosody 0.8
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
16 core_process_stanza(event.origin, fixed_stanza); |
|
1a7cdc874b8c
mod_compat_vcard: Handle vcard requests sent to full JIDs (a spec violation commited by older versions of ejabberd and possibly others) - replaces vcard_compatibility option from Prosody 0.8
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
17 return true; |
|
1a7cdc874b8c
mod_compat_vcard: Handle vcard requests sent to full JIDs (a spec violation commited by older versions of ejabberd and possibly others) - replaces vcard_compatibility option from Prosody 0.8
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
18 end |
|
1a7cdc874b8c
mod_compat_vcard: Handle vcard requests sent to full JIDs (a spec violation commited by older versions of ejabberd and possibly others) - replaces vcard_compatibility option from Prosody 0.8
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
19 end, 1); |
