- if (packet->op == BOOTREQUEST) {
- vendor = udhcp_get_option(packet, DHCP_VENDOR);
- if (vendor) {
-#if 0
- static const char broken_vendors[][8] = {
- "MSFT 98",
- ""
- };
- int i;
- for (i = 0; broken_vendors[i][0]; i++) {
- if (vendor[OPT_LEN - OPT_DATA] == (uint8_t)strlen(broken_vendors[i])
- && strncmp((char*)vendor, broken_vendors[i], vendor[OPT_LEN - OPT_DATA]) == 0
- ) {
- log1("Broken client (%s), forcing broadcast replies",
- broken_vendors[i]);
- packet->flags |= htons(BROADCAST_FLAG);
- }
- }
-#else
- if (vendor[OPT_LEN - OPT_DATA] == (uint8_t)(sizeof("MSFT 98")-1)
- && memcmp(vendor, "MSFT 98", sizeof("MSFT 98")-1) == 0
- ) {
- log1("Broken client (%s), forcing broadcast replies", "MSFT 98");
- packet->flags |= htons(BROADCAST_FLAG);
- }
-#endif
- }
- }
-