<?xml version="1.0" encoding="UTF-8"?>
	<feed xmlns="http://www.w3.org/2005/Atom">
	<id>http://blog.prosody.im/</id>
	<title>Prosodical Thoughts</title>
	<subtitle>A blog about Prosody.</subtitle>
	<link href='http://blog.prosody.im/feed/atom.xml' rel='self' />
	<link href='http://blog.prosody.im/' />
	<updated>2010-07-13T17:37:04Z</updated>
<entry>
	<author>
		<name>The Prosody Team</name>
	</author>
	<id>http://blog.prosody.im/prosody-nightly-builds/</id>
	<title>Prosody nightly builds</title>
	<published>2010-07-13T17:36:59Z</published>
	<updated>2010-07-13T17:36:59Z</updated>
	<link href='http://blog.prosody.im/prosody-nightly-builds/' />
	<content type='html'>


&lt;p>For quite a while we have made it easy to get snapshots of the latest Prosody source, 
and also provided a 64-bit Debian package (prosody-dev) that tracks Prosody's main
development branch.&lt;/p>

&lt;p>We just completed the last pieces of a new system for building regular
nightly builds for each of our active branches. Produced every day at 5AM
UTC are builds of a source tarball and Debian/Ubuntu 32-bit and 64-bit packages.&lt;/p>

&lt;p>Eventually we plan to extend this system to building for various other platforms (including
Windows).&lt;/p>

&lt;p>You can find all the builds at &lt;a href="http://prosody.im/nightly/">http://prosody.im/nightly/&lt;/a>.&lt;/p>

&lt;p>The Debian packages are automatically uploaded every night to our
&lt;a href="http://prosody.im/download/package_repository">package repository&lt;/a>, and the packages are
named according to the branch they are built from. Currently available are: prosody-0.6,
prosody-0.7, and prosody-trunk (this last is always following the very latest development code).&lt;/p>

&lt;p>The build server is generously donated by Florian Thießen, who also runs a public service
running Prosody, &lt;a href="http://thiessen.im/">thiessen.im&lt;/a>.&lt;/p>

	</content>
</entry>
<entry>
	<author>
		<name>The Prosody Team</name>
	</author>
	<id>http://blog.prosody.im/prosody-0-7-0-released/</id>
	<title>Prosody 0.7.0 released</title>
	<published>2010-06-14T18:19:56Z</published>
	<updated>2010-06-14T19:24:03Z</updated>
	<link href='http://blog.prosody.im/prosody-0-7-0-released/' />
	<content type='html'>


&lt;p>We did it! We are very pleased to announce the release of &lt;a href="http://prosody.im/">Prosody&lt;/a> 0.7.0.&lt;/p>

&lt;p>&lt;a href="#download">Download links&lt;/a> are below, but first let's take a look at some of the new features...&lt;/p>

&lt;h2>Efficient connection handling&lt;/h2>

&lt;p>One of the most significant changes in &lt;a href="http://prosody.im/doc/release/0.7.0">Prosody 0.7&lt;/a> is the
added support for &lt;a href="http://www.monkey.org/~provos/libevent/">libevent&lt;/a>, meaning Prosody can
efficiently handle very large numbers of connections on a variety of platforms using epoll, kqueue,
and a range of other mechanisms.&lt;/p>

&lt;p>For more information see &lt;a href="http://prosody.im/doc/libevent">our libevent documentation&lt;/a>.&lt;/p>

&lt;h2>Cyrus SASL authentication&lt;/h2>

&lt;p>There is also now support for &lt;a href="http://asg.web.cmu.edu/sasl/">Cyrus SASL&lt;/a> to handle authentication,
allowing the use of &lt;a href="http://en.wikipedia.org/wiki/LDAP">LDAP&lt;/a>,
&lt;a href="http://en.wikipedia.org/wiki/Pluggable_Authentication_Modules">PAM&lt;/a>,
&lt;a href="http://en.wikipedia.org/wiki/SQL">SQL&lt;/a> or a range of other authentication methods such as
&lt;a href="http://en.wikipedia.org/wiki/GSSAPI">GSSAPI&lt;/a>.&lt;/p>

&lt;p>For more information see &lt;a href="http://prosody.im/doc/cyrus_sasl">our Cyrus SASL backend documentation&lt;/a>.&lt;/p>

&lt;h2>SCRAM authentication&lt;/h2>

&lt;p>&lt;a href="http://ayena.de/">Tobias Markmann&lt;/a> has also added support for SCRAM, a new authentication mechanism that
&lt;a href="http://tools.ietf.org/html/draft-ietf-sasl-scram#appendix-B">solves&lt;/a> a lot of the 
&lt;a href="http://tools.ietf.org/html/draft-ietf-sasl-scram#appendix-A">problems and weaknesses&lt;/a> found in the current and
widely-used mechanisms. Prosody's SCRAM support has been successfully tested against development versions of
&lt;a href="http://pidgin.im/">Pidgin&lt;/a>, &lt;a href="http://pandion.im/">Pandion&lt;/a>, &lt;a href="http://gajim.org/">Gajim&lt;/a>, &lt;a href="http://ayena.de/sleep_tight_password_safe">Psi&lt;/a>,
&lt;a href="http://telepathy.freedesktop.org/wiki/">Telepathy&lt;/a> and the newcomer &lt;a href="http://swift.im/releases/swift-1.0beta2/">Swift&lt;/a>.&lt;/p>

&lt;p>Also in the area of authentication and security, we have decided to make Prosody advertise the 'PLAIN' SASL mechanism
by default only when the client's connection to the server is encrypted. This means that even when encryption isn't
enforced, clients will never be transmitting passwords in a form that can easily be reversed.&lt;/p>

