diff --git a/ChangeLog b/ChangeLog index 5b140ca37..fe66102f2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2008-05-22 Richard Frith-Macdonald + + * SSL/GSSSLHandle.m: Attempt to improve error logging. + 2008-05-21 Richard Frith-Macdonald * Source/NSRunLoop.m: Fix reference to uninitialised variable. diff --git a/SSL/GSSSLHandle.m b/SSL/GSSSLHandle.m index dd9204d55..b0b5f7dd8 100644 --- a/SSL/GSSSLHandle.m +++ b/SSL/GSSSLHandle.m @@ -87,37 +87,21 @@ sslError(int err) SSL_load_error_strings(); - switch (err) + if (err == SSL_ERROR_SYSCALL) { - case SSL_ERROR_NONE: - str = @"No error: really helpful"; - break; - case SSL_ERROR_ZERO_RETURN: - str = @"Zero Return error"; - break; - case SSL_ERROR_WANT_READ: - str = @"Want Read Error"; - break; - case SSL_ERROR_WANT_WRITE: - str = @"Want Write Error"; - break; - case SSL_ERROR_WANT_X509_LOOKUP: - str = @"Want X509 Lookup Error"; - break; - case SSL_ERROR_SYSCALL: - { - NSError *e = [NSError _last]; + NSError *e = [NSError _last]; + + str = [NSString stringWithFormat: @"Syscall error %d - %@", + [e code], [e description]]; + } + else if (err == SSL_ERROR_NONE) + { + str = @"No error: really helpful"; + } + else + { + str = [NSString stringWithFormat: @"%s", ERR_reason_error_string(err)]; - str = [NSString stringWithFormat: @"Syscall error %d - %@", - [e code], [e description]]; - } - break; - case SSL_ERROR_SSL: - str = @"SSL Error: really helpful"; - break; - default: - str = @"Standard system error: really helpful"; - break; } return str; } @@ -270,10 +254,8 @@ sslError(int err) /* * Some other error ... not just a timeout or disconnect */ - NSLog(@"unable to accept SSL connection from %@:%@ - %@", + NSWarnLog(@"unable to accept SSL connection from %@:%@ - %@", address, service, sslError(err)); - - ERR_print_errors_fp(stderr); } RELEASE(self); return NO; @@ -369,7 +351,6 @@ sslError(int err) RELEASE(final); if (err != SSL_ERROR_NONE) { - if (err != SSL_ERROR_WANT_READ && err != SSL_ERROR_WANT_WRITE) if (err != SSL_ERROR_WANT_READ && err != SSL_ERROR_WANT_WRITE) { /* @@ -377,7 +358,6 @@ sslError(int err) */ NSLog(@"unable to make SSL connection to %@:%@ - %@", address, service, sslError(err)); - ERR_print_errors_fp(stderr); } RELEASE(self); return NO;