/* If we didn't find a lease, try to allocate one... */
if (!lease) {
nak_lease (packet);
+ return;
}
ack_lease (packet, lease, DHCPOFFER, cur_time + 120);
to.sin_addr = raw.giaddr;
/* Otherwise, broadcast it on the local network. */
else
- inet_aton ("204.254.239.255", &to.sin_addr); /* XXX bcst bug */
-/* to.sin_addr.s_addr = INADDR_BROADCAST; XXX */
+/* inet_aton ("204.254.239.2", &to.sin_addr); /* XXX bcst bug */
+ to.sin_addr.s_addr = INADDR_BROADCAST;
to.sin_port = htons (ntohs (server_port) + 1); /* XXX */
to.sin_family = AF_INET;
lt.offered_expiry = cur_time + lease_time;
if (when)
lt.ends = when;
+ else
+ lt.ends = lt.offered_expiry;
lt.timestamp = cur_time;
hardware address */
/* Otherwise, broadcast it on the local network. */
else
- inet_aton ("204.254.239.255", &to.sin_addr); /* XXX bcst bug */
-/* to.sin_addr.s_addr = INADDR_BROADCAST; XXX */
+/* inet_aton ("204.254.239.255", &to.sin_addr); /* XXX bcst bug */
+ to.sin_addr.s_addr = INADDR_BROADCAST;
to.sin_port = htons (ntohs (server_port) + 1); /* XXX */
to.sin_family = AF_INET;
/* If we didn't find a lease, try to allocate one... */
if (!lease) {
nak_lease (packet);
+ return;
}
ack_lease (packet, lease, DHCPOFFER, cur_time + 120);
to.sin_addr = raw.giaddr;
/* Otherwise, broadcast it on the local network. */
else
- inet_aton ("204.254.239.255", &to.sin_addr); /* XXX bcst bug */
-/* to.sin_addr.s_addr = INADDR_BROADCAST; XXX */
+/* inet_aton ("204.254.239.2", &to.sin_addr); /* XXX bcst bug */
+ to.sin_addr.s_addr = INADDR_BROADCAST;
to.sin_port = htons (ntohs (server_port) + 1); /* XXX */
to.sin_family = AF_INET;
lt.offered_expiry = cur_time + lease_time;
if (when)
lt.ends = when;
+ else
+ lt.ends = lt.offered_expiry;
lt.timestamp = cur_time;
hardware address */
/* Otherwise, broadcast it on the local network. */
else
- inet_aton ("204.254.239.255", &to.sin_addr); /* XXX bcst bug */
-/* to.sin_addr.s_addr = INADDR_BROADCAST; XXX */
+/* inet_aton ("204.254.239.255", &to.sin_addr); /* XXX bcst bug */
+ to.sin_addr.s_addr = INADDR_BROADCAST;
to.sin_port = htons (ntohs (server_port) + 1); /* XXX */
to.sin_family = AF_INET;