&lt;h2>Privacy lists&lt;/h2>

&lt;p>For a while &lt;a href="http://thilo.cestona.ro/">Thilo Cestonaro&lt;/a> has been busy contributing plugins to our
&lt;a href="http://code.google.com/p/prosody-modules/">prosody-modules&lt;/a> project. Finally this release pulls in two of his plugins,
mod_privacy and mod_proxy65.&lt;/p>

&lt;p>Privacy lists allow users to configure custom filters for messages, presence and queries. This is already supported
by most clients, which allow you to create very flexible rule-based filters.&lt;/p>

&lt;p>Sometimes privacy lists are far more powerful than you need though, so we also
&lt;a href="http://code.google.com/p/prosody-modules/wiki/mod_blocking">have a plugin&lt;/a> (currently experimental) for a protocol
known as "&lt;a href="http://xmpp.org/extensions/xep-0191.html">Simple Communications Blocking&lt;/a>", which allows you to simply
configure a list of JIDs you wish to block all communications with.&lt;/p>

&lt;h2>File transfer proxying&lt;/h2>

&lt;p>File transfer in XMPP has been notoriously unreliable. This is in large part due to ever-increasing presence of firewalls
and NAT routers between users, preventing connections directly between clients.&lt;/p>

&lt;p>Using mod_proxy65, a client can request that Prosody acts as an intermediary in a file transfer - both clients connect to
the server, and the server will relay data between them.&lt;/p>

&lt;p>Most clients already support this protocol (&lt;a href="http://xmpp.org/extensions/xep-0065.html">XEP-0065&lt;/a>, as the name suggests),
and so once configured on the server it should work with any modern client out of the box.&lt;/p>

&lt;p>Setting up the file transfer proxy is described in our
&lt;a href="http://prosody.im/doc/modules/mod_proxy65">mod_proxy65 documentation&lt;/a>.&lt;/p>

&lt;h2>Port multiplexing&lt;/h2>

&lt;p>An experimental new feature allows you to configure Prosody to run more than one kind of service on a single port. As an
example you can handle both client-to-server and server-to-server connections on a single port, in fact, it even supports
HTTP and BOSH! This means that you could serve XMPP clients on port 80, and still serve files over HTTP and
allow BOSH connections on that port.&lt;/p>

&lt;p>To try it out, simply set the list of ports in the config, for example: "ports = { 5222, 80 }" - no need to specify
which service(s) each port is for.&lt;/p>

&lt;p>Further port configuration is described in our &lt;a href="http://prosody.im/doc/configure">documentation&lt;/a>.&lt;/p>

&lt;h2>Error notification&lt;/h2>

&lt;p>Another relatively minor, but very useful change is that when Prosody fails to deliver a message over a server-to-server
connection, it includes in the generated error message what caused the failure. The feature is probably best described
with a screenshot (this is of Gajim):&lt;/p>

&lt;p>&lt;img src="/files/prosody_connection_failed.png" alt="Image showing connection failed message from Prosody" />&lt;/p>

&lt;p>By providing this information we can allow client developers to provide better user interfaces. Error handling and
reporting is in our experience one area where all the major clients have a lot of room for improvement. Hopefully
this can help them on their way to more explanatory errors.&lt;/p>

&lt;h2>Proxy-less BOSH&lt;/h2>

&lt;p>BOSH is a great technology which allows XMPP to be used from web pages. However it has traditionally been rather
restricted by Javascript's "same-origin" policy, which prevents a page from connecting to the XMPP server unless
it is on the same domain and port.&lt;/p>

&lt;p>Until now this has been solved by using a server proxy on the page's domain to forward requests to the XMPP server,
or to use Flash to make the requests, via &lt;a href="http://flxhr.flensed.com/">flxhr&lt;/a>.&lt;/p>

&lt;p>However browsers now are beginning to support a new specification known as
&lt;a href="http://www.w3.org/TR/cors/">Cross-Origin Resource Sharing (CORS)&lt;/a>. This allows a browser to ask for permission from the
remote domain to send requests there.&lt;/p>

&lt;p>Support for CORS is now implemented in Prosody, and a browser also supporting CORS can connect to Prosody via BOSH
without using a proxy, and without using Flash. CORS works out of the box with
&lt;a href="http://code.stanziq.com/strophe/">Strophe.js&lt;/a>.&lt;/p>

&lt;p>Details on configuring CORS support to suit your setup can be found in
&lt;a href="http://prosody.im/doc/modules/mod_bosh">our BOSH documentation&lt;/a>.&lt;/p>

&lt;h2>Other changes&lt;/h2>

&lt;p>This release includes many other changes, features and improvements. These include compression for server-to-server
streams, disabling support for the insecure SSLv2 protocol, fixes to make PEP support compatible with User Avatar,
and non-anonymous rooms and room destruction for MUC.&lt;/p>

&lt;p>There have also been numerous changes to improve performance, and compliance with the latest XMPP specifications.&lt;/p>

&lt;p>As always, you can reach us in any of the &lt;a href="http://prosody.im/discuss">usual places&lt;/a> for feedback, bug reports or
words of thanks :-)&lt;/p>

&lt;p>&lt;a name="download">&lt;/a>&lt;/p>
&lt;h1>Download&lt;/h1>

&lt;p>&lt;strong>Windows&lt;/strong>: &lt;a href="http://prosody.im/downloads/windows/ProsodySetup-0.7.0.exe">Installer&lt;/a> | &lt;a href="http://prosody.im/downloads/windows/Prosody-0.7.0.zip">Zip&lt;/a>&lt;/p>

