At present the FreeBSD ports tree still has the 2.0.11 up there. That version is pretty unstable so I set about trying to upgrade to 2.1.4. I ran into a number of difficulties that I'd like to pass along.

I've attached the patch files I used to get jabberd to compile and run properly on FreeBSD. I believe these should be reviewed and cleaned up a bit with some compiler flags for the OS version. The tweaks seem to be pretty solid, and I've been running these on a production server with 60 users using LDAP authentication with a MySQL backend.

My first problem was with compiling 2.1.4. The mod_announce.c file tried doing a calculation with timezone. I took that out, back to what the 2.0.11 version had, and I was able to compile properly.

The bulk of my problems after I compiled had to do with the strndup() function. After a bit of research I found that this is a rather Linux specific function not supported on FreeBSD. I took these down to strdup() functions and things appear to continue to work nicely. I honestly don't know what further ramifications there are from doing this.

With strndup in place, any time a user goes into an away mode the server crashes. With my changes the away status works properly.

I haven't yet sent my port change upstream to the FreeBSD tree just yet. I was rather hoping fixes might get put into place with the actual source code, thus removing the need to track patches to keep FreeBSD up to date with jabberd.

Thanks,
--
"In theory, there is no difference between theory and practice.
In practice, there is."
- Yogi Berra

Attachment: jabberFbsdPatches.tar.gz
Description: application/gzip

_______________________________________________
jabberd2 mailing list
[email protected]
http://lists.xiaoka.com/listinfo.cgi/jabberd2-xiaoka.com

Reply via email to