diff options
| author | David M. Syzdek <david.syzdek@acsalaska.com> | 2022-07-21 15:51:16 -0800 |
|---|---|---|
| committer | David M. Syzdek <david.syzdek@acsalaska.com> | 2022-07-21 15:51:16 -0800 |
| commit | b6ed506bd4922361ead76f314e931bf4d6e5e23c (patch) | |
| tree | de0bd6f3ccf453cc2bb9b5ab44f3648465cb9a42 | |
| parent | e5104afe0610d5d602338377f87f8b5c85eef0a3 (diff) | |
| download | akcom-udpecho-b6ed506bd4922361ead76f314e931bf4d6e5e23c.tar.gz akcom-udpecho-b6ed506bd4922361ead76f314e931bf4d6e5e23c.tar.bz2 akcom-udpecho-b6ed506bd4922361ead76f314e931bf4d6e5e23c.tar.xz akcom-udpecho-b6ed506bd4922361ead76f314e931bf4d6e5e23c.zip | |
akcom-udpechod: updating to reject invalid packets
| -rw-r--r-- | src/akcom-udpechod.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/akcom-udpechod.c b/src/akcom-udpechod.c index 892e6ba..83af161 100644 --- a/src/akcom-udpechod.c +++ b/src/akcom-udpechod.c | |||
| @@ -857,9 +857,10 @@ int my_loop(int s, size_t * connp) | |||
| 857 | 857 | ||
| 858 | // log connection | 858 | // log connection |
| 859 | my_log_conn(MY_RECV, connp, &sa, &udpbuff.msg, ssize, &ts, 0); | 859 | my_log_conn(MY_RECV, connp, &sa, &udpbuff.msg, ssize, &ts, 0); |
| 860 | if ((cnf_echoplus)) | 860 | if ( ((cnf_echoplus)) && (ssize < (ssize_t)sizeof(struct udp_echo_plus)) ) |
| 861 | { | 861 | { |
| 862 | udpbuff.msg.recv_time = htonl(us_recv & 0xFFFFFFFFLL); | 862 | my_log_conn(MY_INVAL, connp, &sa, &udpbuff.msg, ssize, &ts, 0); |
| 863 | return(0); | ||
| 863 | }; | 864 | }; |
| 864 | 865 | ||
| 865 | // randomly drop packets | 866 | // randomly drop packets |
| @@ -892,6 +893,7 @@ int my_loop(int s, size_t * connp) | |||
| 892 | if ((cnf_echoplus)) | 893 | if ((cnf_echoplus)) |
| 893 | { | 894 | { |
| 894 | udpbuff.msg.res_sn = htonl(state.res_sn); | 895 | udpbuff.msg.res_sn = htonl(state.res_sn); |
| 896 | udpbuff.msg.recv_time = htonl(us_recv & 0xFFFFFFFFLL); | ||
| 895 | udpbuff.msg.reply_time = htonl(us_reply & 0xFFFFFFFFLL); | 897 | udpbuff.msg.reply_time = htonl(us_reply & 0xFFFFFFFFLL); |
| 896 | udpbuff.msg.failures = htonl(state.failures); | 898 | udpbuff.msg.failures = htonl(state.failures); |
| 897 | }; | 899 | }; |
