[gnutls-help] IMAP SSL Connection using Guile
Amirouche
amirouche at hypermove.net
Mon May 1 22:26:30 CEST 2017
Héllo
I am trying to connect to an imap server using SSL but it fails. The
program does
indeed connect to the remote server, but when I try to read on the port
it blocks
until the connection is closed by the remote host.
Everything works fine using gnutls-cli.
The version reported by gnutls-cli is 3.5.8
Here is my code:
--------->8--------->8--------->8--------->8--------->8--------->8--------->8---------
(define-module (imap))
(use-modules (gnutls))
(use-modules (ice-9 rdelim))
(set-log-level! 10)
(set-log-procedure! pk)
(define tls-wrap (@@ (web client) tls-wrap))
(define (connect-to-server host port)
(let ((addrinfo (car (getaddrinfo host (number->string port)))))
(let ((port (socket (addrinfo:fam addrinfo)
SOCK_STREAM
IPPROTO_IP)))
;; Disable Nagle's algorithm. We buffer ourselves.
(setsockopt port IPPROTO_TCP TCP_NODELAY 1)
(setvbuf port 'block 1024)
(connect port (addrinfo:addr addrinfo))
port)))
(define (make-imap-port host port)
(let ((port (connect-to-server host port)))
(tls-wrap port host)))
(define port (make-imap-port "imap.gmail.com" 993))
(pk 'out (read-line port))
--------->8--------->8--------->8--------->8--------->8--------->8--------->8--------->8---------
Here is the definition of tls-wrap in guile 2.2:
--------->8--------->8--------->8--------->8--------->8--------->8--------->8--------->8---------
(define (tls-wrap port server)
"Return PORT wrapped in a TLS connection to SERVER. SERVER must be a
DNS
host name without trailing dot."
(define (log level str)
(format (current-error-port)
"gnutls: [~a|~a] ~a" (getpid) level str))
(ensure-gnutls)
(let ((session (make-session connection-end/client)))
;; Some servers such as 'cloud.github.com' require the client to
support
;; the 'SERVER NAME' extension. However,
'set-session-server-name!' is
;; not available in older GnuTLS releases. See
;; <http://bugs.gnu.org/18526> for details.
(if (module-defined? (force gnutls-module)
'set-session-server-name!)
(set-session-server-name! session server-name-type/dns server)
(format (current-error-port)
"warning: TLS 'SERVER NAME' extension not supported~%"))
(set-session-transport-fd! session (fileno port))
(set-session-default-priority! session)
;; The "%COMPAT" bit allows us to work around firewall issues (info
;; "(gnutls) Priority Strings"); see <http://bugs.gnu.org/23311>.
;; Explicitly disable SSLv3, which is insecure:
;; <https://tools.ietf.org/html/rfc7568>.
(set-session-priorities! session "NORMAL:%COMPAT:-VERS-SSL3.0")
(set-session-credentials! session (make-certificate-credentials))
;; Uncomment the following lines in case of debugging emergency.
;;(set-log-level! 10)
;;(set-log-procedure! log)
(handshake session)
(let ((record (session-record-port session)))
(define (read! bv start count)
(define read-bv (get-bytevector-n record count))
(if (eof-object? read-bv)
0 ; read! returns 0 on eof-object
(let ((read-bv-len (bytevector-length read-bv)))
(bytevector-copy! read-bv 0 bv start read-bv-len)
read-bv-len)))
(define (write! bv start count)
(put-bytevector record bv start count)
count)
(define (get-position)
(rnrs-ports:port-position record))
(define (set-position! new-position)
(rnrs-ports:set-port-position! record new-position))
(define (close)
(unless (port-closed? port)
(close-port port))
(unless (port-closed? record)
(close-port record)))
(make-custom-binary-input/output-port "gnutls wrapped port" read!
write!
get-position set-position!
close))))
--------->8--------->8--------->8--------->8--------->8--------->8--------->8--------->8---------
At last, here is the debug output I have:
--------->8--------->8--------->8--------->8--------->8--------->8--------->8--------->8---------
;;; (5 "REC[0x1bcef00]: Allocating epoch #0\n")
;;; (3 "ASSERT: constate.c[_gnutls_epoch_get]:600\n")
;;; (5 "REC[0x1bcef00]: Allocating epoch #1\n")
;;; (4 "HSK[0x1bcef00]: Adv. version: 3.3\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_ECDHE_ECDSA_AES_256_GCM_SHA384 (C0.2C)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_ECDHE_ECDSA_CAMELLIA_256_GCM_SHA384 (C0.87)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_ECDHE_ECDSA_CHACHA20_POLY1305 (CC.A9)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_ECDHE_ECDSA_AES_256_CCM (C0.AD)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_ECDHE_ECDSA_AES_256_CBC_SHA1 (C0.0A)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_ECDHE_ECDSA_AES_256_CBC_SHA384 (C0.24)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_ECDHE_ECDSA_CAMELLIA_256_CBC_SHA384 (C0.73)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_ECDHE_ECDSA_AES_128_GCM_SHA256 (C0.2B)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_ECDHE_ECDSA_CAMELLIA_128_GCM_SHA256 (C0.86)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_ECDHE_ECDSA_AES_128_CCM (C0.AC)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_ECDHE_ECDSA_AES_128_CBC_SHA1 (C0.09)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_ECDHE_ECDSA_AES_128_CBC_SHA256 (C0.23)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_ECDHE_ECDSA_CAMELLIA_128_CBC_SHA256 (C0.72)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_ECDHE_ECDSA_3DES_EDE_CBC_SHA1 (C0.08)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_ECDHE_RSA_AES_256_GCM_SHA384 (C0.30)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_ECDHE_RSA_CAMELLIA_256_GCM_SHA384 (C0.8B)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_ECDHE_RSA_CHACHA20_POLY1305 (CC.A8)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_ECDHE_RSA_AES_256_CBC_SHA1 (C0.14)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_ECDHE_RSA_AES_256_CBC_SHA384 (C0.28)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_ECDHE_RSA_CAMELLIA_256_CBC_SHA384 (C0.77)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_ECDHE_RSA_AES_128_GCM_SHA256 (C0.2F)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_ECDHE_RSA_CAMELLIA_128_GCM_SHA256 (C0.8A)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_ECDHE_RSA_AES_128_CBC_SHA1 (C0.13)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_ECDHE_RSA_AES_128_CBC_SHA256 (C0.27)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_ECDHE_RSA_CAMELLIA_128_CBC_SHA256 (C0.76)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_ECDHE_RSA_3DES_EDE_CBC_SHA1 (C0.12)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_RSA_AES_256_GCM_SHA384 (00.9D)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_RSA_CAMELLIA_256_GCM_SHA384 (C0.7B)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite: GNUTLS_RSA_AES_256_CCM
(C0.9D)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite: GNUTLS_RSA_AES_256_CBC_SHA1
(00.35)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_RSA_AES_256_CBC_SHA256 (00.3D)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_RSA_CAMELLIA_256_CBC_SHA1 (00.84)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_RSA_CAMELLIA_256_CBC_SHA256 (00.C0)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_RSA_AES_128_GCM_SHA256 (00.9C)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_RSA_CAMELLIA_128_GCM_SHA256 (C0.7A)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite: GNUTLS_RSA_AES_128_CCM
(C0.9C)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite: GNUTLS_RSA_AES_128_CBC_SHA1
(00.2F)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_RSA_AES_128_CBC_SHA256 (00.3C)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_RSA_CAMELLIA_128_CBC_SHA1 (00.41)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_RSA_CAMELLIA_128_CBC_SHA256 (00.BA)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_RSA_3DES_EDE_CBC_SHA1 (00.0A)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_DHE_RSA_AES_256_GCM_SHA384 (00.9F)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_DHE_RSA_CAMELLIA_256_GCM_SHA384 (C0.7D)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_DHE_RSA_CHACHA20_POLY1305 (CC.AA)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite: GNUTLS_DHE_RSA_AES_256_CCM
(C0.9F)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_DHE_RSA_AES_256_CBC_SHA1 (00.39)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_DHE_RSA_AES_256_CBC_SHA256 (00.6B)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_DHE_RSA_CAMELLIA_256_CBC_SHA1 (00.88)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_DHE_RSA_CAMELLIA_256_CBC_SHA256 (00.C4)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_DHE_RSA_AES_128_GCM_SHA256 (00.9E)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_DHE_RSA_CAMELLIA_128_GCM_SHA256 (C0.7C)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite: GNUTLS_DHE_RSA_AES_128_CCM
(C0.9E)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_DHE_RSA_AES_128_CBC_SHA1 (00.33)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_DHE_RSA_AES_128_CBC_SHA256 (00.67)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_DHE_RSA_CAMELLIA_128_CBC_SHA1 (00.45)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_DHE_RSA_CAMELLIA_128_CBC_SHA256 (00.BE)\n")
;;; (4 "HSK[0x1bcef00]: Keeping ciphersuite:
GNUTLS_DHE_RSA_3DES_EDE_CBC_SHA1 (00.16)\n")
;;; (4 "EXT[0x1bcef00]: Sending extension OCSP Status Request (5 bytes)\n")
;;; (2 "HSK[0x1bcef00]: sent server name: 'imap.gmail.com'\n")
;;; (4 "EXT[0x1bcef00]: Sending extension Server Name Indication (19
bytes)\n")
;;; (4 "EXT[0x1bcef00]: Sending extension Safe Renegotiation (1 bytes)\n")
;;; (4 "EXT[0x1bcef00]: Sending extension Session Ticket (0 bytes)\n")
;;; (4 "EXT[0x1bcef00]: Sending extension Supported curves (12 bytes)\n")
;;; (4 "EXT[0x1bcef00]: Sending extension Supported ECC Point Formats (2
bytes)\n")
;;; (4 "EXT[0x1bcef00]: sent signature algo (4.1) RSA-SHA256\n")
;;; (4 "EXT[0x1bcef00]: sent signature algo (4.3) ECDSA-SHA256\n")
;;; (4 "EXT[0x1bcef00]: sent signature algo (5.1) RSA-SHA384\n")
;;; (4 "EXT[0x1bcef00]: sent signature algo (5.3) ECDSA-SHA384\n")
;;; (4 "EXT[0x1bcef00]: sent signature algo (6.1) RSA-SHA512\n")
;;; (4 "EXT[0x1bcef00]: sent signature algo (6.3) ECDSA-SHA512\n")
;;; (4 "EXT[0x1bcef00]: sent signature algo (3.1) RSA-SHA224\n")
;;; (4 "EXT[0x1bcef00]: sent signature algo (3.3) ECDSA-SHA224\n")
;;; (4 "EXT[0x1bcef00]: sent signature algo (2.1) RSA-SHA1\n")
;;; (4 "EXT[0x1bcef00]: sent signature algo (2.3) ECDSA-SHA1\n")
;;; (4 "EXT[0x1bcef00]: Sending extension Signature Algorithms (22
bytes)\n")
;;; (4 "HSK[0x1bcef00]: CLIENT HELLO was queued [248 bytes]\n")
;;; (5 "REC[0x1bcef00]: Preparing Packet Handshake(22) with length: 248
and min pad: 0\n")
;;; (9 "ENC[0x1bcef00]: cipher: NULL, MAC: MAC-NULL, Epoch: 0\n")
;;; (5 "REC[0x1bcef00]: Sent Packet[1] Handshake(22) in epoch 0 and
length: 253\n")
;;; (3 "ASSERT: buffers.c[get_last_packet]:1159\n")
;;; (10 "READ: Got 5 bytes from 0x7\n")
;;; (10 "READ: read 5 bytes from 0x7\n")
;;; (10 "RB: Have 0 bytes into buffer. Adding 5 bytes.\n")
;;; (10 "RB: Requested 5 bytes\n")
;;; (5 "REC[0x1bcef00]: SSL 3.3 Handshake packet received. Epoch 0,
length: 59\n")
;;; (5 "REC[0x1bcef00]: Expected Packet Handshake(22)\n")
;;; (5 "REC[0x1bcef00]: Received Packet Handshake(22) with length: 59\n")
;;; (10 "READ: Got 59 bytes from 0x7\n")
;;; (10 "READ: read 59 bytes from 0x7\n")
;;; (10 "RB: Have 5 bytes into buffer. Adding 59 bytes.\n")
;;; (10 "RB: Requested 64 bytes\n")
;;; (5 "REC[0x1bcef00]: Decrypted Packet[0] Handshake(22) with length:
59\n")
;;; (4 "HSK[0x1bcef00]: SERVER HELLO (2) was received. Length 55[55],
frag offset 0, frag length: 55, sequence: 0\n")
;;; (4 "HSK[0x1bcef00]: Server's version: 3.3\n")
;;; (4 "HSK[0x1bcef00]: SessionID length: 0\n")
;;; (4 "HSK[0x1bcef00]: SessionID: cc\n")
;;; (4 "HSK[0x1bcef00]: Selected cipher suite:
ECDHE_RSA_CHACHA20_POLY1305\n")
;;; (4 "HSK[0x1bcef00]: Selected compression method: NULL (0)\n")
;;; (4 "EXT[0x1bcef00]: Parsing extension 'Safe Renegotiation/65281' (1
bytes)\n")
;;; (4 "EXT[0x1bcef00]: Parsing extension 'Session Ticket/35' (0 bytes)\n")
;;; (4 "EXT[0x1bcef00]: Parsing extension 'Supported ECC Point
Formats/11' (2 bytes)\n")
;;; (4 "HSK[0x1bcef00]: Safe renegotiation succeeded\n")
;;; (3 "ASSERT: buffers.c[get_last_packet]:1159\n")
;;; (10 "READ: Got 5 bytes from 0x7\n")
;;; (10 "READ: read 5 bytes from 0x7\n")
;;; (10 "RB: Have 0 bytes into buffer. Adding 5 bytes.\n")
;;; (10 "RB: Requested 5 bytes\n")
;;; (5 "REC[0x1bcef00]: SSL 3.3 Handshake packet received. Epoch 0,
length: 3081\n")
;;; (5 "REC[0x1bcef00]: Expected Packet Handshake(22)\n")
;;; (5 "REC[0x1bcef00]: Received Packet Handshake(22) with length: 3081\n")
;;; (10 "READ: Got 1139 bytes from 0x7\n")
;;; (10 "READ: Got 1208 bytes from 0x7\n")
;;; (10 "READ: Got 734 bytes from 0x7\n")
;;; (10 "READ: read 3081 bytes from 0x7\n")
;;; (10 "RB: Have 5 bytes into buffer. Adding 3081 bytes.\n")
;;; (10 "RB: Requested 3086 bytes\n")
;;; (5 "REC[0x1bcef00]: Decrypted Packet[1] Handshake(22) with length:
3081\n")
;;; (4 "HSK[0x1bcef00]: CERTIFICATE (11) was received. Length
3077[3077], frag offset 0, frag length: 3077, sequence: 0\n")
;;; (3 "ASSERT: extensions.c[_gnutls_get_extension]:65\n")
;;; (3 "ASSERT: buffers.c[get_last_packet]:1159\n")
;;; (10 "READ: Got 5 bytes from 0x7\n")
;;; (10 "READ: read 5 bytes from 0x7\n")
;;; (10 "RB: Have 0 bytes into buffer. Adding 5 bytes.\n")
;;; (10 "RB: Requested 5 bytes\n")
;;; (5 "REC[0x1bcef00]: SSL 3.3 Handshake packet received. Epoch 0,
length: 333\n")
;;; (5 "REC[0x1bcef00]: Expected Packet Handshake(22)\n")
;;; (5 "REC[0x1bcef00]: Received Packet Handshake(22) with length: 333\n")
;;; (10 "READ: Got 333 bytes from 0x7\n")
;;; (10 "READ: read 333 bytes from 0x7\n")
;;; (10 "RB: Have 5 bytes into buffer. Adding 333 bytes.\n")
;;; (10 "RB: Requested 338 bytes\n")
;;; (5 "REC[0x1bcef00]: Decrypted Packet[2] Handshake(22) with length:
333\n")
;;; (4 "HSK[0x1bcef00]: SERVER KEY EXCHANGE (12) was received. Length
329[329], frag offset 0, frag length: 329, sequence: 0\n")
;;; (2 "received curve SECP256R1\n")
;;; (4 "HSK[0x1bcef00]: Selected ECC curve SECP256R1 (2)\n")
;;; (3 "ASSERT: extensions.c[_gnutls_get_extension]:65\n")
;;; (4 "HSK[0x1bcef00]: verify handshake data: using RSA-SHA256\n")
;;; (3 "ASSERT: buffers.c[get_last_packet]:1159\n")
;;; (10 "READ: Got 5 bytes from 0x7\n")
;;; (10 "READ: read 5 bytes from 0x7\n")
;;; (10 "RB: Have 0 bytes into buffer. Adding 5 bytes.\n")
;;; (10 "RB: Requested 5 bytes\n")
;;; (5 "REC[0x1bcef00]: SSL 3.3 Handshake packet received. Epoch 0,
length: 4\n")
;;; (5 "REC[0x1bcef00]: Expected Packet Handshake(22)\n")
;;; (5 "REC[0x1bcef00]: Received Packet Handshake(22) with length: 4\n")
;;; (10 "READ: Got 4 bytes from 0x7\n")
;;; (10 "READ: read 4 bytes from 0x7\n")
;;; (10 "RB: Have 5 bytes into buffer. Adding 4 bytes.\n")
;;; (10 "RB: Requested 9 bytes\n")
;;; (5 "REC[0x1bcef00]: Decrypted Packet[3] Handshake(22) with length:
4\n")
;;; (4 "HSK[0x1bcef00]: SERVER HELLO DONE (14) was received. Length
0[0], frag offset 0, frag length: 1, sequence: 0\n")
;;; (3 "ASSERT: buffers.c[get_last_packet]:1150\n")
;;; (3 "ASSERT: buffers.c[_gnutls_handshake_io_recv_int]:1379\n")
;;; (4 "HSK[0x1bcef00]: CLIENT KEY EXCHANGE was queued [70 bytes]\n")
;;; (4 "REC[0x1bcef00]: Sent ChangeCipherSpec\n")
;;; (9 "INT: PREMASTER SECRET[32]:
57b1d15927cf86d5a188845c5f3b91346da69a39de9ebaad9039ee6e7adce1c0\n")
;;; (9 "INT: CLIENT RANDOM[32]:
590612762d4f41311c6025cee173974704dc319a59b93aeeeb9a504356d147c5\n")
;;; (9 "INT: SERVER RANDOM[32]:
59061208083e7cef11d8f506f6284a7eb121c7dc28f41b01628843c5fcbfbf6c\n")
;;; (9 "INT: MASTER SECRET:
6ee6c108de1ef8085719a6b210f77f082842890f32637359d3a2c0ddb7dc7f2405672c1595b12b8de7ab64167669273b\n")
;;; (5 "REC[0x1bcef00]: Initializing epoch #1\n")
;;; (9 "INT: KEY BLOCK[88]:
2191dfbf92877090f07f26e3a012adb27481fee6f93dfde28ffa73c3b6050842\n")
;;; (9 "INT: CLIENT WRITE KEY [32]:
2191dfbf92877090f07f26e3a012adb27481fee6f93dfde28ffa73c3b6050842\n")
;;; (9 "INT: SERVER WRITE KEY [32]:
8cae979022a5925a1d87ff60ca438df85ba9bf0ab23fd748c8c8c4fc28f5024e\n")
;;; (9 "INT: CLIENT WRITE IV [12]: 4112d45c19b24a97e3777ef9\n")
;;; (9 "INT: SERVER WRITE IV [12]: d3c5e030e2354a4a11898074\n")
;;; (5 "REC[0x1bcef00]: Epoch #1 ready\n")
;;; (4 "HSK[0x1bcef00]: Cipher Suite: ECDHE_RSA_CHACHA20_POLY1305\n")
;;; (4 "HSK[0x1bcef00]: Initializing internal [write] cipher sessions\n")
;;; (4 "HSK[0x1bcef00]: recording tls-unique CB (send)\n")
;;; (4 "HSK[0x1bcef00]: FINISHED was queued [16 bytes]\n")
;;; (5 "REC[0x1bcef00]: Preparing Packet Handshake(22) with length: 70
and min pad: 0\n")
;;; (9 "ENC[0x1bcef00]: cipher: NULL, MAC: MAC-NULL, Epoch: 0\n")
;;; (5 "REC[0x1bcef00]: Sent Packet[2] Handshake(22) in epoch 0 and
length: 75\n")
;;; (5 "REC[0x1bcef00]: Preparing Packet ChangeCipherSpec(20) with
length: 1 and min pad: 0\n")
;;; (9 "ENC[0x1bcef00]: cipher: NULL, MAC: MAC-NULL, Epoch: 0\n")
;;; (5 "REC[0x1bcef00]: Sent Packet[3] ChangeCipherSpec(20) in epoch 0
and length: 6\n")
;;; (5 "REC[0x1bcef00]: Preparing Packet Handshake(22) with length: 16
and min pad: 0\n")
;;; (9 "ENC[0x1bcef00]: cipher: CHACHA20-POLY1305, MAC: AEAD, Epoch: 1\n")
;;; (5 "REC[0x1bcef00]: Sent Packet[1] Handshake(22) in epoch 1 and
length: 37\n")
;;; (3 "ASSERT: buffers.c[get_last_packet]:1159\n")
;;; (10 "READ: Got 5 bytes from 0x7\n")
;;; (10 "READ: read 5 bytes from 0x7\n")
;;; (10 "RB: Have 0 bytes into buffer. Adding 5 bytes.\n")
;;; (10 "RB: Requested 5 bytes\n")
;;; (5 "REC[0x1bcef00]: SSL 3.3 Handshake packet received. Epoch 0,
length: 190\n")
;;; (5 "REC[0x1bcef00]: Expected Packet Handshake(22)\n")
;;; (5 "REC[0x1bcef00]: Received Packet Handshake(22) with length: 190\n")
;;; (10 "READ: Got 190 bytes from 0x7\n")
;;; (10 "READ: read 190 bytes from 0x7\n")
;;; (10 "RB: Have 5 bytes into buffer. Adding 190 bytes.\n")
;;; (10 "RB: Requested 195 bytes\n")
;;; (5 "REC[0x1bcef00]: Decrypted Packet[4] Handshake(22) with length:
190\n")
;;; (4 "HSK[0x1bcef00]: NEW SESSION TICKET (4) was received. Length
186[186], frag offset 0, frag length: 186, sequence: 0\n")
;;; (10 "READ: Got 5 bytes from 0x7\n")
;;; (10 "READ: read 5 bytes from 0x7\n")
;;; (10 "RB: Have 0 bytes into buffer. Adding 5 bytes.\n")
;;; (10 "RB: Requested 5 bytes\n")
;;; (5 "REC[0x1bcef00]: SSL 3.3 ChangeCipherSpec packet received. Epoch
0, length: 1\n")
;;; (5 "REC[0x1bcef00]: Expected Packet ChangeCipherSpec(20)\n")
;;; (5 "REC[0x1bcef00]: Received Packet ChangeCipherSpec(20) with
length: 1\n")
;;; (10 "READ: Got 1 bytes from 0x7\n")
;;; (10 "READ: read 1 bytes from 0x7\n")
;;; (10 "RB: Have 5 bytes into buffer. Adding 1 bytes.\n")
;;; (10 "RB: Requested 6 bytes\n")
;;; (5 "REC[0x1bcef00]: Decrypted Packet[5] ChangeCipherSpec(20) with
length: 1\n")
;;; (4 "HSK[0x1bcef00]: Cipher Suite: ECDHE_RSA_CHACHA20_POLY1305\n")
;;; (3 "ASSERT: buffers.c[get_last_packet]:1159\n")
;;; (10 "READ: Got 5 bytes from 0x7\n")
;;; (10 "READ: read 5 bytes from 0x7\n")
;;; (10 "RB: Have 0 bytes into buffer. Adding 5 bytes.\n")
;;; (10 "RB: Requested 5 bytes\n")
;;; (5 "REC[0x1bcef00]: SSL 3.3 Handshake packet received. Epoch 0,
length: 32\n")
;;; (5 "REC[0x1bcef00]: Expected Packet Handshake(22)\n")
;;; (5 "REC[0x1bcef00]: Received Packet Handshake(22) with length: 32\n")
;;; (10 "READ: Got 32 bytes from 0x7\n")
;;; (10 "READ: read 32 bytes from 0x7\n")
;;; (10 "RB: Have 5 bytes into buffer. Adding 32 bytes.\n")
;;; (10 "RB: Requested 37 bytes\n")
;;; (5 "REC[0x1bcef00]: Decrypted Packet[0] Handshake(22) with length:
16\n")
;;; (4 "HSK[0x1bcef00]: FINISHED (20) was received. Length 12[12], frag
offset 0, frag length: 12, sequence: 0\n")
;;; (5 "REC[0x1bcef00]: Start of epoch cleanup\n")
;;; (5 "REC[0x1bcef00]: Epoch #0 freed\n")
;;; (5 "REC[0x1bcef00]: End of epoch cleanup\n")
;;; (10 "READ: Got 5 bytes from 0x7\n")
;;; (10 "READ: read 5 bytes from 0x7\n")
;;; (10 "RB: Have 0 bytes into buffer. Adding 5 bytes.\n")
;;; (10 "RB: Requested 5 bytes\n")
;;; (5 "REC[0x1bcef00]: SSL 3.3 Application Data packet received. Epoch
0, length: 109\n")
;;; (5 "REC[0x1bcef00]: Expected Packet Application Data(23)\n")
;;; (5 "REC[0x1bcef00]: Received Packet Application Data(23) with
length: 109\n")
;;; (10 "READ: Got 109 bytes from 0x7\n")
;;; (10 "READ: read 109 bytes from 0x7\n")
;;; (10 "RB: Have 5 bytes into buffer. Adding 109 bytes.\n")
;;; (10 "RB: Requested 114 bytes\n")
;;; (5 "REC[0x1bcef00]: Decrypted Packet[1] Application Data(23) with
length: 93\n")
--------->8--------->8--------->8--------->8--------->8--------->8--------->8--------->8---------
Can someone help?
Thanks!
More information about the Gnutls-help
mailing list