• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/ap/gpl/dnsmasq-2.15/src/

Lines Matching refs:lease

29   struct dhcp_lease *lease;
42 /* a+ mode lease pointer at end. */
88 if (!(lease = lease_allocate(buff2, clid_len, addr)))
91 lease->expires = expires;
92 memcpy(lease->hwaddr, hwaddr, ETHER_ADDR_LEN);
95 lease_set_hostname(lease, buff, daemon->domain_suffix);
109 struct dhcp_lease *lease;
112 for (lease = leases; lease; lease = lease->next)
113 if ((config = find_config(dhcp_configs, NULL, lease->clid, lease->clid_len, lease->hwaddr, NULL)) &&
115 lease_set_hostname(lease, config->hostname, domain);
120 struct dhcp_lease *lease;
135 for (lease = leases; lease; lease = lease->next)
138 if (lease->expires)
139 expires = (unsigned long) difftime(lease->expires, now);
144 expires = (unsigned long)lease->expires;
147 expires, lease->hwaddr[0], lease->hwaddr[1],
148 lease->hwaddr[2], lease->hwaddr[3], lease->hwaddr[4],
149 lease->hwaddr[5], inet_ntoa(lease->addr),
150 lease->hostname && strlen(lease->hostname) != 0 ? lease->hostname : "*");
152 if (lease->clid_len)
154 for (i = 0; i < lease->clid_len - 1; i++)
155 fprintf(lease_file, "%.2x:", lease->clid[i]);
156 fprintf(lease_file, "%.2x\n", lease->clid[i]);
172 struct dhcp_lease *lease;
178 for (lease = leases; lease; lease = lease->next)
180 cache_add_dhcp_entry(lease->fqdn, &lease->addr, lease->expires);
181 cache_add_dhcp_entry(lease->hostname, &lease->addr, lease->expires);
190 struct dhcp_lease *lease, *tmp, **up;
192 for (lease = leases, up = &leases; lease; lease = tmp)
194 tmp = lease->next;
195 if ((lease->expires != 0 && difftime(now, lease->expires) > 0) || lease == target)
199 *up = lease->next; /* unlink */
200 if (lease->hostname)
202 free(lease->hostname);
205 if (lease->fqdn)
206 free(lease->fqdn);
207 if (lease->clid)
208 free(lease->clid);
209 free(lease);
213 up = &lease->next;
220 struct dhcp_lease *lease;
224 for (lease = leases; lease; lease = lease->next)
225 if (lease->clid && clid_len == lease->clid_len &&
226 memcmp(clid, lease->clid, clid_len) == 0)
227 return lease;
231 for (lease = leases; lease; lease = lease->next)
232 if (memcmp(clid, lease->hwaddr, ETHER_ADDR_LEN) == 0)
233 return lease;
241 struct dhcp_lease *lease;
243 for (lease = leases; lease; lease = lease->next)
244 if (lease->addr.s_addr == addr.s_addr)
245 return lease;
253 struct dhcp_lease *lease;
254 if (!leases_left || !(lease = malloc(sizeof(struct dhcp_lease))))
257 lease->clid = NULL;
258 lease->clid_len = clid_len;
262 if (!(lease->clid = malloc(clid_len)))
264 free(lease);
267 memcpy(lease->clid, clid, clid_len);
270 lease->hostname = lease->fqdn = NULL;
271 lease->addr = addr;
272 memset(lease->hwaddr, 0, ETHER_ADDR_LEN);
273 lease->expires = 1;
275 lease->next = leases;
276 leases = lease;
282 return lease;
285 void lease_set_expires(struct dhcp_lease *lease, time_t exp)
287 if (exp != lease->expires)
290 lease->expires = exp;
293 void lease_set_hwaddr(struct dhcp_lease *lease, unsigned char *hwaddr)
295 if (memcmp(lease->hwaddr, hwaddr, ETHER_ADDR_LEN) != 0)
298 memcpy(lease->hwaddr, hwaddr, ETHER_ADDR_LEN);
302 void lease_set_hostname(struct dhcp_lease *lease, char *name, char *suffix)
307 if (lease->hostname && name && hostname_isequal(lease->hostname, name))
310 if (!name && !lease->hostname)
313 /* If a machine turns up on a new net without dropping the old lease,
315 the same name. Check for that here and remove the name from the old lease. */
342 if (lease->hostname)
343 free(lease->hostname);
344 if (lease->fqdn)
345 free(lease->fqdn);
347 lease->hostname = new_name;
348 lease->fqdn = new_fqdn;