ssl_server2 now uses alloc_buffer if present and can be 'SERVERQUIT'
diff --git a/programs/ssl/ssl_server2.c b/programs/ssl/ssl_server2.c
index db2d123..5b7639a 100644
--- a/programs/ssl/ssl_server2.c
+++ b/programs/ssl/ssl_server2.c
@@ -49,6 +49,10 @@
#include "polarssl/ssl_cache.h"
#endif
+#if defined(POLARSSL_MEMORY_BUFFER_ALLOC_C)
+#include "polarssl/memory.h"
+#endif
+
#define DFL_SERVER_PORT 4433
#define DFL_REQUEST_PAGE "/"
#define DFL_DEBUG_LEVEL 0
@@ -185,11 +189,18 @@
#if defined(POLARSSL_SSL_CACHE_C)
ssl_cache_context cache;
#endif
+#if defined(POLARSSL_MEMORY_BUFFER_ALLOC_C)
+ unsigned char alloc_buf[100000];
+#endif
int i;
char *p, *q;
const int *list;
+#if defined(POLARSSL_MEMORY_BUFFER_ALLOC_C)
+ memory_buffer_alloc_init( alloc_buf, sizeof(alloc_buf) );
+#endif
+
/*
* Make sure memory references are valid.
*/
@@ -739,6 +750,9 @@
len = ret;
printf( " %d bytes read\n\n%s", len, (char *) buf );
+ if( memcmp( buf, "SERVERQUIT", 10 ) == 0 )
+ goto exit;
+
if( ret > 0 )
break;
}
@@ -798,6 +812,10 @@
ssl_cache_free( &cache );
#endif
+#if defined(POLARSSL_MEMORY_BUFFER_ALLOC_C) && defined(POLARSSL_MEMORY_DEBUG)
+ memory_buffer_alloc_status();
+#endif
+
#if defined(_WIN32)
printf( " + Press Enter to exit this program.\n" );
fflush( stdout ); getchar();