Tigase Server

Article is about Tigase Server

bashism removal patch

Submitted by Anonymous on Tue, 2010-03-09 20:19

(I'm following the notes at http://www.tigase.org/content/how-help - although the bug reporter is dead (it looks like it's swapped to http://www.tigase.org/content/tigase-xmpp-server so I've raised two tickets there. It also seems better than a forum for bug reports, but I'll do as I'm told!)

This patch removes a pile of bashisms from shell scripts, it also has a few minor improvements:
- "$@" rather than $* (this copes with whitespace)
- tigase.sh works out TIGASE_HOME better and removes the bashism regexp at the expense of using readlink (which isn't in POSIX)

Cheers,

jabber webchat implementation using tigase

Submitted by Anonymous on Tue, 2010-03-09 10:38

hi,

we want to make for our website a webchat available, if you know facebook something similar like the chatbar there.

just i am little bit unsure about the infrastructure what we will need.

maximum users online during heavy hours will be around 80.000, slowly growing.

so far i see no problem in clustering tigase and use it. thx for the well done performance tests. so from this side it should be no problem to go for 3 good machines with one extra database server.

Tigase XMPP Server 5.0.0-b2103 Beta

Submitted by kobit (not verified) on Tue, 2010-03-09 00:46

I am happy to announce release of a new version of the Tigase XMPP Server. This is the first version of the 5.x line and the code is still under intensive tests. As most of the tests are already passed and the code runs on a few live installations I consider this to be Beta ready.

Packages are available from the download page. As usually the test page has been updated with automatic tests' results for the published version.

Changelog list is quite long and modifications fall into a few categories:

Protocol:

  1. A new implementation for handling external components connections, supporting XEP-0114, XEP-0225, with protocol auto-detection, multiple connections on a single port, multiple connections for a single external domain, etc…..
  2. Full support for stringprep added. The use of the full stringprep processor is optional (off by default) and the JID processing can be changed via pluggable framework. 3 processors available now: full stringprep - very resources expensive, simple (regex based) - default, empty - no processing at all.
  3. Roster changes: fixed issue with buddy name set to 'null' in some cases , multiple roster elements are now allowed for set requests, stringprep optimisations, support for extended buddy information to be stored with roster data in DB.
  4. Fixed a problem with s2s connections for external components connected to the server - they are automatically detected by s2s component and all the traffic is routed properly
  5. Fixed problem with not sending stream closing tag in some cases when the connection to the client is closed
  6. Fixed rare issue occurring if there are multiple user connections with the same resource that the older connection with the resource was not closed.
  7. Number of bug fixes and optimisations in s2s implementation, still no TLS support yet though.
  8. Stream compression can be now activated at any time, it is up to the client to decide

Administration:

  1. Server configuration code reworked, fixed an old issue with init.properties and tigase.xml configuration files, tigase.xml is no longer used by default (still possible though), configuration can be stored in the database and configuration management available via ad-hoc commands and scripting API.
  2. Configurable packet filtering for every component separately can be loaded as plugins (and API)
  3. MySQL schema and stored procedures updates for UTF-8 encoding, changed a last_login, last_logout fields default values from 0 to some correct and sensible value.
  4. To overcome problems with packets order on some system there is a configuration option to not use priority queues which may sometimes cause packet reordering.

Development:

  1. Scripting API reworked, this is not the server built-in core feature and the scripting feature is now available to all components automatically
  2. Component repository API - an easy to use framework for tigase component developers to store certain kind of data in database - the data can be also manipulated via ad-hoc commands and scripting
  3. Added secure logging mode for XMPP stanzas to prevent privacy issue - XML element CData is replaced with text: 'CDATA size: NNN'
  4. A new API for component tasks added - based on Java TimeoutTask but a single thread controls all the component tasks
  5. Lots of JavaDoc documentation has been added and online guides on the website
  6. All the core Tigase code to use new JID and BareJID classes instead of String
  7. Packet API changed to optimise ways stanza to/from addresses (JIDs) are used.
  8. New SM plugging processors API introduced and an abstract class which make it very easy to follow packet flow. This is to avoid confusing detection where from, where to the packet is going (from the user, to the user, to the server….)
  9. User registration code changed to allow for storing any kind registration data, the user can provide an extended form with additional fields and they all are stored in the DB

Why connection Keep alive is false

Submitted by Anonymous on Fri, 2010-02-26 10:26

Hi,

I am facing an issue of TCP connection timing out between server and client when there is no interaction between 2 for a very long time. I was going through the code and checked the value of keep alive in SocketIO class and found it to be false.

I want to know if there is any specific reason for not making keep-alive true. If i want to change this value is there any way i can configure it or i will have to rebuild Tigase-server jar?

Thanks,
Pankaj.