ports/109297: [PATCH] Update port: dns/updatedd version 2.6

David Sze dsze at alumni.uwaterloo.ca
Mon Feb 19 21:40:05 UTC 2007


The following reply was made to PR ports/109297; it has been noted by GNATS.

From: David Sze <dsze at alumni.uwaterloo.ca>
To: bug-followup at FreeBSD.org, Jason DiCioccio <jd at ods.org>
Cc:  
Subject: Re: ports/109297: [PATCH] Update port: dns/updatedd version 2.6
Date: Mon, 19 Feb 2007 15:17:44 -0600

 --gBBFr7Ir9EOA20Yy
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: inline
 
 
 Try the attached update.  It appears the segfault was due to the
 author relying on semantics of vsprintf that are only true on
 Linux (passing NULL for the first parameter to get the formatted
 string length).
 
 The port now has a patch to use the BSD-specific vasprintf instead.
 
 It looks like only the ods and tzo plugins were affected.  I don't
 have accounts with either of those services so I can't test it
 thoroughly.  I only use dyndns and that works fine.
 
 
 --gBBFr7Ir9EOA20Yy
 Content-Type: application/x-shar
 Content-Disposition: attachment; filename="updatedd-2.6.shar"
 Content-Transfer-Encoding: quoted-printable
 
 # This is a shell archive.  Save it in a file, remove anything before=0A# t=
 his line, and then unpack it by entering "sh file".  Note, it may=0A# creat=
 e directories; files and directories will be owned by you and=0A# have defa=
 ult permissions.=0A#=0A# This archive contains:=0A#=0A#	updatedd=0A#	update=
 dd/Makefile=0A#	updatedd/distinfo=0A#	updatedd/pkg-descr=0A#	updatedd/pkg-p=
 list=0A#	updatedd/files=0A#	updatedd/files/disable-portdocs.patch=0A#	updat=
 edd/files/patch-updatedd-wrapper-Makefile.in=0A#	updatedd/files/patch-inclu=
 de-dprintf.h=0A#=0Aecho c - updatedd=0Amkdir -p updatedd > /dev/null 2>&1=
 =0Aecho x - updatedd/Makefile=0Ased 's/^X//' >updatedd/Makefile << 'END-of-=
 updatedd/Makefile'=0AX# New ports collection makefile for:	updatedd=0AX# Da=
 te created:		2003-12-02=0AX# Whom:			geniusj at ods.org=0AX#=0AX# $FreeBSD: po=
 rts/dns/updatedd/Makefile,v 1.4 2005/04/12 03:25:20 obrien Exp $=0AX#=0AX=
 =0AXPORTNAME=3D	updatedd=0AXPORTVERSION=3D	2.6=0AXCATEGORIES=3D	dns=0AXMAST=
 ER_SITES=3D	${MASTER_SITE_SAVANNAH}=0AXMASTER_SITE_SUBDIR=3D	${PORTNAME}=0A=
 XDISTNAME=3D	${PORTNAME}_${PORTVERSION}=0AX=0AXMAINTAINER=3D	geniusj at ods.or=
 g=0AXCOMMENT=3D	Dynamic DNS Update Client supporting multiple services=0AX=
 =0AXUSE_PERL5=3D	yes=0AXUSE_GMAKE=3D	yes=0AXGNU_CONFIGURE=3D	yes=0AXCONFIGU=
 RE_TARGET=3D	--build=3D${MACHINE_ARCH}-portbld-freebsd${OSREL}=0AXCONFIGURE=
 _ARGS+=3D	--mandir=3D${PREFIX}/man=0AX=0AXWRKSRC=3D		${WRKDIR}/${PORTNAME}-=
 ${PORTVERSION}=0AX=0AXMAN1=3D		updatedd.1 updatedd-wrapper.1=0AXMAN5=3D		up=
 datedd-wrapper.conf.5=0AX=0AX.if defined(NOPORTDOCS)=0AXEXTRA_PATCHES+=3D	$=
 {PATCHDIR}/disable-portdocs.patch=0AX.endif=0AX=0AXpost-install:=0AX	@if [ =
 ! -f ${PREFIX}/etc/updatedd-wrapper.conf ]; then \=0AX		${CP} -p ${PREFIX}/=
 etc/updatedd-wrapper.conf.sample ${PREFIX}/etc/updatedd-wrapper.conf ; \=0A=
 X	fi=0AX=0AX.include <bsd.port.mk>=0AEND-of-updatedd/Makefile=0Aecho x - up=
 datedd/distinfo=0Ased 's/^X//' >updatedd/distinfo << 'END-of-updatedd/disti=
 nfo'=0AXMD5 (updatedd_2.6.tar.gz) =3D 95655596eb6e0e381d60a458f6a45fee=0AXS=
 HA256 (updatedd_2.6.tar.gz) =3D 9d240c7e9fcc3f6cb1d32410ca2dee10d359c53f1a5=
 a30d8f3ec49b18b73f1d0=0AXSIZE (updatedd_2.6.tar.gz) =3D 667104=0AEND-of-upd=
 atedd/distinfo=0Aecho x - updatedd/pkg-descr=0Ased 's/^X//' >updatedd/pkg-d=
 escr << 'END-of-updatedd/pkg-descr'=0AXUpdatedd is a program for Unix like =
 operating systems to=0AXupdate dynamic DNS records.  It supports multiple s=
 ervices,=0AXincluding:=0AX=0AX	changeip.com=0AX	dyndns.org=0AX	eurodyndns.o=
 rg=0AX	ovh.com,=0AX	no-ip.org=0AX	ods.org=0AX	hn.org=0AX	regfish.com=0AX	tz=
 o.com=0AX=0AXEach service is represented by a plugin, therefore it is=0AXve=
 ry simple to add support for additional services.=0AX=0AXFurthermore the pa=
 ckage includes a wrapper for updatedd=0AXcalled `updatedd-wrapper'.  It pro=
 vides support for=0AXconfiguration files and IP adddress caching.=0AX=0AXAu=
 thor:	Philipp Benner <philipp_benner (at) gmx (dot) de>=0AXWWW:	http://upda=
 tedd.philipp-benner.de=0AEND-of-updatedd/pkg-descr=0Aecho x - updatedd/pkg-=
 plist=0Ased 's/^X//' >updatedd/pkg-plist << 'END-of-updatedd/pkg-plist'=0AX=
 bin/updatedd=0AXbin/updatedd-wrapper=0AX at unexec if cmp -s %D/etc/updatedd-w=
 rapper.conf.sample %D/etc/updatedd-wrapper.conf; then rm -f %D/etc/updatedd=
 -wrapper.conf; fi=0AXetc/updatedd-wrapper.conf.sample=0AX at exec if [ ! -f %D=
 /etc/updatedd-wrapper.conf ] ; then cp -p %D/%F %B/updatedd-wrapper.conf; f=
 i=0AXlib/updatedd/libchangeip.a=0AXlib/updatedd/libchangeip.la=0AXlib/updat=
 edd/libchangeip.so=0AXlib/updatedd/libchangeip.so.0=0AXlib/updatedd/libdynd=
 ns.a=0AXlib/updatedd/libdyndns.la=0AXlib/updatedd/libdyndns.so=0AXlib/updat=
 edd/libdyndns.so.0=0AXlib/updatedd/libeurodyndns.a=0AXlib/updatedd/libeurod=
 yndns.la=0AXlib/updatedd/libeurodyndns.so=0AXlib/updatedd/libeurodyndns.so.=
 0=0AXlib/updatedd/libhn.a=0AXlib/updatedd/libhn.la=0AXlib/updatedd/libhn.so=
 =0AXlib/updatedd/libhn.so.0=0AXlib/updatedd/libnoip.a=0AXlib/updatedd/libno=
 ip.la=0AXlib/updatedd/libnoip.so=0AXlib/updatedd/libnoip.so.0=0AXlib/update=
 dd/libods.a=0AXlib/updatedd/libods.la=0AXlib/updatedd/libods.so=0AXlib/upda=
 tedd/libods.so.0=0AXlib/updatedd/libovh.a=0AXlib/updatedd/libovh.la=0AXlib/=
 updatedd/libovh.so=0AXlib/updatedd/libovh.so.0=0AXlib/updatedd/libregfish.a=
 =0AXlib/updatedd/libregfish.la=0AXlib/updatedd/libregfish.so=0AXlib/updated=
 d/libregfish.so.0=0AXlib/updatedd/libtzo.a=0AXlib/updatedd/libtzo.la=0AXlib=
 /updatedd/libtzo.so=0AXlib/updatedd/libtzo.so.0=0AX at dirrm lib/updatedd=0AXi=
 nclude/libchangeip.h=0AXinclude/libdyndns.h=0AXinclude/libeurodyndns.h=0AXi=
 nclude/libhn.h=0AXinclude/libnoip.h=0AXinclude/libods.h=0AXinclude/libovh.h=
 =0AXinclude/libregfish.h=0AXinclude/libtzo.h=0AX%%DATADIR%%/interface.pl=0A=
 X%%DATADIR%%/ipserv.pl=0AX at dirrm %%DATADIR%%=0AX%%PORTDOCS%%%%DOCSDIR%%/upd=
 atedd-2.4-english.pdf=0AX%%PORTDOCS%%%%DOCSDIR%%/updatedd-2.4-german.pdf=0A=
 X%%PORTDOCS%%%%DOCSDIR%%/updatedd-pppd-rc=0AX%%PORTDOCS%%@dirrm %%DOCSDIR%%=
 =0AEND-of-updatedd/pkg-plist=0Aecho c - updatedd/files=0Amkdir -p updatedd/=
 files > /dev/null 2>&1=0Aecho x - updatedd/files/disable-portdocs.patch=0As=
 ed 's/^X//' >updatedd/files/disable-portdocs.patch << 'END-of-updatedd/file=
 s/disable-portdocs.patch'=0AX--- Makefile.in.orig	Fri Sep 15 10:19:08 2006=
 =0AX+++ Makefile.in	Sun Feb 18 15:06:01 2007=0AX@@ -189,7 +189,7 @@=0AX tar=
 get_os =3D @target_os@=0AX target_vendor =3D @target_vendor@=0AX @COND_PERL=
 _TRUE at MAYBE_PERL =3D updatedd-wrapper scripts=0AX-SUBDIRS =3D libupdatedd-e=
 xception src src/plugins include $(MAYBE_PERL) Documentation=0AX+SUBDIRS =
 =3D libupdatedd-exception src src/plugins include $(MAYBE_PERL)=0AX =0AX #d=
 istdir =3D ../$(PACKAGE)-$(VERSION)=0AX EXTRA_DIST =3D debian/compat debian=
 /control debian/copyright debian/postinst debian/rules \=0AEND-of-updatedd/=
 files/disable-portdocs.patch=0Aecho x - updatedd/files/patch-updatedd-wrapp=
 er-Makefile.in=0Ased 's/^X//' >updatedd/files/patch-updatedd-wrapper-Makefi=
 le.in << 'END-of-updatedd/files/patch-updatedd-wrapper-Makefile.in'=0AX--- =
 updatedd-wrapper/Makefile.in.orig	Fri Sep 15 10:19:07 2006=0AX+++ updatedd-=
 wrapper/Makefile.in	Sun Feb 18 15:19:45 2007=0AX@@ -466,8 +466,8 @@=0AX ins=
 tall-data-local:=0AX 	if test ! -e $(DESTDIR)$(sysconfdir)/$(conf); then		\=
 =0AX 		$(INSTALL) -d $(DESTDIR)$(sysconfdir);			\=0AX-		$(INSTALL) -m 600 u=
 pdatedd-wrapper.conf $(DESTDIR)$(sysconfdir);	\=0AX 	fi=0AX+	$(INSTALL) -m =
 600 updatedd-wrapper.conf $(DESTDIR)$(sysconfdir)/updatedd-wrapper.conf.sam=
 ple=0AX =0AX uninstall-local:=0AX 	$(RM) $(DESTDIR)$(sysconfdir)/updatedd-w=
 rapper.conf=0AEND-of-updatedd/files/patch-updatedd-wrapper-Makefile.in=0Aec=
 ho x - updatedd/files/patch-include-dprintf.h=0Ased 's/^X//' >updatedd/file=
 s/patch-include-dprintf.h << 'END-of-updatedd/files/patch-include-dprintf.h=
 '=0AX--- include/dprintf.h.orig	Fri Sep  8 06:03:14 2006=0AX+++ include/dpr=
 intf.h	Mon Feb 19 16:00:43 2007=0AX@@ -40,13 +40,9 @@=0AX 	va_list va;=0AX =
 =0AX 	va_start(va, fmt);=0AX-	n =3D vsprintf(NULL, fmt, va);=0AX-	if(n > MA=
 XLEN)=0AX+	n =3D vasprintf(&buffer, fmt, va);=0AX+	if(-1 =3D=3D n)=0AX 		st=
 d_err(NONE, "dprintf() failed: string is too long");=0AX-	if((buffer =3D (c=
 har *)malloc((n+1) * sizeof(char))) =3D=3D NULL)=0AX-		std_err(PERR, "mallo=
 c() failed");=0AX-	(void)vsnprintf(buffer, n+1, fmt, va);=0AX-	*(buffer+n) =
 =3D '\0';=0AX 	va_end(va);=0AX =0AX 	if(write(s, buffer, n) =3D=3D -1)=0AEN=
 D-of-updatedd/files/patch-include-dprintf.h=0Aexit=0A=0A
 --gBBFr7Ir9EOA20Yy--



More information about the freebsd-ports-bugs mailing list