[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [obfsproxy/master] Don't use 'int' to store TCP ports. 'uint16_t' is nicer.



commit 4599120dd5e6ebba4fda2b1d4a9e912a638e7e8e
Author: George Kadianakis <desnacked@xxxxxxxxxx>
Date:   Mon Jan 16 19:21:48 2012 +0200

    Don't use 'int' to store TCP ports. 'uint16_t' is nicer.
    
    'uint16_t' also makes our asserts look more reasonable.
---
 src/network.c |    7 ++++---
 src/socks.c   |    5 +++--
 src/socks.h   |    4 ++--
 3 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/src/network.c b/src/network.c
index 4cdd059..a28f7b8 100644
--- a/src/network.c
+++ b/src/network.c
@@ -559,7 +559,7 @@ open_outbound(conn_t *conn, bufferevent_data_cb readcb)
    rather than bufferevent_socket_connect.
 */
 static conn_t *
-open_outbound_hostname(conn_t *conn, int af, const char *addr, int port)
+open_outbound_hostname(conn_t *conn, int af, const char *addr, uint16_t port)
 {
   struct event_base *base = bufferevent_get_base(conn->buffer);
   struct bufferevent *buf;
@@ -604,7 +604,7 @@ open_outbound_hostname(conn_t *conn, int af, const char *addr, int port)
   bufferevent_setcb(buf, downstream_read_cb, NULL, pending_socks_cb, newconn);
   if (bufferevent_socket_connect_hostname(buf, get_evdns_base(),
                                           af, addr, port) < 0) {
-    log_warn("%s: outbound connection to %s:%d failed: %s",
+    log_warn("%s: outbound connection to %s:%u failed: %s",
              conn->peername, addr, port,
              evutil_socket_error_to_string(EVUTIL_SOCKET_ERROR()));
     conn_free(newconn);
@@ -638,7 +638,8 @@ socks_read_cb(struct bufferevent *bev, void *arg)
       /* We shouldn't be here. */
       obfs_abort();
     } else if (status == ST_HAVE_ADDR) {
-      int af, r, port;
+      int af, r;
+      uint16_t port;
       const char *addr=NULL;
       r = socks_state_get_address(socks, &af, &addr, &port);
       obfs_assert(r==0);
diff --git a/src/socks.c b/src/socks.c
index 98cb678..e76a24e 100644
--- a/src/socks.c
+++ b/src/socks.c
@@ -569,7 +569,7 @@ int
 socks_state_get_address(const socks_state_t *state,
                         int *af_out,
                         const char **addr_out,
-                        int *port_out)
+                        uint16_t *port_out)
 {
   if (state->state != ST_HAVE_ADDR && state->state != ST_SENT_REPLY)
     return -1;
@@ -586,9 +586,10 @@ socks_state_get_address(const socks_state_t *state,
 int
 socks_state_set_address(socks_state_t *state, const struct sockaddr *sa)
 {
-  int port;
+  uint16_t port;
   if (sa->sa_family == AF_INET) {
     const struct sockaddr_in *sin = (const struct sockaddr_in *)sa;
+    obfs_assert((sin->sin_port >= 0) && (sin->sin_port <= 65535));
     port = sin->sin_port;
     if (evutil_inet_ntop(AF_INET, &sin->sin_addr, state->parsereq.addr,
                          sizeof(state->parsereq.addr)) == NULL)
diff --git a/src/socks.h b/src/socks.h
index 4e0bdfa..384838f 100644
--- a/src/socks.h
+++ b/src/socks.h
@@ -38,7 +38,7 @@ enum socks_status_t socks_state_get_status(const socks_state_t *state);
 int socks_state_get_address(const socks_state_t *state,
                             int *af_out,
                             const char **addr_out,
-                            int *port_out);
+                            uint16_t *port_out);
 int socks_state_set_address(socks_state_t *state, const struct sockaddr *sa);
 void socks_send_reply(socks_state_t *state, struct evbuffer *dest, int error);
 void socks5_send_reply(struct evbuffer *reply_dest,
@@ -91,7 +91,7 @@ void socks5_send_reply(struct evbuffer *reply_dest,
 struct parsereq {
   int af; /* Address family */
   char addr[255+1]; /* Address as string */
-  int port;
+  uint16_t port;
 };
 struct socks_state_t {
   enum socks_status_t state;



_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits