mmh
12 years agoAdd the note about the burst(1) change to pending-release-notes.
Ken Hornstein [Tue, 28 Feb 2012 03:11:34 +0000 (22:11 -0500)]
Add the note about the burst(1) change to pending-release-notes.

12 years agoFix bug #1466. It turns out that RFC 934 specifies that any line starting
Ken Hornstein [Tue, 28 Feb 2012 03:05:41 +0000 (22:05 -0500)]
Fix bug #1466.  It turns out that RFC 934 specifies that any line starting
with a "-" but NOT followed by a space is a valid message delimiter.  We
only supported one type of message delimiter.  Adapt the code so any
valid delimiter is supported.

12 years agoAdded cast in conditional to prevent signed/unsigned comparison, and wrapped argument...
David Levine [Tue, 28 Feb 2012 02:56:58 +0000 (20:56 -0600)]
Added cast in conditional to prevent signed/unsigned comparison, and wrapped argument to prevent warning about unused argument when built without SASL support.

12 years agoChanged domains in man page and test examples to use example.com
David Levine [Tue, 28 Feb 2012 02:50:29 +0000 (20:50 -0600)]
Changed domains in man page and test examples to use example.com

12 years agoFixed to report failure if getfulname hadn't been built yet.
David Levine [Tue, 28 Feb 2012 02:42:19 +0000 (20:42 -0600)]
Fixed to report failure if getfulname hadn't been built yet.

12 years agoThey test with output to a tty didn't work under make distcheck. Tried to work aroun...
David Levine [Tue, 28 Feb 2012 02:40:15 +0000 (20:40 -0600)]
They test with output to a tty didn't work under make distcheck.  Tried to work around it by writing directly to /dev/tty, if that's available.

12 years agoAdd support for -nosasl and -saslmaxssf switches.
Ken Hornstein [Tue, 28 Feb 2012 01:50:49 +0000 (20:50 -0500)]
Add support for -nosasl and -saslmaxssf switches.

12 years agoDocument changes to forw(1).
Ken Hornstein [Mon, 27 Feb 2012 19:13:02 +0000 (14:13 -0500)]
Document changes to forw(1).

12 years agoClean up some typos in here.
Ken Hornstein [Mon, 27 Feb 2012 19:12:34 +0000 (14:12 -0500)]
Clean up some typos in here.

12 years agoGot the forw -digest test working.
Ken Hornstein [Mon, 27 Feb 2012 18:45:37 +0000 (13:45 -0500)]
Got the forw -digest test working.

12 years agoUpdate digestcomps and forwcomps with comments and better formatting.
Ken Hornstein [Mon, 27 Feb 2012 18:37:09 +0000 (13:37 -0500)]
Update digestcomps and forwcomps with comments and better formatting.

12 years agoMake -volume switch actually work (it always got overridden). As far
Ken Hornstein [Mon, 27 Feb 2012 17:56:00 +0000 (12:56 -0500)]
Make -volume switch actually work (it always got overridden).  As far
as I can tell, this never worked.  Found by the test suite!

12 years agoRemove the forw-digest test until we have it working.
Ken Hornstein [Mon, 27 Feb 2012 02:29:44 +0000 (21:29 -0500)]
Remove the forw-digest test until we have it working.

12 years agoA test for forw -digest. It doesn't quite work yet.
Ken Hornstein [Mon, 27 Feb 2012 02:29:01 +0000 (21:29 -0500)]
A test for forw -digest.  It doesn't quite work yet.

12 years agoFix up some of the pick tests:
Ken Hornstein [Mon, 27 Feb 2012 02:14:04 +0000 (21:14 -0500)]
Fix up some of the pick tests:

- Change sed invocation around to get rid of GNU sed extensions
- Put explicit times in the pick tests (if you don't, it uses the current
  hour/minutes as the timestamp, which means it could work or not work
  depending on what time of day you run the tests).

12 years agoUpdate the pending release notes with new features.
Ken Hornstein [Sun, 26 Feb 2012 18:02:41 +0000 (13:02 -0500)]
Update the pending release notes with new features.

12 years agoAdd a new README documenting the changes to the components files.
Ken Hornstein [Sun, 26 Feb 2012 17:45:48 +0000 (12:45 -0500)]
Add a new README documenting the changes to the components files.

