net.server: Increase SSL handshake round-trip limit, and make it configurable

net.server: Call handler's status() to notify it of ssl handshake success

net.server: Provide a way to get sslctx of a client connection

net.server: Provide a way to get sslctx of a server

xmppserver_listener: Add status() function to signal when a connection completes its SSL handshake

xmppserver_listener: Add logger to s2s sessions

xmppserver_listener: Small whitespace fix

xmppserver_listener: Better log messages on invalid XML

mod_dialback: Initiate dialback on incoming stream:features

mod_tls: Advertise and handle TLS for s2s connections

util.stanza: Add __type to metatable

sessionmanager: Use UUID for stream ids to clients, no math.random anymore :)

sessionmanager: Add c2s_timeout option for unauthenticated client connections

util.timer: Pass current_time to timer callbacks

mod_httpserver: Update to use new httpserver.new_from_config syntax

mod_bosh: Update to use new httpserver.new_from_config syntax

net.httpserver: Allow modules registering to provide more than just a default path when using httpserver.new_from_config

Merge with 0.5

util.muc: Fix location of <x> element on error replies

Merge with 0.5

mod_bosh: Fix for 'invalid key to next' error when 2 clients lose connection at the same time

net.server: Fix missing concatenation operator in error message

MUC: Prep given JID when changing affiliation.

Merge with 0.5

Merge

mod_register: Added helpful text to registration error responses.

mod_register: Changed error type for hitting registration rate limit from 'cancel' to 'wait'.

mod_register: Fixed: No error was returned if username failed nodeprep.

util.encodings: Removed a bit of unreachable code.

util.encodings: Included idn-free.h, which explicitly declares the idn_free function.

util.encodings: Fixed: Last change was not ANSI C compatible.

Merge with 0.5

modulemanager: Load modules for components, too

componentmanager: Preserve existing events table (if any) when registering a component

componentmanager: Fire event on component activation

componentmanager: Use create_component for, er, creating components

hostmanager: Only load vhosts, not components

Merge with 0.5

mod_saslauth: Prep username used for authenticating a session

Merge with 0.5

util.encodings: Don't throw an error but return nil when passed nil or a non-string value

Merge with 0.5

util.pposix: Compatibility with Solaris systems (thanks Filip)

util.signal: Change ifdef to allow signal.kill() on Solaris (thanks Filip)

Makefile: Don't combine variable export with assignment for compatibility with other shells (thanks Filip)

Merge with 0.5

Tagging 0.5.2

Merge with trunk

MUC: Added multi-session support to the room-exiting occupant use case.

MUC: Renamed a variable name.

MUC: Refactored to remove some duplicate code.

Merge with 0.5

Merge with waqas 0.5.2

Merge with waqas

mod_legacyauth: Don't allow server-generated resource identifiers, as these are not support by legacy auth.

mod_legacyauth: Undo auth on bind fail. Legacy auth is atomic.

mod_legacyauth: Added node and resource prepping.

Makefile.win: Updated the windows Makefile with more appropriate paths.

util.encodings: Fixed an issue with cross-module memory deallocation (crashes on some windows versions).

core.s2smanager: Always use last record in the DNS cache

net.dns: Even better parsing of nameservers from resolv.conf

Merge with 0.5

net.dns: Remove elements from the cache when expired so as to not leave holes in the array

mod_console: s2s:close: Use session:close() if that exists, otherwise just destroy the session

net.dns: Stricter matching of nameserver entries in resolv.conf

MUC: Added legacy error code to the presence error returned when a banned user attempts to join.

MUC: Added legacy error codes to nickname conflict presence errors.

Merge with trunk

MUC: Added MUC feature to the disco#info replies of rooms.

Merge with 0.5

net.dns: Respect commented nameserver entries in resolv.conf (thanks Remko)

mod_welcome: Change $user to $username in default welcome message (thanks to neustradamus for spotting)

Re-tagging 0.5.2

mod_httpserver: Configurable filesystem path to serve from

Re-tagging 0.5.2

prosody.cfg.lua.dist: Add example of declaring admins for a server

