Short: Use AmiSSL instead of static OpenSSL Author: megacz usa com Uploader: megacz usa com Type: dev/lib Version: 0.1 Requires: porter & compiler Architecture: generic; m68k-amigaos ----==================================================================---- THIS IS VERY SPECIAL AMINET UPLOAD SINCE SOME FILES DISAPPEARED FROM BTTR AFTER THE DISK ARRAY CRASH... ----==================================================================---- ixamissl-0.1 ------------- --- This example demonstrates how to use already initialised base of 'bsdsocket.library' in 'ixemul' and resolve real socket, so that 'AmiSSL' can be fully operational without inlining or gluing to TCP/IP stack directly. This has big advantages, cuz you do not need to perform hardcore hacking on the program to make it work, plus you will be as close to thread-safe model as possible thru 'ixemul' + HScM'ed(Hard Syscall Mapping) 'pthreads'. Please note 'AmiSSL' itself is not thread-safe! Functions like 'SSL_write()' or 'SSL_read()' wont allow contexts to be switched, however you can improvise and after each call enforce it with 'pthread_switch_me()' - see bonus dir. in 'pthreads' package -. Important! Dont call 'CloseLibrary(SocketBase)' ! Also important! Always setup your own CTRL_C handler when using 'AmiSSL', cuz when you quit unexpectedly while it is initialised and some callback or other crap is being processed then your Miggy might get pranoid and commit suicide, due no code space. So, if you want to quit, then remeber to clean up first. And some remark. Using 'AmiSSL' from under the 'ixlibrary' gives you the ability to interrupt the process anytime you like without the need of shielding it first with 'signal()', its because 'ixlibrary' takes care of init and cleanup - study this package more closely to fully understand. And yet a warning! Initialisation from under the 'ixlibrary' with 'ixemul_errno' clobbers the 'errno' of network functions like: 'connect()' or accept(), i think that few others too. It will be always 0, no matter if function failed or succeded! To solve that problem define bases only and initialise in the process. SSL test stuff ripped from 'https.c' example file that is a part of 'AmiSSL'. --- megacz