12 years agoBeginnings of a test suite for the mh-format support in forw.
Ken Hornstein [Sun, 26 Feb 2012 17:12:28 +0000 (12:12 -0500)]
Beginnings of a test suite for the mh-format support in forw.

12 years agoAdded test-pick.
David Levine [Sun, 26 Feb 2012 16:55:46 +0000 (10:55 -0600)]
Added test-pick.

12 years agoSuppress echoing of man page build lines. One of them says "warning", and it's handy...
David Levine [Sun, 26 Feb 2012 16:32:29 +0000 (10:32 -0600)]
Suppress echoing of man page build lines.  One of them says "warning", and it's handy to check that build output doesn't say that.

12 years agoChanged type of a local to unsigned and removed local ncomps to suppress compile...
David Levine [Sun, 26 Feb 2012 16:10:35 +0000 (10:10 -0600)]
Changed type of a local to unsigned and removed local ncomps to suppress compile warnings.

12 years agoAdded gcov and gcov-clean targets.
David Levine [Sun, 26 Feb 2012 16:09:35 +0000 (10:09 -0600)]
Added gcov and gcov-clean targets.

12 years agoFinally, some support for mh-format when using forw(1). Still needs some
Ken Hornstein [Sun, 26 Feb 2012 05:09:52 +0000 (00:09 -0500)]
Finally, some support for mh-format when using forw(1).  Still needs some
tests.

12 years agoCreate a test for the new mh-format processing available in comp(1).
Ken Hornstein [Thu, 23 Feb 2012 17:03:09 +0000 (12:03 -0500)]
Create a test for the new mh-format processing available in comp(1).

12 years agoAdded test-flist and test-mark sequences tests.
David Levine [Thu, 23 Feb 2012 04:23:05 +0000 (22:23 -0600)]
Added test-flist and test-mark sequences tests.

12 years agoDon't list _sysconfdir/ directory in RPM spec. We don't list any other directories...
David Levine [Thu, 23 Feb 2012 04:21:56 +0000 (22:21 -0600)]
Don't list _sysconfdir/ directory in RPM spec.  We don't list any other directories, so now it will be created with the same permissions as all of the others.

12 years agoRemoved reference to mhost.com.
David Levine [Wed, 22 Feb 2012 01:35:05 +0000 (19:35 -0600)]
Removed reference to mhost.com.

12 years agoUpdated to reflect that all of the lists are on nongnu.org.
David Levine [Wed, 22 Feb 2012 01:34:33 +0000 (19:34 -0600)]
Updated to reflect that all of the lists are on nongnu.org.

12 years agoWith "make rpm", configure all modified files in sysconfdir (etc) to be saved when...
David Levine [Wed, 22 Feb 2012 01:31:08 +0000 (19:31 -0600)]
With "make rpm", configure all modified files in sysconfdir (etc) to be saved when erasing or upgrading the package.  Also, leave the doc directory whereever "make install" puts it.

12 years agoAdd support for a -subject switch to comp.
Ken Hornstein [Tue, 21 Feb 2012 20:56:06 +0000 (15:56 -0500)]
Add support for a -subject switch to comp.

12 years agoSwitch from (me) to (localmbox) to make -cc me work correctly.
Ken Hornstein [Tue, 21 Feb 2012 17:58:50 +0000 (12:58 -0500)]
Switch from (me) to (localmbox) to make -cc me work correctly.

12 years agoMigrated a couple more tests to use run_test() in common.sh.
David Levine [Tue, 21 Feb 2012 04:02:26 +0000 (22:02 -0600)]
Migrated a couple more tests to use run_test() in common.sh.

12 years agoPut default From: headers in these component files, and document the
Ken Hornstein [Mon, 20 Feb 2012 05:31:14 +0000 (00:31 -0500)]
Put default From: headers in these component files, and document the
components file now that we can have comments.

12 years agoClean up documentation formatting
Ken Hornstein [Mon, 20 Feb 2012 05:31:01 +0000 (00:31 -0500)]
Clean up documentation formatting

12 years agoRemoved unused local ncomps because gcc complained about it.
David Levine [Mon, 20 Feb 2012 04:29:14 +0000 (22:29 -0600)]
Removed unused local ncomps because gcc complained about it.

