Commit Graph

2326 Commits

Author SHA1 Message Date
Badlop ff455f1a42 Don't delete the whole table, as other module instances may already have started rooms. 2010-12-30 13:44:53 +01:00
Evgeniy Khramtsov a4728d14d5 Change c2s state before offline messages resending 2010-12-28 21:12:33 +09:00
Christophe Romain f2925d8efc new caps processing and related fixes in ejabberd_c2s.erl and miscellaneous fixes in mod_pubsub.erl (Thanks to Karim Gemayel)(EJAB-620) 2010-12-24 16:21:28 +01:00
Badlop 4b0a7fe307 Only call mod_roster when the user is in a local vhost, fixing EJAB-869 2010-12-23 21:05:21 +01:00
Badlop 980d9c37ea Fix bug introduced with an old commit (EJAB-72) 2010-12-23 19:19:00 +01:00
Alexey Shchepin a40e9c2626 Remove version=1.0 from stream opening when TLS is not available (thanks to Karim Gemayel) 2010-12-23 16:28:35 +02:00
Badlop 897141c9e1 Delete obsolete modules, because now the standard ones use gen_storage 2010-12-23 14:19:59 +01:00
Badlop d20b6dccb3 Remove log line that was intended only for debugging during development 2010-12-23 13:30:41 +01:00
Badlop fe909a45e9 Allow auth modules to provide SASL errors; default is "not-authorized".
See
http://tools.ietf.org/html/draft-saintandre-rfc3920bis-09#section-7.4
2010-12-23 13:27:24 +01:00
Alexey Shchepin bb4a87806f Make jlib:ip_to_list safe to use 2010-12-23 13:17:14 +01:00
Badlop 7ca1c0387c Clean muc_online_room when mod_muc starts (EJAB-1365) 2010-12-23 02:16:00 +01:00
Badlop 8c4e4e5f91 Bugfix in starting persistent rooms when mod_muc odbc (EJAB-1365) 2010-12-23 02:15:58 +01:00
Badlop 93787bee73 Bugfix mod_muc odbc couldn't register nickname (EJAB-1364) 2010-12-23 02:15:56 +01:00
Badlop d3efcf8682 Document the types of some state elements 2010-12-23 02:15:53 +01:00
Badlop 268e80ece7 Document in mod_muc.erl the gen_storage table schema (EJAB-1368) 2010-12-23 02:15:43 +01:00
Badlop a33c389b9b Add support in WebAdmin to register vhosts, and a page to restart or remove it 2010-12-23 02:15:40 +01:00
Badlop 9ce44cd0a7 New ejabberd commands to list, register and remove vhosts 2010-12-23 02:15:38 +01:00
Badlop be8e1bfc35 Fix register of vhost (EJAB-1346) 2010-12-23 02:15:35 +01:00
Badlop 7b2b9412ad Add some variable type hints 2010-12-23 02:15:33 +01:00
Badlop 75f2e775ab Update auth modules to support stopping 2010-12-23 02:15:09 +01:00
Badlop 0859667a8c Fix Type definition 2010-12-21 01:04:52 +01:00
Badlop 563344d219 Remove call to function no longer existent 2010-12-21 01:03:00 +01:00
Evgeniy Khramtsov a13c9185f7 Make sure 'closed' event is correctly processed on every state 2010-12-17 17:27:52 +09:00
W. Andrew Loe III 1eeff9b0df Export make_sid so we can use it in pre-binding. 2010-12-15 16:58:09 +01:00
Badlop a47caa8c54 Fix warning about unused variables 2010-12-13 20:59:36 +01:00
Badlop aee3e30232 Fix some exmpp attribute type 2010-12-11 23:16:17 +01:00
Badlop d448b6c955 Fix some errors when porting from mod_pubsub.erl (thanks to Karim Gemayel) 2010-12-07 19:36:34 +01:00
Badlop 74f86bef6a Support for X-Forwarded-For HTTP header (EJAB-1356) 2010-12-07 16:51:20 +01:00
Christophe Romain ce0219c569 update pubsub_odbc patch 2010-12-07 15:22:54 +01:00
Christophe Romain 53cc032251 add node attribute to pubsub subscribe event (EJAB-1361) 2010-12-07 13:53:58 +01:00
Badlop a8bf889e79 Fix detection of mod_last at server start (EJAB-641) 2010-12-03 17:25:10 +01:00
Badlop 27872c6022 Support PostgreSQL 9.0 (EJAB-1359)(thanks to Stephen Gibberd and Konstantin Nikiforov) 2010-12-03 12:43:27 +01:00
Badlop c6e0cff144 Fix use of exmpp 2010-12-02 20:14:54 +01:00
Pablo Polvorin a8ef64ab45 Fix cyrsasl_digest RFC-2831 2.1.2.1 (EJAB-476)
Fix sasl digest bug when username|password|resource strings had
all characters <= U+00FF and at least one character >= U+0080.

