aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
authorDavid M. Syzdek <david.syzdek@acsalaska.com>2022-07-21 15:51:16 -0800
committerDavid M. Syzdek <david.syzdek@acsalaska.com>2022-07-21 15:51:16 -0800
commitb6ed506bd4922361ead76f314e931bf4d6e5e23c (patch)
treede0bd6f3ccf453cc2bb9b5ab44f3648465cb9a42 /src
parente5104afe0610d5d602338377f87f8b5c85eef0a3 (diff)
downloadakcom-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
Diffstat (limited to 'src')
-rw-r--r--src/akcom-udpechod.c6
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 };