Badlop [Fri, 19 Nov 2010 14:33:48 +0000 (15:33 +0100)]
Disapprove the use of R14A and R14B due to the rwlock bug.
Badlop [Fri, 19 Nov 2010 14:14:38 +0000 (15:14 +0100)]
Update Russian translation (thanks to Evgeniy Khramtsov)
Badlop [Fri, 19 Nov 2010 12:47:24 +0000 (13:47 +0100)]
Update translate files
Badlop [Fri, 19 Nov 2010 12:45:32 +0000 (13:45 +0100)]
Update the Spanish translation
Badlop [Fri, 19 Nov 2010 12:44:30 +0000 (13:44 +0100)]
Fix some English strings
Badlop [Thu, 18 Nov 2010 22:34:35 +0000 (23:34 +0100)]
Translate mod_register_web to Ukrainian (thanks to Rain)
Evgeniy Khramtsov [Thu, 18 Nov 2010 07:59:35 +0000 (16:59 +0900)]
Document mod_shared_roster_ldap (thanks to Marcin Owsiany)
Badlop [Wed, 17 Nov 2010 22:16:46 +0000 (23:16 +0100)]
Translate mod_register_web to Spanish
Badlop [Wed, 17 Nov 2010 21:42:43 +0000 (22:42 +0100)]
Translate mod_register_web to Russian (thanks to Rain)
Badlop [Wed, 17 Nov 2010 21:36:56 +0000 (22:36 +0100)]
Update strings to translate
Badlop [Wed, 17 Nov 2010 20:26:40 +0000 (21:26 +0100)]
Add extract_translations.beam to gitignore
Badlop [Wed, 17 Nov 2010 19:14:59 +0000 (20:14 +0100)]
Fix http-bind supervisor to support multiple vhosts (EJAB-1321)
Andreas Köhler [Tue, 9 Nov 2010 13:11:38 +0000 (14:11 +0100)]
Fix R12B5 compatibility in ejabberd_http_bind.erl (EJAB-1343)
erlang:max/2 and :min/2 are new functions
Andreas Köhler [Mon, 8 Nov 2010 22:09:14 +0000 (23:09 +0100)]
Use LFrom and LTo consistently in ejabberd_s2s_in:stream_established/2 (EJAB-1342)
Evgeniy Khramtsov [Wed, 17 Nov 2010 09:13:19 +0000 (18:13 +0900)]
Do not start mod_proxy65 if it is unable to bind an address (EJAB-1336)
Evgeniy Khramtsov [Wed, 17 Nov 2010 08:36:51 +0000 (17:36 +0900)]
Use MEDIUMTEXT type for vcard avatars in MySQL schema (EJAB-1252)
Evgeniy Khramtsov [Wed, 17 Nov 2010 08:14:47 +0000 (17:14 +0900)]
Do not print full error message when LDAP timeout occurs (EJAB-1324)
Evgeniy Khramtsov [Wed, 17 Nov 2010 04:54:27 +0000 (13:54 +0900)]
Set SSL_MODE_RELEASE_BUFFERS mode when available (EJAB-1351)
Badlop [Mon, 15 Nov 2010 23:03:09 +0000 (00:03 +0100)]
Provide new, not old, affiliation in kick/ban presence with codes 321 and 301
Evgeniy Khramtsov [Mon, 15 Nov 2010 04:47:31 +0000 (13:47 +0900)]
Strip status when needed in presence-unavailable as well
Badlop [Fri, 12 Nov 2010 20:24:01 +0000 (21:24 +0100)]
Fix typos in the example configuration file
Andreas Köhler [Mon, 8 Nov 2010 12:46:56 +0000 (13:46 +0100)]
Before binding tcp ports, checks the socket type and listener options
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.
Andreas Köhler [Tue, 2 Nov 2010 13:43:03 +0000 (14:43 +0100)]
Bind listener ports early and start accepting connections later
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.
Andreas Köhler [Fri, 5 Nov 2010 17:38:42 +0000 (18:38 +0100)]
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.
Andreas Köhler [Fri, 5 Nov 2010 17:32:25 +0000 (18:32 +0100)]
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.
Andreas Köhler [Fri, 5 Nov 2010 14:44:22 +0000 (15:44 +0100)]
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.
Andreas Köhler [Fri, 5 Nov 2010 02:54:56 +0000 (03:54 +0100)]
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.
Andreas Köhler [Fri, 5 Nov 2010 02:48:13 +0000 (03:48 +0100)]
Use ejabberd_c2s:privacy_check_packet/5 for all those hook folded runs in the c2s module
Andreas Köhler [Fri, 5 Nov 2010 02:29:32 +0000 (03:29 +0100)]
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.
Andreas Köhler [Fri, 5 Nov 2010 01:38:15 +0000 (02:38 +0100)]
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.
Christophe Romain [Wed, 10 Nov 2010 14:15:03 +0000 (15:15 +0100)]
populate pubsub#roster_groups_allowed in node configuration options (thanks to Karim Gemayel)(EJAB-1344)
Christophe Romain [Tue, 9 Nov 2010 13:32:40 +0000 (14:32 +0100)]
fix bad plugin order issue injected in previous patch (EJAB-1286)
Andreas Köhler [Fri, 5 Nov 2010 10:42:32 +0000 (11:42 +0100)]
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.
Andreas Köhler [Fri, 17 Sep 2010 14:48:44 +0000 (16:48 +0200)]
Change max restart strategy of ejabberd_odbc_sup to handle some SQL timeouts.
Christophe Romain [Mon, 8 Nov 2010 10:16:51 +0000 (11:16 +0100)]
avoid node_call to break transaction (thanks to Karim Gemayel)(EJAB-1286)
Andreas Köhler [Tue, 2 Nov 2010 15:18:16 +0000 (16:18 +0100)]
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.
Evgeniy Khramtsov [Sat, 6 Nov 2010 04:58:52 +0000 (13:58 +0900)]
Take care of xml:lang attribute in unauthenticated stanzas as well
Badlop [Fri, 5 Nov 2010 18:00:16 +0000 (19:00 +0100)]
New ip_access option restricts which IPs can register (thanks to Alexey Shchepin)(EJAB-915)
Badlop [Fri, 5 Nov 2010 18:32:52 +0000 (19:32 +0100)]
Disable mod_register_web in default config because by default captcha is disabled
Badlop [Fri, 5 Nov 2010 17:21:20 +0000 (18:21 +0100)]
Recompile the Guide
Badlop [Thu, 4 Nov 2010 21:34:18 +0000 (22:34 +0100)]
Added mod_register_web: web page for account registration (EJAB-471)
Evgeniy Khramtsov [Fri, 5 Nov 2010 08:01:18 +0000 (17:01 +0900)]
Disable LRU caching algorithm for LDAP shared rosters
Evgeniy Khramtsov [Thu, 4 Nov 2010 20:10:18 +0000 (05:10 +0900)]
Do not store long language tag to avoid possible DoS/flood attacks
Evgeniy Khramtsov [Thu, 4 Nov 2010 17:34:45 +0000 (02:34 +0900)]
LDAP shared roster support (thanks to Realloc and Marcin Owsiany)
Jonas Ådahl [Sat, 30 Oct 2010 18:33:13 +0000 (20:33 +0200)]
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.
Badlop [Tue, 2 Nov 2010 21:47:28 +0000 (22:47 +0100)]
Correct in the Guide the default mod_irc encoding
The default option value was last changed in EJAB-302,
but the Guide was not properly updated yet.
Badlop [Tue, 2 Nov 2010 21:40:08 +0000 (22:40 +0100)]
Implement the mod_irc option default_encoding, it was already documented
Related:
http://www.ejabberd.im/node/4270#comment-56609
http://www.ejabberd.im/node/4270#comment-56780
Badlop [Tue, 2 Nov 2010 12:51:36 +0000 (13:51 +0100)]
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.
Evgeniy Khramtsov [Mon, 1 Nov 2010 13:23:01 +0000 (22:23 +0900)]
Merge branch '2.1.x' of git+ssh://gitorious.process-one.net/ejabberd/mainline into 2.1.x
Evgeniy Khramtsov [Mon, 1 Nov 2010 13:22:41 +0000 (22:22 +0900)]
Do not run set_last request inside a transaction
Badlop [Thu, 28 Oct 2010 16:23:02 +0000 (18:23 +0200)]
Fix errors in EDoc comments
Badlop [Tue, 26 Oct 2010 22:50:17 +0000 (00:50 +0200)]
Include a Required xml element in the captcha field
Andreas Köhler [Fri, 22 Oct 2010 17:51:23 +0000 (19:51 +0200)]
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.
Andreas Köhler [Fri, 22 Oct 2010 17:35:25 +0000 (19:35 +0200)]
Re-use the TLSSock argument in tls:send/2 (EJAB-1327)
Evgeniy Khramtsov [Mon, 25 Oct 2010 17:47:14 +0000 (03:47 +1000)]
* Add top-level instructions for x:data incompatible clients
* Remove trailing dot
Badlop [Mon, 25 Oct 2010 17:00:52 +0000 (19:00 +0200)]
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
Badlop [Mon, 25 Oct 2010 16:58:31 +0000 (18:58 +0200)]
Workaround for Psi's wrong Type in form submission
Badlop [Mon, 25 Oct 2010 16:57:54 +0000 (18:57 +0200)]
Recompile the guide.html
Badlop [Mon, 25 Oct 2010 16:57:39 +0000 (18:57 +0200)]
Add CAPTCHA example configurations to cfg (EJAB-1262)(EJAB-1326)
Evgeniy Khramtsov [Mon, 25 Oct 2010 13:36:31 +0000 (23:36 +1000)]
Provide image url in registration form when captcha is enabled
Evgeniy Khramtsov [Sun, 24 Oct 2010 07:17:30 +0000 (17:17 +1000)]
Add password entropy check (EJAB-1326)
Evgeniy Khramtsov [Sun, 24 Oct 2010 05:45:42 +0000 (15:45 +1000)]
* Rename option captcha to captcha_protected for consistency.
* Document captcha_protected option
Evgeniy Khramtsov [Sun, 24 Oct 2010 05:30:37 +0000 (15:30 +1000)]
Merge branch '2.1.x' of git+ssh://gitorious.process-one.net/ejabberd/mainline into 2.1.x
Evgeniy Khramtsov [Sun, 24 Oct 2010 05:30:16 +0000 (15:30 +1000)]
CAPTCHA IBR support (EJAB-1262)
Badlop [Fri, 22 Oct 2010 21:14:24 +0000 (23:14 +0200)]
Improve example of outoging_s2s_options
Christophe Romain [Thu, 21 Oct 2010 09:14:24 +0000 (11:14 +0200)]
improve documentation (thanks to Karim Gemayel)
Peter Lemenkov [Thu, 18 Mar 2010 11:57:21 +0000 (14:57 +0300)]
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>
Badlop [Mon, 18 Oct 2010 16:41:29 +0000 (18:41 +0200)]
Fix bug in mod_pubsub in_subscription return value
Christophe Romain [Mon, 18 Oct 2010 14:53:21 +0000 (16:53 +0200)]
documentation update (thanks to Karim Gemayel)
Badlop [Sat, 16 Oct 2010 18:32:46 +0000 (20:32 +0200)]
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
Badlop [Sat, 16 Oct 2010 18:32:02 +0000 (20:32 +0200)]
Check privacy of outgoing IQ stanzas (EJAB-1320)
Badlop [Sat, 16 Oct 2010 18:31:44 +0000 (20:31 +0200)]
Check privacy of incoming IQ stanzas (EJAB-1320)
Badlop [Fri, 15 Oct 2010 19:53:03 +0000 (21:53 +0200)]
Add support to ejabberd_ctl to handle anonymous command arguments
Badlop [Fri, 15 Oct 2010 14:29:47 +0000 (16:29 +0200)]
Rename aclocal.m4 to acinclude.m4 (thanks to Andreas Köhler)
Also fixed minor typos, added the compiled aclocal.m4 to gitignore.
As the 2.1.x branch includes the 'configure' script, it isn't needed
to document here how to build it, only in the master branch.
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
Badlop [Fri, 15 Oct 2010 11:11:14 +0000 (13:11 +0200)]
Fix errors detected by Dialyzer
Badlop [Fri, 15 Oct 2010 09:31:18 +0000 (11:31 +0200)]
Document ejabberd_loglevel using EDoc (EJAB-225)
Andreas Köhler [Thu, 14 Oct 2010 09:19:41 +0000 (11:19 +0200)]
Fix unused variable warning in ejabberd_loglevel
Andreas Köhler [Wed, 13 Oct 2010 12:04:48 +0000 (14:04 +0200)]
Add set_custom/2, clear_custom/0 and clear_custom/1 to ejabberd_loglevel
Andreas Köhler [Wed, 13 Oct 2010 11:45:08 +0000 (13:45 +0200)]
Document new loglevel configuration form.
Andreas Köhler [Wed, 13 Oct 2010 10:52:56 +0000 (12:52 +0200)]
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.
Andreas Köhler [Tue, 12 Oct 2010 14:00:44 +0000 (16:00 +0200)]
Use warning_msg event type for warning log level.
Andreas Köhler [Tue, 12 Oct 2010 14:00:19 +0000 (16:00 +0200)]
Add warning message and report handlers to ejabberd_logger_h.erl.
Andreas Köhler [Tue, 12 Oct 2010 13:30:18 +0000 (15:30 +0200)]
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.
Andreas Köhler [Tue, 12 Oct 2010 12:41:21 +0000 (14:41 +0200)]
Use records for encoding static loglevel information.
Badlop [Thu, 14 Oct 2010 19:15:40 +0000 (21:15 +0200)]
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.
Badlop [Thu, 14 Oct 2010 17:53:31 +0000 (19:53 +0200)]
Include a gitignore file in the ejabberd git repository (EJAB-1312)
Christophe Romain [Wed, 13 Oct 2010 08:54:12 +0000 (10:54 +0200)]
make http-bind restartable (thanks to Andreas Köhler)(EJAB-1318)
Evgeniy Khramtsov [Mon, 11 Oct 2010 08:40:57 +0000 (18:40 +1000)]
add find_s2s_bridge hook
Evgeniy Khramtsov [Tue, 5 Oct 2010 11:28:45 +0000 (21:28 +1000)]
use one_queue IQ discipline by default
Evgeniy Khramtsov [Tue, 28 Sep 2010 04:20:02 +0000 (14:20 +1000)]
fixes typo in stop_connection/1
Evgeniy Khramtsov [Mon, 20 Sep 2010 18:31:18 +0000 (04:31 +1000)]
fixes default value for cache_life_time
Andreas Köhler [Fri, 17 Sep 2010 14:44:48 +0000 (16:44 +0200)]
Add missing needdb check in mod_privacy, to enable blocking by group and subscription again.
Andreas Köhler [Fri, 17 Sep 2010 14:42:35 +0000 (16:42 +0200)]
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.
Badlop [Mon, 13 Sep 2010 10:05:10 +0000 (12:05 +0200)]
Support timezone West of UTC (thanks to Edwin Fine)(EJAB-1301)
Evgeniy Khramtsov [Tue, 7 Sep 2010 16:33:49 +0000 (02:33 +1000)]
cache lifetime should be converted in microseconds
Evgeniy Khramtsov [Tue, 31 Aug 2010 08:06:02 +0000 (18:06 +1000)]
Implemented dirty (non-atomic) functions; added copyright notice
Badlop [Mon, 30 Aug 2010 21:23:28 +0000 (23:23 +0200)]
Add IPv6 support to mod_irc (thanks to Matthias Schiffer)(EJAB-1298)
Evgeniy Khramtsov [Mon, 30 Aug 2010 04:02:47 +0000 (14:02 +1000)]
implemented backend-independed key-value cacheing table; applied to mod_caps.erl first
Badlop [Sat, 21 Aug 2010 16:56:01 +0000 (18:56 +0200)]
Add mod_pubsub_odbc to list of ODBC modules (EJAB-1293)
Badlop [Thu, 19 Aug 2010 15:37:21 +0000 (17:37 +0200)]
Bugfix http-poll for correctly parsing binary (thanks to Peter Lemenkov)