Warnning:
Note that by fixing the bug, we may be broking compatibility with clients
that "implements" it.
See comments on https://support.process-one.net/browse/EJAB-476
2010-12-02 12:56:21 -03:00
Christophe Romain 9afaec40f5 fix pubsub cross domain eventing (EJAB-1340) 2010-12-02 14:05:19 +01:00
Evgeniy Khramtsov 8520b76483 Increase maximum restart strategy of the ODBC supervisor. Do not brutally kill ODBC processes on supervisor shutdown to avoid polution of the mnesia table 2010-12-01 14:25:58 +09:00
Badlop b8f04aae6f When the Password attribute is missing in PIEFXIS file, don't check account auth. 2010-12-01 00:55:29 +01:00
Pablo Polvorin c9db1f691c Merge branch 'master' of git+ssh://git@gitorious.process-one.net/ejabberd/mainline 2010-11-29 16:56:32 -03:00
Pablo Polvorin ef572c815f Port to latest exmpp changes (attribute names as binary()).
All atributes are now binary() instead of atoms.
2010-11-29 16:44:31 -03:00
Christopher tofu Zorn dad3297c9c expose find_connection for routing in other modules (if needed) 2010-11-29 20:06:02 +01:00
Christopher tofu Zorn 312574cbc5 add the ability to send raw xml packets over http bind 2010-11-29 20:06:00 +01:00
Badlop 008a0a29cd Fix characters not allowed in username. Don't include that in translatable string.
List mentioned in:
http://xmpp.org/rfcs/rfc3920.html#nodeprep-prohibited
2010-11-29 19:39:01 +01:00
Badlop f9e2466867 Support negative part-hour TZ values (thanks to Alexander Zhukov)(EJAB-1301) 2010-11-29 14:35:57 +01:00
Alexey Shchepin 26550efd91 Don't loop when there is nothing after a stream start 2010-11-26 17:11:56 +01:00
Andreas Köhler 7be6e33ea4 Correct domain_certfile tlsopts modifications for s2s connections (EJAB-1086)
* In ejabberd_s2s_out:wait_for_feature_request/2, the domain to use for
  looking up domain_certfile options is #state.myname and not
  #state.server

* If s2s_certfile is not specified, connect should still be part of the
  tls options used by ejabberd_s2s_out

* Add #state.server to ejabberd_s2s_in processes and store the to
  attribute in :wait_for_stream/2. Then use that server in
  :wait_for_feature_request/2 to change the tls options like in
  ejabberd_s2s_out.

Fixes EJAB-1086.
2010-11-26 00:13:36 +01:00
Badlop 7aa48e265a Send Unavailable Presence stanza when an occupant is kicked or banned (EJAB-1350) 2010-11-22 21:16:34 +01:00
Badlop 2ef06678c0 Port SSLVER detection from 2.1.x, needed for ?PG2 (EJAB-1349) 2010-11-22 16:20:40 +01:00
Badlop 2aa56cd86e Use pg2 from R14B in systems with older versions (EJAB-1349)
pg2_backport.erl is a copy of pg2.erl from Erlang/OTP R14B.
That module is used in ejabberd installations where an OTP
previous to R14 is installed.
2010-11-22 16:02:36 +01:00
Badlop c2dface515 Fix http-bind supervisor to support multiple vhosts (EJAB-1321) 2010-11-17 20:30:37 +01:00
Andreas Köhler 690c56ca6d Fix R12B5 compatibility in ejabberd_http_bind.erl (EJAB-1343)
erlang:max/2 and :min/2 are new functions
2010-11-17 13:03:59 +01:00
Andreas Köhler aaa69a8c36 Use LFrom and LTo consistently in ejabberd_s2s_in:stream_established/2 (EJAB-1342) 2010-11-17 12:56:18 +01:00
Evgeniy Khramtsov ec0e0ef8a6 Do not start mod_proxy65 if it is unable to bind an address (EJAB-1336) 2010-11-17 18:13:55 +09:00
Evgeniy Khramtsov 0b8a761a61 Use MEDIUMTEXT type for vcard avatars in MySQL schema (EJAB-1252) 2010-11-17 17:42:04 +09:00
Evgeniy Khramtsov 0ccbd7e3f2 Do not print full error message when LDAP timeout occurs (EJAB-1324) 2010-11-17 17:15:28 +09:00
Evgeniy Khramtsov 549f1029a6 Set SSL_MODE_RELEASE_BUFFERS mode when available (EJAB-1351) 2010-11-17 13:55:35 +09:00
Badlop da7e53fe3c Temporary workaround for starting stored rooms 2010-11-16 02:13:58 +01:00
Badlop 3e9de2ec79 Provide new, not old, affiliation in kick/ban presence with codes 321 and 301 2010-11-16 01:19:34 +01:00
Badlop d146ef873d Fix typos in the example configuration file 2010-11-12 22:01:09 +01:00
Andreas Köhler d8d20d5b88 Before binding tcp ports, checks the socket type and listener options
(EJAB-1334)

If the callback module has a socket type of independent and needs to
create the listener itself, do not pre-bind the port. The same holds if
there are errors in the listener configuration.
2010-11-10 23:45:27 +01:00
Andreas Köhler 1ab92d1159 Bind listener ports early and start accepting connections later
(EJAB-1334)

It may happen that auth or rdbms client tcp connections bind a local
socket to a port number required by a configered listener. The ejabberd
applications fails to start up and needs to be restarted.

In plain C you would bind(2) the listener port and listen(2) later on.
gen_tcp:listen/2 does not allow to separate these two steps though, so
another way is not to accept connections while start up. OTOH, the
kernel will syn/ack incoming connections and receive data, leaving them
in a buffer for the ejabberd to read from. If this is unwanted, a load
balancer would need to receive data from the ejabberd server before
adding the node to its pool.

