summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/serv-args.def6
-rw-r--r--src/serv.c10
2 files changed, 13 insertions, 3 deletions
diff --git a/src/serv-args.def b/src/serv-args.def
index a584085e26..ca61801c1e 100644
--- a/src/serv-args.def
+++ b/src/serv-args.def
@@ -95,6 +95,12 @@ flag = {
};
flag = {
+ name = crlf;
+ descrip = "Do not replace CRLF by LF in Echo server mode";
+ doc = "";
+};
+
+flag = {
name = udp;
value = u;
descrip = "Use DTLS (datagram TLS) over UDP";
diff --git a/src/serv.c b/src/serv.c
index 57304bc9d3..5198b58c65 100644
--- a/src/serv.c
+++ b/src/serv.c
@@ -55,6 +55,7 @@
/* global stuff */
static int generate = 0;
static int http = 0;
+static int strip_crlf = 1;
static int x509ctype;
static int debug = 0;
@@ -1058,7 +1059,8 @@ get_response(gnutls_session_t session, char *request,
*response = peer_print_data(session, response_length);
} else {
int ret;
- strip(request);
+ if (strip_crlf != 0)
+ strip(request);
fprintf(stderr, "received cmd: %s\n", request);
ret = check_command(session, request, disable_client_cert);
@@ -1838,9 +1840,11 @@ static void cmd_parser(int argc, char **argv)
noticket = HAVE_OPT(NOTICKET);
earlydata = HAVE_OPT(EARLYDATA);
- if (HAVE_OPT(ECHO))
+ if (HAVE_OPT(ECHO)) {
http = 0;
- else
+ if (HAVE_OPT(CRLF))
+ strip_crlf = 0;
+ } else
http = 1;
record_max_size = OPT_VALUE_RECORDSIZE;