Patch follows: *** dhcp.c-virgin Tue Feb 15 22:59:11 2000 --- dhcp.c Thu Jul 27 13:44:13 2000 *************** *** 1188,1193 **** --- 1188,1197 ---- initVendorCodes(&breq); + /* some servers require this as first option //pessi */ + messageType = DHCP_TYPE_DISCOVER; + addVendorCode(&breq, DHCP_OPTION_TYPE, 1, &messageType); + aShort = ntohs(sizeof(struct bootpRequest)); addVendorCode(&breq, DHCP_OPTION_MAXSIZE, 2, &aShort); *************** *** 1205,1210 **** --- 1209,1215 ---- optionsRequested[numOptions++] = DHCP_OPTION_XDMSRVS; addVendorCode(&breq, DHCP_OPTION_OPTIONREQ, numOptions, optionsRequested); + breq.id++; /* new request, new id //pessi */ if (!reqHostname) { reqHostname = alloca(200); *************** *** 1225,1233 **** protoReq = breq; syslog (LOG_DEBUG, "PUMP: sending second discover"); - - messageType = DHCP_TYPE_DISCOVER; - addVendorCode(&breq, DHCP_OPTION_TYPE, 1, &messageType); /* Send another DHCP_REQUEST with the proper option list */ if ((chptr = handleTransaction(s, override, &breq, &bresp, --- 1230,1235 ----
Applied for pump-0.8. Thank you for finding this.