daurnimator [Fri, 28 Mar 2014 17:11:11 +0000 (13:11 -0400)]
plugins/muc/muc.lib: Fix sending occupant jid instead of real jid in <item/> actor
daurnimator [Fri, 28 Mar 2014 17:05:36 +0000 (13:05 -0400)]
plugins/muc/muc.lib: Clean up :set_role. Removes :can_set_role
daurnimator [Fri, 28 Mar 2014 15:05:52 +0000 (11:05 -0400)]
plugins/muc/muc.lib: Remove callback parameter from set_role and set_affiliation
daurnimator [Thu, 27 Mar 2014 23:18:57 +0000 (19:18 -0400)]
plugins/muc/muc.lib: non-function changes (reordering, semicolons and comments)
daurnimator [Thu, 27 Mar 2014 23:16:13 +0000 (19:16 -0400)]
plugins/muc: Massive refactor
We now have occupant objects; you grab them, modify them, save them.
New presence handling code.
Modify all presence sending to go via new functions.
daurnimator [Thu, 27 Mar 2014 23:16:46 +0000 (19:16 -0400)]
plugins/muc/muc.lib: If decline is to person in room; route to all sessions
daurnimator [Thu, 27 Mar 2014 22:10:34 +0000 (18:10 -0400)]
plugins/muc/muc.lib: Have timestamp as seconds since epoch inside of history
daurnimator [Thu, 27 Mar 2014 22:09:42 +0000 (18:09 -0400)]
plugins/muc: Rename admin query hook
daurnimator [Mon, 24 Mar 2014 20:32:18 +0000 (16:32 -0400)]
plugins/muc/muc.lib: Add :broadcast method; use it from :broadcast_except_nick and :broadcast_message
daurnimator [Mon, 24 Mar 2014 17:36:43 +0000 (13:36 -0400)]
plugins/muc/muc.lib: Extra utility functions around subjects
daurnimator [Mon, 24 Mar 2014 17:34:06 +0000 (13:34 -0400)]
plugins/muc/muc.lib: Add muc-get-history event; it uses an iterator in the event object so that messages don't need to be all in memory at once
daurnimator [Mon, 24 Mar 2014 17:10:54 +0000 (13:10 -0400)]
plugins/muc/muc.lib: Add muc-broadcast-message event. Use it for saving to history
daurnimator [Mon, 24 Mar 2014 16:44:31 +0000 (12:44 -0400)]
plugins/muc/muc.lib: Better password check
daurnimator [Mon, 24 Mar 2014 14:25:43 +0000 (10:25 -0400)]
plugins/muc/muc.lib: Add muc-occupant-prejoin events; Use it for banned, members-only, password, nick-conflict and lock checks
This reorders some of the checks.
Importantly; affiliations are checked first: this means banned users cannot try and guess passwords
daurnimator [Fri, 21 Mar 2014 18:01:02 +0000 (14:01 -0400)]
plugins/muc/muc.lib: Move password check and nick conflict check into `handle_join`
daurnimator [Thu, 20 Mar 2014 20:19:13 +0000 (16:19 -0400)]
plugins/muc/muc.lib: Additional `route_to_occupant` usage
daurnimator [Thu, 20 Mar 2014 20:14:22 +0000 (16:14 -0400)]
plugins/muc/muc.lib: Remove duplicate variable; it can never be nil.
daurnimator [Thu, 20 Mar 2014 19:50:29 +0000 (15:50 -0400)]
plugins/muc/muc.lib: Add decline event for parity with invite
daurnimator [Thu, 20 Mar 2014 19:22:02 +0000 (15:22 -0400)]
plugins/muc/muc.lib: Add route_to_occupant function to send a stanza to all occupant sessions
daurnimator [Thu, 20 Mar 2014 15:06:10 +0000 (11:06 -0400)]
plugins/muc: Have utility methods for locking the room
daurnimator [Wed, 19 Mar 2014 21:50:49 +0000 (17:50 -0400)]
plugins/muc/muc.lib: Use occupant jids when whois == "moderators"
daurnimator [Wed, 19 Mar 2014 21:50:00 +0000 (17:50 -0400)]
plugins/muc/muc.lib: Allow users with affiliations to invite while not in room themselves
daurnimator [Wed, 19 Mar 2014 21:46:25 +0000 (17:46 -0400)]
plugins/muc/muc.lib: Use `get_role` in `handle_admin_item_get_command`. Removed a TODO that's already done
daurnimator [Wed, 19 Mar 2014 21:33:32 +0000 (17:33 -0400)]
plugins/muc/muc.lib: Send invite out from event: removes '-prepared' from event name
daurnimator [Wed, 19 Mar 2014 21:30:21 +0000 (17:30 -0400)]
plugins/muc/muc.lib: Check role instead of current_nick
daurnimator [Wed, 19 Mar 2014 20:28:11 +0000 (16:28 -0400)]
plugins/muc/muc.lib: Remove `payload` argument from `handle_mediated_*`; extract it from inside.
daurnimator [Wed, 19 Mar 2014 20:24:17 +0000 (16:24 -0400)]
plugins/muc/muc.lib: Fix wrong variable in `construct_stanza_id` block
daurnimator [Wed, 19 Mar 2014 20:19:31 +0000 (16:19 -0400)]
plugins/muc/muc.lib: Add muc-invite-prepared event; Use it for granting affiliations in members only rooms
daurnimator [Wed, 19 Mar 2014 19:01:18 +0000 (15:01 -0400)]
plugins/muc/muc.lib: Don't get same variable twice.....
daurnimator [Wed, 19 Mar 2014 19:00:53 +0000 (15:00 -0400)]
plugins/muc/muc.lib: Use `get_occupant_jid` method instead of indexing _jid_nick
daurnimator [Wed, 19 Mar 2014 18:39:31 +0000 (14:39 -0400)]
plugins/muc/muc.lib: Fetch config via accessors instead of using `_data`
daurnimator [Wed, 19 Mar 2014 18:35:17 +0000 (14:35 -0400)]
plugins/muc/muc.lib: In `_route_stanza` access occupant data less often
daurnimator [Wed, 19 Mar 2014 18:06:04 +0000 (14:06 -0400)]
plugins/muc/muc.lib: Tidy up `get_filtered_presence`
daurnimator [Wed, 19 Mar 2014 17:59:59 +0000 (13:59 -0400)]
plugins/muc/muc.lib: Tidy up is_kickable_error: it didn't need to return the condition.
Also removes `get_error_condition`; it was a one liner used in one place
daurnimator [Wed, 19 Mar 2014 17:57:02 +0000 (13:57 -0400)]
plugins/muc/muc.lib: Use module.host where `muc_domain` was previously
daurnimator [Wed, 19 Mar 2014 17:56:14 +0000 (13:56 -0400)]
plugins/muc/muc.lib: Remove unused methods (breaks api)
daurnimator [Wed, 19 Mar 2014 16:19:44 +0000 (12:19 -0400)]
plugins/muc/muc.lib: Use more modern stanza methods
daurnimator [Wed, 19 Mar 2014 16:03:15 +0000 (12:03 -0400)]
plugins/muc: Provide a reasonable default `route_stanza`
daurnimator [Tue, 18 Mar 2014 22:56:26 +0000 (18:56 -0400)]
plugins/muc/mod_muc: host sessions have a .send these days
daurnimator [Tue, 18 Mar 2014 22:55:52 +0000 (18:55 -0400)]
plugins/muc/mod_muc: Refactor to use new methods available
daurnimator [Tue, 18 Mar 2014 22:52:28 +0000 (18:52 -0400)]
plugins/muc/muc: Add 'muc-occupant-left' event
daurnimator [Tue, 18 Mar 2014 20:01:53 +0000 (16:01 -0400)]
plugins/muc/muc: Only call get_password once in invite creation
daurnimator [Tue, 18 Mar 2014 19:42:48 +0000 (15:42 -0400)]
plugins/muc/muc: When there's no history; return an empty iterator
daurnimator [Tue, 18 Mar 2014 19:15:28 +0000 (15:15 -0400)]
plugins/muc/muc: Support mediated declines
daurnimator [Tue, 18 Mar 2014 19:15:14 +0000 (15:15 -0400)]
plugins/muc/muc: Rename `handle_invite_to_room` to `handle_mediated_invite`; clean up logic
daurnimator [Tue, 18 Mar 2014 18:56:20 +0000 (14:56 -0400)]
plugins/muc/muc: Check for mediated invites in a smarter way
daurnimator [Tue, 18 Mar 2014 18:54:41 +0000 (14:54 -0400)]
plugins/muc/muc: Add copyright for daurnimator
daurnimator [Sat, 22 Feb 2014 00:06:33 +0000 (19:06 -0500)]
plugins/muc/muc.lib: Add disco iq handlers with compatible argument signature
daurnimator [Fri, 21 Feb 2014 23:04:38 +0000 (18:04 -0500)]
plugins/muc/muc.lib: Move all kick code into one place
daurnimator [Fri, 21 Feb 2014 22:52:40 +0000 (17:52 -0500)]
plugins/muc/muc.lib: Make use of return values to send service-unavailable errors
daurnimator [Fri, 21 Feb 2014 22:40:16 +0000 (17:40 -0500)]
plugins/muc/muc.lib: Add some missing return values
daurnimator [Fri, 21 Feb 2014 22:17:01 +0000 (17:17 -0500)]
plugins/muc/muc.lib: Move (de)construct_stanza_id into `handle_iq_to_occupant`
It is the only place they were used; and I left the old function names in as comments.
One reason for doing this was to reduce accesses to _occupants; which may be in a database in future revisions
daurnimator [Fri, 21 Feb 2014 21:30:43 +0000 (16:30 -0500)]
plugins/muc/muc.lib: Refactor _to_occupant handlers
daurnimator [Fri, 21 Feb 2014 20:48:26 +0000 (15:48 -0500)]
plugins/muc/muc.lib: Split out the room iq handler into functions
daurnimator [Thu, 20 Feb 2014 21:50:18 +0000 (16:50 -0500)]
plugins/muc/muc.lib: Factor `handle_to_occupant` out into many functions
daurnimator [Thu, 20 Feb 2014 19:36:49 +0000 (14:36 -0500)]
plugins/muc/muc.lib: Split up `handle_to_room` into smaller handlers (thanks sysko)
daurnimator [Wed, 19 Feb 2014 22:39:57 +0000 (17:39 -0500)]
plugins/muc/muc.lib: Split out `send_history` into `parse_history` and `get_history`
daurnimator [Tue, 18 Feb 2014 22:21:47 +0000 (17:21 -0500)]
plugins/muc/mod_muc: Move Xep-0307 MUC unique to seperate file
Kim Alvefur [Wed, 12 Feb 2014 18:26:22 +0000 (19:26 +0100)]
Merge 0.9 -> 0.10
Kim Alvefur [Wed, 12 Feb 2014 18:25:15 +0000 (19:25 +0100)]
mod_saslauth: Make sure sasl handler has add_cb_handler (fixes #392)
Kim Alvefur [Sun, 9 Feb 2014 14:17:01 +0000 (15:17 +0100)]
mod_admin_telnet: Prep jids for user:create() etc.
Kim Alvefur [Sun, 9 Feb 2014 14:13:46 +0000 (15:13 +0100)]
mod_s2s: Log a warning if no local addresses are found, as this breaks s2sout
Kim Alvefur [Sun, 9 Feb 2014 14:12:13 +0000 (15:12 +0100)]
mod_storage_sql2: archive:delete() with username = true deletes for all users
Kim Alvefur [Sun, 9 Feb 2014 14:09:12 +0000 (15:09 +0100)]
mod_ping: Use type-specific event
Kim Alvefur [Thu, 6 Feb 2014 09:48:41 +0000 (10:48 +0100)]
Merge 0.9->0.10
Kim Alvefur [Thu, 6 Feb 2014 09:44:21 +0000 (10:44 +0100)]
mod_motd: Strip indentation only, leave multiple newlines
Kim Alvefur [Mon, 3 Feb 2014 06:23:33 +0000 (07:23 +0100)]
Merge 0.9->0.10
Florian Zeitz [Fri, 31 Jan 2014 11:01:12 +0000 (12:01 +0100)]
mod_c2s: Break out stream opening into a separate function
Kim Alvefur [Tue, 28 Jan 2014 18:21:21 +0000 (19:21 +0100)]
MUC: Tag PMs with <x>, like presence stanzas
Kim Alvefur [Mon, 27 Jan 2014 15:47:54 +0000 (16:47 +0100)]
tools/ejabberd2prosody: Handle new room member format.
Kim Alvefur [Sun, 26 Jan 2014 20:16:24 +0000 (21:16 +0100)]
modulemanager: Always load a platform-specific module, add stub modules for Windows and unknown platforms
Kim Alvefur [Sun, 26 Jan 2014 17:35:03 +0000 (18:35 +0100)]
mod_posix: Daemonize by default only when installed
Matthew Wild [Tue, 21 Jan 2014 03:24:40 +0000 (03:24 +0000)]
Merge 0.9->0.10
Kim Alvefur [Tue, 21 Jan 2014 00:51:13 +0000 (01:51 +0100)]
mod_storage_sql2: Only attempt to delete conflicting items if an ID/key is given
Kim Alvefur [Mon, 20 Jan 2014 23:51:31 +0000 (00:51 +0100)]
mod_storage_sql2: Fix another SQL syntax error that slipped trough
Waqas Hussain [Sat, 18 Jan 2014 22:26:02 +0000 (17:26 -0500)]
tools/ejabberd2prosody: Disable generating a config, as the format it generates is completely out of date.
Waqas Hussain [Sat, 18 Jan 2014 22:24:10 +0000 (17:24 -0500)]
tools/ejabberd2prosody: ?xmlelement? can be ?xmlel? in newer ejabberd (thanks cr).
Kim Alvefur [Sat, 18 Jan 2014 19:14:05 +0000 (20:14 +0100)]
MUC: Fire muc-room-destroyed event when the last participant leaves a non-persistent room
Matthew Wild [Sat, 18 Jan 2014 18:46:12 +0000 (18:46 +0000)]
Merge 0.9->0.10
Kim Alvefur [Sat, 18 Jan 2014 18:33:33 +0000 (19:33 +0100)]
mod_storage_sql2: Fix SQL syntax
Kim Alvefur [Sat, 18 Jan 2014 17:28:50 +0000 (18:28 +0100)]
MUC: Expose room metatable on module
Kim Alvefur [Sat, 18 Jan 2014 17:11:13 +0000 (18:11 +0100)]
MUC: Split out sending of the topic into method separate from sending history
Kim Alvefur [Sat, 18 Jan 2014 17:05:42 +0000 (18:05 +0100)]
MUC: Split saving to history into a separate method
Waqas Hussain [Sat, 18 Jan 2014 15:37:12 +0000 (10:37 -0500)]
tools/ejabberd2prosody: Add support for importing MUC rooms.
Waqas Hussain [Thu, 16 Jan 2014 19:03:27 +0000 (14:03 -0500)]
tools/ejabberdsql2prosody: Skip invalid XML in data, and print out errors.
Matthew Wild [Sun, 12 Jan 2014 11:19:55 +0000 (06:19 -0500)]
Merge
Matthew Wild [Sun, 12 Jan 2014 11:19:37 +0000 (06:19 -0500)]
Merge 0.9->0.10
Matthew Wild [Sun, 12 Jan 2014 11:17:40 +0000 (06:17 -0500)]
Tagging 0.9.3
Matthew Wild [Sun, 12 Jan 2014 11:16:49 +0000 (06:16 -0500)]
mod_tls: Log error when TLS initialization fails
Kim Alvefur [Sun, 5 Jan 2014 22:38:34 +0000 (23:38 +0100)]
mod_storage_sql2: Fix syntax error in subquery (Thanks Lance)
Florian Zeitz [Sun, 5 Jan 2014 21:21:50 +0000 (22:21 +0100)]
mod_s2s: Include IP in log messages, if host is unavailable
Waqas Hussain [Fri, 3 Jan 2014 20:52:52 +0000 (15:52 -0500)]
tools/migration/migrator/prosody_files: Fix undefined global access of ?error?, print the actual error message and correct file path in the error message when we fail to load a file, skip broken files instead of failing migration.
Kim Alvefur [Mon, 30 Dec 2013 22:49:23 +0000 (23:49 +0100)]
util.pubsub: Separate data from node configuration
Kim Alvefur [Thu, 26 Dec 2013 17:14:34 +0000 (18:14 +0100)]
util.pubsub: Fire events on more actions
Kim Alvefur [Mon, 30 Dec 2013 20:49:17 +0000 (21:49 +0100)]
mod_pubsub: Don't sent error replies from service disco events, let mod_disco handle that
Kim Alvefur [Wed, 25 Dec 2013 21:37:52 +0000 (22:37 +0100)]
mod_storage_sql2: Expose the unique key argument, allowing arbitrary ids. Conflicting items are removed.
Kim Alvefur [Wed, 25 Dec 2013 14:28:55 +0000 (15:28 +0100)]
mod_storage_sql2: Include user, host and store in id lookup
Kim Alvefur [Wed, 18 Dec 2013 17:36:54 +0000 (18:36 +0100)]
Merge 0.9->0.10
Kim Alvefur [Wed, 18 Dec 2013 17:35:35 +0000 (18:35 +0100)]
mod_component: Enable TCP keepalives on component streams
Kim Alvefur [Wed, 18 Dec 2013 17:34:22 +0000 (18:34 +0100)]
mod_component: Decrease priority of component auth hook