diff --git a/net/netatalk3/Makefile b/net/netatalk3/Makefile index acacf59363ea..a297d24722ee 100644 --- a/net/netatalk3/Makefile +++ b/net/netatalk3/Makefile @@ -1,103 +1,104 @@ PORTNAME= netatalk PORTVERSION= 3.1.18 +PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= net MASTER_SITES= SF/${PORTNAME}/${PORTNAME}-${PORTVERSION:S/./-/g} PKGNAMESUFFIX= 3 MAINTAINER= marcus@FreeBSD.org COMMENT= File server for Mac OS X WWW= http://netatalk.sourceforge.net/ LICENSE= GPLv2 LIB_DEPENDS= libgcrypt.so:security/libgcrypt \ libevent.so:devel/libevent USES= bdb:5+ cpe gettext gmake iconv libtool perl5 pkgconfig shebangfix ssl tar:bzip2 GNU_CONFIGURE= yes USE_LDCONFIG= yes USE_RC_SUBR= netatalk INSTALL_TARGET=install-strip CPE_VENDOR= netatalk_project CONFIGURE_ARGS+= --with-pkgconfdir=${PREFIX}/etc \ --with-libgcrypt-dir=${LOCALBASE} \ --with-uams-path=${PREFIX}/libexec/netatalk-uams \ --with-bdb=${LOCALBASE} \ ${ICONV_CONFIGURE_BASE} \ --localstatedir=/var \ --disable-bundled-libevent \ --with-libevent-header=${LOCALBASE}/include \ --with-libevent-lib=${LOCALBASE}/lib \ --with-ssl-dir=${OPENSSLBASE} \ --without-dtrace OPTIONS_DEFINE=PAM KERBEROS5 LDAP SENDFILE KERBEROS DBUS MYSQL ACL LIBWRAP OPTIONS_DEFAULT=AVAHI DBUS KERBEROS LIBWRAP OPTIONS_RADIO=ZEROCONF OPTIONS_RADIO_ZEROCONF=AVAHI MDNSRESPONDER ZEROCONF_DESC= Zeroconf(Bonjour) support MYSQL_DESC= Enable MySQL CNID backend support SENDFILE_DESC= Enable Sendfile support ACL_DESC= Enable ACL support OPTIONS_SUB= yes KERBEROS5_CONFIGURE_ON= --enable-krbV-uam KERBEROS_CONFIGURE_WITH=kerberos KERBEROS_LIB_DEPENDS=libgpg-error.so:security/libgpg-error PAM_CONFIGURE_WITH=pam AVAHI_CONFIGURE_ON= --enable-zeroconf=${LOCALBASE} AVAHI_CFLAGS= -I${LOCALBASE}/include -L${LOCALBASE}/lib AVAHI_LIB_DEPENDS= libavahi-client.so:net/avahi-app AVAHI_SUB_LIST= ZEROCONF="avahi_daemon" MDNSRESPONDER_CONFIGURE_ON= --enable-zeroconf=${LOCALBASE} MDNSRESPONDER_CONFIGURE_ENV= ac_cv_lib_avahi_client_avahi_client_new=no MDNSRESPONDER_CFLAGS= -I${LOCALBASE}/include -L${LOCALBASE}/lib MDNSRESPONDER_LIB_DEPENDS= libdns_sd.so:net/mDNSResponder MDNSRESPONDER_SUB_LIST= ZEROCONF="mdnsd" LDAP_CONFIGURE_ON= --with-ldap=${LOCALBASE} LDAP_CFLAGS= -I${LOCALBASE}/include -L${LOCALBASE}/lib LDAP_USES= ldap LDAP_CONFIGURE_OFF= --without-ldap SENDFILE_CONFIGURE_ENABLE=sendfile DBUS_USES= gnome python DBUS_USE= GNOME=glib20 DBUS_LIB_DEPENDS= libdbus-glib-1.so:devel/dbus-glib \ libdbus-1.so:devel/dbus DBUS_RUN_DEPENDS= ${PYTHON_SITELIBDIR}/dbus/_dbus.py:devel/py-dbus@${PY_FLAVOR} MYSQL_USES= mysql MYSQL_CONFIGURE_OFF=--with-mysql-config=/nonexistent ACL_LIB_DEPENDS= libsunacl.so:sysutils/libsunacl ACL_CONFIGURE_WITH=acls LIBWRAP_CONFIGURE_ENABLE=tcp-wrappers SHEBANG_GLOB= afpstats CONFLICTS= jday yudit # bin/dbd man/man1/uniconv.1.gz .include .if ${PORT_OPTIONS:MAVAHI}=="" && ${PORT_OPTIONS:MMDNSRESPONDER}=="" SUB_LIST+= ZEROCONF="" CONFIGURE_ARGS+=--disable-zeroconf .endif post-patch: @${REINPLACE_CMD} -e 's|%%DB_NAME%%|${BDB_INCLUDE_DIR:T}| ; \ s|%%DB_LIB%%|-l${BDB_LIB_NAME}|g ; \ s|%%LOCALBASE%%|${LOCALBASE}|g' \ ${WRKSRC}/configure @${REINPLACE_CMD} -e 's|\.dist|\.sample|g' \ ${WRKSRC}/config/Makefile.in # @${REINPLACE_CMD} -e 's|%%PYTHONCMD%%|${PYTHONCMD}|' \ # ${WRKSRC}/contrib/shell_utils/afpstats post-install: ${INSTALL_SCRIPT} ${WRKSRC}/contrib/macusers/macusers \ ${STAGEDIR}${PREFIX}/bin/macusers .if ${PORT_OPTIONS:MPAM} ${INSTALL_DATA} ${FILESDIR}/pam.conf ${STAGEDIR}${PREFIX}/etc/pam.d/netatalk.sample .endif .include diff --git a/net/netatalk3/files/patch-libatalk_adouble_ad__open.c b/net/netatalk3/files/patch-libatalk_adouble_ad__open.c new file mode 100644 index 000000000000..05102b8d34df --- /dev/null +++ b/net/netatalk3/files/patch-libatalk_adouble_ad__open.c @@ -0,0 +1,43 @@ +--- libatalk/adouble/ad_open.c.orig 2024-01-02 07:44:09 UTC ++++ libatalk/adouble/ad_open.c +@@ -668,6 +668,11 @@ reread: + int retry_read = 0; + + reread: ++ if (hst == NULL) { ++ hst = &st; ++ EC_NEG1( fstat(ad_reso_fileno(ad), hst) ); ++ } ++ + LOG(log_debug, logtype_ad, "ad_header_read_osx: %s", path ? fullpathname(path) : ""); + ad_init_old(&adosx, AD_VERSION_EA, ad->ad_options); + buf = &adosx.ad_data[0]; +@@ -707,7 +712,7 @@ reread: + return -1; + } + +- if (parse_entries(&adosx, nentries, header_len) != 0) { ++ if (parse_entries(&adosx, nentries, hst->st_size) != 0) { + LOG(log_warning, logtype_ad, "ad_header_read(%s): malformed AppleDouble", + path ? fullpathname(path) : ""); + errno = EIO; +@@ -725,6 +730,7 @@ reread: + } + retry_read++; + if (ad_convert_osx(path, &adosx) == 1) { ++ hst = NULL; + goto reread; + } + errno = EIO; +@@ -738,11 +744,6 @@ reread: + LOG(log_error, logtype_ad, "ad_header_read_osx: problem with rfork entry offset."); + errno = EIO; + return -1; +- } +- +- if (hst == NULL) { +- hst = &st; +- EC_NEG1( fstat(ad_reso_fileno(ad), &st) ); + } + + ad_setentryoff(ad, ADEID_RFORK, ad_getentryoff(&adosx, ADEID_RFORK));