~rdoering/ubuntu/intrepid/erlang/fix-535090

« back to all changes in this revision

Viewing changes to lib/ssl/c_src/esock_openssl.c

  • Committer: Bazaar Package Importer
  • Author(s): Soren Hansen
  • Date: 2007-05-01 16:57:10 UTC
  • mfrom: (1.1.9 upstream)
  • Revision ID: james.westby@ubuntu.com-20070501165710-2sapk0hp2gf3o0ip
Tags: 1:11.b.4-2ubuntu1
* Merge with Debian Unstable. Remaining changes:
  - Add -fno-stack-protector to fix broken crypto_drv.
* DebianMaintainerField update.

Show diffs side-by-side

added added

removed removed

Lines of Context:
291
291
    RESET_ERRSTR();
292
292
    MAYBE_SET_ERRSTR("esslacceptinit");
293
293
 
294
 
    if(!listenssl)
295
 
        return -1;
296
 
    if (!(listenctx = SSL_get_SSL_CTX(listenssl)))
297
 
        return -1;
298
 
    if (!(ssl = cp->opaque = SSL_new(listenctx)))
299
 
        return -1;
 
294
    if(!listenssl) {
 
295
        DEBUGF(("esock_ssl_accept_init: listenssl null\n"));
 
296
        return -1;
 
297
    }
 
298
    if (!(listenctx = SSL_get_SSL_CTX(listenssl))) {
 
299
        DEBUGF(("esock_ssl_accept_init: SSL_get_SSL_CTX\n"));
 
300
        return -1;
 
301
    }
 
302
    if (!(ssl = cp->opaque = SSL_new(listenctx))) {
 
303
        DEBUGF(("esock_ssl_accept_init: SSL_new(listenctx)\n"));
 
304
        return -1;
 
305
    }
300
306
    SSL_set_fd(ssl, cp->fd);
301
307
    return 0;
302
308
 
371
377
    DEBUGF(("esock_ssl_accept: calling SSL_accept fd = %d\n"
372
378
            "  state before: %s\n", cp->fd, SSL_state_string(ssl)));
373
379
    ret = SSL_accept(ssl);
 
380
    DEBUGF(("  sock_errno %d errno %d \n", sock_errno(), errno));
374
381
    ssl_error = SSL_get_error(ssl, ret);
375
382
    DEBUGF(("  SSL_accept = %d\n"
376
383
            "  ssl_error: %s\n"
377
384
            "  state after: %s\n", 
378
385
            ret, ssl_error_str(ssl_error), SSL_state_string(ssl)));
 
386
    DEBUGF(("    ret %d os error %s\n", ret, strerror(errno)));
379
387
    if (ret > 0)
380
388
        return ret;
381
389
    else if (ret == 0) {
 
390
        const char* f; int l; unsigned int e;
 
391
        while ((e = ERR_get_error_line(&f, &l))) {
 
392
            DEBUGF(("    error %s:%d  %s\n", f, l, ssl_error_str(e)));
 
393
        }
382
394
        /* permanent accept error */
383
395
        sock_set_errno(ERRNO_NONE);
384
396
        MAYBE_SET_ERRSTR("esslaccept");
695
707
    sd_mode = SSL_get_shutdown(ssl);
696
708
    if (sd_mode & SSL_RECEIVED_SHUTDOWN)
697
709
        cp->eof = 1;
698
 
    if (sd_mode & SSL_SENT_SHUTDOWN)
 
710
    if (sd_mode & SSL_SENT_SHUTDOWN) {
 
711
        DEBUGF(("check_shutdown SSL_SENT_SHUTDOWN\n"));
699
712
        cp->bp = 1;
 
713
    }
700
714
}
701
715
 
702
716
/*