diff --git a/AUTHORS b/AUTHORS index 9434bc6..c63de49 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,5 +1,7 @@ Robert J. Hansen * nsrlsvr - +Early on, Jesse Kornblum provided some patches to improve reporting. +His code has since been overtaken by other code, but I'm grateful +for his work early on in nsrlsvr's life. :) diff --git a/CHANGELOG b/CHANGELOG deleted file mode 100644 index bd1039a..0000000 --- a/CHANGELOG +++ /dev/null @@ -1,110 +0,0 @@ -1.4: June 29, 2014 - * Added two new applications: nsrlupdate and nsrlappend - * Changed the build process: no longer tries to grab an RDS - -1.3.1: May 2014 - * Updated to RDS 2.44 - -1.3: April 2014 - * Removed support for SHA-1, SHA-256 and SHA-512 hashes. - * Now stores hashes internally as 128-bit binary values rather than - hex strings, slashing memory usage. - * Old-style (version 1) protocol is deprecated and will be removed - in one year. - -1.2.1: March 2014 - * Updated to RDS 2.43 - -1.2.0: January 2014 - * Internal changes to dramatically reduce memory fragmentation. - * Internal changes to slightly increase throughput. - * Internal changes to slightly decrease startup time. - -1.1.5: August, 2013 - * Updated to use the latest NSRL RDS (2.41m). - * The Python data-munging script now works under Python 3. - -1.1.4: March 4, 2013 - * Restored the ability to use lowercase hex symbols in custom - datasets. - -1.1.1: February 22, 2013 - * Code cleanups. Now has better support for using custom datasets. - Less dependence on scripts for building. - -1.1: May 2, 2012 - * Supports version 2 of the wire protocol, which introduces new - commands: STATUS (gives server status), BYE (what it says), - UPSHIFT (attempt to negotiate to a more recent protocol) and - DOWNSHIFT (negotiate to a lower protocol). Version 2 also - supports multiple QUERY commands in a single connection, which - helps a lot when fighting off port exhaustion. - * Switched from blocking I/O to poll()-based I/O. This helps - deal with the out-of-control system loads that some users - were seeing. - * Uses RDS 2.36 - -1.0.6: January 20, 2012 - * Discovered that Win32 I/O redirection didn't work at all. - Whoops. This got fixed. - -1.0.5: January 17, 2012 - * 1.0.4 added a bad regex that didn't match as much as it - should have. This had the effects of stripping SHA-1 hashes - down to 128 bits. Whoops. - * Now compiles on FreeBSD 9.0. - * nsrlparse became nsrlparse.py - * nsrllookup became nsrllookup.py - * Fixed documentation to reflect these name changes - -1.0.4: January 3, 2012 - * Added a preflight script to help in development. This has no - effect on end-users. - * Removed a bit of debugging output that was accidentally left - in. - * Moved the 'populate' script to 'nsrlparse' and added it to - the list of installed files - * MD5 is now fully supported, as is interoperability with - md5deep. - -1.0.3: January 3, 2012 - * Fixed an interoperability bug with sha1deep. - -1.0.2: December 30, 2011 - * Ubuntu 11.10 complains about handler.cc, on account of how - there are some write() calls that aren't checked for returning - a -1. Virtually all of those were superfluous warnings: one - could possibly have created an intermittent error sooner or - later. They have all been patched, and it now compiles cleanly - on Ubuntu 11.10. - -1.0.1: December 30, 2011 - * nsrllookup had a bug that would become manifest while querying - millions of records. Now nsrllookup breaks it up into blocks - of 4096 queries (a maximum of 164k of data per connection). - This will hopefully improve performance for those times when - you want to push millions of queries to the server. - -1.0: December 30, 2011 - * First ready-for-the-users release. The only new feature over - the release candidate series is a much improved installation - procedure. - * It should be possible to make RPMs, Debian packages, or - what-have-you, since the install process is now bog-standard - GNU ./configure && make && make install - -1.0rcX: December, 2011 - * Ready for limited beta testing. The only change visible to - end users was introducing support for OS X 10.6. - * A bug that prevented reliable functioning on Fedora and OpenSUSE - was found and crushed. - * The internals were ported from a very C-like C++ subset to a - much more C++ code style. This reduced our dependency on GNU - getline(), which had been the major obstacle to OS X 10.6 - support. - -0.9: December, 2011 - * Successfully tested nsrlsvr with the full NIST NSRL RDS on a 4Gb - Apple iMac. It made it completely unusable as a desktop, but was - able to successfully service requests. - diff --git a/man/nsrlappend.1 b/man/nsrlappend.1 deleted file mode 100644 index 48ff9f2..0000000 --- a/man/nsrlappend.1 +++ /dev/null @@ -1,25 +0,0 @@ -.Dd June 29, 2014 -.Dt NSRLAPPEND 1 -.Os -.Sh NAME -.Nm nsrlappend -.Nd appends new hashes to an nsrlsvr hash database -.Sh SYNOPSIS -.Nm nsrlappend -.Op Ar filename -.Sh DESCRIPTION -nsrlappend appends new hashes to an existing nsrlsvr hash database. -This can be useful if, for instance, you have a database of known hash -values that are not present in the NSRL RDS which you also wish to be -able to check for. - -nsrlappend can read hashes from a file, or if no filename is given, -from standard input. This makes it easy to do something like run -md5deep on a directory and pipe those hashes directly to nsrlappend. - -.Sh BUGS -None known. -.Sh SEE ALSO -nsrlsvr(1) -.Sh AUTHOR -Robert J. Hansen diff --git a/man/nsrlsvr.1 b/man/nsrlsvr.1 index 74cb403..f86f3d9 100644 --- a/man/nsrlsvr.1 +++ b/man/nsrlsvr.1 @@ -1,4 +1,4 @@ -.Dd January 30, 2012 +.Dd February 8, 2015 .Dt NSRLSVR 1 .Os .Sh NAME @@ -8,13 +8,10 @@ .Nm nsrlsvr .Op Fl b .Op Fl h -.Op Fl o .Op Fl s -.Op Fl S .Op Fl v -.Op Fl f Ar RDS-file +.Op Fl f Ar hash-file .Op Fl p Ar port -.Op Fl t Ar timeout .Sh DESCRIPTION nsrlsvr provides a daemon that services queries from clients requesting information about whether certain hash values are present in the NIST National Software Reference @@ -25,35 +22,22 @@ Laboratory Reference Data Set (NSRL RDS). show information on submitting bug reports, then exit .It Fl h show a help screen, then exit -.It Fl o -only support the old 1.0 server protocol .It Fl s allow clients to query the server status (default: disabled) -.It Fl S -run as a normal process (do not run as a daemon) .It Fl v show version information, then exit -.It Fl f Ar RDS-file -specify an alternate RDS file in -.Ar RDS-file +.It Fl f Ar hash-file +specify an alternate hash file in +.Ar hash-file .It Fl p Ar port listen on port (default: 9120) .Ar port -.It Fl t Ar timeout -shut down after -.Ar timeout -seconds of inactivity (default: disabled) .El .Sh NOTES To support the full NSRL RDS requires a lot of memory. Although it will run on a 4Gb system, the results may be unsatisfactory. A 64-bit OS with at least 8Gb of RAM is recommended. .Pp -nsrlsvr treats the -.Ar timeout -value as a guideline. It will not shut down before -.Ar timeout -seconds of inactivity, but it may allow up to thirty seconds more. .Sh BUGS None known. .Sh SEE ALSO diff --git a/src/main.cc b/src/main.cc index a65a120..46bd5c4 100644 --- a/src/main.cc +++ b/src/main.cc @@ -283,7 +283,7 @@ void show_usage(const char* program_name) "-v : print version information\n" << "-b : get information on reporting bugs\n" << "-f : specify an alternate RDS (default: "<< PKGDATADIR << - "/NSRLFile.txt)\n" << + "/hashes.txt)\n" << "-s : allow clients to query server status (default: disabled)\n" << "-h : show this help message\n" << "-p : listen on PORT, between 1024 and 65535 (default: 9120)\n\n";