Added flag to prohibit renegotiations.
This commit is contained in:
parent
3b044d4296
commit
d16eee962a
10 changed files with 626 additions and 583 deletions
|
|
@ -268,7 +268,6 @@ do_ecdhe_part2(br_ssl_server_context *ctx, int prf_id,
|
|||
0 8191 "offsetof(br_ssl_server_context, " field + ")" + make-CX
|
||||
postpone literal postpone ; ;
|
||||
|
||||
addr-ctx: flags
|
||||
addr-ctx: client_max_version
|
||||
addr-ctx: client_suites
|
||||
addr-ctx: client_suites_num
|
||||
|
|
@ -282,10 +281,6 @@ addr-ctx: sign_hash_id
|
|||
addr-client_suites
|
||||
CX 0 1023 { BR_MAX_CIPHER_SUITES * sizeof(br_suite_translated) } ;
|
||||
|
||||
\ Check a server flag by index.
|
||||
: flag? ( index -- bool )
|
||||
addr-flags get32 swap >> 1 and neg ;
|
||||
|
||||
\ Read the client SNI extension.
|
||||
: read-client-sni ( lim -- lim )
|
||||
\ Open extension value.
|
||||
|
|
@ -1011,18 +1006,17 @@ cc: do-ecdhe-part2 ( len prf_id -- ) {
|
|||
endof
|
||||
0x01 of
|
||||
\ Reject renegotiations if the peer does not
|
||||
\ support secure renegotiation. As allowed
|
||||
\ by RFC 5246, we do not send a
|
||||
\ no_renegotiation alert and just ignore the
|
||||
\ HelloRequest.
|
||||
\ support secure renegotiation, or if the
|
||||
\ "no renegotiation" flag is set.
|
||||
drop
|
||||
addr-reneg get8 1 <> if
|
||||
0 do-handshake
|
||||
else
|
||||
addr-reneg get8 1 = 1 flag? or if
|
||||
flush-record
|
||||
begin can-output? not while
|
||||
wait-co drop
|
||||
repeat
|
||||
100 send-warning
|
||||
else
|
||||
0 do-handshake
|
||||
then
|
||||
endof
|
||||
ERR_UNEXPECTED fail
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue