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.
The "HQA" commit introduces a new build feature that provides the ability to override Hercules's default build settings without having to modify any of the Hercules header files themselves. (Note: not all build settings may be overridable yet. This is a work in progress.)
To override Hercules's default build settings, define an environment variable called 'HQA_DIR' pointing to the directory where your optional "hqa.h" overrides header file exists, or, instead of defining an environment variable, simply specify, if Linux, the new "--enable-hqa" configure option, or, if Windows, the new "-hqa" "makefile.bat" option.
Then, within your "hqa.h" override header, either #define the 'HQA_SCENARIO' macro to one of the pre-defined values defined in Hercules's "hqadefs.h" header file, or simply #define your own scenario. The values you #define will then override Hercules's default values.
Additionally, on Windows, you can override virtually any of the compiler settings as well, via a 'HQA.msvc' nmake !include override file that, for example, modifies the $(cflags) variable to add, remove, or change whatever compiler option you wish.
The default must remain --disable-setuid-hercifc as was
previously the case. This is done in order to prevent
the user from unwittingly installing a setuid program.
This reverts commit aaad0a9899.
This flag was set by:
"Let configure --enable-setuid-hercifc=no have an effect"
commit b9d7ac2ed1
which was partially reverted by:
"ctc_ctci: Back out the tuntap exclusive flag"
commit 30f4719a44
do not try to call hercifc as this will fail.
Add exclusive access for dynamically allocated CTCI devices. This prevents
a race between two device pairs being defined. (If IFF_TUN_EXCL is defined.)
Fix a number of bugs in calling hercifc.
Older versions won't have a --with-included-ltdl flag, so improve the logic to only set hc_cv_have_lt_dlopen to no if that has explicitly been set to no itself.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Nothing was setting hc_cv_have_dlopen, so initialize that based on the dlopen tests that libtool does for us.
With that in place, we can set hc_cv_have_lt_dlopen based on the included ltdl flag. This lets people who have a *nix system with libdl avoid the ltdl code entirely.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
The current logic tries to expand the path variables at configure time (so that they can be written into config.h) rather than delaying the expansion to make time.
Setup CPPFLAGS with the right -D values so that we can let make expand the path vars and not worry about hacking around it inside of autoconf.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
FishHang was useful during development of fthreads but has not been needed for so many years and so has FINALLY been deleted. Sorry it took me so long to do it.
fixed some header checking,
added the scripts directory ( makefile and friends later )
added the README.REXX.V2
when the whole thing has been reasonably tested I will cleanup
enjoy
SoftFloat - ( repackaged as per SoftFloat-readme.txt)
IPV6 - on APPLE builds ( quick and dirty )
another commit will follow for full IPV6 configure support
REXX - rather than cleaning up the current implementation
it took me the same time and number of objects modified
to commit the FULL Rexx shebang
in a while I will finish the hRexx_readme
othr - VERSION/V1/V2/... in dyngui.c
will be copied to the releases branch if it builds successfully.
git-svn-id: file:///home/jj/hercules.svn/trunk@5657 956126f8-22a0-4046-8f4a-272fa8102e63