Update to 2.0.4.

PR:		135319
Submitted by:	Wang Lam <wlam+fbd@blanksquare.net> (based on)
This commit is contained in:
Joe Marcus Clarke 2009-06-14 02:59:30 +00:00
parent 7690594ffd
commit 8b0834a81a
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=235802
8 changed files with 35 additions and 263 deletions

View File

@ -6,8 +6,7 @@
#
PORTNAME= netatalk
PORTVERSION= 2.0.3
PORTREVISION= 5
PORTVERSION= 2.0.4
PORTEPOCH= 1
CATEGORIES= net print
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
@ -16,6 +15,8 @@ MASTER_SITE_SUBDIR= netatalk
MAINTAINER= marcus@FreeBSD.org
COMMENT= File and print server for AppleTalk networks
LIB_DEPENDS= gcrypt:${PORTSDIR}/security/libgcrypt
.if defined(WITH_SRVLOC)
LIB_DEPENDS+= slp.1:${PORTSDIR}/net/openslp
.endif
@ -27,7 +28,8 @@ USE_BDB= 41+
USE_RC_SUBR= netatalk
CONFIGURE_ARGS+= --with-tcp-wrappers \
--with-pkgconfdir=${PREFIX}/etc \
--with-libiconv=${LOCALBASE}
--with-libiconv=${LOCALBASE} \
--with-libgcrypt-prefix=${LOCALBASE}
.if defined(WITH_KRB5)
CONFIGURE_ARGS+= --enable-krbV-uam
@ -66,7 +68,7 @@ MAN1= achfile.1 aecho.1 afile.1 afppasswd.1 getzones.1 \
megatron.1 nbp.1 pap.1 psorder.1 hqx2bin.1 macbinary.1 \
nbplkup.1 nbprgstr.1 nbpunrgstr.1 papstatus.1 \
single2bin.1 unbin.1 unhex.1 unsingle.1 acleandir.1 \
netatalk-config.1 timeout.1 apple_cp.1 apple_mv.1 \
netatalk-config.1 apple_cp.1 apple_mv.1 \
apple_rm.1 uniconv.1 asip-status.pl.1 cnid_index.1
MAN3= atalk_aton.3 nbp_name.3
MAN4= atalk.4

View File

@ -1,3 +1,3 @@
MD5 (netatalk-2.0.3.tar.bz2) = 28092763085783805dc2f00aa2127a3e
SHA256 (netatalk-2.0.3.tar.bz2) = 25e004732f471de0dd9a21ab129ee799da018fce3b313d4ab5e6f52e6e9e3998
SIZE (netatalk-2.0.3.tar.bz2) = 1471804
MD5 (netatalk-2.0.4.tar.bz2) = 6f2f40b51ab9268836ef89a7dffaccb0
SHA256 (netatalk-2.0.4.tar.bz2) = c0d522ea2f63bf3469901c1ce3059d56d957b0f040a3ae8ab26abeea1a6aba16
SIZE (netatalk-2.0.4.tar.bz2) = 964106

View File