12 years agoAdd support for "to", "cc", "from", and "fcc" components via command-line
Ken Hornstein [Mon, 20 Feb 2012 00:59:06 +0000 (19:59 -0500)]
Add support for "to", "cc", "from", and "fcc" components via command-line
switches.

12 years agoFix a bug leftover from the Automake conversion; the AC_SUBST'd variable
Ken Hornstein [Sun, 19 Feb 2012 23:03:26 +0000 (18:03 -0500)]
Fix a bug leftover from the Automake conversion; the AC_SUBST'd variable
names are really editorpath and pagerpath, use those instead.

12 years agoKen noted that "make check" can be run before installation because the only program...
David Levine [Sun, 19 Feb 2012 04:36:50 +0000 (22:36 -0600)]
Ken noted that "make check" can be run before installation because the only program in lib that the tests currently use is mhlproc, and we have an mhlproc entry in the test .mh_profile for that.  Added showproc and postproc entries in case they're ever needed.

12 years agoMoved "make check" to after "make install".
David Levine [Sat, 18 Feb 2012 23:32:15 +0000 (17:32 -0600)]
Moved "make check" to after "make install".

12 years agogcc was warning about unused arguments to main, so added use of them in a usage check.
David Levine [Sat, 18 Feb 2012 23:31:37 +0000 (17:31 -0600)]
gcc was warning about unused arguments to main, so added use of them in a usage check.

12 years agoConsolidated runtest and check_string test functions.
David Levine [Sat, 18 Feb 2012 23:30:47 +0000 (17:30 -0600)]
Consolidated runtest and check_string test functions.

12 years agoHave each test clean up after itself if it completes successfully.
David Levine [Sat, 18 Feb 2012 17:21:28 +0000 (11:21 -0600)]
Have each test clean up after itself if it completes successfully.

12 years agoAdded mhpath test. Updated mhpath man page to reflect actual behavior for a message...
David Levine [Sat, 18 Feb 2012 15:42:04 +0000 (09:42 -0600)]
Added mhpath test.  Updated mhpath man page to reflect actual behavior for a message number greater than that of the highest existing message in a folder.

12 years agoThe test check() function now removes the expected and actual output files if they...
David Levine [Sat, 18 Feb 2012 14:03:21 +0000 (08:03 -0600)]
The test check() function now removes the expected and actual output files if they're the same, by default.  Added check-string() function.

12 years agoInitialized local "in" to suppress gcc warning about possible uninitialized use.
David Levine [Sat, 18 Feb 2012 01:10:08 +0000 (19:10 -0600)]
Initialized local "in" to suppress gcc warning about possible uninitialized use.

12 years agoEnclosed program name and directory in double quotes so that they can contain whitespace.
David Levine [Sat, 18 Feb 2012 01:08:42 +0000 (19:08 -0600)]
Enclosed program name and directory in double quotes so that they can contain whitespace.

12 years agoHere's the proper fix instead of the hack of d28ce569fe233141f86fe516878361da01c9f9cb...
David Levine [Sat, 18 Feb 2012 00:44:35 +0000 (18:44 -0600)]
Here's the proper fix instead of the hack of d28ce569fe233141f86fe516878361da01c9f9cb.  Use ${srcdir} in to refer to extra files in tests, as before.

12 years agoBeginning support for mh-format support in comp(1). Includes changes to
Ken Hornstein [Fri, 17 Feb 2012 20:56:08 +0000 (15:56 -0500)]
Beginning support for mh-format support in comp(1).  Includes changes to
default component file.

12 years agoSigh. Looks like we need a function after all; create a new function
Ken Hornstein [Fri, 17 Feb 2012 20:10:06 +0000 (15:10 -0500)]
Sigh.  Looks like we need a function after all; create a new function
called %(localmbox).

12 years agoSwitch to including h/mts.h for getusername() prototype.
Ken Hornstein [Fri, 17 Feb 2012 19:02:44 +0000 (14:02 -0500)]
Switch to including h/mts.h for getusername() prototype.

12 years agoAdded a couple of NMH_UNUSED's to suppress warnings when building without Cyrus SASL.
David Levine [Fri, 17 Feb 2012 04:56:02 +0000 (22:56 -0600)]
Added a couple of NMH_UNUSED's to suppress warnings when building without Cyrus SASL.

