aboutsummaryrefslogtreecommitdiffstats
path: root/unix.c
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2010-10-09 11:41:19 -0700
committerWilmer van der Gaast <wilmer@gaast.net>2010-10-09 11:41:19 -0700
commit619770237590e4a760346f2e12681d7e2220dda4 (patch)
tree8d0d391407280ab74e1fc876d6f272110b474897 /unix.c
parent23b29c67968f3dd39e7d6970acc5669556f4c8b9 (diff)
parent27b407fde1844a0e03f1a9d92d2a1c4a40435f9b (diff)
Merging OTR branch. It's more or less a plugin if you enable it, and
otherwise a no-op. DO NOT INSTALL THIS ON PUBLIC SERVERS.
Diffstat (limited to 'unix.c')
-rw-r--r--unix.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/unix.c b/unix.c
index 0d373234..07f7c5f9 100644
--- a/unix.c
+++ b/unix.c
@@ -28,9 +28,11 @@
#include "arc.h"
#include "base64.h"
#include "commands.h"
+#include "otr.h"
#include "protocols/nogaim.h"
#include "help.h"
#include "ipc.h"
+#include "lib/ssl_client.h"
#include "md5.h"
#include "misc.h"
#include <signal.h>
@@ -68,6 +70,18 @@ int main( int argc, char *argv[] )
b_main_init();
+ /* Ugly Note: libotr and gnutls both use libgcrypt. libgcrypt
+ has a process-global config state whose initialization happpens
+ twice if libotr and gnutls are used together. libotr installs custom
+ memory management functions for libgcrypt while our gnutls module
+ uses the defaults. Therefore we initialize OTR after SSL. *sigh* */
+ ssl_init();
+#ifdef OTR_BI
+ otr_init();
+#endif
+ /* And in case OTR is loaded as a plugin, it'll also get loaded after
+ this point. */
+
srand( time( NULL ) ^ getpid() );
global.helpfile = g_strdup( HELP_FILE );