Merge branch 't/sync'
authorAndre Noll <maan@systemlinux.org>
Sat, 22 Feb 2014 16:29:10 +0000 (17:29 +0100)
committerAndre Noll <maan@systemlinux.org>
Sat, 22 Feb 2014 16:31:00 +0000 (17:31 +0100)
Cooking since 2014-01-14.

* t/sync:
  The sync filter.
  net: Let maksock() callers perform flowopt cleanup.
  net: makesock_addrinfo(): Make socketfd local to the loop.
  net: Let makesock() continue on setsockopt() failure.
  net: Reduce indentation level in makesock_addrinfo().
  net: Further simplify makesock_addrinfo().
  net: Replace the double loop of lookup_address() by a single loop.
  net: makesock(): Combine code for passive sockets.
  net: Change makesock_addrinfo() to set given flowopts before SO_REUSEADDR.
  net: Clarify code flow of makesock_addrinfo().
  net: Remove unnecessary condition in makesock_addrinfo().
  net: Remove pointless initialization in makesock_addrinfo().
  net: Kill dead code in makesock_addrinfo().
  net: Remove networking headers from para.h.
  net: Improve error handling of makesock_addrinfo().
  net: Split makesock(), part 2: Introduce makesock_addrinfo().
  net: Split makesock(), part 1: Introduce lookup_address().
  net: Simplify makesock().
  net: Fix parse_url().
  net: Correct \return text of parse_url().

1  2 
NEWS
command.c
udp_recv.c

diff --combined NEWS
--- 1/NEWS
--- 2/NEWS
+++ b/NEWS
@@@ -1,12 -1,6 +1,14 @@@
  NEWS
  ====
  
- ---------------------------------
- 0.5.2 (???) "orthogonal interior"
- ---------------------------------
++---------------------------------------------
++0.5.2 (to be announced) "orthogonal interior"
++---------------------------------------------
 +
++      - The new sync synchronizes playback between multiple clients.
++      - Major cleanup of the networking subsystem.
 +      - Minor fixes to avoid clang warnings.
 +
  ------------------------------------------
  0.5.1 (2013-12-20) "temporary implication"
  ------------------------------------------
diff --combined command.c
+++ b/command.c
@@@ -6,10 -6,15 +6,15 @@@
  
  /** \file command.c Client authentication and server commands. */
  
+ #include <netinet/in.h>
+ #include <sys/socket.h>
  #include <regex.h>
  #include <signal.h>
  #include <sys/types.h>
  #include <osl.h>
+ #include <arpa/inet.h>
+ #include <sys/un.h>
+ #include <netdb.h>
  
  #include "para.h"
  #include "error.h"
@@@ -554,7 -559,6 +559,7 @@@ static int send_list_of_commands(struc
                msg = para_strcat(msg, tmp);
                free(tmp);
        }
 +      assert(msg);
        return send_sb(&cc->scc, msg, strlen(msg), SBD_OUTPUT, false);
  }
  
diff --combined udp_recv.c
@@@ -5,9 -5,14 +5,14 @@@
   */
  /** \file udp_recv.c Paraslash's udp receiver */
  
+ #include <netinet/in.h>
  #include <regex.h>
  #include <sys/socket.h>
  #include <net/if.h>
+ #include <sys/types.h>
+ #include <arpa/inet.h>
+ #include <sys/un.h>
+ #include <netdb.h>
  
  #include "para.h"
  #include "error.h"
@@@ -43,7 -48,7 +48,7 @@@ static int udp_check_eof(size_t sz, str
        }
        if (memcmp(iov[0].iov_base, FEC_EOF_PACKET, iov[0].iov_len) != 0)
                return 0;
 -      if (memcmp(iov[1].iov_base, FEC_EOF_PACKET + iov[0].iov_len,
 +      if (memcmp(iov[1].iov_base, &FEC_EOF_PACKET[iov[0].iov_len],
                        FEC_EOF_PACKET_LEN - iov[0].iov_len) != 0)
                return 0;
        return -E_RECV_EOF;