@ -1,143 +0,0 @@
--- etc/papd/lp.c 2005/04/28 20:49:49 1.15
+++ etc/papd/lp.c 2008/08/14 20:02:47 1.16
@@ -258,9 +258,9 @@
destlen -= len;
}
- /* stuff up to next $ */
+ /* stuff up to next % */
src = p + 2;
- p = strchr(src, '$');
+ p = strchr(src, '%');
len = p ? MIN((size_t)(p - src), destlen) : destlen;
if (len > 0) {
strncpy(dest, src, len);
--- etc/papd/lp.c 2008/08/14 20:02:47 1.16
+++ etc/papd/lp.c 2008/08/14 20:18:50 1.17
@@ -212,10 +212,37 @@
#define is_var(a, b) (strncmp((a), (b), 2) == 0)
+static size_t quote(char *dest, char *src, const size_t bsize, size_t len)
+{
+size_t used = 0;
+
+ while (len && used < bsize ) {
+ switch (*src) {
+ case '$':
+ case '\\':
+ case '"':
+ case '`':
+ if (used + 2 > bsize )
+ return used;
+ *dest = '\\';
+ dest++;
+ used++;
+ break;
+ }
+ *dest = *src;
+ src++;
+ dest++;
+ len--;
+ used++;
+ }
+ return used;
+}
+
+
static char* pipexlate(char *src)
{
char *p, *q, *dest;
- static char destbuf[MAXPATHLEN];
+ static char destbuf[MAXPATHLEN +1];
size_t destlen = MAXPATHLEN;
int len = 0;
@@ -224,13 +251,15 @@
if (!src)
return NULL;
- strncpy(dest, src, MAXPATHLEN);
- if ((p = strchr(src, '%')) == NULL) /* nothing to do */
+ memset(dest, 0, MAXPATHLEN +1);
+ if ((p = strchr(src, '%')) == NULL) { /* nothing to do */
+ strncpy(dest, src, MAXPATHLEN);
return destbuf;
-
- /* first part of the path. just forward to the next variable. */
+ }
+ /* first part of the path. copy and forward to the next variable. */
len = MIN((size_t)(p - src), destlen);
if (len > 0) {
+ strncpy(dest, src, len);
destlen -= len;
dest += len;
}
@@ -246,17 +275,20 @@
q = lp.lp_created_for;
} else if (is_var(p, "%%")) {
q = "%";
- } else
- q = p;
+ }
/* copy the stuff over. if we don't understand something that we
* should, just skip it over. */
if (q) {
- len = MIN(p == q ? 2 : strlen(q), destlen);
+ len = MIN(strlen(q), destlen);
+ len = quote(dest, q, destlen, len);
+ }
+ else {
+ len = MIN(2, destlen);
strncpy(dest, q, len);
- dest += len;
- destlen -= len;
}
+ dest += len;
+ destlen -= len;
/* stuff up to next % */
src = p + 2;
--- etc/papd/lp.c 2009/01/21 02:43:46 1.21
+++ etc/papd/lp.c 2009/01/28 18:03:15 1.22
@@ -217,7 +217,26 @@
case '$':
case '\\':
case '"':
+ case ';':
+ case '&':
+ case '(':
+ case ')':
+ case ' ':
+ case '*':
+ case '#':
+ case '|':
+ case '>':
+ case '<':
+ case '[':
+ case ']':
+ case '{':
+ case '}':
+ case '^':
+ case '?':
+ case '~':
case '`':
+ case '\x0A':
+ case '\xFF':
if (used + 2 > bsize )
return used;
*dest = '\\';
@@ -247,9 +266,9 @@
if (!src)
return NULL;
- memset(dest, 0, MAXPATHLEN +1);
+ memset(dest, 0, sizeof(destbuf));
if ((p = strchr(src, '%')) == NULL) { /* nothing to do */
- strncpy(dest, src, MAXPATHLEN);
+ strncpy(dest, src, sizeof(dest) - 1);
return destbuf;
}
/* first part of the path. copy and forward to the next variable. */

View File

