<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://hg.omfa.de/prosody-hg/</link>
    <language>en-us</language>

    <title>prosody-hg: core/sessionmanager.lua history</title>
    <description>core/sessionmanager.lua revision history</description>
    <item>
    <title>Use util.time.now() consistently instead of socket.gettime()</title>
    <link>http://hg.omfa.de/prosody-hg/log/d649d011df45/core/sessionmanager.lua</link>
    <description><![CDATA[Use util.time.now() consistently instead of socket.gettime()]]></description>
    <author>&#76;&#105;&#110;&#107;&#32;&#77;&#97;&#117;&#118;&#101;&#32;&#60;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#64;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#46;&#102;&#114;&#62;</author>
    <pubDate>Fri, 30 Jan 2026 14:08:53 +0100</pubDate>
</item>
<item>
    <title>core.sessionmanager: Delay closing a replaced connection after replacement</title>
    <link>http://hg.omfa.de/prosody-hg/log/1693bd4de283/core/sessionmanager.lua</link>
    <description><![CDATA[core.sessionmanager: Delay closing a replaced connection after replacement<br/>
<br/>
Closing the session invokes ondisconnect and session close logic,<br/>
including mod_smacks hibernation and the timer that destroys the session<br/>
after a timeout.<br/>
<br/>
By closing the connection after it has been detached from the sessions<br/>
table it will no longer invoke the ondetach handler, which should<br/>
prevent the above problem.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 07 May 2023 12:27:55 +0200</pubDate>
</item>
<item>
    <title>sessionmanager: Preserve 'since' property of original session after resumption</title>
    <link>http://hg.omfa.de/prosody-hg/log/7b952553bd60/core/sessionmanager.lua</link>
    <description><![CDATA[sessionmanager: Preserve 'since' property of original session after resumption]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Wed, 29 Mar 2023 13:01:53 +0100</pubDate>
</item>
<item>
    <title>core: Prefix module imports with prosody namespace</title>
    <link>http://hg.omfa.de/prosody-hg/log/ead41e25ebc0/core/sessionmanager.lua</link>
    <description><![CDATA[core: Prefix module imports with prosody namespace]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 17 Mar 2023 16:23:07 +0100</pubDate>
</item>
<item>
    <title>Merge 0.12-&gt;trunk</title>
    <link>http://hg.omfa.de/prosody-hg/log/b56a2731bf00/core/sessionmanager.lua</link>
    <description><![CDATA[Merge 0.12-&gt;trunk]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 09 Feb 2023 22:34:05 +0000</pubDate>
</item>
<item>
    <title>sessionmanager: Improve logging around session destruction</title>
    <link>http://hg.omfa.de/prosody-hg/log/09a53ed8f4d5/core/sessionmanager.lua</link>
    <description><![CDATA[sessionmanager: Improve logging around session destruction]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 09 Feb 2023 15:09:03 +0000</pubDate>
</item>
<item>
    <title>core.sessionmanager: Mark session as destroyed to prevent reentry</title>
    <link>http://hg.omfa.de/prosody-hg/log/0d8bf401fa73/core/sessionmanager.lua</link>
    <description><![CDATA[core.sessionmanager: Mark session as destroyed to prevent reentry<br/>
<br/>
If it reaches this point, then the session will be most definitely be<br/>
destroyed, so try to prevent destroy_session() from being called again.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Thu, 19 Jan 2023 21:40:09 +0100</pubDate>
</item>
<item>
    <title>core.sessionmanager: Skip log when (not) destroying destroyed sessions</title>
    <link>http://hg.omfa.de/prosody-hg/log/f6cca7cbf3b2/core/sessionmanager.lua</link>
    <description><![CDATA[core.sessionmanager: Skip log when (not) destroying destroyed sessions<br/>
<br/>
On regular disconnects, &lt;/stream&gt; is sent, then<br/>
sessionmanager.destroy_session() is called, then<br/>
sessionmanager.destroy_session() is called again when the TCP connection<br/>
is closed, from ondisconnect in mod_c2s.<br/>
<br/>
It is a bit annoying and doesn't really tell you much.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Thu, 19 Jan 2023 21:38:14 +0100</pubDate>
</item>
<item>
    <title>sessionmanager: Fire event before retiring old session</title>
    <link>http://hg.omfa.de/prosody-hg/log/a4ac16e5b655/core/sessionmanager.lua</link>
    <description><![CDATA[sessionmanager: Fire event before retiring old session<br/>
<br/>
This allows for modules to update fields, which is generally better than<br/>
maintaining this hard-coded list of transferable properties here.]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 29 Dec 2022 16:25:00 +0000</pubDate>
</item>
<item>
    <title>sessionmanager: Pluck sasl_handler from old session when resuming (fixes #1785)</title>
    <link>http://hg.omfa.de/prosody-hg/log/b95771171439/core/sessionmanager.lua</link>
    <description><![CDATA[sessionmanager: Pluck sasl_handler from old session when resuming (fixes #1785)]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 29 Dec 2022 16:23:08 +0000</pubDate>
</item>
<item>
    <title>mod_smacks: Long overdue cleanup of resumption code, fixes some old TODOs</title>
    <link>http://hg.omfa.de/prosody-hg/log/3b9771d496ed/core/sessionmanager.lua</link>
    <description><![CDATA[mod_smacks: Long overdue cleanup of resumption code, fixes some old TODOs]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Fri, 26 Aug 2022 17:04:15 +0100</pubDate>
</item>
<item>
    <title>mod_authz_internal, and more: New iteration of role API</title>
    <link>http://hg.omfa.de/prosody-hg/log/07424992d7fc/core/sessionmanager.lua</link>
    <description><![CDATA[mod_authz_internal, and more: New iteration of role API<br/>
<br/>
These changes to the API (hopefully the last) introduce a cleaner separation<br/>
between the user's primary (default) role, and their secondary (optional)<br/>
roles.<br/>
<br/>
To keep the code sane and reduce complexity, a data migration is needed for<br/>
people using stored roles in 0.12. This can be performed with<br/>
<br/>
  prosodyctl mod_authz_internal migrate &lt;host&gt;]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Wed, 17 Aug 2022 16:38:53 +0100</pubDate>
</item>
<item>
    <title>mod_authz_internal: Use util.roles, some API changes and config support</title>
    <link>http://hg.omfa.de/prosody-hg/log/f299e570a0fe/core/sessionmanager.lua</link>
    <description><![CDATA[mod_authz_internal: Use util.roles, some API changes and config support<br/>
<br/>
This commit was too awkward to split (hg record didn't like it), so:<br/>
<br/>
- Switch to the new util.roles lib to provide a consistent representation of<br/>
  a role object.<br/>
<br/>
- Change API method from get_role_info() to get_role_by_name() (touches<br/>
  sessionmanager and usermanager)<br/>
<br/>
- Change get_roles() to get_user_roles(), take a username instead of a JID<br/>
  This is more consistent with all other usermanager API methods.<br/>
<br/>
- Support configuration of custom roles and permissions via the config file<br/>
  (to be documented).]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Tue, 19 Jul 2022 18:02:02 +0100</pubDate>
</item>
<item>
    <title>Switch to a new role-based authorization framework, removing is_admin()</title>
    <link>http://hg.omfa.de/prosody-hg/log/9061f9621330/core/sessionmanager.lua</link>
    <description><![CDATA[Switch to a new role-based authorization framework, removing is_admin()<br/>
<br/>
We began moving away from simple &quot;is this user an admin?&quot; permission checks<br/>
before 0.12, with the introduction of mod_authz_internal and the ability to<br/>
dynamically change the roles of individual users.<br/>
<br/>
The approach in 0.12 still had various limitations however, and apart from<br/>
the introduction of roles other than &quot;admin&quot; and the ability to pull that info<br/>
from storage, not much actually changed.<br/>
<br/>
This new framework shakes things up a lot, though aims to maintain the same<br/>
functionality and behaviour on the surface for a default Prosody<br/>
configuration. That is, if you don't take advantage of any of the new<br/>
features, you shouldn't notice any change.<br/>
<br/>
The biggest change visible to developers is that usermanager.is_admin() (and<br/>
the auth provider is_admin() method) have been removed. Gone. Completely.<br/>
<br/>
Permission checks should now be performed using a new module API method:<br/>
<br/>
  module:may(action_name, context)<br/>
<br/>
This method accepts an action name, followed by either a JID (string) or<br/>
(preferably) a table containing 'origin'/'session' and 'stanza' fields (e.g.<br/>
the standard object passed to most events). It will return true if the action<br/>
should be permitted, or false/nil otherwise.<br/>
<br/>
Modules should no longer perform permission checks based on the role name.<br/>
E.g. a lot of code previously checked if the user's role was prosody:admin<br/>
before permitting some action. Since many roles might now exist with similar<br/>
permissions, and the permissions of prosody:admin may be redefined<br/>
dynamically, it is no longer suitable to use this method for permission<br/>
checks. Use module:may().<br/>
<br/>
If you start an action name with ':' (recommended) then the current module's<br/>
name will automatically be used as a prefix.<br/>
<br/>
To define a new permission, use the new module API:<br/>
<br/>
  module:default_permission(role_name, action_name)<br/>
  module:default_permissions(role_name, { action_name[, action_name...] })<br/>
<br/>
This grants the specified role permission to execute the named action(s) by<br/>
default. This may be overridden via other mechanisms external to your module.<br/>
<br/>
The built-in roles that developers should use are:<br/>
<br/>
 - prosody:user (normal user)<br/>
 - prosody:admin (host admin)<br/>
 - prosody:operator (global admin)<br/>
<br/>
The new prosody:operator role is intended for server-wide actions (such as<br/>
shutting down Prosody).<br/>
<br/>
Finally, all usage of is_admin() in modules has been fixed by this commit.<br/>
Some of these changes were trickier than others, but no change is expected to<br/>
break existing deployments.<br/>
<br/>
EXCEPT: mod_auth_ldap no longer supports the ldap_admin_filter option. It's<br/>
very possible nobody is using this, but if someone is then we can later update<br/>
it to pull roles from LDAP somehow.]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Wed, 15 Jun 2022 12:15:01 +0100</pubDate>
</item>
<item>
    <title>core.sessionmanager: Add a dummy rawsend() method to resting sessions</title>
    <link>http://hg.omfa.de/prosody-hg/log/3f1a865e9419/core/sessionmanager.lua</link>
    <description><![CDATA[core.sessionmanager: Add a dummy rawsend() method to resting sessions<br/>
<br/>
Should fix a traceback on attempted use after destruction, in case where<br/>
opportunistic_writes was in use.<br/>
<br/>
Thanks Ge0rG]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Thu, 15 Apr 2021 15:12:35 +0200</pubDate>
</item>
<item>
    <title>sessionmanager: Support passing an auth scope to make_authenticated</title>
    <link>http://hg.omfa.de/prosody-hg/log/de90b2f5da8c/core/sessionmanager.lua</link>
    <description><![CDATA[sessionmanager: Support passing an auth scope to make_authenticated]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Wed, 05 Feb 2020 17:56:20 +0000</pubDate>
</item>
<item>
    <title>core.sessionmanager: Require that client-requested resources pass strict resourceprep</title>
    <link>http://hg.omfa.de/prosody-hg/log/04c4750ff8d2/core/sessionmanager.lua</link>
    <description><![CDATA[core.sessionmanager: Require that client-requested resources pass strict resourceprep]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 02 Nov 2019 15:39:01 +0100</pubDate>
</item>
<item>
    <title>core.sessionmanager: Fix traceback from passing nil to resourceprep</title>
    <link>http://hg.omfa.de/prosody-hg/log/5482f21a18a2/core/sessionmanager.lua</link>
    <description><![CDATA[core.sessionmanager: Fix traceback from passing nil to resourceprep]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 02 Nov 2019 13:24:33 +0100</pubDate>
</item>
<item>
    <title>core.sessionmanager: Remove tostring call from logging</title>
    <link>http://hg.omfa.de/prosody-hg/log/63f87211fcdd/core/sessionmanager.lua</link>
    <description><![CDATA[core.sessionmanager: Remove tostring call from logging<br/>
<br/>
Taken care of by loggingmanager now]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Tue, 30 Jul 2019 02:19:27 +0200</pubDate>
</item>
<item>
    <title>core/sessionmanager: Remove unnecessary fallback in make_authenticated</title>
    <link>http://hg.omfa.de/prosody-hg/log/ce8e18f20693/core/sessionmanager.lua</link>
    <description><![CDATA[core/sessionmanager: Remove unnecessary fallback in make_authenticated]]></description>
    <author>&#77;&#97;&#120;&#105;&#109;&#101;&#32;&#8220;&#112;&#101;&#112;&#8221;&#32;&#66;&#117;&#113;&#117;&#101;&#116;&#32;&#60;&#112;&#101;&#112;&#64;&#98;&#111;&#117;&#97;&#104;&#46;&#110;&#101;&#116;&#62;</author>
    <pubDate>Sat, 01 Jun 2019 15:00:35 +0200</pubDate>
</item>
<item>
    <title>core.sessionmanager: Use util.session to create sessions</title>
    <link>http://hg.omfa.de/prosody-hg/log/6245ee9494c6/core/sessionmanager.lua</link>
    <description><![CDATA[core.sessionmanager: Use util.session to create sessions]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 29 Mar 2019 23:05:08 +0100</pubDate>
</item>
<item>
    <title>sessionmanager: Split byte-level sending into separate session.rawsend</title>
    <link>http://hg.omfa.de/prosody-hg/log/7d12af856238/core/sessionmanager.lua</link>
    <description><![CDATA[sessionmanager: Split byte-level sending into separate session.rawsend]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 24 Mar 2019 08:18:19 +0000</pubDate>
</item>
<item>
    <title>Merge 0.10-&gt;trunk</title>
    <link>http://hg.omfa.de/prosody-hg/log/21730a3642fe/core/sessionmanager.lua</link>
    <description><![CDATA[Merge 0.10-&gt;trunk]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Mon, 30 Jul 2018 15:13:54 +0100</pubDate>
</item>
<item>
    <title>sessionmanager, mod_s2s: Bring debug line for outgoing stanzas in line with that for incoming</title>
    <link>http://hg.omfa.de/prosody-hg/log/22e5f11c778a/core/sessionmanager.lua</link>
    <description><![CDATA[sessionmanager, mod_s2s: Bring debug line for outgoing stanzas in line with that for incoming]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Tue, 24 Jul 2018 19:07:26 +0200</pubDate>
</item>
<item>
    <title>sessionmanager: Log top tag of outgoing stanzas on c2s (#776)</title>
    <link>http://hg.omfa.de/prosody-hg/log/af97ecd00734/core/sessionmanager.lua</link>
    <description><![CDATA[sessionmanager: Log top tag of outgoing stanzas on c2s (#776)]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 22 Jul 2018 19:41:29 +0200</pubDate>
</item>
<item>
    <title>sessionmanager, mod_s2s: Bring debug line for outgoing stanzas in line with that for incoming</title>
    <link>http://hg.omfa.de/prosody-hg/log/f3adcc3fce8c/core/sessionmanager.lua</link>
    <description><![CDATA[sessionmanager, mod_s2s: Bring debug line for outgoing stanzas in line with that for incoming]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Tue, 24 Jul 2018 19:07:26 +0200</pubDate>
</item>
<item>
    <title>sessionmanager: Log top tag of outgoing stanzas on c2s (#776)</title>
    <link>http://hg.omfa.de/prosody-hg/log/1b272b51ae0f/core/sessionmanager.lua</link>
    <description><![CDATA[sessionmanager: Log top tag of outgoing stanzas on c2s (#776)]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 22 Jul 2018 19:41:29 +0200</pubDate>
</item>
<item>
    <title>sessionmanager: Generate shorter random resoures</title>
    <link>http://hg.omfa.de/prosody-hg/log/4d7a822e837f/core/sessionmanager.lua</link>
    <description><![CDATA[sessionmanager: Generate shorter random resoures]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Tue, 29 May 2018 06:51:52 +0200</pubDate>
</item>
<item>
    <title>core: Use prosody.hosts instead of _G.hosts for consistency</title>
    <link>http://hg.omfa.de/prosody-hg/log/9ddd0fbbe53a/core/sessionmanager.lua</link>
    <description><![CDATA[core: Use prosody.hosts instead of _G.hosts for consistency]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Thu, 29 Mar 2018 16:58:06 +0200</pubDate>
</item>
<item>
    <title>vairious: Add annotation when an empty environment is set [luacheck]</title>
    <link>http://hg.omfa.de/prosody-hg/log/4f0f5b49bb03/core/sessionmanager.lua</link>
    <description><![CDATA[vairious: Add annotation when an empty environment is set [luacheck]]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Wed, 28 Feb 2018 20:06:26 +0100</pubDate>
</item>
<item>
    <title>Merge 0.10 -&gt; trunk</title>
    <link>http://hg.omfa.de/prosody-hg/log/e89320b8a789/core/sessionmanager.lua</link>
    <description><![CDATA[Merge 0.10 -&gt; trunk]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Fri, 28 Jul 2017 23:47:38 +0100</pubDate>
</item>
<item>
    <title>sessionmanager: Revert session.type if binding fails due to roster load error</title>
    <link>http://hg.omfa.de/prosody-hg/log/dbcae15b4282/core/sessionmanager.lua</link>
    <description><![CDATA[sessionmanager: Revert session.type if binding fails due to roster load error]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Fri, 28 Jul 2017 23:45:05 +0100</pubDate>
</item>
<item>
    <title>Merge 0.10-&gt;trunk</title>
    <link>http://hg.omfa.de/prosody-hg/log/f91e7ec9654e/core/sessionmanager.lua</link>
    <description><![CDATA[Merge 0.10-&gt;trunk]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 06 Mar 2017 01:14:32 +0100</pubDate>
</item>
<item>
    <title>core: Allow select core modules to mutate some globals (needs luacheck 1.19)</title>
    <link>http://hg.omfa.de/prosody-hg/log/8acc35b5355a/core/sessionmanager.lua</link>
    <description><![CDATA[core: Allow select core modules to mutate some globals (needs luacheck 1.19)]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 04 Mar 2017 20:09:28 +0100</pubDate>
</item>
<item>
    <title>core: Split some very long lines [luacheck]</title>
    <link>http://hg.omfa.de/prosody-hg/log/24170d74b00b/core/sessionmanager.lua</link>
    <description><![CDATA[core: Split some very long lines [luacheck]]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 04 Mar 2017 17:49:48 +0100</pubDate>
</item>
<item>
    <title>Merge 0.10-&gt;trunk</title>
    <link>http://hg.omfa.de/prosody-hg/log/b62353e6a8e5/core/sessionmanager.lua</link>
    <description><![CDATA[Merge 0.10-&gt;trunk]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Wed, 14 Dec 2016 01:47:19 +0100</pubDate>
</item>
<item>
    <title>core.sessionmanager, mod_saslauth: Introduce intermediate session type for authenticated but unbound sessions so that resource binding is not treated as a normal stanza</title>
    <link>http://hg.omfa.de/prosody-hg/log/9f70d35a1602/core/sessionmanager.lua</link>
    <description><![CDATA[core.sessionmanager, mod_saslauth: Introduce intermediate session type for authenticated but unbound sessions so that resource binding is not treated as a normal stanza]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Tue, 13 Dec 2016 18:15:17 +0100</pubDate>
</item>
<item>
    <title>Merge 0.10-&gt;trunk</title>
    <link>http://hg.omfa.de/prosody-hg/log/22942eda53f8/core/sessionmanager.lua</link>
    <description><![CDATA[Merge 0.10-&gt;trunk]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Wed, 13 Jul 2016 18:43:33 +0200</pubDate>
</item>
<item>
    <title>Merge 0.9-&gt;0.10</title>
    <link>http://hg.omfa.de/prosody-hg/log/98c8d14be4ef/core/sessionmanager.lua</link>
    <description><![CDATA[Merge 0.9-&gt;0.10]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Wed, 13 Jul 2016 18:43:28 +0200</pubDate>
</item>
<item>
    <title>sessionmanager: Make session.send() return true unless there really is an error [backported from 0.10]</title>
    <link>http://hg.omfa.de/prosody-hg/log/caee8a32983a/core/sessionmanager.lua</link>
    <description><![CDATA[sessionmanager: Make session.send() return true unless there really is an error [backported from 0.10]]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 21 Sep 2015 23:19:48 +0200</pubDate>
</item>
<item>
    <title>Merge 0.10-&gt;trunk</title>
    <link>http://hg.omfa.de/prosody-hg/log/30b9433a9f3e/core/sessionmanager.lua</link>
    <description><![CDATA[Merge 0.10-&gt;trunk]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Thu, 17 Mar 2016 18:04:43 +0100</pubDate>
</item>
<item>
    <title>mod_c2s: Remove use of util.async</title>
    <link>http://hg.omfa.de/prosody-hg/log/9434a220e549/core/sessionmanager.lua</link>
    <description><![CDATA[mod_c2s: Remove use of util.async]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Thu, 17 Mar 2016 12:47:24 +0100</pubDate>
</item>
<item>
    <title>sessionmanager: Demote write error to debug message</title>
    <link>http://hg.omfa.de/prosody-hg/log/d0ab0069145f/core/sessionmanager.lua</link>
    <description><![CDATA[sessionmanager: Demote write error to debug message]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Thu, 05 Nov 2015 13:35:16 +0100</pubDate>
</item>
<item>
    <title>sessionmanager: Clarify log message when failing to write data to connection</title>
    <link>http://hg.omfa.de/prosody-hg/log/9d74373d621e/core/sessionmanager.lua</link>
    <description><![CDATA[sessionmanager: Clarify log message when failing to write data to connection]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Wed, 04 Nov 2015 12:21:46 +0100</pubDate>
</item>
<item>
    <title>sessionmanager: Make session.send() return true unless there really is an error</title>
    <link>http://hg.omfa.de/prosody-hg/log/eed846384178/core/sessionmanager.lua</link>
    <description><![CDATA[sessionmanager: Make session.send() return true unless there really is an error]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 21 Sep 2015 23:19:48 +0200</pubDate>
</item>
<item>
    <title>core.*: Remove use of module() function</title>
    <link>http://hg.omfa.de/prosody-hg/log/6236668da30a/core/sessionmanager.lua</link>
    <description><![CDATA[core.*: Remove use of module() function]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 21 Feb 2015 10:42:19 +0100</pubDate>
</item>
<item>
    <title>sessionmanager: Rename argument to avoid name clash with local variable [luacheck]</title>
    <link>http://hg.omfa.de/prosody-hg/log/1089f45c5e67/core/sessionmanager.lua</link>
    <description><![CDATA[sessionmanager: Rename argument to avoid name clash with local variable [luacheck]]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Wed, 06 May 2015 19:58:33 +0100</pubDate>
</item>
<item>
    <title>sessionmanager: Rename unused loop variables to '_' [luacheck]</title>
    <link>http://hg.omfa.de/prosody-hg/log/a536978e0f01/core/sessionmanager.lua</link>
    <description><![CDATA[sessionmanager: Rename unused loop variables to '_' [luacheck]]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Wed, 06 May 2015 19:58:03 +0100</pubDate>
</item>
<item>
    <title>portmanager, s2smanager, sessionmanager, stanza_router, storagemanager, usermanager, util.xml: Add luacheck annotations</title>
    <link>http://hg.omfa.de/prosody-hg/log/d3023dd07cb6/core/sessionmanager.lua</link>
    <description><![CDATA[portmanager, s2smanager, sessionmanager, stanza_router, storagemanager, usermanager, util.xml: Add luacheck annotations]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Wed, 06 May 2015 19:20:07 +0100</pubDate>
</item>
<item>
    <title>sessionmanager: Rename parameter to avoid varible name conflict</title>
    <link>http://hg.omfa.de/prosody-hg/log/78d1706982b2/core/sessionmanager.lua</link>
    <description><![CDATA[sessionmanager: Rename parameter to avoid varible name conflict]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Fri, 03 Apr 2015 19:31:05 +0100</pubDate>
</item>
<item>
    <title>Merge 0.9-&gt;0.10</title>
    <link>http://hg.omfa.de/prosody-hg/log/61b6a4fc65f1/core/sessionmanager.lua</link>
    <description><![CDATA[Merge 0.9-&gt;0.10]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 26 Mar 2015 16:48:39 +0000</pubDate>
</item>
<item>
    <title>sessionmanager: Return 'not-allowed' error instead of the non-existent 'already-bound' error when client tries to bind a resource twice on the same stream (thanks Flow) fixes issue #484.</title>
    <link>http://hg.omfa.de/prosody-hg/log/f93e1b2ec327/core/sessionmanager.lua</link>
    <description><![CDATA[sessionmanager: Return 'not-allowed' error instead of the non-existent 'already-bound' error when client tries to bind a resource twice on the same stream (thanks Flow) fixes issue #484.]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Tue, 24 Mar 2015 15:57:46 +0000</pubDate>
</item>
<item>
    <title>sessionmanager: Add pre-resource-bind event that would let plugins have a say in resource binding</title>
    <link>http://hg.omfa.de/prosody-hg/log/bae84401a02c/core/sessionmanager.lua</link>
    <description><![CDATA[sessionmanager: Add pre-resource-bind event that would let plugins have a say in resource binding]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 30 Jan 2015 15:38:54 +0100</pubDate>
</item>
<item>
    <title>sessionmanager: Access bare_session and full_sessions through 'prosody'</title>
    <link>http://hg.omfa.de/prosody-hg/log/784fa05cf594/core/sessionmanager.lua</link>
    <description><![CDATA[sessionmanager: Access bare_session and full_sessions through 'prosody']]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Tue, 20 Jan 2015 11:31:58 +0000</pubDate>
</item>
<item>
    <title>core.sessionmanager: Set a fake thread on destroyed sessions, fixes traceback if stanzas are emitted after a session is destroyed (thanks Sven Blumenstein)</title>
    <link>http://hg.omfa.de/prosody-hg/log/938cc782c14d/core/sessionmanager.lua</link>
    <description><![CDATA[core.sessionmanager: Set a fake thread on destroyed sessions, fixes traceback if stanzas are emitted after a session is destroyed (thanks Sven Blumenstein)]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Thu, 11 Sep 2014 00:09:07 +0200</pubDate>
</item>
<item>
    <title>Remove all trailing whitespace</title>
    <link>http://hg.omfa.de/prosody-hg/log/bd0ff8ae98a8/core/sessionmanager.lua</link>
    <description><![CDATA[Remove all trailing whitespace]]></description>
    <author>&#70;&#108;&#111;&#114;&#105;&#97;&#110;&#32;&#90;&#101;&#105;&#116;&#122;&#32;&#60;&#102;&#108;&#111;&#114;&#111;&#98;&#64;&#98;&#97;&#98;&#101;&#108;&#109;&#111;&#110;&#107;&#101;&#121;&#115;&#46;&#100;&#101;&#62;</author>
    <pubDate>Fri, 09 Aug 2013 17:48:21 +0200</pubDate>
</item>
<item>
    <title>sessionmanager, s2smanager: Remove unused imports</title>
    <link>http://hg.omfa.de/prosody-hg/log/3a821511b9ec/core/sessionmanager.lua</link>
    <description><![CDATA[sessionmanager, s2smanager: Remove unused imports]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 11 Apr 2013 17:35:39 +0100</pubDate>
</item>
<item>
    <title>sessionmanager, s2smanager: Remove open_session tracing</title>
    <link>http://hg.omfa.de/prosody-hg/log/92b88476873a/core/sessionmanager.lua</link>
    <description><![CDATA[sessionmanager, s2smanager: Remove open_session tracing]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Mon, 08 Apr 2013 15:53:18 +0100</pubDate>
</item>
<item>
    <title>core.*: Complete removal of all traces of the &quot;core&quot; section and section-related code.</title>
    <link>http://hg.omfa.de/prosody-hg/log/898454038524/core/sessionmanager.lua</link>
    <description><![CDATA[core.*: Complete removal of all traces of the &quot;core&quot; section and section-related code.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 23 Mar 2013 02:33:15 +0100</pubDate>
</item>
<item>
    <title>s2smanager: Generate session names used for logging the same way everywhere</title>
    <link>http://hg.omfa.de/prosody-hg/log/10bc0e2aa55e/core/sessionmanager.lua</link>
    <description><![CDATA[s2smanager: Generate session names used for logging the same way everywhere]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Thu, 24 Jan 2013 00:58:17 +0100</pubDate>
</item>

  </channel>
</rss>
