On Thu, Apr 14, 2016 at 3:15 PM, Martin Natano <nat...@natano.net> wrote: > In rbootd a struct bpf_timeval (with 32bit tv_sec) is copied to a struct > timeval (with 64 tv_sec) via bcopy(). This most likely causes > connections to not time out correctly in rbootd. I don't have an HP > machine to test this with. Who owns such a machine and is willing to > test this?
The current code is simply wrong: sizeof(struct timeval) > sizeof(struct bpf_timeval). I think we should make this change (ok guenther@) and then work to update struct bpf_hdr or a replacement thereof to not be limited to 32bit time_t values. Maybe it should be using a timespec instead too? Have any other free OSes added timespec (or bintime) APIs? (BPF has been around since 1990; the time from then to now is less than the time from now to 2038 when 32bit time_t fails...) Philip Guenther