25
1
mirror of https://github.com/processone/ejabberd.git synced 2024-11-30 16:36:29 +01:00
Commit Graph

1367 Commits

Author SHA1 Message Date
Pablo Polvorin
9b1e5928bd Remove unused var
SVN Revision: 1918
2009-02-24 20:07:32 +00:00
Pablo Polvorin
31ef821e46 Exmpp related fixed to the external components service.
SVN Revision: 1917
2009-02-24 18:52:37 +00:00
Pablo Polvorin
3119badb2b Removed a couple of expensive function calls used as arguments for
?DEBUG macros. All arguments used in the ?DEBUG macro are strictly 
evaluated (even if the loglevel is higher). 
The same is true for all log macros defined in ejabberd.hrl.  
We might need to use lazy evaluation for the arguments, when they 
are expensive to generate (wrap the arguments lists in a fun).

SVN Revision: 1915
2009-02-24 03:04:58 +00:00
Pablo Polvorin
acae6e20de * Use exmpp_jid:to_binary/1 when possible.
* ejabberd_odbc:escape/1 now can escape binaries too. This 
avoid the need to convert a binary value to list() just to 
sql-escape it. The escaped value returned is allways a list() 
(ejabberd's odbc drivers only works on lists())

SVN Revision: 1914
2009-02-23 19:45:55 +00:00
Christophe Romain
7a17baccac Do not call mod_caps:clear_caps as it breaks PubSub/PEP (EJAB-854)
SVN Revision: 1913
2009-02-23 15:58:21 +00:00
Pablo Polvorin
4956259124 src/mod_roster.erl: Bugfix in remove_user/2, values already in binary() format.
SVN Revision: 1909
2009-02-21 18:07:37 +00:00
Badlop
a5f70e15a2 * src/ejabberd_auth.erl: Password is undefined when using digest
SVN Revision: 1908
2009-02-21 14:41:29 +00:00
Pablo Polvorin
2df100213b mod_configure: Fix bug in form generation
SVN Revision: 1893
2009-02-20 16:34:56 +00:00
Pablo Polvorin
e989d41d50 "remove_user" hook actualized to expect binary arguments.
Fix webadmin code that performs addition / removal  of users.

SVN Revision: 1892
2009-02-20 15:30:16 +00:00
Christophe Romain
edc0a9ac87 fix nodetree plugin resolver, and backport last changes from trunk
SVN Revision: 1890
2009-02-19 11:29:01 +00:00
Pablo Polvorin
5334a2d965 Bugfix: mod_announce.erl:get_title/2 now accepts node argument in binary() or list() format.
SVN Revision: 1887
2009-02-18 18:14:06 +00:00
Pablo Polvorin
7c10f3422a src/web/ejabberd_web_admin.erl, src/web/ejabberd_web_admin.hrl:
Many exmpp related fixes. Fix a bug when displaying users lists, 
if we can't access the 'offline_msg' mnesia table (using mod_offline_odbc).
This fix should be temporal, we should find a better way to manage this
situation.

src/web/ejabberd_http.erl: Language must be in binary() format.

src/translate.erl: Remove a debug call to io:format/2.

src/ejabberd_sm.erl, src/mod_configure.erl, src/mod_disco.erl:
ejabberd_sm:get_user_resources/2 returns resources as binary().

src/ejabberd_sm.erl: Bugfix in get_user_info/3.

SVN Revision: 1886
2009-02-18 18:03:11 +00:00
Pablo Polvorin
ea62092d6e src/ejabberd_auth.erl: Fix: for legacy authentication, the Digest parameters could be 'undefined'.
src/mod_muc/mod_muc_room.erl: Typo.
src/ejabberd_c2s.erl: Remove comment for an already done TODO.

SVN Revision: 1885
2009-02-18 13:48:06 +00:00
Christophe Romain
e977d099e2 prevent from calling get_vh_registered_users/2 when not available
SVN Revision: 1871
2009-02-13 15:01:55 +00:00
Jean-Sébastien Pédron
bf82bac328 o Document the type of the argument(s) and the returned type of every
functions.
o  Add guardians expression to exported functions to ensure at an early
stage that we were given the right arguments.
o  Fix table conversion to exmpp; many fields were left as string(),
preventing matching from working correctly.
o  In user_roster_item_parse_query/4, fix a bug where the same variable
was used for two distinct purpose.
o  In user_roster_item_parse_query/4, fix a bad usage of
exmpp_jid:jid_to_list/1.

PR:		EJABP-1

SVN Revision: 1867
2009-02-06 13:43:40 +00:00
Jean-Sébastien Pédron
25bd2bc7fe Document the short JID type.
PR:		EJABP-1

SVN Revision: 1866
2009-02-06 13:35:40 +00:00
Jean-Sébastien Pédron
93b26d947c Add documentation stub for some types. This will be filled later.
PR:		EJABP-1

SVN Revision: 1865
2009-02-06 13:34:12 +00:00
Jean-Sébastien Pédron
8290026940 o Document the type of the argument(s) and the returned type of every
functions.
o  Add guardians expression to many functions of ejabberd_auth and
ejabberd_auth_anonymous to ensure at an early stage that we were given
the right arguments. Other modules are not changed because they are only
used by ejabberd_auth which already does the check.

PR:		EJABP-1

SVN Revision: 1863
2009-02-05 11:13:01 +00:00
Jean-Sébastien Pédron
69a2194efe exmpp_server_sasl:next_step/1 returns the mechanism as list() again, so
the call to binary_to_list/1 isn't necessary anymore.

PR:		EJABP-1

SVN Revision: 1853
2009-01-23 14:06:48 +00:00
Jean-Sébastien Pédron
b5c8b99272 Document every functions to clarify the types to give and returned.
PR:		EJABP-1

SVN Revision: 1852
2009-01-23 10:10:33 +00:00
Badlop
35926b96b4 * src/odbc/mysql.sql: Fix complain about comment syntax
* src/odbc/pg.sql: Likewise

SVN Revision: 1850
2009-01-23 00:10:00 +00:00
Pablo Polvorin
d1cf37bbec Small fixes
SVN Revision: 1849
2009-01-22 22:19:03 +00:00
Jean-Sébastien Pédron
4417608b27 Document every functions to clarify the types to give and returned.
PR:		EJABP-1

SVN Revision: 1846
2009-01-22 15:54:03 +00:00
Jean-Sébastien Pédron
a105dcb060 In get_vh_session_list/1, remove a bad list_to_binary/1; now that
exmpp_stringprep return the correct type, it was used on a binary().

PR:		EJABP-1

SVN Revision: 1845
2009-01-22 15:52:30 +00:00
Jean-Sébastien Pédron
0cf0992f78 Fix some eDoc @spec directives.
PR:		EJABP-1

SVN Revision: 1844
2009-01-22 15:50:43 +00:00
Jean-Sébastien Pédron
842ebfcca0 A lot of bug fixes regarding attribute values type:
o  Fix some bugs by getting attributes as list() instead of binary().
o  Instead creating #xmlattr directly, use the new ?XMLATTR macro; it'll
take care of the anything-to-binary() conversion.
o  Fix a bug where recipient and sender were used as binary() instead of
list(), which is required by the rest of the S2S code.
o  Fix a bug where binary_to_list/1 was called on a list().

Now concerning JIDs :
o  Now that #jid{} isn't part of the API of Exmppp anymore, replace
remaining direct usages by calls to exmpp_jid.
o  Replace exmpp_jid:make_bare_jid() by exmpp_jid:make_jid().
o  Replace exmpp_jid:*_to_jid/1 by exmpp_jid:parse_jid/1.

PR:		EJABP-1

SVN Revision: 1841
2009-01-21 13:34:26 +00:00
Jean-Sébastien Pédron
376ee2ed90 o In process_iq_get/3 and process_iq_set/3, use binary() version of
LUser and LServer.
o  In convert_to_exmpp2/2, user and server are stored as binary().

PR:		EJABP-1

SVN Revision: 1840
2009-01-21 13:31:14 +00:00
Jean-Sébastien Pédron
2f1397c50e Use string() version of UserName and UserHost.
PR:		EJABP-1

SVN Revision: 1839
2009-01-21 13:30:18 +00:00
Jean-Sébastien Pédron
cdbb000638 Return invalid-mechanism when a mechanism isn't supported instead of
no-mechanism, which wasn't standard-compliant.

PR:		EJABP-1

SVN Revision: 1838
2009-01-21 13:07:55 +00:00
Jean-Sébastien Pédron
8a413018c2 In match_acl/3, use string() version of User/Server/Resource to match an
ACL.

PR:		EJABP-1

SVN Revision: 1837
2009-01-21 12:44:36 +00:00
Pablo Polvorin
03f2de75f5 Typo (prolists -> proplists).
SVN Revision: 1833
2009-01-19 17:45:11 +00:00
Jean-Sébastien Pédron
38c0f3cdc8 Replace remaining calls to deprecated API:
o  In src/cyrsasl_digest.erl, replace hijacked usage of
xml:get_attr_s/2 by proper calls to proplists:get_value/3.
o  Still in src/cyrsasl_digest.erl, replace a call to
stringprep:tolower/1 by exmpp_stringprep:to_lower/1.
o  In src/ejabberd_service.erl, replace a call to xml:crypt/1 by
exmpp_xml:escape_using_entities/1.

PR:		EJABP-1

SVN Revision: 1832
2009-01-19 15:58:16 +00:00
Jean-Sébastien Pédron
fc77b48344 Merge from trunk (r1804 to r1829).
The merge party is over, you may now double-check that everything is in
place.

PR:		EJABP-1

SVN Revision: 1830
2009-01-19 15:27:07 +00:00
Jean-Sébastien Pédron
ff500d8297 Merge from trunk (r1787 to r1804).
Included are fixes to src/mod_configure.erl and src/mod_caps.erl.

Note: this merge doesn't include the following revisions because it was
made by previous commits:
r1766, r1768, r1781, r1783, r1794, r1797, r1799, r1802.

Warning: Ejabberd may be broken until the merge is completly finished.

PR:		EJABP-1

SVN Revision: 1829
2009-01-19 14:47:33 +00:00
Pablo Polvorin
e2ee44617c translate.erl: Bugfix, ?MYLANG macro returns a list().
SVN Revision: 1828
2009-01-19 13:44:43 +00:00
Jean-Sébastien Pédron
25009ff9f4 Merge from trunk (r1764 to r1787).
Warning: Ejabberd may be broken until the merge is completly finished.

PR:		EJABP-1

SVN Revision: 1827
2009-01-19 11:59:40 +00:00
Jean-Sébastien Pédron
bc51bd0dbd Merge from trunk (r1752 to r1764).
Warning: Ejabberd may be broken until the merge is completly finished.

PR:		EJABP-1

SVN Revision: 1826
2009-01-19 11:16:44 +00:00
Jean-Sébastien Pédron
8a27b5446d Fix accesses to the new #jid opaque type.
PR:		EJABP-1

SVN Revision: 1825
2009-01-19 10:14:55 +00:00
Jean-Sébastien Pédron
2cc2039ad8 Merge from trunk (r1734 to r1752).
Note: this merge doesn't include the following revisions because it was
made by previous commits:
r1737, r1740, r1745, r1747, r1748.

Additionnaly, any deprecated content was removed from jlib.hrl. This
leaves only the new RSM records.

Warning: Ejabberd may be broken until the merge is completly finished.

PR:		EJABP-1

SVN Revision: 1824
2009-01-19 10:14:04 +00:00
Pablo Polvorin
04f6a2be37 Store host and room name as binary(). Use jid_to_binary() instead of jid_to_list().
SVN Revision: 1821
2009-01-15 19:41:06 +00:00
Pablo Polvorin
2538001b08 Store registered nicknames, rooms and domains as binary().
Use document_to_iolist/1 and iolist_size/1 instead of document_to_list/1.

SVN Revision: 1820
2009-01-15 15:21:54 +00:00
Pablo Polvorin
e8f630b93a mod_pubsub: initial update to new hooks API (using binaries). mod_pubsub is still unusable with exmpp.
SVN Revision: 1809
2009-01-12 18:17:05 +00:00
Pablo Polvorin
49210e3099 Apply commit 1212 (caps handling fix), was incorrectly overwritten on 1770.
SVN Revision: 1807
2009-01-12 18:15:44 +00:00
Pablo Polvorin
96c0ff44f9 Fix typo
SVN Revision: 1806
2009-01-12 15:51:22 +00:00
Christophe Romain
56bccce713 fix previous fix misplacing (EJAB-840)
SVN Revision: 1803
2009-01-11 06:24:42 +00:00
Christophe Romain
89be1c2ede fix owners cache and fix unsubscribe permissions (EJAB-840)
SVN Revision: 1800
2009-01-11 02:05:41 +00:00
Pablo Polvorin
c77f7e727b Update gen_iq_handler API, require the 'Host' argument to be in binary() format.
Fix bug in vcard user search, odbc backend.

SVN Revision: 1796
2009-01-10 16:10:12 +00:00
Christophe Romain
36080fb682 fix unsubscription of full jid subscribed node (EJAB-839)
SVN Revision: 1795
2009-01-10 13:40:38 +00:00
Pablo Polvorin
98f51dc91f Adapt to new exmpp API where get_id/1, get_lang/1, get_initiating_entity/1, get_receiving_entity/1 and get_type/1 returns binary().
SVN Revision: 1791
2009-01-09 19:18:46 +00:00
Christophe Romain
d2524b20d5 minor pubsub fixes
SVN Revision: 1782
2009-01-08 18:44:11 +00:00
Christophe Romain
068c93e562 fix EJAB-701 and EJAB-836
SVN Revision: 1781
2009-01-08 17:27:47 +00:00
Pablo Polvorin
e0e58711bb XML attributes as binary(). Change Node argument to binary in the following hooks:
disco_local_items, disco_local_features, disco_local_identity, disco_sm_items and 
disco_sm_identity.

SVN Revision: 1780
2009-01-08 14:54:00 +00:00
Pablo Polvorin
2cbd61f268 Fix typo in mod_roster
SVN Revision: 1773
2009-01-05 15:41:53 +00:00
Pablo Polvorin
4827db4f56 Big #jid to binary() conversion.
Internal tables (ejabberd_router, ejabberd_sm, ejabberd_hooks, mod_last, mod_roster) use binary() as storage.
Basic test using the ODBC backend.

SVN Revision: 1770
2009-01-03 15:15:38 +00:00
Christophe Romain
1a44fe29b4 PubSub: Added access-whitelist and member-affiliation features (EJAB-780)
SVN Revision: 1769
2009-01-03 00:58:18 +00:00
Christophe Romain
e032a8c54f PubSub cleanup, EJAB-827 fix, EJAB-701 partial fix
SVN Revision: 1767
2009-01-03 00:29:36 +00:00
Christophe Romain
214ef31053 Improve handling of PEP sent to external contacts (EJAB-825)
SVN Revision: 1751
2008-12-23 13:58:38 +00:00
Christophe Romain
978adbbd94 Fix send_last_published_item issue when running on clustered table (EJAB-793)
SVN Revision: 1741
2008-12-20 00:01:26 +00:00
Christophe Romain
e6535dcc67 Check option of the nodetree instead of checking configuration
SVN Revision: 1738
2008-12-18 13:46:30 +00:00
Pablo Polvorin
d3ddf10839 mod_muc_room.erl: Fix bug in MUC invite.
SVN Revision: 1736
2008-12-17 16:24:15 +00:00
Jean-Sébastien Pédron
69805f36fa Merge from trunk (r1730 to r1734).
PR:		EJABP-1

SVN Revision: 1735
2008-12-17 13:52:44 +00:00
Jean-Sébastien Pédron
6a3436b1c4 Merge from trunk (r1709 to r1730).
Ejabberd should be usable again.

PR:		EJABP-1

SVN Revision: 1731
2008-12-16 13:16:56 +00:00
Jean-Sébastien Pédron
62f9f6e6c5 Convert to exmpp the parts in mod_pubsub recently merged from trunk.
Warning: Ejabberd is unusable because the rest of trunk hasn't been
merged yet!

PR:		EJABP-1

SVN Revision: 1730
2008-12-16 10:31:08 +00:00
Christophe Romain
96aaba738b fix get_item_name deadlock on transaction
SVN Revision: 1729
2008-12-15 19:58:53 +00:00
Jean-Sébastien Pédron
f83fc51960 Replace stringprep by exmpp_stringprep.
PR:		EJABP-1

SVN Revision: 1726
2008-12-10 14:44:08 +00:00
Christophe Romain
e1575e3177 fix typo bug injected in r1712
SVN Revision: 1725
2008-12-09 22:42:34 +00:00
Christophe Romain
3d28a7837d minor bugfix
SVN Revision: 1723
2008-12-09 22:09:30 +00:00
Christophe Romain
9f2fda6060 merge to lattest trunk r1716
SVN Revision: 1720
2008-12-09 00:32:36 +00:00
Jean-Sébastien Pédron
3bfb2b5cc1 Merge from trunk (r1692 to r1709).
PR:		EJABP-1

SVN Revision: 1710
2008-12-08 12:02:27 +00:00
Jean-Sébastien Pédron
82b97b9639 Finish the conversion of mod_pubsub to Exmpp.
PR:		EJABP-1

SVN Revision: 1709
2008-12-08 11:21:32 +00:00
Jean-Sébastien Pédron
d01c24bd23 Fix acl:match_rule/3 call. It takes a #jid record, not a short JID.
PR:		EJABP-1

SVN Revision: 1708
2008-12-08 11:20:21 +00:00
Jean-Sébastien Pédron
163d185776 First pass of Exmpp conversion for mod_pubsub.
CAUTION:
o  Several modules aren't converted yet.
o  Existent Mnesia tables written to disc are not updated.
o  There must be bugs, mostly because of the mix between #jid record
and short JIDs.
PR:		EJABP-1

SVN Revision: 1705
2008-12-05 15:13:09 +00:00
Jean-Sébastien Pédron
6305ddca18 Add the module and function names to the error message, when a module
crash.

SVN Revision: 1704
2008-12-05 15:08:03 +00:00
Jean-Sébastien Pédron
b82b66fdf0 Update Exmpp XML parser options.
SVN Revision: 1703
2008-12-05 15:06:49 +00:00
Jean-Sébastien Pédron
b425093813 Convert mod_proxy65 to exmpp.
SVN Revision: 1701
2008-12-03 14:34:43 +00:00
Jean-Sébastien Pédron
f30d2b9f1c Fix two warnings about unused variables.
PR:		EJABP-1

SVN Revision: 1696
2008-12-01 15:54:57 +00:00
Jean-Sébastien Pédron
9e96043255 Merge from trunk (r1649 to r1692).
PR:		EJABP-1

SVN Revision: 1695
2008-12-01 15:53:30 +00:00
Jean-Sébastien Pédron
bd300e870c Convert mod_muc to Exmpp.
PR:		EJABP-1
Submitted by:	Pablo Polvorin <pablo.polvorin@process-one.net>

SVN Revision: 1692
2008-12-01 15:01:27 +00:00
Jean-Sébastien Pédron
e06f533f6b Start the exmpp application.
PR:		EJABP-1
Submitted by:	Pablo Polvorin <pablo.polvorin@process-one.net>

SVN Revision: 1691
2008-12-01 15:00:36 +00:00
Jean-Sébastien Pédron
7088ba88a9 o In store_last_info/4, fix a bug where the status was not converted to
list before calling ejabberd_odbc:escape/1.
o  In get_last_info/2, fix a bug where the status was returned as a list
instead of a binary.

SVN Revision: 1690
2008-12-01 12:16:41 +00:00
Jean-Sébastien Pédron
0313adaec6 Convert to exmpp.
PR:		EJABP-1

SVN Revision: 1663
2008-10-20 10:34:00 +00:00
Jean-Sébastien Pédron
50b1e4c36f Convert to exmpp.
The admin web interface is working but HTTP polling seems broken in the
trunk.

PR:		EJABP-1

SVN Revision: 1654
2008-10-13 15:36:43 +00:00
Jean-Sébastien Pédron
ab2b70f189 Merge from trunk (r1613 to 1649).
PR:		EJABP-1

SVN Revision: 1650
2008-10-13 10:11:19 +00:00
Jean-Sébastien Pédron
3190c0ed6c Convert to exmpp.
PR:		EJABP-1

SVN Revision: 1649
2008-10-13 09:39:58 +00:00
Jean-Sébastien Pédron
461a5eb315 Convert to exmpp.
PR:		EJABP-1

SVN Revision: 1648
2008-10-13 09:39:18 +00:00
Jean-Sébastien Pédron
01ef834b82 Remove the deprecated list of converted modules.
PR:		EJABP-1

SVN Revision: 1647
2008-10-13 09:38:34 +00:00
Jean-Sébastien Pédron
0211c8145d Replace jlib:nameprep/1 by exmpp_stringprep:nameprep/1.
PR:		EJABP-1

SVN Revision: 1646
2008-10-13 09:37:48 +00:00
Jean-Sébastien Pédron
4a9892fa15 Replace jlib:nameprep/1 by exmpp_stringprep:nameprep/1 and change the
error handling.

PR:		EJABP-1

SVN Revision: 1628
2008-10-10 15:24:47 +00:00
Jean-Sébastien Pédron
71bfefa788 Convert to exmpp.
PR:		EJABP-1

SVN Revision: 1627
2008-10-10 15:23:58 +00:00
Jean-Sébastien Pédron
071c858055 Don't start stringprep_sup.
PR:		EJABP-1

SVN Revision: 1626
2008-10-10 14:58:35 +00:00
Jean-Sébastien Pédron
0244963935 Replace jlib:nameprep/1 by exmpp_stringprep:nameprep/1 and change the
error handling.

PR:		EJABP-1

SVN Revision: 1625
2008-10-10 14:57:44 +00:00
Jean-Sébastien Pédron
3adb238b31 Fix a bug where the wrong module was called (jlib instead of exmpp_jid).
PR:		EJABP-1

SVN Revision: 1624
2008-10-10 14:41:26 +00:00
Jean-Sébastien Pédron
e3100110f0 Replace jlib:nameprep/1 by exmpp_stringprep:nameprep/1 and change the
error handling.

PR:		EJABP-1

SVN Revision: 1623
2008-10-10 14:40:04 +00:00
Jean-Sébastien Pédron
5224a796cc Replace jlib:iq_to_xml/1 by exmpp_iq:iq_to_xmlel/1.
PR:		EJABP-1

SVN Revision: 1622
2008-10-10 14:38:52 +00:00
Jean-Sébastien Pédron
285b3858dd Replace jlib:*prep/1 by exmpp_stringprep:*prep/1 and change the error
handling.

PR:		EJABP-1

SVN Revision: 1621
2008-10-10 14:37:26 +00:00
Jean-Sébastien Pédron
53bea055aa Remove a remaining jlib:jid_remove_resource/1 call.
PR:		EJABP-1

SVN Revision: 1620
2008-10-10 14:36:25 +00:00
Jean-Sébastien Pédron
129b0e99cf Replace jlib:nodeprep/1 by exmpp_stringprep:nodeprep/1 and change the
error handling.

PR:		EJABP-1

SVN Revision: 1619
2008-10-10 14:35:17 +00:00
Jean-Sébastien Pédron
c0e4af9ac0 Replace jlib:nameprep/1 by exmpp_stringprep:nameprep/1 and change the
error handling.

PR:		EJABP-1

SVN Revision: 1618
2008-10-10 14:33:16 +00:00
Jean-Sébastien Pédron
ccd94bb734 Fix a buf where a tuple was passed to exmpp_jid:jid_to_list/1 instead of
a #jid. Now we use exmpp_jid:jid_to_list/3.

PR:		EJABP-1
Submitted by:	Pablo Polvorin <pablo.polvorin@process-one.net>

SVN Revision: 1617
2008-10-10 08:16:29 +00:00
Jean-Sébastien Pédron
e1b3bd611d Fix a bug where legacy authentication informations were not search among
the query children but among the IQ children.

PR:		EJABP-1
Submitted by:	Pablo Polvorin <pablo.polvorin@process-one.net>

SVN Revision: 1616
2008-10-10 08:14:08 +00:00
Jean-Sébastien Pédron
6ab7e339bd Fix handling of unauthenticated stanzas which are not request IQ.
PR:		EJABP-1
Submitted by:	Pablo Polvorin <pablo.polvorin@process-one.net>

SVN Revision: 1615
2008-10-09 11:54:42 +00:00
Jean-Sébastien Pédron
67a87af459 Merge from trunk (r1563 to r1613).
PR:		EJABP-1

SVN Revision: 1614
2008-10-08 12:02:30 +00:00
Jean-Sébastien Pédron
aaecdc4b8a Convert to exmpp.
PR:		EJABP-1
Submitted by:	Pablo Polvorin <pablo.polvorin@process-one.net>

SVN Revision: 1611
2008-10-07 12:20:09 +00:00
Jean-Sébastien Pédron
78466384c4 Convert to exmpp.
PR:		EJABP-1

SVN Revision: 1610
2008-10-07 09:55:38 +00:00
Jean-Sébastien Pédron
ca7a0813b4 Fix a bug where an error stanza was not created correctly, leading to
ejabberd_c2s crash.

PR:		EJABP-1

SVN Revision: 1609
2008-10-07 09:54:53 +00:00
Jean-Sébastien Pédron
bc0d8613ab Fix status handling by always using binaries: until now, we were mixing
lists and binaries in a non-working way.

PR:		EJABP-1
Submitted by:	Pablo Polvorin <pablo.polvorin@process-one.net>

SVN Revision: 1608
2008-10-06 15:16:09 +00:00
Jean-Sébastien Pédron
0434c1424a The Mnesia table wasn't updated when converting from an old schema.
PR:		EJABP-1

SVN Revision: 1607
2008-10-06 15:14:01 +00:00
Jean-Sébastien Pédron
3f8a303286 Convert to exmpp.
PR:		EJABP-1
Submitted by:	Pablo Polvorin <pablo.polvorin@process-one.net>

SVN Revision: 1606
2008-10-06 15:01:36 +00:00
Jean-Sébastien Pédron
5ceffdd5a7 Fix a confusion between #jid and tuples.
PR:		EJABP-1
Submitted by:	Pablo Polvorin <pablo.polvorin@process-one.net>

SVN Revision: 1604
2008-10-06 15:00:34 +00:00
Jean-Sébastien Pédron
01da93bf70 mod_privacy & friends may return an empty list.
PR:		EJABP-1
Submitted by:	Pablo Polvorin <pablo.polvorin@process-one.net>

SVN Revision: 1603
2008-10-06 14:58:45 +00:00
Jean-Sébastien Pédron
028a3c2ded Fix a bug where we were matching on #iq.type instead of #iq.kind,
resulting in bad-request sent to the client.

PR:		EJABP-1

SVN Revision: 1602
2008-10-06 14:56:36 +00:00
Jean-Sébastien Pédron
1698b8ec04 o In start/2 and stop/1, the IQ registration must use a namespace as
atom, not list.
o  The functions process_local_iq/3, process_sm_iq/3 and get_last/3
receive an #iq, not an #xmlel.
o  In store_last_info/4 and remove_user/2, add try/catch block around
exmpp_stringprep:*prep/1 uses.

SVN Revision: 1594
2008-10-02 14:59:48 +00:00
Jean-Sébastien Pédron
9e018532c8 o In #jid, when the node isn't specified, it defaults to the atom
"undefined", not an empty binary.
o  Fix a bug where we expected an #xmlelement to have only one #xmlcdata
child.

SVN Revision: 1593
2008-10-02 13:52:39 +00:00
Jean-Sébastien Pédron
24cb7cb039 exmpp_xml:get_element_by_name/2 is deprecated; use
exmpp_xml:get_element/2 instead.

SVN Revision: 1592
2008-10-02 13:34:52 +00:00
Jean-Sébastien Pédron
7c28aba6a1 Fix a bug where a JID represented as a tuple was used in a function
expecting a #jid.

PR:		EJABP-1
Submitted by:	Pablo Polvorin <pablo.polvorin@process-one.net>

SVN Revision: 1591
2008-10-02 13:17:49 +00:00
Jean-Sébastien Pédron
2309f9b8bc Fix multiple bugs in ODBC mods.
PR:		EJABP-1
Submitted by:	Pablo Polvorin <pablo.polvorin@process-one.net>

SVN Revision: 1589
2008-10-01 09:41:57 +00:00
Jean-Sébastien Pédron
ddcb94649d Fill exmpp_xml known list with the nss/names/attrs used by this module.
SVN Revision: 1585
2008-09-29 13:19:11 +00:00
Jean-Sébastien Pédron
5f7e16eac3 Add the {autoload_known, true} flag to the XML parser options. This
allows modules to extend the known nss/names/attrs with their own data.

SVN Revision: 1584
2008-09-29 13:17:21 +00:00
Jean-Sébastien Pédron
da034b3090 Fix a bug in #xmlel construction: children must be a list.
SVN Revision: 1583
2008-09-29 11:30:25 +00:00
Jean-Sébastien Pédron
12d515a8fe Convert to exmpp (not tested yet).
SVN Revision: 1582
2008-09-29 11:29:09 +00:00
Jean-Sébastien Pédron
f5f3c85112 Remove compatibility code (not tested yet).
SVN Revision: 1581
2008-09-29 10:38:04 +00:00
Jean-Sébastien Pédron
d8153b702a o Add try/catch block around exmpp_stringprep:*prep/1 uses.
o  Add table conversion.
o  In get_last/3, do not convert status to binary because it's already
one.

SVN Revision: 1580
2008-09-29 10:34:06 +00:00
Jean-Sébastien Pédron
9a4f5bb2d9 When the status is not specified in a presence stanza, default to an
empty binary, not an empty string; this is what mod_last expects.

SVN Revision: 1579
2008-09-29 10:31:24 +00:00
Jean-Sébastien Pédron
7624284070 Remove compatilibity code.
SVN Revision: 1578
2008-09-29 09:42:46 +00:00
Jean-Sébastien Pédron
c32cbd90e8 Fix a bug in parse_xdata_submit/1 and parse_xdata_fields/2 where
exmpp_xml:get_attribute_from_list/3 was called with only 2 arguments;
this code has not been updated when exmpp_xml's API changed...

SVN Revision: 1577
2008-09-29 09:42:05 +00:00
Jean-Sébastien Pédron
c068d20588 In mod_offline:
o  Remove any compatibility code: the core of Ejabberd expects new
structures.
o  Add table conversion.
o  Add try/catch block around exmpp_stringprep:*prep/1 uses.

To permit the complete removal of the compatibility code, jlib had to be
changed too: the timestamp_to_xml/1 function now returns an #xmlel.

SVN Revision: 1575
2008-09-25 10:46:00 +00:00
Jean-Sébastien Pédron
c74ab439ef Convert to exmpp.
SVN Revision: 1574
2008-09-23 13:11:05 +00:00
Jean-Sébastien Pédron
44c77364ce Fix a typo in the exmpp_stringprep module name.
SVN Revision: 1573
2008-09-23 13:10:33 +00:00
Jean-Sébastien Pédron
0dbbf53fbe o Fix a misuse of exmpp_stanza:error/2: the namespace argument (the
first one) was missing.
o  Fix a bug in process_privacy_iq/4 where the #iq record was not
converted back to an #xmlel before calling ejabberd_router:route/3.

SVN Revision: 1572
2008-09-23 13:09:32 +00:00
Jean-Sébastien Pédron
052d006c88 Fix a typo in the exmpp_stringprep module name.
SVN Revision: 1571
2008-09-23 13:06:45 +00:00
Jean-Sébastien Pédron
0e91ea9e5f o Fix a bug in process_sm_iq/3 where a badmatch exception was raised
when the user didn't have a vCard.
o  Fix a bug in remove_user/2 where the exmpp_jid module was use instead
of exmpp_stringprep.

SVN Revision: 1570
2008-09-23 13:05:43 +00:00
Jean-Sébastien Pédron
5803c51633 Convert to exmpp.
SVN Revision: 1568
2008-09-22 11:18:08 +00:00
Jean-Sébastien Pédron
35a7342416 o Remove unappropriate comments in get_sm_features/5.
o  Use the '_s' variants of NS_* macros instead of a call to
atom_to_list/1 in do_route/4.
o  A call to the stringprep module was left in filter_fields/3.

SVN Revision: 1567
2008-09-22 11:17:23 +00:00
Jean-Sébastien Pédron
e9d7ac68da o Fix a bug in get_in_pending_subscriptions() where the type of the
presence stanza was lost.
o  Reorganize a few lines in user_roster() to match mod_roster_odbc.

SVN Revision: 1566
2008-09-18 14:55:43 +00:00
Jean-Sébastien Pédron
56a0c8ed1d Convert to exmpp.
SVN Revision: 1565
2008-09-18 14:55:03 +00:00
Jean-Sébastien Pédron
4eaa8e19c9 Merge from trunk (r1457 to r1563).
SVN Revision: 1564
2008-09-16 14:39:57 +00:00
Jean-Sébastien Pédron
414948d822 VCard are now stored as #xmlel. Mnesia tables are converted during
startup.

SVN Revision: 1553
2008-08-27 12:39:49 +00:00
Jean-Sébastien Pédron
02e6bf8759 handle_cast({disco_response, ...}, ...) now receives an #iq record:
update the code to handle this.

SVN Revision: 1552
2008-08-27 09:46:25 +00:00
Jean-Sébastien Pédron
8baed08641 Remove a debugging io:format/2.
SVN Revision: 1551
2008-08-27 09:45:01 +00:00
Jean-Sébastien Pédron
4e39f4cab1 o Remove compatibility code. Use the atom 'undefined' in JIDs (normal
and short).
o  Add try/catch blocks where Exmpp can raise exceptions.
o  Remove some unused code.
o  Convert on-disk Mnesia database: JIDs, extra XML elements and
askmessage are concerned.
o  By default, 'askmessage' is now an empty binary instead of an empty
string, for consistency's sake.
o  Fix some bugs.

SVN Revision: 1547
2008-08-26 13:59:04 +00:00
Jean-Sébastien Pédron
9f0d79da9a o Use the new functions from jlib.
o  Remove the compatibility code. It's becoming confusing to handle every
case every where. Also, in JIDs (normal and short), the atom "undefined'
is expected, not the empty string anymore!

SVN Revision: 1546
2008-08-26 13:38:49 +00:00
Jean-Sébastien Pédron
80fcd2eb56 Remove commented-out code and use proper variable names.
SVN Revision: 1545
2008-08-26 13:00:35 +00:00
Jean-Sébastien Pédron
5aead42964 Use the new short_prepd_jid/1 function from jlib.
SVN Revision: 1544
2008-08-26 12:58:13 +00:00
Jean-Sébastien Pédron
ab75683bc9 short_jid/1 and short_bare_jid/1 now produce a short JID from the
user-provided JID parts. To obtain a short JID from the STRINGPREP'd
parts, use the new short_prepd_jid/1 and short_prepd_bare_jid/1
functions.

SVN Revision: 1543
2008-08-26 12:56:45 +00:00
Jean-Sébastien Pédron
d8c3aae412 Convert to the new #iq record from Exmpp.
SVN Revision: 1524
2008-08-14 13:36:11 +00:00
Jean-Sébastien Pédron
5e78c53572 Remove the compatibility layer and always call modules with the new #iq
record from Exmpp.

SVN Revision: 1523
2008-08-14 13:34:30 +00:00
Jean-Sébastien Pédron
44d3e844a3 Accept 'undefined' as a language and treat it as the empty string.
SVN Revision: 1522
2008-08-14 13:32:31 +00:00
Jean-Sébastien Pédron
85c2097ece Update to use the new names used in exmpp_jid.
SVN Revision: 1515
2008-08-06 13:51:42 +00:00
Jean-Sébastien Pédron
cb20c9b0d7 Update to use the new exmpp_xml:get_attribute/{3,4} API.
SVN Revision: 1514
2008-08-06 13:46:23 +00:00
Jean-Sébastien Pédron
d9a493561b Convert to exmpp.
SVN Revision: 1513
2008-08-06 13:44:58 +00:00
Jean-Sébastien Pédron
70956ece12 Convert to exmpp.
SVN Revision: 1492
2008-07-25 14:26:59 +00:00
Jean-Sébastien Pédron
adaf392156 o Finish conversion to exmpp for mod_caps.
o  In ejabberd_loca, IQ response handler are now always called with
arguments in the new format.

SVN Revision: 1469
2008-07-22 14:51:19 +00:00
Jean-Sébastien Pédron
37b99639d4 Convert to exmpp.
SVN Revision: 1468
2008-07-22 14:03:11 +00:00
Jean-Sébastien Pédron
a8ab6c1568 Add support for #xmlel to parse_xdata_submit/1 and friends. This fixes
the user search in mod_vcard.

SVN Revision: 1466
2008-07-21 15:54:47 +00:00
Jean-Sébastien Pédron
4a1e45070e One call to jlib:jid_to_string/1 was remaining.
SVN Revision: 1465
2008-07-21 15:53:58 +00:00
Jean-Sébastien Pédron
b33ac47228 Convert to exmpp.
SVN Revision: 1464
2008-07-21 15:30:32 +00:00
Jean-Sébastien Pédron
6e91399922 Convert to exmpp.
SVN Revision: 1463
2008-07-21 15:29:52 +00:00
Jean-Sébastien Pédron
75a8be230b Prepare gen_iq_handler to pass arguments in the new format to a built-in
list of modules known to support them. Other modules will still receive
arguments in the old format.

SVN Revision: 1462
2008-07-21 15:28:44 +00:00
Jean-Sébastien Pédron
07b1210b50 Merge revisions from 1444 to revision 1457 from trunk.
SVN Revision: 1458
2008-07-17 15:33:50 +00:00
Jean-Sébastien Pédron
532e8ee228 Start conversion to exmpp. For now, only direct calls from ejabberd_c2s
are done. Calls through gen_iq_handler aren't.

SVN Revision: 1457
2008-07-17 15:26:48 +00:00
Jean-Sébastien Pédron
574dbbfd08 Merge revisions from 1434 to revision 1444 from trunk.
SVN Revision: 1445
2008-07-15 08:45:05 +00:00
Jean-Sébastien Pédron
332fb55e3a MFC:
Merge revisions from 1362 to revision 1434 from trunk.

SVN Revision: 1435
2008-07-11 12:48:27 +00:00
Jean-Sébastien Pédron
5610d00b4d Convert to exmpp. Note that this module hasn't been tested yet!
SVN Revision: 1434
2008-07-11 12:41:48 +00:00
Jean-Sébastien Pédron
8bfccb42a9 Exmpp now takes care of stanza serialization and compatible namespaces.
SVN Revision: 1433
2008-07-11 12:40:49 +00:00
Jean-Sébastien Pédron
7ca5bebab3 Convert to exmpp.
SVN Revision: 1422
2008-07-09 09:16:03 +00:00
Jean-Sébastien Pédron
d5aa4be7e5 Convert #xmlelement returned by the 'c2s_stream_features' hook to
#xmlel.

SVN Revision: 1421
2008-07-09 09:14:19 +00:00
Jean-Sébastien Pédron
1a687a4f1a SASL errors are now atoms, not strings anymore.
SVN Revision: 1420
2008-07-08 15:43:52 +00:00
Jean-Sébastien Pédron
13b78b1ad2 Routing is now done with #xmlel. A warning is printed if those modules
have to route an old #xmlelement.

SVN Revision: 1406
2008-07-01 15:51:34 +00:00
Jean-Sébastien Pédron
48cf5cb84a Do not use the #iq record anymore internally. However it's still created
and passed to other modules.

SVN Revision: 1405
2008-07-01 14:25:02 +00:00
Jean-Sébastien Pédron
5317dd64d7 Change warning message.
SVN Revision: 1404
2008-07-01 14:20:20 +00:00
Jean-Sébastien Pédron
a25609f66b Accept new #xmlel in functions that create #iq. A warning is printed
when these functions are called with an old #xmlelement.

SVN Revision: 1403
2008-07-01 14:19:36 +00:00
Jean-Sébastien Pédron
d6e6432a46 Convert to exmpp.
SVN Revision: 1402
2008-07-01 13:34:51 +00:00
Jean-Sébastien Pédron
094fa47f9f Convert gen_iq_handler to exmpp.
SVN Revision: 1401
2008-07-01 10:21:35 +00:00
Jean-Sébastien Pédron
6f7cf2e58b Use a function to convert to old structures instead of duplicating code
inside the module.

SVN Revision: 1400
2008-07-01 10:20:01 +00:00
Jean-Sébastien Pédron
b08ae07347 acl doesn't require conversion anymore.
SVN Revision: 1399
2008-07-01 09:46:57 +00:00
Jean-Sébastien Pédron
ffbf8d5faa Convert acl to exmpp.
SVN Revision: 1398
2008-07-01 09:41:32 +00:00
Jean-Sébastien Pédron
f55274c7fb o Use jlib:short_bare_jid/1.
o  Rewrite is_auth_packet/1 to use new formats.
o  Don't convert <presence/> before calling ejabberd_sm:set_presence/7.
o  Don't convert broadcast children, because it's an internal special
element.

SVN Revision: 1397
2008-07-01 09:17:48 +00:00
Jean-Sébastien Pédron
b9074097da Forgot to convert a <presence/> from the new to the old record.
SVN Revision: 1396
2008-07-01 09:13:49 +00:00
Jean-Sébastien Pédron
83a33726ce Add function short_bare_jid/1.
SVN Revision: 1395
2008-07-01 09:12:59 +00:00
Jean-Sébastien Pédron
8c33e12616 Use the new clause of exmpp_stanza:reply_with_error/2, exmpp_iq:error/2,
exmpp_iq:error_without_original/2 and the new exmpp_jid:make_bare_jid/1.

SVN Revision: 1394
2008-07-01 08:01:06 +00:00
Jean-Sébastien Pédron
87218e1447 Convert to exmpp.
SVN Revision: 1393
2008-07-01 07:49:57 +00:00
Jean-Sébastien Pédron
06965000a5 Before doing any routing, the router print a warning if old structures
are used. Then it converts the structures to the old format and route
them. The router doesn't care about the structures format but the
conversion is necesary for code called from this module.

In C2S and S2S, no conversion is done before calling
ejabberd_router:route/3.

SVN Revision: 1392
2008-06-30 16:55:03 +00:00
Jean-Sébastien Pédron
cc033b3b98 o Use the new functions from jlib.
o  Use the new exmpp_xml:node_to_list/3.

SVN Revision: 1391
2008-06-30 15:51:23 +00:00
Jean-Sébastien Pédron
290040ad9d o Add function to convert to and from old ejabberd #jid record.
o  Move function short_jid/1 from ejabberd_c2s.

SVN Revision: 1390
2008-06-30 15:49:58 +00:00
Jean-Sébastien Pédron
264e72830b Convert to exmpp.
SVN Revision: 1389
2008-06-30 14:04:31 +00:00
Jean-Sébastien Pédron
d05c2ee8a1 Use -include_lib instead of -include to include exmpp.hrl. This is a
better solution than specifying the path (with -I) on erlc(1) command
line.

SVN Revision: 1388
2008-06-30 12:13:15 +00:00
Jean-Sébastien Pédron
b32aba27c1 o Use the new exmpp namespace macro names.
o  Update send_element/2 to use exmpp new to_list functions.

SVN Revision: 1384
2008-06-27 13:46:08 +00:00
Jean-Sébastien Pédron
22e79490ff Convert to exmpp.
SVN Revision: 1383
2008-06-26 15:48:19 +00:00
Jean-Sébastien Pédron
1a311a30b5 o Use a macro in ?DEFAULT_NS instead of the namespace atom directly.
o  Comment DBGFSM our again.
o  Remove macro ERR_SERVICE_UNAVAILABLE.
o  In wait_for_auth and is_auth_packet, an empty resource is returned as
'undefined', not the empty string in the {auth, ...} tuple.
o  In handle_sync_event, remove a debugging printf.
o  In handle_info({route, ...}), use macro IS_PRESENCE & friends instead
of direct matching with NS_JABBER_CLIENT and name. This way, the S2S
doesn't have to change the namespace of all its incoming stanzas to
NS_JABBER_CLIENT.
o  In send_element, for stanzas under the NS_JABBER_SERVER namespace, lie
to exmpp_xml by telling it that this namespace is the default one.

SVN Revision: 1382
2008-06-26 15:47:21 +00:00
Jean-Sébastien Pédron
999f3233bb Fix short JID comparison in get_subscribed_and_online; it was using
'undefined' instead of empty strings.

SVN Revision: 1381
2008-06-25 13:27:03 +00:00
Jean-Sébastien Pédron
07651d712f Finish ejabberd_c2s conversion with the functions related to offline
stanzas.

SVN Revision: 1380
2008-06-25 12:37:45 +00:00
Jean-Sébastien Pédron
6f931ce4fd Convert all presence-related functions.
SVN Revision: 1378
2008-06-24 16:12:56 +00:00
Jean-Sébastien Pédron
e93e846e16 o Use the new exmpp_stream:opening_reply/3 function in wait_for_stream/2.
o  The function terminate/3 is converted to exmpp.

SVN Revision: 1377
2008-06-24 09:44:56 +00:00
Jean-Sébastien Pédron
4e2e68a3fb The handle_info clause that treats routing order is now converted.
In-memory sets and dict still use the short JID form with empty strings
for unspecified fields. Users are able to connect to ejabberd but some
features don't seem to work proprerly.

SVN Revision: 1376
2008-06-24 08:55:24 +00:00
Jean-Sébastien Pédron
e95df7999f Convert JID to the expected form outside of the C2S (empty fields must
be set to the empty string). This fixes the broken routing.

SVN Revision: 1375
2008-06-23 11:47:10 +00:00
Jean-Sébastien Pédron
2a43998444 o Change the usage of #state.lang somewhat.
o  Fix value of DefaultLang: it doesn't contain the whole serialized
attribute.
o  Use exmpp_jid:make_bare_jid/2 more.

I started to work on the second half of the module and discovered
several annoying things:
o  JID are represented in two forms: the #jid record and the
{N, D, R} tuple.
o  Sometimes, #xmlelement may contain non-#xml* tuples in their
children. This is the case for some <presence/> stanzas. Their
children are used to pass random data.
I'm less and less convicted that ejabberd_c2s can be fully converted
without starting to work on other modules.

SVN Revision: 1370
2008-06-20 14:54:59 +00:00
Jean-Sébastien Pédron
389b5e6448 First bunch of modifications to use exmpp. All FSM state function are
updated. But other functions are not for now.

Users are able to connect to ejabberd but some features may not work.

SVN Revision: 1368
2008-06-20 12:52:29 +00:00
Jean-Sébastien Pédron
a19f280fcc Enable the new #xmlel record.
SVN Revision: 1367
2008-06-20 12:50:20 +00:00
Jean-Sébastien Pédron
e4646a6788 Add exmpp detection.
SVN Revision: 1366
2008-06-20 12:49:39 +00:00
Jean-Sébastien Pédron
58bfea2ad1 Replace the use of xml_stream by exmpp_xmlstream. exmpp_xml is
configured to produce old #xmlelement records. exmpp_xmlstream is
configured to send old xmlstreamstart tuple.

Users are able to connect to ejabberd. 

Next step: ejabberd_c2s.

SVN Revision: 1365
2008-06-19 10:23:52 +00:00