ports/178200: dns/dualserver port update to 7.01
Rodrigo OSORIO (ros)
rodrigo at bebik.net
Sat Apr 27 17:30:01 UTC 2013
>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 at 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 <math.h>
#include <sys/types.h>
@@ -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[] = "<td>%s</td>";
+ const char send403[] = "HTTP/1.1 403 Forbidden\r\n\r\n<h1>Forbidden</h1>";
+#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[] = "<body bgcolor=\"#cccccc\"><table width=640><tr><td align=\"center\"><font size=\"5\"><b>%s</b></font></td></tr><tr><td align=\"right\"><a target=\"_new\" href=\"http://dhcp-dns-server.sourceforge.net\">http://dhcp-dns-server.sourceforge.net</td></tr></table>";
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:
More information about the freebsd-ports-bugs
mailing list