diff options
author | gibbs <gibbs@FreeBSD.org> | 1995-08-02 18:31:08 +0000 |
---|---|---|
committer | gibbs <gibbs@FreeBSD.org> | 1995-08-02 18:31:08 +0000 |
commit | 81842686f9c03ebc24d9b37e6db8f14197f9554e (patch) | |
tree | c609a18a5e8bf0c849b9753e153e592e163e9f0b /eBones/usr.sbin/kadmind/admin_server.c | |
parent | 2025cfa67f37a6a4ec6c895380fddda501d5b899 (diff) | |
download | FreeBSD-src-81842686f9c03ebc24d9b37e6db8f14197f9554e.zip FreeBSD-src-81842686f9c03ebc24d9b37e6db8f14197f9554e.tar.gz |
Make kadmind safe to run on multi-homed machines.
Reviewed by: Garrett A. Wollman (wollman@FreeBSD.org)
Diffstat (limited to 'eBones/usr.sbin/kadmind/admin_server.c')
-rw-r--r-- | eBones/usr.sbin/kadmind/admin_server.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/eBones/usr.sbin/kadmind/admin_server.c b/eBones/usr.sbin/kadmind/admin_server.c index 7f04ff2..ce36eb6 100644 --- a/eBones/usr.sbin/kadmind/admin_server.c +++ b/eBones/usr.sbin/kadmind/admin_server.c @@ -226,6 +226,16 @@ kadm_listen() log("accept: %s",error_message(errno)); continue; } + addrlen = sizeof(server_parm.admin_addr); + if (getsockname(peer_fd, (struct sockaddr *)&server_parm.admin_addr, + &addrlen)) { + log("getsockname: %s",error_message(errno)); + continue; + } +#ifdef DEBUG + printf("Connection recieved on %s\n", + inet_ntoa(server_parm.admin_addr.sin_addr)); +#endif /* DEBUG */ #ifndef DEBUG /* if you want a sep daemon for each server */ if (pid = fork()) { |