&lt;p>&lt;strong>OS X&lt;/strong>: &lt;a href="http://prosody.im/downloads/mac/prosody-0.7.0.dmg">Installer&lt;/a> (requires OS X 10.5 or newer, Intel (32bit/64bit) and PowerPC (32bit))&lt;/p>

&lt;p>&lt;strong>Debian/Ubuntu&lt;/strong>: &lt;a href="http://prosody.im/downloads/debian/prosody_0.7.0-1_i386.deb">32-bit&lt;/a> | &lt;a href="http://prosody.im/downloads/debian/prosody_0.7.0-1_amd64.deb">64-bit&lt;/a>&lt;/p>

&lt;p>&lt;strong>Source tarball&lt;/strong>: &lt;a href="http://prosody.im/downloads/source/prosody-0.7.0.tar.gz">prosody-0.7.0.tar.gz&lt;/a>&lt;/p>


	</content>
</entry>
<entry>
	<author>
		<name>The Prosody Team</name>
	</author>
	<id>http://blog.prosody.im/prosody-0-7-0rc2-available-for-testing/</id>
	<title>Prosody 0.7.0RC2 available for testing</title>
	<published>2010-05-26T18:18:36Z</published>
	<updated>2010-05-26T18:21:53Z</updated>
	<link href='http://blog.prosody.im/prosody-0-7-0rc2-available-for-testing/' />
	<content type='html'>


&lt;p>It's been a while, but we're back with a new release candidate
for &lt;a href="http://prosody.im/">Prosody&lt;/a> 0.7.0! The last one gave us
valuable feedback and caught issues we'd never have caught
without all our users who helped with the testing. Thanks!&lt;/p>

&lt;p>So, now for RC2. The links to download are below. There have been
quite a few fixes and improvements, here is the list of changes
since RC1:&lt;/p>

&lt;ul>
    &lt;li>SASL SCRAM updated for the latest specifications.&lt;/li>
    &lt;li>More robust handling of running out of file descriptors.&lt;/li>
    &lt;li>Replaced broadcast_message_policy with ignore_presence_priority
    for compatibility with the new XMPP specifications.&lt;/li>
    &lt;li>Option consider_bosh_secure for those using HTTPS->HTTP proxies
    and Prosody's encryption enforcement.&lt;/li>
    &lt;li>Fixes and optimisations for mod_privacy.&lt;/li>
    &lt;li>Support for canonicalizing credentials sent to Cyrus SASL.&lt;/li>
    &lt;li>Fix for HTTPS server handling of large client->server payloads.&lt;/li>
    &lt;li>Fix for ghost BOSH users triggered by using Apache for proxying,
    Firefox as a browser or a range of other random variables :)&lt;/li>
    &lt;li>mod_proxy65 now works with libevent backend.&lt;/li>
    &lt;li>Fix MUC issue preventing role changes by non-owners.&lt;/li>
    &lt;li>Fix timers not firing when using libevent.&lt;/li>
    &lt;li>Fix namespacing of stanzas sent over s2s connections.&lt;/li>
    &lt;li>Don't re-send data when connection closes, causing high CPU usage.&lt;/li>
    &lt;li>Add s2s_allow_encryption option to allow disabling encryption for
    s2s.&lt;/li>
    &lt;li>Improve error reporting when using Cyrus SASL.&lt;/li>
    &lt;li>Make mod_groups (shared rosters) work with roster versioning
    clients.&lt;/li>
    &lt;li>Fix compression to work with Pandion, and clients which negotiate
    it immediately after SASL and before resource binding.&lt;/li>
    &lt;li>Handle multiple IPs per nameserver statement in resolv.conf&lt;/li>
    &lt;li>Improve the handling of errors received from OpenSSL when loading
    certificates.&lt;/li>
&lt;/ul>

&lt;p>If you want to give 0.7.0 a try before the final release, download it below,
and let us know how you get on. If all goes well then we'll be releasing
0.7.0 final shortly!&lt;/p>

&lt;h2>Download&lt;/h2>

&lt;p>&lt;strong>Windows&lt;/strong>:
&lt;a href="http://prosody.im/tmp/0.7.0rc2/ProsodySetup-0.7.0rc2.exe">Installer&lt;/a> | 
&lt;a href="http://prosody.im/tmp/0.7.0rc2/Prosody-0.7.0rc2.zip">Zip&lt;/a>&lt;/p>

&lt;p>&lt;strong>OS X&lt;/strong>: &lt;a href="http://prosody.im/tmp/0.7.0rc2/prosody-0.7.0rc2.dmg">Installer&lt;/a>
(requires OS X 10.5 or newer, Intel (32bit/64bit) and PowerPC (32bit))&lt;/p>

&lt;p>&lt;strong>Debian/Ubuntu&lt;/strong>: &lt;a href="http://prosody.im/tmp/0.7.0rc2/prosody_0.7.0-1~rc2_i386.deb">32-bit&lt;/a> | 
&lt;a href="http://prosody.im/tmp/0.7.0rc2/prosody_0.7.0-1~rc2_amd64.deb">64-bit&lt;/a>&lt;/p>

&lt;p>&lt;strong>Source tarball&lt;/strong>: &lt;a href="http://prosody.im/tmp/0.7.0rc2/prosody-0.7.0rc2.tar.gz">prosody-0.7.0rc2.tar.gz&lt;/a>&lt;/p>

	</content>