net.dns: (for some reason this commit didn't pull over from 0.5) Remove hard-coded 4.2.2.1 from dns.lua

Merge with 0.5

net.dns: Accidentally committed a hard-coded 4.2.2.1 nameserver

core.s2smanager: Don't recurse CNAMEs infinitely :)

net.server: Fix traceback when closing connections with buffered data get closed during send

Merge with 0.5

Tagging 0.5.2

Merge with 0.5

mod_vcard: Handle vcard requests from local components.

Merge with 0.5

mod_console: Show status and priority of clients

Merge with 0.5

s2smanager: Timeout unauthed s2s connections

util.helpers: It would be a good idea to fire an event when we say we are

Merge with 0.5

s2smanager: Compatibility with domains which use CNAMEs

Merge with 0.5

s2smanager: Pass A-record lookups through adns module

prosody: Add prosody.installed flag to indicate whether Prosody has been installed or is running from checkout

prosody: Add prosody.platform which can be either 'windows', 'posix' or 'unknown'

Merge with 0.5

net.adns: Utilise new net.dns API to handle DNS network errors

net.dns: Multiple internal changes and API extensions to allow for more reliable DNS lookups

net.server: Add checking for nil sockets to prevent traceback

ejabberd2prosody: Fixed a problem with null roster groups.

ejabberd2prosody: Fixed escape code processing when parsing strings.

ejabberd2prosody: Added support for ask='both' in subscriptions.

MUC: Removed some debug logging.

MUC: Added a send() method to the component. Fixes issues with local mod_vcard.

mod_vcard: Handle vcard requests from local components.

MUC: Correct routing of vCard requests to bare JID.

configmanager: Assign a chunk name to config files loaded using the default config loader (fixes issues with some diagnostic tools).

mod_offline: Fixed undefined global access.

ComponentManager: Removed unused variable.

ComponentManager: Removed dependency on core_route_stanza. The default component handler now replies using origin.send().

ComponentManager: Fixed: Default handler sent error replies on result stanzas.

ComponentManager: Fixed a bit of logging.

Merge with 0.5 (no changes!)

mod_httpserver: Backport from trunk more thorough validation of URLs prior to processing

MUC: Preserve stanza attributes for private messages.

MUC: Don't kick on errors in private messages.

MUC: Discard non-persistent rooms as soon as they become empty.

Removed util.muc (replaced by new MUC plugin library)

Removed legacy mod_muc (replaced by new one).

MUC: Removed commented code.

mod_console: c2s:show(): Group listed clients by host

Fix for Makefile hack to install MUC plugin

Updated the Makefile to work with the MUC plugin folder.

Merged with Tobias

Automated merge with http://prosody.im/source/hg

Add NODEprepping to SASL Digest-MD5 authentication handling.

MUC: Fixed traceback on unauthorized access of the room configuration form.

MUC: Added service discovery replies for rooms.

MUC: Fixed an undefined global access.

MUC: Added support for room configuration forms, persistence and hidden rooms.

MUC: Refactored IQ handling to be more easily extensible.

MUC: Added kicking support.

MUC: Fixed a variable scoping bug causing problems with presence routing on affiliation/role change.

MUC: Fixed: Unavailable presence was being sent for all role and affiliation changes. Now sent only for kicked occupants.

MUC: Changed a MUC library method into a function.

MUC: Fixed stanza routing for reloaded rooms.

MUC: Added support for reloading MUC library code.

MUC: Workaround for Miranda sending 'nick' instead of 'jid' when changing affiliation.

MUC: Some fixes for minor bugs in IQ handling.

MUC: Added support for requesting various lists (owner, admin, voice, etc).

MUC: An admin or owner MUST NOT be able to revoke moderation privileges from another admin or owner.

MUC: Owners can now modify roles and affiliations

MUC: Added support for generating unique room names

MUC: Send appropriate error to banned users on join.

MUC: Renamed _participants table to _occupants

MUC: New basic mod_muc based on the new MUC library

MUC: Initial support for roles and affiliations

MUC: Fixed function declarations.

MUC: The MUC lib is now metatable based. Cleaned up code, etc.

MUC: Added initial MUC lib

Merge with 0.5

datamanager: Fixed logging errors on deletion of datastores not owned by a user@host

mod_presence: Fixed: Don't recursively handle inbound presence directed at local host

modulemanager: Fixed: Internally generated stanzas could be missing namespaces, which causes tracebacks in logging (e.g., auto-generated offline presence)

net/dns: Fixed regression causing nameserver initialization to fail on Windows

mod_compression: Fixed: Starting compression only worked before auth

Merge with 0.5

ejabberd2prosody: More intelligent searching for erlparse library

Uncertain merge with 0.5's SASL

util.sasl: Fix 2 global sets (one a tpyo)

Allow ampersands in passwords for SASL PLAIN mechanism and fixing a typo.

Change variable name. The previous choice was too ugly looking.

Use NODEprep for prepping usernames used during SASL logins.

Do SASLprep for SASL PLAIN mechanism to be more conform with RFC 4616.

Don't allow double compression.

Support compression also after SASL.

Merge with waqas

mod_compression: Fixed some undefined global accesses

net.adns: Add some debug logging to help track down traceback

net.server: Add checking for nil sockets to prevent traceback

net.dns: Automatically add nameserver 127.0.0.1 if /etc/resolv.conf missing or empty on a non-Windows system (thanks Louis Mamakos)

Merge waqas with Tobias. Eww.

Removed util/discohelper.lua

Removed core/discomanager.lua

modulemanager: Removed unused variables and reference to core.discomanager

modulemanager: Removed unnecessary code in the unload function

modulemanager: Removed legacy disco#items hook

modulemanager: add_feature and add_identity APIs updated to use only the add_item API

componentmanager: Removed disco#items hook, and reference to core.discomanager

mod_disco: Rearranged some lines, and added a FIXME comment

mod_disco: Removed reference to core.discomanager

mod_disco: Removed legacy IQ hooks

mod_disco: Handle disco#items queries using new APIs

mod_disco: Added identity server/im with name 'Prosody'

mod_disco: Handle disco#info queries using new APIs

modulemanager: Added module API function to get all items for a given host based on a key

modulemanager: Module API functions add_item and add_feature updated to use the add_item API

mod_pep: Added name 'Prosody' to the pubsub/pep identity

modulemanager: Changed the add_identity module API to accept an optional name parameter (the 'name' attribute for the <identity/> element)

Added: functions add_item and remove_item to add and remove items to the module API

componentmanager: Added function to get a list of children for a given hostname

mod_register: Updated to use module:get_option instead of configmanager

mod_posix: Updated to use module:get_option instead of configmanager

mod_legacyauth: Added a FIXME

mod_legacyauth: Refactored a bit

mod_legacyauth: Updated to use module:get_option instead of configmanager

mod_legacyauth: Removed useless 'require' call on every login attempt

core.s2smanager, xmppserver_listener: Move the responsibility of setting session.log from the latter to the former for incoming sessions (outgoing are already like this)

xmppclient_listener: Remove useless comment

core.sessionmanager, xmppclient_listener: Move responsibility for setting session.log to the former from the latter, much more sensible

net.server: Comment all calls to mem_free/collectgarbage... not really suitable for a realtime server, let's trust Lua's GC - it's good.

Shutdown prosody if changing user or group fails.

Make mod_posix not complain about root user, if setuid is set to something different as root.

Add setuid and setgid support.

Remove print which was used for debugging purposes.

Using pcall to make save the rest from zlib fails. Emit errors on those fails.

Forgot to use the configured compression_level. Now it's used.

Add config option handling.

Another unwanted spaces at the end of a line.

Add a TODO for s2s compression support.

Remove space at the end of a line.

Add FIXME to remember TLS compression detection.

Actually inject de- and compression into the reading/writing functions.

Remove unwanted spaces.

Commit initial version of mod_compression.

Removing tabs at the end of a line.

mod_httpserver: Set default file handler (you can now request static files as /*) and restructure code a bit

net.httpserver: Allow overriding default request handler

mod_bosh: Strip BOSH namespace from stanzas to allow for some clients which may send them without the correct xmlns

mod_bosh: Calculate rid difference just once

mod_bosh: Basic handling of rids (more to come)

mod_bosh: Correct reply when closing sessions

net.httpserver: Don't log response bodies!

util.iterators: Add tail() iterator, to return the last n items

util.iterators: Add head() iterator, to return the first n items

Merge with Tobias

Moving realm at the beginning of the digest-md5 message send by the server.

Fixing a SASL issue by always passing the realm from SASL framework init to the handlers.

mod_bosh: Updated to use module:get_option instead of configmanager

mod_watchregistrations: Updated to use module:get_option instead of configmanager

mod_selftests: Mark as global

mod_tls: Updated to use module:get_option instead of configmanager

mod_selftests: Updated to use module:get_option instead of configmanager

mod_welcome: Updated to use module:get_option instead of configmanager

ejabberdsql2prosody: Removed unnecessary stanza reserialization for private storage

ejabberdsql2prosody: Added support for offline messages

ejabberdsql2prosody: Fix access of undefined global

mod_version: Rewritten to use new API. Added reply caching, and fixed some issues.

mod_version: Use the module API to read configuration options instead of configmanager

Merge with albert and waqas

Fixed: Zeros could be stripped from the version string the Makefile extracts from the local hg repository (thanks albert)

Merge with 0.5

Fixed: Outbound subscription requests silently dropped (regression in hg:7f17d0d00fbb)

mod_xmlrpc: Correct stripping of filename/line number prefix in RPC method error results

mod_saslauth: Fix coding style and layout, and use of arg[] for vararg

mod_saslauth: Fix indentation

mod_saslauth: Fix traceback on attempted login for non-existent users

Merge with 0.5

xmppcomponent_listener: Fix to collect component sessions on disconnect

Merge with 0.5

mod_bosh: Fix error reply for host-unknown errors

net.httpserver: Allow response.body to be a non-string

Merge with waqas

ejabberdsql2prosody: Added support for Private XML Storage

ejabberdsql2prosody: Added support for vCards

ejabberdsql2prosody: Added an XML parser

Merge with 0.5

Fixed: Self-references could be added to rosters via presence subscriptions

Fixed: IQ replies are not sent back on publishing a PEP event

Tagging 0.5.1

mod_console: EOT (Ctrl-D) closes the connection.

Merge with 0.5

MUC: Added the MUC child element to conflict errors 0.5.1

Added: Support for PROSODY_SRCDIR and PROSODY_PLUGINDIR environment variables

mod_pep: Added support for pubsub item retraction

Merge with 0.5

xmpp{client,server,component]_listener: Open stream if sending an error and it isn't already open. Fixes #120

mod_console: Finally add in the missing 'help' command \o/

configmanager: Default options appearing before Host "*" to global (fixes potential traceback)

hostmanager: Warn when user puts port configuration under vhost section

core.loggingmanager: Enable timestamps by default for file log sinks

net.server: Much improve SSL/TLS error reporting, do our best to understand and hide OpenSSL's ridiculously unfriendly error messages

ejabberdsql2prosody: Allow for multiple INSERTs to the same table

Merge with 0.5

Fixed: Possible duplicate error replies for unhandled stanzas

net.httpserver: Reduce log level of 'request left open' message

Merge with 0.5

mod_presence: Tag outgoing unavailables generated by a disconnect with a from attribute

xmpp{client,server}_listener: Report contents of packets containing invalid XML

mod_console: Show status and priority of clients

ejabberdsql2prosody: Fixed a nil global access error

ejabberdsql2prosody: Add support for rosterusers.ask == "B" (both pending in and out subscriptions)

ejabberdsql2prosody: Fix typo, and improve the warning message

ejabberdsql2prosody: Display a warning if a row has more columns than expected

ejabberdsql2prosody: Added support for all mysql escape sequences

ejabberdsql2prosody: Added support for the escape sequence '\\' in strings

ejabberdsql2prosody: Fixed: 'ask' value should be nil for pending-in subscriptions

ejabberdsql2prosody: Fixed: pending-in subscriptions could halt processing

ejabberdsql2prosody: Added support for rosters

ejabberdsql2prosody: Added a second required command line parameter: hostname

ejabberdsql2prosody: Improved help message

ejabberdsql2prosody: Initial commit

mod_xmlrpc: Remove file and line number from XML-RPC errors

mod_xmlrpc: Fixed typos

usermanager: Reduced some code

usermanager: Removed an unnecessary check

mod_xmlrpc: Added support for secure calls by non-admins

modulemanager: Added get_option(name, default_value) to plugin API

Switch to using a more generic credentials_callback/handler for SASL auth.

mod_saslauth, usermanager: Fetch list of mechanisms from usermanager

prosody: net_activate_ports: Check listener exists before trying to open port for it

Merge with 0.5

net.server: Fail to open port if legacy SSL requested, but SSL not available

prosodyctl: Also switch group when we switch user

pposix, mod_posix: Bump pposix version number

pposix: Add setgid() function

net.server: Remove listener from listeners table when calling removeserver

prosody: Correctly allow console ports to be changed through the config

mod_console: Set default_interface to 127.0.0.1

net.server: Set sslctx to false when SSL wrapping fails, to avoid attempting to wrap clients with a broken context

Merge with 0.5

ejabberd2prosody, erlparse: Add support for parsing non-ASCII strings and binaries, and atoms enclosed in single quotes

ejabberd2prosody, erlparse.lua: Convert from Windows line endings (thanks teo)

net.server: Continue to initialise port listener even when SSL errors occur

Merge with 0.5

mod_presence: Ignore presence sent to host and invalid JIDs, fixes traceback (thanks Deepspawn)

ejabberd2prosody, erlparse.lua: Convert from Windows line endings (thanks teo)

Merge with 0.5

pposix: Change LOG_EMERG -> LOG_CRIT, which makes more sense, thanks to intosi for reporting and an initial patch

mod_muc: Set correct 'from' JID when sending the room subject to joiners, fixes a traceback

Tagging 0.5.0

mod_muc: Expose rooms table to the host and plugins

prosody: Send friendly text with system-shutdown stream error

xmppclient_listener: Use error text as disconnect reason if there is any

mod_console: Add server:shutdown() command

mod_console: Add config:reload() command

prosody: Return success/error from prosody.reload_config()

mod_console: Rename server:reload() to server:insane_reload() (basically no-one should use it except me...)

Merge with 0.5

util.xmlrpc: Fixed table serialization (regression introduced in previous change) 0.5.0

Merge with 0.5

mod_httpserver: Update to use new new_from_config() too

mod_bosh: Update to use new new_from_config()

net.httpserver: Allow specification of the default base URL when using new_from_config()

Merge with 0.5

prosody.cfg.lua.dist: Add mod_pep to the default config file

Merge with 0.5

net.server: Initiate the handshake when we should, the more correcter fix for the previous correct fix

Merge with 0.5

net.server: Fix copyright header line endings and text

net.server: Correct fix for SSL traceback earlier

Merge with 0.5

mod_bosh: Mark a session as secure if it is created with HTTPS

net.httpserver: Mark a request as secure if it is made using HTTPS

Merge with 0.5

mod_httpserver: Use new httpserver helper to initialise ports

mod_bosh: Use new httpserver helper to initialise ports

net.httpserver: Add helper function to set up HTTP server according to given config options

net.server: Don't continue with socket initialisation if SSL handshake failed, fixes nil socket traceback

Merge with 0.5

net.server: Don't close handler if it is already nil when SSL handshake fails

prosody: Load util.helpers at startup

util.helpers: New util library to aid with debugging, etc.

prosody: Call initialisation functions at once

prosody: Start of refactoring of main file

util.pubsub -> util.broadcast

prosody.cfg.lua: Various small changes

prosody.cfg.lua.dist: Move enabled line higher up (people including myself often miss it)

prosody.cfg.lua.dist: Add auto-loaded modules to the config

mod_uptime: Fix bad uptime if module is loaded at startup

Remove version number from copyright headers

Add copyright header to those files missing one

stanza_router: Catch and log an error case which I don't think should happen (but sometimes seems to)

Remove completed items from TODO

util.pubsub: Fix undefined global accesses

util.sasl: Convert spaces to tabs

util.stanza: Convert spaces to tabs

util.hmac: Convert spaces to tabs

util.prosodyctl: Fix undefined global access

eventmanager: Convert from Windows line endings

mod_time Convert from Windows line endings

discomanager: Convert from Windows line endings

mod_ping: Convert from Windows line endings

mod_disco: Convert from Windows line endings

util.discohelper: Convert from Windows line endings

mod_presence: Convert from Windows line endings

util.events: Convert from Windows line endings

mod_console: Expose commands and environment table

modulemanager: Small code improvement, move autoloaded modules list to the top of the file

configmanager, modulemanager: Allow components to have modules specified in the config (but don't load the global set of modules for them)

mod_console: Add quit and exit as aliases for 'bye' command

mod_console: Check for commands when not executing in the global environment

prosodyctl: Quit when user pressed ^C in password prompts

prosodyctl: Don't 'blugh' when ^C is pressed during reading passwords

prosodyctl: Fix traceback when issued with no parameters

util.xmlrpc: Support for multiple parameters in requests

util.xmlrpc: Add create_request

mod_console: server:version() and server:uptime() commands

mod_uptime: Use time of server start rather than module load

mod_uptime: Convert to unix line endings

prosody: Record time the server started

s2smanager: Fix to correctly bounce stanzas if first connection attempt fails instantly

mod_console: Add c2s:close() command

net.xmppclient_listener: Fix potential traceback when no reason is specified for closing a session

Merged with trunk

mod_presence: Fixed: Presence probe replies now get sent to the full JID of the probe sender

Merge with main branch.

Remove to-unicode conversion because it's done in sasl.lua now.

Move to-unicode conversion from mod_saslauth.lua to sasl.lua.

Fixed decoding of parameters.

mod_console: Allow customisation/suppression of the banner

util.hmac: Some optimisations

util.hmac: Fix a global set

mod_presence: Send unavailable presence to resources from non-available resources on disconnect

Moved automatic unavailable presence generation on disconnect from sessionmanager to mod_presence

sessionmanager: Replace raw session by an event data table for resource bind/unbind events, allowing extra data

mod_presence: Broadcast presence to resources before contacts

mod_presence: Prevented normal presence from non-interested resources from being dropped

mod_presence: Changed handle_normal_presence to use a local roster rather than origin's roster

mod_presence: Simplified roster iteration

mod_presence: Eliminated a jid_split

mod_presence: Removed some unnecessary code

sessionmanager: Reset bare_sessions[user] after resource conflict resolution. Fixes the other stanza gobbling bug \o/

mod_presence: Declare t_insert, fixes a potential traceback

sessionmanager: Newly created sessions shouldn't have a priority. Fixes one of the stanza-gobbling bugs \o/

s2smanager: Log the hostname and address when s2s connection fails instantly

hostmanager: Add disallow_s2s to config, defaults to false unless anonymous_login is enabled, then defaults to true

stanza_router: Check host.disallow_s2s before routing over s2sout. you can haz no s2s.

Merged branches

Added man page for prosodyctl

mod_presence: Removed dead code

datamanager: Fixed incorrect callback result checking

mod_pep: Escape + in pattern

prosodyctl: Add message for not-running error

prosodyctl: Use prosodyctl_timeout option if it exists in the config

prosodyctl: Improve usability with status messages, and waiting up to 5s for the server to start/stop

mod_pep: Pass origin/session to publish_all()

Added HMAC utility module

prosody: Add fallbacks/ to path

Makefile: Install fallbacks/ directory

mod_offline: Initial commit

Merged with trunk

mod_pep: Fixed boolean indexing error while casting all messages for a user

Send xml:lang in stream headers, fixes #78

Making sure the node is in unicode when passing it to password lookup function.

Automated merge with http://waqas.ath.cx:8000/

modulemanager: Don't close stream on stream:error with unsupported-stanza-type (fixes #102)

prosody.cfg.lua.dist: Removed 'presence' from default modules list

stanza_router: Removed unnecessary xmlns check

stanza_router: Don't fire preprocessing events if stanza is not from full JID

Merge with nolan

Serialize unknown stanza before logging.

util.pluginloader: Append "@" to chunk names (fixes weird formatting in plugin tracebacks)

mod_pep: Fixed a nil access error

mod_pep: Use cached caps

Merged with trunk

mod_pep: Entity capabilities

Merge with nolan

net.httpserver: Don't upset logger when response is nil

Log stanza if stanza.to isn't set for some component errors.

mod_console: Reload/unload a module on a component host if it is loaded there

Automated merge with http://waqas.ath.cx:8000/

util.stanza: Serializer optimizations, and nicer output for empty elements

mod_pep: Broadcast only to available recipients with caps

mod_pep: Ignore presence subscriptions when extractng hash information

mod_pep: Added function get_caps_hash_from_presence

util.muc: Fixed duplicate parameter names in function room:set_subject

util.muc: Fixed incorrect parameters for a function call

mod_pep: Removed some YODO comments

mod_pep: Added handler for disco responses

mod_message: Advertise offline message support as per XEP-0160 (thanks nolan)

xmppclient_listener: Pass session close reason to destroy_session (to be used in unavailable presence)

mod_iq: Change sub-event names for IQ errors and results to use stanza IDs

util.stanza: Add stanza:get_text() to retrieve all child text nodes #api

stanza_router: Fire events also for stanzas to components

mod_message, mod_presence: Maintain list of top resources. Less work in routing messages to bare JIDs. - #optimization

util.events: Replaced ipairs with slightly faster numeric for loop - #optimization

util.stanza: Rewrote stanza_mt.__tostring. 20-30% faster stanza serialization. - #optimization

util.stanza: Remove numeric attributes while deserializing

xmlhandlers: Remove numeric attributes

stanza_router: Remove unused variables and code

stanza_router: A little refactoring

stanza_router: Remove unused variables

stanza_router: Remove even more old routing code

stanza_router: Remove some more old routing code

stanza_router: Call core_post_stanza from core_route_stanza in place of old routing code

stanza_router: Removed unused function: select_best_resources

stanza_router: Removed old routing code

mod_component: Rewrite jabber:client stanzas to jabber:component:accept, thanks JaredH!

(0) -1000 -480 +480 +1000 tip

mercurial