diff options
author | jsing <> | 2015-09-09 14:32:06 +0000 |
---|---|---|
committer | jsing <> | 2015-09-09 14:32:06 +0000 |
commit | 2c18a6f4d09c01f7d9827c8868326f2e32148d48 (patch) | |
tree | 10ce29002ce13d10d7e83b759e2547b137a82e04 /src | |
parent | 57ddc6c63a7401c575cb57d4a2d6dfa685bf5ffa (diff) | |
download | openbsd-2c18a6f4d09c01f7d9827c8868326f2e32148d48.tar.gz openbsd-2c18a6f4d09c01f7d9827c8868326f2e32148d48.tar.bz2 openbsd-2c18a6f4d09c01f7d9827c8868326f2e32148d48.zip |
Only take ownership of a socket if we allocated it within libtls. If we are
passed a socket then the caller is responsible for closing it.
ok bcook@
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/libtls/tls_client.c | 6 | ||||
-rw-r--r-- | src/lib/libtls/tls_server.c | 10 |
2 files changed, 5 insertions, 11 deletions
diff --git a/src/lib/libtls/tls_client.c b/src/lib/libtls/tls_client.c index 55fb49ff78..81b5510431 100644 --- a/src/lib/libtls/tls_client.c +++ b/src/lib/libtls/tls_client.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: tls_client.c,v 1.22 2015/09/08 15:29:34 jsing Exp $ */ | 1 | /* $OpenBSD: tls_client.c,v 1.23 2015/09/09 14:32:06 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> |
4 | * | 4 | * |
@@ -145,6 +145,8 @@ tls_connect_servername(struct tls *ctx, const char *host, const char *port, | |||
145 | goto err; | 145 | goto err; |
146 | } | 146 | } |
147 | 147 | ||
148 | ctx->socket = s; | ||
149 | |||
148 | rv = 0; | 150 | rv = 0; |
149 | 151 | ||
150 | err: | 152 | err: |
@@ -157,8 +159,6 @@ err: | |||
157 | int | 159 | int |
158 | tls_connect_socket(struct tls *ctx, int s, const char *servername) | 160 | tls_connect_socket(struct tls *ctx, int s, const char *servername) |
159 | { | 161 | { |
160 | ctx->socket = s; | ||
161 | |||
162 | return tls_connect_fds(ctx, s, s, servername); | 162 | return tls_connect_fds(ctx, s, s, servername); |
163 | } | 163 | } |
164 | 164 | ||
diff --git a/src/lib/libtls/tls_server.c b/src/lib/libtls/tls_server.c index bb29c7ce42..190682e630 100644 --- a/src/lib/libtls/tls_server.c +++ b/src/lib/libtls/tls_server.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: tls_server.c,v 1.10 2015/08/27 15:26:50 jsing Exp $ */ | 1 | /* $OpenBSD: tls_server.c,v 1.11 2015/09/09 14:32:06 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> |
4 | * | 4 | * |
@@ -148,11 +148,5 @@ err: | |||
148 | int | 148 | int |
149 | tls_accept_socket(struct tls *ctx, struct tls **cctx, int socket) | 149 | tls_accept_socket(struct tls *ctx, struct tls **cctx, int socket) |
150 | { | 150 | { |
151 | int rv; | 151 | return (tls_accept_fds(ctx, cctx, socket, socket)); |
152 | |||
153 | rv = tls_accept_fds(ctx, cctx, socket, socket); | ||
154 | if (*cctx != NULL) | ||
155 | (*cctx)->socket = socket; | ||
156 | |||
157 | return (rv); | ||
158 | } | 152 | } |