summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2005-03-31 07:46:38 +0000
committerRoger Dingledine <arma@torproject.org>2005-03-31 07:46:38 +0000
commit4a82ac12b8146818cf989bcedb831bf39c8aae3f (patch)
treed6d55f5e914fe926fd1bb8971407b57e0359c3d7
parentce4d64d9c67d40aef5b9632ac2373b9c981934ff (diff)
downloadtor-4a82ac12b8146818cf989bcedb831bf39c8aae3f.tar.gz
tor-4a82ac12b8146818cf989bcedb831bf39c8aae3f.zip
add a tor_tls_is_server method to remember if conn->tls
was an initiator or a receiver svn:r3931
-rw-r--r--src/common/tortls.c9
-rw-r--r--src/common/tortls.h1
2 files changed, 10 insertions, 0 deletions
diff --git a/src/common/tortls.c b/src/common/tortls.c
index 191a825196..1caaf10d03 100644
--- a/src/common/tortls.c
+++ b/src/common/tortls.c
@@ -430,6 +430,15 @@ tor_tls_new(int sock, int isServer, int use_no_cert)
return result;
}
+/** Return whether this tls initiated the connect (client) or
+ * received it (server). */
+int
+tor_tls_is_server(tor_tls *tls)
+{
+ tor_assert(tls);
+ return tls->isServer;
+}
+
/** Release resources associated with a TLS object. Does not close the
* underlying file descriptor.
*/
diff --git a/src/common/tortls.h b/src/common/tortls.h
index e7fc084ace..8f5fb773c4 100644
--- a/src/common/tortls.h
+++ b/src/common/tortls.h
@@ -28,6 +28,7 @@ void tor_tls_free_all(void);
int tor_tls_context_new(crypto_pk_env_t *rsa, int isServer,
const char *nickname, unsigned int key_lifetime);
tor_tls *tor_tls_new(int sock, int is_server, int use_no_cert);
+int tor_tls_is_server(tor_tls *tls);
void tor_tls_free(tor_tls *tls);
int tor_tls_peer_has_cert(tor_tls *tls);
int tor_tls_get_peer_cert_nickname(tor_tls *tls, char *buf, size_t buflen);