* src/ejabberd_sm.erl: Partially retract SVN r1976
EJAB-300 (EJAB-890). Check default privacy list when account, not
a specific session, receives a presence subscription
stanza (EJAB-300).
* src/ejabberd_c2s.erl: Likewise
SVN Revision: 1999
?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
* 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
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
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
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
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
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
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
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
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
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
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
remove rosters accidentally (EJAB-549). New functions in
ejabberd_auth to get/check password and know which module accepted
the authentication. New element 'auth_module' in ejabberd_c2s
record 'statedata'. Cyrsasl provides a new property in the
response: {auth_module, AuthModule}.
* src/ejabberd_auth_anonymous.erl: Likewise
* src/ejabberd_c2s.erl: Likewise
* src/cyrsasl_anonymous.erl: Likewise
* src/cyrsasl_digest.erl: Likewise
* src/cyrsasl_plain.erl: Likewise
SVN Revision: 1297
* src/ejabberd_local.erl: Support for IQ responses
* src/jlib.erl: Added iq_query_or_response_info/1 function
* src/jlib.hrl: Added NS_PUBSUB_ERRORS and NS_CAPS
* src/mod_pubsub/Makefile.in: New pubsub+pep implementation
(thanks to Christophe Romain and Magnus Henoch)
* src/ejabberd_sm.erl: Added get_session_pid/3 function
* src/ejabberd_c2s.erl: Added get_subscribed_and_online/1 function
SVN Revision: 1004
a s2s connection to ensure that a muc room always uses the same
connection
Merge branch 'ejabberd_s2s'
Conflicts:
.gitignore
src/configure
src/ejabberd_c2s.erl
src/ejabberd_s2s.erl
SVN Revision: 963
the error code used on unknown namespace.
* src/ejabberd_s2s_out.erl: Improved s2s connection negociation
(dialback namespace usage) when using tls.
* src/ejabberd_sm.erl: Fixed the error code used on unknown
namespace.
* src/mod_register.erl: ejabberd now sends iq result and stream
end on user remove.
SVN Revision: 590
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
* src/ejabberd_c2s.erl: Bugfix (thanks to Sergei Golovan)
* doc/guide.tex: Updated (thanks to Sergei Golovan)
* src/msgs/nl.msg: Updated (thanks to Sander Devrieze)
SVN Revision: 531
print-out (make ejabberd_debug=true).
* src/ejabberd_c2s.erl: Added a new debug printout: We can now
print the XML packets send by the server.
SVN Revision: 524