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