Category Archives: feeds

JWGC, PyAIM-t, PyICQ-t transferred.

All three current projects have now been transferred to this site. Not all of their links currently function as I have not finished porting over the bug trackers and such. The new URLs for the projects are as follows:

More to come as I continue porting over bug reports and such.

PyAIM-t 0.6 Released!

PyAIM-t 0.6 is now available. Please note that it is sort of a stop-gap release that includes some important fixes, but also includes some very lightly tested groupchat code. I am releasing it pre-heavy testing per request of folk on the py-transports list. Major features are listed in the release notes. Enjoy! =)

ChangeLog rss feeds now available

With many thanks to Yves Goergen for supplying the code, we now have ChangeLog RSS feeds for all the projects hosted at this site. You can access them as follows:

  • JWGC: http://www.blathersource.org/projects/jwgc/changefeed
  • PyAIM-t: http://www.blathersource.org/projects/pyaim-t/changefeed
  • PyICQ-t: http://www.blathersource.org/projects/pyicq-t/changefeed

There are also links on the project info pages. Enjoy!

Incoming search terms:

jitsi: !jitsi – Release 1.0.3820 now available with global shortcuts for call answer/hangup/mute, video answer and many others at http://jitsi.org

!jitsi - Release 1.0.3820 now available with global shortcuts for call answer/hangup/mute, video answer and many others at http://jitsi.org

jitsi: !jitsi – New stable release available now at http://ur1.ca/5qdby with many important improvements and fixes http://jitsi.org/news

!jitsi - New stable release available now at http://ur1.ca/5qdby with many important improvements and fixes http://jitsi.org/news

Tigase Blog: Tigase Command Line Management Tool announcement

TCLMT is new utility to manage XMPP servers by execution of ad-hoc commands. It's designed to be simple and powerful in use and work in two modes:

non interactive interactive

Currently it partially supports ad-hoc commands which are specified in XEP-0133 Service Administration and implemented by Tigase XMPP Server. As for it contains support for:

4.1. Add user 4.2. Delete user

read more

hosted.IM: user authentication against your company database

A common feature requested by many hosted.IM customers is the ability to authenticate users according to a pre-existent company database. Since then, we have implemented the possibility to authenticate against your POP3 or IMAP server. However it requires that your instant messaging domain name matches the domain from your e-mail addresses.

Several companies already have an intranet authentication backend, like LDAP, Active Directory or an Ad-Hoc database. On the other hand our experience with large sized companies is that is not a good idea to expose LDAP or Active Directory to the internet.

To overcome this problematic scenario we have added a new authentication method, which consists on delegating the authentication to an external REST API, acting as a façade to your own intranet database.

The behaviour expected by hosted.IM is fairly straightforward. Your API must answer a GET query with details about the user that is trying to authenticate to your IM domain with 'true' or 'false' depending on whether the user is authorized or not.

In the image below we see how mydomain.com administrator sets https://mydomain.com/auth as the REST URL and clicks on the highlighted Verify your service link to ensure hosted.IM is able to contact it:

image

The next step would be to click on the 'Switch' button and that's all!. Now hosted.IM will authenticate users against your company data source.

Below is the specification of the authorization API: URLConfigured on hosted.IM user administration form. Could be HTTPS (recommended) or HTTP MethodGET ParametersusernameUsername part of the user ID to be validated passwordPassword sent by the user to be validated domainDomain part of the user ID to be validated secretArbitrary string defined on hosted.IM user administration form Expected replyCode200 OK Content-typeapplication/json Bodytrue if authorized; otherwise false ErrorCodeAny HTTP code, according to the error type. It will deny user access.

This release also includes other improvements suggested by our users. It contains also bug fixes.

As we continue improving daily our service, we will greatly welcome your feedback. There is already much more to come soon. Thank you!

Links:

http://hosted.im hosted.IM support forum Twitter: @hosted_im

Ignite Realtime Blog: Spark 2.7.0 alpha: Please review Build 520

Dear Community,

 

