/[monit]/monit/ssl.c
ViewVC logotype

Diff of /monit/ssl.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.9 by martinp, Thu Oct 31 11:41:31 2002 UTC revision 1.10 by chopp, Sat Nov 2 10:47:22 2002 UTC
# Line 91  static void verify_info(ssl_server_conne Line 91  static void verify_info(ssl_server_conne
91    
92  static pthread_mutex_t   ssl_mutex= PTHREAD_MUTEX_INITIALIZER;  static pthread_mutex_t   ssl_mutex= PTHREAD_MUTEX_INITIALIZER;
93  static pthread_mutex_t * ssl_mutex_table;  static pthread_mutex_t * ssl_mutex_table;
94    
95    static int ssl_initilized=FALSE;
96  #endif  #endif
97    
98  /**  /**
# Line 143  int embed_ssl_socket (ssl_connection * s Line 145  int embed_ssl_socket (ssl_connection * s
145    
146    }    }
147    
148      if (!ssl_initilized) {
149    
150        start_ssl();
151    
152      }
153    
154    if ( socket >= 0 ) {    if ( socket >= 0 ) {
155            
156      ssl->socket= socket;      ssl->socket= socket;
# Line 237  int check_ssl_md5sum(ssl_connection * ss Line 245  int check_ssl_md5sum(ssl_connection * ss
245  #ifdef HAVE_OPENSSL  #ifdef HAVE_OPENSSL
246    int i= 0;    int i= 0;
247    
248      ASSERT(md5sum);
249    
250    while (( i < ssl->cert_md5_len ) &&    while (( i < ssl->cert_md5_len ) &&
251           ( md5sum[2*i] != '\0' ) &&           ( md5sum[2*i] != '\0' ) &&
252           ( md5sum[2*i+1] != '\0' )) {           ( md5sum[2*i+1] != '\0' )) {
# Line 279  ssl_connection * create_ssl_socket(char Line 289  ssl_connection * create_ssl_socket(char
289    int socket;    int socket;
290    ssl_connection * ssl = new_ssl_connection(NULL);    ssl_connection * ssl = new_ssl_connection(NULL);
291    
292      ASSERT(hostname);
293    
294      if (!ssl_initilized) {
295    
296        start_ssl();
297    
298      }
299    
300    if ((socket= create_socket(hostname, port, protocol)) == -1) {    if ((socket= create_socket(hostname, port, protocol)) == -1) {
301    
302      error("Cannot connect!\n");      error("Cannot connect!\n");
# Line 448  ssl_server_connection * init_ssl_server Line 466  ssl_server_connection * init_ssl_server
466  #ifdef HAVE_OPENSSL  #ifdef HAVE_OPENSSL
467    
468    ssl_server_connection * ssl_server = new_ssl_server_connection();    ssl_server_connection * ssl_server = new_ssl_server_connection();
469    
470      ASSERT(pemfilename);
471    
472      if (!ssl_initilized) {
473    
474        start_ssl();
475    
476      }
477        
478    if ((ssl_server->method= SSLv23_server_method()) == NULL ) {    if ((ssl_server->method= SSLv23_server_method()) == NULL ) {
479    
# Line 532  ssl_server_connection * create_ssl_serve Line 558  ssl_server_connection * create_ssl_serve
558    int socket;    int socket;
559    ssl_server_connection * ssl_server;    ssl_server_connection * ssl_server;
560    
561      ASSERT(pemfilename);
562      ASSERT(bindAddr);
563    
564      if (!ssl_initilized) {
565    
566        start_ssl();
567    
568      }
569    
570    if ((socket= create_server_socket(port, backlog, bindAddr)) == -1) {    if ((socket= create_server_socket(port, backlog, bindAddr)) == -1) {
571    
572      error("Cannot connect!\n");      error("Cannot connect!\n");
# Line 677  ssl_connection * insert_accepted_ssl_soc Line 712  ssl_connection * insert_accepted_ssl_soc
712    
713    ssl_connection * ssl = (ssl_connection *) NEW(ssl);    ssl_connection * ssl = (ssl_connection *) NEW(ssl);
714    
715      if (!ssl_initilized) {
716    
717        start_ssl();
718    
719      }
720    
721      if (!ssl_initilized) {
722    
723        start_ssl();
724    
725      }
726    
727    ssl->method= NULL;    ssl->method= NULL;
728    ssl->handler= NULL;    ssl->handler= NULL;
729    ssl->cert= NULL;    ssl->cert= NULL;
# Line 829  int embed_accepted_ssl_socket(ssl_connec Line 876  int embed_accepted_ssl_socket(ssl_connec
876    
877    ssl->socket=socket;    ssl->socket=socket;
878    
879      if (!ssl_initilized) {
880    
881        start_ssl();
882    
883      }
884    
885    if ((ssl->handler= SSL_new(ssl->ctx)) == NULL ) {    if ((ssl->handler= SSL_new(ssl->ctx)) == NULL ) {
886    
887      error("Cannot initilize SSL handler!\n");      error("Cannot initilize SSL handler!\n");
# Line 987  char * gets_ssl_socket(ssl_connection * Line 1040  char * gets_ssl_socket(ssl_connection *
1040  #ifdef HAVE_OPENSSL  #ifdef HAVE_OPENSSL
1041    
1042    int i=0;    int i=0;
   int error;  
1043    char c;    char c;
     
1044    
1045    while(i <= len - 1) {    ASSERT(buffer);
1046    
1047      error=recv_ssl_socket(ssl, (void *) &c, 1);    while(i <= len - 1) {
1048    
1049      switch ( error ) {      switch ( recv_ssl_socket(ssl, (void *) &c, 1)) {
1050                
1051      case 1:      case 1:
1052    
# Line 1028  char * gets_ssl_socket(ssl_connection * Line 1079  char * gets_ssl_socket(ssl_connection *
1079    return buffer;    return buffer;
1080    
1081  #else  #else
1082        
1083    return NULL;    return NULL;
1084        
1085  #endif  #endif
# Line 1051  int printf_ssl_socket(ssl_connection * s Line 1102  int printf_ssl_socket(ssl_connection * s
1102    int len;    int len;
1103    
1104    va_list ap;    va_list ap;
1105    
1106      ASSERT(format);
1107    
1108    va_start(ap,format);    va_start(ap,format);
1109    len=vsnprintf(msg, STRLEN, format, ap);    len=vsnprintf(msg, STRLEN, format, ap);
1110    va_end(ap);    va_end(ap);
# Line 1076  int start_ssl() { Line 1130  int start_ssl() {
1130    
1131  #ifdef HAVE_OPENSSL  #ifdef HAVE_OPENSSL
1132    
1133    return (ssl_thread_start() && SSL_library_init() && ssl_entropy_start());    if (! ssl_initilized ) {
1134    
1135        ssl_initilized=TRUE;
1136        return (ssl_thread_start() && SSL_library_init() && ssl_entropy_start());
1137    
1138      } else {
1139    
1140        return TRUE;
1141    
1142      }
1143    
1144  #else  #else
1145    
# Line 1095  int stop_ssl() { Line 1158  int stop_ssl() {
1158    
1159  #ifdef HAVE_OPENSSL  #ifdef HAVE_OPENSSL
1160    
1161    return (ssl_thread_stop() && ssl_entropy_stop());    if ( ssl_initilized ) {
1162    
1163        ssl_initilized=FALSE;
1164        return (ssl_thread_stop() && ssl_entropy_stop());
1165    
1166      } else {
1167    
1168        return TRUE;
1169    
1170      }
1171    
1172  #else  #else
1173    
# Line 1116  ssl_connection * new_ssl_connection(char Line 1188  ssl_connection * new_ssl_connection(char
1188    
1189    ssl_connection * ssl = (ssl_connection *) NEW(ssl);    ssl_connection * ssl = (ssl_connection *) NEW(ssl);
1190    
1191      if (!ssl_initilized) {
1192    
1193        start_ssl();
1194    
1195      }
1196    
1197    ssl->handler= NULL;    ssl->handler= NULL;
1198    ssl->cert= NULL;    ssl->cert= NULL;
1199    ssl->cipher= NULL;    ssl->cipher= NULL;
# Line 1194  ssl_server_connection * new_ssl_server_c Line 1272  ssl_server_connection * new_ssl_server_c
1272    
1273    ssl_server_connection * ssl_server = (ssl_server_connection *) NEW(ssl_server);    ssl_server_connection * ssl_server = (ssl_server_connection *) NEW(ssl_server);
1274    
1275      if (!ssl_initilized) {
1276    
1277        start_ssl();
1278    
1279      }
1280    
1281    ssl_server->ctx= NULL;    ssl_server->ctx= NULL;
1282    ssl_server->method= NULL;    ssl_server->method= NULL;
1283    ssl_server->server_socket= 0;    ssl_server->server_socket= 0;

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.10

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26