This is a patch for paketto-2.00pre1 allowing scanrand2 to be compiled on FreeBSD 5.3 --Max Dornseif diff -ru paketto-2.00pre1/src/config.h paketto-2.00pre1-freebsdd/src/config.h --- paketto-2.00pre1/src/config.h Mon Dec 15 05:29:40 2003 +++ paketto-2.00pre1-freebsdd/src/config.h Sun Jan 2 22:48:09 2005 @@ -23,7 +23,7 @@ #define HAVE_STRING_H 1 /* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_IOCCOM_H */ +#define HAVE_SYS_IOCCOM_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 diff -ru paketto-2.00pre1/src/libpaketto.h paketto-2.00pre1-freebsdd/src/libpaketto.h --- paketto-2.00pre1/src/libpaketto.h Wed Dec 10 18:11:34 2003 +++ paketto-2.00pre1-freebsdd/src/libpaketto.h Sat Jan 8 09:52:52 2005 @@ -8,6 +8,8 @@ #include #include +#include + #include "pk_scan.h" #if defined(WIN32) && !defined(__MINGW32__) && 1 diff -ru paketto-2.00pre1/src/pk_scan.c paketto-2.00pre1-freebsdd/src/pk_scan.c --- paketto-2.00pre1/src/pk_scan.c Mon Dec 15 05:36:55 2003 +++ paketto-2.00pre1-freebsdd/src/pk_scan.c Sat Jan 8 10:16:56 2005 @@ -676,7 +676,8 @@ libnet_plist_chain_new(&plist2, pbuf_temp); while(libnet_plist_chain_next_pair(plist2, &start_p, &end_p)){ for(dport=start_p; dport<=end_p; dport++){ - i=strnlen(buf, MX_B); + i=strlen(buf); + i = (i > MX_B ? MX_B : i); if(buf[i-1]=='\n') buf[i-1]='\0'; snprintf(buf2, sizeof(buf2), "%s:%i", buf, dport); conf->shortdest = buf2; @@ -686,8 +687,9 @@ libnet_plist_chain_free(plist2); memcpy(pbuf_temp, conf->target_ports, MX_B); } else*/ { - i=strnlen(buf, MX_B); - buf[i-1]='\0'; + i=strlen(buf); + i = (i > MX_B ? MX_B : i); + buf[i-1]='\0'; conf->shortdest = buf; if(pk_parse_dest(conf->dest, sizeof(conf->dest), conf->shortdest, conf->ttlrange)) pk_sr_spew_tcp(conf, x); diff -ru paketto-2.00pre1/src/scanrand2.c paketto-2.00pre1-freebsdd/src/scanrand2.c --- paketto-2.00pre1/src/scanrand2.c Mon Dec 15 05:39:31 2003 +++ paketto-2.00pre1-freebsdd/src/scanrand2.c Sat Jan 8 10:14:21 2005 @@ -93,7 +93,8 @@ conf->show_accepted=0; break; case 's': - pk_sr_force_seed(conf->seed, optarg, strnlen(optarg, MX_B), &conf->source_port); + i = strlen(optarg); + pk_sr_force_seed(conf->seed, optarg, i > MX_B ? MX_B : i, &conf->source_port); break; case 'p': conf->source_port = atoi(optarg);