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
jabberFbsdPatches.tar.gz
Description: application/gzip
_______________________________________________ jabberd2 mailing list [email protected] http://lists.xiaoka.com/listinfo.cgi/jabberd2-xiaoka.com