12 years agoHacked to work with make distcheck. Maybe not the best way but it works for now.
David Levine [Fri, 17 Feb 2012 04:49:03 +0000 (22:49 -0600)]
Hacked to work with make distcheck.  Maybe not the best way but it works for now.

12 years agoMoved check() function from individual tests to common.sh.
David Levine [Fri, 17 Feb 2012 04:02:21 +0000 (22:02 -0600)]
Moved check() function from individual tests to common.sh.

12 years agoRearranged test suite environment variables so that individual tests
David Levine [Fri, 17 Feb 2012 03:30:43 +0000 (21:30 -0600)]
Rearranged test suite environment variables so that individual tests
can now be run standalone (outside of make).  But see WARNING in
test/README about how it's better to use "make check" because that
ensures that the current code in your workspace is tested.  Also, the
clean script no longer needs to call setup_test.

12 years agoReport an error when the width used by putaddr is less than the label width.
Ken Hornstein [Thu, 16 Feb 2012 16:46:16 +0000 (11:46 -0500)]
Report an error when the width used by putaddr is less than the label width.

12 years agoHopefully made the format documentation a little bit clearer.
Ken Hornstein [Thu, 16 Feb 2012 05:17:49 +0000 (00:17 -0500)]
Hopefully made the format documentation a little bit clearer.

12 years agoFix typo in repl man page.
Ken Hornstein [Thu, 16 Feb 2012 02:45:13 +0000 (21:45 -0500)]
Fix typo in repl man page.

12 years agoCreate test cases for the new format functions for local address writing.
Ken Hornstein [Wed, 15 Feb 2012 20:54:47 +0000 (15:54 -0500)]
Create test cases for the new format functions for local address writing.

12 years agoMake it so we do NOT check our address against the "local" userid and
Ken Hornstein [Wed, 15 Feb 2012 20:53:26 +0000 (15:53 -0500)]
Make it so we do NOT check our address against the "local" userid and
hostname if Local-Mailbox is set.

12 years agoSigh. Turns out the first entry in the list isn't actually checked, so
Ken Hornstein [Wed, 15 Feb 2012 20:46:28 +0000 (15:46 -0500)]
Sigh.  Turns out the first entry in the list isn't actually checked, so
we need to make sure that our Local-Mailbox entry starts second.

12 years agoHm, it turns out we need to make sure we call getname() until we get
Ken Hornstein [Wed, 15 Feb 2012 19:55:25 +0000 (14:55 -0500)]
Hm, it turns out we need to make sure we call getname() until we get
a NULL, otherwise the next set of calls to it will be working from the
"old" search string.

12 years agoBeginning of support for the Local-Mailbox profile entry.
Ken Hornstein [Wed, 15 Feb 2012 16:36:36 +0000 (11:36 -0500)]
Beginning of support for the Local-Mailbox profile entry.

12 years agoSupport getting the "fullname" out of the Signature profile setting.
Ken Hornstein [Wed, 15 Feb 2012 15:48:52 +0000 (10:48 -0500)]
Support getting the "fullname" out of the Signature profile setting.

12 years agoUpdated documentation of environment variables in mh-profile man page.
David Levine [Wed, 15 Feb 2012 02:47:06 +0000 (20:47 -0600)]
Updated documentation of environment variables in mh-profile man page.

12 years agoAdd two new format functions: %(myhost) and %(myname).
Ken Hornstein [Wed, 15 Feb 2012 01:24:43 +0000 (20:24 -0500)]
Add two new format functions: %(myhost) and %(myname).

12 years agoChanged "make test" to "make check".
David Levine [Tue, 14 Feb 2012 01:55:53 +0000 (19:55 -0600)]
Changed "make test" to "make check".

12 years agoFixed progress indicator.
David Levine [Tue, 14 Feb 2012 01:54:41 +0000 (19:54 -0600)]
Fixed progress indicator.

12 years agoAnother problem discovered by the test suite.
Ken Hornstein [Sun, 12 Feb 2012 04:28:10 +0000 (23:28 -0500)]
Another problem discovered by the test suite.