after some more weeks of testing, debugging and developing, we would like to ask for your support and publish the first beta of Spark 2.7.0. Ultimately, we would like to move Spark to Java 7, but that is currently not implemented via the installers.

 

You can find the nightly build for Windows here:  http://bamboo.igniterealtime.org/browse/SPARK-INSTALL4J-520/artifact/Install4j

 

About Java 7: Spark 2.7.0 will run with Java 7. Please interchange the bundled JRE (located at Spark-install-folder\JRE) against a Java 7 JRE or use the installer named spark_2_6_3_12555_online.exe and install Java 7 as default on Windows. Using Java 7 will stop Spark from stealing the focus, when a new message is received.

 

Important Note: Oracle has introduced a bug in Java 1.6.0 u 25-27 that prevents Spark from closing automatically during the log-off on the Windows plattform. This is not Spark related.

 

About file transfer: Spark 2.7.0 is fixing issues with file transfer. It will move to a standard implementation for IBB file transfer. As a result of moving to the standard IBB implementation, you may have issues with transfer between Spark 2.7.0 and Spark 2.5.8 on IBB. This is an unavoidable result of obeying the standard. IBB is the fall back implementation, if Bytestream is not an option. Hence IBB is not the regular transfer method as it is much slower than Bytestream.

 

About plugins: There were large scale changes in the way Spark is dealing internally with plugins/extensions. All Plugin developers are kindly ask to review, if their plugins are still working. This applies also to Fastpath. Feedback regarding issues with this are highly appreciated.

 

About GUI: The Spark debelopers are only supporting JTattoo Luna. There are several reports that other skins are not working properly. This applies especially to Substance. If you are experiencing any GUI bug, please check if JTattoo Luna is also having this issue and report it.

 

About Mac and Windows7 64 bit: The next Mac release is NOT secured. We are looking for a developer who can provide a Mac beta release. The integration to Windows7 64 bit is ok, but the flashing notification in the tray may or may not work. A tester and developer (MS C++ Code)  for this is also needed.

 

The change log for this alpha are:

 

SPARK-1324

SparkToaster showing avatars in real size

SPARK-1437

Bug in PrivacyManager that can break smack communication

SPARK-1445

Selecting 'Start a chat' in a group chat room opens an incomplete chat window

SPARK-1413

Update build.xml to check for Java 7

SPARK-1440

Bug in ConferenceUtils.java that can break smack communication

SPARK-1418

Update simplified Chinese translation

SPARK-1419

Chat room configuration shows wrong roles for which presence is broadcast

SPARK-1423

typo error in LayoutSettings.java

SPARK-1441

ContactItem in shared group - right click popup menu performs copy when move is selected

SPARK-1439

Plugins are loaded in random order - plugins with no dependency has to be loaded first

SPARK-1427

Default Appearance/Colors cannot be overwritten through plugin;Group-Chat colors are hard-coded

SPARK-1381

Group Chat - Actions/Start a conference menu: propose bookmarked room (if any) instead of adhoc (random) room name

SPARK-1313

SPARK-1311 Enhance ability to overwrite spark properties values through plugin

SPARK-1443

Privacy plugins cannot be accessed if we log into Spark through the IP address of the server

SPARK-1326

SPARK-1311 Make tabs position optional: TOP or BOTTOM; make search input appearance optional

SPARK-1444

Subscription dialog shows the id value instead of the nickname

SPARK-1450

When network connection is lost, chat window cannot be closed

SPARK-1403

SPARK-1311 Enhance ability to extend core classes like ContactItem, ContactGroup, etc through plugin

SPARK-1405

Improved last activity recognition

SPARK-1215

Log out doesn't log out, it shuts down spark

SPARK-1438

Avatars are not scaled in user login/logout notification dialog

SPARK-1420

The messages in the set status message window is not getting deleted

SPARK-1442

JabberVersion.java uses hardcoded value "Spark IM Client" for version name

SPARK-1421

Application version and application name are hardcoded

SPARK-1408

Remove "#" character next to Accounts button on the login screen

SPARK-1422

persist vcard may throw file not found exception when jid is empty

 

 

Expect a beta in 2 weeks time that will include the latest final release of Smack (to be done in the next 2 weeks)

 

