Bug 178200 - dns/dualserver port update to 7.01
Summary: dns/dualserver port update to 7.01
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Emanuel Haupt
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-04-27 18:30 UTC by Rodrigo OSORIO
Modified: 2013-05-03 12:10 UTC (History)
0 users

See Also:


Attachments
dualserver.patch (7.46 KB, patch)
2013-04-27 18:30 UTC, Rodrigo OSORIO
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Rodrigo OSORIO 2013-04-27 18:30:00 UTC
	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
Comment 1 dfilter service freebsd_committer freebsd_triage 2013-05-03 12:05:22 UTC
Author: ehaupt
Date: Fri May  3 11:05:13 2013
New Revision: 317194
URL: http://svnweb.freebsd.org/changeset/ports/317194

Log:
  Update to 7.01
  
  PR:		178200
  Submitted by:	Rodrigo (ros) OSORIO <rodrigo@bebik.net> (maintainer)

Modified:
  head/dns/dualserver/Makefile
  head/dns/dualserver/distinfo
  head/dns/dualserver/files/patch-dualserverd.cpp
  head/dns/dualserver/files/patch-dualserverd.h

Modified: head/dns/dualserver/Makefile
==============================================================================
--- head/dns/dualserver/Makefile	Fri May  3 11:04:37 2013	(r317193)
+++ head/dns/dualserver/Makefile	Fri May  3 11:05:13 2013	(r317194)
@@ -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}
@@ -17,17 +17,13 @@ PLIST_FILES=	sbin/dualserver etc/dualser
 post-extract:
 	@${MV} ${WRKDIR}/${PORTNAME} ${WRKSRC}
 
-#pre-patch:
-#post-patch:
-#	${REINPLACE_CMD} 's|/etc/dualserver.ini|${PREFIX}/etc/dualserver.conf|' ${WRKSRC}/dualserverd.cpp
-#	${REINPLACE_CMD} 's|/etc/dualserver.state|/var/run/dualserver.state|' ${WRKSRC}/dualserverd.cpp
-
 do-build:
 	${CXX} ${CXXFLAGS} -o ${WRKSRC}/dualserver \
 		${WRKSRC}/dualserverd.cpp ${PTHREAD_LIBS}
 
 do-install:
-	${INSTALL_PROGRAM} ${WRKSRC}/dualserver ${PREFIX}/sbin
-	${INSTALL_DATA} ${WRKSRC}/dualserver.ini ${PREFIX}/etc/dualserver.conf.sample
+	${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${PREFIX}/sbin
+	${INSTALL_DATA} ${WRKSRC}/${PORTNAME}.ini \
+		${PREFIX}/etc/${PORTNAME}.conf.sample
 
 .include <bsd.port.mk>

Modified: head/dns/dualserver/distinfo
==============================================================================
--- head/dns/dualserver/distinfo	Fri May  3 11:04:37 2013	(r317193)
+++ head/dns/dualserver/distinfo	Fri May  3 11:05:13 2013	(r317194)
@@ -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

Modified: head/dns/dualserver/files/patch-dualserverd.cpp
==============================================================================
--- head/dns/dualserver/files/patch-dualserverd.cpp	Fri May  3 11:04:37 2013	(r317193)
+++ head/dns/dualserver/files/patch-dualserverd.cpp	Fri May  3 11:05:13 2013	(r317194)
@@ -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 @@
- 
- 			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 @@
+@@ -10064,6 +10096,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;
              }
          }

Modified: head/dns/dualserver/files/patch-dualserverd.h
==============================================================================
--- head/dns/dualserver/files/patch-dualserverd.h	Fri May  3 11:04:37 2013	(r317193)
+++ head/dns/dualserver/files/patch-dualserverd.h	Fri May  3 11:05:13 2013	(r317194)
@@ -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
- 
-+#ifndef __FreeBSD__
- #ifndef IFF_DYNAMIC
- #define IFF_DYNAMIC 0x8000
- #endif
-+#endif
- 
- #define MYWORD unsigned short
- #define MYBYTE unsigned char
-@@ -594,10 +596,15 @@
+--- dualserverd.h	2013-04-21 03:13:15.000000000 +0200
++++ dualserverd.h	2013-04-27 18:55:24.000000000 +0200
+@@ -614,10 +614,19 @@
  
  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
  	{
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 2 Emanuel Haupt freebsd_committer freebsd_triage 2013-05-03 12:05:27 UTC
Responsible Changed
From-To: freebsd-ports-bugs->ehaupt

I will take care of it.
Comment 3 Emanuel Haupt freebsd_committer freebsd_triage 2013-05-03 12:05:32 UTC
State Changed
From-To: open->closed

Committed, thanks!