With multiple sequence arguments on the command line you might end
up with garbage in the sequence[] array (it needs the last argument
to be a NULL.  So do two things: make the first two arguments NULL, and
as we add arguments to sequence[] make sure the list has a NULL on the
end.

12 years agocorrect the maximum number of sequences in the mark(1) man page
Paul Fox [Sat, 11 Feb 2012 18:06:47 +0000 (13:06 -0500)]
correct the maximum number of sequences in the mark(1) man page

also add a note explaining the somewhat low limit.

12 years agomhshow: suppress pause actions if stdout isn't a tty
Paul Fox [Sat, 11 Feb 2012 17:41:30 +0000 (12:41 -0500)]
mhshow: suppress pause actions if stdout isn't a tty

previously, "mhshow | cat" would both print a "Press return" prompt
to, and attempt to read from, its piped output fd.

12 years agoFix this so it works when valgrind is installed.
Ken Hornstein [Sat, 11 Feb 2012 04:38:40 +0000 (23:38 -0500)]
Fix this so it works when valgrind is installed.

12 years agoSwitch over to using the template files out of our inst directory.
Ken Hornstein [Sat, 11 Feb 2012 04:27:36 +0000 (23:27 -0500)]
Switch over to using the template files out of our inst directory.

12 years agoSwitch to using the "inst" version of mhl for tests.
Ken Hornstein [Sat, 11 Feb 2012 04:22:12 +0000 (23:22 -0500)]
Switch to using the "inst" version of mhl for tests.

12 years agoRe-work the test suite so it now works with Automake (via "make check").
Ken Hornstein [Sat, 11 Feb 2012 04:09:03 +0000 (23:09 -0500)]
Re-work the test suite so it now works with Automake (via "make check").

12 years agoFix typo in alternate mts.conf location support.
Ken Hornstein [Sat, 11 Feb 2012 01:59:21 +0000 (20:59 -0500)]
Fix typo in alternate mts.conf location support.

12 years agoMake the test suite work on systems other than Linux. Still needs work.
Ken Hornstein [Fri, 10 Feb 2012 20:11:05 +0000 (15:11 -0500)]
Make the test suite work on systems other than Linux.  Still needs work.

12 years agoWith the fixing of the bug that caused CPPFLAGS to get tromped on, remove
Ken Hornstein [Fri, 10 Feb 2012 14:50:48 +0000 (09:50 -0500)]
With the fixing of the bug that caused CPPFLAGS to get tromped on, remove
support for OURDEFS and direct people to use CPPFLAGS instead.

12 years agoFix typo in variable test.
Ken Hornstein [Fri, 10 Feb 2012 04:43:30 +0000 (23:43 -0500)]
Fix typo in variable test.

12 years agoShow assignment of configure variables using VAR=VALUE instead of in the shell enviro...
David Levine [Fri, 10 Feb 2012 02:38:22 +0000 (20:38 -0600)]
Show assignment of configure variables using VAR=VALUE instead of in the shell environment.

12 years agoUpdated INSTALL and MACHINES documentation a bit.
David Levine [Thu, 9 Feb 2012 04:29:59 +0000 (22:29 -0600)]
Updated INSTALL and MACHINES documentation a bit.

12 years agoAdded mhshow subpart test.
David Levine [Thu, 9 Feb 2012 03:42:46 +0000 (21:42 -0600)]
Added mhshow subpart test.

12 years agoAlways run setup-test from make test/runalltests, just in case the test build directo...
David Levine [Thu, 9 Feb 2012 03:41:48 +0000 (21:41 -0600)]
Always run setup-test from make test/runalltests, just in case the test build directory (test/testbuild) isn't up to date.  It might be nice to replace all the copies in the test build directory with symlinks, then make could keep the test build up to date.

12 years agoAdded OURDEFS to DEFS in Makefile.am, to restore it in the Makefile. Updated documen...
David Levine [Wed, 8 Feb 2012 03:43:26 +0000 (21:43 -0600)]
Added OURDEFS to DEFS in Makefile.am, to restore it in the Makefile.  Updated documentation in INSTALL.

12 years agoRemoved use of tzset()/tzname in dtimezone(). They caused the returned timezone...
David Levine [Wed, 8 Feb 2012 03:23:37 +0000 (21:23 -0600)]
Removed use of tzset()/tzname in dtimezone().  They caused the returned timezone string to be for the user's current timezone, but the function is supposed to return the string representation of the timezone of its argument.  That will be numeric, e.g., +0100, now because we no longer have timezone name support.

12 years agoReverted TZ hack to tests, 9ea2daf5e74e3ff03043cfa6fb68033aea0da52a. A code fix...
David Levine [Wed, 8 Feb 2012 03:17:00 +0000 (21:17 -0600)]
Reverted TZ hack to tests, 9ea2daf5e74e3ff03043cfa6fb68033aea0da52a.  A code fix is on its way

12 years agoAnother one caught by the test suite: an indented line was too long in the slocal...
David Levine [Tue, 7 Feb 2012 04:35:21 +0000 (22:35 -0600)]
Another one caught by the test suite:  an indented line was too long in the slocal man page.  Center it instead.

12 years agoSome tests failed because they displayed the user's local
David Levine [Tue, 7 Feb 2012 04:25:25 +0000 (22:25 -0600)]
Some tests failed because they displayed the user's local
time zone but expected GMT.  So, set TZ in runtest to fool
them.

Though I wonder if we're failing to correct for local time zone.

12 years agoCaught by the test suite: sequences[0] needs to be initialized to NULL at the beginn...
David Levine [Tue, 7 Feb 2012 03:47:52 +0000 (21:47 -0600)]
Caught by the test suite:  sequences[0] needs to be initialized to NULL at the beginning of the program.  That explains why it seg faulted when invoked with a sequence argument.

12 years agoReworked test suite to copy the configuration used in the main
David Levine [Tue, 7 Feb 2012 03:19:57 +0000 (21:19 -0600)]
Reworked test suite to copy the configuration used in the main
nmh directory.  Added test target to Makefile.  Not all the tests
pass at this point.

12 years agoStill more autoconf cleanup (quoting & more use of M4sh).
Ken Hornstein [Mon, 6 Feb 2012 19:12:00 +0000 (14:12 -0500)]
Still more autoconf cleanup (quoting & more use of M4sh).

12 years agoPatch from Harvey Eneman: fixes problem on some systems where a free()
Ken Hornstein [Mon, 6 Feb 2012 16:31:18 +0000 (11:31 -0500)]
Patch from Harvey Eneman: fixes problem on some systems where a free()
would be called on non-malloc'd memory (only would happen if you had more
than one entry in the server: line in mts.conf).

