aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin/rpc.lockd/kern.c
diff options
context:
space:
mode:
authorAlfred Perlstein <alfred@FreeBSD.org>2002-07-15 19:40:23 +0000
committerAlfred Perlstein <alfred@FreeBSD.org>2002-07-15 19:40:23 +0000
commit09ce4f7aaf5898daa573253450125b3f86bb946b (patch)
tree08c1766490b20ea5dcdd86157dd05bf33f410b18 /usr.sbin/rpc.lockd/kern.c
parent702b2a722be2fd42ac517e65dd8437aa5c819abf (diff)
downloadsrc-09ce4f7aaf5898daa573253450125b3f86bb946b.tar.gz
src-09ce4f7aaf5898daa573253450125b3f86bb946b.zip
Add IPv6 support.
Submitted by: Jean-Luc Richier <Jean-Luc.Richier@imag.fr>
Notes
Notes: svn path=/head/; revision=100134
Diffstat (limited to 'usr.sbin/rpc.lockd/kern.c')
-rw-r--r--usr.sbin/rpc.lockd/kern.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/usr.sbin/rpc.lockd/kern.c b/usr.sbin/rpc.lockd/kern.c
index e79cfb00f8fb..5eb94132dd1e 100644
--- a/usr.sbin/rpc.lockd/kern.c
+++ b/usr.sbin/rpc.lockd/kern.c
@@ -47,6 +47,7 @@
#include <string.h>
#include <syslog.h>
#include <unistd.h>
+#include <netdb.h>
#include "nlm_prot.h"
#include <nfs/rpcv2.h>
@@ -87,8 +88,17 @@ int unlock_request(LOCKD_MSG *);
#define d_calls (debug_level > 1)
#define d_args (debug_level > 2)
-#define from_addr(sockaddr) \
- (inet_ntoa((sockaddr)->sin_addr))
+static const char *
+from_addr(saddr)
+ struct sockaddr *saddr;
+{
+ static char inet_buf[INET6_ADDRSTRLEN];
+
+ if (getnameinfo(saddr, saddr->sa_len, inet_buf, sizeof(inet_buf),
+ NULL, 0, NI_NUMERICHOST) == 0)
+ return inet_buf;
+ return "???";
+}
void
client_cleanup(void)
@@ -257,7 +267,7 @@ test_request(LOCKD_MSG *msg)
syslog(LOG_DEBUG, "test request: %s: %s to %s",
msg->lm_nfsv3 ? "V4" : "V1/3",
msg->lm_fl.l_type == F_WRLCK ? "write" : "read",
- from_addr((struct sockaddr_in *)&msg->lm_addr));
+ from_addr((struct sockaddr *)&msg->lm_addr));
if (msg->lm_nfsv3) {
struct nlm4_testargs arg4;
@@ -326,7 +336,7 @@ lock_request(LOCKD_MSG *msg)
syslog(LOG_DEBUG, "lock request: %s: %s to %s",
msg->lm_nfsv3 ? "V4" : "V1/3",
msg->lm_fl.l_type == F_WRLCK ? "write" : "read",
- from_addr((struct sockaddr_in *)&msg->lm_addr));
+ from_addr((struct sockaddr *)&msg->lm_addr));
if (msg->lm_nfsv3) {
arg4.cookie.n_bytes = (char *)&msg->lm_msg_ident;
@@ -396,7 +406,7 @@ unlock_request(LOCKD_MSG *msg)
if (d_calls)
syslog(LOG_DEBUG, "unlock request: %s: to %s",
msg->lm_nfsv3 ? "V4" : "V1/3",
- from_addr((struct sockaddr_in *)&msg->lm_addr));
+ from_addr((struct sockaddr *)&msg->lm_addr));
if (msg->lm_nfsv3) {
arg4.cookie.n_bytes = (char *)&msg->lm_msg_ident;