This patch binds tcp ports while initializing the ejabberd_listener
process, storing ListenSockets in an ets table. start_listeners/0 will
reuse these ports later on.
2010-11-10 23:45:24 +01:00
Badlop abf069da9e Rollback some Specs that break Dialyzer (thanks to Karim Gemayel)(EJAB-1345) 2010-11-10 21:27:53 +01:00
ppolvorin f4f949bd72 Fix anonymous user cleanup (EJAB-883)
anonymous users table and vcards were not correctly cleaned up
after the user disconnect.
2010-11-10 13:27:47 -03:00
Andreas Köhler f4507a088a In mod_last*:get_last_iq/4, check for user resources first to return 0 seconds if there is one
Fixes problem 2 of EJAB-1158.
2010-11-10 15:41:10 +01:00
Andreas Köhler 6b46b8f794 Refactor mod_last to use the same core get_last/2 functionality, but keep api stable
The local function get_last/4 has been renamed to get_last_iq/4, since
it converts the result of get_last/2 (typically {ok, TimeStamp, Status})
to an iq packet.
2010-11-10 15:41:09 +01:00
Andreas Köhler 7d93cad452 Before forwarding last activity requests to a user, check that the user's presence is visible for From
According to XEP-0012, 4. Online User Query, "if the requesting entity
is not authorized to view the user's presence information (normally via
a presence subscription as defined in XMPP IM), the user's server MUST
NOT deliver the IQ-get to an available resource but instead MUST return
a <forbidden/> error in response to the last activity request."

So check for a subscription of from of the jid and bare jid and whether
outgoing presences to From are allowed.

Fixes problem 3 of EJAB-1158.
2010-11-10 15:41:08 +01:00
Andreas Köhler 860d8525ee Remove dead code for NS_VCARD iq packets from ejabberd_c2s
For EJAB-1045, the special NS_VCARD block for handling incoming vcard
iqs on behalf of clients has already been restricted to cases where the
user or resource part of the recipient is empty. But then the packets
should not have been routed to the c2s process anyway. This patch
completely removes it.
2010-11-10 15:41:07 +01:00
Andreas Köhler 351635d0aa Use ejabberd_c2s:privacy_check_packet/5 for all those hook folded runs in the c2s module 2010-11-10 15:41:06 +01:00
Andreas Köhler 614f13714c Use c2s state data as user and server in ejabberd_c2s:is_privacy_allow
is_privacy_allow is only used in ejabberd_c2s:handle_info/3 to determine
for a few presence types whether the packet is allowed to be forwarded
to the user's client. This only makes sense if To#jid.user and
To#jid.server match StateData#state.user and StateData#state.server.

Also, add the atom in as parameter to a new argument Dir of
is_privacy_allow and extract from that function
privacy_check_packet(StateData, From, To, Packet, Dir) which runs the
privavcy check without converting allow/deny to true/false.
2010-11-10 15:41:05 +01:00
Andreas Köhler 642b18edcb Correct error responses of forbidden offline last activity queries
According to XEP-0012 Last Activity, the server must return iq errors
with forbidden instead of not-allowed.

Fixes problem 1 of EJAB-1158.
2010-11-10 15:41:03 +01:00
Christophe Romain 03239c662e populate pubsub#roster_groups_allowed in node configuration options (thanks to Karim Gemayel)(EJAB-1344) 2010-11-10 15:14:16 +01:00
Christophe Romain fbb84c8256 fix bad plugin order issue injected in previous patch (EJAB-1286) 2010-11-09 14:36:04 +01:00
Andreas Köhler e710ac51eb Correct privacy check direction in mod_last (EJAB-1339)
The change for EJAB-1271 to change the direction of the privacy check
from out to in violates the idea that the check should imitate a
subscription state check of from. Rather correct the order of the From
and To parameters.
2010-11-09 13:57:01 +01:00
Andreas Köhler 6ce29e7ecb Change max restart strategy of ejabberd_odbc_sup to handle some SQL timeouts. 2010-11-08 18:42:37 +01:00
Badlop e84d853bc3 Improve the IQ error stanzas to provide an explanation (EJAB-1262) 2010-11-08 12:01:14 +01:00
Christophe Romain 5e0f2b8560 avoid node_call to break transaction (thanks to Karim Gemayel)(EJAB-1286) 2010-11-08 11:18:33 +01:00
Andreas Köhler 01b6cd3aba Re-raise exceptions caught in gen_mod:start_module/3 (EJAB-1335)
Modules configured by the administrator normally should not be treated
as optional, so a exception (error, exit, throw) to start them should not
be caught and logged only.

