1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
diff -r -C2 sharutils-4.2.1.orig/doc/remsync.texi sharutils-4.2.1/doc/remsync.texi
*** sharutils-4.2.1.orig/doc/remsync.texi Thu Nov 30 18:15:37 1995
--- sharutils-4.2.1/doc/remsync.texi Fri Aug 3 18:57:02 2001
***************
*** 8,11 ****
--- 8,15 ----
@ifinfo
+
+ @direntry
+ * remsync: (remsync). Synchronize remote files (sharutils).
+ @end direntry
This file documents the @code{remsync} command and friends, which have
the purpose of synchronizing remote directory trees using email.
diff -r -C2 sharutils-4.2.1.orig/doc/sharutils.texi sharutils-4.2.1/doc/sharutils.texi
*** sharutils-4.2.1.orig/doc/sharutils.texi Fri Nov 24 21:42:52 1995
--- sharutils-4.2.1/doc/sharutils.texi Fri Aug 3 18:29:43 2001
***************
*** 16,31 ****
@ifinfo
! @format
! START-INFO-DIR-ENTRY
* Shar utilities: (sharutils). GNU shar utilities.
! * mail-files: (sharutils)mail-files invocation. Send files to remote site.
! * mailshar: (sharutils)mailshar invocation. Make and send a shell archive.
! * remsync: (sharutils)remsync invocation. Synchronize remote files.
! * shar: (sharutils)shar invocation. Make a shell archive.
! * unshar: (sharutils)unshar invocation. Explode a shell archive.
! * uudecode: (sharutils)uudecode invocation. Restore file from 7-bits.
! * uuencode: (sharutils)uuencode invocation. Force binary file to 7-bits.
! END-INFO-DIR-ENTRY
! @end format
@end ifinfo
--- 16,22 ----
@ifinfo
! @direntry
* Shar utilities: (sharutils). GNU shar utilities.
! @end direntry
@end ifinfo
--- sharutils-4.2.1/src/uudecode.c.orig Sat Apr 13 01:26:31 2002
+++ sharutils-4.2.1/src/uudecode.c Sat Apr 13 01:30:32 2002
@@ -81,6 +81,9 @@
/* Single character decode. */
#define DEC(Char) (((Char) - ' ') & 077)
+#if !defined S_ISLNK && defined S_IFLNK
+# define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
+#endif
static int
read_stduu (inname)
@@ -279,6 +282,7 @@
char buf[2 * BUFSIZ];
char *outname;
int do_base64 = 0;
+ struct stat attr;
/* Search for header line. */
@@ -337,6 +341,23 @@
}
}
+ /* Check out file if it exists */
+ if (strcmp (outname, "/dev/stdout") != 0 && strcmp (outname, "-") != 0
+ && !access(outname, F_OK)) {
+ if (lstat(outname, &attr) == -1) {
+ error (0, errno, _("cannot access %s"), outname);
+ return 1;
+ }
+ if (S_ISFIFO(attr.st_mode)){
+ error (0, errno, _("denied writing FIFO (%s)"), outname);
+ return 1;
+ }
+ if (S_ISLNK(attr.st_mode)) {
+ error (0, errno, _("not following symlink (%s)"), outname);
+ return 1;
+ }
+ }
+
/* Create output file and set mode. */
if (strcmp (outname, "/dev/stdout") != 0 && strcmp (outname, "-") != 0
--- sharutils-4.2.1/src/mailshar.in.orig Fri May 11 21:45:29 2001
+++ sharutils-4.2.1/src/mailshar.in Fri May 11 21:50:40 2001
@@ -33,7 +33,11 @@
If none of -MTBzZ are given, -z is automatically selected if *none*
of the FILEs have an .arc, .exz, .gif, .z, .gz, .Z, .zip or .zoo suffix."
-temp=/usr/tmp/$$.shar
+temp=`mktemp -q /tmp/$0.XXXXXX`
+if [ $? -ne 0 ]; then
+ echo "$0: Can't create temp file, exiting..."
+ exit 1
+fi
### Decode the options.
|