summaryrefslogtreecommitdiff
path: root/net/netatalk30
diff options
context:
space:
mode:
authormarkd <markd@pkgsrc.org>2014-06-28 04:41:55 +0000
committermarkd <markd@pkgsrc.org>2014-06-28 04:41:55 +0000
commitac59229d6c880281e9fb7e148c6676f6747685db (patch)
tree8f301f60e97410fb19e3423c1292e560599448c7 /net/netatalk30
parentbba4c52f3cb89a4b482a5a59141ed46db0b58c00 (diff)
downloadpkgsrc-ac59229d6c880281e9fb7e148c6676f6747685db.tar.gz
Fix an fd leak when using appledouble = v2 - from upstream.
Bump PKGREVISION
Diffstat (limited to 'net/netatalk30')
-rw-r--r--net/netatalk30/Makefile4
-rw-r--r--net/netatalk30/distinfo3
-rw-r--r--net/netatalk30/patches/patch-libatalk_adouble_ad_flush.c24
3 files changed, 28 insertions, 3 deletions
diff --git a/net/netatalk30/Makefile b/net/netatalk30/Makefile
index cb401364e23..7056b380411 100644
--- a/net/netatalk30/Makefile
+++ b/net/netatalk30/Makefile
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.2 2014/06/18 09:28:16 wiz Exp $
+# $NetBSD: Makefile,v 1.3 2014/06/28 04:41:55 markd Exp $
DISTNAME= netatalk-3.0.8
PKGNAME= ${DISTNAME:C/-/30-/}
-PKGREVISION= 1
+PKGREVISION= 2
CATEGORIES= net
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=netatalk/}
EXTRACT_SUFX= .tar.bz2
diff --git a/net/netatalk30/distinfo b/net/netatalk30/distinfo
index d222ce3f0bb..93657874784 100644
--- a/net/netatalk30/distinfo
+++ b/net/netatalk30/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.1 2014/06/11 11:03:56 hauke Exp $
+$NetBSD: distinfo,v 1.2 2014/06/28 04:41:55 markd Exp $
SHA1 (netatalk-3.0.8.tar.bz2) = 4956d0991ae09e6c5336980b0c9d92afe8153f5f
RMD160 (netatalk-3.0.8.tar.bz2) = 61b8b5a43985b8a5441867cb96b9de5aeba324fb
@@ -14,5 +14,6 @@ SHA1 (patch-etc_afpd_quota.c) = 90025824fd513788c167108e4c388b453ab75ee6
SHA1 (patch-etc_cnid__dbd_cnid__metad.c) = 06a97387594f386d3e049ba1e25d4626ac96195f
SHA1 (patch-etc_uams_uams__randnum.c) = 0226d1aa382cffea454adf6bc0dc6e6fa1800dcc
SHA1 (patch-include_atalk_util.h) = 5fe41720bf82980f6d5965f76d34e1703e541047
+SHA1 (patch-libatalk_adouble_ad_flush.c) = d4df84d2786bf392a5113b4867d955098c0c1da9
SHA1 (patch-libatalk_util_getiface.c) = fe4aba6080f6308866bedb3d96ccc2b034836d3e
SHA1 (patch-macros_quota-check.m4) = aa8a053b83bc4579ca0a8f66f43226ead8e79696
diff --git a/net/netatalk30/patches/patch-libatalk_adouble_ad_flush.c b/net/netatalk30/patches/patch-libatalk_adouble_ad_flush.c
new file mode 100644
index 00000000000..9622099f585
--- /dev/null
+++ b/net/netatalk30/patches/patch-libatalk_adouble_ad_flush.c
@@ -0,0 +1,24 @@
+$NetBSD: patch-libatalk_adouble_ad_flush.c,v 1.1 2014/06/28 04:41:55 markd Exp $
+
+fd leak when using appledouble = v2, netatalk bug 554
+
+--- libatalk/adouble/ad_flush.c.orig 2013-04-09 12:56:18.000000000 +0000
++++ libatalk/adouble/ad_flush.c
+@@ -429,6 +429,17 @@ int ad_close(struct adouble *ad, int adf
+ }
+
+ if (adflags & ADFLAGS_RF) {
++ /* HF is automatically opened when opening an RF, close it. */
++ if ((ad->ad_vers == AD_VERSION2) && (ad_meta_fileno(ad) != -1)) {
++ if (ad->ad_meta_refcount)
++ ad->ad_meta_refcount--;
++ if (!(--ad->ad_mdp->adf_refcount)) {
++ if (close( ad_meta_fileno(ad)) < 0)
++ err = -1;
++ ad_meta_fileno(ad) = -1;
++ }
++ }
++
+ if (ad->ad_reso_refcount)
+ if (--ad->ad_reso_refcount == 0)
+ adf_lock_free(ad->ad_rfp);