comparison src/event/ngx_event_openssl.c @ 7736:a46fcf101cfc

Core: added format specifiers to output binary data as hex. Now "s", "V", and "v" format specifiers may be prefixed with "x" (lowercase) or "X" (uppercase) to output corresponding data in hexadecimal format. In collaboration with Maxim Dounin.
author Vladimir Homutov <vl@nginx.com>
date Wed, 28 Oct 2020 10:56:11 +0300
parents 59e1c73fe02b
children 7efae6b4cfb0 507da0d3b070
comparison
equal deleted inserted replaced
7735:908f48bd3c2f 7736:a46fcf101cfc
4055 ngx_array_t *keys; 4055 ngx_array_t *keys;
4056 ngx_connection_t *c; 4056 ngx_connection_t *c;
4057 ngx_ssl_session_ticket_key_t *key; 4057 ngx_ssl_session_ticket_key_t *key;
4058 const EVP_MD *digest; 4058 const EVP_MD *digest;
4059 const EVP_CIPHER *cipher; 4059 const EVP_CIPHER *cipher;
4060 #if (NGX_DEBUG)
4061 u_char buf[32];
4062 #endif
4063 4060
4064 c = ngx_ssl_get_connection(ssl_conn); 4061 c = ngx_ssl_get_connection(ssl_conn);
4065 ssl_ctx = c->ssl->session_ctx; 4062 ssl_ctx = c->ssl->session_ctx;
4066 4063
4067 #ifdef OPENSSL_NO_SHA256 4064 #ifdef OPENSSL_NO_SHA256
4079 4076
4080 if (enc == 1) { 4077 if (enc == 1) {
4081 /* encrypt session ticket */ 4078 /* encrypt session ticket */
4082 4079
4083 ngx_log_debug3(NGX_LOG_DEBUG_EVENT, c->log, 0, 4080 ngx_log_debug3(NGX_LOG_DEBUG_EVENT, c->log, 0,
4084 "ssl session ticket encrypt, key: \"%*s\" (%s session)", 4081 "ssl session ticket encrypt, key: \"%*xs\" (%s session)",
4085 ngx_hex_dump(buf, key[0].name, 16) - buf, buf, 4082 (size_t) 16, key[0].name,
4086 SSL_session_reused(ssl_conn) ? "reused" : "new"); 4083 SSL_session_reused(ssl_conn) ? "reused" : "new");
4087 4084
4088 if (key[0].size == 48) { 4085 if (key[0].size == 48) {
4089 cipher = EVP_aes_128_cbc(); 4086 cipher = EVP_aes_128_cbc();
4090 size = 16; 4087 size = 16;
4126 goto found; 4123 goto found;
4127 } 4124 }
4128 } 4125 }
4129 4126
4130 ngx_log_debug2(NGX_LOG_DEBUG_EVENT, c->log, 0, 4127 ngx_log_debug2(NGX_LOG_DEBUG_EVENT, c->log, 0,
4131 "ssl session ticket decrypt, key: \"%*s\" not found", 4128 "ssl session ticket decrypt, key: \"%*xs\" not found",
4132 ngx_hex_dump(buf, name, 16) - buf, buf); 4129 (size_t) 16, name);
4133 4130
4134 return 0; 4131 return 0;
4135 4132
4136 found: 4133 found:
4137 4134
4138 ngx_log_debug3(NGX_LOG_DEBUG_EVENT, c->log, 0, 4135 ngx_log_debug3(NGX_LOG_DEBUG_EVENT, c->log, 0,
4139 "ssl session ticket decrypt, key: \"%*s\"%s", 4136 "ssl session ticket decrypt, key: \"%*xs\"%s",
4140 ngx_hex_dump(buf, key[i].name, 16) - buf, buf, 4137 (size_t) 16, key[i].name, (i == 0) ? " (default)" : "");
4141 (i == 0) ? " (default)" : "");
4142 4138
4143 if (key[i].size == 48) { 4139 if (key[i].size == 48) {
4144 cipher = EVP_aes_128_cbc(); 4140 cipher = EVP_aes_128_cbc();
4145 size = 16; 4141 size = 16;
4146 4142