Please report issues in the Developer Forum

ProcessOne webinar: XMPP-based Push Solutions

XMPP is widely used as a push protocol for sending alerts and messages. It is at the heart of Apple Push Notification Server (APNS), Google Cloud to Device Messaging (C2DM), Nokia Notifications API and many other solutions like BBC radio notification system.

ProcessOne Push

This presentation explains what is the use of XMPP in those solutions and how XMPP can be use to do much more that chat systems.

You will also learn how can ProcessOne help making realtime notifications, alerting and push a part of your business?

When?

Wednesday, November 9, 2011

06:00 PM - 07:00 PM - CET - Paris, Brussels, Berlin 12:00 AM - 01:00 PM - EDT - New York, Montreal 09:00 AM - 10:00 AM - PDT - San Francisco, Los Angeles

Register!

You need to register now in order to attend the webinar: Registration URL: https://www2.gotomeeting.com/register/439179866

We hope to see you in great numbers!

Scale means Skills

image

Looking at the given mentioned problems (OTP and binary support), one of them is already in ejabberd 3.0 alpha (binaries), but what got my attention is that finally they might not be problems. It always depends ultimately on what you want to achieve. Some optimisations might be relevant in a few cases, but in a generic situation I still think that optimisations we made for ejabberd project for our customers on a case by case have a much larger impact. Some of the mentioned improvements would also stand on your scaling path for different use cases.

Let me take a specific example. OTP compliance is a controversial topic. Erlang OTP stands for Open Telecom Platform and is essentially a set of good practices and pattern to build Erlang applications. OTP provides a convenient help to get started but it is no silver bullet for all Erlang applications design. Sometimes, they fit in your problem and sometimes you have to do it differently.

One of the typical OTP pattern is supervision. You are supposed to link Erlang workers (the process doing actual work) to a supervisor that can trigger actions when the worker terminates.

However, for extremely large systems, with lots of worker creation and destruction, the supervisor comes with a performance penalty that you cannot afford. You thus have to disable the transient supervisors. In that case, OTP approach can limit your performance and become a bottleneck.

My view is that to get the best performance, you have to know and observe how the system behave in real world situation, for the specific use case. XMPP is a large protocol, especially with tens of XMPP Extension Protocols that have been added over time. If you want to scale you have to have a perfect knowledge of Erlang inside / out, but also a perfect knowledge of the XMPP protocol itself. Some requirements or suggested approach in the protocol do not scale out of the specification, and you have to take into account a full solution design, from the client behaviour itself to the cluster architecture and code optimizations.

Micro optimisations at the code level are doomed to be very limited. However, optimizing the full stack, from client (both desktop and mobile) to server, including specific code level optimisations, is a sure win. From experience, we can squeeze from 2 to 3 times more concurrent users on a single node. Your mileage might vary, but it clearly demonstrate that multiple levels of knowledge are involved in designing a scalable XMPP messaging solution.

I understand it is frustrating to hear that from a customer perspective: they often expect turnkey solutions that scale linearly. However, after a few times working with us, they understand our view and why scaling cannot rely on a one size fits all approach.

We have developed a set of modules for ejabberd and optimisations and a range of expertise at Process One down to the client. This allows us to scale to unprecedented levels. OTP offers nice patterns, but is no substitution for this experience working on the largest XMPP deployments in the world.

Edit: I have received good feedback, saying you understand our point of view. Thank you !

Just to make it clear, my point is really to think and act global at the highest architectural level. We do everyday many improvements to ejabberd at the code level and this is good for code maintenance. What makes a deployment successful is team with different background working on the whole picture.

ejabberd 2.1.9-1 MIGRATED to testing (Britney)

[2011-10-15] ejabberd 2.1.9-1 MIGRATED to testing (Britney)

Mike Taylor: Dennis Ritchie 1941 – 2011

A very sad week so far, Tim Bray says it better than I would so I’m just going to quote him:

Some things we now know to be good ideas:

