25
1
mirror of https://github.com/processone/ejabberd.git synced 2024-11-24 16:23:40 +01:00
Commit Graph

74 Commits

Author SHA1 Message Date
Badlop
007cafa7cd Fix EDoc errors.
SVN Revision: 2495
2009-08-17 17:17:34 +00:00
Badlop
4f6b67b190 Move functions from roster_versioning to mod_roster (EJAB-964)
SVN Revision: 2431
2009-08-06 21:07:18 +00:00
Pablo Polvorin
1b85310f1a Support for roster versioning (EJAB-964)
Introduces two options for mod_roster and mod_roster_odbc:
- {versioning, true | false}   Enable or disable roster versioning on ejabberd.
- {store_current_id, true | false}   If true, the current roster version is stored on DB (internal or odbc). Otherwise it is calculated on the fly each time.

Performance:
Setting store_current_id to true should help in reducing the load for both ejabberd and the DB.

Details: 
If store_current_id is false,  the roster version is a hash of the entire roster. If store_current_id is true, the roster version is a hash, but of the current time
(this has to do with transactional semantics; we need to perform both the roster update and the version update on the same transaction, but we don't   
have the entire roster when we are changing a single item on DB. Loading it there requires significant changes to be introduced, so I opted for this simpler approach).

In either case, there is no difference for the clients, the roster version ID is opaque.

IMPORTANT:
mod_shared_roster is not compatible with the option 'store_current_id'.  Shared roster and roster versioning can be both enabled, but store_current_id MUST be set to false.

SVN Revision: 2428
2009-08-06 15:45:13 +00:00
Pablo Polvorin
92ad67a814 Fix problems when deleting a roster item.
The deleted item was left on the user roster, and unsubscribe presence stanza wasn't sent to the unsubscribed user.

SVN Revision: 2420
2009-08-05 17:39:47 +00:00
Karim Gemayel
9abe47f350 API renaming : jid_to_binary -> to_binary
SVN Revision: 2134
2009-06-01 16:59:08 +00:00
Karim Gemayel
7a884ced32 API renaming : bare_jid_to_list -> bare_to_list
SVN Revision: 2133
2009-06-01 16:54:33 +00:00
Karim Gemayel
15bc238297 API renaming : jid_to_list -> to_list
SVN Revision: 2131
2009-06-01 16:52:14 +00:00
Karim Gemayel
d5f2c41f26 API renaming : lnode -> prep_node
SVN Revision: 2125
2009-06-01 16:39:36 +00:00
Karim Gemayel
7eb395b87d API renaming : ldomain_as_list -> prep_domain_as_list
SVN Revision: 2124
2009-06-01 16:38:28 +00:00
Karim Gemayel
19d7d79229 API renaming : ldomain -> prep_domain
SVN Revision: 2123
2009-06-01 16:37:15 +00:00
Karim Gemayel
526dc54173 API renaming : parse_jid -> parse
SVN Revision: 2122
2009-06-01 16:35:55 +00:00
Karim Gemayel
5dbc4f9954 API renaming : jid_to_bare_jid > bare
SVN Revision: 2120
2009-06-01 16:30:15 +00:00
Karim Gemayel
447d3818f5 API renaming : make_jid -> make
SVN Revision: 2119
2009-06-01 16:26:00 +00:00
Badlop
0bbbf468f0 Fix crashes when browsing some WebAdmin pages (EJAB-821)
SVN Revision: 2111
2009-05-27 17:29:58 +00:00
Badlop
23ec55975e Merge 1877 from trunk.
* src/mod_roster.erl: When account is deleted, cancel presence
subscription for all roster items (EJAB-790)
* src/mod_roster_odbc.erl: Likewise

SVN Revision: 1943
2009-03-03 18:57:47 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
574dbbfd08 Merge revisions from 1434 to revision 1444 from trunk.
SVN Revision: 1445
2008-07-15 08:45:05 +00:00
Alexey Shchepin
8283a9faf3 * src/mod_roster.erl: Fixed "from" attribute in roster pushes
* src/mod_roster_odbc.erl: Likewise

SVN Revision: 1213
2008-02-28 22:10:55 +00:00
Alexey Shchepin
08a4392fa9 * src/mod_roster.erl: Removed the ancient Psi roster workaround
* src/mod_roster_odbc.erl: Likewise

SVN Revision: 1189
2008-02-14 04:51:04 +00:00
Badlop
2d2fcc8210 * doc/guide.tex: Updated copyright dates to 2008
* src/*: Likewise

SVN Revision: 1153
2008-01-15 17:02:57 +00:00
Mickaël Rémond
cd82cadd10 * applied copyright patch 2.
SVN Revision: 1112
2007-12-24 12:58:05 +00:00
Alexey Shchepin
a8bc3a46af * src/web/ejabberd_web_admin.erl: Moved roster stuff to mod_roster*
* src/mod_roster.erl: Likewise
* src/mod_roster_odbc.erl: Likewise

SVN Revision: 886
2007-08-24 16:15:05 +00:00
Alexey Shchepin
3f92fb1acc * src/mod_roster.erl: Don't send roster push when unsubscribing in
"None + Pending In" state
* src/mod_roster_odbc.erl: Likewise

SVN Revision: 882
2007-08-20 18:57:11 +00:00
Mickaël Rémond
888acbdb2e * src/mod_roster_odbc.erl: Better error management when bad JID in roster table (EJAB-289).
SVN Revision: 835
2007-07-28 09:36:37 +00:00
Mickaël Rémond
54a5b2d3e9 * src/mod_roster_odbc.erl: Fixed wrong call.
SVN Revision: 824
2007-07-26 08:30:25 +00:00
Alexey Shchepin
697566476f * src/mod_roster_odbc.erl: Fixed typo
SVN Revision: 782
2007-06-12 16:44:15 +00:00
Alexey Shchepin
a10923c197 * src/ejabberd_auth_anonymous.erl: Added anonymous_purge_hook
(thanks to Christophe Romain and Mickael Remond)
* src/mod_offline.erl: Likewise
* src/mod_offline_odbc.erl: Likewise
* src/mod_roster.erl: Likewise
* src/mod_roster_odbc.erl: Likewise

SVN Revision: 765
2007-05-12 16:28:34 +00:00
Alexey Shchepin
1e5a9d9f43 * src/mod_roster_odbc.erl: Don't deliver roster items in "None +
Pending In" state
* src/mod_roster.erl: Likewise

SVN Revision: 752
2007-04-26 14:45:16 +00:00
Alexey Shchepin
a365f8cd2b * src/mod_roster_odbc.erl: Bugfix (thanks to asdx
<asdx@jabber.snc.ru>)
* src/ejd2odbc.erl: Likewise

SVN Revision: 717
2007-01-30 15:23:48 +00:00