found sollution
i modify a file but i don't know how make a patch
+++ src/dhcp_probe.c 2013-05-23 12:01:00.927000081 +0300
@@ -708,6 +708,7 @@
int isYiaddrInLeaseNetworksOfConcern = 0; /* boolean */
char yiaddr_network_of_concern_addenda[STR_MAXLEN];
int isLegalServer; /* boolean */
+ int isLegalServermac; /* boolean */
/* fields parsed out from packet*/
struct ether_addr ether_dhost, ether_shost;
@@ -836,6 +837,7 @@
/* Determine if the response is from an expected server. */ isLegalServer = 1; /* start by assuming it is expected. */
+ isLegalServermac = 1; /* start by assuming it is expected. */
if (!isLegalServersMember(&ip_src)) {
if (debug > 10)
@@ -846,10 +848,10 @@
if (!isLegalServerEthersrcsMember(ðer_shost)) {
if (debug > 10) report(LOG_DEBUG, " ether_shost %s is not a legal server", ether_shost_str);
- isLegalServer = 0;
+ isLegalServermac = 0;
}
- if (isLegalServer) {
+ if (isLegalServer || isLegalServermac) {
if (debug > 10) report(LOG_DEBUG, " this is a legal server, ignoring"); return;
found sollution NetworksOfConce rn = 0; /* boolean */ network_ of_concern_ addenda[ STR_MAXLEN] ;
i modify a file but i don't know how make a patch
+++ src/dhcp_probe.c 2013-05-23 12:01:00.927000081 +0300
@@ -708,6 +708,7 @@
int isYiaddrInLease
char yiaddr_
int isLegalServer; /* boolean */
+ int isLegalServermac; /* boolean */
/* fields parsed out from packet*/
struct ether_addr ether_dhost, ether_shost;
@@ -836,6 +837,7 @@
/* Determine if the response is from an expected server. */
isLegalServer = 1; /* start by assuming it is expected. */
+ isLegalServermac = 1; /* start by assuming it is expected. */
if (!isLegalServer sMember( &ip_src) ) { EthersrcsMember (ðer_ shost)) {
report( LOG_DEBUG, " ether_shost %s is not a legal server", ether_shost_str);
if (debug > 10)
@@ -846,10 +848,10 @@
if (!isLegalServer
if (debug > 10)
- isLegalServer = 0;
+ isLegalServermac = 0;
}
- if (isLegalServer) {
report( LOG_DEBUG, " this is a legal server, ignoring");
return;
+ if (isLegalServer || isLegalServermac) {
if (debug > 10)