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

Diff of /monit/ssl.c

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

revision 1.21 by chopp, Fri Aug 1 11:39:25 2003 UTC revision 1.22 by hauk, Fri Aug 1 21:35:59 2003 UTC
# Line 1159  ssl_connection *accept_ssl_socket(ssl_se Line 1159  ssl_connection *accept_ssl_socket(ssl_se
1159  int send_ssl_socket(ssl_connection *ssl, void *buffer, int len) {  int send_ssl_socket(ssl_connection *ssl, void *buffer, int len) {
1160    
1161  #ifdef HAVE_OPENSSL  #ifdef HAVE_OPENSSL
1162    int ssl_error= 0;    int n= 0;
   time_t ssl_time= time(NULL);  
     
   ASSERT(ssl);  
   
   while((ssl->ctx != NULL) &&  
         (ssl_error= SSL_write (ssl->handler, (void *) buffer, len))  < 0) {  
   
     if((time(NULL)-ssl_time) > SSL_TIMEOUT) {  
1163    
1164        log("%s: send_ssl_socket(): SSL service timeout\n", prog);    ASSERT(ssl);
       break;  
         
     }  
   
     if (!handle_connection_error(ssl_error, ssl, "send_ssl_socket()")) {  
   
       break;  
   
     }  
1165    
1166      do {
1167        n= SSL_write(ssl->handler, buffer, len);
1168      } while(n <= 0 &&
1169              BIO_should_retry(ssl->socket_bio) &&
1170              can_write(ssl->socket, 5));
1171      
1172      if(n <= 0) {
1173        return -1;
1174    }    }
1175    
1176    return ssl_error;    return n;
1177    
1178  #else  #else
1179    
# Line 1203  int send_ssl_socket(ssl_connection *ssl, Line 1194  int send_ssl_socket(ssl_connection *ssl,
1194  int recv_ssl_socket(ssl_connection *ssl, void *buffer, int len) {  int recv_ssl_socket(ssl_connection *ssl, void *buffer, int len) {
1195    
1196  #ifdef HAVE_OPENSSL  #ifdef HAVE_OPENSSL
1197    int ssl_error;    int n= 0;
   time_t ssl_time= time(NULL);  
1198    
1199    ASSERT(ssl);    ASSERT(ssl);
1200    
1201    while((ssl_error= SSL_read(ssl->handler, (void *) buffer, len))  < 0) {    do {
1202            n= SSL_read(ssl->handler, buffer, len);
1203      if((time(NULL)-ssl_time) > SSL_TIMEOUT) {    } while(n <= 0 &&
1204              BIO_should_retry(ssl->socket_bio) &&
1205        log("%s: recv_ssl_socket(): SSL service timeout\n", prog);            can_read(ssl->socket, 1));
1206        break;    
1207            if(n <= 0) {
1208      }      return -1;
   
     if (!handle_connection_error(ssl_error, ssl, "recv_ssl_socket()")) {  
   
       break;  
   
     }  
1209    }    }
1210    
1211    return ssl_error;    return n;
1212      
1213  #else  #else
1214    
1215    return -1;    return -1;

Legend:
Removed from v.1.21  
changed lines
  Added in v.1.22

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