1. Fix configure.ac tcp.h header and keepalive constant checks and report during ./configure the keepalive support that was detected (none, basic or full).
2. #include the correct tcp.h header in hstdinc.h
3. Issue warning message at build time (during make) when full keepalive support is missing or partial.
4. Report partial or missing keepalive build support via version.c "With" and "Without" messages.
5. Issue error or warning in both impl.c as well as in 'conkpalv' command/statement processing function when keepalive support is either missing or only partially supported. Same for the 2703 device 'ka=' option too.
6. Enhance set_socket_keepalive function to let the caller know not only about failures but also about partial-only successes (so they can be reported).
7. Fix the bad setsockopt call in the Linux version of the set_socket_keepalive function that was using the wrong value, which was at the heart of the problem. (Note: setsockopt was returning "success" anyway even though it had actually failed! [to accomplish anything].)
8. Introduce new get_socket_keepalive function to allow retrieval and reporting of current keepalive settings for a given socket.
9. Manually maintain socket keepalive values for Windows builds so it too can support retrieval of current values via new get_socket_keepalive function. (see comments in w32util.c "get_socket_keepalive" function!)
10. Minor HTML documentation edits.
1. Add missing link to "Operations and Utilities Guide" PDF manual to main web page.
2. Change header/title on most(*) web pages from "Hercules Version 3" to "Hercules Version 4".
(*) All except the "messages" web pages, which are still version 3 for the time being.
1. Move "What people are saying" to beginning (better promotion of Hercules)
2. Provide more information via new "What's New, Release Notes" section.
3. Move Source code, binaries and repositories sections to be closer together to one another.
4. Give "If you have any questions or comments" section more visibility/prominence by moving it up on the page ahead of the "Other" links.
5. Add separate links for "Primary Hercules-390 Support Forum" and "Other Hercules Support Forums".
Because a given facility might be valid only for one architecture but not for another, it is important to either set the architecture mode first before attempting to enable/disable the given facility, or else specify the architecture mode as the third argument to the enable/disable facility command.
Since hyperion is quite different from Roger's spinhawk, it's important for users to be able to distinguish the two. Furthermore, it's important for a separate web page to exist where users can access information about hyperion, including the latest web pages explaining its configuration files statements, etc.
I'd like to eventually have an official place where snapshots of Hyperion can be downloaded from, but until that happens, we will just point to Roger's spinhawk.
Device type CTCE permits channel-to-channel communications across a TCP/IP link between two Hercules systems. Unlike CTCT, CTCE is designed for general purpose payloads and is not restricted to IP traffic.
Microsoft dropped support for Itanium some time ago. Visual Studio no longer supports it and big name Linux vendors (e.g. Red Hat) have dropped support for it too, so I see no need for the next 4.0 version of the Windows version of Hercules to continue to support it either.
The following variables are recognized in the command string
of an Hercules Automatic Operator rule:
$1 to $9 - the text which matched the 1st to 9th capturing
group in the target regular expression
$` - the text which precedes the regular expression match
$' - the text which follows the regular expression match
$$ - replaced by a single dollar sign
Substitution of a $n variable does not occur if there are
fewer than n capturing groups in the regular expression.