]> git.meshlink.io Git - catta/blobdiff - socket.c
some preliminary work for adding legacy unicast and unicast response support
[catta] / socket.c
index e6cf40f4e5b909f7da94145b4608bc25dd49ba13..8f50291c170df12e62da3b733f34a29b5f0235a5 100644 (file)
--- a/socket.c
+++ b/socket.c
@@ -13,8 +13,7 @@
 
 #include "dns.h"
 #include "util.h"
-
-#define MDNS_PORT 5353
+#include "socket.h"
 
 static void mdns_mcast_group_ipv4(struct sockaddr_in *ret_sa) {
     g_assert(ret_sa);
@@ -22,7 +21,7 @@ static void mdns_mcast_group_ipv4(struct sockaddr_in *ret_sa) {
     memset(ret_sa, 0, sizeof(struct sockaddr_in));
     
     ret_sa->sin_family = AF_INET;
-    ret_sa->sin_port = htons(MDNS_PORT);
+    ret_sa->sin_port = htons(FLX_MDNS_PORT);
     inet_pton(AF_INET, "224.0.0.251", &ret_sa->sin_addr);
 }
 
@@ -33,7 +32,7 @@ static void mdns_mcast_group_ipv6(struct sockaddr_in6 *ret_sa) {
     memset(ret_sa, 0, sizeof(struct sockaddr_in6));
     
     ret_sa->sin6_family = AF_INET6;
-    ret_sa->sin6_port = htons(MDNS_PORT);
+    ret_sa->sin6_port = htons(FLX_MDNS_PORT);
     inet_pton(AF_INET6, "ff02::fb", &ret_sa->sin6_addr);
 }
 
@@ -50,10 +49,10 @@ int flx_mdns_mcast_join_ipv4 (int index, int fd)
  
     if (setsockopt(fd, SOL_IP, IP_ADD_MEMBERSHIP, &mreq, sizeof(mreq)) < 0) {
         g_warning("IP_ADD_MEMBERSHIP failed: %s\n", strerror(errno));
-        return 0;
-    } else {
         return -1;
-    }
+    } 
+
+    return 0;
 }
 
 int flx_mdns_mcast_join_ipv6 (int index, int fd)
@@ -61,7 +60,6 @@ int flx_mdns_mcast_join_ipv6 (int index, int fd)
     struct ipv6_mreq mreq6; 
     struct sockaddr_in6 sa6;
 
-
     mdns_mcast_group_ipv6 (&sa6);
 
     memset(&mreq6, 0, sizeof(mreq6));
@@ -70,10 +68,10 @@ int flx_mdns_mcast_join_ipv6 (int index, int fd)
 
     if (setsockopt(fd, SOL_IPV6, IPV6_ADD_MEMBERSHIP, &mreq6, sizeof(mreq6)) < 0) {
         g_warning("IPV6_ADD_MEMBERSHIP failed: %s\n", strerror(errno));
-        return 0;
-    } else {
         return -1;
     }
+
+    return 0;
 }
 
 int flx_mdns_mcast_leave_ipv4 (int index, int fd)
@@ -89,10 +87,10 @@ int flx_mdns_mcast_leave_ipv4 (int index, int fd)
  
     if (setsockopt(fd, SOL_IP, IP_DROP_MEMBERSHIP, &mreq, sizeof(mreq)) < 0) {
         g_warning("IP_DROP_MEMBERSHIP failed: %s\n", strerror(errno));
-        return 0;
-    } else {
         return -1;
     }
+
+    return 0;
 }
 
 int flx_mdns_mcast_leave_ipv6 (int index, int fd)
@@ -108,10 +106,10 @@ int flx_mdns_mcast_leave_ipv6 (int index, int fd)
 
     if (setsockopt(fd, SOL_IPV6, IPV6_DROP_MEMBERSHIP, &mreq6, sizeof(mreq6)) < 0) {
         g_warning("IPV6_DROP_MEMBERSHIP failed: %s\n", strerror(errno));
-        return 0;
-    } else {
         return -1;
     }
+
+    return 0;
 }
 
 gint flx_open_socket_ipv4(void) {
@@ -150,7 +148,7 @@ gint flx_open_socket_ipv4(void) {
     
     memset(&local, 0, sizeof(local));
     local.sin_family = AF_INET;
-    local.sin_port = htons(MDNS_PORT);
+    local.sin_port = htons(FLX_MDNS_PORT);
     
     if (bind(fd, (struct sockaddr*) &local, sizeof(local)) < 0) {
         g_warning("bind() failed: %s\n", strerror(errno));
@@ -231,7 +229,7 @@ gint flx_open_socket_ipv6(void) {
 
     memset(&local, 0, sizeof(local));
     local.sin6_family = AF_INET6;
-    local.sin6_port = htons(MDNS_PORT);
+    local.sin6_port = htons(FLX_MDNS_PORT);
     
     if (bind(fd, (struct sockaddr*) &local, sizeof(local)) < 0) {
         g_warning("bind() failed: %s\n", strerror(errno));