From owner-freebsd-ports-bugs@FreeBSD.ORG Sat Apr 27 17:30:01 2013 Return-Path: Delivered-To: freebsd-ports-bugs@smarthost.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 41FDBB47 for ; Sat, 27 Apr 2013 17:30:01 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 246F61282 for ; Sat, 27 Apr 2013 17:30:01 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.6/8.14.6) with ESMTP id r3RHU1Ea024238 for ; Sat, 27 Apr 2013 17:30:01 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.6/8.14.6/Submit) id r3RHU0m3024237; Sat, 27 Apr 2013 17:30:00 GMT (envelope-from gnats) Resent-Date: Sat, 27 Apr 2013 17:30:00 GMT Resent-Message-Id: <201304271730.r3RHU0m3024237@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Rodrigo (ros) OSORIO Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 8B19E6E7 for ; Sat, 27 Apr 2013 17:21:08 +0000 (UTC) (envelope-from rodrigo@bebik.net) Received: from smtp3-g21.free.fr (smtp3-g21.free.fr [IPv6:2a01:e0c:1:1599::12]) by mx1.freebsd.org (Postfix) with ESMTP id 26CD71232 for ; Sat, 27 Apr 2013 17:21:06 +0000 (UTC) Received: from sisko.workgroup (unknown [82.227.164.69]) by smtp3-g21.free.fr (Postfix) with ESMTP id E9F2FA6251 for ; Sat, 27 Apr 2013 19:21:00 +0200 (CEST) Received: from sisko.workgroup (localhost [127.0.0.1]) by sisko.workgroup (8.14.5/8.14.5) with ESMTP id r3RHKxPi005065 for ; Sat, 27 Apr 2013 19:20:59 +0200 (CEST) (envelope-from rodrigo@sisko.workgroup) Received: (from rodrigo@localhost) by sisko.workgroup (8.14.5/8.14.5/Submit) id r3RHKw6n005064; Sat, 27 Apr 2013 19:20:59 +0200 (CEST) (envelope-from rodrigo) Message-Id: <201304271720.r3RHKw6n005064@sisko.workgroup> Date: Sat, 27 Apr 2013 19:20:59 +0200 (CEST) From: Rodrigo (ros) OSORIO To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.113 Subject: ports/178200: dns/dualserver port update to 7.01 X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: "Rodrigo OSORIO \(ros\)" List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 27 Apr 2013 17:30:01 -0000 >Number: 178200 >Category: ports >Synopsis: dns/dualserver port update to 7.01 >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: maintainer-update >Submitter-Id: current-users >Arrival-Date: Sat Apr 27 17:30:00 UTC 2013 >Closed-Date: >Last-Modified: >Originator: Rodrigo (ros) OSORIO >Release: FreeBSD 9.0-RELEASE amd64 >Organization: >Environment: System: FreeBSD sisko 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Tue Jan 3 07:46:30 UTC 2012 root@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64 >Description: Update dualserver to 7.01 - Subnet Selection can now be manually configured - Target Relay Agent can be overridden - HTTP Interface can be restricted - new DHCP/DNS features >How-To-Repeat: >Fix: --- dualserver.patch begins here --- Index: Makefile =================================================================== --- Makefile (revision 316316) +++ Makefile (working copy) @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= dualserver -PORTVERSION= 6.94 +PORTVERSION= 7.01 CATEGORIES= dns net MASTER_SITES= SF/dhcp-dns-server/Dual%20DHCP%20DNS%20Server/ DISTNAME= ${PORTNAME}V${PORTVERSION} Index: distinfo =================================================================== --- distinfo (revision 316316) +++ distinfo (working copy) @@ -1,2 +1,2 @@ -SHA256 (dualserverV6.94.tar.gz) = 3007e6508eb95d06f3c8764951ff6d3276733409e2119f6299c9485060b9445c -SIZE (dualserverV6.94.tar.gz) = 796893 +SHA256 (dualserverV7.01.tar.gz) = 8e074eb0f97ed5ce60d3f9227633339678619b70f7b4e5c85702de13650441db +SIZE (dualserverV7.01.tar.gz) = 137779 Index: files/patch-dualserverd.cpp =================================================================== --- files/patch-dualserverd.cpp (revision 316316) +++ files/patch-dualserverd.cpp (working copy) @@ -1,5 +1,5 @@ ---- dualserverd.cpp 2012-11-09 17:02:36.000000000 +0100 -+++ dualserverd.cpp 2012-11-12 13:17:25.000000000 +0100 +--- dualserverd.cpp 2013-04-21 04:24:14.000000000 +0200 ++++ dualserverd.cpp 2013-04-27 18:44:05.000000000 +0200 @@ -22,10 +22,16 @@ #include #include @@ -27,28 +27,31 @@ using namespace std; #include "dualserverd.h" -@@ -84,7 +93,11 @@ - const char send200[] = "HTTP/1.1 200 OK\r\nDate: %s\r\nLast-Modified: %s\r\nContent-Type: text/html\r\nConnection: Close\r\nContent-Length: \r\n\r\n"; +@@ -88,7 +97,11 @@ //const char send200[] = "HTTP/1.1 200 OK\r\nDate: %s\r\nLast-Modified: %s\r\nContent-Type: text/html\r\nConnection: Close\r\nTransfer-Encoding: chunked\r\n"; const char line200[] = "%s"; + const char send403[] = "HTTP/1.1 403 Forbidden\r\n\r\n

