X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=src%2Fssli_gnutls.c;h=8883757d279f061b982e0d2409babdbd9208ddc0;hb=d55c5e7cf9d7dd4b22132d07afc3cd823f43abb8;hp=ab32d1e0da20fd77d1e3364eb7565c0f2a6d6084;hpb=8e8ff9af85dcf79469150009a96e1f8583ccc538;p=umurmur.git diff --git a/src/ssli_gnutls.c b/src/ssli_gnutls.c index ab32d1e..8883757 100644 --- a/src/ssli_gnutls.c +++ b/src/ssli_gnutls.c @@ -70,15 +70,38 @@ SSL_handle_t * SSLi_newconnection( int * fileDescriptor, bool_t * isSSLReady ) gnutls_transport_set_int(*session, *fileDescriptor); + *isSSLReady = true; + + return session; + } + +bool_t SSLi_getSHA1Hash(SSL_handle_t *ssl, uint8_t *hash) + { + *hash = 0; + return true; + } + +int SSLi_nonblockaccept( SSL_handle_t *session, bool_t * isSSLReady ) + { int error; do { - gnutls_handshake(*session); + gnutls_handshake(*session); } while(error < GNUTLS_E_SUCCESS && !gnutls_error_is_fatal(error)); if ( error < GNUTLS_E_SUCCESS ) { Log_fatal("TLS handshake failed with error %i (%s).", error, gnutls_strerror(error)); } - return session; + return error; + } + +int SSLi_read(SSL_handle_t *session, uint8_t *buffer, int length) + { + return gnutls_record_recv(*session, buffer, length); + } + +void SSLi_shutdown(SSL_handle_t *ssl) + { } +void SSLi_free(SSL_handle_t *ssl) {}