- Added Secure Renegotiation (RFC 5746)
diff --git a/programs/ssl/ssl_server.c b/programs/ssl/ssl_server.c
index 0d24787..ca1477e 100644
--- a/programs/ssl/ssl_server.c
+++ b/programs/ssl/ssl_server.c
@@ -370,7 +370,9 @@
ssl_set_ca_chain( &ssl, srvcert.next, NULL, NULL );
ssl_set_own_cert( &ssl, &srvcert, &rsa );
+#if defined(POLARSSL_DHM_C)
ssl_set_dh_param( &ssl, my_dhm_P, my_dhm_G );
+#endif
printf( " ok\n" );
@@ -484,8 +486,11 @@
len = ret;
printf( " %d bytes read\n\n%s", len, (char *) buf );
+
+ if( ret > 0 )
+ break;
}
- while( 0 );
+ while( 1 );
/*
* 7. Write the 200 Response
@@ -531,19 +536,10 @@
net_close( client_fd );
x509_free( &srvcert );
rsa_free( &rsa );
+ ssl_session_free( &ssn );
+ ssl_session_free( s_list_1st );
ssl_free( &ssl );
- cur = s_list_1st;
- while( cur != NULL )
- {
- prv = cur;
- cur = cur->next;
- memset( prv, 0, sizeof( ssl_session ) );
- free( prv );
- }
-
- memset( &ssl, 0, sizeof( ssl_context ) );
-
#if defined(_WIN32)
printf( " Press Enter to exit this program.\n" );
fflush( stdout ); getchar();