]> andersk Git - openssh.git/commitdiff
- stevesk@cvs.openbsd.org 2002/08/22 19:27:53
authordjm <djm>
Wed, 4 Sep 2002 06:31:21 +0000 (06:31 +0000)
committerdjm <djm>
Wed, 4 Sep 2002 06:31:21 +0000 (06:31 +0000)
     [ssh-agent.c]
     use common close function; ok markus@

ChangeLog
ssh-agent.c

index 793f97cc701601a2783dac9c79d0d36ba83a4ea0..2c99fc27d9e592c3ba3291ba569dfb991e2abae7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -13,6 +13,9 @@
    - stevesk@cvs.openbsd.org 2002/08/21 20:10:28
      [ssh-agent.c]
      raise listen backlog; ok markus@
+   - stevesk@cvs.openbsd.org 2002/08/22 19:27:53
+     [ssh-agent.c]
+     use common close function; ok markus@
 
 20020820
  - OpenBSD CVS Sync
index da1bf3bd118f99f7331ed742d1252a323a4235f1..cdc236d99cbb30e2d5f4a1b09d281a8222b2d74c 100644 (file)
@@ -35,7 +35,7 @@
 
 #include "includes.h"
 #include "openbsd-compat/fake-queue.h"
-RCSID("$OpenBSD: ssh-agent.c,v 1.100 2002/08/21 20:10:28 stevesk Exp $");
+RCSID("$OpenBSD: ssh-agent.c,v 1.101 2002/08/22 19:27:53 stevesk Exp $");
 
 #include <openssl/evp.h>
 #include <openssl/md5.h>
@@ -106,6 +106,18 @@ extern char *__progname;
 char *__progname;
 #endif
 
+static void
+close_socket(SocketEntry *e)
+{
+       shutdown(e->fd, SHUT_RDWR);
+       close(e->fd);
+       e->fd = -1;
+       e->type = AUTH_UNUSED;
+       buffer_free(&e->input);
+       buffer_free(&e->output);
+       buffer_free(&e->request);
+}
+
 static void
 idtab_init(void)
 {
@@ -617,13 +629,7 @@ process_message(SocketEntry *e)
        cp = buffer_ptr(&e->input);
        msg_len = GET_32BIT(cp);
        if (msg_len > 256 * 1024) {
-               shutdown(e->fd, SHUT_RDWR);
-               close(e->fd);
-               e->fd = -1;
-               e->type = AUTH_UNUSED;
-               buffer_free(&e->input);
-               buffer_free(&e->output);
-               buffer_free(&e->request);
+               close_socket(e);
                return;
        }
        if (buffer_len(&e->input) < msg_len + 4)
@@ -836,13 +842,7 @@ after_select(fd_set *readset, fd_set *writeset)
                                        break;
                                } while (1);
                                if (len <= 0) {
-                                       shutdown(sockets[i].fd, SHUT_RDWR);
-                                       close(sockets[i].fd);
-                                       sockets[i].fd = -1;
-                                       sockets[i].type = AUTH_UNUSED;
-                                       buffer_free(&sockets[i].input);
-                                       buffer_free(&sockets[i].output);
-                                       buffer_free(&sockets[i].request);
+                                       close_socket(&sockets[i]);
                                        break;
                                }
                                buffer_consume(&sockets[i].output, len);
@@ -856,13 +856,7 @@ after_select(fd_set *readset, fd_set *writeset)
                                        break;
                                } while (1);
                                if (len <= 0) {
-                                       shutdown(sockets[i].fd, SHUT_RDWR);
-                                       close(sockets[i].fd);
-                                       sockets[i].fd = -1;
-                                       sockets[i].type = AUTH_UNUSED;
-                                       buffer_free(&sockets[i].input);
-                                       buffer_free(&sockets[i].output);
-                                       buffer_free(&sockets[i].request);
+                                       close_socket(&sockets[i]);
                                        break;
                                }
                                buffer_append(&sockets[i].input, buf, len);
This page took 0.048327 seconds and 5 git commands to generate.