Deleted
Added
nxt_openssl.c (833:9258a64a8bf9) | nxt_openssl.c (836:ecd3c5bbf7d8) |
---|---|
1 2/* 3 * Copyright (C) Igor Sysoev 4 * Copyright (C) NGINX, Inc. 5 */ 6 7#include <nxt_main.h> 8#include <openssl/ssl.h> --- 489 unchanged lines hidden (view full) --- 498fail: 499 500 nxt_work_queue_add(c->read_work_queue, c->read_state->error_handler, 501 task, c, c->socket.data); 502} 503 504 505nxt_inline void | 1 2/* 3 * Copyright (C) Igor Sysoev 4 * Copyright (C) NGINX, Inc. 5 */ 6 7#include <nxt_main.h> 8#include <openssl/ssl.h> --- 489 unchanged lines hidden (view full) --- 498fail: 499 500 nxt_work_queue_add(c->read_work_queue, c->read_state->error_handler, 501 task, c, c->socket.data); 502} 503 504 505nxt_inline void |
506nxt_openssl_conn_free(nxt_task_t *task, nxt_openssl_conn_t *tls) | 506nxt_openssl_conn_free(nxt_task_t *task, nxt_conn_t *c) |
507{ | 507{ |
508 nxt_openssl_conn_t *tls; 509 |
|
508 nxt_debug(task, "openssl conn free"); 509 | 510 nxt_debug(task, "openssl conn free"); 511 |
510 nxt_free(tls->buffer.start); | 512 tls = c->u.tls; |
511 | 513 |
512 SSL_free(tls->session); | 514 if (tls != NULL) { 515 c->u.tls = NULL; 516 nxt_free(tls->buffer.start); 517 SSL_free(tls->session); 518 } |
513} 514 515 516static void 517nxt_openssl_conn_handshake(nxt_task_t *task, void *obj, void *data) 518{ 519 int ret; 520 nxt_int_t n; 521 nxt_err_t err; 522 nxt_conn_t *c; 523 nxt_work_queue_t *wq; 524 nxt_work_handler_t handler; 525 nxt_openssl_conn_t *tls; 526 const nxt_conn_state_t *state; 527 528 c = obj; | 519} 520 521 522static void 523nxt_openssl_conn_handshake(nxt_task_t *task, void *obj, void *data) 524{ 525 int ret; 526 nxt_int_t n; 527 nxt_err_t err; 528 nxt_conn_t *c; 529 nxt_work_queue_t *wq; 530 nxt_work_handler_t handler; 531 nxt_openssl_conn_t *tls; 532 const nxt_conn_state_t *state; 533 534 c = obj; |
535 536 nxt_debug(task, "openssl conn handshake fd:%d", c->socket.fd); 537 538 if (c->socket.error != 0) { 539 return; 540 } 541 |
|
529 tls = c->u.tls; 530 | 542 tls = c->u.tls; 543 |
531 nxt_debug(task, "openssl conn handshake: %d", tls->times); | 544 if (tls == NULL) { 545 return; 546 } |
532 | 547 |
548 nxt_debug(task, "openssl conn handshake: %d times", tls->times); 549 |
|
533 /* "tls->times == 1" is suitable to run SSL_do_handshake() in job. */ 534 535 ret = SSL_do_handshake(tls->session); 536 537 err = (ret <= 0) ? nxt_socket_errno : 0; 538 539 nxt_thread_time_debug_update(task->thread); 540 --- 169 unchanged lines hidden (view full) --- 710 nxt_int_t n; 711 nxt_bool_t quiet, once; 712 nxt_conn_t *c; 713 nxt_openssl_conn_t *tls; 714 nxt_work_handler_t handler; 715 716 c = obj; 717 | 550 /* "tls->times == 1" is suitable to run SSL_do_handshake() in job. */ 551 552 ret = SSL_do_handshake(tls->session); 553 554 err = (ret <= 0) ? nxt_socket_errno : 0; 555 556 nxt_thread_time_debug_update(task->thread); 557 --- 169 unchanged lines hidden (view full) --- 727 nxt_int_t n; 728 nxt_bool_t quiet, once; 729 nxt_conn_t *c; 730 nxt_openssl_conn_t *tls; 731 nxt_work_handler_t handler; 732 733 c = obj; 734 |
718 nxt_debug(task, "openssl conn shutdown"); | 735 nxt_debug(task, "openssl conn shutdown fd:%d", c->socket.fd); |
719 | 736 |
737 if (c->socket.error != 0) { 738 return; 739 } 740 |
|
720 c->read_state = NULL; 721 tls = c->u.tls; | 741 c->read_state = NULL; 742 tls = c->u.tls; |
743 744 if (tls == NULL) { 745 return; 746 } 747 |
|
722 s = tls->session; 723 724 if (s == NULL || !tls->handshake) { 725 handler = c->write_state->ready_handler; 726 goto done; 727 } 728 729 mode = SSL_get_shutdown(s); --- 72 unchanged lines hidden (view full) --- 802 c->socket.error = err; 803 nxt_openssl_conn_error(task, err, "SSL_shutdown(%d) failed", 804 c->socket.fd); 805 handler = c->write_state->error_handler; 806 } 807 808done: 809 | 748 s = tls->session; 749 750 if (s == NULL || !tls->handshake) { 751 handler = c->write_state->ready_handler; 752 goto done; 753 } 754 755 mode = SSL_get_shutdown(s); --- 72 unchanged lines hidden (view full) --- 828 c->socket.error = err; 829 nxt_openssl_conn_error(task, err, "SSL_shutdown(%d) failed", 830 c->socket.fd); 831 handler = c->write_state->error_handler; 832 } 833 834done: 835 |
810 nxt_openssl_conn_free(task, tls); | 836 nxt_openssl_conn_free(task, c); |
811 812 nxt_work_queue_add(c->write_work_queue, handler, task, c, data); 813} 814 815 816static nxt_int_t 817nxt_openssl_conn_test_error(nxt_task_t *task, nxt_conn_t *c, int ret, 818 nxt_err_t sys_err, nxt_openssl_io_t io) --- 252 unchanged lines hidden --- | 837 838 nxt_work_queue_add(c->write_work_queue, handler, task, c, data); 839} 840 841 842static nxt_int_t 843nxt_openssl_conn_test_error(nxt_task_t *task, nxt_conn_t *c, int ret, 844 nxt_err_t sys_err, nxt_openssl_io_t io) --- 252 unchanged lines hidden --- |