</entry>
<entry>
	<author>
		<name>The Prosody Team</name>
	</author>
	<id>http://blog.prosody.im/prosody-0-6-2-released/</id>
	<title>Prosody 0.6.2 released</title>
	<published>2010-04-28T14:05:48Z</published>
	<updated>2010-04-28T14:05:48Z</updated>
	<link href='http://blog.prosody.im/prosody-0-6-2-released/' />
	<content type='html'>


&lt;p>We are pleased to announce the release of Prosody 0.6.2.&lt;/p>

&lt;p>This release fixes a bucketful of issues, some big, some small. The
most notable changes include:&lt;/p>

&lt;ul>
    &lt;li>Disable SSLv2 by default, as it is insecure&lt;/li>
    &lt;li>Fix a bug that could cause invalid XML to be sent to clients&lt;/li>
    &lt;li>In some cases data sent immediately before socket close could be lost&lt;/li>
    &lt;li>c2s/s2s require_encryption options now do what they say on the tin&lt;/li>
    &lt;li>Improved detection of already-running Prosody instances&lt;/li>
    &lt;li>Fixed a small memory leak in HTTP/BOSH&lt;/li>
    &lt;li>Ensure that the namespace on sent s2s stanzas is always jabber:server&lt;/li>
    &lt;li>Fix to correct the algorithm used in selecting SRV targets from DNS&lt;/li>
&lt;/ul>

&lt;p>In addition we have slightly reformatted the default configuration file,
in an attempt to make first-time configuration easier, based on feedback
received from users. All existing configuration files work with &lt;em>no&lt;/em>
changes required.&lt;/p>

&lt;p>Thanks to everyone who has helped find and report bugs, and help test the
fixes for this release. We couldn't have done it without you :)&lt;/p>

&lt;h2>Download&lt;/h2>

&lt;p>&lt;strong>Windows&lt;/strong>: &lt;a href="http://prosody.im/downloads/windows/ProsodySetup-0.6.2.exe">Installer&lt;/a> |&lt;a href="http://prosody.im/downloads/windows/Prosody-0.6.2.zip">Zip&lt;/a>&lt;/p>

&lt;p>&lt;strong>Debian/Ubuntu&lt;/strong>: &lt;a href="http://prosody.im/downloads/debian/prosody_0.6.2-1_i386.deb">32-bit&lt;/a> | &lt;a href="http://prosody.im/downloads/debian/prosody_0.6.2-1_amd64.deb">64-bit&lt;/a>&lt;/p>

&lt;p>&lt;strong>Source tarball&lt;/strong>: &lt;a href="http://prosody.im/downloads/source/prosody-0.6.2.tar.gz">prosody-0.6.2.tar.gz&lt;/a>&lt;/p>


	</content>
</entry>
<entry>
	<author>
		<name>The Prosody Team</name>
	</author>
	<id>http://blog.prosody.im/google-summer-of-code-2010/</id>
	<title>Google Summer of Code 2010</title>
	<published>2010-03-25T11:57:43Z</published>
	<updated>2010-03-25T11:59:37Z</updated>
	<link href='http://blog.prosody.im/google-summer-of-code-2010/' />
	<content type='html'>


&lt;p>The &lt;a href="http://xmpp.org/">XMPP Standards Foundation&lt;/a> learnt this week that it has been
&lt;a href="http://socghop.appspot.com/gsoc/program/accepted_orgs/google/gsoc2010">accepted&lt;/a>
to participate in &lt;a href="http://code.google.com/soc/">Google's Summer of Code&lt;/a> programme for 2010.&lt;/p>

&lt;p>This programme, occurring each summer since 2005, encourages students
to spend their summer working on open-source software, sponsored by &lt;a href="http://google.com/">Google&lt;/a>.&lt;/p>

&lt;p>If you're a student and want to work on XMPP software over the summer, apply! You may apply to 
work on anything XMPP-related, and if you're not sure what would make a good project then check
out the XMPP &lt;a href="http://wiki.xmpp.org/web/Summer_of_Code_2010_Project_Ideas">GSoC ideas page&lt;/a> for
this year. Although student applications are not being submitted until next week now is a good
time to plan what you're going to work on and discuss it with the relevant project(s).&lt;/p>

&lt;p>The &lt;a href="http://prosody.im/">Prosody&lt;/a> community also had a brainstorming session and came up with some
&lt;a href="http://prosody.im/gsoc">Prosody-related GSoC projects&lt;/a> that would be interesting to work on. Again,
remember that you're free to come up with your own project ideas too.&lt;/p>

&lt;p>If you're interested in working on Prosody then &lt;a href="http://prosody.im/discuss">get talking to us&lt;/a> now! &lt;/p>

&lt;p>If you're looking for other XMPP software projects participating in GSoC then take a peek at their
sites listed on &lt;a href="http://wiki.xmpp.org/web/Summer_of_Code_2010_Project_Ideas">this page&lt;/a> or join the
&lt;a href="xmpp:jdev@conference.jabber.org?join">jdev@conference.jabber.org&lt;/a> chatroom. If you're still lost
you can join &lt;a href="irc://irc.freenode.net/%26jabber">#jabber on Freenode&lt;/a> and someone can point you in
the right direction.&lt;/p>

&lt;p>Good luck!&lt;/p>

	</content>
</entry>
<entry>
	<author>
		<name>The Prosody Team</name>
	</author>
	<id>http://blog.prosody.im/prosody-0-7-0rc1-available-for-testing/</id>
	<title>Prosody 0.7.0rc1 available for testing</title>
	<published>2010-03-02T03:43:37Z</published>
	<updated>2010-03-02T09:58:50Z</updated>
	<link href='http://blog.prosody.im/prosody-0-7-0rc1-available-for-testing/' />
	<content type='html'>


