25
1
mirror of https://github.com/processone/ejabberd.git synced 2024-10-31 15:21:38 +01:00
Commit Graph

54 Commits

Author SHA1 Message Date
Pablo Polvorin
573a84b2ec handle case when roster version on DB is enabled but version is not found.
Thanks Evgeniy.
2011-08-05 12:21:24 -03:00
Alexey Shchepin
15f664af26 Optimized mod_roster_odbc:get_roster 2011-06-29 11:56:23 +03:00
Christophe Romain
fd52f2cb7d update copyright up to 2011 2011-02-14 13:50:55 +01:00
Pablo Polvorin
a3f2588df6 Remove print debug (thanks evgeniy) 2010-03-02 12:45:59 -03:00
Badlop
414004eae4 Fix resending authorization problem 2010-02-24 13:14:45 +01:00
Badlop
7b76fdcde7 Update year of ProcessOne copyright from 2009 to 2010 (EJAB-1159)
SVN Revision: 2891
2010-01-12 16:11:32 +00:00
Badlop
d6f3182731 Move functions from roster_versioning to mod_roster (EJAB-964)
SVN Revision: 2429
2009-08-06 21:06:16 +00:00
Pablo Polvorin
53626d16e3 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
Badlop
b0e749eca5 * 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: 1877
2009-02-16 14:49:20 +00:00
Badlop
43a98ab69b * src/web/ejabberd_web_admin.erl: Use textareas for large input
like ejabberd module options and listening port options. Show
result of POST more clearly. Ensure access rules are shown with
some minimum separation. Improve menu headers. (EJAB-562)
* src/web/ejabberd_web_admin.hrl: Likewise
* src/mod_offline.erl: Likewise
* src/mod_offline_odbc.erl: Likewise
* src/mod_roster.erl: Likewise
* src/mod_roster_odbc.erl: Likewise
* src/mod_shared_roster.erl: Likewise

SVN Revision: 1813
2009-01-12 21:48:34 +00:00
Badlop
f09509502e * doc/guide.tex: Update copyright date 2008 to 2009 (EJAB-842)
* doc/guide.html: Likewise
* src/*/*.erl: Likewise
* src/*/*.erl: Remove unneeded blankspaces in license text

SVN Revision: 1804
2009-01-12 14:44:42 +00:00
Badlop
14bc7cf77f * src/mod_roster.erl: Show hyperlinks to local contacts when
browsing roster of account in Web Admin (EJAB-480)
* src/mod_roster_odbc.erl: Likewise

SVN Revision: 1778
2009-01-07 01:38:45 +00:00
Evgeniy Khramtsov
11825e7a33 * src/odbc/ejabberd_odbc.erl: get rid of SERIALIZABLE isolation level on MySQL connections.
* src/odbc/odbc_queries.erl: replaces all delete->insert chains with update->insert.
* src/mod_privacy_odbc.erl: moved sql queries to odbc_queries.erl.
* src/mod_roster_odbc.erl: changed interface for odbc_queries.erl.

SVN Revision: 1755
2008-12-26 09:38:54 +00:00
Badlop
426e75a298 * src/ejabberd_c2s.erl: Ensure unique ID in roster push (EJAB-721)
* src/mod_roster.erl: Likewise
* src/mod_roster_odbc.erl: Likewise
* src/mod_shared_roster.erl: Likewise

