D( fprintf(stderr, " -> null addr; pass through"); )
n = real_recvfrom(sk, buf, len, flags, 0, 0);
} else {
- PRESERVING_ERRNO({
- n = real_recvfrom(sk, buf, len, flags, SA(sabuf), &mylen);
- if (n >= 0) {
- D( fprintf(stderr, " -> converting...\n"); )
+ n = real_recvfrom(sk, buf, len, flags, SA(sabuf), &mylen);
+ if (n >= 0) {
+ D( fprintf(stderr, " -> converting...\n"); )
+ PRESERVING_ERRNO({
return_fake_peer(sk, SA(sabuf), mylen, from, fromlen);
- D( fprintf(stderr, "noip(%d): ... RECVFROM", pid); )
- }
- });
+ });
+ D( fprintf(stderr, "noip(%d): ... RECVFROM", pid); )
+ }
}
D( dump_addrresult(n, from, fromlen ? *fromlen : 0); )
return (n);
D( fprintf(stderr, " -> null addr; pass through"); )
return (real_recvmsg(sk, msg, flags));
} else {
- PRESERVING_ERRNO({
- msg->msg_name = sabuf;
- msg->msg_namelen = sizeof(sabuf);
- n = real_recvmsg(sk, msg, flags);
- if (n >= 0) {
- D( fprintf(stderr, " -> converting...\n"); )
+ msg->msg_name = sabuf;
+ msg->msg_namelen = sizeof(sabuf);
+ n = real_recvmsg(sk, msg, flags);
+ if (n >= 0) {
+ D( fprintf(stderr, " -> converting...\n"); )
+ PRESERVING_ERRNO({
return_fake_peer(sk, SA(sabuf), msg->msg_namelen, sa, &len);
- D( fprintf(stderr, "noip(%d): ... RECVMSG", pid); )
- }
- msg->msg_name = sa;
- msg->msg_namelen = len;
- });
+ });
+ }
+ D( fprintf(stderr, "noip(%d): ... RECVMSG", pid); )
+ msg->msg_name = sa;
+ msg->msg_namelen = len;
}
D( dump_addrresult(n, sa, len); )
return (n);