This patch re-raises a caught exception instead of ignoring the
exception and inserting the module's opts on success. That way
gen_mod:get_module_opt/4 should work while calling Module:start/2.
2010-11-07 00:47:53 +01:00
Badlop 2ebfd4090a Fix register 2010-11-06 21:53:18 +01:00
Evgeniy Khramtsov e4a1eb4370 Take care of xml:lang attribute in unauthenticated stanzas as well 2010-11-06 21:53:16 +01:00
Evgeniy Khramtsov e3afec9465 Disable LRU caching algorithm for LDAP shared rosters 2010-11-06 21:53:14 +01:00
Evgeniy Khramtsov 29fbe6d8e1 Do not store long language tag to avoid possible DoS/flood attacks 2010-11-06 21:53:13 +01:00
Evgeniy Khramtsov 5c3611fe32 LDAP shared roster support (thanks to Realloc and Marcin Owsiany) 2010-11-06 21:53:11 +01:00
Badlop 4a1d8c2cd2 New ip_access option restricts which IPs can register (thanks to Alexey Shchepin)(EJAB-915) 2010-11-05 19:33:20 +01:00
Badlop b9c6f6e627 Disable mod_register_web in default config because by default captcha is disabled 2010-11-05 19:33:10 +01:00
Badlop d456578b3c Added mod_register_web: web page for account registration (EJAB-471) 2010-11-05 18:21:59 +01:00
Badlop 659d546897 Fix warnings detected by Dialyzer 2010-11-04 01:00:18 +01:00
Jonas Ådahl bacecae3dd Fixes a leak of ejabberd_receiver processes.
When a (non-frontend) socket module without any custom receiver fails to
start, the newly created ejabberd_receiver process needs to be properly
closed.
2010-11-03 17:10:46 +01:00
Badlop 5168f68946 Don't add Pid to Captcha record when it's requested by c2s instead of muc 2010-11-03 14:05:27 +01:00
Badlop 9a32615122 Handle incoherence of argument type in calls to remove_user 2010-11-03 13:24:40 +01:00
Badlop 48dcc5180a Additional fixes for previous captcha commits related to exmpp 2010-11-03 12:44:11 +01:00
Badlop 32868e534e Include a Required xml element in the captcha field 2010-11-03 12:44:04 +01:00
Evgeniy Khramtsov 773c54f912 Add top-level instructions for x:data incompatible clients 2010-11-03 12:44:03 +01:00
Badlop 82e8048a8a Changes in registration form to workaround client problems (EJAB-1262)
Changes included:
* Remove var in fixed field because Gajim and Tkabber display it to user
* Add workaround for Psi's overlap fields
* Add var=url attribute, required by Psi to display the field
* Provide the image URL as a copy-able form field
2010-11-03 12:44:02 +01:00
Badlop 633b467a22 Workaround for Psi's wrong Type in form submission 2010-11-03 12:44:01 +01:00
Badlop b0ae3d14aa Add CAPTCHA example configurations to cfg (EJAB-1262)(EJAB-1326) 2010-11-03 12:44:00 +01:00
Evgeniy Khramtsov 2d8bfb1a15 Provide image url in registration form when captcha is enabled 2010-11-03 12:43:59 +01:00
Evgeniy Khramtsov 30366dbe98 Add password entropy check (EJAB-1326) 2010-11-03 12:43:58 +01:00
Evgeniy Khramtsov 55bd17d6f5 Rename option captcha to captcha_protected for consistency 2010-11-03 12:43:57 +01:00
Badlop f310292da4 CAPTCHA IBR support (EJAB-1262)(thanks to Evgeniy Khramtsov) 2010-11-03 12:43:55 +01:00
Badlop 81546f3270 Fix crash in ejabberd_c2s when blacklist hook returned true (thanks to Jonas Ådahl)
Cause of the crash jlib:ip_to_list/1 only supports IP tuples using the
form {N1,N2,N3,N4} which is not the case when IPv6 is enabled.
2010-11-02 14:04:10 +01:00
Badlop 91dee14ad6 Fix errors in EDoc comments 2010-10-28 18:23:02 +02:00
Badlop 231d44ffa3 Handle binary data from SockMod:recv in ejabberd_http:recv_data/3 (thanks to Andreas Köhler)(EJAB-1331) 2010-10-27 21:21:15 +02:00
Andreas Köhler 70c247d357 Ignore Length argument to tls:recv/[23] (EJAB-1327)
The Length argument cannot be used for gen_tcp:recv/3, because the
compressed size does not equal the desired uncompressed one.
2010-10-26 19:33:56 +02:00
Andreas Köhler 1579bf2d18 Re-use the TLSSock argument in tls:send/2 (EJAB-1327) 2010-10-26 19:33:53 +02:00
Christophe Romain 378b8a60c6 add function specification, convert string() to binary(), fix pubsub.hrl (thanks to Karim Gemayel) 2010-10-19 17:08:59 +02:00
Peter Lemenkov 70cdcfcae1 Change directory before any operation to one readable by INSTALLUSER (EJAB-1322)
This is required in order to suppress error messages like
"File operation error: eacces" when ejabberd was started from directory,
which is not readable by INSTALLUSER (/root, for example). See rhbz #564686:

https://bugzilla.redhat.com/564686

Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
2010-10-19 01:16:15 +02:00
Badlop a473935782 Fix bug in mod_pubsub in_subscription return value 2010-10-19 00:28:24 +02:00
Badlop 16f0873488 Fix bug when routing error stanza 2010-10-16 22:51:51 +02:00
Badlop 17b4aaa1f7 When privacy list denies local user's outgoing stanza, try to return error (EJAB-1320)
See:
http://xmpp.org/extensions/xep-0016.html#example-51
Example 51. Error: contact is blocked
2010-10-16 22:51:50 +02:00
Badlop eddbad2c76 Check privacy of outgoing Message stanzas (EJAB-1320) 2010-10-16 22:51:48 +02:00
Badlop 2e932dd85c Add support to ejabberd_ctl to handle anonymous command arguments 2010-10-16 00:48:03 +02:00
Badlop 3bc7127743 Rename aclocal.m4 to acinclude.m4 (thanks to Andreas Köhler)
Also fixed minor typos, added the compiled aclocal.m4 to gitignore,
and documented how to build the script 'configure'.

