]> git.ipfire.org Git - thirdparty/ntp.git/commitdiff
remove bloated (128 byte on win32) sockaddr_storage from sockaddr_u
authorDave Hart <hart@ntp.org>
Mon, 1 Mar 2010 09:20:28 +0000 (09:20 +0000)
committerDave Hart <hart@ntp.org>
Mon, 1 Mar 2010 09:20:28 +0000 (09:20 +0000)
  union since the largest we use is sockaddr_in6 (28 bytes on win32).

bk: 4b8b86dcYNcwlt4ibwh4sK4Rk4-nGw

include/ntp_net.h
ntpd/ntp_config.c
ntpd/ntp_io.c
ntpd/ntp_monitor.c
ntpd/ntp_request.c
ntpd/refclock_nmea.c
ntpdc/ntpdc_ops.c
sntp/networking.c

index ea5cbdaf9d7233fdddaff36ab2cc763c7a55b09a..88f84e3ceb987683c593cf9f9e3ecd9c605a2598 100644 (file)
@@ -17,7 +17,6 @@
 
 typedef union {
        struct sockaddr         sa;
-       struct sockaddr_storage sas;
        struct sockaddr_in      sa4;
        struct sockaddr_in6     sa6;
 } sockaddr_u;
@@ -31,7 +30,7 @@ typedef union {
 #define PSOCK_ADDR4(psau)      (&SOCK_ADDR4(psau))
 #define PSOCK_ADDR6(psau)      (&SOCK_ADDR6(psau))
 
-#define AF(psau)               ((psau)->sas.ss_family)
+#define AF(psau)               ((psau)->sa.sa_family)
 
 #define IS_IPV4(psau)          (AF_INET == AF(psau))
 #define IS_IPV6(psau)          (AF_INET6 == AF(psau))
@@ -106,7 +105,7 @@ typedef union {
            : sizeof((psau)->sa6))
 
 #define ZERO_SOCK(psau)                                                \
-       memset(&(psau)->sas, 0, sizeof((psau)->sas))
+       memset((psau), 0, sizeof(*(psau)))
 
 /* blast a byte value across sockaddr_u v6 address */
 #define        MEMSET_ADDR6(psau, v)                                   \
index 3b58c470e1bbf0a7df76bd177134ef96763873d4..83695d888824878b7c9c62031083dab6616dcaaa 100644 (file)
@@ -4624,7 +4624,7 @@ getnetnum(
        memset(addr, 0, sizeof(*addr));
        AF(addr) = (u_short)ipaddr.family;
 #ifdef ISC_PLATFORM_HAVESALEN
-       addr->sas.ss_len = SIZEOF_SOCKADDR(AF(addr));
+       addr->sa.sa_len = SIZEOF_SOCKADDR(AF(addr));
 #endif
        if (IS_IPV4(addr))
                memcpy(&addr->sa4.sin_addr, &ipaddr.type.in,
index f8be1c7b72635aad3a9ef62c2966fea2c0e0dabd..e20cf27cbd174c3c56c7b13fd29610758cd157d0 100644 (file)
@@ -647,12 +647,12 @@ interface_dump(struct interface *itf)
 static void
 sockaddr_dump(sockaddr_u *psau)
 {
-       /* Limit the size of the sockaddr_storage hex dump */
-       const int maxsize = min(32, sizeof(psau->sas));
+       /* Limit the size of the sockaddr_in6 hex dump */
+       const int maxsize = min(32, sizeof(psau->sa6));
        u_char *        cp;
        int             i;
 
-       cp = (u_char *)&psau->sas;
+       cp = (u_char *)psau;
 
        for(i = 0; i < maxsize; i++)
        {
index 950001e2f6bb7c625ad47795ba4bcb76f8272c82..dcff08ebfa5226ecd35b09335e37b58335400b52 100644 (file)
@@ -410,6 +410,11 @@ ntp_monitor(
                        UNLINK_HEAD_SLIST(md, mon_free, hash_next);
                /*
                 * Preempt from the MRU list if old enough.
+                * What is the intention of the tail->count == 1 test
+                * and is it still useful?  It seems to be avoiding
+                * mon_age controlled preemption of entries representing
+                * a single packet, and I don't understand how that helps.
+                *   -- Dave Hart
                 */
                } else if (tail->count == 1 || ntp_random() / (2. *
                           FRAC) > (double)(current_time -
index 454dc866431812c5aa59c90091dbe26e10a89365..640b162adfc02caf49089414766e3787d4c7dc9b 100644 (file)
@@ -836,7 +836,7 @@ peer_info (
                        NSRCADR(&addr) = ipl->addr;
                }
 #ifdef ISC_PLATFORM_HAVESALEN
-               addr.sas.ss_len = SOCKLEN(&addr);
+               addr.sa.sa_len = SOCKLEN(&addr);
 #endif
                ipl++;
                if ((pp = findexistingpeer(&addr, NULL, NULL, -1)) == 0)
@@ -968,7 +968,7 @@ peer_stats (
                        NSRCADR(&addr) = ipl->addr;
                }       
 #ifdef ISC_PLATFORM_HAVESALEN
-               addr.sas.ss_len = SOCKLEN(&addr);
+               addr.sa.sa_len = SOCKLEN(&addr);
 #endif
                DPRINTF(1, ("peer_stats: looking for %s, %d, %d\n",
                            stoa(&addr), ipl->port, NSRCPORT(&addr)));
@@ -1359,7 +1359,7 @@ do_conf(
                }
                NSRCPORT(&peeraddr) = htons(NTP_PORT);
 #ifdef ISC_PLATFORM_HAVESALEN
-               peeraddr.sas.ss_len = SOCKLEN(&peeraddr);
+               peeraddr.sa.sa_len = SOCKLEN(&peeraddr);
 #endif
 
                /* XXX W2DO? minpoll/maxpoll arguments ??? */
@@ -1507,7 +1507,7 @@ do_unconf(
                }
                SET_PORT(&peeraddr, NTP_PORT);
 #ifdef ISC_PLATFORM_HAVESALEN
-               peeraddr.sas.ss_len = SOCKLEN(&peeraddr);
+               peeraddr.sa.sa_len = SOCKLEN(&peeraddr);
 #endif
                found = 0;
                peer = NULL;
@@ -1552,7 +1552,7 @@ do_unconf(
                }
                SET_PORT(&peeraddr, NTP_PORT);
 #ifdef ISC_PLATFORM_HAVESALEN
-               peeraddr.sas.ss_len = SOCKLEN(&peeraddr);
+               peeraddr.sa.sa_len = SOCKLEN(&peeraddr);
 #endif
                found = 0;
                peer = NULL;
@@ -2079,7 +2079,7 @@ reset_peer(
                }
 
 #ifdef ISC_PLATFORM_HAVESALEN
-               peeraddr.sas.ss_len = SOCKLEN(&peeraddr);
+               peeraddr.sa.sa_len = SOCKLEN(&peeraddr);
 #endif
                peer = findexistingpeer(&peeraddr, NULL, NULL, -1);
                if (NULL == peer)
@@ -2110,7 +2110,7 @@ reset_peer(
                }
                SET_PORT(&peeraddr, 123);
 #ifdef ISC_PLATFORM_HAVESALEN
-               peeraddr.sas.ss_len = SOCKLEN(&peeraddr);
+               peeraddr.sa.sa_len = SOCKLEN(&peeraddr);
 #endif
                peer = findexistingpeer(&peeraddr, NULL, NULL, -1);
                while (peer != NULL) {
@@ -2569,7 +2569,7 @@ get_clock_info(
        ZERO_SOCK(&addr);
        AF(&addr) = AF_INET;
 #ifdef ISC_PLATFORM_HAVESALEN
-       addr.sas.ss_len = SOCKLEN(&addr);
+       addr.sa.sa_len = SOCKLEN(&addr);
 #endif
        SET_PORT(&addr, NTP_PORT);
        items = INFO_NITEMS(inpkt->err_nitems);
@@ -2641,7 +2641,7 @@ set_clock_fudge(
                AF(&addr) = AF_INET;
                NSRCADR(&addr) = cf->clockadr;
 #ifdef ISC_PLATFORM_HAVESALEN
-               addr.sas.ss_len = SOCKLEN(&addr);
+               addr.sa.sa_len = SOCKLEN(&addr);
 #endif
                SET_PORT(&addr, NTP_PORT);
                if (!ISREFCLOCKADR(&addr) ||
@@ -2708,7 +2708,7 @@ get_clkbug_info(
        ZERO_SOCK(&addr);
        AF(&addr) = AF_INET;
 #ifdef ISC_PLATFORM_HAVESALEN
-       addr.sas.ss_len = SOCKLEN(&addr);
+       addr.sa.sa_len = SOCKLEN(&addr);
 #endif
        SET_PORT(&addr, NTP_PORT);
        items = INFO_NITEMS(inpkt->err_nitems);
index e4bc5fca651b4ab65a9cf773f4f9f0116b71d220..c9583402c6815a722914e869b90667c385d464e1 100644 (file)
@@ -97,8 +97,6 @@ extern int async_write(int, const void *, unsigned int);
 #define        PPS_PRECISION   (-20)   /* precision assumed (about 1 us) */
 #define        REFID           "GPS\0" /* reference id */
 #define        DESCRIPTION     "NMEA GPS Clock" /* who we are */
-#define NANOSECOND     1000000000 /* one second (ns) */
-#define RANGEGATE      500000  /* range gate (ns) */
 #ifndef O_NOCTTY
 #define M_NOCTTY       0
 #else
index 8dfc2422372fa04fcda93a5a89cfdf618491d02a..bbe25582c7268cfe93b0d4744d603c55a2756a1e 100644 (file)
@@ -236,7 +236,7 @@ struct xcmd opcmds[] = {
 #ifdef ISC_PLATFORM_HAVESALEN
 #define SET_SS_LEN_IF_PRESENT(psau)                            \
        do {                                                    \
-               (psau)->sas.ss_len = SOCKLEN(psau);             \
+               (psau)->sa.sa_len = SOCKLEN(psau);              \
        } while (0)
 #else
 #define SET_SS_LEN_IF_PRESENT(psau)    do { } while (0)
@@ -841,8 +841,8 @@ again:
                        NSRCADR(&src) = pp->srcadr;
                }
 #ifdef ISC_PLATFORM_HAVESALEN
-               src.sas.ss_len = SOCKLEN(&src);
-               dst.sas.ss_len = SOCKLEN(&dst);
+               src.sa.sa_len = SOCKLEN(&src);
+               dst.sa.sa_len = SOCKLEN(&dst);
 #endif
                (void) fprintf(fp, "remote host:          %s\n",
                               nntohost(&src));
index 2b1ccd5887657bbfb4bfd62a37f6e83b51651617..e758d9256e5ac5436f87b2bbf6eb0a7d4aeba69b 100644 (file)
@@ -149,7 +149,7 @@ recvdata (
 #ifdef DEBUG
        printf("sntp recvdata: Trying to receive data from...\n");
 #endif
-       slen = sizeof(sender->sas);
+       slen = sizeof(*sender);
        recvc = recvfrom(rsock, rdata, rdata_length, 0, 
                         &sender->sa, &slen);
 #ifdef DEBUG
@@ -306,7 +306,7 @@ recv_bcst_data (
 
                default:
                {
-                       GETSOCKNAME_SOCKLEN_TYPE ss_len = sizeof(ras->sas);
+                       GETSOCKNAME_SOCKLEN_TYPE ss_len = sizeof(*ras);
 
                        recv_bytes = recvfrom(rsock, rdata, rdata_len, 0, &ras->sa, &ss_len);
                }