&lt;p>This is a release candidate for the upcoming (and long-awaited) &lt;a href="http://prosody.im/">Prosody&lt;/a> 0.7.0. With some
testing and user feedback we hope that this will become the official 0.7.0 release
in a week or two.&lt;/p>

&lt;p>The main new feature of the &lt;a href="http://hg.prosody.im/0.7">0.7 branch&lt;/a> is support for &lt;a href="http://www.monkey.org/~provos/libevent/">libevent&lt;/a>,
meaning Prosody can efficiently handle large numbers of connections on a variety of platforms (expect
benchmarks soon...). There is now also support for &lt;a href="http://asg.web.cmu.edu/sasl/">Cyrus SASL&lt;/a> to handle
authentication, allowing the use of &lt;a href="http://en.wikipedia.org/wiki/LDAP">LDAP&lt;/a>,
&lt;a href="http://en.wikipedia.org/wiki/Pluggable_Authentication_Modules">PAM&lt;/a>, &lt;a href="http://en.wikipedia.org/wiki/SQL">SQL&lt;/a>
or a range of other authentication methods such as &lt;a href="http://en.wikipedia.org/wiki/GSSAPI">GSSAPI&lt;/a>.&lt;/p>

&lt;p>&lt;a href="http://ayena.de/">Tobias Markmann&lt;/a> has also added support for SCRAM, a new authentication mechanism that
&lt;a href="http://tools.ietf.org/html/draft-ietf-sasl-scram#appendix-B">solves&lt;/a> a lot of the 
&lt;a href="http://tools.ietf.org/html/draft-ietf-sasl-scram#appendix-A">problems and weaknesses&lt;/a> found in the current and
widely-used mechanisms. Prosody's SCRAM support has been successfully tested against development versions of
&lt;a href="http://pidgin.im/">Pidgin&lt;/a>, &lt;a href="http://pandion.im/">Pandion&lt;/a> and &lt;a href="http://gajim.org/">Gajim&lt;/a>.&lt;/p>

&lt;p>For a while &lt;a href="http://thilo.cestona.ro/">Thilo Cestonaro&lt;/a> has been busy contributing plugins to our
&lt;a href="http://code.google.com/p/prosody-modules/">prosody-modules&lt;/a> project. Finally this release pulls in two of his plugins,
mod_privacy and mod_proxy65.&lt;/p>

&lt;p>A summary of changes since 0.6.1 (a more detailed post will accompany the final release):&lt;/p>

&lt;ul>
    &lt;li>&lt;a href="http://prosody.im/doc/libevent">libevent&lt;/a>: Better connection scaling&lt;/li>
    &lt;li>&lt;a href="http://prosody.im/doc/modules/mod_proxy65">mod_proxy65&lt;/a>: &lt;a href="http://xmpp.org/extensions/xep-0065.html">XEP-0065&lt;/a>: SOCKS5 Bytestreams proxy&lt;/li>
    &lt;li>&lt;a href="http://prosody.im/doc/modules/mod_saslauth">SASL&lt;/a>: Support for Cyrus SASL backend&lt;/li>
    &lt;li>&lt;a href="http://prosody.im/doc/modules/mod_saslauth">SASL&lt;/a>: Support for &lt;a href="http://tools.ietf.org/html/draft-ietf-sasl-scram#section-2">SCRAM-SHA-1&lt;/a> mechanism&lt;/li>
    &lt;li>&lt;a href="http://prosody.im/doc/modules/mod_saslauth">SASL&lt;/a>: Allow insecure &lt;a href="http://tools.ietf.org/html/rfc4616">PLAIN&lt;/a> authentication on encrypted connections only by default&lt;/li>
    &lt;li>&lt;a href="http://prosody.im/doc/modules/mod_compression">Compression&lt;/a>: Support stream compression between servers now, as well as clients&lt;/li>
    &lt;li>SSL: Disable SSLv2 protocol by default as it &lt;a href="http://en.wikipedia.org/wiki/Transport_Layer_Security#SSL_versions_1.2C_2.2C_and_3">is insecure&lt;/a>&lt;/li>
    &lt;li>&lt;a href="http://prosody.im/doc/modules/mod_pep">PEP&lt;/a>: Support for on-demand item retrieval to allow &lt;a href="http://xmpp.org/extensions/xep-0084.html">User Avatar&lt;/a> support&lt;/li>
    &lt;li>Port multiplexing: Allow multiple services (c2s, s2s, HTTP/BOSH) on a single port&lt;/li>
    &lt;li>Errors: Return the exact reason when server-to-server connections fail&lt;/li>
    &lt;li>&lt;a href="http://prosody.im/doc/modules/mod_muc">MUC&lt;/a>: Add support for non-anonymous rooms (real JIDs visible to all)&lt;/li>
    &lt;li>&lt;a href="http://prosody.im/doc/modules/mod_muc">MUC&lt;/a>: Allow destruction of rooms by owners&lt;/li>
    &lt;li>&lt;a href="http://prosody.im/doc/modules/mod_bosh">BOSH&lt;/a>: Cross-domain request support, avoiding the need for proxies&lt;/li>
    &lt;li>&lt;a href="http://prosody.im/doc/modules/mod_privacy">mod_privacy&lt;/a>: &lt;a href="http://xmpp.org/extensions/xep-0016.html">XEP-0016&lt;/a>: Privacy Lists&lt;/li>
    &lt;li>&lt;a href="http://prosody.im/doc/modules/mod_muc">MUC&lt;/a>: Show precise error when users are kicked from rooms&lt;/li>
&lt;/ul>

