|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
commit a04f8b5a3ea94b7a9d96d339b6ccde5f2e67a2d1
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
Author: Olga Kornievskaia <aglo@citi.umich.edu>
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
Date: Wed May 7 10:54:51 2008 -0400
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
Check the info file nfs/rpc_pipefs/nfs/clnt?/info to
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
see if a port number was supplied. If so, use it rather
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
than the default port number.
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
Signed-off-by: Olga Kornievskaia <aglo@citi.umich.edu>
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
Signed-off-by: Steve Dickson <steved@redhat.com>
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
diff --git a/utils/gssd/gssd.h b/utils/gssd/gssd.h
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
index e17edde..6f14c34 100644
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
--- a/utils/gssd/gssd.h
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
+++ b/utils/gssd/gssd.h
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
@@ -80,6 +80,7 @@ struct clnt_info {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
int krb5_poll_index;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
int spkm3_fd;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
int spkm3_poll_index;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
+ int port;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
};
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
void init_client_list(void);
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
diff --git a/utils/gssd/gssd_proc.c b/utils/gssd/gssd_proc.c
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
index 6860cc8..bac7295 100644
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
--- a/utils/gssd/gssd_proc.c
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
+++ b/utils/gssd/gssd_proc.c
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
@@ -102,7 +102,7 @@ int pollsize; /* the size of pollaray (in pollfd's) */
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
/* XXX buffer problems: */
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
static int
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
read_service_info(char *info_file_name, char **servicename, char **servername,
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
- int *prog, int *vers, char **protocol) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
+ int *prog, int *vers, char **protocol, int *port) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
#define INFOBUFLEN 256
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
char buf[INFOBUFLEN];
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
static char dummy[128];
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
@@ -112,6 +112,8 @@ read_service_info(char *info_file_name, char **servicename, char **servername,
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
char program[16];
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
char version[16];
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
char protoname[16];
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
+ char cb_port[128];
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
+ char *p;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
in_addr_t inaddr;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
int fd = -1;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
struct hostent *ent = NULL;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
@@ -143,6 +145,10 @@ read_service_info(char *info_file_name, char **servicename, char **servername,
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
goto fail;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
}
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
+ cb_port[0] = '\0';
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
+ if ((p = strstr(buf, "port")) != NULL)
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
+ sscanf(p, "port: %127s\n", cb_port);
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
+
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
/* check service, program, and version */
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
if(memcmp(service, "nfs", 3)) return -1;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
*prog = atoi(program + 1); /* skip open paren */
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
@@ -163,6 +169,8 @@ read_service_info(char *info_file_name, char **servicename, char **servername,
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
if (!(*servicename = calloc(strlen(buf) + 1, 1)))
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
goto fail;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
memcpy(*servicename, buf, strlen(buf));
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
+ if (cb_port[0] != '\0')
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
+ *port = atoi(cb_port);
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
if (!(*protocol = strdup(protoname)))
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
goto fail;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
@@ -238,7 +246,7 @@ process_clnt_dir_files(struct clnt_info * clp)
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
if ((clp->servicename == NULL) &&
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
read_service_info(info_file_name, &clp->servicename,
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
&clp->servername, &clp->prog, &clp->vers,
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
- &clp->protocol))
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
+ &clp->protocol, &clp->port))
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
return -1;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
return 0;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
}
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
@@ -587,6 +595,8 @@ int create_auth_rpc_client(struct clnt_info *clp,
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
clp->servername, uid);
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
goto out_fail;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
}
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
+ if (clp->port)
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
+ ((struct sockaddr_in *)a->ai_addr)->sin_port = htons(clp->port);
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
if (a->ai_protocol == IPPROTO_TCP) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
if ((rpc_clnt = clnttcp_create(
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
85ed8ab |
(struct sockaddr_in *) a->ai_addr,
|