Wednesday, February 28, 2007

Patching PSI 0.11......

We installed PSI 0.11 according to the WIKI at psi.

In order to make PSI 0.11 compile with the libjingle functionality, we had to patch it a bit.


hunk ./third-party/libjingle/talk/base/base64.h 25
- static const string Base64::Base64Table;
- static const string::size_type Base64::DecodeTable[];
+ static const string Base64Table;
+ static const string::size_type DecodeTable[];
hunk ./third-party/libjingle/talk/base/socketadapters.cc 339
- sprintf(buffer, "%d", time(0));
+ sprintf(buffer, "%d", (int)time(0));
hunk ./third-party/libjingle/talk/base/stringutils.h 258
- inline static const char* Traits::empty_str() { return ""; }
+ inline static const char* empty_str() { return ""; }
hunk ./third-party/libjingle/talk/xmpp/xmppclient.h 136
- std::string XmppClient::GetStateName(int state) const {
+ std::string GetStateName(int state) const {
}

1/3-07 We are now stuck with a runtime-error when compiling PSI 0.11beta-jingle. It seems that it can not find the ortp library though we have it installed properly. But as the developers says in the PSI forum:
"You need the right library versios the correct compiler some small code hacks and a bit of LUCK to make it work!" It is very experimental...
Yesterday I compiled PSI 0.11 without jingle support. It connected fine to my own jabber server, but I could not make it connect to Google's GTalk server. This might be an authentication problem, which might be object for furter analisys.

Tuesday, February 27, 2007

libjingle and clients using it...

Note: TINS (XEP-0111) was used before XEP-0166 (Jingle), but is now obsolete.
libjingle is Googles implementation of XMPP's Jingle, but they and not the same.

Jabbin 2.0beta seems to use libjingle, and is compatible with GTalk. This client should support voice (buggy), but could not compile out-of-the-box, so we left it there for a while.

Other implementations of Jingle exist. Among other have the PSI team made a library called libjingle (right now we can not see whether it is the same as Googles libjingle or not).

When looking at the PSI project we stumpled over their chat client. This has the feature of XML sniffing which we have been looking for. You can also enter XML code in a windows and send it.

Sunday, February 25, 2007

XEP-0166 vs. Google Sessions (GTALK)

This is a sniplet of me and hanssons conversation on the IM.
We discussed the problems with google extending XEP-0166:

Google's libjingle (http://code.google.com/apis/talk/index.html) is *NOT AN IMPLEMENTATION OF XEP-0166*, but uses a similar-looking Google session negotiation for Google Talk's voice and file transfer sessions.

The chat is moved to the comment of this post...

Tuesday, February 20, 2007

XMPP without TLS

Today we have set up our own Jabber server. We did this in order to communicate through Jabber without TLS, so we could sniff packages which are not encrypted.

We used jabberd14 as server.
And tested it with 2 clients, namely
imcom (ncurses based console jabber client) and
Gaim
They both seemed to work very well.


We also tried a program called
sendxmpp
which can be used from the command line. It can send XML which is potentially very handy for studying and debugging.
But we still have some trouble getting it work properly.

So now we can send messages to and from localhost, intranet and internet to our own server (builderbob.dk)

http://www.archivesat.com/Jabberd_Development/thread1208507.htm
basically says that the server that we just set up should basically support libjingle.

Tomorrow we should try to connect to our server using GTalk. It might not work because the server is set up without the use of TLS.
If this is the case we will try to configure TLS on our jabberd server.

Cya to morrow
-----------------------------------------
Today 21/2 we saw that GTalk can only be used to connect to google servers using TLS, and is thus not very usefull for us to survey communication.

We tried to make a small app to send RAW XML towards our server without TLS. For that we have tried the Yaja library (Yet another jabber API), but the API was not so obvious as it seemed in the beginning.

We saw that sendxmpp could not send RAW data.

Next we will either
1) patch sendxmpp to send RAW data
2) make our Java app work with Yaja / hack Yaja to make our app work
3) figure out a way to use Gaim's Jabber implementation to send RAW XML

27/2 we found that PSI seems to have this functionality. It could save us a lot of time.

Thats it for now...