summaryrefslogtreecommitdiff
path: root/nis
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-08-03 17:22:13 +0000
committerUlrich Drepper <drepper@redhat.com>1999-08-03 17:22:13 +0000
commitd6f6ffa1664b0f39aa95973ff97f9995f51ff62d (patch)
tree276775c1c7a9a9378525c54b26f29dd8e0d4462d /nis
parent4bdd64534ff87261e204570697d7f7e83af5b6cd (diff)
Update.
1999-08-02 Thorsten Kukuk <kukuk@suse.de> * nis/nis_callback.c: Fix port problem on big-endian machines * sunrpc/clnt_udp.c: Cast to uint32_t pointer, not short. RPC fields are always 32 bit. Patches from Paul Mackerras <paulus@cs.anu.edu.au> * nis/nss_nis/nis-service.c: Remove htons, port is always in network-byte-order. * nis/nss_nisplus/nisplus-service.c: Rename number to port.
Diffstat (limited to 'nis')
-rw-r--r--nis/nis_callback.c4
-rw-r--r--nis/nss_nis/nis-service.c7
-rw-r--r--nis/nss_nisplus/nisplus-service.c12
3 files changed, 11 insertions, 12 deletions
diff --git a/nis/nis_callback.c b/nis/nis_callback.c
index eb5464479d..cf96b42dcf 100644
--- a/nis/nis_callback.c
+++ b/nis/nis_callback.c
@@ -351,10 +351,10 @@ __nis_create_callback (int (*callback) (const_nis_name, const nis_object *,
syslog (LOG_ERR, "NIS+: failed to read local socket info");
return NULL;
}
- port = sin.sin_port;
+ port = ntohs (sin.sin_port);
get_myaddress (&sin);
snprintf (addr, sizeof (addr), "%s.%d.%d", inet_ntoa (sin.sin_addr),
- port & 0x00FF, (port & 0xFF00) >> 8);
+ (port & 0xFF00) >> 8, port & 0x00FF);
cb->serv->ep.ep_val[0].uaddr = strdup (addr);
return cb;
diff --git a/nis/nss_nis/nis-service.c b/nis/nss_nis/nis-service.c
index 91bd65b22a..103b1e4115 100644
--- a/nis/nss_nis/nis-service.c
+++ b/nis/nss_nis/nis-service.c
@@ -1,6 +1,6 @@
-/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
This file is part of the GNU C Library.
- Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996.
+ Contributed by Thorsten Kukuk <kukuk@suse.de>, 1996.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
@@ -270,8 +270,7 @@ _nss_nis_getservbyport_r (int port, char *protocol, struct servent *serv,
while (!found &&
((status = internal_nis_getservent_r (serv, buffer, buflen, errnop,
&data)) == NSS_STATUS_SUCCESS))
- if (htons (serv->s_port) == port
- && strcmp (serv->s_proto, protocol) == 0)
+ if (serv->s_port == port && strcmp (serv->s_proto, protocol) == 0)
found = 1;
internal_nis_endservent (&data);
diff --git a/nis/nss_nisplus/nisplus-service.c b/nis/nss_nisplus/nisplus-service.c
index 6dfae5e2ef..36bf25a22a 100644
--- a/nis/nss_nisplus/nisplus-service.c
+++ b/nis/nss_nisplus/nisplus-service.c
@@ -1,6 +1,6 @@
-/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
This file is part of the GNU C Library.
- Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997.
+ Contributed by Thorsten Kukuk <kukuk@suse.de>, 1997.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
@@ -347,9 +347,9 @@ _nss_nisplus_getservbyname_r (const char *name, const char *protocol,
}
enum nss_status
-_nss_nisplus_getservbynumber_r (const int number, const char *protocol,
- struct servent *serv,
- char *buffer, size_t buflen, int *errnop)
+_nss_nisplus_getservbyport_r (const int number, const char *protocol,
+ struct servent *serv,
+ char *buffer, size_t buflen, int *errnop)
{
if (tablename_val == NULL)
{
@@ -370,7 +370,7 @@ _nss_nisplus_getservbynumber_r (const int number, const char *protocol,
nis_result *result;
char buf[60 + strlen (protocol) + tablename_len];
- sprintf (buf, "[number=%d,proto=%s],%s",
+ sprintf (buf, "[port=%d,proto=%s],%s",
number, protocol, tablename_val);
result = nis_list (buf, FOLLOW_PATH | FOLLOW_LINKS, NULL, NULL);