Updated.
[rsync/rsync-patches.git] / tru64.diff
1 This is an adapted version of the original by Zoong Pham.
2
3 --- orig/lib/getaddrinfo.c      2004-03-16 01:26:36
4 +++ lib/getaddrinfo.c   2004-06-18 17:38:35
5 @@ -41,6 +41,20 @@
6  
7  #include <rsync.h>
8  
9 +/****** Start Zoong added here */
10 +
11 +#define EAI_BADHINTS   12
12 +#define EAI_PROTOCOL   13
13 +#define EAI_MAX        14
14 +
15 +#define AI_PASSIVE     0x00000001 /* get address to use bind() */
16 +#define AI_CANONNAME   0x00000002 /* fill ai_canonname */
17 +#define AI_NUMERICHOST 0x00000004 /* prevent name resolution */
18 +#define AI_MASK        (AI_PASSIVE | AI_CANONNAME | AI_NUMERICHOST)
19 +
20 +/****** End Zoong added here */
21 +
22 +
23  #if defined(__KAME__) && defined(INET6)
24  # define FAITH
25  #endif
26 --- orig/rsync.h        2004-07-16 20:07:23
27 +++ rsync.h     2004-07-03 20:23:33
28 @@ -159,6 +159,11 @@ enum msgcode {
29  #include <sys/socket.h>
30  #endif
31  
32 +#ifdef HAVE_SYS_UN_H
33 +#define _SOCKADDR_LEN
34 +#include <sys/un.h>
35 +#endif
36 +
37  #ifdef HAVE_STRING_H
38  #include <string.h>
39  #endif
40 --- orig/syscall.c      2004-02-18 22:33:21
41 +++ syscall.c   2004-06-18 17:38:35
42 @@ -76,6 +76,29 @@ int do_mknod(char *pathname, mode_t mode
43  {
44         if (dry_run) return 0;
45         RETURN_ERROR_IF_RO_OR_LO;
46 +# if HAVE_MKFIFO
47 +       if (S_ISFIFO(mode))
48 +               return mkfifo(pathname, mode);
49 +# endif
50 +# if HAVE_SYS_UN_H
51 +       if (S_ISSOCK(mode)) {
52 +               int sock;
53 +               struct sockaddr_un saddr;
54 +               int len = strlen(pathname) + 1; /* include null */
55 +
56 +               saddr.sun_family = AF_UNIX;
57 +               strncpy(saddr.sun_path, pathname, sizeof saddr.sun_path);
58 +               saddr.sun_len = len > sizeof saddr.sun_path ? sizeof saddr.sun_path: len;
59 +
60 +               if ((sock = socket(PF_UNIX, SOCK_STREAM, 0)) < 0)
61 +                       return -1;
62 +               unlink(pathname);
63 +               if ((bind(sock, (struct sockaddr*)&saddr, sizeof saddr)) < 0)
64 +                       return -1;
65 +               close(sock);
66 +               return do_chmod(pathname, mode);
67 +       }
68 +# endif
69         return mknod(pathname, mode, dev);
70  }
71  #endif