[monitoring-plugins] check_dhcp: Don't peek before reading response

Holger Weiss <[email protected]>
Newsgroups gmane.network.nagios.cvs
Message-ID <20160914100027.345DB200837D__7229.73506567559$1473847249$gmane$org@orwell.monitoring-plugins.org>
 Module: monitoring-plugins
 Branch: master
 Commit: 99f5be29927de6863849441b8af4b794033cc8bd
 Author: Holger Weiss <[email protected]>
   Date: Wed Sep 14 11:57:31 2016 +0200
    URL: https://www.monitoring-plugins.org/repositories/monitoring-plugins/commit/?id=99f5be2

check_dhcp: Don't peek before reading response

Omit a recvfrom(3) call which has the MSG_PEEK flag set and should have
no effect at all.  According to a comment in the code, this call was
meant to be a workaround to an opaque issue.  If anyone runs into that
issue, we should fix it properly instead.

---

 plugins-root/check_dhcp.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/plugins-root/check_dhcp.c b/plugins-root/check_dhcp.c
index d8afb17..445ddbc 100644
--- a/plugins-root/check_dhcp.c
+++ b/plugins-root/check_dhcp.c
@@ -692,17 +692,11 @@ int receive_dhcp_packet(void *buffer, int buffer_size, int sock, int timeout, st
                 }
 
         else{
-
-		/* why do we need to peek first?  i don't know, its a hack.  without it, the source address of the first packet received was
-		   not being interpreted correctly.  sigh... */
 		bzero(&source_address,sizeof(source_address));
 		address_size=sizeof(source_address);
                 recv_result=recvfrom(sock,(char *)buffer,buffer_size,MSG_PEEK,(struct sockaddr *)&source_address,&address_size);
 		if(verbose)
-			printf("recv_result_1: %d\n",recv_result);
-                recv_result=recvfrom(sock,(char *)buffer,buffer_size,0,(struct sockaddr *)&source_address,&address_size);
-		if(verbose)
-			printf("recv_result_2: %d\n",recv_result);
+			printf("recv_result: %d\n",recv_result);
 
                 if(recv_result==-1){
 			if(verbose){
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.