Patch from Giuseppe Ciotta to specify retry count.
This commit was genuinely broken at the time (not related to our build system): scripts/config/mkconfigs.c (2005-08-01 - 2006-10-05 arasi) uretilen bbconfigopts.h icine .config satirlarini kacissiz, ham newline'larla gömüyordu - gecerli C degildi, busybox'un kendi bb_mkdep araci bile parse edemiyordu (7d219aab7 ile duzeltildi, mkconfigs shell scripte cevrildi)
No binary (build failed)
—
(log yok)
| @@ -3239,7 +3239,7 @@ | |
| "Adjust filesystem options on ext[23] filesystems.\n\n" | |
| #define udhcpc_trivial_usage \ | |
| - | "[-Cfbnqv] [-c CID] [-V VCLS] [-H HOSTNAME] [-i INTERFACE]\n[-p pidfile] [-r IP] [-s script]" |
| + | "[-Cfbnqtv] [-c CID] [-V VCLS] [-H HOSTNAME] [-i INTERFACE]\n[-p pidfile] [-r IP] [-s script]" |
| #define udhcpc_full_usage \ | |
| "\t-c,\t--clientid=CLIENTID\tSet client identifier\n" \ | |
| "\t-C,\t--clientid-none\tSuppress default client identifier\n" \ | |
| @@ -3254,6 +3254,7 @@ | |
| "\t-q,\t--quit\tQuit after obtaining lease\n" \ | |
| "\t-r,\t--request=IP\tIP address to request (default: none)\n" \ | |
| "\t-s,\t--script=file\tRun file at dhcp events (default: /usr/share/udhcpc/default.script)\n" \ | |
| + | "\t-t,\t--retries=NUM\tSend up to NUM request packets\n"\ |
| "\t-v,\t--version\tDisplay version" | |
| #define udhcpd_trivial_usage \ | |
| @@ -58,6 +58,7 @@ struct client_config_t client_config = { | |
| .hostname = NULL, | |
| .fqdn = NULL, | |
| .ifindex = 0, | |
| + | .retries = 3, |
| .arp = "\0\0\0\0\0\0", /* appease gcc-3.0 */ | |
| }; | |
| @@ -202,13 +203,14 @@ int main(int argc, char *argv[]) | |
| {"request", required_argument, 0, 'r'}, | |
| {"script", required_argument, 0, 's'}, | |
| {"version", no_argument, 0, 'v'}, | |
| + | {"retries", required_argument, 0, 't'}, |
| {0, 0, 0, 0} | |
| }; | |
| /* get options */ | |
| while (1) { | |
| int option_index = 0; | |
| - | c = getopt_long(argc, argv, "c:CV:fbH:h:F:i:np:qr:s:v", arg_options, &option_index); |
| + | c = getopt_long(argc, argv, "c:CV:fbH:h:F:i:np:qr:s:t:v", arg_options, &option_index); |
| if (c == -1) break; | |
| switch (c) { | |
| @@ -284,6 +286,9 @@ int main(int argc, char *argv[]) | |
| case 's': | |
| client_config.script = optarg; | |
| break; | |
| + | case 't': |
| + | client_config.retries = atoi(optarg); |
| + | break; |
| case 'v': | |
| printf("udhcpcd, version %s\n\n", VERSION); | |
| return 0; | |
| @@ -353,7 +358,7 @@ int main(int argc, char *argv[]) | |
| /* timeout dropped to zero */ | |
| switch (state) { | |
| case INIT_SELECTING: | |
| - | if (packet_num < 3) { |
| + | if (packet_num < client_config.retries) { |
| if (packet_num == 0) | |
| xid = random_xid(); | |
| @@ -378,7 +383,7 @@ int main(int argc, char *argv[]) | |
| break; | |
| case RENEW_REQUESTED: | |
| case REQUESTING: | |
| - | if (packet_num < 3) { |
| + | if (packet_num < client_config.retries) { |
| /* send request packet */ | |
| if (state == RENEW_REQUESTED) | |
| send_renew(xid, server_addr, requested_ip); /* unicast */ | |