diff --git a/Fltk/GmshServer.h b/Fltk/GmshServer.h
index bb12ab2077c1ccb37348322be44c348ddba87823..01311f4d93bde6f8bbf43f6450c93e0e9154f045 100644
--- a/Fltk/GmshServer.h
+++ b/Fltk/GmshServer.h
@@ -166,10 +166,10 @@ class GmshServer {
       return -4;  // Error: Socket listening timeout
     
     // accept connection request
-#if defined(linux) || defined(_AIX) || defined(__FreeBSD__) || defined(__sun__)
-    socklen_t len;
-#else
+#if defined(HAVE_NO_SOCKLEN_T)
     int len;
+#else
+    socklen_t len;
 #endif
     if(_portno < 0){
       struct sockaddr_un from_un;
diff --git a/TODO b/TODO
index 91732a92c7d2bf3a4367a696b4ff4858fd1a2e47..4328cd37fcf43fcc3f80e1f084cbb3f5dfea7654 100644
--- a/TODO
+++ b/TODO
@@ -1,8 +1,13 @@
-$Id: TODO,v 1.79 2005-01-20 01:25:49 geuzaine Exp $
+$Id: TODO,v 1.80 2005-01-21 17:29:27 geuzaine Exp $
 
 ********************************************************************
 
-add GUI for the Layer stuff in Extrude commands
+add GUI for 
+
+- translate+rotate extrusions
+- mesh extrusion (layer stuff)
+- elliptic surface
+- coherence
 
 ********************************************************************
 
diff --git a/configure b/configure
index 7bb2f951f350d8dffcc13e2882833965b703420a..377d3d8eef1dc2396403095ad3dd38172f963e1a 100755
--- a/configure
+++ b/configure
@@ -3155,6 +3155,44 @@ else
 fi
 
 
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <sys/types.h>
+  #include <sys/socket.h>
+int
+main ()
+{
+socklen_t len = 42; return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+FLAGS="-DHAVE_NO_SOCKLEN_T ${FLAGS}"
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+
 
 
 GMSH_DIRS="Common DataStr Geo Mesh Numeric Parallel Parser Plugin"
diff --git a/configure.in b/configure.in
index 63805018ac7f7091334d8701a387ea054221aee6..65c15c8410ee5f660a5d3ec0f678cd004dfdf160 100644
--- a/configure.in
+++ b/configure.in
@@ -1,4 +1,4 @@
-dnl $Id: configure.in,v 1.59 2005-01-01 19:35:27 geuzaine Exp $
+dnl $Id: configure.in,v 1.60 2005-01-21 17:29:27 geuzaine Exp $
 dnl
 dnl Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle
 dnl
@@ -115,6 +115,12 @@ dnl Check for various functions
 AC_CHECK_FUNC(vsnprintf,,FLAGS="-DHAVE_NO_VSNPRINTF ${FLAGS}")
 AC_CHECK_FUNC(snprintf,,FLAGS="-DHAVE_NO_SNPRINTF ${FLAGS}")
 
+dnl Check if Unix98 socklen_t type is available
+AC_TRY_COMPILE(
+ [#include <sys/types.h>
+  #include <sys/socket.h>],
+ [socklen_t len = 42; return 0;],,FLAGS="-DHAVE_NO_SOCKLEN_T ${FLAGS}")
+
 dnl See if we need a .exe extension on executables
 AC_EXEEXT