X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;ds=sidebyside;f=src%2Fnet.h;h=06797446012dca0574696670c0b863966fbda2e8;hb=068746e6cb8df6c197f415e09d3ade8426c2db5f;hp=4d2d48aa4765a58a9e72b60f3bc205bd119e42f7;hpb=722dc566a68a4d81c217a8023967cc3bda78c680;p=meshlink diff --git a/src/net.h b/src/net.h index 4d2d48aa..06797446 100644 --- a/src/net.h +++ b/src/net.h @@ -23,6 +23,7 @@ #include "cipher.h" #include "digest.h" #include "event.h" +#include "sockaddr.h" #ifdef ENABLE_JUMBOGRAMS #define MTU 9018 /* 9000 bytes payload + 14 bytes ethernet header + 4 bytes VLAN tag */ @@ -36,42 +37,12 @@ /* MAXBUFSIZE is the maximum size of a request: enough for a MAXSIZEd packet or a 8192 bits RSA key */ #define MAXBUFSIZE ((MAXSIZE > 2048 ? MAXSIZE : 2048) + 128) -#define MAXSOCKETS 8 /* Probably overkill... */ - -typedef short length_t; - -#define AF_UNKNOWN 255 - -struct sockaddr_unknown { - uint16_t family; - uint16_t pad1; - uint32_t pad2; - char *address; - char *port; -}; - -typedef union sockaddr_t { - struct sockaddr sa; - struct sockaddr_in in; - struct sockaddr_in6 in6; - struct sockaddr_unknown unknown; -#ifdef HAVE_STRUCT_SOCKADDR_STORAGE - struct sockaddr_storage storage; -#endif -} sockaddr_t; - -#ifdef SA_LEN -#define SALEN(s) SA_LEN(&s) -#else -#define SALEN(s) (s.sa_family==AF_INET?sizeof(struct sockaddr_in):sizeof(struct sockaddr_in6)) -#endif - typedef struct vpn_packet_t { struct { unsigned int probe:1; unsigned int tcp:1; }; - length_t len; /* the actual number of bytes in the `data' field */ + uint16_t len; /* the actual number of bytes in the `data' field */ uint8_t data[MAXSIZE]; } vpn_packet_t; @@ -86,13 +57,6 @@ typedef enum packet_type_t { PACKET_PROBE } packet_type_t; -typedef struct listen_socket_t { - struct io_t tcp; - struct io_t udp; - sockaddr_t sa; - bool bindto; -} listen_socket_t; - #include "conf.h" #include "list.h" @@ -106,43 +70,14 @@ typedef struct outgoing_t { timeout_t ev; } outgoing_t; -extern list_t *outgoing_list; - extern int maxoutbufsize; -extern int seconds_till_retry; extern int addressfamily; extern unsigned replaywin; -extern bool localdiscovery; -extern sockaddr_t localdiscovery_address; -extern listen_socket_t listen_socket[MAXSOCKETS]; -extern int listen_sockets; extern int keylifetime; extern int max_connection_burst; extern bool do_prune; -extern char *myport; extern int autoconnect; -extern bool disablebuggypeers; -extern int contradicting_add_edge; -extern int contradicting_del_edge; -extern time_t last_config_check; - -extern char *proxyhost; -extern char *proxyport; -extern char *proxyuser; -extern char *proxypass; -typedef enum proxytype_t { - PROXY_NONE = 0, - PROXY_SOCKS4, - PROXY_SOCKS4A, - PROXY_SOCKS5, - PROXY_HTTP, - PROXY_EXEC, -} proxytype_t; -extern proxytype_t proxytype; - -extern char *scriptinterpreter; -extern char *scriptextension; /* Yes, very strange placement indeed, but otherwise the typedefs get all tangled up */ #include "connection.h" @@ -186,7 +121,4 @@ extern void load_all_nodes(void); extern CRITICAL_SECTION mutex; #endif -//TODO: move this to a better place -extern char *confbase; - #endif /* __TINC_NET_H__ */