mirror of
				https://github.com/cuberite/polarssl.git
				synced 2025-10-30 19:20:40 -04:00 
			
		
		
		
	ssl_client2: add max_frag_len option
This commit is contained in:
		
							parent
							
								
									8b46459ae5
								
							
						
					
					
						commit
						0df6b1f068
					
				| @ -57,6 +57,7 @@ | |||||||
| #define DFL_MIN_VERSION         -1 | #define DFL_MIN_VERSION         -1 | ||||||
| #define DFL_MAX_VERSION         -1 | #define DFL_MAX_VERSION         -1 | ||||||
| #define DFL_AUTH_MODE           SSL_VERIFY_OPTIONAL | #define DFL_AUTH_MODE           SSL_VERIFY_OPTIONAL | ||||||
|  | #define DFL_MFL_CODE            SSL_MAX_FRAG_LEN_NONE | ||||||
| 
 | 
 | ||||||
| #define GET_REQUEST "GET %s HTTP/1.0\r\n\r\n" | #define GET_REQUEST "GET %s HTTP/1.0\r\n\r\n" | ||||||
| 
 | 
 | ||||||
| @ -81,6 +82,7 @@ struct options | |||||||
|     int min_version;            /* minimum protocol version accepted        */ |     int min_version;            /* minimum protocol version accepted        */ | ||||||
|     int max_version;            /* maximum protocol version accepted        */ |     int max_version;            /* maximum protocol version accepted        */ | ||||||
|     int auth_mode;              /* verify mode for connection               */ |     int auth_mode;              /* verify mode for connection               */ | ||||||
|  |     unsigned char mfl_code;     /* code for maximum fragment length         */ | ||||||
| } opt; | } opt; | ||||||
| 
 | 
 | ||||||
| static void my_debug( void *ctx, int level, const char *str ) | static void my_debug( void *ctx, int level, const char *str ) | ||||||
| @ -176,6 +178,8 @@ static int my_verify( void *data, x509_cert *crt, int depth, int *flags ) | |||||||
|     "                        options: ssl3, tls1, tls1_1, tls1_2\n" \ |     "                        options: ssl3, tls1, tls1_1, tls1_2\n" \ | ||||||
|     "    auth_mode=%%s        default: \"optional\"\n"          \ |     "    auth_mode=%%s        default: \"optional\"\n"          \ | ||||||
|     "                        options: none, optional, required\n" \ |     "                        options: none, optional, required\n" \ | ||||||
|  |     "    max_frag_len=%%d     default: 16384 (tls default)" \ | ||||||
|  |     "                        options: 512, 1024, 2048, 4096" \ | ||||||
|     USAGE_PSK                                               \ |     USAGE_PSK                                               \ | ||||||
|     "\n"                                                    \ |     "\n"                                                    \ | ||||||
|     "    force_ciphersuite=<name>    default: all enabled\n"\ |     "    force_ciphersuite=<name>    default: all enabled\n"\ | ||||||
| @ -265,6 +269,7 @@ int main( int argc, char *argv[] ) | |||||||
|     opt.min_version         = DFL_MIN_VERSION; |     opt.min_version         = DFL_MIN_VERSION; | ||||||
|     opt.max_version         = DFL_MAX_VERSION; |     opt.max_version         = DFL_MAX_VERSION; | ||||||
|     opt.auth_mode           = DFL_AUTH_MODE; |     opt.auth_mode           = DFL_AUTH_MODE; | ||||||
|  |     opt.mfl_code            = DFL_MFL_CODE; | ||||||
| 
 | 
 | ||||||
|     for( i = 1; i < argc; i++ ) |     for( i = 1; i < argc; i++ ) | ||||||
|     { |     { | ||||||
| @ -387,6 +392,19 @@ int main( int argc, char *argv[] ) | |||||||
|             else |             else | ||||||
|                 goto usage; |                 goto usage; | ||||||
|         } |         } | ||||||
|  |         else if( strcmp( p, "max_frag_len" ) == 0 ) | ||||||
|  |         { | ||||||
|  |             if( strcmp( q, "512" ) == 0 ) | ||||||
|  |                 opt.mfl_code = SSL_MAX_FRAG_LEN_512; | ||||||
|  |             else if( strcmp( q, "1024" ) == 0 ) | ||||||
|  |                 opt.mfl_code = SSL_MAX_FRAG_LEN_1024; | ||||||
|  |             else if( strcmp( q, "2048" ) == 0 ) | ||||||
|  |                 opt.mfl_code = SSL_MAX_FRAG_LEN_2048; | ||||||
|  |             else if( strcmp( q, "4096" ) == 0 ) | ||||||
|  |                 opt.mfl_code = SSL_MAX_FRAG_LEN_4096; | ||||||
|  |             else | ||||||
|  |                 goto usage; | ||||||
|  |         } | ||||||
|         else |         else | ||||||
|             goto usage; |             goto usage; | ||||||
|     } |     } | ||||||
| @ -592,6 +610,8 @@ int main( int argc, char *argv[] ) | |||||||
|     ssl_set_endpoint( &ssl, SSL_IS_CLIENT ); |     ssl_set_endpoint( &ssl, SSL_IS_CLIENT ); | ||||||
|     ssl_set_authmode( &ssl, opt.auth_mode ); |     ssl_set_authmode( &ssl, opt.auth_mode ); | ||||||
| 
 | 
 | ||||||
|  |     ssl_set_max_frag_len( &ssl, opt.mfl_code ); | ||||||
|  | 
 | ||||||
|     ssl_set_rng( &ssl, ctr_drbg_random, &ctr_drbg ); |     ssl_set_rng( &ssl, ctr_drbg_random, &ctr_drbg ); | ||||||
|     ssl_set_dbg( &ssl, my_debug, stdout ); |     ssl_set_dbg( &ssl, my_debug, stdout ); | ||||||
|     ssl_set_bio( &ssl, net_recv, &server_fd, |     ssl_set_bio( &ssl, net_recv, &server_fd, | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Manuel Pégourié-Gonnard
						Manuel Pégourié-Gonnard