Hi, 

We are using the non blocking IO(select) for testing DTLS and testing it on 
Windows with openssl-1.0.0d. 

We observe that when we call SSL_connect, it returns us -1 (as expected because 
operation should be in progress) 
and then when this return code is passed to SSL_get_error() function we expect 
that it would return SSL_WANT_READ 
but it passes us SSL_ERROR_SYSCALL. This happens only on Windows OS. On Linux 
the same program works fine 
as the call rightly returns us SSL_WANT_READ and then SSL_SUCCESS to complete 
the connection. 


To illustrate attaching the program we use to test on Linux and Windows OS. 
Attached is a tar ball which contains the VC project with sample program 
"simple_dtls_udp_echo.c" at the root. 

Note: This program acts only as client. Server you can run on Linux as given in 
the post 
http://www.mail-archive.com/openssl-dev@openssl.org/msg29413.html 

If you want to directly test then build the project in Visula studio and go to 
windows/vc_proj/Debug/ and run 
./dtls.exe <server IP> <server port> (copy certificates and keys in this 
directory) 

If you want to make changes then open the project solution 
windows/vc_proj/dtls.sln in Visual Studio 2003 
and change the path for the openssl library and include files and rebuild. 

(if you need any other files let me know I will send you email separately as 
this forum has some attachment size limit). 

If you run the same program on Linux then it will work fine and it will make 
the connection successfully. 
To compile on Linux : 
gcc -DLINUX simple_dtls_udp_echo.c -o simple_s -I 
/home/buildboy/Openssl/openssl-1.0.0d//include -l pthread -l dl 
/home/buildboy/Openssl/openssl-1.0.0d/libssl.a 
/home/buildboy/Openssl/openssl-1.0.0d//libcrypto.a 

--Nilesh. 


Stratacache Inc.(Santa Clara Office) 
Systems Architect 
O: 408-844-9810(2110) 
M: 408-202-5401 

Attachment: dtls.tar.gz
Description: GNU Zip compressed data

Reply via email to