Hello,

I have a code cross compiled to 2 devices. On 1 device the code works
flawlessly, on the other SSL_connect does nothing. Info about both devices:

Device 1: (working)
CPU: PowerPC @ 220MHz
RAM: 128MB SD-RAM

Device 2: (not working)
CPU: PowerPC @ 133MHz
RAM:32MB SD-RAM

here's the code I'm using after sending EHLO and STARTTLS:

*

static SSL_CTX *ctx = NULL;
static SSL *ssl = NULL;

void CreateTLSSession(int sockfd)
{
              int RetValue=0;
        printf("CREATING TLS SESSION...\n");
        SSL_library_init();
        SSL_load_error_strings();
        OpenSSL_add_all_algorithms();
        //ctx = SSL_CTX_new(TLSv1_client_method());
        ctx = SSL_CTX_new(TLSv1_client_method());
        //(SSL_CTX_set_options(ctx, SSL_OP_NO_COMPRESSION);
        //SSL_CTX_set_mode(ctx, SSL_MODE_RELEASE_BUFFERS);
        if (ctx == NULL)
        {
                printf("failed to initialize context\n");
                return;
        }
        printf("CTX created...\n");
        ssl = SSL_new(ctx);
        if (ssl == NULL)
        {
                printf("failed to create SSL structure...\n");
                return;
        }
        if (!SSL_set_fd(ssl, sockfd))
        {
                printf("failed to bind to socket fd\n");
                return;
        }
        printf("SSL bound to sockfd=%d...\n",sockfd);   
        while (RetValue != 1)
        {
                perror("SSL_connect");
                sleep(1);
                RetValue = SSL_connect(ssl);
        }
        printf("OK\n");
}*

The socket is non-blocking. I'm using a while loop for test purposes. The
loop will be substituted by "switch" later on.

The code output the following: 

*CREATING TLS SESSION...
CTX created...
SSL bound to sockfd=9...
SSL_connect: No such file or directory
SSL_connect: Success
SSL_connect: Success
SSL_connect: Success
SSL_connect: Success
SSL_connect: Success
SSL_connect: Success
SSL_connect: Success
SSL_connect: Success
SSL_connect: Success*


but never gets out of the loop.

I managed to connect device 2 to a managed switch and observe the network
traffic through wireshark. To my surprise, SSL_connect() has no effect. The
last thing shown by wireshark is "220 2.0.0 Ready to start TLS". 


I've attached a the .pcap file to this post. 

Any help will be greatly appreciated.






--
View this message in context: 
http://openssl.6102.n7.nabble.com/SSL-connect-fails-no-attempt-for-handshake-with-server-observed-in-wireshark-tp49399.html
Sent from the OpenSSL - Dev mailing list archive at Nabble.com.
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to