@ -1,14 +0,0 @@
--- bin/cnid/cnid_index.c.orig Sat Jan 27 23:03:04 2007
+++ bin/cnid/cnid_index.c Sat Jan 27 23:04:51 2007
@@ -274,7 +274,11 @@ static int dbif_count(const int dbi, u_i
DB_BTREE_STAT *sp;
DB *db = db_table[dbi].db;
+#if DB_VERSION_MAJOR > 4 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 3)
+ ret = db->stat(db, db_txn, &sp, 0);
+#else
ret = db->stat(db, &sp, 0);
+#endif
if (ret) {
LOG(log_error, logtype_cnid, "error getting stat infotmation on database: %s", db_strerror(errno));

View File

@ -1,5 +1,5 @@
--- config/netatalk.conf.org Sun Apr 1 07:26:37 2007
+++ config/netatalk.conf Sun Apr 1 07:31:49 2007
--- config/netatalk.conf.orig 2009-04-30 05:30:13.000000000 -0400
+++ config/netatalk.conf 2009-06-13 22:48:55.000000000 -0400
@@ -1,4 +1,5 @@
-# Appletalk configuration
+# netatalk configuration
@ -7,7 +7,7 @@
# Change this to increase the maximum number of clients that can connect:
AFPD_MAX_CLIENTS=50
@@ -8,17 +9,8 @@
@@ -8,17 +9,8 @@ AFPD_MAX_CLIENTS=50
# NOTE: If Netatalk should register AppleTalk services in the standard zone
# then you need not to specify a zone name here.
#
@ -24,16 +24,16 @@
-ATALK_UNIX_CHARSET='LOCALE'
+ATALK_NAME=`/bin/hostname -s`
# specify this if you don't want guest, clrtxt, and dhx
# available options: uams_guest.so, uams_clrtxt.so, uams_dhx.so,
@@ -27,18 +19,3 @@
# specify this if you don't want dhx and dhx2
# available options: uams_guest.so, uams_clrtxt.so,
@@ -28,18 +20,3 @@ ATALK_UNIX_CHARSET='LOCALE'
# Change this to set the id of the guest user
AFPD_GUEST=nobody
-
-# Set which daemons to run (papd is dependent upon atalkd):
-ATALKD_RUN=yes
-PAPD_RUN=yes
-PAPD_RUN=no
-CNID_METAD_RUN=yes
-AFPD_RUN=yes
-TIMELORD_RUN=no

View File

@ -1,78 +1,11 @@
--- configure.orig Tue May 17 18:14:29 2005
+++ configure Sun Oct 8 14:47:02 2006
@@ -15057,7 +15057,7 @@ if test "x$bdb_required" = "xyes"; then
trybdbdir=""
dobdbsearch=yes
bdb_search_dirs="/usr/local/include /usr/include"
- search_subdirs="/db4.2 /db42 /db4.1 /db41 /db4 /"
+ search_subdirs="/%%DB_NAME%% /db4.2 /db42 /db4.1 /db41 /db4 /"
--- configure.orig 2009-03-29 03:24:33.000000000 -0400
+++ configure 2009-06-13 22:52:07.000000000 -0400
@@ -30193,7 +30193,7 @@ if test "x$bdb_required" = "xyes"; then
trybdbdir=""
dobdbsearch=yes
bdb_search_dirs="/usr/local /usr"
- search_subdirs="/ /db4.7 /db47 /db4.6 /db46 /db4.5 /db45 /db4.4 /db44 /db4.3 /db43 /db4.2 /db42 /db4.1 /db41 /db4"
+ search_subdirs="/%%DB_NAME%% / /db4.7 /db47 /db4.6 /db46 /db4.5 /db45 /db4.4 /db44 /db4.3 /db43 /db4.2 /db42 /db4.1 /db41 /db4"
DB_MAJOR_REQ=4
DB_MINOR_REQ=1
@@ -15198,6 +15198,66 @@ echo "${ECHO_T}yes" >&6
LDFLAGS="-L$bdblibdir $LDFLAGS"
atalk_cv_lib_db=no
+if test $atalk_cv_lib_db = no ; then
+ echo "$as_me:$LINENO: checking for Berkeley DB link (%%DB_LIB%%)" >&5
+echo $ECHO_N "checking for Berkeley DB link (%%DB_LIB%%)... $ECHO_C" >&6
+ atalk_DB_LIB=%%DB_LIB%%
+ atalk_LIBS=$LIBS
+ LIBS="$atalk_DB_LIB $LIBS"
+
+ cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <db.h>
+
+int
+main ()
+{
+
+ char *version;
+ int major, minor, patch;
+
+ version = db_version( &major, &minor, &patch );
+ return (0);
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ atalk_cv_db_db_lib=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+atalk_cv_db_db_lib=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+ echo "$as_me:$LINENO: result: $atalk_cv_db_db_lib" >&5
+echo "${ECHO_T}$atalk_cv_db_db_lib" >&6
+ LIBS="$atalk_LIBS"
+ if test $atalk_cv_db_db_lib = yes ; then
+ atalk_cv_lib_db=%%DB_LIB%%
+ fi
+fi
+
if test $atalk_cv_lib_db = no ; then
echo "$as_me:$LINENO: checking for Berkeley DB link (-ldb-4.2)" >&5
echo $ECHO_N "checking for Berkeley DB link (-ldb-4.2)... $ECHO_C" >&6
DB_MAJOR_REQ=4
DB_MINOR_REQ=1

View File

@ -1,14 +0,0 @@
--- etc/cnid_dbd/dbif.c.orig Sat Jan 27 23:07:17 2007
+++ etc/cnid_dbd/dbif.c Sat Jan 27 23:08:04 2007
@@ -514,7 +514,11 @@ int dbif_count(const int dbi, u_int32_t
DB_BTREE_STAT *sp;
DB *db = db_table[dbi].db;
+#if DB_VERSION_MAJOR > 4 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 3)
+ ret = db->stat(db, db_txn, &sp, 0);
+#else
ret = db->stat(db, &sp, 0);
+#endif
if (ret) {
LOG(log_error, logtype_cnid, "error getting stat infotmation on database: %s", db_strerror(errno));

View File

@ -39,7 +39,6 @@ bin/pap
bin/papstatus
bin/psorder
bin/showppd
bin/timeout
bin/uniconv
@unexec if cmp -s %D/etc/AppleVolumes.default %D/etc/AppleVolumes.default.dist; then rm -f %D/etc/AppleVolumes.default; fi
etc/AppleVolumes.default.dist
@ -61,6 +60,13 @@ etc/papd.conf.dist
@exec [ ! -f %B/papd.conf ] && cp %B/%f %B/papd.conf
etc/uams/uams_clrtxt.so
etc/uams/uams_dhx.so
etc/uams/uams_dhx2.so
%%NETATALKPAM%%etc/uams/uams_dhx2_pam.a
%%NETATALKPAM%%etc/uams/uams_dhx2_pam.la
%%NETATALKPAM%%etc/uams/uams_dhx2_pam.so
etc/uams/uams_dhx2_passwd.a
etc/uams/uams_dhx2_passwd.la
etc/uams/uams_dhx2_passwd.so
%%NETATALKPAM%%etc/uams/uams_dhx_pam.a
%%NETATALKPAM%%etc/uams/uams_dhx_pam.la
%%NETATALKPAM%%etc/uams/uams_dhx_pam.so
@ -100,10 +106,12 @@ include/atalk/pap.h
include/atalk/paths.h
include/atalk/rtmp.h
include/atalk/server_child.h
include/atalk/server_ipc.h
include/atalk/tdb.h
include/atalk/uam.h
include/atalk/unicode.h
include/atalk/util.h
include/atalk/volinfo.h
include/atalk/zip.h
include/netatalk/aarp.h
include/netatalk/at.h