25
1
mirror of https://github.com/processone/ejabberd.git synced 2024-11-04 15:36:57 +01:00
Commit Graph

167 Commits

Author SHA1 Message Date
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
fec3742aaa Replace TYPE/1 with is_TYPE/1 (EJAB-922)
SVN Revision: 2057
2009-05-06 16:54:43 +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
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
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
Badlop
a2bed6709c * src/mod_shared_roster.erl: Allow to get subscribed to a contact
that is already in the roster by means of a shared roster group:
add it to another roster group and it gets subscribed
automatically (EJAB-407)
* src/mod_roster.erl: Likewise

SVN Revision: 1427
2008-07-09 19:06:44 +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
24ff98d50d Fixed conflict
SVN Revision: 887
2007-08-24 16:18:46 +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
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
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
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
4098c3ecba * (all): Enhanced virtual hosting support
SVN Revision: 370
2005-06-20 03:18:13 +00:00
tmallard
374446f847 Merged the Process One contributions ( Virtual Hosting )
SVN Revision: 307
2005-04-17 18:08:34 +00:00
Alexey Shchepin
50bef3787a * src/mod_roster_odbc.erl: Roster support via ODBC (not completed)
* src/ejabberd_auth_internal.erl: Added remove_user hook
* src/ejabberd_auth_odbc.erl: Likewise
* src/mod_roster.erl: Use remove_user hook
* src/mod_offline.erl: Likewise
* src/mod_offline_odbc.erl: Likewise
* src/mod_last.erl: Likewise
* src/mod_last_odbc.erl: Likewise
* src/mod_vcard.erl: Likewise
* src/mod_private.erl: Likewise

* src/mod_roster.erl: Added hooks for functions exported by
mod_roster
* src/ejabberd_c2s.erl: Likewise
* src/ejabberd_sm.erl: Likewise
* src/mod_privacy.erl: Likewise
* src/mod_last.erl: Likewise
* src/mod_last_odbc.erl: Likewise

SVN Revision: 294
2004-12-19 20:47:35 +00:00
Alexey Shchepin
e0ede61e0f * tools/ejabberdctl: Added call to "exec" (thanks to Sergei
Golovan)

* src/msgs/ru.msg: Updated (thanks to Sergei Golovan)

* src/mod_vcard.erl: Support for searching of prefix substring and
limiting of result items (thanks to Sergei Golovan)

* src/mod_offline.erl: Support for message expiration (JEP-0023)
(thanks to Sergei Golovan)
* src/jlib.hrl: Added NS_EXPIRE macros (thanks to Sergei Golovan)

* src/ejabberd_logger_h.erl: Added reopen_log/0 (thanks to Sergei
Golovan)

* src/ejabberd_ctl.erl: Added return codes, updated "reopen-log"
command, added "delete-expired-messages" and "status" commands
(thanks to Sergei Golovan)

* doc/guide.tex: Updated (thanks to Sergei Golovan)

SVN Revision: 264
2004-09-10 20:57:00 +00:00
Alexey Shchepin
b64cc8f662 * src/mod_roster.erl: Removed superfluous include_lib line
SVN Revision: 243
2004-07-10 20:47:06 +00:00
Alexey Shchepin
d2eab0d535 * doc/guide.tex: Updated
* src/msgs/fr.msg: Updated (thanks to Sergei Golovan)

* src/mod_irc/mod_irc.erl: Added handler for disco items requests
(thanks to Sergei Golovan)

* src/mod_vcard.erl: Added option for JUD disabling (thanks to
Sergei Golovan)

* src/mod_configure2.erl: Fixed module stopping (thanks to Sergei
Golovan)
* src/mod_last.erl: Likewise
* src/mod_privacy.erl: Likewise
* src/mod_register.erl: Likewise
* src/mod_roster.erl: Likewise
* src/mod_vcard.erl: Likewise

* src/jd2ejd.erl: Added emergency catches (thanks to Sergei
Golovan)
* src/mod_last.erl: Likewise

* src/ejabberd_sm.erl: Removed needless call to
mod_disco:unregister_feature (thanks to Sergei Golovan)

* src/ejabberd_local.erl: Better support for mod_disco (thanks to
Sergei Golovan)
* src/mod_disco.erl: Likewise

* src/translate.erl: Suport for "default language" option (thanks
to Sergei Golovan)
* src/ejabberd_config.erl: Likewise
* src/ejabberd_c2s.erl: Likewise
* src/ejabberd.hrl: Added 'MYLANG' macros

