SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

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 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

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


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.