File: README

package info (click to toggle)
lurkftp 1.00-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 324 kB
  • ctags: 375
  • sloc: ansic: 4,551; sh: 186; makefile: 162
file content (150 lines) | stat: -rw-r--r-- 6,209 bytes parent folder | download
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150

lurkftp v1.00

What it is: This is the ultimate FTP site lurker program.  It is a simple
program to monitor changes in FTP sites and either just report changes or
mirror changes into a local directory.

So why another mirror program?  Because I couldn't get any of the mirror
programs on sunsite to do what I wanted half-way reliably & efficiently.

Read the man page for more details.

As far as I know, Alex deVries <adevries@engsoc.carleton.ca> has created an
RPM package for this (and uploaded it to ftp.redhat.com), and Christian
Schwarz <schwarz@monet.m.isar.de> has created a Debian package for this.
Thanks guys.  I do not (and probably will not) maintain anything other than
ftp://sunsite.unc.edu/pub/Linux/system/network/file-transfer/lurkftp*.tar.gz,
although I might change my mind and add distribution generation to a Makefile
instead of doing it manually.  If I ever decide to "upgrade" my system
(which will take forever, since I never log any of the plentiful changes I
make to the system), I'll make sure I put a recent rpm/dpkg on my system so
I can maintain these, too.

***************************************************************

Installation notes:

Based on bug reports by people who tried to run this on non-Linux systems,
this bugger should compile on just about any POSIX-compliant system.  If it
doesn't, then feel free to send me a compiler error dump or whatever.  The
only non-Linux system(s) I have access to for free are some Sun workstations
(Solaris 2.5).  I can probably  look up information on AIX 4.2/3.2.5 machines
and DEC Ultrix machines, too, although I can't compile on them.  I guess I
could also try getting it to work under AIX 2.1, but I'd rather not bother.

SOCKS support isn't something I use, so you'll have to fix it yourself if
it's broken.  Instead of using the big, nasty collection of -D's, I put
those defines into ftp.h and modified ftp.c appropriately.  You'll have to
modify the Makefile to include the -lsocks and the -DSOCKS, as shown
therein.

***************************************************************

Changelog

  0.9 - first release 4/23/97 - I thought it worked.  What did I know?

  0.91 - 4/25/97 - Major overhaul; Seems to work now
	man page cleaned up & updated
	-L (listing timeout) removed; use -T instead
	-P option output file corruption fixed
	-u (non-anonymous FTP) option added
	-z/Z (auto gzip/gunzip) options added
	-L (use remote ls-lR[.(Z|gz)] file) option added
	-U (detect moved files) option added
	-n (stamp only) option added
	-A (append) option added
	general code cleanups

  0.92 - 4/27/97 - minor bug fix + SVR4 fixes
        more examples added to man page (thanks to Andy Wick)
	Solaris fixes [i.e. removal of BSD calls] (thanks to Andy Wick &
          Tobias Oetiker & the dept. of Geo @ Indiana State University)
	Fixed -S option's "any output" detection (hopefully)

  0.93 - 4/29/97 - minor bug fix + new -M option
        Fixed version # in man page & code
	Fixed a few comparison & sorting bugs
	Added -M (force manual recursion) option

  0.94 - 4/30/97 - minor bug fix + csh-style option file parsing
	Removed . & .. from listing & recursion
	"Fixed" symlink-as-root problem
	"Fixed" cryptic "unreachable" error message
	Changed '/"/$/~ handling in parsing of files
	More man page cleanups
	Fixed ls-file written before downloads verified

  0.95 ("bugfree") - 5/2/97 - socks support + minor bug fixes
	Fixed include/exclude pattern reset
	Added socks support (thanks to Mark Hindess)
	Refixed SYSV support (thanks to Jens Schleusener)
	Refixed option parsing bugs introduced in 0.94

  0.96 ("redface") - - minor bug fixes
	Fixed minor listing bug (thanks again Jens Schleusener)
	Fixed SOCKS support (sorta)
	Fixed minor argument parsing bugs
	Removed superfluous MDTM command for soft links
	Changed LIST -A to -a (since "." and ".." are manually filtered anyway)
	Removed include filter from manual recursion

  0.99 ("bloated hog") - misc feature enhancements
  	Misc minor documentation updates
	Code split/cleanup
	-A (append) flag fixed, as well as other append problems
	Added more %-switches to pipe
	Added -B (background execute) option
	Added -c (copy local) and -t (FTP to) options (not working yet)
	Added -o/-O (alternate dir location) options
	Added -N (no continue if failure) option
	Added -k (ACCT login) option

 v1.00 "healthy bloated hog"
        Append mode tries harder
	Default retrytime, cmd timeouts increased
	Alarm handlers don't disable after first timeout
	Packet underflow reads don't corrupt file any more
	PORT command uses outgoing IP instead of 1st host alias
	Continue directory listing recursively if mid-stream abort on ls-lR
	Made local file I/O more signal-immune
	Retry files on spurious signal
	Support "local ls-lR file" listing mode
	Clear out host port, etc. when changing hostname
	Fixed GMT tm -> time_t conversion
	Actually uses MDTIM command to stamp files instead of listing
	Stamp mode actually works now
	Kill zombie uncompressors
	Made remote uncompressors work
	Parse non-curdir-relative listings


***************************************************************

KNOWN BUGS

[+: may want to fix; *: definitely want to fix; -: may never fix]

* Doesn't handle non-UNIX remote sites [I know of none any more]
* Probably plenty of nasty hidden bugs
+ Some fixed-sized buffers may overflow
+ Few options are really range-checked
- Groups & user names aren't mirrored
- Sockets aren't mirrored
- Exact time isn't used for comparison (only accurate to what ls gives)

Ok, to give some credit here:

I finally took a detailed look at mirror.pl's documentation, and decided to
add the following to lurkftp:
- "ignore" filter
- option to ignore dates &/or ignore size &/or look for "newer" files
- option for "skip mirror if too many changes"
- option for "Force transfer of everything"
- new list parsing routines (VMS/DOS/Mac) from lsparse.pl

----------------------------------------------------------------------------
 Thomas J. Moore, Hacker/SysAdmin  | Must ... Kill ... Bugs ... AAARRRGGHHH
 inet:  dark@mama.indstate.edu     | unix ada asm c/c++ mcu ee amiga bored
----------------------------------------------------------------------------