12 years agoUpdate the developer documentation with the changes to the release
Ken Hornstein [Mon, 6 Feb 2012 15:27:43 +0000 (10:27 -0500)]
Update the developer documentation with the changes to the release
process.

12 years agoMore configure cleanup to modern constructs.
Ken Hornstein [Mon, 6 Feb 2012 14:08:19 +0000 (09:08 -0500)]
More configure cleanup to modern constructs.

12 years agoAutoconf cleanup to suggested practice (AS_IF & AC_MSG_FAILURE). More to do.
Ken Hornstein [Sun, 5 Feb 2012 22:17:41 +0000 (17:17 -0500)]
Autoconf cleanup to suggested practice (AS_IF & AC_MSG_FAILURE).  More to do.

12 years agoAdded error message if the file is source directly, rather than through bash-completion.
David Levine [Sun, 5 Feb 2012 21:26:16 +0000 (15:26 -0600)]
Added error message if the file is source directly, rather than through bash-completion.

12 years agoExit with error message if no library could be found with tgetent.
David Levine [Sun, 5 Feb 2012 20:13:07 +0000 (14:13 -0600)]
Exit with error message if no library could be found with tgetent.

12 years agoWhoops, used "buffer" when I meant "buf".
Ken Hornstein [Sat, 4 Feb 2012 05:11:27 +0000 (00:11 -0500)]
Whoops, used "buffer" when I meant "buf".

12 years agoChange LocalName() to take an argument (about whether or not to use
Ken Hornstein [Sat, 4 Feb 2012 04:43:53 +0000 (23:43 -0500)]
Change LocalName() to take an argument (about whether or not to use
local hostname versus entry in mts.conf).

12 years agoMerge branch 'master' of git.sv.nongnu.org:/srv/git/nmh
David Levine [Fri, 3 Feb 2012 23:10:49 +0000 (17:10 -0600)]
Merge branch 'master' of git.sv.nongnu.org:/srv/git/nmh

12 years agoUse more up-to-date web page links of Jerry Peek's book sections at rand-mh.sourcefor...
David Levine [Fri, 3 Feb 2012 23:10:44 +0000 (17:10 -0600)]
Use more up-to-date web page links of Jerry Peek's book sections at rand-mh.sourceforge.net instead of oreilly.com.