For some experiments, it is sometimes nice to serve files with complete
HTTP responses.
This commit is contained in:
parent
24a93e6cdd
commit
251cb4cfed
4
CHANGES
4
CHANGES
@ -3,6 +3,10 @@
|
|||||||
|
|
||||||
Changes between 0.9.6 and 0.9.7 [xx XXX 2000]
|
Changes between 0.9.6 and 0.9.7 [xx XXX 2000]
|
||||||
|
|
||||||
|
*) Add the -HTTP option to s_server. It is similar to -WWW, but requires
|
||||||
|
that the file contains a complete HTTP response.
|
||||||
|
[Richard Levitte]
|
||||||
|
|
||||||
*) Add the ec directory to mkdef.pl and mkfiles.pl. In mkdef.pl
|
*) Add the ec directory to mkdef.pl and mkfiles.pl. In mkdef.pl
|
||||||
change the def and num file printf format specifier from "%-40sXXX"
|
change the def and num file printf format specifier from "%-40sXXX"
|
||||||
to "%-39s XXX". The latter will always guarantee a space after the
|
to "%-39s XXX". The latter will always guarantee a space after the
|
||||||
|
@ -250,6 +250,8 @@ static void sv_usage(void)
|
|||||||
BIO_printf(bio_err," -bugs - Turn on SSL bug compatibility\n");
|
BIO_printf(bio_err," -bugs - Turn on SSL bug compatibility\n");
|
||||||
BIO_printf(bio_err," -www - Respond to a 'GET /' with a status page\n");
|
BIO_printf(bio_err," -www - Respond to a 'GET /' with a status page\n");
|
||||||
BIO_printf(bio_err," -WWW - Respond to a 'GET /<path> HTTP/1.0' with file ./<path>\n");
|
BIO_printf(bio_err," -WWW - Respond to a 'GET /<path> HTTP/1.0' with file ./<path>\n");
|
||||||
|
BIO_printf(bio_err," -HTTP - Respond to a 'GET /<path> HTTP/1.0' with file ./<path>\n");
|
||||||
|
BIO_printf(bio_err," with the assumption it contains a complete HTTP response.\n");
|
||||||
BIO_printf(bio_err," -engine id - Initialise and use the specified engine\n");
|
BIO_printf(bio_err," -engine id - Initialise and use the specified engine\n");
|
||||||
BIO_printf(bio_err," -id_prefix arg - Generate SSL/TLS session IDs prefixed by 'arg'\n");
|
BIO_printf(bio_err," -id_prefix arg - Generate SSL/TLS session IDs prefixed by 'arg'\n");
|
||||||
BIO_printf(bio_err," -rand file%cfile%c...\n", LIST_SEPARATOR_CHAR, LIST_SEPARATOR_CHAR);
|
BIO_printf(bio_err," -rand file%cfile%c...\n", LIST_SEPARATOR_CHAR, LIST_SEPARATOR_CHAR);
|
||||||
@ -559,6 +561,8 @@ int MAIN(int argc, char *argv[])
|
|||||||
{ www=1; }
|
{ www=1; }
|
||||||
else if (strcmp(*argv,"-WWW") == 0)
|
else if (strcmp(*argv,"-WWW") == 0)
|
||||||
{ www=2; }
|
{ www=2; }
|
||||||
|
else if (strcmp(*argv,"-HTTP") == 0)
|
||||||
|
{ www=3; }
|
||||||
else if (strcmp(*argv,"-no_ssl2") == 0)
|
else if (strcmp(*argv,"-no_ssl2") == 0)
|
||||||
{ off|=SSL_OP_NO_SSLv2; }
|
{ off|=SSL_OP_NO_SSLv2; }
|
||||||
else if (strcmp(*argv,"-no_ssl3") == 0)
|
else if (strcmp(*argv,"-no_ssl3") == 0)
|
||||||
@ -1414,11 +1418,13 @@ static int www_body(char *hostname, int s, unsigned char *context)
|
|||||||
BIO_puts(io,"</BODY></HTML>\r\n\r\n");
|
BIO_puts(io,"</BODY></HTML>\r\n\r\n");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else if ((www == 2) && (strncmp("GET /",buf,5) == 0))
|
else if ((www == 2 || www == 3)
|
||||||
|
&& (strncmp("GET /",buf,5) == 0))
|
||||||
{
|
{
|
||||||
BIO *file;
|
BIO *file;
|
||||||
char *p,*e;
|
char *p,*e;
|
||||||
static char *text="HTTP/1.0 200 ok\r\nContent-type: text/plain\r\n\r\n";
|
static char *text="HTTP/1.0 200 ok\r\n"
|
||||||
|
"Content-type: text/plain\r\n\r\n";
|
||||||
|
|
||||||
/* skip the '/' */
|
/* skip the '/' */
|
||||||
p= &(buf[5]);
|
p= &(buf[5]);
|
||||||
@ -1482,6 +1488,8 @@ static int www_body(char *hostname, int s, unsigned char *context)
|
|||||||
if (!s_quiet)
|
if (!s_quiet)
|
||||||
BIO_printf(bio_err,"FILE:%s\n",p);
|
BIO_printf(bio_err,"FILE:%s\n",p);
|
||||||
|
|
||||||
|
if (www == 2)
|
||||||
|
{
|
||||||
i=strlen(p);
|
i=strlen(p);
|
||||||
if ( ((i > 5) && (strcmp(&(p[i-5]),".html") == 0)) ||
|
if ( ((i > 5) && (strcmp(&(p[i-5]),".html") == 0)) ||
|
||||||
((i > 4) && (strcmp(&(p[i-4]),".php") == 0)) ||
|
((i > 4) && (strcmp(&(p[i-4]),".php") == 0)) ||
|
||||||
@ -1489,6 +1497,7 @@ static int www_body(char *hostname, int s, unsigned char *context)
|
|||||||
BIO_puts(io,"HTTP/1.0 200 ok\r\nContent-type: text/html\r\n\r\n");
|
BIO_puts(io,"HTTP/1.0 200 ok\r\nContent-type: text/html\r\n\r\n");
|
||||||
else
|
else
|
||||||
BIO_puts(io,"HTTP/1.0 200 ok\r\nContent-type: text/plain\r\n\r\n");
|
BIO_puts(io,"HTTP/1.0 200 ok\r\nContent-type: text/plain\r\n\r\n");
|
||||||
|
}
|
||||||
/* send the file */
|
/* send the file */
|
||||||
total_bytes=0;
|
total_bytes=0;
|
||||||
for (;;)
|
for (;;)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user