Lines Matching refs:client
199 if (ifi->client->active != NULL) { in disassoc()
202 ifi->client->active); in disassoc()
203 if (ifi->client->alias) in disassoc()
205 ifi->client->alias); in disassoc()
208 ifi->client->state = S_INIT; in disassoc()
256 for (l = ifi->client->active; l != NULL; l = l->next) in routehandler()
334 if (ifi->client->alias) in routehandler()
335 script_write_params("alias_", ifi->client->alias); in routehandler()
464 if (ifi->client->alias) in main()
465 priv_script_write_params("alias_", ifi->client->alias); in main()
521 ifi->client->state = S_INIT; in main()
578 if (!ip->client->active || ip->client->active->is_bootp) { in state_reboot()
584 ip->client->state = S_REBOOTING; in state_reboot()
589 ip->client->xid = arc4random(); in state_reboot()
593 make_request(ip, ip->client->active); in state_reboot()
594 ip->client->destination = iaddr_broadcast; in state_reboot()
595 ip->client->first_sending = cur_time; in state_reboot()
596 ip->client->interval = ip->client->config->initial_interval; in state_reboot()
599 ip->client->medium = NULL; in state_reboot()
618 make_discover(ip, ip->client->active); in state_init()
619 ip->client->xid = ip->client->packet.xid; in state_init()
620 ip->client->destination = iaddr_broadcast; in state_init()
621 ip->client->state = S_SELECTING; in state_init()
622 ip->client->first_sending = cur_time; in state_init()
623 ip->client->interval = ip->client->config->initial_interval; in state_init()
651 for (lp = ip->client->offered_leases; lp; lp = next) { in state_selecting()
676 ip->client->offered_leases = NULL; in state_selecting()
681 ip->client->state = S_INIT; in state_selecting()
688 ip->client->new = picked; in state_selecting()
692 ip->client->new->expiry = cur_time + 12000; in state_selecting()
693 ip->client->new->renewal += cur_time + 8000; in state_selecting()
694 ip->client->new->rebind += cur_time + 10000; in state_selecting()
696 ip->client->state = S_REQUESTING; in state_selecting()
704 ip->client->destination = iaddr_broadcast; in state_selecting()
705 ip->client->state = S_REQUESTING; in state_selecting()
706 ip->client->first_sending = cur_time; in state_selecting()
707 ip->client->interval = ip->client->config->initial_interval; in state_selecting()
711 ip->client->xid = ip->client->packet.xid; in state_selecting()
731 if (packet->interface->client->xid != packet->raw->xid || in dhcpack()
737 if (ip->client->state != S_REBOOTING && in dhcpack()
738 ip->client->state != S_REQUESTING && in dhcpack()
739 ip->client->state != S_RENEWING && in dhcpack()
740 ip->client->state != S_REBINDING) in dhcpack()
751 ip->client->new = lease; in dhcpack()
757 if (ip->client->new->options[DHO_DHCP_LEASE_TIME].data) in dhcpack()
758 ip->client->new->expiry = getULong( in dhcpack()
759 ip->client->new->options[DHO_DHCP_LEASE_TIME].data); in dhcpack()
761 ip->client->new->expiry = default_lease_time; in dhcpack()
764 if (ip->client->new->expiry < 0) in dhcpack()
765 ip->client->new->expiry = TIME_MAX; in dhcpack()
767 if (ip->client->new->expiry < 60) in dhcpack()
768 ip->client->new->expiry = 60; in dhcpack()
772 if (ip->client->new->options[DHO_DHCP_RENEWAL_TIME].len) in dhcpack()
773 ip->client->new->renewal = getULong( in dhcpack()
774 ip->client->new->options[DHO_DHCP_RENEWAL_TIME].data); in dhcpack()
776 ip->client->new->renewal = ip->client->new->expiry / 2; in dhcpack()
779 if (ip->client->new->options[DHO_DHCP_REBINDING_TIME].len) in dhcpack()
780 ip->client->new->rebind = getULong( in dhcpack()
781 ip->client->new->options[DHO_DHCP_REBINDING_TIME].data); in dhcpack()
783 ip->client->new->rebind = ip->client->new->renewal + in dhcpack()
784 ip->client->new->renewal / 2 + ip->client->new->renewal / 4; in dhcpack()
786 ip->client->new->expiry += cur_time; in dhcpack()
788 if (ip->client->new->expiry < cur_time) in dhcpack()
789 ip->client->new->expiry = TIME_MAX; in dhcpack()
790 ip->client->new->renewal += cur_time; in dhcpack()
791 if (ip->client->new->renewal < cur_time) in dhcpack()
792 ip->client->new->renewal = TIME_MAX; in dhcpack()
793 ip->client->new->rebind += cur_time; in dhcpack()
794 if (ip->client->new->rebind < cur_time) in dhcpack()
795 ip->client->new->rebind = TIME_MAX; in dhcpack()
804 ip->client->new->medium = ip->client->medium; in bind_lease()
807 write_client_lease(ip, ip->client->new, 0); in bind_lease()
810 script_init((ip->client->state == S_REQUESTING ? "BOUND" : in bind_lease()
811 (ip->client->state == S_RENEWING ? "RENEW" : in bind_lease()
812 (ip->client->state == S_REBOOTING ? "REBOOT" : "REBIND"))), in bind_lease()
813 ip->client->new->medium); in bind_lease()
814 if (ip->client->active && ip->client->state != S_REBOOTING) in bind_lease()
815 script_write_params("old_", ip->client->active); in bind_lease()
816 script_write_params("new_", ip->client->new); in bind_lease()
817 if (ip->client->alias) in bind_lease()
818 script_write_params("alias_", ip->client->alias); in bind_lease()
822 if (ip->client->active) in bind_lease()
823 free_client_lease(ip->client->active); in bind_lease()
824 ip->client->active = ip->client->new; in bind_lease()
825 ip->client->new = NULL; in bind_lease()
828 add_timeout(ip->client->active->renewal, state_bound, ip); in bind_lease()
831 piaddr(ip->client->active->address), in bind_lease()
832 (int)(ip->client->active->renewal - cur_time)); in bind_lease()
833 ip->client->state = S_BOUND; in bind_lease()
852 make_request(ip, ip->client->active); in state_bound()
853 ip->client->xid = ip->client->packet.xid; in state_bound()
855 if (ip->client->active->options[DHO_DHCP_SERVER_IDENTIFIER].len == 4) { in state_bound()
856 memcpy(ip->client->destination.iabuf, ip->client->active-> in state_bound()
858 ip->client->destination.len = 4; in state_bound()
860 ip->client->destination = iaddr_broadcast; in state_bound()
862 ip->client->first_sending = cur_time; in state_bound()
863 ip->client->interval = ip->client->config->initial_interval; in state_bound()
864 ip->client->state = S_RENEWING; in state_bound()
880 for (ap = packet->interface->client->config->reject_list; in bootp()
916 for (ap = packet->interface->client->config->reject_list; in dhcp()
938 if (ip->client->state != S_SELECTING || in dhcpoffer()
939 packet->interface->client->xid != packet->raw->xid || in dhcpoffer()
950 for (i = 0; ip->client->config->required_options[i]; i++) { in dhcpoffer()
951 if (!packet->options[ip->client->config-> in dhcpoffer()
959 for (lease = ip->client->offered_leases; in dhcpoffer()
981 lease->medium = ip->client->medium; in dhcpoffer()
995 ip->client->first_sending + ip->client->config->select_interval; in dhcpoffer()
999 if (lease->address.len == ip->client->requested_address.len && in dhcpoffer()
1001 ip->client->requested_address.iabuf, in dhcpoffer()
1002 ip->client->requested_address.len)) { in dhcpoffer()
1003 lease->next = ip->client->offered_leases; in dhcpoffer()
1004 ip->client->offered_leases = lease; in dhcpoffer()
1010 if (ip->client->offered_leases && in dhcpoffer()
1016 if (!ip->client->offered_leases) in dhcpoffer()
1017 ip->client->offered_leases = lease; in dhcpoffer()
1019 for (lp = ip->client->offered_leases; lp->next; in dhcpoffer()
1137 if (packet->interface->client->xid != packet->raw->xid || in dhcpnak()
1143 if (ip->client->state != S_REBOOTING && in dhcpnak()
1144 ip->client->state != S_REQUESTING && in dhcpnak()
1145 ip->client->state != S_RENEWING && in dhcpnak()
1146 ip->client->state != S_REBINDING) in dhcpnak()
1151 if (!ip->client->active) { in dhcpnak()
1156 free_client_lease(ip->client->active); in dhcpnak()
1157 ip->client->active = NULL; in dhcpnak()
1162 ip->client->state = S_INIT; in dhcpnak()
1177 interval = cur_time - ip->client->first_sending; in send_discover()
1181 if (interval > ip->client->config->timeout) { in send_discover()
1189 if (!ip->client->offered_leases && in send_discover()
1190 ip->client->config->media) { in send_discover()
1193 if (ip->client->medium) { in send_discover()
1194 ip->client->medium = ip->client->medium->next; in send_discover()
1197 if (!ip->client->medium) { in send_discover()
1200 ip->client->medium = ip->client->config->media; in send_discover()
1204 note("Trying medium \"%s\" %d", ip->client->medium->string, in send_discover()
1206 script_init("MEDIUM", ip->client->medium); in send_discover()
1219 if (!ip->client->interval) in send_discover()
1220 ip->client->interval = in send_discover()
1221 ip->client->config->initial_interval; in send_discover()
1223 ip->client->interval += (arc4random() >> 2) % in send_discover()
1224 (2 * ip->client->interval); in send_discover()
1228 if (ip->client->interval > in send_discover()
1229 ip->client->config->backoff_cutoff) in send_discover()
1230 ip->client->interval = in send_discover()
1231 ((ip->client->config->backoff_cutoff / 2) in send_discover()
1233 ip->client->config->backoff_cutoff)); in send_discover()
1234 } else if (!ip->client->interval) in send_discover()
1235 ip->client->interval = in send_discover()
1236 ip->client->config->initial_interval; in send_discover()
1240 if (cur_time + ip->client->interval > in send_discover()
1241 ip->client->first_sending + ip->client->config->timeout) in send_discover()
1242 ip->client->interval = in send_discover()
1243 (ip->client->first_sending + in send_discover()
1244 ip->client->config->timeout) - cur_time + 1; in send_discover()
1248 ip->client->packet.secs = htons(interval); in send_discover()
1250 ip->client->packet.secs = htons(65535); in send_discover()
1251 ip->client->secs = ip->client->packet.secs; in send_discover()
1255 (int)ip->client->interval); in send_discover()
1258 send_packet_unpriv(privfd, &ip->client->packet, in send_discover()
1259 ip->client->packet_length, inaddr_any, inaddr_broadcast); in send_discover()
1261 add_timeout(cur_time + ip->client->interval, send_discover, ip); in send_discover()
1274 struct client_lease *loop = ip->client->active; in state_panic()
1281 if (!ip->client->active && ip->client->leases) in state_panic()
1285 while (ip->client->active) { in state_panic()
1286 if (ip->client->active->expiry > cur_time) { in state_panic()
1288 piaddr(ip->client->active->address)); in state_panic()
1292 ip->client->active->medium); in state_panic()
1293 script_write_params("new_", ip->client->active); in state_panic()
1294 if (ip->client->alias) in state_panic()
1296 ip->client->alias); in state_panic()
1303 ip->client->active->renewal) { in state_panic()
1304 ip->client->state = S_BOUND; in state_panic()
1306 (int)(ip->client->active->renewal - in state_panic()
1309 ip->client->active->renewal, in state_panic()
1312 ip->client->state = S_BOUND; in state_panic()
1323 if (!ip->client->leases) { in state_panic()
1324 ip->client->leases = ip->client->active; in state_panic()
1325 ip->client->active = NULL; in state_panic()
1332 for (lp = ip->client->leases; lp->next; lp = lp->next) in state_panic()
1334 lp->next = ip->client->active; in state_panic()
1337 ip->client->active = ip->client->leases; in state_panic()
1338 ip->client->leases = ip->client->leases->next; in state_panic()
1343 if (ip->client->active == loop) in state_panic()
1346 loop = ip->client->active; in state_panic()
1354 if (ip->client->alias) in state_panic()
1355 script_write_params("alias_", ip->client->alias); in state_panic()
1357 ip->client->state = S_INIT; in state_panic()
1358 add_timeout(cur_time + ip->client->config->retry_interval, state_init, in state_panic()
1371 interval = cur_time - ip->client->first_sending; in send_request()
1383 if ((ip->client->state == S_REBOOTING || in send_request()
1384 ip->client->state == S_REQUESTING) && in send_request()
1385 interval > ip->client->config->reboot_timeout) { in send_request()
1387 ip->client->state = S_INIT; in send_request()
1395 if (ip->client->state == S_REBOOTING && in send_request()
1396 !ip->client->medium && in send_request()
1397 ip->client->active->medium ) { in send_request()
1398 script_init("MEDIUM", ip->client->active->medium); in send_request()
1405 ip->client->medium = ip->client->active->medium; in send_request()
1410 if (ip->client->state != S_REQUESTING && in send_request()
1411 cur_time > ip->client->active->expiry) { in send_request()
1414 script_write_params("old_", ip->client->active); in send_request()
1415 if (ip->client->alias) in send_request()
1416 script_write_params("alias_", ip->client->alias); in send_request()
1422 if (ip->client->alias) in send_request()
1423 script_write_params("alias_", ip->client->alias); in send_request()
1426 ip->client->state = S_INIT; in send_request()
1432 if (!ip->client->interval) in send_request()
1433 ip->client->interval = ip->client->config->initial_interval; in send_request()
1435 ip->client->interval += ((arc4random() >> 2) % in send_request()
1436 (2 * ip->client->interval)); in send_request()
1439 if (ip->client->interval > in send_request()
1440 ip->client->config->backoff_cutoff) in send_request()
1441 ip->client->interval = in send_request()
1442 ((ip->client->config->backoff_cutoff / 2) + in send_request()
1443 ((arc4random() >> 2) % ip->client->interval)); in send_request()
1447 if (ip->client->state != S_REQUESTING && in send_request()
1448 cur_time + ip->client->interval > in send_request()
1449 ip->client->active->expiry) in send_request()
1450 ip->client->interval = in send_request()
1451 ip->client->active->expiry - cur_time + 1; in send_request()
1455 if (ip->client->state == S_REQUESTING || in send_request()
1456 ip->client->state == S_REBOOTING || in send_request()
1457 cur_time > ip->client->active->rebind) in send_request()
1460 memcpy(&to.s_addr, ip->client->destination.iabuf, in send_request()
1463 if (ip->client->state != S_REQUESTING) in send_request()
1464 memcpy(&from, ip->client->active->address.iabuf, in send_request()
1470 if (ip->client->state == S_REQUESTING) in send_request()
1471 ip->client->packet.secs = ip->client->secs; in send_request()
1474 ip->client->packet.secs = htons(interval); in send_request()
1476 ip->client->packet.secs = htons(65535); in send_request()
1483 send_packet_unpriv(privfd, &ip->client->packet, in send_request()
1484 ip->client->packet_length, from, to); in send_request()
1486 add_timeout(cur_time + ip->client->interval, send_request, ip); in send_request()
1498 send_packet_unpriv(privfd, &ip->client->packet, in send_decline()
1499 ip->client->packet_length, inaddr_any, inaddr_broadcast); in send_decline()
1512 memset(&ip->client->packet, 0, sizeof(ip->client->packet)); in make_discover()
1525 options[i]->value = ip->client->config->requested_options; in make_discover()
1526 options[i]->len = ip->client->config->requested_option_count; in make_discover()
1528 ip->client->config->requested_option_count; in make_discover()
1533 ip->client->requested_address = lease->address; in make_discover()
1541 ip->client->requested_address.len = 0; in make_discover()
1546 ip->client->config->send_options[i].data) { in make_discover()
1549 ip->client->config->send_options[i].data; in make_discover()
1551 ip->client->config->send_options[i].len; in make_discover()
1553 ip->client->config->send_options[i].len; in make_discover()
1589 ip->client->packet_length = cons_options(NULL, &ip->client->packet, 0, in make_discover()
1591 if (ip->client->packet_length < BOOTP_MIN_LEN) in make_discover()
1592 ip->client->packet_length = BOOTP_MIN_LEN; in make_discover()
1594 ip->client->packet.op = BOOTREQUEST; in make_discover()
1595 ip->client->packet.htype = ip->hw_address.htype; in make_discover()
1596 ip->client->packet.hlen = ip->hw_address.hlen; in make_discover()
1597 ip->client->packet.hops = 0; in make_discover()
1598 ip->client->packet.xid = arc4random(); in make_discover()
1599 ip->client->packet.secs = 0; /* filled in by send_discover. */ in make_discover()
1600 ip->client->packet.flags = 0; in make_discover()
1602 memset(&(ip->client->packet.ciaddr), in make_discover()
1603 0, sizeof(ip->client->packet.ciaddr)); in make_discover()
1604 memset(&(ip->client->packet.yiaddr), in make_discover()
1605 0, sizeof(ip->client->packet.yiaddr)); in make_discover()
1606 memset(&(ip->client->packet.siaddr), in make_discover()
1607 0, sizeof(ip->client->packet.siaddr)); in make_discover()
1608 memset(&(ip->client->packet.giaddr), in make_discover()
1609 0, sizeof(ip->client->packet.giaddr)); in make_discover()
1610 memcpy(ip->client->packet.chaddr, in make_discover()
1624 memset(&ip->client->packet, 0, sizeof(ip->client->packet)); in make_request()
1637 options[i]->value = ip->client->config->requested_options; in make_request()
1638 options[i]->len = ip->client->config->requested_option_count; in make_request()
1640 ip->client->config->requested_option_count; in make_request()
1645 if (ip->client->state == S_REQUESTING) { in make_request()
1654 if (ip->client->state == S_REQUESTING || in make_request()
1655 ip->client->state == S_REBOOTING) { in make_request()
1656 ip->client->requested_address = lease->address; in make_request()
1664 ip->client->requested_address.len = 0; in make_request()
1669 ip->client->config->send_options[i].data) { in make_request()
1672 ip->client->config->send_options[i].data; in make_request()
1674 ip->client->config->send_options[i].len; in make_request()
1676 ip->client->config->send_options[i].len; in make_request()
1712 ip->client->packet_length = cons_options(NULL, &ip->client->packet, 0, in make_request()
1714 if (ip->client->packet_length < BOOTP_MIN_LEN) in make_request()
1715 ip->client->packet_length = BOOTP_MIN_LEN; in make_request()
1717 ip->client->packet.op = BOOTREQUEST; in make_request()
1718 ip->client->packet.htype = ip->hw_address.htype; in make_request()
1719 ip->client->packet.hlen = ip->hw_address.hlen; in make_request()
1720 ip->client->packet.hops = 0; in make_request()
1721 ip->client->packet.xid = ip->client->xid; in make_request()
1722 ip->client->packet.secs = 0; /* Filled in by send_request. */ in make_request()
1726 if (ip->client->state == S_BOUND || in make_request()
1727 ip->client->state == S_RENEWING || in make_request()
1728 ip->client->state == S_REBINDING) { in make_request()
1729 memcpy(&ip->client->packet.ciaddr, in make_request()
1731 ip->client->packet.flags = 0; in make_request()
1733 memset(&ip->client->packet.ciaddr, 0, in make_request()
1734 sizeof(ip->client->packet.ciaddr)); in make_request()
1735 ip->client->packet.flags = 0; in make_request()
1738 memset(&ip->client->packet.yiaddr, 0, in make_request()
1739 sizeof(ip->client->packet.yiaddr)); in make_request()
1740 memset(&ip->client->packet.siaddr, 0, in make_request()
1741 sizeof(ip->client->packet.siaddr)); in make_request()
1742 memset(&ip->client->packet.giaddr, 0, in make_request()
1743 sizeof(ip->client->packet.giaddr)); in make_request()
1744 memcpy(ip->client->packet.chaddr, in make_request()
1758 memset(&ip->client->packet, 0, sizeof(ip->client->packet)); in make_decline()
1786 if (ip->client->config->send_options[i].len) { in make_decline()
1788 options[i]->value = ip->client->config->send_options[i].data; in make_decline()
1789 options[i]->len = ip->client->config->send_options[i].len; in make_decline()
1790 options[i]->buf_size = ip->client->config->send_options[i].len; in make_decline()
1796 ip->client->packet_length = cons_options(NULL, &ip->client->packet, 0, in make_decline()
1798 if (ip->client->packet_length < BOOTP_MIN_LEN) in make_decline()
1799 ip->client->packet_length = BOOTP_MIN_LEN; in make_decline()
1801 ip->client->packet.op = BOOTREQUEST; in make_decline()
1802 ip->client->packet.htype = ip->hw_address.htype; in make_decline()
1803 ip->client->packet.hlen = ip->hw_address.hlen; in make_decline()
1804 ip->client->packet.hops = 0; in make_decline()
1805 ip->client->packet.xid = ip->client->xid; in make_decline()
1806 ip->client->packet.secs = 0; /* Filled in by send_request. */ in make_decline()
1807 ip->client->packet.flags = 0; in make_decline()
1810 memset(&ip->client->packet.ciaddr, 0, in make_decline()
1811 sizeof(ip->client->packet.ciaddr)); in make_decline()
1812 memset(&ip->client->packet.yiaddr, 0, in make_decline()
1813 sizeof(ip->client->packet.yiaddr)); in make_decline()
1814 memset(&ip->client->packet.siaddr, 0, in make_decline()
1815 sizeof(ip->client->packet.siaddr)); in make_decline()
1816 memset(&ip->client->packet.giaddr, 0, in make_decline()
1817 sizeof(ip->client->packet.giaddr)); in make_decline()
1818 memcpy(ip->client->packet.chaddr, in make_decline()
1865 for (lp = ifi->client->leases; lp; lp = lp->next) in rewrite_client_leases()
1867 if (ifi->client->active) in rewrite_client_leases()
1868 write_client_lease(ifi, ifi->client->active, 1); in rewrite_client_leases()
1982 ip->client->scriptEnvsize = 100; in priv_script_init()
1983 if (ip->client->scriptEnv == NULL) in priv_script_init()
1984 ip->client->scriptEnv = in priv_script_init()
1985 malloc(ip->client->scriptEnvsize * sizeof(char *)); in priv_script_init()
1986 if (ip->client->scriptEnv == NULL) in priv_script_init()
1989 ip->client->scriptEnv[0] = strdup(CLIENT_PATH); in priv_script_init()
1990 if (ip->client->scriptEnv[0] == NULL) in priv_script_init()
1993 ip->client->scriptEnv[1] = NULL; in priv_script_init()
1995 script_set_env(ip->client, "", "interface", ip->name); in priv_script_init()
1998 script_set_env(ip->client, "", "medium", medium); in priv_script_init()
2000 script_set_env(ip->client, "", "reason", reason); in priv_script_init()
2012 script_set_env(ip->client, prefix, "ip_address", in priv_script_write_params()
2015 if (ip->client->config->default_actions[DHO_SUBNET_MASK] == in priv_script_write_params()
2017 dp = ip->client->config->defaults[DHO_SUBNET_MASK].data; in priv_script_write_params()
2018 len = ip->client->config->defaults[DHO_SUBNET_MASK].len; in priv_script_write_params()
2030 script_set_env(ip->client, prefix, "network_number", in priv_script_write_params()
2035 script_set_env(ip->client, prefix, in priv_script_write_params()
2043 script_set_env(ip->client, prefix, "filename", lease->filename); in priv_script_write_params()
2045 script_set_env(ip->client, prefix, "server_name", in priv_script_write_params()
2050 if (ip->client->config->defaults[i].len) { in priv_script_write_params()
2053 ip->client->config->default_actions[i]) { in priv_script_write_params()
2060 dp = ip->client-> in priv_script_write_params()
2062 len = ip->client-> in priv_script_write_params()
2066 len = ip->client-> in priv_script_write_params()
2077 ip->client-> in priv_script_write_params()
2079 ip->client-> in priv_script_write_params()
2081 memcpy(dp + ip->client-> in priv_script_write_params()
2094 len = ip->client-> in priv_script_write_params()
2111 ip->client-> in priv_script_write_params()
2113 ip->client-> in priv_script_write_params()
2119 dp = ip->client-> in priv_script_write_params()
2121 len = ip->client-> in priv_script_write_params()
2135 script_set_env(ip->client, prefix, name, in priv_script_write_params()
2140 script_set_env(ip->client, prefix, "expiry", tbuf); in priv_script_write_params()
2238 scriptName = ip->client->config->script_name; in priv_script_go()
2239 envp = ip->client->scriptEnv; in priv_script_go()
2269 script_flush_env(ip->client); in priv_script_go()
2275 script_set_env(struct client_state *client, const char *prefix, in script_set_env() argument
2282 for (i = 0; client->scriptEnv[i]; i++) in script_set_env()
2283 if (strncmp(client->scriptEnv[i], name, namelen) == 0 && in script_set_env()
2284 client->scriptEnv[i][namelen] == '=') in script_set_env()
2287 if (client->scriptEnv[i]) in script_set_env()
2289 free(client->scriptEnv[i]); in script_set_env()
2292 if (i >= client->scriptEnvsize - 1) { in script_set_env()
2294 int newscriptEnvsize = client->scriptEnvsize + 50; in script_set_env()
2296 newscriptEnv = realloc(client->scriptEnv, in script_set_env()
2299 free(client->scriptEnv); in script_set_env()
2300 client->scriptEnv = NULL; in script_set_env()
2301 client->scriptEnvsize = 0; in script_set_env()
2304 client->scriptEnv = newscriptEnv; in script_set_env()
2305 client->scriptEnvsize = newscriptEnvsize; in script_set_env()
2309 client->scriptEnv[i + 1] = NULL; in script_set_env()
2312 client->scriptEnv[i] = malloc(strlen(prefix) + strlen(name) + 1 + in script_set_env()
2314 if (client->scriptEnv[i] == NULL) in script_set_env()
2326 snprintf(client->scriptEnv[i], strlen(prefix) + strlen(name) + in script_set_env()
2331 script_flush_env(struct client_state *client) in script_flush_env() argument
2335 for (i = 0; client->scriptEnv[i]; i++) { in script_flush_env()
2336 free(client->scriptEnv[i]); in script_flush_env()
2337 client->scriptEnv[i] = NULL; in script_flush_env()
2339 client->scriptEnvsize = 0; in script_flush_env()