&lt;p>&lt;em>Known issues:&lt;/em>
  For now the proxy65 module does not work with libevent enabled.
  Depending on the time taken to develop the fix it will either go into
  0.7.0 final or 0.7.1 when ready - but we decided it shouldn't
  delay the release.&lt;/p>

&lt;p>As always, please report any issues to any of the usual places, see
&lt;a href="http://prosody.im/bugs/">http://prosody.im/bugs/&lt;/a> and &lt;a href="http://prosody.im/discuss/">http://prosody.im/discuss/&lt;/a>.&lt;/p>

&lt;h1>Download&lt;/h1>

&lt;p>&lt;strong>Windows&lt;/strong>: &lt;a href="http://prosody.im/tmp/0.7.0rc1/ProsodySetup-0.7.0rc1.exe">Installer&lt;/a> | &lt;a href="http://prosody.im/tmp/0.7.0rc1/Prosody-0.7.0rc1.zip">Zip&lt;/a>&lt;/p>

&lt;p>&lt;strong>OS X&lt;/strong>: &lt;a href="http://prosody.im/tmp/0.7.0rc1/prosody-0.7.0rc1.dmg">Installer&lt;/a> (requires OS X 10.5 or newer, Intel (32bit/64bit) and PowerPC (32bit))&lt;/p>

&lt;p>&lt;strong>Debian/Ubuntu&lt;/strong>: &lt;a href="http://prosody.im/tmp/0.7.0rc1/prosody_0.7.0-1~rc1_i386.deb">32-bit&lt;/a> | &lt;a href="http://prosody.im/tmp/0.7.0rc1/prosody_0.7.0-1~rc1_amd64.deb">64-bit&lt;/a>&lt;/p>

&lt;p>&lt;strong>Source tarball&lt;/strong>: &lt;a href="http://prosody.im/tmp/0.7.0rc1/prosody-0.7.0rc1.tar.gz">prosody-0.7.0rc1.tar.gz&lt;/a>&lt;/p>


	</content>
</entry>
<entry>
	<author>
		<name>Matthew Wild</name>
	</author>
	<id>http://blog.prosody.im/proxy-less-bosh-with-prosody/</id>
	<title>Proxy-less BOSH with Prosody</title>
	<published>2010-01-22T15:17:46Z</published>
	<updated>2010-01-22T15:17:46Z</updated>
	<link href='http://blog.prosody.im/proxy-less-bosh-with-prosody/' />
	<content type='html'>


&lt;p>Prompted by &lt;a href="http://metajack.im/">Jack Moffitt&lt;/a>'s post on 
&lt;a href="http://metajack.im/2010/01/19/crossdomain-ajax-for-xmpp-http-binding-made-easy/">cross-domain BOSH&lt;/a>
I have added support for the necessary HTTP headers to &lt;a href="http://prosody.im/">Prosody&lt;/a>. This means that
providing the user has a modern browser, no proxy is required to connect to the BOSH URL (usually
running on a separate port to the normal web server) via (for example) &lt;a href="http://code.stanziq.com/strophe/">Strophe.js&lt;/a>
 or &lt;a href="http://blog.jwchat.org/jsjac/">JSJaC&lt;/a>.&lt;/p>

&lt;p>In Prosody &lt;a href="http://hg.prosody.im/trunk/">trunk&lt;/a> (to become the 0.7 version) simply add to your config:&lt;/p>

&lt;pre>&lt;code>cross_domain_bosh = true
&lt;/code>&lt;/pre>

&lt;p>This allows a script on any website to connect to your BOSH URLs. Alternatively you can restrict requests only to
certain domains (such as your own), for example:&lt;/p>

&lt;pre>&lt;code>cross_domain_bosh = { "http://prosody.im", "http://jabber.org" }
&lt;/code>&lt;/pre>

&lt;p>would allow a script on either of those sites to connect.&lt;/p>

&lt;p>Have fun playing with this new feature - I know I shall. &lt;a href="http://prosody.im/discuss">Feedback&lt;/a> welcome as always.&lt;/p>

	</content>
</entry>
<entry>
	<author>
		<name>Matthew Wild</name>
	</author>
	<id>http://blog.prosody.im/prosody-at-fosdem/</id>
	<title>Prosody at FOSDEM</title>
	<published>2010-01-20T03:21:59Z</published>
	<updated>2010-01-20T23:36:36Z</updated>
	<link href='http://blog.prosody.im/prosody-at-fosdem/' />
	<content type='html'>


&lt;p>Just a quick note to say that at least one half of the &lt;a href="http://prosody.im/">Prosody&lt;/a>
dev team will be attending &lt;a href="http://fosdem.org/">FOSDEM&lt;/a>, Brussels in February. We'll
also be at the surrounding &lt;a href="http://xmpp.org/summit/summit8.shtml">XMPP hackfest and summit&lt;/a>.&lt;/p>

&lt;p>Speaking of hackfest... we were wondering what we should develop on the day. I'm after 
something fun, and different... if you have any interesting ideas for what we could do
with XMPP in a day, &lt;a href="http://prosody.im/discuss">shout now&lt;/a>.&lt;/p>

&lt;p>If you want to join in and find out how to develop modules and components for Prosody, you're
welcome to join us, just make sure you get added to the attendance list by posting to the
&lt;a href="http://mail.jabber.org/mailman/listinfo/summit">summit mailing list&lt;/a>. See you there!&lt;/p>

	</content>
</entry>
<entry>
	<author>
		<name>The Prosody Team</name>
	</author>
	<id>http://blog.prosody.im/one-year-ago-today/</id>
	<title>One year ago today</title>
	<published>2009-12-03T21:38:50Z</published>
	<updated>2009-12-04T01:21:09Z</updated>
	<link href='http://blog.prosody.im/one-year-ago-today/' />
	<content type='html'>


&lt;p>Grab a few enthusiastic XMPP developers, a neat lightweight scripting language and put them together, what do you get?&lt;/p>

&lt;p>One year ago today we &lt;a href="http://mail.jabber.org/pipermail/jdev/2008-December/028640.html">released&lt;/a> the
&lt;a href="http://prosody.im/doc/release/0.1.0">first version&lt;/a> of &lt;a href="http://prosody.im/">Prosody&lt;/a>. The early versions 
worked (kind of), and were quite feature-packed for initial releases now that I look back. The second release 
was made before the month's end, and fixed a range of open issues. By the third release we had switched licenses from 
GPL to MIT, to give less restriction on what could be done with our code.&lt;/p>

&lt;p>Fast-forward to today and we've just made our 11th release, are hard working on the 12th, and are very excited about the 
coming months.&lt;/p>

&lt;p>I'd like to thank everyone who has contributed to Prosody, both with &lt;a href="http://www.ohloh.net/p/prosody/contributors">source code&lt;/a>
and with a voice in our (very busy) &lt;a href="http://prosody.im/discuss">community&lt;/a>.&lt;/p>

&lt;p>In particular thanks to albert, our unofficial release driver (and whom we have to thank for making sure we supported IDNA
correctly in our first release). Also to &lt;a href="http://thiessen.im/">Florian Thießen&lt;/a> (no, I can't pronounce that either), who became the first person 
to run a &lt;a href="http://xmpp.org/services">public XMPP service&lt;/a> using Prosody.&lt;/p>

&lt;p>Thanks to Enrico Tassi and Sergei Golovan who helped with Debian packaging and getting &lt;a href="/prosody-in-debian/">Prosody into Debian&lt;/a>, 
as well as all our packagers for other platforms.&lt;/p>

&lt;p>Also deserving a special mention are Paul Aurich, who we have to thank for giving the s2s TLS code his magic touch, and 
Thilo Cestonaro and Florian Zeitz who both work hard developing plugins in our &lt;a href="http://prosody-modules.googlecode.com/">prosody-modules&lt;/a> project.&lt;/p>

&lt;p>Ohloh, the open-source software tracker, shows some interesting statistics from our first year of development. Take a look at 
&lt;a href="http://www.ohloh.net/p/compare?project_0=prosody&amp;amp;project_1=&amp;amp;project_2=&amp;amp;submit=Go">these graphs&lt;/a> to see our activity over the months, and optionally
compare to other open-source projects.&lt;/p>

&lt;p>Finally, the moment it all began, captured in a screenshot:&lt;/p>

&lt;p>&lt;img src="/files/lxmppd_works_cropped_sm.png" alt="Prosody (then lxmppd) routes messages for the first time"/>&lt;/p>

&lt;p>Here's to another fruitful year of Prosody development, happy birthday Prosody!&lt;/p>

	</content>
</entry>
<entry>
	<author>
		<name>The Prosody Team</name>
	</author>
	<id>http://blog.prosody.im/prosody-0-6-1-released/</id>
	<title>Prosody 0.6.1 Released</title>
	<published>2009-11-26T00:51:54Z</published>
	<updated>2009-11-26T04:05:40Z</updated>
	<link href='http://blog.prosody.im/prosody-0-6-1-released/' />
	<content type='html'>


&lt;p>Wow, that was quick. Unfortunately some users identified a critical bug in the roster 
storage in our 0.6.0 release. We've identified and fixed the problem as soon as we can, 
and strongly recommend that everyone running 0.6.0 back up their &lt;a href="http://prosody.im/doc/data_storage">data directory&lt;/a>
(as always!) and upgrade to 0.6.1 at the earliest opportunity.&lt;/p>

&lt;p>For the original 0.6.0 announcement detailing the new features in this branch, see 
&lt;a href="http://blog.prosody.im/prosody-0-6-0-released/">Prosody 0.6.0 Released&lt;/a>.&lt;/p>

&lt;h1>Download&lt;/h1>


&lt;p>&lt;strong>Windows&lt;/strong>: &lt;a href="http://prosody.im/downloads/windows/ProsodySetup-0.6.1.exe">Installer&lt;/a> |&lt;a href="http://prosody.im/downloads/windows/Prosody-0.6.1.zip">Zip&lt;/a>&lt;/p>

&lt;p>&lt;strong>Debian/Ubuntu&lt;/strong>: &lt;a href="http://prosody.im/downloads/debian/prosody_0.6.1-1_i386.deb">32-bit&lt;/a> | &lt;a href="http://prosody.im/downloads/debian/prosody_0.6.1-1_amd64.deb">64-bit&lt;/a>&lt;/p>

&lt;p>&lt;strong>Source tarball&lt;/strong>: &lt;a href="http://prosody.im/downloads/source/prosody-0.6.1.tar.gz">prosody-0.6.1.tar.gz&lt;/a>&lt;/p>


	</content>
</entry>
<entry>
	<author>
		<name>The Prosody Team</name>
	</author>
	<id>http://blog.prosody.im/prosody-0-6-0-released/</id>
	<title>Prosody 0.6.0 Released</title>
	<published>2009-11-25T03:01:00Z</published>
	<updated>2009-11-26T00:56:06Z</updated>
	<link href='http://blog.prosody.im/prosody-0-6-0-released/' />
	<content type='html'>


&lt;p>Yay! After what turned into a rather long testing period, we're ready to announce the release of Prosody 0.6.0.&lt;/p>

&lt;p>Below you will find the download links, right after a round-up of the new features in this version.&lt;/p>

&lt;h2>Telnet console&lt;/h2>


&lt;div style="float:right">&lt;img src="/files/prosody-console-banner-small.png"" alt="Prosody's command console" />&lt;/div>


&lt;p>While the &lt;a href="http://prosody.im/doc/console">console&lt;/a> is nothing new, 0.6 sees some new commands added. You can now easily 
reload the configuration file, and add/remove virtual hosts without restarting. We've also added a command to shut down 
the server gracefully, closing all connections with a specified message first.&lt;/p>

&lt;h2>Multi-session support in MUC&lt;/h2>


&lt;div style="float:left; padding-top:4px; padding-bottom:3px;">&lt;img src="/files/prosody-multinick-demo.png" alt="Example of multiple nicknames" />&lt;/div>


&lt;p>Multi-user chatrooms are great, but ever since IRC they've always been plagued by people with multiple nicknames like 
"MattJ_work" and "MattJ_laptop". This new feature in Prosody allows multiple connections from the same account to all 
share the &lt;em>same nickname&lt;/em> in the chatroom. To other users in the room it simply looks like a single ordinary user.&lt;/p>

&lt;p>This feature is brand new, and still under development... for example changing nickname while part of a multi-session
group is disabled for now while we work on making it function smoothly (it's not trivial!). Feedback is always welcome, 
of course.&lt;/p>

&lt;p>Other improvements in MUC include support for persistent rooms, configuration and other admin controls. Room 
creation can also now be restricted to service admins.&lt;/p>

&lt;h2>Stream compression&lt;/h2>

&lt;p>Prosody now has a mod_compression to enable compression of client-to-server streams. Combined with the automatic 
roster versioning, this makes for some very desirable &lt;a href="http://identi.ca/notice/8061137">bandwidth savings&lt;/a>, very 
useful for mobile connections.&lt;/p>

&lt;p>More info on enabling compression can be found in the &lt;a href="http://prosody.im/doc/compression">Prosody documentation&lt;/a>.&lt;/p>

&lt;h2>Encryption for server-to-server connections&lt;/h2>


&lt;div style="float:right;">&lt;img src="/files/prosody-s2s-encrypted-small.png" alt="Screenshot showing s2s connection listing" />&lt;/div>


&lt;p>Prosody can now make encrypted connections to other servers that support TLS for server-to-server connections. If 
you and your contact are both using secure connections between your client and server, and the link between the 
servers is encrypted, this means your messages will never pass over the network in the clear.&lt;/p>

&lt;h2>Per-host SSL/TLS certificates&lt;/h2>

&lt;p>Up until now Prosody only accepted configuration of a single certificate for all connections, though now you can 
configure a certificate for each virtual host the server is hosting.&lt;/p>

&lt;h2>Importer for ejabberd MySQL dumps&lt;/h2>

&lt;p>For some time we have had an ejabberd2prosody tool available to help convert ejabberd database dumps to Prosody's 
own format. The trouble for some people was that this only worked with ejabberd's built-in database, 'Mnesia'.&lt;/p>

&lt;p>Available now is a new tool, ejabberdsql2prosody, that takes a MySQL dump file and converts it to Prosody's own 
file format.&lt;/p>

&lt;p>In the works is a fully-fledged XEP-0227 convertor, which Matthew has been developing as part of the &lt;a href="http://www.jabber.org/index.php/2009/08/xmpp-server-migration/">jabber.org 
migration&lt;/a>.&lt;/p>

&lt;h2>Compatibility with ejabberd's vcard behaviour&lt;/h2>

&lt;p>A few users complained to us that when they join chatrooms hosted on an ejabberd server that other users are unable 
to see their vcard or avatar. This is caused by the fact that ejabberd's MUC implementation sends vcard requests to 
the user's client, instead of their server (where it is stored). This didn't affect ejabberd users because ejabberd 
intercepts the requests and replies, however this behaviour is &lt;a href="https://support.process-one.net/browse/EJAB-1045">non-standard&lt;/a> 
and doesn't conform to XMPP's routing rules.&lt;/p>

&lt;p>The new Prosody configuration option 'vcard_compatibility' can be used to enable this non-standard behaviour in Prosody.
Hopefully this option can be removed in the future when ejabberd is fixed.&lt;/p>

&lt;h1>Download&lt;/h1>

&lt;p>&lt;strong>Update:&lt;/strong> This version has been replaced by 0.6.1, please see &lt;a href="http://blog.prosody.im/prosody-0-6-1-released/">Prosody 0.6.1 Released&lt;/a> for more information.&lt;/p>

&lt;p>&lt;strong>Windows&lt;/strong>: &lt;a href="http://prosody.im/downloads/windows/ProsodySetup-0.6.0.exe">Installer&lt;/a> | &lt;a href="http://prosody.im/downloads/windows/Prosody-0.6.0.zip">Zip&lt;/a>&lt;/p>

&lt;p>&lt;strong>Debian/Ubuntu&lt;/strong>: &lt;a href="http://prosody.im/downloads/debian/prosody_0.6.0-1_i386.deb">32-bit&lt;/a> | &lt;a href="http://prosody.im/downloads/debian/prosody_0.6.0-1_amd64.deb">64-bit&lt;/a>&lt;/p>

&lt;p>&lt;strong>Source tarball&lt;/strong>: &lt;a href="http://prosody.im/downloads/source/prosody-0.6.0.tar.gz">prosody-0.6.0.tar.gz&lt;/a>&lt;/p>


	</content>
</entry>
</feed>