diff --git a/.cvsignore b/.cvsignore index abb0106..6afc5ec 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,3 +1 @@ -netatalk-1.6.4.tar.bz2 -netatalk-2.0.2.tar.bz2 -netatalk-2.0.3.tar.bz2 +netatalk-2.0.4.tar.bz2 diff --git a/netatalk-1.6.3-norc.patch b/netatalk-1.6.3-norc.patch deleted file mode 100644 index 0c4c7d3..0000000 --- a/netatalk-1.6.3-norc.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- netatalk-1.6.3/bin/afile/Makefile.in.norc 2003-06-12 19:07:40.000000000 -0400 -+++ netatalk-1.6.3/bin/afile/Makefile.in 2003-07-08 14:22:28.000000000 -0400 -@@ -184,7 +184,6 @@ - INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/sys - - bin_PROGRAMS = afile achfile --bin_SCRIPTS = acleandir.rc - - afile_SOURCES = afile.c common.c common.h - achfile_SOURCES = achfile.c common.c common.h ---- netatalk-1.6.3/man/man1/Makefile.in.norc 2003-06-09 11:59:12.000000000 -0400 -+++ netatalk-1.6.3/man/man1/Makefile.in 2003-07-08 14:22:28.000000000 -0400 -@@ -188,7 +188,6 @@ - GENERATED_MANS = apple_cp.1 apple_mv.1 apple_rm.1 - TEMPLATE_FILES = $(foreach f,$(GENERATED_MANS),$(f).tmpl) - NONGENERATED_MANS = achfile.1 \ -- acleandir.1 \ - aecho.1 \ - afile.1 \ - afppasswd.1 \ diff --git a/netatalk-2.0.2-db4_2-db4_3.patch b/netatalk-2.0.2-db4_2-db4_3.patch deleted file mode 100644 index c2822be..0000000 --- a/netatalk-2.0.2-db4_2-db4_3.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff -up netatalk-2.0.3/bin/cnid/cnid_index.c.db4_2-db4_3 netatalk-2.0.3/bin/cnid/cnid_index.c ---- netatalk-2.0.3/bin/cnid/cnid_index.c.db4_2-db4_3 2008-10-10 10:32:53.000000000 +0200 -+++ netatalk-2.0.3/bin/cnid/cnid_index.c 2008-10-10 10:32:53.000000000 +0200 -@@ -274,10 +274,10 @@ static int dbif_count(const int dbi, u_i - DB_BTREE_STAT *sp; - DB *db = db_table[dbi].db; - -- ret = db->stat(db, &sp, 0); -+ ret = db->stat(db, (DB_TXN*)0L, &sp, 0); - - if (ret) { -- LOG(log_error, logtype_cnid, "error getting stat infotmation on database: %s", db_strerror(errno)); -+ LOG(log_error, logtype_cnid, "error getting stat information on database: %s", db_strerror(errno)); - return -1; - } - -diff -up netatalk-2.0.3/etc/cnid_dbd/dbif.c.db4_2-db4_3 netatalk-2.0.3/etc/cnid_dbd/dbif.c ---- netatalk-2.0.3/etc/cnid_dbd/dbif.c.db4_2-db4_3 2008-10-10 10:32:53.000000000 +0200 -+++ netatalk-2.0.3/etc/cnid_dbd/dbif.c 2008-10-10 10:32:53.000000000 +0200 -@@ -514,10 +514,10 @@ int dbif_count(const int dbi, u_int32_t - DB_BTREE_STAT *sp; - DB *db = db_table[dbi].db; - -- ret = db->stat(db, &sp, 0); -+ ret = db->stat(db, (DB_TXN*)0L, &sp, 0); - - if (ret) { -- LOG(log_error, logtype_cnid, "error getting stat infotmation on database: %s", db_strerror(errno)); -+ LOG(log_error, logtype_cnid, "error getting stat information on database: %s", db_strerror(errno)); - return -1; - } - diff --git a/netatalk-2.0.2-extern_ucreator.patch b/netatalk-2.0.2-extern_ucreator.patch deleted file mode 100644 index 3e3a919..0000000 --- a/netatalk-2.0.2-extern_ucreator.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up netatalk-2.0.3/etc/afpd/desktop.c.extern_ucreator netatalk-2.0.3/etc/afpd/desktop.c ---- netatalk-2.0.3/etc/afpd/desktop.c.extern_ucreator 2008-10-10 10:33:04.000000000 +0200 -+++ netatalk-2.0.3/etc/afpd/desktop.c 2008-10-10 10:33:04.000000000 +0200 -@@ -312,7 +312,7 @@ addicon_err: - } - - static u_char utag[] = { 0, 0, 0, 0 }; --static u_char ucreator[] = { 0, 0, 0, 0 };/* { 'U', 'N', 'I', 'X' };*/ -+u_char ucreator[] = { 0, 0, 0, 0 };/* { 'U', 'N', 'I', 'X' };*/ - static u_char utype[] = { 0, 0, 0, 0 };/* { 'T', 'E', 'X', 'T' };*/ - static short usize = 256; - static u_char uicon[] = { diff --git a/netatalk-2.0.3-chmod.patch b/netatalk-2.0.3-chmod.patch deleted file mode 100644 index f15f806..0000000 --- a/netatalk-2.0.3-chmod.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff -up netatalk-2.0.3/etc/afpd/unix.c.chmod netatalk-2.0.3/etc/afpd/unix.c ---- netatalk-2.0.3/etc/afpd/unix.c.chmod 2008-10-10 10:33:20.000000000 +0200 -+++ netatalk-2.0.3/etc/afpd/unix.c 2008-10-10 10:33:20.000000000 +0200 -@@ -415,14 +415,14 @@ mode_t mode; - struct stat *st; - { - struct stat sb; --mode_t mask = S_IRUSR |S_IWUSR | S_IRGRP | S_IWGRP |S_IROTH | S_IWOTH; -+mode_t mask = S_IRWXU | S_IRWXG | S_IRWXO; /* rwx for owner group and other, by default */ - - if (!st) { - if (stat(name, &sb) != 0) - return -1; - st = &sb; - } -- mode &= mask; /* keep only rw-rw-rw in mode */ -+ - mode |= st->st_mode & ~mask; /* keep other bits from previous mode */ - if ( chmod( name, mode & ~default_options.umask ) < 0 && errno != EPERM ) { - return -1; diff --git a/netatalk-2.0.3-db4_5.patch b/netatalk-2.0.3-db4_5.patch deleted file mode 100644 index 1c20b9a..0000000 --- a/netatalk-2.0.3-db4_5.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up netatalk-2.0.3/macros/db3-check.m4.db4_5 netatalk-2.0.3/macros/db3-check.m4 ---- netatalk-2.0.3/macros/db3-check.m4.db4_5 2008-10-10 10:32:48.000000000 +0200 -+++ netatalk-2.0.3/macros/db3-check.m4 2008-10-10 10:32:48.000000000 +0200 -@@ -115,6 +115,9 @@ int main(void) { - AC_DEFUN([NETATALK_BERKELEY_LINK], - [ - atalk_cv_lib_db=no -+NETATALK_BDB_LINK_TRY(atalk_cv_db_db_4_dot_7,[-ldb-4.7]) -+NETATALK_BDB_LINK_TRY(atalk_cv_db_db_4_dot_5,[-ldb-4.5]) -+NETATALK_BDB_LINK_TRY(atalk_cv_db_db_4_dot_3,[-ldb-4.3]) - NETATALK_BDB_LINK_TRY(atalk_cv_db_db_4_dot_2,[-ldb-4.2]) - NETATALK_BDB_LINK_TRY(atalk_cv_db_db42,[-ldb42]) - NETATALK_BDB_LINK_TRY(atalk_cv_db_db_42,[-ldb-42]) diff --git a/netatalk-2.0.3-log_stderr.patch b/netatalk-2.0.3-log_stderr.patch deleted file mode 100644 index 11788b1..0000000 --- a/netatalk-2.0.3-log_stderr.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -up netatalk-2.0.3/etc/papd/main.c.log_stderr netatalk-2.0.3/etc/papd/main.c ---- netatalk-2.0.3/etc/papd/main.c.log_stderr 2008-10-10 10:33:30.000000000 +0200 -+++ netatalk-2.0.3/etc/papd/main.c 2008-10-10 10:33:30.000000000 +0200 -@@ -260,7 +260,7 @@ int main( ac, av ) - - switch (server_lock("papd", pidfile, debug)) { - case 0: /* open a couple things again in the child */ -- if ((c = open("/", O_RDONLY)) >= 0) { -+ if (!debug && (c = open("/", O_RDONLY)) >= 0) { - dup2(c, 1); - dup2(c, 2); - } -@@ -287,7 +287,8 @@ int main( ac, av ) - openlog( p, LOG_PID ); - #else /* ultrix */ - set_processname(p); -- syslog_setup(log_debug, logtype_default, logoption_ndelay|logoption_pid, logfacility_lpr ); -+ syslog_setup(log_debug, logtype_default, logoption_ndelay | logoption_pid | -+ debug ? logoption_perror : 0, logfacility_lpr ); - #endif /* ultrix */ - - LOG(log_info, logtype_papd, "restart (%s)", version ); diff --git a/netatalk-2.0.3-lsb.patch b/netatalk-2.0.3-lsb.patch deleted file mode 100644 index ddd98da..0000000 --- a/netatalk-2.0.3-lsb.patch +++ /dev/null @@ -1,50 +0,0 @@ -diff -up netatalk-2.0.3/distrib/initscripts/rc.atalk.redhat.lsb netatalk-2.0.3/distrib/initscripts/rc.atalk.redhat ---- netatalk-2.0.3/distrib/initscripts/rc.atalk.redhat.lsb 2008-02-25 15:29:38.000000000 +0100 -+++ netatalk-2.0.3/distrib/initscripts/rc.atalk.redhat 2008-02-25 16:07:36.000000000 +0100 -@@ -1,8 +1,19 @@ - #! /bin/sh -+# -+### BEGIN INIT INFO -+# Provides: netatalk -+# Required-Start: $local_fs $network $syslog -+# Required-Stop: $local_fs $network $syslog -+# Short-Description: AppleTalk networking programs -+# Description: This package enables Linux to talk to Macintosh computers via the -+# AppleTalk networking protocol. It includes a daemon to allow Linux -+# to act as a file server over EtherTalk or IP for Mac's. -+### END INIT INFO -+ - # chkconfig: - 91 35 --# description: This package enables Linux to talk to Macintosh --# computers via the AppleTalk networking protocol and --# provides printer, file sharing, and AppleTalk routing -+# description: This package enables Linux to talk to Macintosh \ -+# computers via the AppleTalk networking protocol and \ -+# provides printer, file sharing, and AppleTalk routing \ - # services. - # - # AppleTalk daemons. Make sure not to start atalkd in the background: -@@ -27,12 +38,12 @@ ATALK_SBIN=/usr/sbin - - if [ ! -x ${ATALK_SBIN}/atalkd ]; then - echo "[${ATALK_SBIN}/atalkd not found. Did it compile?]"; -- exit 0; -+ exit 1; - fi - - if [ ! -f ${ATALK_CONF_DIR}/netatalk.conf ]; then - echo "[${ATALK_CONF_DIR}/netatalk.conf not found]"; -- exit 0; -+ exit 6; - fi - - # read in netatalk configuration -@@ -41,7 +52,7 @@ fi - # Check that networking is up. - if [ ${NETWORKING} = "no" ]; then - echo "[Network isn't started]"; -- exit 0; -+ exit 1; - fi - - # initialize return values diff --git a/netatalk-2.0.3-maxsrv.patch b/netatalk-2.0.3-maxsrv.patch deleted file mode 100644 index 11e7858..0000000 --- a/netatalk-2.0.3-maxsrv.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up netatalk-2.0.3/etc/cnid_dbd/cnid_metad.c.maxsrv netatalk-2.0.3/etc/cnid_dbd/cnid_metad.c ---- netatalk-2.0.3/etc/cnid_dbd/cnid_metad.c.maxsrv 2008-10-10 10:33:25.000000000 +0200 -+++ netatalk-2.0.3/etc/cnid_dbd/cnid_metad.c 2008-10-10 10:33:25.000000000 +0200 -@@ -93,7 +93,7 @@ - static int srvfd; - static int rqstfd; - --#define MAXSRV 128 -+#define MAXSRV 512 - - #define MAXSPAWN 3 /* Max times respawned in.. */ - diff --git a/netatalk-2.0.3-multiarch.patch b/netatalk-2.0.3-multiarch.patch deleted file mode 100644 index bfeaa87..0000000 --- a/netatalk-2.0.3-multiarch.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up netatalk-2.0.3/distrib/config/netatalk-config.in.multiarch netatalk-2.0.3/distrib/config/netatalk-config.in ---- netatalk-2.0.3/distrib/config/netatalk-config.in.multiarch 2008-10-10 10:33:35.000000000 +0200 -+++ netatalk-2.0.3/distrib/config/netatalk-config.in 2008-10-10 10:33:35.000000000 +0200 -@@ -218,9 +218,6 @@ fi - if test "@includedir@" != /usr/include ; then - includes="-I@includedir@" - fi --if test "@libdir@" != /usr/lib ; then -- libs="-L@libdir@" --fi - af_cflags="$af_cflags $includes" - af_libs="$libs -latalk" - diff --git a/netatalk-2.0.3-open_call.patch b/netatalk-2.0.3-open_call.patch deleted file mode 100644 index 5df0519..0000000 --- a/netatalk-2.0.3-open_call.patch +++ /dev/null @@ -1,140 +0,0 @@ -diff -up netatalk-2.0.3/bin/cnid/cnid_index.c.open_call netatalk-2.0.3/bin/cnid/cnid_index.c ---- netatalk-2.0.3/bin/cnid/cnid_index.c.open_call 2008-10-10 10:33:14.000000000 +0200 -+++ netatalk-2.0.3/bin/cnid/cnid_index.c 2008-10-10 10:33:14.000000000 +0200 -@@ -123,9 +123,9 @@ static int db_compat_open(DB *db, char * - int ret; - - #if DB_VERSION_MAJOR > 4 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1) -- ret = db->open(db, db_txn, file, name, type, DB_CREATE, mode); -+ ret = (db->open)(db, db_txn, file, name, type, DB_CREATE, mode); - #else -- ret = db->open(db, file, name, type, DB_CREATE, mode); -+ ret = (db->open)(db, file, name, type, DB_CREATE, mode); - #endif - - if (ret) { -@@ -353,7 +353,7 @@ static int dbif_env_init(void) - db_env->set_errfile(db_env, db_errlog); - db_env->set_verbose(db_env, DB_VERB_RECOVERY, 1); - db_env->set_verbose(db_env, DB_VERB_CHKPOINT, 1); -- if ((ret = db_env->open(db_env, ".", DBOPTIONS | DB_PRIVATE | DB_RECOVER, 0))) { -+ if ((ret = (db_env->open)(db_env, ".", DBOPTIONS | DB_PRIVATE | DB_RECOVER, 0))) { - LOG(log_error, logtype_cnid, "error opening DB environment: %s", - db_strerror(ret)); - db_env->close(db_env, 0); -@@ -379,7 +379,7 @@ static int dbif_env_init(void) - } - if (db_errlog != NULL) - db_env->set_errfile(db_env, db_errlog); -- if ((ret = db_env->open(db_env, ".", DBOPTIONS , 0))) { -+ if ((ret = (db_env->open)(db_env, ".", DBOPTIONS , 0))) { - LOG(log_error, logtype_cnid, "error opening DB environment after recovery: %s", - db_strerror(ret)); - db_env->close(db_env, 0); -diff -up netatalk-2.0.3/etc/cnid_dbd/dbif.c.open_call netatalk-2.0.3/etc/cnid_dbd/dbif.c ---- netatalk-2.0.3/etc/cnid_dbd/dbif.c.open_call 2008-10-10 10:33:14.000000000 +0200 -+++ netatalk-2.0.3/etc/cnid_dbd/dbif.c 2008-10-10 10:33:14.000000000 +0200 -@@ -77,9 +77,9 @@ static int db_compat_open(DB *db, char * - int ret; - - #if DB_VERSION_MAJOR > 4 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1) -- ret = db->open(db, db_txn, file, name, type, DB_CREATE, mode); -+ ret = (db->open)(db, db_txn, file, name, type, DB_CREATE, mode); - #else -- ret = db->open(db, file, name, type, DB_CREATE, mode); -+ ret = (db->open)(db, file, name, type, DB_CREATE, mode); - #endif - - if (ret) { -@@ -164,7 +164,7 @@ int dbif_env_init(struct db_param *dbp) - db_env->set_errfile(db_env, db_errlog); - db_env->set_verbose(db_env, DB_VERB_RECOVERY, 1); - db_env->set_verbose(db_env, DB_VERB_CHKPOINT, 1); -- if ((ret = db_env->open(db_env, ".", DBOPTIONS | DB_PRIVATE | DB_RECOVER, 0))) { -+ if ((ret = (db_env->open)(db_env, ".", DBOPTIONS | DB_PRIVATE | DB_RECOVER, 0))) { - LOG(log_error, logtype_cnid, "error opening DB environment: %s", - db_strerror(ret)); - db_env->close(db_env, 0); -@@ -198,7 +198,7 @@ int dbif_env_init(struct db_param *dbp) - - if (db_errlog != NULL) - db_env->set_errfile(db_env, db_errlog); -- if ((ret = db_env->open(db_env, ".", DBOPTIONS , 0))) { -+ if ((ret = (db_env->open)(db_env, ".", DBOPTIONS , 0))) { - LOG(log_error, logtype_cnid, "error opening DB environment after recovery: %s", - db_strerror(ret)); - db_env->close(db_env, 0); -diff -up netatalk-2.0.3/libatalk/cnid/cdb/cnid_cdb_open.c.open_call netatalk-2.0.3/libatalk/cnid/cdb/cnid_cdb_open.c ---- netatalk-2.0.3/libatalk/cnid/cdb/cnid_cdb_open.c.open_call 2008-10-10 10:33:14.000000000 +0200 -+++ netatalk-2.0.3/libatalk/cnid/cdb/cnid_cdb_open.c 2008-10-10 10:33:14.000000000 +0200 -@@ -131,9 +131,9 @@ static int my_associate (DB *p, DB *s, - static int my_open(DB * p, const char *f, const char *d, DBTYPE t, u_int32_t flags, int mode) - { - #if DB_VERSION_MAJOR > 4 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1) -- return p->open(p, NULL, f, d, t, flags, mode); -+ return (p->open)(p, NULL, f, d, t, flags, mode); - #else -- return p->open(p, f, d, t, flags, mode); -+ return (p->open)(p, f, d, t, flags, mode); - #endif - } - -@@ -275,7 +275,7 @@ struct _cnid_db *cnid_cdb_open(const cha - } - - /* Open the database environment. */ -- if ((rc = db->dbenv->open(db->dbenv, path, DBOPTIONS, 0666 & ~mask)) != 0) { -+ if ((rc = (db->dbenv->open)(db->dbenv, path, DBOPTIONS, 0666 & ~mask)) != 0) { - LOG(log_error, logtype_default, "cnid_open: dbenv->open (rw) of %s failed: %s", path, db_strerror(rc)); - /* FIXME: This should probably go. Even if it worked, any use for a read-only DB? Didier? */ - if (rc == DB_RUNRECOVERY) { -@@ -288,10 +288,10 @@ struct _cnid_db *cnid_cdb_open(const cha - /* We can't get a full transactional environment, so multi-access - * is out of the question. Let's assume a read-only environment, - * and try to at least get a shared memory pool. */ -- if ((rc = db->dbenv->open(db->dbenv, path, DB_INIT_MPOOL, 0666 & ~mask)) != 0) { -+ if ((rc = (db->dbenv->open)(db->dbenv, path, DB_INIT_MPOOL, 0666 & ~mask)) != 0) { - /* Nope, not a MPOOL, either. Last-ditch effort: we'll try to - * open the environment with no flags. */ -- if ((rc = db->dbenv->open(db->dbenv, path, 0, 0666 & ~mask)) != 0) { -+ if ((rc = (db->dbenv->open)(db->dbenv, path, 0, 0666 & ~mask)) != 0) { - LOG(log_error, logtype_default, "cnid_open: dbenv->open of %s failed: %s", path, db_strerror(rc)); - goto fail_lock; - } -diff -up netatalk-2.0.3/libatalk/cnid/db3/cnid_db3_open.c.open_call netatalk-2.0.3/libatalk/cnid/db3/cnid_db3_open.c ---- netatalk-2.0.3/libatalk/cnid/db3/cnid_db3_open.c.open_call 2008-10-10 10:33:14.000000000 +0200 -+++ netatalk-2.0.3/libatalk/cnid/db3/cnid_db3_open.c 2008-10-10 10:33:14.000000000 +0200 -@@ -133,9 +133,9 @@ static int my_yield(void) - static int my_open(DB * p, const char *f, const char *d, DBTYPE t, u_int32_t flags, int mode) - { - #if DB_VERSION_MAJOR > 4 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1) -- return p->open(p, NULL, f, d, t, flags | DB_AUTO_COMMIT, mode); -+ return (p->open)(p, NULL, f, d, t, flags | DB_AUTO_COMMIT, mode); - #else -- return p->open(p, f, d, t, flags, mode); -+ return (p->open)(p, f, d, t, flags, mode); - #endif - } - -@@ -350,7 +350,7 @@ struct _cnid_db *cnid_db3_open(const cha - #endif /* DB_VERSION_MINOR > 1 */ - - /* Open the database environment. */ -- if ((rc = db->dbenv->open(db->dbenv, path, DBOPTIONS, 0666 & ~mask)) != 0) { -+ if ((rc = (db->dbenv->open)(db->dbenv, path, DBOPTIONS, 0666 & ~mask)) != 0) { - if (rc == DB_RUNRECOVERY) { - /* This is the mother of all errors. We _must_ fail here. */ - LOG(log_error, logtype_default, -@@ -361,10 +361,10 @@ struct _cnid_db *cnid_db3_open(const cha - /* We can't get a full transactional environment, so multi-access - * is out of the question. Let's assume a read-only environment, - * and try to at least get a shared memory pool. */ -- if ((rc = db->dbenv->open(db->dbenv, path, DB_INIT_MPOOL, 0666 & ~mask)) != 0) { -+ if ((rc = (db->dbenv->open)(db->dbenv, path, DB_INIT_MPOOL, 0666 & ~mask)) != 0) { - /* Nope, not a MPOOL, either. Last-ditch effort: we'll try to - * open the environment with no flags. */ -- if ((rc = db->dbenv->open(db->dbenv, path, 0, 0666 & ~mask)) != 0) { -+ if ((rc = (db->dbenv->open)(db->dbenv, path, 0, 0666 & ~mask)) != 0) { - LOG(log_error, logtype_default, "cnid_open: dbenv->open of %s failed: %s", path, db_strerror(rc)); - goto fail_lock; - } diff --git a/netatalk-2.0.3-papd_cmds.patch b/netatalk-2.0.3-papd_cmds.patch deleted file mode 100644 index fdc1e51..0000000 --- a/netatalk-2.0.3-papd_cmds.patch +++ /dev/null @@ -1,104 +0,0 @@ -diff -Nurad netatalk-2.0.3.orig/etc/papd/lp.c netatalk-2.0.3/etc/papd/lp.c ---- netatalk-2.0.3.orig/etc/papd/lp.c 2009-01-28 17:04:36.000000000 +0100 -+++ netatalk-2.0.3/etc/papd/lp.c 2009-01-28 17:05:01.000000000 +0100 -@@ -212,10 +212,54 @@ - - #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 ';': -+ 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 = '\\'; -+ 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 +268,16 @@ - if (!src) - return NULL; - -- strncpy(dest, src, MAXPATHLEN); -- if ((p = strchr(src, '%')) == NULL) /* nothing to do */ -+ memset(dest, 0, sizeof(destbuf)); -+ if ((p = strchr(src, '%')) == NULL) { /* nothing to do */ -+ strncpy(dest, src, sizeof(dest) - 1); - return destbuf; -+ } - - /* first part of the path. just 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 +293,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; diff --git a/netatalk-2.0.4-db4_2-db4_3.patch b/netatalk-2.0.4-db4_2-db4_3.patch new file mode 100644 index 0000000..ff9cd3e --- /dev/null +++ b/netatalk-2.0.4-db4_2-db4_3.patch @@ -0,0 +1,34 @@ +diff -up netatalk-2.0.4/bin/cnid/cnid_index.c.db4_2-db4_3 netatalk-2.0.4/bin/cnid/cnid_index.c +--- netatalk-2.0.4/bin/cnid/cnid_index.c.db4_2-db4_3 2009-07-14 15:54:50.444609410 +0200 ++++ netatalk-2.0.4/bin/cnid/cnid_index.c 2009-07-14 15:58:10.143829111 +0200 +@@ -277,11 +277,11 @@ static int dbif_count(const int dbi, u_i + #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); ++ ret = db->stat(db, (DB_TXN*)0L, &sp, 0); + #endif + + if (ret) { +- LOG(log_error, logtype_cnid, "error getting stat infotmation on database: %s", db_strerror(errno)); ++ LOG(log_error, logtype_cnid, "error getting stat information on database: %s", db_strerror(errno)); + return -1; + } + +diff -up netatalk-2.0.4/etc/cnid_dbd/dbif.c.db4_2-db4_3 netatalk-2.0.4/etc/cnid_dbd/dbif.c +--- netatalk-2.0.4/etc/cnid_dbd/dbif.c.db4_2-db4_3 2009-07-14 15:55:16.428613311 +0200 ++++ netatalk-2.0.4/etc/cnid_dbd/dbif.c 2009-07-14 15:57:17.038828997 +0200 +@@ -516,11 +516,11 @@ int dbif_count(const int dbi, u_int32_t + #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); ++ ret = db->stat(db, (DB_TXN*)0L, &sp, 0); + #endif + + if (ret) { +- LOG(log_error, logtype_cnid, "error getting stat infotmation on database: %s", db_strerror(errno)); ++ LOG(log_error, logtype_cnid, "error getting stat information on database: %s", db_strerror(errno)); + return -1; + } + diff --git a/netatalk-2.0.4-extern_ucreator.patch b/netatalk-2.0.4-extern_ucreator.patch new file mode 100644 index 0000000..413ac08 --- /dev/null +++ b/netatalk-2.0.4-extern_ucreator.patch @@ -0,0 +1,12 @@ +diff -up netatalk-2.0.4/etc/afpd/desktop.c.extern_ucreator netatalk-2.0.4/etc/afpd/desktop.c +--- netatalk-2.0.4/etc/afpd/desktop.c.extern_ucreator 2009-07-14 16:26:36.984610055 +0200 ++++ netatalk-2.0.4/etc/afpd/desktop.c 2009-07-14 16:27:01.607580009 +0200 +@@ -312,7 +312,7 @@ addicon_err: + } + + static const u_char utag[] = { 0, 0, 0, 0 }; +-static const u_char ucreator[] = { 0, 0, 0, 0 };/* { 'U', 'N', 'I', 'X' };*/ ++u_char ucreator[] = { 0, 0, 0, 0 };/* { 'U', 'N', 'I', 'X' };*/ + static const u_char utype[] = { 0, 0, 0, 0 };/* { 'T', 'E', 'X', 'T' };*/ + static const short usize = 256; + diff --git a/netatalk-2.0.4-open_call.patch b/netatalk-2.0.4-open_call.patch new file mode 100644 index 0000000..1c9eece --- /dev/null +++ b/netatalk-2.0.4-open_call.patch @@ -0,0 +1,119 @@ +diff -up netatalk-2.0.4/bin/cnid/cnid_index.c.open_call netatalk-2.0.4/bin/cnid/cnid_index.c +--- netatalk-2.0.4/bin/cnid/cnid_index.c.open_call 2009-07-14 16:31:13.662612798 +0200 ++++ netatalk-2.0.4/bin/cnid/cnid_index.c 2009-07-14 16:32:12.494829074 +0200 +@@ -356,7 +356,7 @@ static int dbif_env_init(void) + if (db_errlog != NULL) + db_env->set_errfile(db_env, db_errlog); + db_env->set_verbose(db_env, DB_VERB_RECOVERY, 1); +- if ((ret = db_env->open(db_env, ".", DBOPTIONS | DB_PRIVATE | DB_RECOVER, 0))) { ++ if ((ret = (db_env->open)(db_env, ".", DBOPTIONS | DB_PRIVATE | DB_RECOVER, 0))) { + LOG(log_error, logtype_cnid, "error opening DB environment: %s", + db_strerror(ret)); + db_env->close(db_env, 0); +diff -up netatalk-2.0.4/etc/cnid_dbd/dbif.c.open_call netatalk-2.0.4/etc/cnid_dbd/dbif.c +--- netatalk-2.0.4/etc/cnid_dbd/dbif.c.open_call 2009-07-14 16:27:46.905837395 +0200 ++++ netatalk-2.0.4/etc/cnid_dbd/dbif.c 2009-07-14 16:33:31.712829253 +0200 +@@ -77,9 +77,9 @@ static int db_compat_open(DB *db, char * + int ret; + + #if DB_VERSION_MAJOR > 4 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1) +- ret = db->open(db, db_txn, file, name, type, DB_CREATE, mode); ++ ret = (db->open)(db, db_txn, file, name, type, DB_CREATE, mode); + #else +- ret = db->open(db, file, name, type, DB_CREATE, mode); ++ ret = (db->open)(db, file, name, type, DB_CREATE, mode); + #endif + + if (ret) { +@@ -163,7 +163,7 @@ int dbif_env_init(struct db_param *dbp) + if (db_errlog != NULL) + db_env->set_errfile(db_env, db_errlog); + db_env->set_verbose(db_env, DB_VERB_RECOVERY, 1); +- if ((ret = db_env->open(db_env, ".", DBOPTIONS | DB_PRIVATE | DB_RECOVER, 0))) { ++ if ((ret = (db_env->open)(db_env, ".", DBOPTIONS | DB_PRIVATE | DB_RECOVER, 0))) { + LOG(log_error, logtype_cnid, "error opening DB environment: %s", + db_strerror(ret)); + db_env->close(db_env, 0); +@@ -197,7 +197,7 @@ int dbif_env_init(struct db_param *dbp) + + if (db_errlog != NULL) + db_env->set_errfile(db_env, db_errlog); +- if ((ret = db_env->open(db_env, ".", DBOPTIONS , 0))) { ++ if ((ret = (db_env->open)(db_env, ".", DBOPTIONS , 0))) { + LOG(log_error, logtype_cnid, "error opening DB environment after recovery: %s", + db_strerror(ret)); + db_env->close(db_env, 0); +diff -up netatalk-2.0.4/libatalk/cnid/cdb/cnid_cdb_open.c.open_call netatalk-2.0.4/libatalk/cnid/cdb/cnid_cdb_open.c +--- netatalk-2.0.4/libatalk/cnid/cdb/cnid_cdb_open.c.open_call 2009-03-29 09:23:23.000000000 +0200 ++++ netatalk-2.0.4/libatalk/cnid/cdb/cnid_cdb_open.c 2009-07-14 16:27:46.924861205 +0200 +@@ -131,9 +131,9 @@ static int my_associate (DB *p, DB *s, + static int my_open(DB * p, const char *f, const char *d, DBTYPE t, u_int32_t flags, int mode) + { + #if DB_VERSION_MAJOR > 4 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1) +- return p->open(p, NULL, f, d, t, flags, mode); ++ return (p->open)(p, NULL, f, d, t, flags, mode); + #else +- return p->open(p, f, d, t, flags, mode); ++ return (p->open)(p, f, d, t, flags, mode); + #endif + } + +@@ -275,7 +275,7 @@ struct _cnid_db *cnid_cdb_open(const cha + } + + /* Open the database environment. */ +- if ((rc = db->dbenv->open(db->dbenv, path, DBOPTIONS, 0666 & ~mask)) != 0) { ++ if ((rc = (db->dbenv->open)(db->dbenv, path, DBOPTIONS, 0666 & ~mask)) != 0) { + LOG(log_error, logtype_default, "cnid_open: dbenv->open (rw) of %s failed: %s", path, db_strerror(rc)); + /* FIXME: This should probably go. Even if it worked, any use for a read-only DB? Didier? */ + if (rc == DB_RUNRECOVERY) { +@@ -288,10 +288,10 @@ struct _cnid_db *cnid_cdb_open(const cha + /* We can't get a full transactional environment, so multi-access + * is out of the question. Let's assume a read-only environment, + * and try to at least get a shared memory pool. */ +- if ((rc = db->dbenv->open(db->dbenv, path, DB_INIT_MPOOL, 0666 & ~mask)) != 0) { ++ if ((rc = (db->dbenv->open)(db->dbenv, path, DB_INIT_MPOOL, 0666 & ~mask)) != 0) { + /* Nope, not a MPOOL, either. Last-ditch effort: we'll try to + * open the environment with no flags. */ +- if ((rc = db->dbenv->open(db->dbenv, path, 0, 0666 & ~mask)) != 0) { ++ if ((rc = (db->dbenv->open)(db->dbenv, path, 0, 0666 & ~mask)) != 0) { + LOG(log_error, logtype_default, "cnid_open: dbenv->open of %s failed: %s", path, db_strerror(rc)); + goto fail_lock; + } +diff -up netatalk-2.0.4/libatalk/cnid/db3/cnid_db3_open.c.open_call netatalk-2.0.4/libatalk/cnid/db3/cnid_db3_open.c +--- netatalk-2.0.4/libatalk/cnid/db3/cnid_db3_open.c.open_call 2009-03-29 09:23:24.000000000 +0200 ++++ netatalk-2.0.4/libatalk/cnid/db3/cnid_db3_open.c 2009-07-14 16:27:46.928827444 +0200 +@@ -133,9 +133,9 @@ static int my_yield(void) + static int my_open(DB * p, const char *f, const char *d, DBTYPE t, u_int32_t flags, int mode) + { + #if DB_VERSION_MAJOR > 4 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1) +- return p->open(p, NULL, f, d, t, flags | DB_AUTO_COMMIT, mode); ++ return (p->open)(p, NULL, f, d, t, flags | DB_AUTO_COMMIT, mode); + #else +- return p->open(p, f, d, t, flags, mode); ++ return (p->open)(p, f, d, t, flags, mode); + #endif + } + +@@ -350,7 +350,7 @@ struct _cnid_db *cnid_db3_open(const cha + #endif /* DB_VERSION_MINOR > 1 */ + + /* Open the database environment. */ +- if ((rc = db->dbenv->open(db->dbenv, path, DBOPTIONS, 0666 & ~mask)) != 0) { ++ if ((rc = (db->dbenv->open)(db->dbenv, path, DBOPTIONS, 0666 & ~mask)) != 0) { + if (rc == DB_RUNRECOVERY) { + /* This is the mother of all errors. We _must_ fail here. */ + LOG(log_error, logtype_default, +@@ -361,10 +361,10 @@ struct _cnid_db *cnid_db3_open(const cha + /* We can't get a full transactional environment, so multi-access + * is out of the question. Let's assume a read-only environment, + * and try to at least get a shared memory pool. */ +- if ((rc = db->dbenv->open(db->dbenv, path, DB_INIT_MPOOL, 0666 & ~mask)) != 0) { ++ if ((rc = (db->dbenv->open)(db->dbenv, path, DB_INIT_MPOOL, 0666 & ~mask)) != 0) { + /* Nope, not a MPOOL, either. Last-ditch effort: we'll try to + * open the environment with no flags. */ +- if ((rc = db->dbenv->open(db->dbenv, path, 0, 0666 & ~mask)) != 0) { ++ if ((rc = (db->dbenv->open)(db->dbenv, path, 0, 0666 & ~mask)) != 0) { + LOG(log_error, logtype_default, "cnid_open: dbenv->open of %s failed: %s", path, db_strerror(rc)); + goto fail_lock; + } diff --git a/netatalk.spec b/netatalk.spec index e2974a4..8c446b6 100644 --- a/netatalk.spec +++ b/netatalk.spec @@ -1,24 +1,18 @@ Summary: AppleTalk networking programs Name: netatalk -Version: 2.0.3 -Release: 27%{?dist} +Version: 2.0.4 +Release: 1%{?dist} Epoch: 4 License: GPLv2+ Group: System Environment/Daemons Source0: http://download.sourceforge.net/netatalk/netatalk-%{version}.tar.bz2 Source1: atalk.init Source2: netatalk.pam-system-auth -Patch0: netatalk-2.0.3-db4_5.patch -Patch1: netatalk-2.0.2-db4_2-db4_3.patch +Patch1: netatalk-2.0.4-db4_2-db4_3.patch Patch2: netatalk-2.0.2-uams_no_pie.patch -Patch3: netatalk-2.0.2-extern_ucreator.patch +Patch3: netatalk-2.0.4-extern_ucreator.patch Patch4: netatalk-2.0.3-nodefault.patch -Patch5: netatalk-2.0.3-open_call.patch -Patch6: netatalk-2.0.3-chmod.patch -Patch7: netatalk-2.0.3-maxsrv.patch -Patch8: netatalk-2.0.3-log_stderr.patch -Patch9: netatalk-2.0.3-multiarch.patch -Patch10: netatalk-2.0.3-papd_cmds.patch +Patch5: netatalk-2.0.4-open_call.patch Url: http://netatalk.sourceforge.net/ Requires: pam Requires(post): /sbin/chkconfig /sbin/ldconfig @@ -32,16 +26,6 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) This package enables Linux to talk to Macintosh computers via the AppleTalk networking protocol. It includes a daemon to allow Linux to act as a file server over EtherTalk or IP for Mac's. -The systems without coreutils 7.0 and later require netatalk-timeout package. - -%package timeout -Summary: Timeout utility for the systems without coreutils -Group: System Environment/Daemons -Requires: %{name} = %{epoch}:%{version}-%{release} -Conflicts: coreutils >= 7.0 - -%description timeout -The package contains the timeout utility that was a part of netatalk earlier. The coreutils 7.0 and later contains this utility too therefore the timeout is separated to sub-package for usage on the systems without coreutils. %package devel Summary: Headers for Appletalk development @@ -53,17 +37,11 @@ programs. %prep %setup -q -%patch0 -p1 -b .db4_5 %patch1 -p1 -b .db4_2-db4_3 %patch2 -p1 -b .uams_no_pie %patch3 -p1 -b .extern_ucreator %patch4 -p1 %patch5 -p1 -b .open_call -%patch6 -p1 -b .chmod -%patch7 -p1 -b .maxsrv -%patch8 -p1 -b .log_stderr -%patch9 -p1 -b .multiarch -%patch10 -p1 -b .papd_cmds ln -s ./NEWS ChangeLog @@ -186,19 +164,13 @@ fi %{_sbindir}/* %{_bindir}/* %exclude %{_bindir}/netatalk-config -%exclude %{_bindir}/timeout %{_mandir}/man*/* %exclude %{_mandir}/man*/netatalk-config* -%exclude %{_mandir}/man1/timeout.1.gz %{_datadir}/netatalk %dir %{_libdir}/atalk %{_libdir}/atalk/*.so %{_libexecdir}/* -%files timeout -%{_bindir}/timeout -%{_mandir}/man1/timeout.1.gz - %files devel %defattr(-,root,root) %dir %{_includedir}/atalk @@ -210,6 +182,9 @@ fi %{_mandir}/man*/netatalk-config.1* %changelog +* Tue Jul 14 2009 Jiri Skala - 4:2.0.4-1 +- updated to latest upstream version + * Wed Feb 25 2009 Fedora Release Engineering - 4:2.0.3-27 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild diff --git a/sources b/sources index bde5f18..dba923b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -28092763085783805dc2f00aa2127a3e netatalk-2.0.3.tar.bz2 +6f2f40b51ab9268836ef89a7dffaccb0 netatalk-2.0.4.tar.bz2