summaryrefslogtreecommitdiff
path: root/net/netatalk/files/patch-ag
diff options
context:
space:
mode:
Diffstat (limited to 'net/netatalk/files/patch-ag')
-rw-r--r--net/netatalk/files/patch-ag50
1 files changed, 50 insertions, 0 deletions
diff --git a/net/netatalk/files/patch-ag b/net/netatalk/files/patch-ag
new file mode 100644
index 000000000000..39d8d3cdbd7a
--- /dev/null
+++ b/net/netatalk/files/patch-ag
@@ -0,0 +1,50 @@
+--- libatalk/cnid/cnid_open.c.orig Thu Aug 16 10:30:29 2001
++++ libatalk/cnid/cnid_open.c Sun Sep 2 03:13:49 2001
+@@ -37,6 +37,7 @@
+ #include "config.h"
+ #endif /* HAVE_CONFIG_H */
+
++#ifdef CNID_DB
+ #include <errno.h>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -83,7 +84,7 @@
+ #define DBVERSION DBVERSION1
+
+ #define DBOPTIONS (DB_CREATE | DB_INIT_MPOOL | DB_INIT_LOCK | \
+-DB_INIT_LOG | DB_INIT_TXN | DB_TXN_NOSYNC | DB_RECOVER)
++DB_INIT_LOG | DB_INIT_TXN | DB_RECOVER)
+
+ #define MAXITER 0xFFFF /* maximum number of simultaneously open CNID
+ * databases. */
+@@ -100,7 +101,7 @@
+
+ /* sort did's and then names. this is for unix paths.
+ * i.e., did/unixname lookups. */
+-static int compare_unix(const DBT *a, const DBT *b)
++static int compare_unix(DB* db, const DBT *a, const DBT *b)
+ {
+ u_int8_t *sa, *sb;
+ int len, ret;
+@@ -214,6 +215,8 @@
+ goto fail_lock;
+ }
+
++ /* Check to see if a DBENV already exists. If it does, join it. */
++ if (db->dbenv->open(db->dbenv, path, DB_JOINENV, 0666)) {
+ if (db->dbenv->open(db->dbenv, path, DBOPTIONS, 0666)) {
+
+ /* try with a shared memory pool */
+@@ -229,6 +232,7 @@
+ open_flag = DB_RDONLY;
+ syslog(LOG_INFO, "cnid_open: read-only CNID database");
+ }
++ }
+
+ /* did/name reverse mapping. we use a btree for this one. */
+ if (db_create(&db->db_didname, db->dbenv, 0))
+@@ -358,3 +362,4 @@
+ free(db);
+ return NULL;
+ }
++#endif /* CNID_DB */