diff options
author | Ted Lemon <source@isc.org> | 1996-05-22 07:34:28 +0000 |
---|---|---|
committer | Ted Lemon <source@isc.org> | 1996-05-22 07:34:28 +0000 |
commit | cf9a3ddd74e704df172518ee2cae377344c058bc (patch) | |
tree | 2c67ce56a4e1a574ced8ff98d83b6a1222536709 /common | |
parent | 65bf41da72c93778a854fac27993bfbbad8e5cce (diff) | |
download | isc-dhcp-cf9a3ddd74e704df172518ee2cae377344c058bc.tar.gz |
update interface configure banner; add from addr to send_packet; don't filter on incoming IP address (doesn't work well if interface has aliases)
Diffstat (limited to 'common')
-rw-r--r-- | common/nit.c | 24 |
1 files changed, 5 insertions, 19 deletions
diff --git a/common/nit.c b/common/nit.c index 15bcba3e..a237a81b 100644 --- a/common/nit.c +++ b/common/nit.c @@ -137,7 +137,7 @@ void if_register_send (info, interface) print_hw_addr (info -> hw_address.htype, info -> hw_address.hlen, info -> hw_address.haddr), - piaddr (info -> address)); + info -> shared_network -> name); } #endif /* USE_NIT_SEND */ @@ -210,21 +210,6 @@ void if_register_receive (info, interface) pf.Pf_Filter [pf.Pf_FilterLen++] = ENF_PUSHWORD + 18; pf.Pf_Filter [pf.Pf_FilterLen++] = ENF_PUSHLIT + ENF_CAND; pf.Pf_Filter [pf.Pf_FilterLen++] = server_port; - pf.Pf_Filter [pf.Pf_FilterLen++] = ENF_PUSHWORD + 15; - pf.Pf_Filter [pf.Pf_FilterLen++] = ENF_PUSHLIT + ENF_EQ; - pf.Pf_Filter [pf.Pf_FilterLen++] = 0xffff; - pf.Pf_Filter [pf.Pf_FilterLen++] = ENF_PUSHWORD + 16; - pf.Pf_Filter [pf.Pf_FilterLen++] = ENF_PUSHLIT + ENF_EQ; - pf.Pf_Filter [pf.Pf_FilterLen++] = 0xffff; - pf.Pf_Filter [pf.Pf_FilterLen++] = ENF_AND; - pf.Pf_Filter [pf.Pf_FilterLen++] = ENF_PUSHWORD + 15; - pf.Pf_Filter [pf.Pf_FilterLen++] = ENF_PUSHLIT + ENF_EQ; - pf.Pf_Filter [pf.Pf_FilterLen++] = addr [0]; - pf.Pf_Filter [pf.Pf_FilterLen++] = ENF_PUSHWORD + 16; - pf.Pf_Filter [pf.Pf_FilterLen++] = ENF_PUSHLIT + ENF_EQ; - pf.Pf_Filter [pf.Pf_FilterLen++] = addr [1]; - pf.Pf_Filter [pf.Pf_FilterLen++] = ENF_AND; - pf.Pf_Filter [pf.Pf_FilterLen++] = ENF_OR; /* Install the filter... */ sio.ic_cmd = NIOCSETF; @@ -237,16 +222,17 @@ void if_register_receive (info, interface) print_hw_addr (info -> hw_address.htype, info -> hw_address.hlen, info -> hw_address.haddr), - piaddr (info -> address)); + info -> shared_network -> name); } #endif /* USE_NIT_RECEIVE */ #ifdef USE_NIT_SEND -size_t send_packet (interface, packet, raw, len, to, hto) +size_t send_packet (interface, packet, raw, len, from, to, hto) struct interface_info *interface; struct packet *packet; struct dhcp_packet *raw; size_t len; + struct in_addr from; struct sockaddr_in *to; struct hardware *hto; { @@ -264,7 +250,7 @@ size_t send_packet (interface, packet, raw, len, to, hto) /* Assemble the headers... */ assemble_hw_header (interface, buf, &bufp, hto); hw_end = bufp; - assemble_udp_ip_header (interface, buf, &bufp, + assemble_udp_ip_header (interface, buf, &bufp, from.s_addr, to -> sin_addr.s_addr, to -> sin_port, raw, len); |