79 lines
1.7 KiB
Diff
79 lines
1.7 KiB
Diff
# Patch origin: nfs-server source RPM from openSUSE 10.3
|
|
|
|
--- nfs-server/auth.c
|
|
+++ nfs-server/auth.c 2002/11/08 12:49:13
|
|
@@ -595,7 +595,6 @@
|
|
cp->clnt_addr.s_addr = INADDR_ANY;
|
|
cp->flags = 0;
|
|
cp->m = NULL;
|
|
- cp->umap = NULL;
|
|
|
|
if (hname == NULL) {
|
|
if (anonymous_client != NULL) {
|
|
@@ -1200,10 +1199,9 @@
|
|
free (mp->path);
|
|
if (mp->o.clnt_nisdomain)
|
|
free(mp->o.clnt_nisdomain);
|
|
+ if (mp->umap)
|
|
+ ugid_free_map(mp->umap);
|
|
free (mp);
|
|
- }
|
|
- if (cp->umap != NULL) {
|
|
- ugid_free_map(cp->umap);
|
|
}
|
|
free (cp);
|
|
}
|
|
--- nfs-server/auth.h
|
|
+++ nfs-server/auth.h 2002/11/08 12:50:24
|
|
@@ -66,6 +66,11 @@
|
|
char * path;
|
|
nfs_options o;
|
|
dev_t mount_dev;
|
|
+ /*
|
|
+ * This is the uid/gid map.
|
|
+ * See ugid_map.c for details
|
|
+ */
|
|
+ struct ugid_map * umap;
|
|
/* Original NFS client */
|
|
struct nfs_client * origin;
|
|
} nfs_mount;
|
|
@@ -77,12 +82,6 @@
|
|
char * clnt_name;
|
|
unsigned short flags;
|
|
nfs_mount * m;
|
|
-
|
|
- /*
|
|
- * This is the uid/gid map.
|
|
- * See ugid_map.c for details
|
|
- */
|
|
- struct ugid_map * umap;
|
|
} nfs_client;
|
|
|
|
#define AUTH_CLNT_WILDCARD 0x0001
|
|
--- nfs-server/ugid_map.c
|
|
+++ nfs-server/ugid_map.c 2002/11/08 12:49:14
|
|
@@ -401,12 +401,11 @@
|
|
static ugid_map *
|
|
ugid_get_map(nfs_mount *mountp)
|
|
{
|
|
- nfs_client *clientp = mountp->client;
|
|
struct ugid_map *umap;
|
|
unsigned int how;
|
|
|
|
- if (clientp->umap == NULL) {
|
|
- clientp->umap = umap = (ugid_map *) xmalloc(sizeof(ugid_map));
|
|
+ if (mountp->umap == NULL) {
|
|
+ mountp->umap = umap = (ugid_map *) xmalloc(sizeof(ugid_map));
|
|
memset(umap, 0, sizeof(ugid_map));
|
|
|
|
for (how = 0; how < 4; how++) {
|
|
@@ -415,7 +414,7 @@
|
|
}
|
|
}
|
|
|
|
- return clientp->umap;
|
|
+ return mountp->umap;
|
|
}
|
|
|
|
static void
|