On Mon, Mar 14, 2022 at 06:58:55AM -0600, Tobias Heider wrote: > CVSROOT: /cvs > Module name: src > Changes by: to...@cvs.openbsd.org 2022/03/14 06:58:55 > > Modified files: > sbin/iked : iked.h ikev2.c ikev2_msg.c ikev2_pld.c > > Log message: > Improve retransmission of message fragments. RFC 7383 states that loss of > a single fragment results in a retransmit of all fragments belonging > to the same message. Instead of treating each fragment as message with > seperate retransmit timer, keep only a single timer for all fragments of > a message and retransmit all fragments in order on timeout. > Improves reliability in case of packet loss when fragmentation is enabled. > > Found by and diff from Daniel Herzinger > ok patrick@
This broke regress. > sbin/iked: Exit: 2 Duration: 00:00:26 Log: 42-sbin-iked.log ===> parser cd /home/src/regress/sbin/iked/parser/../../../../sbin/iked && make ikev2_pld.o yacc -o parse.c /home/src/sbin/iked/parse.y cc -O2 -pipe -Wall -I/home/src/sbin/iked -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wshadow -Wpointer-arith -Wcast-qual -Wsign-compare -Werror-implicit-function-declaration -MD -MP -c /home/src/sbin/iked/ikev2_pld.c ln -sf /home/src/regress/sbin/iked/parser/obj/../../../../sbin/iked/ikev2_pld.o . cd /home/src/regress/sbin/iked/parser/../../../../sbin/iked && make imsg_util.o cc -O2 -pipe -Wall -I/home/src/sbin/iked -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wshadow -Wpointer-arith -Wcast-qual -Wsign-compare -Werror-implicit-function-declaration -MD -MP -c /home/src/sbin/iked/imsg_util.c ln -sf /home/src/regress/sbin/iked/parser/obj/../../../../sbin/iked/imsg_util.o . cd /home/src/regress/sbin/iked/parser/../../../../sbin/iked && make log.o cc -O2 -pipe -Wall -I/home/src/sbin/iked -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wshadow -Wpointer-arith -Wcast-qual -Wsign-compare -Werror-implicit-function-declaration -MD -MP -c /home/src/sbin/iked/log.c ln -sf /home/src/regress/sbin/iked/parser/obj/../../../../sbin/iked/log.o . cd /home/src/regress/sbin/iked/parser/../../../../sbin/iked && make util.o cc -O2 -pipe -Wall -I/home/src/sbin/iked -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wshadow -Wpointer-arith -Wcast-qual -Wsign-compare -Werror-implicit-function-declaration -MD -MP -c /home/src/sbin/iked/util.c ln -sf /home/src/regress/sbin/iked/parser/obj/../../../../sbin/iked/util.o . cd /home/src/regress/sbin/iked/parser/../../../../sbin/iked && make ikev2_map.o /bin/sh /home/src/sbin/iked/genmap.sh /home/src/sbin/iked/ikev2.h ikev2 > ikev2_map.c cc -O2 -pipe -Wall -I/home/src/sbin/iked -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wshadow -Wpointer-arith -Wcast-qual -Wsign-compare -Werror-implicit-function-declaration -MD -MP -c ikev2_map.c ln -sf /home/src/regress/sbin/iked/parser/obj/../../../../sbin/iked/ikev2_map.o . cd /home/src/regress/sbin/iked/parser/../../../../sbin/iked && make eap_map.o /bin/sh /home/src/sbin/iked/genmap.sh /home/src/sbin/iked/eap.h eap > eap_map.c cc -O2 -pipe -Wall -I/home/src/sbin/iked -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wshadow -Wpointer-arith -Wcast-qual -Wsign-compare -Werror-implicit-function-declaration -MD -MP -c eap_map.c ln -sf /home/src/regress/sbin/iked/parser/obj/../../../../sbin/iked/eap_map.o . cc -O2 -pipe -g -I/home/src/regress/sbin/iked/parser/../../../../sbin/iked -Wno-missing-field-initializers -I/home/src/regress/sbin/iked/parser/../test_helper -Wall -Wextra -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wunused -Wsign-compare -Wshadow -Wpointer-sign -Wno-unused-parameter -Wuninitialized -Wbounded -MD -MP -c /home/src/regress/sbin/iked/parser/tests.c warning: unknown warning option '-Wbounded'; did you mean '-Wundef'? [-Wunknown-warning-option] 1 warning generated. cc -O2 -pipe -g -I/home/src/regress/sbin/iked/parser/../../../../sbin/iked -Wno-missing-field-initializers -I/home/src/regress/sbin/iked/parser/../test_helper -Wall -Wextra -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wunused -Wsign-compare -Wshadow -Wpointer-sign -Wno-unused-parameter -Wuninitialized -Wbounded -MD -MP -c /home/src/regress/sbin/iked/parser/common.c warning: unknown warning option '-Wbounded'; did you mean '-Wundef'? [-Wunknown-warning-option] 1 warning generated. cc -O2 -pipe -g -I/home/src/regress/sbin/iked/parser/../../../../sbin/iked -Wno-missing-field-initializers -I/home/src/regress/sbin/iked/parser/../test_helper -Wall -Wextra -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wunused -Wsign-compare -Wshadow -Wpointer-sign -Wno-unused-parameter -Wuninitialized -Wbounded -MD -MP -c /home/src/regress/sbin/iked/parser/test_parser_fuzz.c warning: unknown warning option '-Wbounded'; did you mean '-Wundef'? [-Wunknown-warning-option] 1 warning generated. cd /home/src/regress/sbin/iked/parser/../test_helper && make libtest_helper.a `libtest_helper.a' is up to date. ln -sf /home/src/regress/sbin/iked/parser/obj/../test_helper/libtest_helper.a . cc -g -o test_parser tests.o common.o test_parser_fuzz.o -lutil -lcrypto ikev2_pld.o imsg_util.o log.o util.o ikev2_map.o eap_map.o -L/home/src/regress/sbin/iked/parser/obj -ltest_helper ld: error: undefined symbol: ikev2_msg_lookup >>> referenced by ikev2_pld.c >>> ikev2_pld.o:(ikev2_frags_reassemble) ld: error: undefined symbol: ikev2_msg_dispose >>> referenced by ikev2_pld.c >>> ikev2_pld.o:(ikev2_frags_reassemble) cc: error: linker command failed with exit code 1 (use -v to see invocation) *** Error 1 in parser (<bsd.prog.mk>:126 'test_parser') *** Error 2 in /home/src/regress/sbin/iked (<bsd.subdir.mk>:48 'all': @for entry in test_helper dh parser live; do set -e; if test -d /home...) robsd-regress-exec: process group exited 2