Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 Feb 2007 21:40:04 GMT
From:      David Sze <dsze@alumni.uwaterloo.ca>
To:        freebsd-ports-bugs@FreeBSD.org
Subject:   Re: ports/109297: [PATCH] Update port: dns/updatedd version 2.6
Message-ID:  <200702192140.l1JLe4bx076111@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR ports/109297; it has been noted by GNATS.

From: David Sze <dsze@alumni.uwaterloo.ca>
To: bug-followup@FreeBSD.org, Jason DiCioccio <jd@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@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@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@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@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@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@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@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--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200702192140.l1JLe4bx076111>