FreeBSD Bugzilla – Attachment 16917 Details for
Bug 30854
bootpd(8) bootpgw change - skip ARP modifications by option
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
file.diff
file.diff (text/plain), 3.29 KB, created by
Dan Lukes
on 2001-09-26 23:40:01 UTC
(
hide
)
Description:
file.diff
Filename:
MIME Type:
Creator:
Dan Lukes
Created:
2001-09-26 23:40:01 UTC
Size:
3.29 KB
patch
obsolete
>--- libexec/bootpd/bootpd.c.ORIG Sat Dec 16 23:43:25 2000 >+++ libexec/bootpd/bootpd.c Thu Sep 27 00:01:40 2001 >@@ -151,6 +151,7 @@ > 15 * 60L, /* tv_sec */ > 0 /* tv_usec */ > }; >+int noarp = FALSE; /* skip modifications of ARP table */ > > /* > * General >@@ -272,6 +273,9 @@ > break; > switch (argv[0][1]) { > >+ case 'a': /* don't modify the ARP table */ >+ noarp = TRUE; >+ break; > case 'c': /* chdir_path */ > if (argv[0][2]) { > stmp = &(argv[0][2]); >@@ -588,7 +592,8 @@ > usage() > { > fprintf(stderr, >- "usage: bootpd [-d level] [-i] [-s] [-t timeout] [configfile [dumpfile]]\n"); >+ "usage: \nbootpd [-a] [-c path] [-d level] [-i] [-s] [-t timeout] [configfile [dumpfile]]\n"); >+ fprintf(stderr, "\t -a\tdon't modify ARP table\n"); > fprintf(stderr, "\t -c n\tset current directory\n"); > fprintf(stderr, "\t -d n\tset debug level\n"); > fprintf(stderr, "\t -i\tforce inetd mode (run as child of inetd)\n"); >@@ -1066,10 +1071,12 @@ > if (haf == 0) > haf = HTYPE_ETHERNET; > >- if (debug > 1) >- report(LOG_INFO, "setarp %s - %s", >- inet_ntoa(dst), haddrtoa(ha, len)); >- setarp(s, &dst, haf, ha, len); >+ if ( noarp == FALSE ) { >+ if (debug > 1) >+ report(LOG_INFO, "setarp %s - %s", >+ inet_ntoa(dst), haddrtoa(ha, len)); >+ setarp(s, &dst, haf, ha, len); >+ } > } > > if ((forward == 0) && >--- libexec/bootpd/bootpgw/bootpgw.c.ORIG Sat Dec 16 23:43:25 2000 >+++ libexec/bootpd/bootpgw/bootpgw.c Thu Sep 27 00:01:40 2001 >@@ -130,6 +130,7 @@ > u_char maxhops = 4; /* Number of hops allowed for requests. */ > u_int minwait = 3; /* Number of seconds client must wait before > its bootrequest packets are forwarded. */ >+int noarp = FALSE; /* skip modifications of ARP table */ > > /* > * General >@@ -246,6 +247,9 @@ > break; > switch (argv[0][1]) { > >+ case 'a': /* don't modify the ARP table */ >+ noarp = TRUE; >+ break; > case 'd': /* debug level */ > if (argv[0][2]) { > stmp = &(argv[0][2]); >@@ -511,7 +515,8 @@ > usage() > { > fprintf(stderr, >- "usage: bootpgw [-d level] [-i] [-s] [-t timeout] server\n"); >+ "usage: \nbootpgw [-a] [-d level] [-h count] [-i] [-s] [-t timeout] [-w time] server\n"); >+ fprintf(stderr, "\t -a\tdon't modify ARP table\n"); > fprintf(stderr, "\t -d n\tset debug level\n"); > fprintf(stderr, "\t -h n\tset max hop count\n"); > fprintf(stderr, "\t -i\tforce inetd mode (run as child of inetd)\n"); >@@ -656,19 +661,21 @@ > send_addr.sin_addr = bp->bp_yiaddr; > send_addr.sin_port = htons(bootpc_port); > >- /* Create an ARP cache entry for the client. */ >- ha = bp->bp_chaddr; >- len = bp->bp_hlen; >- if (len > MAXHADDRLEN) >- len = MAXHADDRLEN; >- haf = (int) bp->bp_htype; >- if (haf == 0) >- haf = HTYPE_ETHERNET; >+ if ( noarp == FALSE ) { >+ /* Create an ARP cache entry for the client. */ >+ ha = bp->bp_chaddr; >+ len = bp->bp_hlen; >+ if (len > MAXHADDRLEN) >+ len = MAXHADDRLEN; >+ haf = (int) bp->bp_htype; >+ if (haf == 0) >+ haf = HTYPE_ETHERNET; > >- if (debug > 1) >- report(LOG_INFO, "setarp %s - %s", >- inet_ntoa(bp->bp_yiaddr), haddrtoa(ha, len)); >- setarp(s, &bp->bp_yiaddr, haf, ha, len); >+ if (debug > 1) >+ report(LOG_INFO, "setarp %s - %s", >+ inet_ntoa(dst), haddrtoa(ha, len)); >+ setarp(s, &dst, haf, ha, len); >+ } > > /* Send reply with same size packet as request used. */ > if (sendto(s, pktbuf, pktlen, 0,
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 30854
:
16917
|
156923