Lines Matching refs:lease
125 struct dhcp_lease *ltmp, *lease = NULL; in dhcp_reply() local
259 lease = lease_find_by_client(mess->chaddr, mess->hlen, mess->htype, clid, clid_len); in dhcp_reply()
263 if (lease && !clid && lease->clid) in dhcp_reply()
265 clid_len = lease->clid_len; in dhcp_reply()
266 clid = lease->clid; in dhcp_reply()
429 if ((lease = lease_find_by_addr(config->addr)) && in dhcp_reply()
430 (lease->hwaddr_len != mess->hlen || in dhcp_reply()
431 lease->hwaddr_type != mess->htype || in dhcp_reply()
432 memcmp(lease->hwaddr, mess->chaddr, lease->hwaddr_len) != 0)) in dhcp_reply()
437 if (!(lease = lease_find_by_client(mess->chaddr, mess->hlen, mess->htype, NULL, 0)) || in dhcp_reply()
438 !address_available(context, lease->addr, netid)) in dhcp_reply()
440 if (lease) in dhcp_reply()
443 lease_prune(lease, now); in dhcp_reply()
444 lease = NULL; in dhcp_reply()
450 mess->yiaddr = lease->addr; in dhcp_reply()
471 !lease && in dhcp_reply()
472 (!(lease = lease_allocate(mess->yiaddr)))) in dhcp_reply()
479 lease_set_hwaddr(lease, mess->chaddr, NULL, mess->hlen, mess->htype, 0); in dhcp_reply()
481 lease_set_hostname(lease, hostname, 1); in dhcp_reply()
483 lease_set_expires(lease, in dhcp_reply()
486 lease_set_interface(lease, int_index); in dhcp_reply()
846 if (lease && lease->addr.s_addr == option_addr(opt).s_addr) in dhcp_reply()
847 lease_prune(lease, now); in dhcp_reply()
871 if (lease && lease->addr.s_addr == mess->ciaddr.s_addr) in dhcp_reply()
872 lease_prune(lease, now); in dhcp_reply()
900 ltmp != lease && in dhcp_reply()
927 else if (lease && in dhcp_reply()
928 address_available(context, lease->addr, netid) && in dhcp_reply()
929 !config_find_by_address(daemon->dhcp_conf, lease->addr)) in dhcp_reply()
930 mess->yiaddr = lease->addr; in dhcp_reply()
1008 if (lease && lease->addr.s_addr != mess->yiaddr.s_addr) in dhcp_reply()
1010 lease_prune(lease, now); in dhcp_reply()
1011 lease = NULL; in dhcp_reply()
1017 if (!lease && !(daemon->options & OPT_AUTHORITATIVE)) in dhcp_reply()
1020 if (lease && lease->addr.s_addr != mess->yiaddr.s_addr) in dhcp_reply()
1024 lease_prune(lease, now); in dhcp_reply()
1025 lease = NULL; in dhcp_reply()
1036 if ((lease && mess->ciaddr.s_addr != lease->addr.s_addr) || in dhcp_reply()
1037 (!lease && !(daemon->options & OPT_AUTHORITATIVE))) in dhcp_reply()
1081 (!(ltmp = lease_find_by_addr(config->addr)) || ltmp == lease)) in dhcp_reply()
1088 else if (!lease && (ltmp = lease_find_by_addr(mess->yiaddr))) in dhcp_reply()
1097 lease = ltmp; in dhcp_reply()
1108 else if (!lease) in dhcp_reply()
1110 if ((lease = lease_allocate(mess->yiaddr))) in dhcp_reply()
1141 lease->giaddr = mess->giaddr; in dhcp_reply()
1143 lease->changed = 1; in dhcp_reply()
1152 free(lease->userclass); in dhcp_reply()
1153 if ((lease->userclass = whine_malloc(len+1))) in dhcp_reply()
1155 memcpy(lease->userclass, ucp, len); in dhcp_reply()
1156 lease->userclass[len] = 0; in dhcp_reply()
1157 lease->userclass_len = len+1; in dhcp_reply()
1164 free(lease->vendorclass); in dhcp_reply()
1165 if ((lease->vendorclass = whine_malloc(len+1))) in dhcp_reply()
1167 memcpy(lease->vendorclass, ucp, len); in dhcp_reply()
1168 lease->vendorclass[len] = 0; in dhcp_reply()
1169 lease->vendorclass_len = len+1; in dhcp_reply()
1176 free(lease->supplied_hostname); in dhcp_reply()
1177 if ((lease->supplied_hostname = whine_malloc(len+1))) in dhcp_reply()
1179 memcpy(lease->supplied_hostname, ucp, len); in dhcp_reply()
1180 lease->supplied_hostname[len] = 0; in dhcp_reply()
1181 lease->supplied_hostname_len = len+1; in dhcp_reply()
1199 lease_set_hwaddr(lease, mess->chaddr, clid, mess->hlen, mess->htype, clid_len); in dhcp_reply()
1211 lease_set_hostname(lease, hostname, hostname_auth); in dhcp_reply()
1213 lease_set_expires(lease, time, now); in dhcp_reply()
1214 lease_set_interface(lease, int_index); in dhcp_reply()
1217 lease->override = override; in dhcp_reply()
1219 override = lease->override; in dhcp_reply()
1254 if (!lease && in dhcp_reply()
1255 (lease = lease_find_by_addr(mess->ciaddr)) && in dhcp_reply()
1256 lease->hostname) in dhcp_reply()
1257 hostname = lease->hostname; in dhcp_reply()
1270 if (lease) in dhcp_reply()
1273 lease->override = override; in dhcp_reply()
1275 override = lease->override; in dhcp_reply()
1282 if (lease) in dhcp_reply()
1284 if (lease->expires == 0) in dhcp_reply()
1287 time = (unsigned int)difftime(lease->expires, now); in dhcp_reply()
1289 lease_set_interface(lease, int_index); in dhcp_reply()