Writ­ing op­er­at­ing sys­tems in a com­piled ma­chine-in­de­pen­dent lan­guage Per­form­ing file I/O by read­ing, writ­ing, or over­writ­ing in­te­gral num­bers of bytes at in­te­gral off­sets. Cre­at­ing processes by du­pli­cat­ing ex­ist­ing processes. Null-ter­mi­nated byte strings. In­vest­ing a sub­stan­tial pro­por­tion of pro­gram­mers’ time in build­ing tool­ing to make them­selves more pro­duc­tive. When ex­plain­ing a new pro­gram­ming tech­nique, start­ing with “Hello, world”.

It’s hard to be­lieve that there was a time when any of these weren’t con­ven­tional wis­dom, but there was such a time. Unix is com­posed of more ob­vi­ous-in-ret­ro­spect en­gi­neer­ing de­sign choices than any­thing else I’ve seen or am likely to see in my life­time.

It is im­pos­si­ble — ab­solutely im­pos­si­ble — to over­state the debt my pro­fes­sion owes to Den­nis Ritchie. I’ve been liv­ing in a world he helped in­vent for over thirty years.

Isode: XMPP Security Labelling specification in Last Call

On Tuesday, XEP-0258, the specification describing a common approach to labelling messages within XMPP, was entered into Last Call – a state of formally requesting any comments prior to moving the specification to Draft state.

The specification, which we support in Isode M-Link, is also supported in other third party clients and servers, and is authored by Kurt Zeilenga, an Isode engineer.

Interested parties should submit comments on XEP-0258 via the XMPP Standards Foundation’s standards@xmpp.org mailing list.

Jérôme Poisson: Shell: pipe you commands out via XMPP with SàT

G'day all,

just a short notice to show a feature i'm currently implementing, the hability to pipe out a command line stream via XMMP, using jp, the command line frontend of the "Salut à Toi" project.

The syntax is quite easy: imagine you have 2 people Pierre and Louise talking together. Louise is talking about the last Blender Foundation movie, Sintel, and Pierre is interested, and want to see the trailer Louise is talking about. To do that, he just has to enter the following command:

jp --pipe-in louise | mplayer -


Which mean "I'm waiting for an incoming stream from louise". Louise correspond to the name Pierre gave to its contact louise@example.org, jp do the association.
He could also have used the full jid instead: louise@example.org/Noumea .

In the other side, Louise can pipe out the trailer to Pierre with the following command:

cat sintel_trailer-480p.ogv | jp --pipe-out pierre

Quite easy isn't it ? You don't have to worry about the IP address of your contact, just to know its jid, or to have it in your roster with an easy-to remember name.

Note that jp was already allowing you to pipe out command line result as a XMPP message (to do some ascii art for example ;) ).

If you want to copy a file, the syntax is quite similar:

jp -wg louise

for reception and:

jp -g sintel_trailer-480p.ogv pierre

to send the file. The -g flag means you want to see the progress bar.

The following short video show this in action. It's in french, but you don't really need the comments to understand it.


To play the video, you nead a recent browser (e.g. Firefox 4+ or the last Chromium).
You can also use VLC (>=1.1 only), by using this url as a flux: http://www.goffi.org/videos/pr%c3%a9sentation_S%c3%a0T_4_copie_et_pipe.webm

Last but not least, you can use mplayer: mplayer "http://www.goffi.org/videos/pr%c3%a9sentation_S%c3%a0T_4_copie_et_pipe.webm"

This video is licensed under Creative Common BY-SA
Your browser doesn't manage the « video » tag, you should update, e.g. with the last Firefox

For the technical side, it's just a modified XEP-0096 . It would be intersting to propose this as a standard to the XSF, but maybe by using jingle transfer instead.

Please not that all of this is really experimental.

I plan to release the next version of "Salut à Toi" soon, stay connected :)

Accepted 2.1.5-3+squeeze1 in stable-security (high) (Nico Golde)

[2011-10-06] Accepted 2.1.5-3+squeeze1 in stable-security (high) (Nico Golde)

Accepted 2.1.9-1 in unstable (low) (Konstantin Khomoutov)

[2011-10-04] Accepted 2.1.9-1 in unstable (low) (Konstantin Khomoutov)

