|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
commit 4cacc965afc4fb03a465ffcc6cb3078aeadc3818
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
Author: Tomas Richter <krik3t@gmail.com>
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
Date: Wed Feb 18 13:33:27 2009 -0500
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
Exportfs and rpc.mountd optimalization
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
There were some problems with exportfs and rpc.mountd for long export
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
lists - see https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=76643
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
I do optimalization as my bachelors thesis (Facuulty of informatics,
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
Masaryk's university Brno, Czech Republic), under lead of Yenya
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
Kasprzak.
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
Both exportfs and rpc.mount build linked list of exports (shared
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
functions in export.c). Every time they are inserting new export into
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
list, they search for same export in list.
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
I replaced linked list by hash table and functions export_add and
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
export_lookup by functions hash_export_add and hash_export_lookup
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
(export.c).
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
Because some other functions required exportlist as linked list, hash
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
table has some implementation modification im comparison with ordinary
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
hash table. It also keeps exports in linked list and has pointer to
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
head of the list. So there's no need of implementation function
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
<for_all_in_hash_table>.
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
Signed-off-by: Tomas Richter <krik3t@gmail.com>
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
Signed-off-by: Steve Dickson <steved@redhat.com>
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
diff -up nfs-utils-1.1.4/support/export/export.c.orig nfs-utils-1.1.4/support/export/export.c
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
--- nfs-utils-1.1.4/support/export/export.c.orig 2008-10-17 10:20:09.000000000 -0400
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+++ nfs-utils-1.1.4/support/export/export.c 2009-02-18 19:42:13.000000000 -0500
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
@@ -19,7 +19,8 @@
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
#include "nfslib.h"
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
#include "exportfs.h"
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
-nfs_export *exportlist[MCL_MAXTYPES] = { NULL, };
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+exp_hash_table exportlist[MCL_MAXTYPES] = {{NULL, {{NULL,NULL}, }}, };
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+static int export_hash(char *);
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
static void export_init(nfs_export *exp, nfs_client *clp,
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
struct exportent *nep);
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
@@ -125,22 +126,35 @@ export_dup(nfs_export *exp, struct hoste
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
return new;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
-
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
-void
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+/*
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ * Add export entry to hash table
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ */
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+void
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
export_add(nfs_export *exp)
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
- nfs_export **epp;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
- int type = exp->m_client->m_type;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
- int slen = strlen(exp->m_export.e_path);
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
-
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
- if (type < 0 || type >= MCL_MAXTYPES)
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
- xlog(L_FATAL, "unknown client type in export_add");
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
-
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
- epp = exportlist + type;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
- while (*epp && slen <= strlen((*epp)->m_export.e_path))
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
- epp = &((*epp)->m_next);
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
- exp->m_next = *epp;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
- *epp = exp;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ exp_hash_table *p_tbl;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ exp_hash_entry *p_hen;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ nfs_export *p_next;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ int type = exp->m_client->m_type;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ int pos;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ pos = export_hash(exp->m_export.e_path);
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ p_tbl = &(exportlist[type]); /* pointer to hash table */
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ p_hen = &(p_tbl->entries[pos]); /* pointer to hash table entry */
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ if (!(p_hen->p_first)) { /* hash table entry is empty */
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ p_hen->p_first = exp;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ p_hen->p_last = exp;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ exp->m_next = p_tbl->p_head;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ p_tbl->p_head = exp;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ } else { /* hash table entry is NOT empty */
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ p_next = p_hen->p_last->m_next;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ p_hen->p_last->m_next = exp;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ exp->m_next = p_next;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ p_hen->p_last = exp;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
nfs_export *
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
@@ -150,7 +164,7 @@ export_find(struct hostent *hp, char *pa
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
int i;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
for (i = 0; i < MCL_MAXTYPES; i++) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
- for (exp = exportlist[i]; exp; exp = exp->m_next) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ for (exp = exportlist[i].p_head; exp; exp = exp->m_next) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
if (!export_check(exp, hp, path))
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
continue;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
if (exp->m_client->m_type == MCL_FQDN)
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
@@ -169,7 +183,7 @@ export_allowed_internal (struct hostent
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
int i;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
for (i = 0; i < MCL_MAXTYPES; i++) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
- for (exp = exportlist[i]; exp; exp = exp->m_next) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ for (exp = exportlist[i].p_head; exp; exp = exp->m_next) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
if (!exp->m_mayexport ||
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
!export_check(exp, hp, path))
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
continue;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
@@ -207,17 +221,30 @@ export_allowed(struct hostent *hp, char
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
return NULL;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+/*
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ * Search hash table for export entry.
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ */
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
nfs_export *
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
-export_lookup(char *hname, char *path, int canonical)
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+export_lookup(char *hname, char *path, int canonical)
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
- nfs_client *clp;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
- nfs_export *exp;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ nfs_client *clp;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ nfs_export *exp;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ exp_hash_entry *p_hen;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ int pos;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
- if (!(clp = client_lookup(hname, canonical)))
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ clp = client_lookup(hname, canonical);
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ if(clp == NULL)
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
return NULL;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
- for (exp = exportlist[clp->m_type]; exp; exp = exp->m_next)
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
- if (exp->m_client == clp && !strcmp(exp->m_export.e_path, path))
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
- return exp;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ pos = export_hash(path);
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ p_hen = &(exportlist[clp->m_type].entries[pos]);
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ for(exp = p_hen->p_first; exp && (exp != p_hen->p_last->m_next);
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ exp = exp->m_next) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ if (exp->m_client == clp && !strcmp(exp->m_export.e_path, path)) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ return exp;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
return NULL;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
@@ -234,10 +261,10 @@ void
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
export_freeall(void)
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
nfs_export *exp, *nxt;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
- int i;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ int i, j;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
for (i = 0; i < MCL_MAXTYPES; i++) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
- for (exp = exportlist[i]; exp; exp = nxt) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ for (exp = exportlist[i].p_head; exp; exp = nxt) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
nxt = exp->m_next;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
client_release(exp->m_client);
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
if (exp->m_export.e_squids)
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
@@ -251,7 +278,40 @@ export_freeall(void)
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
xfree(exp->m_export.e_hostname);
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
xfree(exp);
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
- exportlist[i] = NULL;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ for(j = 0; j < HASH_TABLE_SIZE; j++) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ exportlist[i].entries[j].p_first = NULL;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ exportlist[i].entries[j].p_last = NULL;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ exportlist[i].p_head = NULL;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
client_freeall();
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+/*
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ * Compute and returns integer from string.
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ * Note: Its understood the smae integers can be same for
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ * different strings, but it should not matter.
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ */
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+static unsigned int
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+strtoint(char *str)
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+{
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ int i = 0;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ unsigned int n = 0;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ while ( str[i] != '\0') {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ n+=((int)str[i])*i;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ i++;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ return n;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+}
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+/*
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ * Hash function
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ */
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+static int
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+export_hash(char *str)
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+{
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ int num = strtoint(str);
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ return num % HASH_TABLE_SIZE;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+}
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
diff -up nfs-utils-1.1.4/support/export/xtab.c.orig nfs-utils-1.1.4/support/export/xtab.c
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
--- nfs-utils-1.1.4/support/export/xtab.c.orig 2008-10-17 10:20:09.000000000 -0400
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+++ nfs-utils-1.1.4/support/export/xtab.c 2009-02-18 19:42:13.000000000 -0500
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
@@ -100,7 +100,7 @@ xtab_write(char *xtab, char *xtabtmp, in
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
setexportent(xtabtmp, "w");
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
for (i = 0; i < MCL_MAXTYPES; i++) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
- for (exp = exportlist[i]; exp; exp = exp->m_next) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ for (exp = exportlist[i].p_head; exp; exp = exp->m_next) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
if (is_export && !exp->m_xtabent)
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
continue;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
if (!is_export && ! exp->m_exported)
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
diff -up nfs-utils-1.1.4/support/include/exportfs.h.orig nfs-utils-1.1.4/support/include/exportfs.h
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
--- nfs-utils-1.1.4/support/include/exportfs.h.orig 2008-10-17 10:20:09.000000000 -0400
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+++ nfs-utils-1.1.4/support/include/exportfs.h 2009-02-18 19:42:13.000000000 -0500
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
@@ -52,8 +52,21 @@ typedef struct mexport {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
* matching one client */
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
} nfs_export;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+#define HASH_TABLE_SIZE 1021
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+typedef struct _exp_hash_entry {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ nfs_export * p_first;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ nfs_export * p_last;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+} exp_hash_entry;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+typedef struct _exp_hash_table {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ nfs_export * p_head;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ exp_hash_entry entries[HASH_TABLE_SIZE];
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+} exp_hash_table;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+extern exp_hash_table exportlist[MCL_MAXTYPES];
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
extern nfs_client * clientlist[MCL_MAXTYPES];
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
-extern nfs_export * exportlist[MCL_MAXTYPES];
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
nfs_client * client_lookup(char *hname, int canonical);
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
nfs_client * client_find(struct hostent *);
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
@@ -69,7 +82,7 @@ struct hostent * client_resolve(struct
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
int client_member(char *client, char *name);
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
int export_read(char *fname);
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
-void export_add(nfs_export *);
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+void export_add(nfs_export *);
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
void export_reset(nfs_export *);
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
nfs_export * export_lookup(char *hname, char *path, int caconical);
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
nfs_export * export_find(struct hostent *, char *path);
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
diff -up nfs-utils-1.1.4/support/misc/tcpwrapper.c.orig nfs-utils-1.1.4/support/misc/tcpwrapper.c
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
--- nfs-utils-1.1.4/support/misc/tcpwrapper.c.orig 2009-02-17 16:45:04.000000000 -0500
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+++ nfs-utils-1.1.4/support/misc/tcpwrapper.c 2009-02-18 19:42:13.000000000 -0500
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
@@ -91,7 +91,7 @@ inline unsigned int strtoint(char *str)
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
return n;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
-inline int hashint(unsigned int num)
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+static inline int hashint(unsigned int num)
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
return num % HASH_TABLE_SIZE;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
diff -up nfs-utils-1.1.4/utils/exportfs/exportfs.c.orig nfs-utils-1.1.4/utils/exportfs/exportfs.c
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
--- nfs-utils-1.1.4/utils/exportfs/exportfs.c.orig 2008-10-17 10:20:09.000000000 -0400
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+++ nfs-utils-1.1.4/utils/exportfs/exportfs.c 2009-02-18 19:42:13.000000000 -0500
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
@@ -111,7 +111,6 @@ main(int argc, char **argv)
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
return 0;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
-
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
if (f_export && ! f_ignore)
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
export_read(_PATH_EXPORTS);
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
if (f_export) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
@@ -193,10 +192,10 @@ exports_update(int verbose)
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
nfs_export *exp;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
- for (exp = exportlist[MCL_FQDN]; exp; exp=exp->m_next) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ for (exp = exportlist[MCL_FQDN].p_head; exp; exp=exp->m_next) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
exports_update_one(exp, verbose);
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
- for (exp = exportlist[MCL_GSS]; exp; exp=exp->m_next) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ for (exp = exportlist[MCL_GSS].p_head; exp; exp=exp->m_next) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
exports_update_one(exp, verbose);
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
@@ -212,7 +211,7 @@ export_all(int verbose)
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
int i;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
for (i = 0; i < MCL_MAXTYPES; i++) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
- for (exp = exportlist[i]; exp; exp = exp->m_next) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ for (exp = exportlist[i].p_head; exp; exp = exp->m_next) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
if (verbose)
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
printf("exporting %s:%s\n",
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
exp->m_client->m_hostname,
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
@@ -308,7 +307,7 @@ unexportfs(char *arg, int verbose)
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
- for (exp = exportlist[htype]; exp; exp = exp->m_next) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ for (exp = exportlist[htype].p_head; exp; exp = exp->m_next) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
if (path && strcmp(path, exp->m_export.e_path))
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
continue;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
if (htype != exp->m_client->m_type)
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
@@ -453,7 +452,7 @@ dump(int verbose)
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
char *hname, c;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
for (htype = 0; htype < MCL_MAXTYPES; htype++) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
- for (exp = exportlist[htype]; exp; exp = exp->m_next) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ for (exp = exportlist[htype].p_head; exp; exp = exp->m_next) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
ep = &exp->m_export;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
if (!exp->m_xtabent)
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
continue; /* neilb */
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
diff -up nfs-utils-1.1.4/utils/mountd/auth.c.orig nfs-utils-1.1.4/utils/mountd/auth.c
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
--- nfs-utils-1.1.4/utils/mountd/auth.c.orig 2008-10-17 10:20:09.000000000 -0400
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+++ nfs-utils-1.1.4/utils/mountd/auth.c 2009-02-18 19:42:13.000000000 -0500
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
@@ -142,7 +142,7 @@ auth_authenticate_internal(char *what, s
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
exp = NULL;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
for (i = 0; !exp && i < MCL_MAXTYPES; i++)
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
- for (exp = exportlist[i]; exp; exp = exp->m_next) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ for (exp = exportlist[i].p_head; exp; exp = exp->m_next) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
if (strcmp(path, exp->m_export.e_path))
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
continue;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
if (!use_ipaddr && !client_member(my_client.m_hostname, exp->m_client->m_hostname))
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
diff -up nfs-utils-1.1.4/utils/mountd/cache.c.orig nfs-utils-1.1.4/utils/mountd/cache.c
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
--- nfs-utils-1.1.4/utils/mountd/cache.c.orig 2008-10-17 10:20:09.000000000 -0400
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+++ nfs-utils-1.1.4/utils/mountd/cache.c 2009-02-18 19:42:13.000000000 -0500
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
@@ -394,7 +394,7 @@ void nfsd_fh(FILE *f)
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
/* Now determine export point for this fsid/domain */
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
for (i=0 ; i < MCL_MAXTYPES; i++) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
nfs_export *next_exp;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
- for (exp = exportlist[i]; exp; exp = next_exp) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ for (exp = exportlist[i].p_head; exp; exp = next_exp) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
struct stat stb;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
char u[16];
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
char *path;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
@@ -654,7 +654,7 @@ void nfsd_export(FILE *f)
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
/* now find flags for this export point in this domain */
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
for (i=0 ; i < MCL_MAXTYPES; i++) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
- for (exp = exportlist[i]; exp; exp = exp->m_next) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ for (exp = exportlist[i].p_head; exp; exp = exp->m_next) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
if (!use_ipaddr && !client_member(dom, exp->m_client->m_hostname))
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
continue;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
if (exp->m_export.e_flags & NFSEXP_CROSSMOUNT) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
diff -up nfs-utils-1.1.4/utils/mountd/mountd.c.orig nfs-utils-1.1.4/utils/mountd/mountd.c
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
--- nfs-utils-1.1.4/utils/mountd/mountd.c.orig 2008-10-17 10:20:09.000000000 -0400
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+++ nfs-utils-1.1.4/utils/mountd/mountd.c 2009-02-18 19:42:13.000000000 -0500
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
@@ -521,7 +521,7 @@ get_exportlist(void)
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
elist = NULL;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
for (i = 0; i < MCL_MAXTYPES; i++) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
- for (exp = exportlist[i]; exp; exp = exp->m_next) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
+ for (exp = exportlist[i].p_head; exp; exp = exp->m_next) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
for (e = elist; e != NULL; e = e->ex_next) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
if (!strcmp(exp->m_export.e_path, e->ex_dir))
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
0e25fb5 |
break;
|