From d29853b144535b46890f29f5de016e7c8d194452 Mon Sep 17 00:00:00 2001 From: fredrik Date: Thu, 21 Dec 2006 03:40:32 +0000 Subject: [PATCH] Add sockgetremotename2. git-svn-id: svn+ssh://svn.dolda2000.com/srv/svn/repos/src/doldaconnect@782 959494ce-11ee-0310-bf91-de5d638817bd --- daemon/net.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/daemon/net.c b/daemon/net.c index 389072a..647840c 100644 --- a/daemon/net.c +++ b/daemon/net.c @@ -1112,6 +1112,29 @@ int sockgetremotename(struct socket *sk, struct sockaddr **namebuf, socklen_t *l } } +int sockgetremotename2(struct socket *sk, struct socket *sk2, struct sockaddr **namebuf, socklen_t *lenbuf) +{ + struct sockaddr *name1, *name2; + socklen_t len1, len2; + + if(sk->family != sk2->family) + { + flog(LOG_ERR, "using sockgetremotename2 with sockets of differing family: %i %i", sk->family, sk2->family); + return(-1); + } + if(sockgetlocalname(sk, &name1, &len1)) + return(-1); + if(sockgetlocalname(sk2, &name2, &len2)) { + free(name1); + return(-1); + } + sethostaddr(name1, name2); + free(name2); + *namebuf = name1; + *lenbuf = len1; + return(0); +} + int addreq(struct sockaddr *x, struct sockaddr *y) { struct sockaddr_un *u1, *u2; -- 2.11.0