]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
Make tcp code use sockaddr_storage instead of sockaddr_in
authorBtbN <btbn@btbn.de>
Tue, 15 Jan 2013 01:41:16 +0000 (02:41 +0100)
committerBtbN <btbn@btbn.de>
Tue, 15 Jan 2013 01:41:16 +0000 (02:41 +0100)
src/tcp.c
src/tcp.h

index ab3d432fe85be36746d4ee16cabe7f9d06205908..84313663ee09d1a4d80d795de0be90f17066743f 100644 (file)
--- 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);
index e9d9534c1480fddf334eca6b3feed6e525d08ecb..b7a7c8762173e1c26332f527e2be1626311d27c3 100644 (file)
--- 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);