Changeset ba5add7
- Timestamp:
- 2008-02-17T01:39:39Z (17 years ago)
- Branches:
- master
- Children:
- 82e8fe8
- Parents:
- fd9fa52
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
lib/ssl_bogus.c
rfd9fa52 rba5add7 27 27 28 28 int ssl_errno; 29 30 void ssl_init( void ) 31 { 32 } 29 33 30 34 void *ssl_connect( char *host, int port, ssl_input_function func, gpointer data ) -
lib/ssl_client.h
rfd9fa52 rba5add7 47 47 48 48 49 /* Perform any global initialization the SSL library might need. */ 50 G_MODULE_EXPORT void ssl_init( void ); 51 49 52 /* Connect to host:port, call the given function when the connection is 50 53 ready to be used for SSL traffic. This is all done asynchronously, no -
lib/ssl_gnutls.c
rfd9fa52 rba5add7 60 60 static gboolean ssl_handshake( gpointer data, gint source, b_input_condition cond ); 61 61 62 63 void ssl_init( void ) 64 { 65 gnutls_global_init(); 66 initialized = TRUE; 67 atexit( gnutls_global_deinit ); 68 } 62 69 63 70 void *ssl_connect( char *host, int port, ssl_input_function func, gpointer data ) … … 122 129 if( !initialized ) 123 130 { 124 gnutls_global_init(); 125 initialized = TRUE; 126 atexit( gnutls_global_deinit ); 131 ssl_init(); 127 132 } 128 133 -
lib/ssl_nss.c
rfd9fa52 rba5add7 91 91 92 92 93 void ssl_init( void ) 94 { 95 PR_Init( PR_SYSTEM_THREAD, PR_PRIORITY_NORMAL, 1); 96 NSS_NoDB_Init(NULL); 97 NSS_SetDomesticPolicy(); 98 initialized = TRUE; 99 } 100 93 101 void *ssl_connect( char *host, int port, ssl_input_function func, gpointer data ) 94 102 { … … 107 115 if( !initialized ) 108 116 { 109 PR_Init( PR_SYSTEM_THREAD, PR_PRIORITY_NORMAL, 1); 110 NSS_NoDB_Init(NULL); 111 NSS_SetDomesticPolicy(); 117 ssl_init(); 112 118 } 113 119 -
lib/ssl_openssl.c
rfd9fa52 rba5add7 56 56 static gboolean ssl_handshake( gpointer data, gint source, b_input_condition cond ); 57 57 58 59 void ssl_init( void ); 60 { 61 initialized = TRUE; 62 SSLeay_add_ssl_algorithms(); 63 } 58 64 59 65 void *ssl_connect( char *host, int port, ssl_input_function func, gpointer data ) … … 115 121 if( !initialized ) 116 122 { 117 initialized = TRUE; 118 SSLeay_add_ssl_algorithms(); 123 ssl_init(); 119 124 } 120 125 -
otr.c
rfd9fa52 rba5add7 112 112 113 113 /* main function for the forked keygen slave */ 114 void keygen_child_main( OtrlUserState us, int infd, int outfd);114 void keygen_child_main(const char *nick, int infd, int outfd); 115 115 116 116 /* mainloop handler for when a keygen finishes */ … … 1527 1527 /* child process */ 1528 1528 signal(SIGTERM, exit); 1529 keygen_child_main(irc-> otr->us, to[0], from[1]);1529 keygen_child_main(irc->nick, to[0], from[1]); 1530 1530 exit(0); 1531 1531 } … … 1548 1548 kg=&((*kg)->next); 1549 1549 *kg = g_new0(kg_t, 1); 1550 (*kg)->accountname = handle;1551 (*kg)->protocol = protocol;1550 (*kg)->accountname = g_strdup(handle); 1551 (*kg)->protocol = g_strdup(protocol); 1552 1552 } else { 1553 1553 /* send our job over and remember it */ … … 1555 1555 fprintf(irc->otr->to, "%s\n%s\n", handle, protocol); 1556 1556 fflush(irc->otr->to); 1557 irc->otr->sent_accountname = handle; 1558 irc->otr->sent_protocol = protocol; 1559 } 1560 } 1561 1562 void keygen_child_main(OtrlUserState us, int infd, int outfd) 1563 { 1557 irc->otr->sent_accountname = g_strdup(handle); 1558 irc->otr->sent_protocol = g_strdup(protocol); 1559 } 1560 } 1561 1562 void keygen_child_main(const char *nick, int infd, int outfd) 1563 { 1564 OtrlUserState us; 1565 char *kf; 1564 1566 FILE *input, *output; 1565 1567 char filename[128], accountname[512], protocol[512]; 1566 1568 gcry_error_t e; 1567 1569 int tempfd; 1570 1571 us = otrl_userstate_create(); 1572 kf = g_strdup_printf("%s%s.otr_keys", global.conf->configdir, nick); 1573 otrl_privkey_read(us, kf); 1574 g_free(kf); 1568 1575 1569 1576 input = fdopen(infd, "r"); … … 1620 1627 1621 1628 /* forget this job */ 1629 g_free(irc->otr->sent_accountname); 1630 g_free(irc->otr->sent_protocol); 1622 1631 irc->otr->sent_accountname = NULL; 1623 1632 irc->otr->sent_protocol = NULL; -
otr.h
rfd9fa52 rba5add7 51 51 /* representing a keygen job */ 52 52 typedef struct kg { 53 c onst char *accountname;54 c onst char *protocol;53 char *accountname; 54 char *protocol; 55 55 56 56 struct kg *next; … … 65 65 66 66 /* active keygen job (NULL if none) */ 67 c onst char *sent_accountname;68 c onst char *sent_protocol;67 char *sent_accountname; 68 char *sent_protocol; 69 69 70 70 /* keygen jobs waiting to be sent to slave */ -
unix.c
rfd9fa52 rba5add7 31 31 #include "help.h" 32 32 #include "ipc.h" 33 #include "lib/ssl_client.h" 33 34 #include <signal.h> 34 35 #include <unistd.h> … … 55 56 b_main_init(); 56 57 nogaim_init(); 58 /* Ugly Note: libotr and gnutls both use libgcrypt. libgcrypt 59 has a process-global config state whose initialization happpens 60 twice if libotr and gnutls are used together. libotr installs custom 61 memory management functions for libgcrypt while our gnutls module 62 uses the defaults. Therefore we initialize OTR after SSL. *sigh* */ 63 ssl_init(); 57 64 otr_init(); 58 65
Note: See TracChangeset
for help on using the changeset viewer.