From: BtbN Date: Tue, 15 Jan 2013 01:41:16 +0000 (+0100) Subject: Make tcp code use sockaddr_storage instead of sockaddr_in X-Git-Tag: v3.5~92^2~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=abd5487cc7e6256345be19f1b10e77e1271f9915;p=thirdparty%2Ftvheadend.git Make tcp code use sockaddr_storage instead of sockaddr_in --- diff --git a/src/tcp.c b/src/tcp.c index ab3d432fe..84313663e 100644 --- a/src/tcp.c +++ b/src/tcp.c @@ -359,8 +359,8 @@ typedef struct tcp_server_launch_t { tcp_server_callback_t *start; void *opaque; int fd; - struct sockaddr_in peer; - struct sockaddr_in self; + struct sockaddr_storage peer; + struct sockaddr_storage self; } tcp_server_launch_t; @@ -443,7 +443,7 @@ tcp_server_loop(void *aux) tsl = malloc(sizeof(tcp_server_launch_t)); tsl->start = ts->start; tsl->opaque = ts->opaque; - slen = sizeof(struct sockaddr_in); + slen = sizeof(struct sockaddr_storage); tsl->fd = accept(ts->serverfd, (struct sockaddr *)&tsl->peer, &slen); @@ -455,7 +455,7 @@ tcp_server_loop(void *aux) } - slen = sizeof(struct sockaddr_in); + slen = sizeof(struct sockaddr_storage); if(getsockname(tsl->fd, (struct sockaddr *)&tsl->self, &slen)) { close(tsl->fd); free(tsl); diff --git a/src/tcp.h b/src/tcp.h index e9d9534c1..b7a7c8762 100644 --- a/src/tcp.h +++ b/src/tcp.h @@ -27,8 +27,8 @@ int tcp_connect(const char *hostname, int port, char *errbuf, size_t errbufsize, int timeout); typedef void (tcp_server_callback_t)(int fd, void *opaque, - struct sockaddr_in *peer, - struct sockaddr_in *self); + struct sockaddr_storage *peer, + struct sockaddr_storage *self); void *tcp_server_create(int port, tcp_server_callback_t *start, void *opaque);