2004-12-20 v0.27.1: * Fix error in configure script when printing exceptions not found message, due to unquoted string. (Reported by M.J. Soft) * Fix -G* when NGETCACHE != NGETHOME. (Reported by Steven Adeff) * Fix midinfo and newsgroups files not honoring NGETCACHE/cachedir setting. (Reported by Christian Marillat) * Allow absolute paths in --text=mbox:. (Requested by Volker Wysk) * Support tab as the field separator in XPAT results, for Newsplex server support. (Requested by Mark Blain) * -a no longer gives an error if the server doesn't support LIST NEWSGROUPS(which retrieves newsgroup descriptions.) * Fix printing a warning when loading newsgroups list which contains descriptions of groups which no server actually carries. (Reported by Frederick Bruckman) * Fix problems loading group descriptions from newsgroups list which contain tabs. (Reported by Frederick Bruckman) 2004-06-17 v0.27: * Cache file format change, so switch default NGETHOME to ~/.nget5. (Upgrade should be as simple as "mv ~/.nget4 ~/.nget5; rm ~/.nget5/*,cache*") * Don't store fileid codes in the cache file, instead calculate them when needed. (Can halve size of gzipped cache files.) * Change fileid calculation for single-part posts to include the message-id, fixes problem with multiple posts with the same subject/author not downloading when using -K. * Support IPv6 if available. (Can force off with configure --disable-ipv6) * If a hostname resolves to multiple ip addresses, try as many as needed to find one that works. * Add NGETRC environment variable to specify alternate config file directly. * Extend removal of identical dupe downloaded files to also cover incomplete/broken files. (Based on patch from Bram) * Add "update" and "updateage" -R keywords to select based upon when items were added to the cache. * Fix par2 handling not finding incomplete/broken files with non-lowercase names. * Fix compile with gcc-3.4. 2003-12-27 v0.26: * Add simplest possible example to manpage. * Don't use __attribute__ on non-GNU compilers. * Fix bug in knapsack algorithm that in some cases could cause a sub-optimal set of par2 files to be retrieved(or an assertion error on debug builds.) * Patched uulib to fix problem with long headers causing duplicate output in text files. (Patch also at http://nget.sf.net/patches/uulib-0.5.19-uuinfofile-long-headers.patch) * Fix memleak in goodgetcwd with long paths. * Fix goodgetcwd error handling. * Rewrite of config file code, all config values are error checked now, and unknown entries (typos) are warned about. * Some code cleanups and restructuring. * Add --fullxover arg to override config file fullxover settings. * Libpopt build calls poptReadDefaultConfig to allow alias usage. (add lines to ~/.popt containing "nget alias ") * -? is no longer used to show help since it conflicts with getopt's error value. Run nget with no args or with --help instead. * Errors converting regex to wildmat cause "user" error status rather than fatal error status. * Better handling of 400 response code. 2003-11-20 v0.25: * Allow the same server id to be used for multiple hosts to share header cache data. (Useful if you have multiple accounts on the same server.) * Don't print extraneous exception information on tcp errors. * Also look for getopt_long in libgnugetopt. (But you probably need --with-gnugetopt-prefix=/usr/local for it to be found.) * Properly handle par2 files with the first packet(s) damaged. * Give incomplete par/par2 files less weight when choosing which to get. * Consider incomplete par2 files even if -i isn't specified. * If there aren't enough par2 files available, try getting some incomplete data files even if -i wasn't specified. * Fix compile with the MacOSX version of gcc 3.3. * Support bsd-style regex word boundaries. * Fix par1 handling on bigendian systems due to typo in byte swapping macro. 2003-10-04 v0.24.2: * Use gcc's automatic dependancy generation rather than a seperate depend rule. * Reenable UUOPT_DUMBNESS, fixes problems with uulib mis-parsing some subject lines. * Instead, requires a patched version of uulib that allows us to explicitly tell it what part number each file is. (http://nget.sourceforge.net/patches/uulib-0.5.18-LoadFileWithPartNo.patch) * Make -K/--no-decode imply --no-autopar. * Rename files that had decode warnings/errors so they won't cause reposts to be dupeskipped. * Fix death by SIGPIPE on broken connection on some platforms. * Better handling of completely damaged par files. (If none of a set can be parsed, set the autopar error, rather than ignoring them completely.) * Show most of the autopar status messages without needing to set debug=1. 2003-09-01 v0.24.1: * Fix compile with gcc-3.3. * Fix a few testcases leaving tempfiles behind. 2003-08-31 v0.24: * Add automatic handling of parfiles. nget will automatically download only as many .Pxx or .volX+X.par2 files as needed. (You still need an external program such as parchive or par2cmdline to restore them) * Add autopar exitstatus, changed path error code to be 4. (Same as user error code, since its basically a user error and there weren't any free bits.) * Change 0-file handling to show the 0 part as a seperate post than the binary it was posted with. (Avoids missing 0-files when they are posted with a binary that gets dropped due to dupefile checking or autopar handling) * Patched uulib (in nget+uulib) to avoid detecting some text posts as UUdata. (patch also available at http://nget.sf.net/patches/uulib-0.5.18-detect_text_as_uudata_fix.patch-v2) * Switch to using "GROUP g\nARTICLE n" in multi-group mode, rather than using ARTICLE , since that is extremely slow on some news servers. * Fix exception with dupe file checking if a local filename starts with ?, due to forgetting to escape them in regex_escape_string. (Carsten Clasohm) * Update subterfugue tests to work when subterfugue is using python >=2.2. * Document the messageid/mid keywords in the expretrieve expressions section of the manpage. * Fix ngetlite reusing a va_list (caused segfault on opteron.) * Fix segfault on empty group name. * Fix count of plaintext messages on exit. * Try harder to decode broken/incomplete files. (Useful for par2 reparing.) 2002-12-24 v0.23: * Add --decode arg so -k and -K can be negated. * Change -K's long arg from --keep2 to --no-decode to be more descriptive. * Make ngetlite check if the tempfile already exists and skip retrieving that article (in case it was already downloaded by nget.) * Stop some inconsequential messages from being printed when -qq was specified. * Fix some errors that were being printed on stdout rather than stderr. * Add --timeout arg. (overrides .ngetrc timeout option) * Fix segfault if uulib gets confused and UUGetFileListItem returns an item with a NULL filename. (reported by joakim verona) * Add support for specifying multiple groups (comma seperated) to -g/-G/-x for updating/searching/flushing several groups at once. * Fix exception when using -i and no parts of a file could be retrieved. * Add "*" as a special alias for selecting all cached groups. * Add --dupepath argument to specify extra directories to search for dupe files in. (suggested by Waldemar la Tendresse) 2002-10-28 v0.22.1: * Fix segv on saving text file if no uulib info was recorded. * Fix bug introduced in 0.22 where a textfile would be generated even if there were decode errors. * Fix ngetlite handling of servers that do a shutdown on the socket after an error (as opposed to just closing.) 2002-10-18 v0.22: * With fullxover=2, don't needlessly retrieve article list if all cached headers are older than all available headers. * Fix group/grouplist typo in manpage exit status warnings section. * Add "xover" exit warning status. * Workaround rare streaming bug in DNEWS servers that drops the end part of a xover reply (by disabling streaming and trying again.) * Allow -p to create missing directories recursively (with --makedirs) and add # setting for makedirs. * Add fatal_user_errors ngetrc setting to make user errors cause an immediate exit rather than continuing if possible. * Add -x option to retrieve based on XPAT searches rather than retrieving all headers and using a cache file. (suggested by Naveen Nathan) * Add -X option to search group list server-side rather than retrieving the full group list and using a cache file. * Fix segv on || or && in -R with less than 2 items on the stack. * Accept invalid dates with 1 digit hours/minutes/seconds or space padded hours. * Update cppunit tests to cppunit 1.8.0 style. * Add --text option (and corresponding .ngetrc option) to configure how nget handles text posts. (possible values of "files"(default, same as previous versions), "mbox"(store all text posts in one mbox format file, suggested by Steven Mueller), "ignore"(ignore all text posts, suggested by Naveen Nathan)) * Include info in saved text files about any binaries decoded from that file. * Add --save-binary-info option (and corresponding .ngetrc option) to specify whether to save headers/decode info for posts that contain only binaries. (values of no(default, same as previous nget versions), yes). * Extend server penalization so that servers can be penalized even if they don't disconnect after returning an error. Now servers that give overquota errors without disconnecting will be penalized too. 2002-08-04 v0.21: * Remove configure check for gcc<=2.7 since it can't really build nget anymore and the test was incorrectly detecting some gcc versions. * Add a configure check to remove -fomit-frame-pointer from compile flags on x86, as it breaks exception handling. (reported by Jose Antonio Becerra Permuy) * Remember to update the incomplete status when flushing parts of a file and doing a -r without reloading the cache first. * Added fullxover=2 setting that handles servers that both add and remove articles out of order. * Fix an invalid line error while loading cache in PART_MODE (mode 1) from causing an endless loop by advancing to SERVER_ARTICLE_MODE without a valid part. (reported by Pharos) * Add -a/-A options to get available group list from servers. (-a/-A followed by -Tr blah to list matching group names.) * Add "references" keyword to -R to search by the contents of the References: header. * Add section to manpage describing -R usage in more detail. 2002-07-11 v0.20: * Use timegm func in date string parser if available, fixes possibility of some times being parsed an hour off due to daylight savings time. * Replace the old kludge that was used when timegm wasn't available with a routine by Yitzchak Scott-Thoennes that should work on all systems, even in daylight savings time. * Complete rewrite of expression tree code (what handles the -R and -r args) to make the code more flexible, remove ugly pointer math, and fix gcc 3.1 warnings. Also make the and/or operators use short circuit evaluation. * Update parser to allow extra whitespace in -R expressions. * Update -R parser to allow a stack larger than 2 elements. (Now you can do "A B && X Y && &&" or "A B X Y && && &&", previously you would need to do "A B && X && Y &&") * Added age keyword to -R expressions. (Ex: -R "age 5days12h <" to choose articles less than 5 and a half days old.) * Error on non-option command line args rather than ignoring them. To place comments in listfiles, use # as the first char on a line, or with preceeding whitespace and not inside quotes. * Optimize cache/midinfo parsing a bit. * Extend server penalization so that any server that disconnects before successfully executing at least one command will be penalized. This means that disconnects due to overquota, servers that connect but timeout before saying hello, etc, will also be penalized now. * Fix needing to escape quotes inside -r strings. * Support for (cross-)compiling with mingw32. (see README.mingw32) * Added nget.spec(.in) file for RPM support. (Thomas Kotzian) * Remove configure --disable-filecompare option. I don't think anyone used it, and even if they did it really shouldn't be a configure option. (If you did use it, and want me to add it as a runtime option, then contact me.) * Major manpage cleanups, example ngetrc sections are indented properly and all .ngetrc global and host options are individually documented. * Check for internally used non-standard regex operators at runtime, should fix problems with dupe file checking not working on some non-gnu regex system libraries. 2002-06-17 v0.19.1: * Print error message rather than segv on flush without specifying a group first. (Reported by Christian Marillat) * Fix configure script not resetting a variable between testing packages causing it to not run some tests and to miss placing some data in the Makefile. * Add --with-*-prefix configure args, remove multi-location testing of --with-* since autoconf's caching killed it anyway. * Rearrange CPPFLAGS order to ensure that when using included uulib, its header is found before others that may exist on system. 2002-06-17 v0.19: * Fix handling of timeout where the server prints an error before disconnecting. (Reported by Scott Kay) * Fix specifying some default arguments twice. (Fixes gcc 3.1 compile) * Make all STL includes use the new method. (Fixes warnings under gcc 3.1) * Fix error on writing temp file sometimes leaving the broken temp file rather than deleting it. * Fix restoring of previous group upon completion of -@. * Reset to previous startpath when -@ completes, not to previous -p. * Improved skipping of command line args when bad parameters are given. (Eg, now nget -p bad -r foo -p good -r bar will still execute the -p good -r bar part, rather than exiting on the first error.) * Added GROUP error exit status (code 16) for when all servers fail to update a group's headers. (Previously gave an OTHER error.) * Search the cache for all adjacent -r/-R options in a single loop. (Speeds up command lines like nget -Gfoo -r bar -r baz -r boo. (options -h/-G/-g/-@ split -r chains.)) * For -G .. -r .. search while reading rather than loading cache into memory and then searching. (Speed up and memory usage reduction.) * Actually honor -c option again. (Case sensitive matches) * Update configure --with-*=DIR options, now searches in both DIR and DIR/{include,lib}. Also adds --with-*-{include,lib}=DIR to force specific locations for each. * Many additions to test suite, including a bunch of file error condition checks using SUBTERFUGUE. A few patches for uulib and zlib are required to pass all tests. (See http://nget.sourceforge.net/patches/) (Note: patches have already been sent upstream, but are provided in case you don't want to wait for a new upstream release) 2002-05-17 v0.18.2: * Work around exception handling segfaults with older versions of gcc by not using multiple inheritance in exception classes. (reported by Waldemar la Tendresse) * Fix redefinition of SIZEOF_INT_FAST64_T compile warnings on systems without int_fast64_t. * Fix "Numerical result out of range" connection error that occured on some addresses due to using too small a buffer. * Make install create directories if needed. (reported by Godmar Back) * Fix printf compile warnings on some arches (eg macosx) and include CPPFLAGS in make dep line. (Thomas Kotzian) * Add nntp auth support to ngetlite too. 2002-05-02 v0.18.1: * Fix compile on 64bit arches (based on patch from Chris Lawrence.) * Fix bug introduced in 0.18 where -g would fail on a new group with fullxover=0. (reported by "lunz") 2002-04-02 v0.18: * Remove fixed length buffers. (Fix errors with extremely long subjects, etc.) * If a group has articles from multiple servers show the shortname of the server each part is being retrieved from. * Don't force the connection to close on unequal line count. * Further additions to test suite. * Documented make test in README. * Make -h work for -r/-R too. (Only download articles from the given host. If that host doesn't have the article, skip and flag it as an error) * Added a connection pool to avoid continuously reconnecting when articles are spread across different servers a lot. (suggested by Thore Harald Hoye) (Adds new .ngetrc global opts idletimeout/maxconnections, and per-server idletimeout) * Added "server penalization" to avoid wasting lots of time trying to connect to dead servers. (New .ngetrc global opts penaltystrikes, initialpenalty, penaltymultiplier) * nget+uulib tarball includes new uulib version 0.5.18 with yEnc support. 2002-02-28 v0.17: * Handle invalid References starting with a '.'. * Fix --without-zlib build. * Optimized cache file loading and dupe file checking speed. * Added cachedir config option and NGETCACHE env var. * Added --test-multiserver (and test_multiserver .ngetrc option) to make -T show which servers have each file. * Don't show doarticle linecount warning for servers that report # of bytes counted with LF endings, then send with CRLF. * Some portability fixes. (Now builds on SunOS.) * Handle server_articles left in the cache that have no server with a matching serverid in .ngetrc. * .ngetrc now has global fullxover and maxstreaming options to set the default for all host entries that don't specify their own. * Update .ngetrc handling to allow # to be used for comment lines (in addition to //), and to not require the // to be on the first column. * Make -i mode continue downloading parts even if the server reports one of them is no longer available. (reported by Thore Harald Hoye) * Add FAQ about yEnc support. * Started adding a test suite. 2002-01-23 v0.16: * Print info line about each file before beginning retrieval. * Fix slow exit with very large midinfo files. * In -T mode, only print x/y parts if the post is incomplete, otherwise just print x. * Set default --limit to 0. * Remove old -L/-S args since noone probably used them anyway (can still be set in .ngetrc). * Added -L/--maxlines to complement -l/--limit. * Now saves References in cache file. * Cache file format change, so switch default NGETHOME to ~/.nget4. (Upgrade should be as simple as "mv ~/.nget3 ~/.nget4; rm ~/.nget4/*,cache*") * Add heuristic to detect replies to multi-part posts and mark them as complete. No more need to specify -i to catch replies. * Cleaned up retrieving headers progress display when using fullxover=1. * Added streaming support for header retrieval, using fullxover should now be many times faster. (and on high ping links, increasing the maxstreaming setting can improve the speed even more.) * Force stdout to be line buffered. (Keeps stdout and stderr from getting out of sync when redirecting both to a file.) * Force single-part posts with no body to be handled as text. (As opposed to giving a "No encoded data found" error and keeping the temp file) * Better error handling on writing cache/midinfo files. 2001-11-24 - v0.15.2: * Fix -df with filenames that begin or end in "non-word" chars since the \< and \> will not match because there is no word boundry in such a case. (reported by Bernhard Josef Rieder) * Added LDFLAGS arg in Makefile to facilitate building with fink. (Thomas Kotzian) * Support systems that don't have sstream, but do have the older strstream. (Thomas Kotzian, me) * Added dupe checking between successive downloads. Avoids grabbing the same file twice in the same run. * Fix undefined reference to cur_term link error that was showing up on some systems. * Removed autoconf check for select function that when tested with g++ >=2.96 would always report the function to be not found, due to a bug in autoconf 2.5. IF you actually don't have select, comment out the HAVE_SELECT in sockstuff.cc. 2001-11-07 - v0.15.1: * Fix linking when there is no libtermcap but there is curses or ncurses. (Reported by Erik-Jan Vlieger) * Fix hang after fatal error on article retrieval. (Reported by Lance Simmons) 2001-11-01 - v0.15: * Fixes for gcc 3.0 compilation. * Print time remaining in XhXXmXXs format, rather than XXXXs. * Use termcap for clearing progress lines, fixes problems with chars getting left at the end. * Use 64bit int for total bytes/lines if available. Fixes negative/weird time left displays for large queues. * Make timeout a config option. * Add manpage for ngetlite. * No longer attempt to set user/group in make install. * Add messageid (mid) keyword to -R expressions. * Add more documentation of win32 build/usage. * Error on retrieving headers will retry and try other servers instead of giving up. * Errors other than "article not available" on retrieving articles are handled correctly. * Added unequal_line_error config option and made default be a warning rather than an error. (since the "unequal line count" error was more of an annoyance than anything.) * Added an exit error status for article retrieval errors. * Added ok and warning counts on exit. * Print part number/total parts in retrieval info. * Only mark as successfully recieved if all parts were successufully decoded. (Rather than if any of the parts were decoded ok). * Fixed -k mode printing "not decoding, keeping temp files." rather than "decoded ok, keeping temp files." 2001-08-02 - v0.14: * Fix exception if files in current dir contained '{' or '}'. (reported by Brian Keefer) * Remove autoconf AC_C_CONST, its only for C progs and breaks g++. * Fixed east/west of GMT timezone discrepancy if timezone var not found by configure. * Add support for ISO8601 date format and some minor fixes to current date parsing. * -T now prints date in ISO8601 format, rather than seconds since the epoch. * -p and -P can now be specified multiple times without requiring a -G between each. (eg. now you can -G somegroup -p /dir1 -r somefiles -p /dir2 -r someotherstuff) * Remove quotes from quoted filenames. * Added FAQ. * Fixed some leaks. (mostly unnoticable unless you did lots of -[Gg] on the same instance.) * Fixed ngetlite building on platforms without vasprintf. (reported by Michael J. Paluka) * Added -d [mM] flags. (Andres Heinloo) * Added -[MU] options. (Andres Heinloo, me) * nget+uulib tarball includes new uulib version 0.5.15 2001-02-08 - v0.13.2: * Add trailing / onto NGETHOME var so you don't need to. * Fix compile on Redhat 7.0. (#defined PROTOTYPES before including uudeview) * Added usegz .ngetrc option. (global and per-group) * Added exit code setting on non-fatal errors and printout of number of errors. (lemme know if you find some other errors that you think should be reported this way.) * ngetlite uses ngetlite. (instead of .tmp), allowing multiple ngetlite processes to run in the same dir. * ngetlite checks for bytes +-3 like nget. * fix signed/unsigned error in cache.cc that caused "no host selected" errors if using a serverid larger than would fit in a signed int. 2001-01-08 - v0.13.1: * Use write to tempfile then rename for saving cache and midinfo. * Made some forgotten printfs ("was gonna add...") into PDEBUGs. * Use $(MAKE) instead of make for making subdirs. (Howard Jones) 2000-09-05 - v0.13: * Locks midinfo files better. Previous versions would not have corruption, but would lose one of the updates, if two nget instances tried to update the midinfo file at the same time. * Added -m option to optionally make directories that do not exist for -p and -P. 2000-08-18 - v0.12: * Fixed segfault on invalid param to -F * Deletes tempfile on drive full error. (Otherwise the useless truncated file may cause annoyances later) * On unequal line count errors, will now try other servers or give up, instead of looping on the same one. (See also: new linelenience option) * Fixed configure --with-pcre option being ignored if a path was not specified. * On uulib warning messages, cause an error and keep the temp files around so that the user can examine them and see what (if anything) went wrong. * Header cache and midinfo files now have ,cache(.gz) and ,midinfo(.gz) extensions, in order to prevent possible (but unlikely) problems with newsgroups that might have had _midinfo in the name. More importantly, it allows for easy exclusion of cache files from backups. If you are upgrading from a previous version, run the fixnames.sh script to update your cache file names. * Added per-server linelenience option to control generation of unequal line count errors. * Changed -q behavior, a single -q will merely disable the auto-updating output, to make redirecting the output (eg, logging) acceptable. Specifying -q twice will use the old behavior of being very quiet. 2000-08-09 - v0.11: * Fixed segfault on reconnecting after exception in ngetlite. * Added -F command to flush headers from a group. * Fixed const char ** compilation problem in nget.cc (Only showed up with newer versions of popt) 2000-04-18 - v0.10: * Fixed handling of invalid args when using libpopt. * Added _level and _glevel prio options, and made -g select hosts automatically. * Fixed dual \ problem in regexes. (Now you only need dual \'s for quote chars, rather than all chars. (once for the shell, once for nget)) * Fixed header retrieval for new groups with fullxover=1. (only failed on some servers) * Better error handling when selecting invalid host. * Better error handling for badly configured sections in .ngetrc. * Fixed nrange.cc compile problem in without-zlib build. 2000-04-13 - v0.9: * fixed command line arg problems when built with getopt rather that libpopt. * fixed creating _midinfo files with no permissions problem (caused error after trying to use the group for the second time on some systems). * fixed implicit declaration of function close() in mylockfile.h on some systems. * fixed multiple uses of -p being relative to each other rather than the start directory. * added curservmult config option (was hardcoded to 2.0 in v0.8) * fixed a few documentation ommisions 2000-04-12 - v0.8: * nget version 0.8 released on 2000-04-12. (sorry about that wait.) * fullxover server option to try to fill in gaps in header lists, for servers that don't always add headers in order. * Now compiles under cygwin. (Though due to ommisions in the exports for the cygwin library, it needs the files in glob/, and you will need to d/l libpcre (or perhaps another regex library..), and probably libpopt) * Added -N to allow decoding of parts gotten with -K or -w/ngetlite without connecting to server for unretrieved parts. * Changed -d operation to support dupechecking in any combination of existing files and parts already downloaded. * Added -w to write a list of parts to then be gotten with ngetlite. * Added ngetlite program for use on comps with older compilers and/or less memory. (Still requires you write a list of parts to get with nget -w) * Added -P to use a different directory for temp files. * Added -L/-S to support filesystems that can't handle the longer tempfile names. * Fixed bug that occasionaly caused a file to be corrupted (split line). * Now uses ~/.nget3 directory, since config/cache formats have changed. * Improved multi-server support that can piece together seperate parts from multiple servers. * Added -k and -K to keep temp files around or not decode at all. * Added -R to retrieve based upon any number of rules. * Added libpopt support. * Added -@ option to read commands from a file (only available with libpopt, getopt is not reentrant) * Added -s option to specify retry delay. * Now aborts on invalid regex entry, instead of segfaulting. * Added ability to specify a port in the standard host:port method. (reminded by Pete Bentley) * Xover consistancy check now allows extra whitespace in numeric fields (Pete Bentley) (actually, it allows whitespace anywhere in the field.. could probably be improved to only allow it at the end (maybe at the beginning?) but I'm not gonna go to that much trouble.) * Fixed complete bombing out on bad xover, instead of skipping the header like it should have. (reported by Pete Bentley) * Fixed a bug that would occasionally split parts from one multipart posting into two seperate groups. 1999-07-12 - v0.7: * Stores file read info in a seperate file, so it does not need to resave the cache if the only change was to mark some messages read. * Added +uulib version of the source distro, for easier compilation. * Now recognizes when there is no disk space left, and aborts. fwrite() doesn't seem to report errors correctly, at least on linux glibc2. man fwrite says "If an error occurs, or the end-of-file is reached, the return value is a short item count (or zero)." However fwrite() would _always_ return the full item count, even if the disk was full. I guess this is a libc bug. (fyi, this is on glibc 2.0.7). It now uses write(), which does handle errors correctly. * Added consistancy checking on header retrieval. (Steven Wilcoxon) * Manpage now contains all info that it should. * Fixed dupe filename checking. (broke in 0.5) * Only creates a host cache directory if there is something to be written in it. * Added .ngetrc, with default options, and host/group aliases. * Added check for -luulib in configure.in, seems some distro's have it installed as such, instead of -luu. 1999-07-05 - v0.6: * Added "file read" flag to stop redundant downloading. * Watches for a downloaded multipart file being exactly the same as what already exists. Can be disabled with --disable-filecompare. (Steven Wilcoxon) * Rewrote header cache code, should now use as little as 1/4th the memory depending upon how many multipart messages there are. Actual disk space saved is less due to zlib compression, but it shouldn't be near as much of a memory hog when running now. If you are upgrading from a previous version, you will need to reget all your headers. * Reads .authinfo in cache dir so you don't have to put it on the command line. * Optional use of checksum in the filename, rather than host/group/articlenum/etc which takes up a rather large amount of space. Added advantage is that since the filename is now based soley on the group and the subject/author headers, it should be entirely possible to download part of a multipart file from one server and the rest from another! * Implemented use of crc32 checksums to compare headers when piecing together multipart messages, maybe save a bit of cpu power. 1999-06-16 - v0.5: * a bit of fixes to the error recovery stuff. * handles local files with regex special chars (somewhat) better * nntp authinfo user/pass authorization supported * trying to retrieve a no longer available article will merely skip to the next file, rather than aborting. * now compiles on linux libc5 1999-06-15 - v0.4: * included aclocal.m4 in the tar.gz 1999-06-15 - v0.3: * doesn't download files you already have.. kinda rudementary, could easily cause problems if you have a file like "a" in the dir.. * c_file now has buffered gets() capability, which not only is far faster than gzgets(), it is even faster than the gz'd binary cache. * Changed prot_nntp to use c_file_tcp, with the new bgets(), reducing cpu usage significantly (while retrieving articles: 3.0% to <0.1%) 1999-06-07 - v0.2: * uses select() on reads.. no more infinate waits when disconnected 1999-06-06 - v0.1: * Initial Release.