with -rev close connection if client sends "CLOSE"
(cherry picked from commit 685755937a4f9f8b16f8953f631e14808f785c39)
This commit is contained in:
parent
506e70a216
commit
08374de10f
@ -296,6 +296,7 @@ static int cert_status_cb(SSL *s, void *arg);
|
|||||||
static int no_resume_ephemeral = 0;
|
static int no_resume_ephemeral = 0;
|
||||||
static int s_msg=0;
|
static int s_msg=0;
|
||||||
static int s_quiet=0;
|
static int s_quiet=0;
|
||||||
|
static int s_ign_eof=0;
|
||||||
static int s_brief=0;
|
static int s_brief=0;
|
||||||
|
|
||||||
static char *keymatexportlabel=NULL;
|
static char *keymatexportlabel=NULL;
|
||||||
@ -1223,6 +1224,10 @@ int MAIN(int argc, char *argv[])
|
|||||||
#endif
|
#endif
|
||||||
s_nbio_test=1;
|
s_nbio_test=1;
|
||||||
}
|
}
|
||||||
|
else if (strcmp(*argv,"-ign_eof") == 0)
|
||||||
|
s_ign_eof=1;
|
||||||
|
else if (strcmp(*argv,"-no_ign_eof") == 0)
|
||||||
|
s_ign_eof=0;
|
||||||
else if (strcmp(*argv,"-debug") == 0)
|
else if (strcmp(*argv,"-debug") == 0)
|
||||||
{ s_debug=1; }
|
{ s_debug=1; }
|
||||||
#ifndef OPENSSL_NO_TLSEXT
|
#ifndef OPENSSL_NO_TLSEXT
|
||||||
@ -3199,6 +3204,12 @@ static int rev_body(char *hostname, int s, unsigned char *context)
|
|||||||
p--;
|
p--;
|
||||||
i--;
|
i--;
|
||||||
}
|
}
|
||||||
|
if (!s_ign_eof && i == 5 && !strncmp(buf, "CLOSE", 5))
|
||||||
|
{
|
||||||
|
ret = 1;
|
||||||
|
BIO_printf(bio_err, "CONNECTION CLOSED\n");
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
BUF_reverse((unsigned char *)buf, NULL, i);
|
BUF_reverse((unsigned char *)buf, NULL, i);
|
||||||
buf[i] = '\n';
|
buf[i] = '\n';
|
||||||
BIO_write(io, buf, i + 1);
|
BIO_write(io, buf, i + 1);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user