Index: /trunk/Makefile.in
===================================================================
--- /trunk/Makefile.in	(revision 100)
+++ /trunk/Makefile.in	(revision 101)
@@ -1002,5 +1002,5 @@
 	echo "l none /etc/rc1.d/K10@install_name@=/etc/init.d/@install_name@" >> prototype; \
 	ARCH=`uname -p`; \
-	PSTAMP=`date '+%cc%yy%mm%dd%HH%MM%SS'`; \
+	PSTAMP=`date '+%c%y%m%d%H%M%S'`; \
 	echo "PKG=@install_name@"         >  pkginfo; \
 	echo "NAME=file integrity check"  >> pkginfo; \
@@ -1205,6 +1205,6 @@
 # For kernel syscall monitoring
 kern_head: Makefile $(top_srcdir)/include/kern_head.h $(srcsrc)/kern_head.c
-	@echo "$(BUILD_CC) -I. -DSYSTEMMAP=\"@systemmap@\" -o kern_head $(srcsrc)/kern_head.c $(LIBS_KVM)"; \
-	$(BUILD_CC) -I. -DSYSTEMMAP=\"@systemmap@\" -o kern_head $(srcsrc)/kern_head.c $(LIBS_KVM)
+	@echo "$(BUILD_CC) -I. -I./include -DSYSTEMMAP=\"@systemmap@\" -o kern_head $(srcsrc)/kern_head.c $(LIBS_KVM)"; \
+	$(BUILD_CC) -I. -I./include -DSYSTEMMAP=\"@systemmap@\" -o kern_head $(srcsrc)/kern_head.c $(LIBS_KVM)
 
 sh_ks.h: kern_head
Index: /trunk/configure.ac
===================================================================
--- /trunk/configure.ac	(revision 100)
+++ /trunk/configure.ac	(revision 101)
@@ -1011,10 +1011,15 @@
 		echo
 		echo " Either the mysql or the zlib library was not found"
-		echo " or was unusable, maybe because an old, incompatible"
-		echo " version is installed on your system, eg compiled from"
-		echo " source long time ago. See config.log for the error"
+		echo " or was unusable. Possible reasons include:"
+		echo "  - an old, incompatible version compiled from source"
+		echo "  - on Solaris, libmysql is compiled with the Solaris"
+		echo "    compiler, thus the mysql_config script provides"
+		echo "    compiler options unsuitable for gcc (move"
+		echo "    mysql_config out of your PATH)"
+		echo " For other problems, check config.log for the error"
 		echo " message from the compiler."
-		echo " Please review your installed mysql and zlib libraries"
-		echo " and/or use --with-libs=-L/path/to/libdirectory"
+		echo
+		echo " If your mysql and zlib libraries are installed in an"
+		echo " unusual place, use --with-libs=-L/path/to/libdirectory"
 		echo " where libdirectory is the directory holding libmysql"
 		echo " or libz."
Index: /trunk/docs/Changelog
===================================================================
--- /trunk/docs/Changelog	(revision 100)
+++ /trunk/docs/Changelog	(revision 101)
@@ -1,3 +1,7 @@
-2.3.3:
+2.3.4:
+	* fixed compilation of kern_head (problem reported by S. Clormann)
+	* more typos fixed (reported by John Horne)
+
+2.3.3 (27-03-2007):
 	* fixed typos in configure.ac and manual (reported by John Horne)
 	* don't use mysql_options on x86_64, since libmysql is broken
Index: /trunk/docs/FAQ.html
===================================================================
--- /trunk/docs/FAQ.html	(revision 100)
+++ /trunk/docs/FAQ.html	(revision 101)
@@ -139,5 +139,5 @@
 </ul>
 </div>
-<p><i>FAQ Revised: Monday 12 February 2007 23:06:43</i></p>
+<p><i>FAQ Revised: Saturday 14 April 2007 17:05:58</i></p>
 <hr><h2>Table of Contents</h2>
 <dl>
@@ -161,4 +161,5 @@
 <li><a href="#Build and install8">2.9. What is sh_tiger1.s?</a></li>
 <li><a href="#Build and install9">2.10. Why does static compiling (<code>--enable-static</code>) on MaxOS X fail ?</a></li>
