forked from KolibriOS/kolibrios
mbedtls:
ssl_client1.c - added REQUEST_URL input and added to autobuild git-svn-id: svn://kolibrios.org@9082 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
8fa851ddb6
commit
1d002754bb
@ -68,12 +68,14 @@
|
|||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
//#define SERVER_PORT "443"
|
#define SERVER_NAME_SIZE 255
|
||||||
//#define SERVER_NAME "wikipedia.org"
|
#define SERVER_PORT_SIZE 16
|
||||||
//#define GET_REQUEST "GET / HTTP/1.0\r\n\r\n"
|
#define REQUEST_URL_SIZE STDIO_MAX_MEM-SERVER_NAME_SIZE-32
|
||||||
static char SERVER_PORT[16];
|
|
||||||
static char SERVER_NAME[128];
|
static char server_port[SERVER_PORT_SIZE];
|
||||||
static char GET_REQUEST[512];
|
static char server_name[SERVER_NAME_SIZE];
|
||||||
|
static char request_url[REQUEST_URL_SIZE];
|
||||||
|
static char get_request[STDIO_MAX_MEM];
|
||||||
|
|
||||||
#define DEBUG_LEVEL 1
|
#define DEBUG_LEVEL 1
|
||||||
|
|
||||||
@ -98,6 +100,21 @@ static void my_debug( void *ctx, int level,
|
|||||||
printf("%s:%04d: %s", file, line, str );
|
printf("%s:%04d: %s", file, line, str );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char* safe_gets(char *str, size_t n){
|
||||||
|
char* ret = fgets(str, n, stdin);
|
||||||
|
if(ret){
|
||||||
|
size_t str_len = strlen(str);
|
||||||
|
if(str[str_len-1]=='\n'){
|
||||||
|
str[str_len-1]= '\0';
|
||||||
|
}
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
extern int mbedtls_load();
|
||||||
|
extern int mbedtls_init();
|
||||||
|
|
||||||
int main( void )
|
int main( void )
|
||||||
{
|
{
|
||||||
if(mbedtls_load()){
|
if(mbedtls_load()){
|
||||||
@ -109,18 +126,22 @@ int main( void )
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
puts("Enter SERVER_NAME : ");
|
puts("Enter server name : ");
|
||||||
gets(SERVER_NAME);
|
safe_gets(server_name, SERVER_NAME_SIZE);
|
||||||
puts("Enter SERVER_PORT : ");
|
|
||||||
gets(SERVER_PORT);
|
|
||||||
sprintf(GET_REQUEST, "GET / HTTP/1.1\r\nHost: %s\r\n\r\n", SERVER_NAME);
|
|
||||||
//puts(GET_REQUEST);
|
|
||||||
|
|
||||||
|
puts("Enter request_url : ");
|
||||||
|
safe_gets(request_url, REQUEST_URL_SIZE);
|
||||||
|
|
||||||
|
puts("Enter server port : ");
|
||||||
|
safe_gets(server_port, SERVER_PORT_SIZE);
|
||||||
|
|
||||||
|
sprintf(get_request, "GET %s HTTP/1.1\r\nHost: %s\r\n\r\n", request_url, server_name);
|
||||||
|
//puts(get_request);
|
||||||
int ret = 1, len;
|
int ret = 1, len;
|
||||||
int exit_code = MBEDTLS_EXIT_FAILURE;
|
int exit_code = MBEDTLS_EXIT_FAILURE;
|
||||||
mbedtls_net_context server_fd;
|
mbedtls_net_context server_fd;
|
||||||
uint32_t flags;
|
uint32_t flags;
|
||||||
unsigned char buf[1024];
|
unsigned char buf[STDIO_MAX_MEM];
|
||||||
const char *pers = "ssl_client1";
|
const char *pers = "ssl_client1";
|
||||||
mbedtls_entropy_context entropy;
|
mbedtls_entropy_context entropy;
|
||||||
mbedtls_ctr_drbg_context ctr_drbg;
|
mbedtls_ctr_drbg_context ctr_drbg;
|
||||||
@ -172,11 +193,11 @@ int main( void )
|
|||||||
/*
|
/*
|
||||||
* 1. Start the connection
|
* 1. Start the connection
|
||||||
*/
|
*/
|
||||||
mbedtls_printf( " . Connecting to tcp/%s/%s...", SERVER_NAME, SERVER_PORT );
|
mbedtls_printf( " . Connecting to tcp/%s/%s...", server_name, server_port );
|
||||||
//fflush( stdout );
|
//fflush( stdout );
|
||||||
|
|
||||||
if( ( ret = mbedtls_net_connect( &server_fd, SERVER_NAME,
|
if( ( ret = mbedtls_net_connect( &server_fd, server_name,
|
||||||
SERVER_PORT, MBEDTLS_NET_PROTO_TCP ) ) != 0 )
|
server_port, MBEDTLS_NET_PROTO_TCP ) ) != 0 )
|
||||||
{
|
{
|
||||||
mbedtls_printf( " failed\n ! mbedtls_net_connect returned %d\n\n", ret );
|
mbedtls_printf( " failed\n ! mbedtls_net_connect returned %d\n\n", ret );
|
||||||
goto exit;
|
goto exit;
|
||||||
@ -214,7 +235,7 @@ int main( void )
|
|||||||
goto exit;
|
goto exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( ( ret = mbedtls_ssl_set_hostname( &ssl, SERVER_NAME ) ) != 0 )
|
if( ( ret = mbedtls_ssl_set_hostname( &ssl, server_name ) ) != 0 )
|
||||||
{
|
{
|
||||||
mbedtls_printf( " failed\n ! mbedtls_ssl_set_hostname returned %d\n\n", ret );
|
mbedtls_printf( " failed\n ! mbedtls_ssl_set_hostname returned %d\n\n", ret );
|
||||||
goto exit;
|
goto exit;
|
||||||
@ -263,7 +284,7 @@ int main( void )
|
|||||||
mbedtls_printf( " > Write to server:" );
|
mbedtls_printf( " > Write to server:" );
|
||||||
//fflush( stdout );
|
//fflush( stdout );
|
||||||
|
|
||||||
len = sprintf( (char *) buf, GET_REQUEST );
|
len = sprintf( (char *) buf, get_request );
|
||||||
|
|
||||||
while( ( ret = mbedtls_ssl_write( &ssl, buf, len ) ) <= 0 )
|
while( ( ret = mbedtls_ssl_write( &ssl, buf, len ) ) <= 0 )
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user