Changeset 78b8401 for protocols


Ignore:
Timestamp:
2011-12-19T17:22:37Z (12 years ago)
Author:
Wilmer van der Gaast <wilmer@…>
Branches:
master
Children:
af5764e
Parents:
486ddb5
Message:

Move conversion of status codes to status messages into SSL libs.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • protocols/jabber/io.c

    r486ddb5 r78b8401  
    292292                jd->ssl = NULL;
    293293               
    294                 imcb_error( ic, "Could not connect to server" );
    295                 if (returncode ==  OPENSSL_VERIFY_ERROR )
    296                 {
    297                         imcb_error( ic, "This BitlBee server is built agains the OpenSSL library." );
    298                         imcb_error( ic, "Unfortunately certificate verification is only supported when built against GnuTLS for now." );
     294                if( returncode & VERIFY_CERT_INVALID)
     295                {
     296                        char *err = ssl_verify_strerror( returncode );
     297                        imcb_error( ic, "Certificate verification problem 0x%x: %s",
     298                                    returncode, err ? err : "Unknown" );
     299                        g_free( err );
    299300                        imc_logout( ic, FALSE );
    300301                }
    301                 else if (returncode ==  NSS_VERIFY_ERROR )
    302                 {
    303                         imcb_error( ic, "This BitlBee server is built agains the NSS library." );
    304                         imcb_error( ic, "Unfortunately certificate verification is only supported when built against GnuTLS for now." );
    305                         imc_logout( ic, FALSE );
    306                 }
    307                 else if (returncode == VERIFY_CERT_ERROR )
    308                 {
    309                         imcb_error( ic, "An error occured during the certificate verification." );
    310                         imc_logout( ic, FALSE );
    311                 }
    312                 else if (returncode  & VERIFY_CERT_INVALID)
    313                 {
    314                         imcb_error( ic, "Unable to verify peer's certificate." );
    315                         if (returncode & VERIFY_CERT_REVOKED)
    316                                 imcb_error( ic, "The certificate has been revoked." );
    317                         if (returncode & VERIFY_CERT_SIGNER_NOT_FOUND)
    318                                 imcb_error( ic, "The certificate hasn't got a known issuer." );
    319                         if (returncode & VERIFY_CERT_SIGNER_NOT_CA)
    320                                 imcb_error( ic, "The certificate's issuer is not a CA." );
    321                         if (returncode & VERIFY_CERT_INSECURE_ALGORITHM)
    322                                 imcb_error( ic, "The certificate uses an insecure algorithm." );
    323                         if (returncode & VERIFY_CERT_NOT_ACTIVATED)
    324                                 imcb_error( ic, "The certificate has not been activated." );
    325                         if (returncode & VERIFY_CERT_EXPIRED)
    326                                 imcb_error( ic, "The certificate has expired." );
    327                         if (returncode & VERIFY_CERT_WRONG_HOSTNAME)
    328                                 imcb_error( ic, "The hostname specified in the certificate doesn't match the server name." );
    329                         imc_logout( ic, FALSE );
    330                 }
    331302                else
    332                 imc_logout( ic, TRUE );
     303                {
     304                        imcb_error( ic, "Could not connect to server" );
     305                        imc_logout( ic, TRUE );
     306                }
     307               
    333308                return FALSE;
    334309        }
Note: See TracChangeset for help on using the changeset viewer.