+<li><a href="#Build and install10">2.11. Why does compiling with MySQL fail on Solaris ?</a></li>
 </ul></dd>
 <dt><b>3. File checking</b></dt>
@@ -406,4 +407,13 @@
 <a href="http://developer.apple.com/qa/qa2001/qa1118.html">Technical Q&A QA1118</a>. 
 This is a MacOS X issue and not a bug in samhain.<br><br></dd>
+<dt><b><a name="Build and install10">2.11. Why does compiling with MySQL fail on Solaris ?</a></b></dt>
+<dd>The reason is often the shell script 'mysql_config' that comes as part
+of MySQL. This script is intended to print appropriate compiler flags for
+compiling applications that use MySQL. Unfortunately, since Sun compiles
+MySQL with the Solaris compiler, this script outputs options for the Solaris 
+compiler (i.e. unsuitable for gcc). To solve this problem, you need to move
+this script (i.e. 'mysql_config') out of your PATH before running 
+<tt>./configure</tt> (unless of course you are using the Solaris compiler
+rather than gcc).<br><br></dd>
 </dl>
 <hr><h2>3. File checking</h2>
@@ -469,5 +479,5 @@
 as &quot;localhost&quot; to the server, thus the server 
 needs to trust the client name
-as reported by the client itself, and suppress all eroors on resolving
+as reported by the client itself, and suppress all errors on resolving
 this name to the apparent address. In the server configuration:
 
@@ -587,5 +597,6 @@
      <p>
      Alternatively, you can <code>scp</code> the database
-     to the client, run <code>samhain -t update -l none</code> (you
+     to the client, run <code>samhain -t update -l none --foreground</code> 
+     (you
      need to avoid logging because otherwise you will get in conflict with
      the running samhain daemon), and then <code>scp</code> the 
Index: /trunk/samhainrc.freebsd
===================================================================
--- /trunk/samhainrc.freebsd	(revision 100)
+++ /trunk/samhainrc.freebsd	(revision 101)
@@ -546,5 +546,5 @@
 # FileCheckScheduleTwo = NULL
 
-## Report only once on modified fles 
+## Report only once on modified files 
 ## Setting this to 'FALSE' will generate a report for any policy 
 ## violation (old and new ones) each time the daemon checks the file system.
Index: /trunk/samhainrc.linux
===================================================================
--- /trunk/samhainrc.linux	(revision 100)
+++ /trunk/samhainrc.linux	(revision 101)
@@ -582,5 +582,5 @@
 # FileCheckScheduleTwo = NULL
 
-## Report only once on modified fles 
+## Report only once on modified files 
 ## Setting this to 'FALSE' will generate a report for any policy 
 ## violation (old and new ones) each time the daemon checks the file system.
Index: /trunk/samhainrc.netbsd
===================================================================
--- /trunk/samhainrc.netbsd	(revision 100)
+++ /trunk/samhainrc.netbsd	(revision 101)
@@ -679,5 +679,5 @@
 # FileCheckScheduleTwo = NULL
 
-## Report only once on modified fles 
+## Report only once on modified files 
 ## Setting this to 'FALSE' will generate a report for any policy 
 ## violation (old and new ones) each time the daemon checks the file system.
Index: /trunk/samhainrc.solaris
===================================================================
--- /trunk/samhainrc.solaris	(revision 100)
+++ /trunk/samhainrc.solaris	(revision 101)
@@ -506,5 +506,5 @@
 # FileCheckScheduleTwo = NULL
 
-## Report only once on modified fles 
+## Report only once on modified files 
 ## Setting this to 'FALSE' will generate a report for any policy 
 ## violation (old and new ones) each time the daemon checks the file system.
Index: /trunk/src/sh_prelink.c
===================================================================
--- /trunk/src/sh_prelink.c	(revision 100)
+++ /trunk/src/sh_prelink.c	(revision 101)
@@ -75,6 +75,12 @@
   long status;
   char magic[4];
+
+  /* 42 bytes is about the minimum an ELF binary might have
+   * (with plenty of hacks to reduce the size, such as interleaving
+   * the code with the header...)
+   */
   if (size < 42)
     return S_FALSE;
+
   status = sl_read_timeout (fd, magic, 4, alert_timeout);
   (void) sl_rewind(fd);
