diff options
author | Christian Pointner <equinox@anytun.org> | 2014-02-11 20:33:55 +0000 |
---|---|---|
committer | Christian Pointner <equinox@anytun.org> | 2014-02-11 20:33:55 +0000 |
commit | 835599bb64c77907cc7d2230fc02349f1981886c (patch) | |
tree | adb0e584785e62a76dde4fadb8d7b967d75171df /src/udp.c | |
parent | depending on rail mode call update_remote before or after seq_window check (diff) |
moved local socket resolver to subroutine
Diffstat (limited to 'src/udp.c')
-rw-r--r-- | src/udp.c | 24 |
1 files changed, 16 insertions, 8 deletions
@@ -52,15 +52,8 @@ #include <arpa/inet.h> #include <netinet/in.h> -int udp_init(udp_t* sock, const char* local_addr, const char* port, resolv_addr_type_t resolv_type, int rail_mode) +static int udp_resolv_local(udp_t* sock, const char* local_addr, const char* port, resolv_addr_type_t resolv_type) { - if(!sock || !port) - return -1; - - sock->socks_ = NULL; - sock->active_sock_ = NULL; - sock->rail_mode_ = rail_mode; - struct addrinfo hints, *res; res = NULL; @@ -146,6 +139,21 @@ int udp_init(udp_t* sock, const char* local_addr, const char* port, resolv_addr_ } freeaddrinfo(res); + return 0; +} + +int udp_init(udp_t* sock, const char* local_addr, const char* port, resolv_addr_type_t resolv_type, int rail_mode) +{ + if(!sock || !port) + return -1; + + sock->socks_ = NULL; + sock->active_sock_ = NULL; + sock->rail_mode_ = rail_mode; + + int ret = udp_resolv_local(sock, local_addr, port, resolv_type); + if(ret) + return ret; if(sock->rail_mode_) log_printf(NOTICE, "RAIL mode enabled"); |