Related documentation:
http://www.gnu.org/software/hello/manual/automake/Local-Macros.html#Local-Macros
http://www.gnu.org/software/hello/manual/automake/Invoking-aclocal.html#Invoking-aclocal
2010-10-15 16:24:17 +02:00
Badlop d6a69dbca5 Fix errors detected by Dialyzer 2010-10-15 13:11:14 +02:00
Badlop 864b0ec149 Document ejabberd_loglevel using EDoc (EJAB-225) 2010-10-15 13:10:56 +02:00
Badlop abdbb347eb Rename ejabberd_loglevel:get/0 to get_default, and add a more general get (EJAB-225)
API change: ejabberd_loglevel:get/0 renamed to ejabberd_loglevel:get_default/0
2010-10-15 13:10:53 +02:00
Andreas Köhler 651ee5eb19 Fix unused variable warning in ejabberd_loglevel 2010-10-15 13:10:43 +02:00
Andreas Köhler e1f5fb798c Add set_custom/2, clear_custom/0 and clear_custom/1 to ejabberd_loglevel 2010-10-15 13:10:42 +02:00
Andreas Köhler 81555d8def Add support for changing the loglevels for given modules (EJAB-225)
ejabberd_loglevel:set/1 now understands more input formats:

set(Param) -> {module, ejabberd_logger}
    Param = Level | {Level, CustomLevels}
    CustomLevels = [CustomLevel]
    CustomLevel = {Module, Level}
    Module = atom()
    Level = integer() | atom()

set(Level) is equivalent to set({Level, []}), so it clears all module
level customizations. log_src/2 adds additional function heads for those
_msg function and module combinations that need non-default behavior,
i.e. add or filter logging.

ejabberd_loglevel:get/0 only returns the default log level. To retrieve
the complete setting use ejabberd_logger:get/0 instead.
2010-10-15 13:10:40 +02:00
Andreas Köhler cc76869da5 Use warning_msg event type for warning log level. 2010-10-15 13:10:39 +02:00
Andreas Köhler 6523258b53 Add warning message and report handlers to ejabberd_logger_h.erl. 2010-10-15 13:10:38 +02:00
Andreas Köhler 1cbe821145 Improve ejabberd_logger code generation
Split the monolithic function ejabberd_loglevel:ejabberd_logger_src/1
into separate functions returning deep lists.

log_src/2 now returns the code for any of *_msg/4. Its parameters are
the current loglevel (integer()) and a loglevel specification
(#loglevel{}), with added information in #loglevel:

- function: The api function enabled by this level, may be no_log
- event_type: The type of the event sent to the error_logger
- msg_prefix: One character used in the message (one of "DIWEC")

If the current loglevel is too low for logging, the api function is
optimized at compile time.
2010-10-15 13:10:36 +02:00
Andreas Köhler 61d8bf9440 Use records for encoding static loglevel information. 2010-10-15 13:10:34 +02:00
Badlop d1f5fb4aa9 Speed up ejabberd_s2s:is_service/2, allow_host/2 (thanks to Andreas Köhler)(EJAB-1319)
Iterating through the list of possible parent domains of a given domain
and comparing with the list of hosts or routes is almost always faster
than doing it the other way around. It naturally returns the shortest or
longest parent domain satisfying a predicate, whereas the possibly long
list compared with would need to be sorted by length first.
2010-10-14 21:14:46 +02:00
Christophe Romain a73d451576 make http-bind restartable (thanks to Andreas Köhler)(EJAB-1318) 2010-10-13 10:55:35 +02:00
Pablo Polvorin ce9ce8293b Merge branch 'master' of git+ssh://git@gitorious.process-one.net/ejabberd/mainline 2010-10-12 10:57:07 -03:00
Badlop 82a8dc7b3a Cosmetic code changes to support emacs indentation 2010-10-07 17:38:18 +02:00
Badlop 404b9a4a11 Minor fix in http_bind detected by Dialyzer 2010-10-07 00:16:24 +02:00
Badlop f4f2f46f50 Dirty fixes for Dialyzer warnings in mod_privacy 2010-10-07 00:14:28 +02:00
Badlop 6c74c67069 Fix Captcha library and MUC use for exmpp 2010-10-06 13:05:21 +02:00
Badlop 645ddcb749 Fix unused variables 2010-10-05 15:48:11 +02:00
Evgeniy Khramtsov 8647ca5f0b use one_queue IQ discipline by default 2010-10-05 21:32:47 +10:00
Christophe Romain ee861e650d fix dializer warnings (thanks to Karim Gemayel) 2010-10-04 17:41:59 +02:00
Badlop 349c44fcc0 Fix Edoc errors (thanks to Karim Gemayel) 2010-09-30 13:44:16 +02:00
Christophe Romain 78b8307a1f fix dializer warnings (thanks to Karim Gemayel) 2010-09-30 12:06:40 +02:00
Christophe Romain 7c580bbeed Merge branch 'master' of git+ssh://gitorious.process-one.net/ejabberd/mainline 2010-09-29 11:48:40 +02:00
Christophe Romain 6b7d73dcd5 fix dializer errors, improve documentation (thanks to Karim Gemayel)(EJAB-1260) 2010-09-29 11:48:19 +02:00
Badlop c57f726ecb Fix some Dialyzer warnings 2010-09-28 16:06:37 +02:00
Badlop 56b66ab64f Dialyzer fixes. Ensure all_table_hosts/1 returns only a list of binaries 2010-09-28 16:06:35 +02:00
Badlop 403690a498 Only install the guide.html files when it was compiled (EJAB-1311) 2010-09-28 16:06:32 +02:00
Christophe Romain f7dc4df784 Allow use with binary() Host from exmpp (thanks to Karim Gemayel) 2010-09-28 10:06:16 +02:00
Badlop 819dbdbf59 Move the extract_translations code to the tools dir (EJAB-1311) 2010-09-27 13:39:15 +02:00
Badlop 73c992c5af Delete compiled files from git; they are included in source package (EJAB-1311) 2010-09-27 13:31:50 +02:00
Badlop a46f02a136 Fix typo in type 2010-09-22 00:14:47 +02:00
Badlop 62b3b31b8d Allow webadmins to change roster of user (EJAB-72) 2010-09-21 17:05:50 +02:00
Evgeniy Khramtsov d4480c1361 fixes default value for cache_life_time 2010-09-21 04:32:42 +10:00
Christophe Romain 2e75faefae improve type specification 2010-09-20 16:54:37 +02:00
Badlop 9bde1dc9af Add missing needdb, use bare jid to get roster; now group and subs blocking works again (thanks to Andreas Köhler) 2010-09-17 21:06:30 +02:00
Andreas Köhler afac34de88 Discard unmatched INFO messages in ejabberd services.
This patch will stop services terminating with function clause messages,
but doesn't affect the message queue at all.
2010-09-17 19:28:35 +02:00
Christophe Romain 1cbfdce457 remove garbage configuration 2010-09-16 14:52:30 +02:00
Badlop cb953f949f Fix problems reported by Dialyzer 2010-09-15 20:04:35 +02:00
Christophe Romain 52deb16676 apply modification for the exmpp #jid{} record update 2010-09-15 12:16:03 +02:00
Badlop 89a98be605 Display priority, login time, pid and pid info in webadmin (EJAB-1300) 2010-09-13 17:49:55 +02:00
Badlop 813022aec1 Support timezone West of UTC (thanks to Edwin Fine)(EJAB-1301) 2010-09-13 12:07:35 +02:00
Pablo Polvorin 0d5f20cae1 Include roster pack patch from Geoff
Patch was already applied to 2.x branch, but not yet ported to master.
2010-09-10 15:32:19 -03:00
Christophe Romain 4b5b98b465 clean nodeid/nidx variables names (thanks to Karim)(EJAB-1000) 2010-09-10 19:45:28 +02:00
Evgeniy Khramtsov 556892aebf cache lifetime should be converted in microseconds 2010-09-08 02:37:01 +10:00
Evgeniy Khramtsov 7a3aa8f97d Implemented dirty (non-atomic) functions; added copyright notice 2010-08-31 18:07:24 +10:00
Evgeniy Khramtsov 1bd43bbd2d implemented backend-independed key-value cacheing table; applied to mod_caps.erl first 2010-08-30 14:32:48 +10:00
Pablo Polvorin 77d5eabd00 Update rosteritem table definition for mysql (gen_storage)
Previous definition do not work with gen_storage.
gen_storage creates the table when they don't exists, but if
they exists it simple uses that definition.

Note that the column values also had changed in gen_storage,
so instead of "B" for a bidirectional subscription, it must be
"both".  Keep this in mind when loading data into the DB
2010-08-27 14:17:04 -03:00
Badlop 9050aa1de0 Support exmpp's jid record, and require next exmpp release (EXMPP-41) 2010-08-27 15:36:29 +02:00
Evgeniy Khramtsov 445691bab1 fixes ampersand escaping (EJAB-1258) 2010-08-19 20:37:28 +10:00
Andreas Köhler d6722e353f Fix mod_offline:remove_old_messages/1. 2010-08-18 13:22:38 +02:00
Andreas Köhler b2d96d0753 Fix gen_storage:matchrules_transform_conditions/2 for =/=, and, andalso, or and orelse. 2010-08-18 13:22:37 +02:00
Andreas Köhler 7f1759ab0a Fix a ?DEBUG call in ejabberd_auth. 2010-08-18 13:22:34 +02:00
Badlop 3cb128963c Fix ejabberd_auth:get_vh_registered_users/2 (thanks to Andreas Köhler) 2010-08-18 13:22:30 +02:00
Badlop 555a3113a1 Fix EDoc error 2010-08-16 12:02:45 +02:00
Badlop dffb9cdaf9 Fix Dialyzer reports 2010-08-13 17:41:05 +02:00
Badlop 6e65f0694e New API to update host config on the fly (thanks to Juan Pablo Carlino)
Adds ejabberd_hosts:update_host_conf/2 to update a host with a new
configuration on the fly. Typically this is useful to enable / disable
specific modules for a given host without restarting the whole app.
Also fixes a problem with mod_disco, after config refreshing to include
global services if there are not locally available.
2010-08-11 23:31:30 +02:00
Evgeniy Khramtsov bee01cfd1e fixes typo for table copy 2010-08-10 19:44:45 +10:00
Badlop da866ed326 When user joins non-anonymous room, warn also in presence stanza (EJAB-310) 2010-08-07 21:26:22 +02:00
Badlop b0b98e8c63 Update the 'configure' script 2010-08-07 19:54:04 +02:00
Evgeniy Khramtsov 83e17a7c65 Make MD2 autodetected (EJAB-1285) 2010-08-07 22:28:48 +10:00
Badlop 75d8d8a43e Fix minor typo in log message 2010-08-06 11:08:19 +02:00
Badlop fa9b8d63f9 Ensure the default virtual host "localhost" is defined and is the first 2010-08-05 22:19:41 +02:00
Badlop d4316558de When an obsolete ODBC module is starting, switch to the normal one 2010-08-05 00:49:58 +02:00
Christophe Romain 690857e0d4 enforce disco features results (thanks to Karim)(EJAB-1033, EJAB-1228, EJAB-1238) 2010-08-04 18:30:22 +02:00
Badlop 73705a3b2e Explain better what's the problem with the option clusterid 2010-08-04 14:03:33 +02:00
Evgeniy Khramtsov 7510a54f81 Loading ASN.1 driver explicitly to avoid races in LDAP (EJAB-1284) 2010-08-04 19:25:18 +10:00
Badlop 8235c9eea1 Change record() to tuple() so Dialyzer can run 2010-08-02 23:47:11 +02:00
Badlop 8cd32f9706 Change syntax of type declarations so Dialyzer accepts them 2010-08-02 23:45:51 +02:00
Badlop 72b9d8b250 Remove unused and useless SVN keywords 2010-08-02 16:03:05 +02:00
Badlop 6abfea6d8d Minor cosmetic change in clusterid description 2010-08-02 15:48:35 +02:00
Badlop 02f19c0c1d Only start GSSAPI support when configured, and when esasl is found 2010-07-31 01:08:11 +02:00
Badlop 3181685158 Support parallel extauth script (thanks to Jesse Thompson)(EJAB-1280) 2010-07-30 20:34:01 +02:00
Badlop f93c6c2b35 Copy translations from 2.1.x branch, and update 2010-07-30 16:50:03 +02:00
Badlop a134626849 Fix some English strings 2010-07-30 16:49:31 +02:00
Badlop 92dc45ad76 Don't call modules that were obsoleted by GS 2010-07-30 13:22:03 +02:00
Badlop 8a5b08e3f0 New access option in mod_roster to disable changes (EJAB-72) 2010-07-30 13:21:58 +02:00
Badlop 1a368436b4 Use the term 'room' instead of 'chatroom' and 'conference' 2010-07-30 00:06:19 +02:00
Badlop 59a19ca87a Don't offer SASL auth before doing TLS if TLS is required (thanks to Etan Reisner)
Originally reported in
http://yo.jabber.ru/bugzilla/show_bug.cgi?id=251

Implements:
http://tools.ietf.org/html/rfc3920#section-6.2
If Use of TLS (Section 5) needs to be
established before a particular authentication mechanism may be used, the
receiving entity MUST NOT provide that mechanism in the list of available SASL
authentication mechanisms prior to TLS negotiation.
2010-07-29 23:14:03 +02:00
Badlop e653598cd0 Allow mod_caps and shared_roster to start, they don't really need to use GS 2010-07-29 20:35:30 +02:00
Badlop 891c9610e9 Remove support to migrate mod_muc from ejabberd 0.7.5 or older 2010-07-29 20:24:46 +02:00
Badlop 9265c23e1a Don't say v1.2, because that number is never increased and is confusing 2010-07-28 20:00:47 +02:00
Badlop 11130806f9 Return Registered element when account exists (thanks to PioneerMike) 2010-07-28 19:48:06 +02:00
Badlop 0d065dd021 Fix Edoc comments 2010-07-23 13:36:35 +02:00
Badlop 07e459d577 Various fixes (EJAB-831) 2010-07-23 01:23:37 +02:00
Badlop aa791ad0c4 Support SASL GSSAPI authentication (thanks to Mikael Magnusson)(EJAB-831) 2010-07-23 01:23:35 +02:00
Badlop 17fc992ba9 Recompile the guide and configure 2010-07-23 00:30:52 +02:00
Badlop 115392ff2d Add MH and GS specific options to ejabberd.cfg.example 2010-07-23 00:30:45 +02:00
Badlop 9e2d614b41 Update ejabberd version from 3.0.0-prealpha to 3.0.0-alpha-x 2010-07-23 00:30:41 +02:00
Badlop 917c5edfe5 Mark as obsolete the modules that use odbc instead of GS 2010-07-23 00:30:37 +02:00
Badlop 1285bd52c9 Fix ejabberd_odbc code 2010-07-23 00:30:33 +02:00
Badlop 597c1c87d4 Fix ejabberd modules 2010-07-23 00:30:32 +02:00
Badlop 58bed2cbff Fix core files 2010-07-23 00:30:31 +02:00
Badlop 13fad04d14 Fix GS 2010-07-23 00:30:29 +02:00
Badlop eb2ad7e699 Patch modules for GS (thanks to Stephan Maka) 2010-07-23 00:29:40 +02:00
Badlop 511f73812d Patch core for GS (thanks to Stephan Maka) 2010-07-23 00:29:36 +02:00
Badlop a7d9fa7301 New files for GS (thanks to Stephan Maka) 2010-07-23 00:29:34 +02:00
Badlop bb77c39553 Patch ODBC modules for MH (thanks to Alexey Shchepin and Geoff Cant) 2010-07-23 00:29:32 +02:00
Badlop a1a6bd79ac Patch mnesia modules for MH (thanks to Alexey Shchepin and Geoff Cant) 2010-07-23 00:29:30 +02:00
Badlop cdb379a22c Patch core for MH (thanks to Alexey Shchepin and Geoff Cant) 2010-07-23 00:29:28 +02:00
Badlop 9336356efd New files for MH (thanks to Alexey Shchepin and Geoff Cant)
Thanks to:
Alexey Shchepin for planning and developing MH in late 2007
Geoff Cant for improving during 2008 and 2009
Christophe Romain and Badlop for merging into master in 2010
2010-07-23 00:29:26 +02:00
Badlop 8e9888c411 When logging s2s out connection attempt or success, log if TLS is used 2010-07-23 00:27:26 +02:00
Badlop 027418aba5 The command Update now returns meaningful message and exit-status (EJAB-1237) 2010-07-22 16:38:04 +02:00
Christophe Romain f36da63a3a Allow roster change from external component (TECH-1001) 2010-07-22 11:06:51 +02:00
Christophe Romain 5bc9860f5d add ejabberdctl ability to check epmd names (TECH-1121) 2010-07-20 14:05:18 +02:00
Badlop 0dcbe10a22 Only compile etop_tr.erl when running: make debugtools=true 2010-07-19 12:12:30 +02:00
Badlop 581f011b28 Fix warning about unused variable 2010-07-19 12:11:10 +02:00
Christophe Romain fb2c74c4aa add missing hrl 2010-07-16 18:55:58 +02:00
Christophe Romain 8dbd6007ed Add etop command to ejabberdctl 2010-07-16 16:24:55 +02:00
Evgeniy Khramtsov c9faa5bde7 correct handling of SQL boolean types (EJAB-1275) 2010-07-14 21:57:32 +10:00
Christophe Romain de6675a433 Added catches to reset_stream calls to avoid errors during a race condition (thanks to Aleksey Shchepin) 2010-07-13 22:13:38 +02:00
Christophe Romain 81d364a97a Make chat room destroy and create being sync_dirty to limit mnesia overload. (thanks to Mickael Remond) 2010-07-13 22:09:48 +02:00
Christophe Romain 02b7ba50fe Try forcing usage of cache for all MySQL sessions, and add correct timeout on odbc driver query. (thanks to Mickael Remond) 2010-07-13 22:08:16 +02:00
Christophe Romain e64d69350f Add rate limit command to ejabberd_listener. You can now limit the max number of TCP connects per second on a given port. (thanks to Mickael Remond) 2010-07-13 22:07:43 +02:00
Badlop 2b48732de4 Fix my flock change from last friday 2010-07-12 18:53:28 +02:00
Badlop 29e626bf80 Remove ejabberd_debug because p1_prof provides similar and better features 2010-07-12 16:03:47 +02:00
Badlop 2e13a56ca9 Only compile and install p1_prof when: make debugtools=true 2010-07-12 16:03:44 +02:00
Badlop f8412d7c5d When using OTP R14, use public_key library instead of old ssl (EJAB-953) 2010-07-12 13:58:10 +02:00
Badlop fe70217703 Some systems delete the lock dir; in such case don't use flock at all 2010-07-09 22:40:32 +02:00
Evgeniy Khramtsov 20f6e4714e Added functions to collect statistics about queues, memory, reductions etc. Several cleanups 2010-07-10 01:37:28 +10:00
Evgeniy Khramtsov b76eba62ea New ejabberd profiler 2010-07-05 13:46:49 +10:00
Badlop 5b6351577a Fix print of command result that contains ~ (thanks to Tsukasa Hamano) 2010-07-03 00:45:46 +02:00
Badlop 894f0abdfa Prevent Dialyzer warnings about case inside macro 2010-07-02 23:40:51 +02:00
Badlop c89944fe12 Don't handle useless case of Affiliation none 2010-07-02 23:40:51 +02:00
Badlop fe1a4908b5 Move deeply nested cases to functions, and fix affiliation changes. 2010-07-02 23:40:51 +02:00
Evgeniy Khramtsov d60ef4c212 Use ets insead of asking supervisor in ejabberd_odbc_sup:get_pids/1 (Thanks to Alexey Shchepin) 2010-07-03 00:35:34 +10:00
Badlop 5161a9d4e8 Show some more room options in the log file 2010-07-02 15:21:05 +02:00
Badlop 6b9a523dc9 Recompile the Guide and Configure 2010-07-01 17:08:17 +02:00
Badlop 69d10702ee Fix typo in --enable-transient_supervisors 2010-07-01 17:05:24 +02:00
Christophe Romain 455107ff5f fix some dialyzer warnings on pubsub (EJAB-1260) 2010-07-01 11:19:48 +02:00
Badlop 5ca3f221cc Fix privacy check when serving local Last (thanks to Brian Acton)(EJAB-1271) 2010-06-29 11:59:16 +02:00
Badlop 7ffe06c77f Fix binary Host argument 2010-06-28 13:54:43 +02:00
Badlop bdea5d3598 Fix problem when FIREWALL_WINDOW options for erl kernel were used 2010-06-28 13:18:48 +02:00
Badlop a07eb3e023 Fix missing closing right parenthesis in define 2010-06-28 12:23:18 +02:00
Badlop c3ef12debb Inform client that SSL session caching is disabled (thanks to Pawel Chmielowski) 2010-06-25 18:33:59 +02:00
Badlop 739412119e Don't ask for client certificate when using tls (EJAB-1267) 2010-06-25 18:33:56 +02:00
Badlop 7d96d831c1 Fix Edoc typo 2010-06-25 00:03:38 +02:00
Badlop b2eb9bc512 Fix some binary variables 2010-06-24 00:22:26 +02:00
Badlop 71fc696f81 When account is deleted, delete also member of stored shared rosters. 2010-06-24 00:04:02 +02:00
Evgeniy Khramtsov 234280ddc7 now admins are able to see private rooms in disco (EJAB-1269) 2010-06-23 17:51:05 +10:00