* src/ejabberd.cfg.example: Updated (thanks to Sergei Golovan)

* doc/guide.tex: Updated (thanks to Sergei Golovan)

* src/win32/ejabberd.cfg: Updated (thanks to Sergei Golovan)

SVN Revision: 241
2004-07-09 22:34:26 +00:00
Alexey Shchepin
9e3c4edd1d * src/mod_roster.erl: Bugfix
SVN Revision: 219
2004-03-16 21:09:11 +00:00
Alexey Shchepin
273886701b * src/ejabberd_ctl.erl: Added commands for backup processing
* src/ejabberd_c2s.erl: Added processing of xml:lang according to
latest XMPP-IM draft

* src/xml.erl: Added replace_tag_attr/3 function

* src/mod_roster.erl: Added auto-reply on incoming subscription
request according to latest XMPP-IM draft

* src/mod_offline.erl: Added pop_offline_messages/1 function
* src/ejabberd_c2s.erl: Updated sending of offline messages

SVN Revision: 200
2004-01-18 20:42:09 +00:00
Alexey Shchepin
8076bc8999 * src/ejabberd_c2s.erl: Presence probe now sended from full JID
* src/mod_roster.erl: Bugfix

SVN Revision: 189
2003-12-24 21:05:45 +00:00
Alexey Shchepin
6706bdc696 * src/mod_roster.erl: Added workaround for legacy gateways
(passing of "subscribed" presence)

* src/ejabberd_sm.erl: Minor fix in subscription processing

SVN Revision: 187
2003-12-21 18:16:08 +00:00
Alexey Shchepin
b3b09bcfd8 * src/jlib.hrl: Added declaration of "iq" record
* (all): Updated to use "iq" record

SVN Revision: 186
2003-12-17 20:13:21 +00:00
Alexey Shchepin
4413036585 * src/ejabberd_s2s.erl: Partially rewrited
* src/mod_roster.erl: Removed debugging code

SVN Revision: 184
2003-12-13 21:36:53 +00:00
Alexey Shchepin
8b5c042dee * src/mod_roster.erl: Updated subscription handling to latest
XMPP-IM draft

SVN Revision: 182
2003-12-11 20:31:40 +00:00
Alexey Shchepin
23228732ec * src/ejabberd_c2s.erl: More strong check for authentificated JID
* src/mod_roster.erl: Bugfix

SVN Revision: 165
2003-10-30 14:38:38 +00:00
Alexey Shchepin
e5609f565a * src/ejabberd_auth.erl: Minor change in check_password/4
* src/mod_roster.erl: Workaround for PSI bug with roster

SVN Revision: 161
2003-10-27 19:35:03 +00:00
Alexey Shchepin
392d64ee8b * src/configure.ac: Build system now done using autoconf (thanks
to Balabanov Dmitry)
* src/aclocal.m4: Likewise
* src/**/Makefile.in: Likewise

* src/mod_roster.erl (process_item_set_t): Slightly improved
performance

* src/jd2ejd.erl: Added missed closing of XML stream process,
removed timeout value from import_file/1

* src/ejabberd_auth.erl: Added checks for invalid user name

SVN Revision: 152
2003-10-17 19:15:38 +00:00
Alexey Shchepin
4b48617a2d * src/stringprep/stringprep_drv.c: Removed needless iconv.h
include

* src/ejabberd_c2s.erl: Added filtering of presence packets with
privacy rules

* src/mod_roster.erl (get_jid_info): Bugfix

* src/ejabberd_app.erl: Removed periodical dumping of opened ports

SVN Revision: 147
2003-10-10 19:01:11 +00:00
Alexey Shchepin
61875f80b3 * (all): Changed JID storage format, added support for stringprep
* src/stringprep/: Added support for Unicode normalization form KC

* src/stringprep/: Added support for case convertion to multiple
characters

* src/cyrsasl_digest.erl: Temporary removed "auth-int" QOP

SVN Revision: 144
2003-10-07 20:31:44 +00:00
Alexey Shchepin
d0f38de9e1 * src/mod_privacy.erl: Privacy rules support
* src/ejabberd_c2s.erl: Likewise
* src/mod_roster.erl: Likewise

SVN Revision: 128
2003-08-03 19:09:40 +00:00
Alexey Shchepin
28c0fee27b * src/mod_vcard.erl: Bugfix
* src/mod_roster.erl: Bugfix

