aboutsummaryrefslogtreecommitdiff
path: root/networking/udhcp (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* udhcpd: keep expired leases at startupChristian Lindeberg2016-03-012-2/+8
| | | | | | | | | | | | | | Let udhcpd retain the information about expired leases when restarting so that the leases are reserved until they possibly become the oldest expired lease. This reduces the frequency of IP address changes for example when the DHCP server and a group of clients, who do not store and request their previously offered IP address across restarts, are collectively restarted and the startup order of the clients are not guaranteed. Signed-off-by: Christian Lindeberg <christian.lindeberg@axis.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* udhcpc: fix OPTION_6RD parsing (could overflow its malloced buffer)Denys Vlasenko2016-02-262-4/+15
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* udhcp: trivial shrinkDenys Vlasenko2016-02-261-4/+3
| | | | | | | function old new delta dname_dec 337 332 -5 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* networking: allow dot at the end of the domain name in dhcp responseDenys Vlasenko2016-02-111-0/+2
| | | | | | Patch based on Balaji Punnuru <balaji.punnuru@gmail.com> work. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* dumpleases: string reuseDenys Vlasenko2015-10-241-3/+5
| | | | | | | | text data bss dec hex filename 926254 906 17160 944320 e68c0 busybox_old 926242 906 17160 944308 e68b4 busybox_unstripped Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* dumpleases: new option -d to show time in secondsIsaac Dunham2015-10-241-5/+19
| | | | | | | | | | | | function old new delta dumpleases_main 493 534 +41 static.dumpleases_longopts 31 41 +10 packed_usage 30777 30752 -25 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/1 up/down: 51/-25) Total: 26 bytes Signed-off-by: Isaac Dunham <ibid.ag@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* dumpleases: make host names sanitized to shell-friendly conditionDenys Vlasenko2015-10-241-3/+8
| | | | | | | function old new delta add_lease 271 298 +27 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* udhcpc: fix for some Android toolchain breakageDenys Vlasenko2015-10-081-0/+14
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* libbb: add setsockopt_foo helpersDenys Vlasenko2015-08-241-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | function old new delta setsockopt_int - 23 +23 do_load 918 934 +16 setsockopt_SOL_SOCKET_int - 14 +14 setsockopt_keepalive - 10 +10 setsockopt_SOL_SOCKET_1 - 10 +10 buffer_fill_and_print 169 178 +9 setsockopt_1 - 8 +8 nfsmount 3560 3566 +6 redirect 1277 1282 +5 tcpudpsvd_main 1782 1786 +4 d6_send_kernel_packet 272 275 +3 i2cget_main 380 382 +2 ed_main 2544 2545 +1 scan_recursive 380 378 -2 nbdclient_main 492 490 -2 hash_find 235 233 -2 cmdputs 334 332 -2 parse_command 1443 1440 -3 static.two 4 - -4 ntpd_main 1039 1035 -4 const_int_1 4 - -4 const_IPTOS_LOWDELAY 4 - -4 RCVBUF 4 - -4 ntp_init 474 469 -5 change_listen_mode 316 310 -6 uevent_main 416 409 -7 arping_main 1697 1690 -7 telnet_main 1612 1603 -9 socket_want_pktinfo 42 33 -9 setsockopt_reuseaddr 21 10 -11 setsockopt_broadcast 21 10 -11 httpd_main 772 757 -15 get_remote_transfer_fd 109 94 -15 make_new_session 503 487 -16 ftpd_main 2177 2160 -17 read_bunzip 1896 1866 -30 common_traceroute_main 4099 4058 -41 common_ping_main 1836 1783 -53 ------------------------------------------------------------------------------ (add/remove: 5/4 grow/shrink: 8/21 up/down: 111/-283) Total: -172 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* udhcpc: dns labels can actually start with a numberArthur Gautier2015-07-301-4/+0
| | | | | | | | | | | While RFC1035 recommends a label not to start with a number, there is actually no such limitation in dns. One may buy a domain name like 0x1.net and use it. This commit remove this check and allow a user to use such domains. Signed-off-by: Arthur Gautier <baloo@gandi.net> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* libbb: add a function to make a copy of a region of memoryRon Yorston2015-07-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Introduce a library routine to package the idiom: p = xmalloc(b, n); memcpy(p, b, n); and use it where possible. The example in traceroute used xzalloc but it didn't need to. function old new delta xmemdup - 32 +32 last_main 834 826 -8 make_device 2321 2311 -10 common_traceroute_main 3698 3685 -13 readtoken1 3182 3168 -14 procps_scan 1222 1206 -16 forkchild 655 638 -17 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 0/6 up/down: 32/-78) Total: -46 bytes Signed-off-by: Ron Yorston <rmy@frippery.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* dhcpd: fix an improper widening conversionDenys Vlasenko2015-01-271-1/+2
| | | | | | | | | We wanted to detect when tv_sec = unsigned1 - unsigned2 underflows by looking at tv_sec's sign. But if tv_sec is long and it is wider than unsigned, we get unsigned -> long conversion which is in this case never negative. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* udhcpd: account for script delay in leaseJohn Schroeder2014-12-251-1/+5
| | | | | | | Prevent nasty surprises if script runs longer than lease time / 2. Signed-off-by: John Schroeder <jschroed@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* udhcpc: account for script run timeDenys Vlasenko2014-12-211-1/+5
| | | | | | | | | | | | | | | | | | | | | | | Based on the following user report: I ran into an issue where I was seeing a long delay in the scripts called in udhcp_run_script. I was using an old version of OpenWrt (kamikaze) and a satellite modem. An NTP script was being called and the modem would sometimes take a long time to respond to the DNS lookup when it was offline. This delay started affecting my lease time. The lease that I would get from my satellite modem before it was online would be short: only 60 seconds. The delay with NTP and the modem would typically be about 18 seconds. This would cause the first DHCP renew request from dhcpc to be a little late. Under certain circumstances, I could even see the first DHCP renew to occur after the lease had expired! function old new delta udhcpc_main 2816 2837 +21 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* udhcpd: if a lease from lease file coincides with a static one, ignore itDenys Vlasenko2014-11-251-1/+13
| | | | | | | function old new delta read_leases 269 328 +59 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* udhcpd: add option for tweaking arppingMichel Stam2014-10-306-21/+39
| | | | | | | | | | | | | | | | | | | | | | | | Some clients have a very short timeout for sending the DHCP DISCOVER, shorter than the arpping timeout of 2000 milliseconds that udhcpd uses by default. This patch allows tweaking the timeout, or disabling of arpping altogether, at the risk of handing out addresses which are already in use. function old new delta udhcpd_main 1460 1501 +41 udhcpc_main 2814 2851 +37 packed_usage 29957 29974 +17 arpping 477 493 +16 find_free_or_expired_nip 161 174 +13 send_offer 285 292 +7 nobody_responds_to_arp 85 89 +4 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 7/0 up/down: 135/0) Total: 135 bytes Signed-off-by: Michel Stam <m.stam@fugro.nl> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* udhcp: add PXELINUX path prefix option (code 210) definitionJeremy Kerr2014-07-162-0/+3
| | | | | | | | | | | | | | | Like d3092c99, this change adds support for the DHCP "path-prefix" option, as defined in RFC 5071. We use the string identifer "pxepathprefix". Adding this option makes string parsing in the hook scripts simpler. function old new delta dhcp_option_strings 255 269 +14 dhcp_optflags 72 74 +2 Signed-off-by: Jeremy Kerr <jk@ozlabs.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* udhcpc: make hostname sanitization optional. Closes 3979Denys Vlasenko2014-06-162-0/+15
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* udhcpc: ignore NAKs from "wrong" servers. Closes 4267Denys Vlasenko2014-02-271-1/+24
| | | | | | | function old new delta udhcpc_main 2716 2814 +98 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* udhcpc: fix BPF filter. Hopefully fixes the root cause of 4598 and 6746Denys Vlasenko2014-02-192-4/+5
| | | | | | Use a *signed* large positive value in BPF filter to indicate success. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* udhcpc: in comments, explain the kind of raw socket we createDenys Vlasenko2014-02-071-2/+4
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* udhcpc: don't use BPF filter, users report problems (bugs 4598, 6746)Denys Vlasenko2014-02-031-47/+46
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* udhcp: add PXELINUX config file option (code 209) definitionJeremy Kerr2013-11-122-2/+5
| | | | | | | | | This change adds a definition for DHCP option 209. RFC 5071 defines code 209 as a configuration file for a PXE bootloader; this change uses the string "pxeconffile" as its text identifier. Signed-off-by: Jeremy Kerr <jk@ozlabs.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* udhcpc: allow zero server-id. Closes 6614.Denys Vlasenko2013-11-031-11/+25
| | | | | | | | | | | | | | function old new delta bcast_or_ucast - 47 +47 udhcp_send_kernel_packet 271 295 +24 udhcpc_main 2696 2705 +9 udhcp_send_raw_packet 456 459 +3 send_release 90 76 -14 send_renew 105 77 -28 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 3/2 up/down: 83/-42) Total: 41 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* udhcpc: make DHCP packets to have at least 300 DHCP bytesJohannes Stezenbach2013-10-281-0/+9
| | | | | | | | | | | | | | | | | | Commit b8b72f02 removed all padding from DHCP packets to fix operation with buggy servers which can't handle maximum sized packets. But it introduced a regression with buggy routers which drop DHCP packets smaller than 300 bytes (i.e. 342 byte ethernet packets). Add back some padding to work around. function old new delta udhcp_send_kernel_packet 268 292 +24 udhcp_send_raw_packet 462 473 +11 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 35/0) Total: 35 bytes Signed-off-by: Johannes Stezenbach <js@sig21.net> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* udhcpc: tweak help text moreDenys Vlasenko2013-08-081-17/+17
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* udhcpc: tweak help textDenys Vlasenko2013-08-081-14/+15
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* udhcpc: tweak help textDenys Vlasenko2013-08-051-4/+4
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* udhcp: code shrinkDenys Vlasenko2013-05-171-17/+13
| | | | | | | | function old new delta attach_option 416 413 -3 allocate_tempopt_if_needed 74 - -74 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* udhcpc: fix a problem with binary-encoded options #2Denys Vlasenko2013-05-171-1/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* udhcpd: also add -I ADDR to help textDenys Vlasenko2013-03-141-1/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* udhcpd: add -I LOCAL_ADDR optionDenys Vlasenko2013-03-131-4/+13
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* udhcpc6: fix port numbers used if !FEATURE_UDHCP_PORTDenys Vlasenko2013-01-283-18/+22
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* whitespace cleanup. no code changesDenys Vlasenko2013-01-141-1/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* udhcpc[6]: allow discover_retries == 0 (infinite)Felix Fietkau2012-09-272-4/+4
| | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ushcpc: gracefully handle packets with CHECKSUM_PARTIALAlexey Froloff2012-09-171-8/+49
| | | | | | | | | | | function old new delta udhcp_recv_raw_packet 415 579 +164 change_listen_mode 317 370 +53 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 217/0) Total: 217 bytes Signed-off-by: Alexey Froloff <raorn@raorn.name> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* udhcp[cd]: fix binding to network aliases. Closes 5432, 5438Denys Vlasenko2012-08-101-1/+9
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* udhcpc: make -O <numeric_opt> work. Closes 5402Denys Vlasenko2012-07-273-13/+21
| | | | | | | | | | | | | function old new delta udhcpc_main 2642 2685 +43 udhcp_recv_raw_packet 414 415 +1 d6_recv_raw_packet 248 249 +1 udhcpc6_main 2430 2413 -17 add_client_options 239 213 -26 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 3/2 up/down: 45/-43) Total: 2 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* Add yet another missing ALIGN2 on a global declaration.Denys Vlasenko2012-07-261-1/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* dhcpd: write lease file on exitDenys Vlasenko2012-07-241-4/+4
| | | | | | | function old new delta udhcpd_main 1431 1403 -28 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* *: declare strings with ALIGN1, as appropriateMichael Tokarev2012-07-241-2/+2
| | | | | Signed-off-by: Michael Tokarev <mjt@tls.msk.ru> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* udhcpc[6]: show select timeout in logDenys Vlasenko2012-06-022-2/+2
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* udhcpc6: depend on ipv6Mike Frysinger2012-05-021-4/+5
| | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* udhcpc: fix improper size calculation for OPTION_STRING_HOSTDenys Vlasenko2012-04-221-0/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* fix build breakage found by randconfigDenys Vlasenko2012-04-202-1/+5
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* udhcp: make arpping code resistant to time jumpsDenys Vlasenko2012-04-171-2/+7
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* udhcp: finish support of classless static routes (now the correct patch!)Michael McTernan2011-12-161-18/+37
| | | | | Signed-off-by: Michael McTernan <Michael.McTernan.2001@cs.bris.ac.uk> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* udhcpc: sanitize hostnames in incoming packets. Closes 3979.Denys Vlasenko2011-12-083-5/+73
| | | | | | | | | | | | | | | | The following options are replaced with string "bad" if they contain malformed hostname: HOST_NAME, DOMAIN_NAME, NIS_DOMAIN, TFTP_SERVER_NAME function old new delta xmalloc_optname_optval 850 888 +38 attach_option 440 443 +3 len_of_option_as_string 13 14 +1 dhcp_option_lengths 13 14 +1 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 4/0 up/down: 43/0) Total: 43 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* udhcpc: shrink code by setting xid more economicallyDenys Vlasenko2011-11-181-4/+8
| | | | | | | | function old new delta send_decline 90 82 -8 udhcpc_main 2649 2640 -9 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* udhcpc6: rudimentary code to export data to script; fix IAADDR parsingDenys Vlasenko2011-11-165-40/+131
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>