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