Am Donnerstag, 17. Januar 2008 16:49 schrieb Cristian Ionescu-Idbohrn:
> if (setsockopt(fd, SOL_SOCKET, SO_ATTACH_FILTER, &filter_prog,
> sizeof(filter_prog)) < 0) {
> if (errno != ENOPROTOOPT)
> bb_perror_msg_and_die("setsockopt");
> bb_perror_msg("setsockopt filter");
> } else
> DEBUG("attached filter to raw socket fdr %d", fd);
>
> should take care of that, shouldn't it?
this should work.
> (void)setsockopt(sock, SOL_SOCKET, SO_ATTACH_FILTER, &filter,
> sizeof(filter));
>
> No error checking at all.
Feature ;-) I knew some failures were ok, didn't want to distinguish and safe
every byte. But I've taken a look at 2.6.0, it already includes BPF
unconditionally. So I can add a check here.
Btw, I'll also take your BPF change to check both source and destination port,
this definitely make sense. Thanks!
Stefan
_______________________________________________
busybox mailing list
[email protected]
http://busybox.net/cgi-bin/mailman/listinfo/busybox