SVN Revision: 1666
2008-10-24 18:01:08 +00:00
Jérôme Sautret
b65caa82fb * src/mod_roster_odbc.erl: fix MySQL multiple requests issue.
SVN Revision: 1612
2008-10-07 12:32:12 +00:00
Badlop
c3bda4aaee * doc/guide.tex: Update Process-one name to ProcessOne (EJAB-708)
* doc/guide.html: Likewise
* doc/api/overview.edoc: Likewise
* src/*/*.erl: Likewise
* src/*/*.hrl: Likewise
* src/*/*.c: Likewise
* src/odbc/*.sql: Likewise

SVN Revision: 1499
2008-07-31 11:18:49 +00:00
Badlop
970e9e0843 * src/*.hrl: Get back all ejabberd header files to their original
placement in src/ subdirectories (EJAB-696)
* src/*/*.erl: Likewise
* src/*/Makefile.in: Likewise
* src/Makefile.in: Install header files in system include/ dir,
reproducing the subdirectory structure of src/

SVN Revision: 1453
2008-07-16 16:58:42 +00:00
Badlop
f25316c1e7 * src/configure.ac: Update installation permissions (EJAB-402)
* src/configure: Likewise

* src/Makefile.in: The mnesia, ebin and priv dirs are now
installed in different locations. Install header files and
documentation (EJAB-696)
* doc/guide.tex: Likewise
* doc/guide.html: Likewise

* include/*.hrl: Place for all ejabberd header files (EJAB-696)
* src/*/*.erl: Update references to header files
* src/*/Makefile.in: Include the include/ dir

SVN Revision: 1441
2008-07-13 19:10:01 +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
Alexey Shchepin
e9047f4b31 * src/mod_roster_odbc.erl: Better error handling
* src/web/ejabberd_http_poll.erl: Minor fix

SVN Revision: 690
2006-12-07 02:56:14 +00:00
Alexey Shchepin
4d7cc9301a * src/ejabberd_socket.erl: All XML socket operations moved here
* src/ejabberd_listener.erl: Updated
* src/ejabberd_receiver.erl: Likewise
* src/ejabberd_c2s.erl: Likewise
* src/ejabberd_s2s_in.erl: Likewise
* src/ejabberd_s2s_out.erl: Likewise
* src/ejabberd_service.erl: Likewise

* src/mod_shared_roster.erl: Bugfix

* src/mod_roster_odbc.erl: Bugfix

SVN Revision: 599
2006-09-05 04:26:28 +00:00
Mickaël Rémond
d0e2ac9ed2 * src/odbc/odbc_queries.erl: Support for Microsoft SQL Server as
a database backend (via ODBC).
* src/odbc/ejabberd_odbc.erl: Likewise.
* src/odbc/mssql.sql: Likewise.
* src/odbc/Makefile.in: Likewise.
* src/ejabberd_auth_odbc.erl: Likewise.
* src/mod_offline_odbc.erl: Likewise.
* src/mod_roster_odbc.erl: Likewise.
* src/mod_last_odbc.erl: Likewise.
* src/configure.ac: Likewise
* doc/guide.tex: Likewise.
* doc/introduction.tex: Likewise.
* src/odbc/pg.sql: Minor fix.

SVN Revision: 598
2006-09-03 15:15:46 +00:00
Alexey Shchepin
ab2e19a399 * src/mod_roster_odbc.erl: Bugfix
SVN Revision: 591
2006-08-01 23:32:56 +00:00
Mickaël Rémond
a166203194 * src/mod_shared_roster.erl: Shared roster entries can now be
moved or rename from a client without breaking current presence status
(EJAB-70).
* src/mod_roster.erl: Likewise.
* src/mod_roster_odbc.erl: Likewise.

SVN Revision: 586
2006-07-06 14:08:09 +00:00
Mickaël Rémond
ce5d10eb59 * src/mod_roster.erl: According to RFC3921 section 9.2, outbound
subscribe presence packets must be sent, even if the user has already
asked for subcription previously (subscription: none and pending: out).
The mod_roster now conforms to this behaviour (EJAB-102).
* src/mod_roster_odbc.erl: Likewise.

SVN Revision: 574
2006-05-29 16:48:20 +00:00
Alexey Shchepin
c737ce1b8c * src/odbc/pg.sql: Updated
* src/mod_shared_roster.erl: Updated

* src/ejabberd_sm.erl: Bugfix

* src/mod_roster.erl: Bugfix
* src/mod_roster_odbc.erl: Likewise

SVN Revision: 570
2006-05-26 00:00:32 +00:00
Mickaël Rémond
42cdf80cd4 * src/mod_roster.erl: The subscribe request are now resend at
login as long as they have not been answered. mod_roster do no more
depends on mod_offline.
* src/ejabberd_sm.erl: Likewise.
* src/ejabberd_c2s.erl: Likewise.
* src/mod_roster_odbc.erl: Likewise (The ODBC/relational support
has not yet been tested).
* src/mod_roster.hrl: Likewise.
* src/mod_offline.erl: Likewise.
* src/mod_offline_odbc.erl: Likewise.
* odbc/pg.sql: Likewise.
* odbc/mysql.sql: Likewise.

SVN Revision: 569
2006-05-23 20:19:37 +00:00
Alexey Shchepin
73073d4af5 * src/mod_roster_odbc.erl: Bugfix
SVN Revision: 504
2006-02-12 18:40:03 +00:00
Alexey Shchepin
6eac737807 * src/mod_roster_odbc.erl: Bugfix
SVN Revision: 503
2006-02-11 23:55:21 +00:00
Alexey Shchepin
ef0b3ab24c * src/mod_roster_odbc.erl: Bugfix
SVN Revision: 490
2006-01-24 21:47:53 +00:00
Mickaël Rémond
559b5cae14 * src/odbc/mysql.sql: Database description for MySQL Database
4.1 (Max version, with Innodb)
* src/ejabberd_auth_odbc.erl: MySQL ODBC support.
* src/mod_offline_odbc.erl: likewise
* src/mod_vcard_odbc.erl: likewsie
* src/mod_roster_odbc.erl: likewise
* src/odbc/ejabberd_odbc.erl: likewise
* src/mod_last_odbc.erl: likewise

SVN Revision: 474
2005-12-21 16:10:56 +00:00
Alexey Shchepin
626394044d * src/mod_roster.erl: Workaround for gateway subscriptions now
should be enabled with --enable-roster-gateway-workaround
* src/mod_roster_odbc.erl: Likewise
* src/configure.ac: Likewise
* src/Makefile.in: Likewise

SVN Revision: 459
2005-12-11 19:48:31 +00:00
Alexey Shchepin
816d5474f8 * src/mod_roster.erl: The "id" attribute of roster push packet was
missed (thanks to Maxim Ryazanov)
* src/mod_roster_odbc.erl: Likewise

SVN Revision: 442
2005-11-22 18:43:06 +00:00
Alexey Shchepin
57a6d0e1d3 * src/odbc/ejabberd_odbc.erl: Support for mnesia-like transaction
interface
* src/mod_roster_odbc.erl: Updated to use
ejabberd_odbc:sql_transaction/2

SVN Revision: 434
2005-11-16 02:59:05 +00:00
Alexey Shchepin
a8f5d4cd3d * src/mod_roster_odbc.erl: Bugfix
SVN Revision: 428
2005-10-29 20:14:39 +00:00
Alexey Shchepin
c78927ecf7 * src/mod_roster_odbc.erl: Bugfix
SVN Revision: 423
2005-10-18 20:13:33 +00:00
Alexey Shchepin
f85767fae4 * src/mod_roster_odbc.erl: Bugfix
SVN Revision: 420
2005-10-15 14:41:48 +00:00
Alexey Shchepin
66fec72242 * src/mod_roster_odbc.erl: Bugfix
SVN Revision: 416
2005-10-12 23:10:54 +00:00
Alexey Shchepin
02d3151ee7 * src/jd2ejd.erl: Updated to work with ODBC
* src/mod_roster_odbc.erl: Updated

* src/mod_offline_odbc.erl: Bugfix

* src/mod_last_odbc.erl: Bugfix

SVN Revision: 379
2005-07-26 03:04:26 +00:00