Notes:
Talk To The Nose - Alpha Release 1
Introduction
Talk To The Nose (TTTN) is an open source implementation of the MSN Messenger server protocol. It supports all known Unix/Linux MSN clients. The actual MSN Messenger client seems to have just changed protocol. C'est la vie.
Status
All the basic IM functions are working, except file transfer. Certain peripheral, but important, functions are not yet implemented. These are.
*
Persistent Storage
*
File-based Configuration
*
User management
Persistent Storage
TTTN uses a broker pattern. This means that all persistence is handled outside the main code. Right now, TTTN uses the MemoryBroker. This is a simple example which starts with a couple hard-coded users and nevers persists the data to permanent storage. Everything is kept in memory, but all functions are supported.
Implementing a new broker is fairly simple. There are currently 2 broker types, the UserBroker and the CookieBroker. The interfaces are in org.noses.tttn.broker. I'm going to build a broker for the PostgreSQL database. I'd appreciate it if someone else wrote one for MySQL. Of course, anyone can add any kind of broker. I think the broker mechanism can help in clustering...if anyone has any thoughts, email me or write on the forum.
File-based Configuration
I have the basic configuration framework in place, it's just not being used. I need to go through the code and add anything into the configuration that can use it. For now, the host is hardcoded to "localhost".
The configuration system uses the standard Java Properties files. There will be one for each subsystem.
User Management
The user management functions that are defined by the protocol are in place. You can change phone numbers, add people to your lists, arrange groups (untested). But, you can't add a user. Which is a pretty major flaw, but I don't think any client is capable of registration. If anyone knows a way, please email me or post to the forums.
The plan is to add a web server and basic servlet engine. I'll add any needed functionality to the broker systems to support it. That way, the website gets the benefit of datastore neutrality,
Known Bugs
All transfers (via the Xfr message) end up being to "localhost". I will add a config entry. I'll also have to find a way to query Java for the primary IP.
There are major threading issues. Basically, except for a few places, I haven't bothered with synchronization. That'll have to be cleaned up.
Very little has actually been tested. I know login in works, most of the time, adding people to lists and chatting seems to work.
Security is pretty much non-existant. You can login, but you can send messages even if not logged it. Eventually, you'll get a null pointer exception. It's pretty easy to check (getConnection()==null or getConnection.getUser()==null).
Allow and block lists are never checked.
Err...it's an alpha version...there are LOTS of bugs.
External Libraries
This product includes software developed by the Apache Software Foundation (http://www.apache.org/).
TTN uses Log4J by the Apache project.
Changes:
Sept 1, 2002 - Initial Release
Sept 1, 2002 - Changed default users and add to RelNotes
Copyright © 2009 Geeknet, Inc. All rights reserved. Terms of Use