aboutsummaryrefslogtreecommitdiff
path: root/src/slave
diff options
context:
space:
mode:
authorRuss Allbery <rra@stanford.edu>2006-06-13 15:34:27 +0000
committerRuss Allbery <rra@stanford.edu>2006-06-13 15:34:27 +0000
commitf02ad6414091d17588c506fb6a29660e22734f03 (patch)
tree4719265194fafb82f7b06981bef9cc29ca974060 /src/slave
parent41eee15be5780702877cb9c3c1afe28d724c1ea9 (diff)
downloadkrb5-f02ad6414091d17588c506fb6a29660e22734f03.zip
krb5-f02ad6414091d17588c506fb6a29660e22734f03.tar.gz
krb5-f02ad6414091d17588c506fb6a29660e22734f03.tar.bz2
Change kprop and kpropd to fall back on port 754 if krb5_prop isn't
available via getservbyname rather than failing. Ticket: 3268 Version_Reported: 1.4.2 Component: krb5-misc git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@18123 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/slave')
-rw-r--r--src/slave/kprop.c9
-rw-r--r--src/slave/kprop.h1
-rw-r--r--src/slave/kpropd.c4
3 files changed, 6 insertions, 8 deletions
diff --git a/src/slave/kprop.c b/src/slave/kprop.c
index e730f46..b2ea2c2 100644
--- a/src/slave/kprop.c
+++ b/src/slave/kprop.c
@@ -346,13 +346,10 @@ open_connection(host, fd, Errmsg, ErrmsgSz)
if(!port) {
sp = getservbyname(KPROP_SERVICE, "tcp");
if (sp == 0) {
- (void) strncpy(Errmsg, KPROP_SERVICE, ErrmsgSz - 1);
- Errmsg[ErrmsgSz - 1] = '\0';
- (void) strncat(Errmsg, "/tcp: unknown service", ErrmsgSz - 1 - strlen(Errmsg));
- *fd = -1;
- return(0);
+ my_sin.sin_port = htons(KPROP_PORT);
+ } else {
+ my_sin.sin_port = sp->s_port;
}
- my_sin.sin_port = sp->s_port;
} else
my_sin.sin_port = port;
s = socket(AF_INET, SOCK_STREAM, 0);
diff --git a/src/slave/kprop.h b/src/slave/kprop.h
index 93e147e..bc601de 100644
--- a/src/slave/kprop.h
+++ b/src/slave/kprop.h
@@ -29,6 +29,7 @@
#define KPROP_SERVICE_NAME "host"
#define TGT_SERVICE_NAME "krbtgt"
#define KPROP_SERVICE "krb5_prop"
+#define KPROP_PORT 754
#define KPROP_PROT_VERSION "kprop5_01"
diff --git a/src/slave/kpropd.c b/src/slave/kpropd.c
index 6ded72a..9d87b9e 100644
--- a/src/slave/kpropd.c
+++ b/src/slave/kpropd.c
@@ -193,9 +193,9 @@ void do_standalone()
sp = getservbyname(KPROP_SERVICE, "tcp");
if (sp == NULL) {
com_err(progname, 0, "%s/tcp: unknown service", KPROP_SERVICE);
- exit(1);
+ my_sin.sin_port = htons(KPROP_PORT);
}
- my_sin.sin_port = sp->s_port;
+ else my_sin.sin_port = sp->s_port;
} else {
my_sin.sin_port = port;
}