* src/jlib.hrl: Added iq:privacy namespace

* src/mod_irc/mod_irc_connection.erl: Added support for NOTICE and
CODEPAGE commands, better support for QUIT and PART commands
(thanks to Oleg V. Motienko)

SVN Revision: 126
2003-07-21 20:01:22 +00:00
Alexey Shchepin
ca5d88c368 * (all): Reorganized supervision tree
SVN Revision: 125
2003-07-20 20:35:35 +00:00
Alexey Shchepin
081c698731 * src/jlib.hrl: Error stanzas updated to confirm latest xmpp-core
SVN Revision: 117
2003-06-29 18:03:07 +00:00
Alexey Shchepin
86cd1729cb * src/ejabberd_local.erl: Updated missed errors to new style
* src/mod_register.erl: Likewise
* src/mod_version.erl: Likewise
* src/mod_time.erl: Likewise
* src/mod_stats.erl: Likewise
* src/mod_register.erl: Likewise
* src/mod_private.erl: Likewise
* src/mod_configure.erl: Likewise
* src/ejabberd_sm.erl: Likewise
* src/ejabberd_service.erl: Likewise
* src/ejabberd_c2s.erl: Likewise
* src/ejabberd_s2s_out.erl: Likewise
* src/mod_vcard.erl: Likewise
* src/mod_roster.erl: Likewise

* src/mod_muc/mod_muc.erl: Added vcard to mod_muc module

* src/ejabberd_app.erl: Dump list of opened ports every hour

* src/ejabberd.hrl: Added INFO_MSG macros, ERROR_LOG_PATH renamed
to LOG_PATH

SVN Revision: 106
2003-05-09 19:32:59 +00:00
Alexey Shchepin
f3916bddd2 * src/cyrsasl*.erl: SASL support (currently support only PLAIN
mechanism)
* src/ejabberd_c2s.erl: Likewise

(all): Support for new-style error elements (except old errors
"Not Acceptable", "Not Found", "Invalid Namespace" and "Server
Connect Failed", so ejabberd may work unstable)

SVN Revision: 86
2003-03-09 20:46:47 +00:00
Alexey Shchepin
8664881c8f * src/mod_roster.erl: Fixed bug with handling of roster set
stanzas that contains CDATA

* src/mod_irc/mod_irc_connection.erl (handle_info/3): Fixed
parsing of string that have "\n" line separators (not "\r\n")

SVN Revision: 79
2003-02-20 17:12:03 +00:00
Alexey Shchepin
14f050331a *** empty log message ***
SVN Revision: 56
2003-02-02 19:49:19 +00:00
Alexey Shchepin
aed24c637f *** empty log message ***
SVN Revision: 51
2003-01-26 20:16:53 +00:00
Alexey Shchepin
2aa3c1c720 *** empty log message ***
SVN Revision: 49
2003-01-24 20:18:33 +00:00
Alexey Shchepin
dcfaa68b7d *** empty log message ***
SVN Revision: 47
2003-01-22 20:40:40 +00:00
Alexey Shchepin
c060093e84 *** empty log message ***
SVN Revision: 42
2003-01-17 19:58:42 +00:00
Alexey Shchepin
319c52ad8f *** empty log message ***
SVN Revision: 35
2003-01-10 19:44:35 +00:00
Alexey Shchepin
a99c52880e *** empty log message ***
SVN Revision: 34
2003-01-09 19:59:16 +00:00
Alexey Shchepin
6cf63ab17f *** empty log message ***
SVN Revision: 21
2002-12-22 20:56:29 +00:00
Alexey Shchepin
ae30798efd *** empty log message ***
SVN Revision: 20
2002-12-20 20:42:08 +00:00
Alexey Shchepin
0e363bf8cb *** empty log message ***
SVN Revision: 19
2002-12-18 20:26:08 +00:00
Alexey Shchepin
00a923b14a *** empty log message ***
SVN Revision: 18
2002-12-17 20:49:45 +00:00
Alexey Shchepin
10f47ce78d *** empty log message ***
SVN Revision: 17
2002-12-14 20:07:26 +00:00
Alexey Shchepin
496c041b28 *** empty log message ***
SVN Revision: 16
2002-12-13 20:58:27 +00:00
Alexey Shchepin
727795239a *** empty log message ***
SVN Revision: 15
2002-12-11 20:57:45 +00:00