mirror of
https://github.com/tlsnotary/PageSigner.git
synced 2026-01-09 22:57:57 -05:00
dont treat server's Alert after data as error.
This commit is contained in:
@@ -366,12 +366,21 @@ const start_audit = async function(server, port, headers){
|
|||||||
function splitResponseIntoRecords(s){
|
function splitResponseIntoRecords(s){
|
||||||
var records = []
|
var records = []
|
||||||
var p = 0 //position in the stream
|
var p = 0 //position in the stream
|
||||||
|
var alertSeen = false
|
||||||
|
|
||||||
while (p < s.length){
|
while (p < s.length){
|
||||||
|
if (alertSeen){
|
||||||
|
console.log('Server unexpectedly sent more data after Alert')
|
||||||
|
throw('Server unexpectedly sent more data after Alert')
|
||||||
|
}
|
||||||
if (! eq(s.slice(p,p+3), [0x17,0x03,0x03])){
|
if (! eq(s.slice(p,p+3), [0x17,0x03,0x03])){
|
||||||
if (eq(s.slice(p,p+3), [0x15,0x03,0x03])){
|
if (eq(s.slice(p,p+3), [0x15,0x03,0x03])){
|
||||||
console.log('Server sent Alert instead of response')
|
if (records.length == 0){
|
||||||
throw('Server sent Alert instead of response')
|
console.log('Server sent Alert instead of response')
|
||||||
|
throw('Server sent Alert instead of response')
|
||||||
|
}
|
||||||
|
alertSeen = true
|
||||||
|
console.log('server sent Alert, presumably Close Notify')
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
console.log('Server sent an unknown message')
|
console.log('Server sent an unknown message')
|
||||||
@@ -382,7 +391,12 @@ function splitResponseIntoRecords(s){
|
|||||||
p+=3
|
p+=3
|
||||||
let reclen = ba2int(s.slice(p, p+=2))
|
let reclen = ba2int(s.slice(p, p+=2))
|
||||||
let record = s.slice(p, p+=reclen)
|
let record = s.slice(p, p+=reclen)
|
||||||
records.push(record)
|
if (alertSeen){
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
records.push(record)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
assert(p == s.length, 'The server sent a misformatted reponse')
|
assert(p == s.length, 'The server sent a misformatted reponse')
|
||||||
return records
|
return records
|
||||||
|
|||||||
Reference in New Issue
Block a user