errno = EADDRINUSE;
D( fprintf(stderr, " -- can't resolve\n"); )
return (-1);
- found:;
}
+found:
D( fprintf(stderr, " -> `%s'\n", sun->sun_path); )
return (0);
}
int getsockname(int sk, struct sockaddr *sa, socklen_t *len)
{
+ char sabuf[1024];
+ socklen_t mylen = sizeof(sabuf);
int rc;
Dpid;
D( fprintf(stderr, "noip(%d): GETSOCKNAME sk=%d", pid, sk); )
- PRESERVING_ERRNO({
- char sabuf[1024];
- socklen_t mylen = sizeof(sabuf);
- rc = real_getsockname(sk, SA(sabuf), &mylen);
- if (rc >= 0) {
- D( fprintf(stderr, " -> converting...\n"); )
- return_fake_name(SA(sabuf), mylen, sa, len);
- D( fprintf(stderr, "noip(%d): ... GETSOCKNAME", pid); )
- }
- });
+ rc = real_getsockname(sk, SA(sabuf), &mylen);
+ if (rc >= 0) {
+ D( fprintf(stderr, " -> converting...\n"); )
+ return_fake_name(SA(sabuf), mylen, sa, len);
+ D( fprintf(stderr, "noip(%d): ... GETSOCKNAME", pid); )
+ }
D( dump_addrresult(rc, sa, *len); )
return (rc);
}
int getpeername(int sk, struct sockaddr *sa, socklen_t *len)
{
+ char sabuf[1024];
+ socklen_t mylen = sizeof(sabuf);
int rc;
Dpid;
D( fprintf(stderr, "noip(%d): GETPEERNAME sk=%d", pid, sk); )
- PRESERVING_ERRNO({
- char sabuf[1024];
- socklen_t mylen = sizeof(sabuf);
- rc = real_getpeername(sk, SA(sabuf), &mylen);
- if (rc >= 0) {
- D( fprintf(stderr, " -> converting...\n"); )
- return_fake_name(SA(sabuf), mylen, sa, len);
- D( fprintf(stderr, "noip(%d): ... GETPEERNAME", pid); )
- }
- });
+ rc = real_getpeername(sk, SA(sabuf), &mylen);
+ if (rc >= 0) {
+ D( fprintf(stderr, " -> converting...\n"); )
+ return_fake_name(SA(sabuf), mylen, sa, len);
+ D( fprintf(stderr, "noip(%d): ... GETPEERNAME", pid); )
+ }
D( dump_addrresult(rc, sa, *len); )
return (0);
}
int getsockopt(int sk, int lev, int opt, void *p, socklen_t *len)
{
switch (lev) {
- case SOL_IP:
- case SOL_TCP:
- case SOL_UDP:
+ case IPPROTO_IP:
+ case IPPROTO_IPV6:
+ case IPPROTO_TCP:
+ case IPPROTO_UDP:
if (*len > 0)
memset(p, 0, *len);
return (0);
int setsockopt(int sk, int lev, int opt, const void *p, socklen_t len)
{
switch (lev) {
- case SOL_IP:
- case SOL_TCP:
- case SOL_UDP:
+ case IPPROTO_IP:
+ case IPPROTO_IPV6:
+ case IPPROTO_TCP:
+ case IPPROTO_UDP:
return (0);
}
switch (opt) {