noip.c: Remove hints that we might intercept close(2).
authorMark Wooding <mdw@distorted.org.uk>
Sat, 5 Jun 2010 13:45:58 +0000 (14:45 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Sat, 5 Jun 2010 13:45:58 +0000 (14:45 +0100)
We don't because glibc makes it too hard.

noip.c

diff --git a/noip.c b/noip.c
index 06a07c6..9f82e25 100644 (file)
--- a/noip.c
+++ b/noip.c
@@ -100,8 +100,7 @@ static aclnode *connect_real,  **connect_tail = &connect_real;
   _(recvfrom, ssize_t, (int, void *buf, size_t, int,                   \
                        struct sockaddr *from, socklen_t *fromlen))     \
   _(sendmsg, ssize_t, (int, const struct msghdr *, int))               \
-  _(recvmsg, ssize_t, (int, struct msghdr *, int))                     \
-  _(close, int, (int))
+  _(recvmsg, ssize_t, (int, struct msghdr *, int))
 
 /* Function pointers to set up. */
 #define DECL(imp, ret, args) static ret (*real_##imp) args;
@@ -441,7 +440,7 @@ static int fixup_real_ip_socket(int sk)
   len = sizeof(ov_);                                                   \
   if (real_getsockopt(sk, SOL_SOCKET, SO_##opt, &ov_, &len) < 0 ||     \
       real_setsockopt(nsk, SOL_SOCKET, SO_##opt, &ov_, len)) {         \
-    real_close(nsk);                                                   \
+    close(nsk);                                                                \
     return (-1);                                                       \
   }                                                                    \
 } while (0);
@@ -451,11 +450,11 @@ static int fixup_real_ip_socket(int sk)
       (fd = fcntl(sk, F_GETFD)) < 0 ||
       fcntl(nsk, F_SETFL, f) < 0 ||
       dup2(nsk, sk) < 0) {
-    real_close(nsk);
+    close(nsk);
     return (-1);
   }
   unlink(sun.sun_path);
-  real_close(nsk);
+  close(nsk);
   if (fcntl(sk, F_SETFD, fd) < 0) {
     perror("noip: fixup_real_ip_socket F_SETFD");
     abort();