New releases: ejabberd 2.1.9, 3.0.0-alpha-4 and exmpp 0.9.8

ejabberd 2.1.9

This release includes a lot of bugfixes and improvements.

This is just a short list of them: New SASL SCRAM-SHA-1 authentication mechanism (EJAB-1196) New option: resource_conflict (EJAB-650) Decrease CPU usage caused by tls:send with large data Replace calls of OTP's Binary, since they would require R14 LDAP: Document ldap_tls_cacertfile and ldap_tls_depth options (EJAB-1299) LDAP: Log an error when an LDAP filter is incorrect (EJAB-1395) LDAP: New options: ldap_tls_cacertfile and ldap_tls_depth (EJAB-1299) LDAP: New option: ldap_deref_aliases (EJAB-639) MUC: Support for multiple entry with same nick to MUC rooms (EJAB-305) MUC: Support voice request and approvement MUC: New room option: allow_private_messages_from_visitors MUC: New room options: allow_voice_requests and voice_request_min_interval ODBC: Fix account counting (EJAB-1491) ODBC: Optimized mod_roster_odbc:get_roster PubSub: Enable pubsub#deliver_notification checking (EJAB-1453) PubSub: Fix Denial of Service when user sends malformed publish stanza (EJAB-1498)

Check the Release Notes for a more complete list of changes: http://www.process-one.net/en/ejabberd/release_notes/release_note_ejabberd_2.1.9

If you upgrade from ejabberd 2.0.5 or older, read carefully the release notes of ejabberd 2.1.0 too, because there were several changes in the installation path and the configuration options.

The list of solved tickets since previous version is available on ProcessOne bug tracker: http://redir.process-one.net/ejabberd-2.1.9

ejabberd 2.1.9 is available as source code package and binary installers for Linux 32 bits, 64 bits, Mac OS X Intel, and Windows: http://www.process-one.net/en/ejabberd/downloads

ejabberd 3.0.0-alpha-4

This alpha release contains all the changes from ejabberd 2.1.x branch, many other ejabberd 3 specific changes, and a few improvements like: Option static_modules fully working Update http_bind to XEP-0124 1.10 and XEP-0206 1.3 Replaced the full ejabberd_zlib into a simple exmpp_compress interface

The related tickets can be found on the bug tracker: http://redir.process-one.net/ejabberd-3.0.0-alpha4

Please note that the database schema used in this preliminary release is not yet definitive, and it will probably change in the next alpha and beta releases.

When compiling the source code, it is necessary to install exmpp.

Recommendation: try this alpha release far away from a production server. Try it with an empty database, or with a copy of your existing database. Please report bugs you find, including logged errors if any, in the usual https://support.process-one.net/browse/EJAB or in the ejabberd mailing list.

For more information check the release notes included in the release and in https://git.process-one.net/ejabberd/mainline/blobs/raw/master/doc/release_notes_3.0.0.txt

Source tarball and binary installers for preliminary releases can be downloaded here: http://download.process-one.net/ejabberd/

exmpp 0.9.8

This release of exmpp contains: Many improvements in OpenSSL management code Enable port level locking in OpenSSL, stringprep and zlib drivers Use binaries for xml attribute names in the IQ macro Added presence handling to echo_client.erl

exmpp home page: http://support.process-one.net/doc/display/EXMPP/ or easier to remember: http://exmpp.org/

Download exmpp 0.9.8 source code package from: http://download.process-one.net/exmpp/

You can also check the ProcessOne Labs page: http://www.process-one.net/en/labs/

ejabberd 2.1.9, 3.0.0-alpha-4 and exmpp 0.9.8

ejabberd 2.1.9, ejabberd 3.0.0-alpha-4, and exmpp 0.9.8 have been released, after several months of development. They contain a lot of bugfixes, improvements and some new features.

ejabberd 2.1.9

This release includes a lot of bugfixes and improvements. This is just a short list of them:

New SASL SCRAM-SHA-1 authentication mechanism (EJAB-1196) New option: resource_conflict (EJAB-650)

read more