Forbidden

"; +#ifdef __FreeBSD__ +const char sVersion[] = "Dual DHCP DNS Server Version 6.94 for FreeBSD"; +#else - const char sVersion[] = "Dual DHCP DNS Server Version 6.94 Linux Build 7011"; + const char sVersion[] = "Dual DHCP DNS Server Version 7.01 Linux Build 7018"; +#endif + const char toprow[] = "
%s
http://dhcp-dns-server.sourceforge.net
"; const data4 opData[] = { - { "SubnetMask", DHCP_OPTION_NETMASK, 3 }, -@@ -261,7 +274,7 @@ +@@ -266,7 +279,11 @@ strcpy(leaFile, "/tmp/dualserver.state"); if (!iniFile[0]) -- strcpy(iniFile, "/etc/dualserver.ini"); ++#ifdef __FreeBSD__ + strcpy(iniFile, "/usr/local/etc/dualserver.conf"); ++#else + strcpy(iniFile, "/etc/dualserver.ini"); ++#endif - if (verbatim) - { -@@ -4002,7 +4015,13 @@ + strcpy(filePATH, iniFile); + +@@ -4121,7 +4138,13 @@ else if (req->dhcpp.header.bp_broadcast || !req->remote.sin_addr.s_addr || req->reqIP) { req->remote.sin_port = htons(IPPORT_DHCPC); @@ -59,13 +62,14 @@ +#else req->remote.sin_addr.s_addr = INADDR_BROADCAST; +#endif - req->dhcpp.header.bp_broadcast = 1; } else -@@ -8983,6 +9002,10 @@ + { +@@ -9371,6 +9394,11 @@ newNetwork.dhcpConn[i].broadCastSize = sizeof(newNetwork.dhcpConn[i].broadCastVal); setsockopt(newNetwork.dhcpConn[i].sock, SOL_SOCKET, SO_BROADCAST, (char*)&newNetwork.dhcpConn[i].broadCastVal, newNetwork.dhcpConn[i].broadCastSize); ++ +#ifdef __FreeBSD__ + // See man ip + setsockopt(newNetwork.dhcpConn[i].sock,IPPROTO_IP, IP_ONESBCAST,(char*)&newNetwork.dhcpConn[i].broadCastVal, newNetwork.dhcpConn[i].broadCastSize); @@ -73,7 +77,7 @@ int nRet = bind(newNetwork.dhcpConn[i].sock, (sockaddr*)&newNetwork.dhcpConn[i].addr, sizeof(struct sockaddr_in)); if (nRet == SOCKET_ERROR) -@@ -9034,7 +9057,11 @@ +@@ -9422,7 +9450,11 @@ setsockopt(newNetwork.dhcpListener.sock, SOL_SOCKET, SO_REUSEADDR, (char*)&newNetwork.dhcpListener.reUseVal, newNetwork.dhcpListener.reUseSize); newNetwork.dhcpListener.pktinfoVal = true; newNetwork.dhcpListener.pktinfoSize = sizeof(newNetwork.dhcpListener.pktinfoVal); @@ -85,33 +89,20 @@ newNetwork.dhcpListener.addr.sin_family = AF_INET; newNetwork.dhcpListener.addr.sin_addr.s_addr = INADDR_ANY; -@@ -9496,8 +9523,11 @@ +@@ -10064,6 +10096,12 @@ - if (addr && !(flags & IFF_LOOPBACK)) - addServer(network->allServers, addr); -- -+#ifdef __FreeBSD__ -+ if (addr && mask && !(flags & IFF_POINTOPOINT) && !(flags & IFF_LOOPBACK)) -+#else - if (addr && mask && !(flags & IFF_POINTOPOINT) && !(flags & IFF_LOOPBACK) && !(flags & IFF_DYNAMIC)) -+#endif - { - if ((flags & IFF_RUNNING) && (flags & IFF_UP)) - { -@@ -9656,6 +9686,12 @@ - MYWORD gdmess(data9 *req, MYBYTE sockInd) { +#ifdef __FreeBSD__ -+ struct cmsghdr *cmsg; -+ struct sockaddr_dl * isdl; -+ struct sockaddr_in *isin; -+ struct ifaddrs *ifap, *ifa; ++ struct cmsghdr *cmsg; ++ struct sockaddr_dl * isdl; ++ struct sockaddr_in *isin; ++ struct ifaddrs *ifap, *ifa; +#endif //sprintf(logBuff, "Socket=%u", sockInd); //logDHCPMess(logBuff, 1); memset(req, 0, sizeof(data9)); -@@ -9671,7 +9707,11 @@ +@@ -10079,7 +10117,11 @@ req->msg.msg_name = &req->remote; req->msg.msg_namelen = sizeof(sockaddr_in); req->msg.msg_control = &req->msgcontrol; @@ -123,7 +114,7 @@ req->msg.msg_flags = msgflags; int flags = 0; -@@ -9680,6 +9720,45 @@ +@@ -10088,6 +10130,45 @@ if (errno || req->bytes <= 0) return 0; @@ -169,7 +160,15 @@ //printf("%u\n", req->msg.msg_controllen); //msgcontrol = (msg_control*)msg.msg_control; -@@ -9711,6 +9790,7 @@ +@@ -10101,7 +10182,6 @@ + //printf("LADDR = %s\n", inet_ntoa(req->msgcontrol.pktinfo.ipi_addr)); + //printf("RADDR = %s\n", inet_ntoa(req->msgcontrol. pktinfo.ipi_spec_dst)); + +- + MYDWORD addr = req->msgcontrol.pktinfo.ipi_spec_dst.s_addr; + + //printf("%s\n",IP2String(tempbuff, addr)); +@@ -10119,6 +10199,7 @@ break; } } Index: files/patch-dualserverd.h =================================================================== --- files/patch-dualserverd.h (revision 316316) +++ files/patch-dualserverd.h (working copy) @@ -1,41 +1,34 @@ ---- dualserverd.h 2012-11-09 15:45:52.000000000 +0100 -+++ dualserverd.h 2012-11-09 15:55:00.000000000 +0100 -@@ -52,9 +52,11 @@ - #define INADDR_NONE ULONG_MAX - #endif +--- dualserverd.h 2013-04-21 03:13:15.000000000 +0200 ++++ dualserverd.h 2013-04-27 18:55:24.000000000 +0200 +@@ -614,10 +614,19 @@ -+#ifndef __FreeBSD__ - #ifndef IFF_DYNAMIC - #define IFF_DYNAMIC 0x8000 - #endif -+#endif - - #define MYWORD unsigned short - #define MYBYTE unsigned char -@@ -594,10 +596,15 @@ - struct msg_control { -- ulong cmsg_len; -+ u_long cmsg_len; ++#ifdef __FreeBSD__ ++ u_long cmsg_len; ++#else + ulong cmsg_len; ++#endif int cmsg_level; int cmsg_type; -- in_pktinfo pktinfo; -+ #ifdef __FreeBSD__ ++#ifdef __FreeBSD__ + // Arbitrary size, when the size is required we use sizeof + unsigned char pktinfo[100]; -+ #else -+ in_pktinfo pktinfo; -+ #endif ++#else + in_pktinfo pktinfo; ++#endif }; #if defined(__hppa__) || \ -@@ -713,7 +720,7 @@ +@@ -735,7 +744,11 @@ union { int broadCastVal; -- bool pktinfoVal; -+ int pktinfoVal; ++#ifdef __FreeBSD__ ++ int pktinfoVal; ++#else + bool pktinfoVal; ++#endif }; union { --- dualserver.patch ends here --- >Release-Note: >Audit-Trail: >Unformatted: