Просмотр исходного кода

Don't try to set the "SO_BROADCAST" socket option for unicast requests.
(Also, removed the unused "DHCP_UNICAST_FLAG" macro.)


git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@2018 f882894a-f735-0410-b71e-b25c423dba1c

Holger Weiss 17 лет назад
Родитель
Сommit
830f3cc38a
1 измененных файлов с 1 добавлено и 2 удалено
  1. 1 2
      plugins-root/check_dhcp.c

+ 1 - 2
plugins-root/check_dhcp.c

@@ -195,7 +195,6 @@ typedef struct requested_server_struct{
 #define DHCP_INFINITE_TIME              0xFFFFFFFF
 
 #define DHCP_BROADCAST_FLAG 32768
-#define DHCP_UNICAST_FLAG   0
 
 #define DHCP_SERVER_PORT   67
 #define DHCP_CLIENT_PORT   68
@@ -767,7 +766,7 @@ int create_dhcp_socket(void){
 	        }
 
         /* set the broadcast option - we need this to listen to DHCP broadcast messages */
-        if(setsockopt(sock,SOL_SOCKET,SO_BROADCAST,(char *)&flag,sizeof flag)<0){
+        if(!unicast && setsockopt(sock,SOL_SOCKET,SO_BROADCAST,(char *)&flag,sizeof flag)<0){
 		printf(_("Error: Could not set broadcast option on DHCP socket!\n"));
 		exit(STATE_UNKNOWN);
 	        }