gsasl-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] GNU gsasl branch, master, updated. gsasl-1-7-4-13-gdca7424


From: Simon Josefsson
Subject: [SCM] GNU gsasl branch, master, updated. gsasl-1-7-4-13-gdca7424
Date: Mon, 21 May 2012 20:47:51 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU gsasl".

http://git.savannah.gnu.org/cgit/gsasl.git/commit/?id=dca74246b26411b8e3ce3793aa04849f09a3c7e5

The branch, master has been updated
       via  dca74246b26411b8e3ce3793aa04849f09a3c7e5 (commit)
       via  14dadf47792e28d9bacb52633257f38ce61a73bb (commit)
       via  29548217d9cdc1c686b510ac5a7871a7584fe484 (commit)
       via  218ce8dd356420dfc2322145a7c64701334ab12e (commit)
       via  4af117624579520725c32f8dceb4109922d4ac03 (commit)
       via  b6938f56971c12e703f1b0539c0177579402d675 (commit)
       via  b3081f7a22785d0c6dad0bdfdd52fe770f6cf002 (commit)
      from  b68f71ee30e13cd2a1e7ed1cd1381a224e7133bb (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit dca74246b26411b8e3ce3793aa04849f09a3c7e5
Author: Simon Josefsson <address@hidden>
Date:   Mon May 21 21:56:37 2012 +0200

    Display build option summary.

commit 14dadf47792e28d9bacb52633257f38ce61a73bb
Author: Simon Josefsson <address@hidden>
Date:   Mon May 21 21:46:09 2012 +0200

    Don't auto-detect MIT/Heimdal, it causes too many build problems.

commit 29548217d9cdc1c686b510ac5a7871a7584fe484
Author: Simon Josefsson <address@hidden>
Date:   Mon May 21 16:36:21 2012 +0200

    Avoid tests with known Cygwin/MinGW failures.

commit 218ce8dd356420dfc2322145a7c64701334ab12e
Author: Simon Josefsson <address@hidden>
Date:   Mon May 21 16:21:39 2012 +0200

    More debug info, useful when gc_init fails.

commit 4af117624579520725c32f8dceb4109922d4ac03
Author: Simon Josefsson <address@hidden>
Date:   Mon May 21 16:15:51 2012 +0200

    Sync with TP.

commit b6938f56971c12e703f1b0539c0177579402d675
Author: Simon Josefsson <address@hidden>
Date:   Mon May 21 16:15:43 2012 +0200

    Bump versions.

commit b3081f7a22785d0c6dad0bdfdd52fe770f6cf002
Author: Simon Josefsson <address@hidden>
Date:   Mon May 21 16:14:38 2012 +0200

    Update gnulib files.

-----------------------------------------------------------------------

Summary of changes:
 NEWS                                     |    6 +
 configure.ac                             |    2 +-
 gl/Makefile.am                           |    2 +-
 gl/m4/ftruncate.m4                       |   41 ---
 gl/m4/gettimeofday.m4                    |  140 ----------
 gl/m4/gnulib-cache.m4                    |    4 +-
 gl/m4/gnulib-comp.m4                     |  121 ---------
 gl/m4/ioctl.m4                           |   41 ---
 gl/m4/perror.m4                          |   63 -----
 gl/m4/pipe.m4                            |   15 -
 gl/m4/strerror_r.m4                      |  173 ------------
 gl/m4/sys_ioctl_h.m4                     |   64 -----
 gl/override/tests/test-poll.c.diff       |   14 -
 gl/override/tests/test-select-in.sh.diff |   16 --
 gltests/Makefile.am                      |  236 ----------------
 gltests/accept.c                         |   52 ----
 gltests/bind.c                           |   49 ----
 gltests/ftruncate.c                      |  188 -------------
 gltests/gettimeofday.c                   |  154 -----------
 gltests/ioctl.c                          |   88 ------
 gltests/listen.c                         |   49 ----
 gltests/perror.c                         |   49 ----
 gltests/pipe.c                           |   50 ----
 gltests/setsockopt.c                     |   65 -----
 gltests/strerror_r.c                     |  326 ----------------------
 gltests/sys_ioctl.in.h                   |   78 ------
 gltests/test-accept.c                    |   54 ----
 gltests/test-bind.c                      |   56 ----
 gltests/test-ftruncate.c                 |   59 ----
 gltests/test-ftruncate.sh                |    3 -
 gltests/test-gettimeofday.c              |   47 ----
 gltests/test-ioctl.c                     |   49 ----
 gltests/test-listen.c                    |   47 ----
 gltests/test-perror.c                    |   36 ---
 gltests/test-perror.sh                   |   24 --
 gltests/test-perror2.c                   |  136 ----------
 gltests/test-pipe.c                      |  104 -------
 gltests/test-poll.c                      |  388 --------------------------
 gltests/test-select-fd.c                 |   72 -----
 gltests/test-select-in.sh                |   39 ---
 gltests/test-select-out.sh               |   35 ---
 gltests/test-select-stdin.c              |   83 ------
 gltests/test-select.c                    |   34 ---
 gltests/test-select.h                    |  436 ------------------------------
 gltests/test-setsockopt.c                |   53 ----
 gltests/test-strerror_r.c                |  181 -------------
 gltests/test-sys_ioctl.c                 |   27 --
 gltests/w32sock.h                        |  136 ----------
 lib/NEWS                                 |    6 +
 lib/configure.ac                         |   45 +++-
 lib/digest-md5/test-parser.c             |    5 +-
 lib/gl/m4/gc.m4                          |   14 +-
 lib/gl/md5.c                             |    6 +-
 lib/gl/sha1.c                            |    6 +-
 lib/po/eo.po.in                          |   26 ++-
 lib/po/fi.po.in                          |   24 ++-
 lib/po/id.po.in                          |  167 +++++++-----
 lib/po/it.po.in                          |   24 ++-
 lib/po/uk.po.in                          |   24 ++-
 lib/po/vi.po.in                          |   24 ++-
 lib/src/gsasl.h                          |    6 +-
 po/de.po.in                              |  109 +++++----
 po/eo.po.in                              |  112 +++++----
 po/fi.po.in                              |  112 +++++----
 po/it.po.in                              |  112 +++++----
 po/uk.po.in                              |  112 +++++----
 po/vi.po.in                              |  128 +++++----
 67 files changed, 645 insertions(+), 4602 deletions(-)
 delete mode 100644 gl/m4/ftruncate.m4
 delete mode 100644 gl/m4/gettimeofday.m4
 delete mode 100644 gl/m4/ioctl.m4
 delete mode 100644 gl/m4/perror.m4
 delete mode 100644 gl/m4/pipe.m4
 delete mode 100644 gl/m4/strerror_r.m4
 delete mode 100644 gl/m4/sys_ioctl_h.m4
 delete mode 100644 gl/override/tests/test-poll.c.diff
 delete mode 100644 gl/override/tests/test-select-in.sh.diff
 delete mode 100644 gltests/accept.c
 delete mode 100644 gltests/bind.c
 delete mode 100644 gltests/ftruncate.c
 delete mode 100644 gltests/gettimeofday.c
 delete mode 100644 gltests/ioctl.c
 delete mode 100644 gltests/listen.c
 delete mode 100644 gltests/perror.c
 delete mode 100644 gltests/pipe.c
 delete mode 100644 gltests/setsockopt.c
 delete mode 100644 gltests/strerror_r.c
 delete mode 100644 gltests/sys_ioctl.in.h
 delete mode 100644 gltests/test-accept.c
 delete mode 100644 gltests/test-bind.c
 delete mode 100644 gltests/test-ftruncate.c
 delete mode 100755 gltests/test-ftruncate.sh
 delete mode 100644 gltests/test-gettimeofday.c
 delete mode 100644 gltests/test-ioctl.c
 delete mode 100644 gltests/test-listen.c
 delete mode 100644 gltests/test-perror.c
 delete mode 100755 gltests/test-perror.sh
 delete mode 100644 gltests/test-perror2.c
 delete mode 100644 gltests/test-pipe.c
 delete mode 100644 gltests/test-poll.c
 delete mode 100644 gltests/test-select-fd.c
 delete mode 100755 gltests/test-select-in.sh
 delete mode 100755 gltests/test-select-out.sh
 delete mode 100644 gltests/test-select-stdin.c
 delete mode 100644 gltests/test-select.c
 delete mode 100644 gltests/test-select.h
 delete mode 100644 gltests/test-setsockopt.c
 delete mode 100644 gltests/test-strerror_r.c
 delete mode 100644 gltests/test-sys_ioctl.c
 delete mode 100644 gltests/w32sock.h

diff --git a/NEWS b/NEWS
index 7c1084d..73236f1 100644
--- a/NEWS
+++ b/NEWS
@@ -6,6 +6,12 @@ Note that changes to the GNU SASL Library is documented in 
lib/NEWS.
 This file track changes to the remaining, non-library, parts of GNU
 SASL.  That include the manual, the command line tool, and self tests.
 
+* Version 1.7.5 (unreleased) [alpha]
+
+** i18n: Updated translations.
+
+** Build fixes.
+
 * Version 1.7.4 (released 2012-05-16) [alpha]
 
 ** Doc fixes and updates for the callback/property change in the library.
diff --git a/configure.ac b/configure.ac
index 6788cb1..8d171a0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -18,7 +18,7 @@ dnl Process this file with autoconf to produce a configure 
script.
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 AC_PREREQ(2.61)
-AC_INIT([GNU SASL], [1.7.4], address@hidden, [gsasl])
+AC_INIT([GNU SASL], [1.7.5], address@hidden, [gsasl])
 AC_CONFIG_AUX_DIR([lib/build-aux])
 AC_CONFIG_MACRO_DIR([m4])
 
diff --git a/gl/Makefile.am b/gl/Makefile.am
index ac6a72e..b00643e 100644
--- a/gl/Makefile.am
+++ b/gl/Makefile.am
@@ -21,7 +21,7 @@
 # the same distribution terms as the rest of that program.
 #
 # Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl/override 
--lib=libgl --source-base=gl --m4-base=gl/m4 --doc-base=doc 
--tests-base=gltests --aux-dir=lib/build-aux --with-tests 
--avoid=update-copyright-tests --no-conditional-dependencies --libtool 
--macro-prefix=gl --no-vc-files autobuild close connect error fdl-1.3 gendocs 
getaddrinfo getopt-gnu getpass-gnu gnupload maintainer-makefile manywarnings 
netdb netinet_in pmccabe2html poll progname quote readline recv shutdown socket 
striconv strtok_r sys_time unistd update-copyright valgrind-tests vasprintf 
version-etc warnings xalloc
+# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl/override 
--lib=libgl --source-base=gl --m4-base=gl/m4 --doc-base=doc 
--tests-base=gltests --aux-dir=lib/build-aux --with-tests --avoid=poll-tests 
--avoid=select-tests --avoid=update-copyright-tests 
--no-conditional-dependencies --libtool --macro-prefix=gl --no-vc-files 
autobuild close connect error fdl-1.3 gendocs getaddrinfo getopt-gnu 
getpass-gnu gnupload maintainer-makefile manywarnings netdb netinet_in 
pmccabe2html poll progname quote readline recv shutdown socket striconv 
strtok_r sys_time unistd update-copyright valgrind-tests vasprintf version-etc 
warnings xalloc
 
 AUTOMAKE_OPTIONS = 1.5 gnits subdir-objects
 
diff --git a/gl/m4/ftruncate.m4 b/gl/m4/ftruncate.m4
deleted file mode 100644
index 969eb04..0000000
--- a/gl/m4/ftruncate.m4
+++ /dev/null
@@ -1,41 +0,0 @@
-# serial 19
-
-# See if we need to emulate a missing ftruncate function using chsize.
-
-# Copyright (C) 2000-2001, 2003-2007, 2009-2012 Free Software Foundation, Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FUNC_FTRUNCATE],
-[
-  AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
-  AC_CHECK_FUNCS_ONCE([ftruncate])
-  if test $ac_cv_func_ftruncate = yes; then
-    m4_ifdef([gl_LARGEFILE], [
-      AC_REQUIRE([AC_CANONICAL_HOST])
-      case "$host_os" in
-        mingw*)
-          dnl Native Windows, and Large File Support is requested.
-          dnl The MSVCRT _chsize() function only accepts a 32-bit file size,
-          dnl and the mingw64 ftruncate64() function is unreliable (it may
-          dnl delete the file, see
-          dnl 
<http://mingw-w64.sourcearchive.com/documentation/2.0-1/ftruncate64_8c_source.html>).
-          dnl Use gnulib's ftruncate() implementation instead.
-          REPLACE_FTRUNCATE=1
-          ;;
-      esac
-    ], [
-      :
-    ])
-  else
-    HAVE_FTRUNCATE=0
-  fi
-])
-
-# Prerequisites of lib/ftruncate.c.
-AC_DEFUN([gl_PREREQ_FTRUNCATE],
-[
-  AC_REQUIRE([AC_C_INLINE])
-  AC_CHECK_FUNCS([chsize])
-])
diff --git a/gl/m4/gettimeofday.m4 b/gl/m4/gettimeofday.m4
deleted file mode 100644
index eda9702..0000000
--- a/gl/m4/gettimeofday.m4
+++ /dev/null
@@ -1,140 +0,0 @@
-# serial 20
-
-# Copyright (C) 2001-2003, 2005, 2007, 2009-2012 Free Software Foundation, Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-dnl From Jim Meyering.
-
-AC_DEFUN([gl_FUNC_GETTIMEOFDAY],
-[
-  AC_REQUIRE([AC_C_RESTRICT])
-  AC_REQUIRE([gl_HEADER_SYS_TIME_H])
-  AC_REQUIRE([gl_HEADER_SYS_TIME_H_DEFAULTS])
-  AC_CHECK_FUNCS_ONCE([gettimeofday])
-
-  gl_gettimeofday_timezone=void
-  if test $ac_cv_func_gettimeofday != yes; then
-    HAVE_GETTIMEOFDAY=0
-  else
-    gl_FUNC_GETTIMEOFDAY_CLOBBER
-    AC_CACHE_CHECK([for gettimeofday with POSIX signature],
-      [gl_cv_func_gettimeofday_posix_signature],
-      [AC_COMPILE_IFELSE(
-         [AC_LANG_PROGRAM(
-            [[#include <sys/time.h>
-              struct timeval c;
-              int gettimeofday (struct timeval *restrict, void *restrict);
-            ]],
-            [[/* glibc uses struct timezone * rather than the POSIX void *
-                 if _GNU_SOURCE is defined.  However, since the only portable
-                 use of gettimeofday uses NULL as the second parameter, and
-                 since the glibc definition is actually more typesafe, it is
-                 not worth wrapping this to get a compliant signature.  */
-              int (*f) (struct timeval *restrict, void *restrict)
-                = gettimeofday;
-              int x = f (&c, 0);
-              return !(x | c.tv_sec | c.tv_usec);
-            ]])],
-          [gl_cv_func_gettimeofday_posix_signature=yes],
-          [AC_COMPILE_IFELSE(
-            [AC_LANG_PROGRAM(
-              [[#include <sys/time.h>
-int gettimeofday (struct timeval *restrict, struct timezone *restrict);
-              ]])],
-            [gl_cv_func_gettimeofday_posix_signature=almost],
-            [gl_cv_func_gettimeofday_posix_signature=no])])])
-    if test $gl_cv_func_gettimeofday_posix_signature = almost; then
-      gl_gettimeofday_timezone='struct timezone'
-    elif test $gl_cv_func_gettimeofday_posix_signature != yes; then
-      REPLACE_GETTIMEOFDAY=1
-    fi
-    dnl If we override 'struct timeval', we also have to override gettimeofday.
-    if test $REPLACE_STRUCT_TIMEVAL = 1; then
-      REPLACE_GETTIMEOFDAY=1
-    fi
-    m4_ifdef([gl_FUNC_TZSET_CLOBBER], [
-      gl_FUNC_TZSET_CLOBBER
-      case "$gl_cv_func_tzset_clobber" in
-        *yes)
-          REPLACE_GETTIMEOFDAY=1
-          gl_GETTIMEOFDAY_REPLACE_LOCALTIME
-          AC_DEFINE([tzset], [rpl_tzset],
-            [Define to rpl_tzset if the wrapper function should be used.])
-          AC_DEFINE([TZSET_CLOBBERS_LOCALTIME], [1],
-            [Define if tzset clobbers localtime's static buffer.])
-          ;;
-      esac
-    ])
-  fi
-  AC_DEFINE_UNQUOTED([GETTIMEOFDAY_TIMEZONE], [$gl_gettimeofday_timezone],
-    [Define this to 'void' or 'struct timezone' to match the system's
-     declaration of the second argument to gettimeofday.])
-])
-
-
-dnl See if gettimeofday clobbers the static buffer that localtime uses
-dnl for its return value.  The gettimeofday function from Mac OS X 10.0.4
-dnl (i.e., Darwin 1.3.7) has this problem.
-dnl
-dnl If it does, then arrange to use gettimeofday and localtime only via
-dnl the wrapper functions that work around the problem.
-
-AC_DEFUN([gl_FUNC_GETTIMEOFDAY_CLOBBER],
-[
- AC_REQUIRE([gl_HEADER_SYS_TIME_H])
- AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-
- AC_CACHE_CHECK([whether gettimeofday clobbers localtime buffer],
-  [gl_cv_func_gettimeofday_clobber],
-  [AC_RUN_IFELSE(
-     [AC_LANG_PROGRAM(
-        [[#include <string.h>
-          #include <sys/time.h>
-          #include <time.h>
-          #include <stdlib.h>
-        ]],
-        [[
-          time_t t = 0;
-          struct tm *lt;
-          struct tm saved_lt;
-          struct timeval tv;
-          lt = localtime (&t);
-          saved_lt = *lt;
-          gettimeofday (&tv, NULL);
-          return memcmp (lt, &saved_lt, sizeof (struct tm)) != 0;
-        ]])],
-     [gl_cv_func_gettimeofday_clobber=no],
-     [gl_cv_func_gettimeofday_clobber=yes],
-     [# When cross-compiling:
-      case "$host_os" in
-                # Guess all is fine on glibc systems.
-        *-gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;;
-                # If we don't know, assume the worst.
-        *)      gl_cv_func_gettimeofday_clobber="guessing yes" ;;
-      esac
-     ])])
-
- case "$gl_cv_func_gettimeofday_clobber" in
-   *yes)
-     REPLACE_GETTIMEOFDAY=1
-     gl_GETTIMEOFDAY_REPLACE_LOCALTIME
-     AC_DEFINE([GETTIMEOFDAY_CLOBBERS_LOCALTIME], [1],
-       [Define if gettimeofday clobbers the localtime buffer.])
-     ;;
- esac
-])
-
-AC_DEFUN([gl_GETTIMEOFDAY_REPLACE_LOCALTIME], [
-  AC_DEFINE([gmtime], [rpl_gmtime],
-    [Define to rpl_gmtime if the replacement function should be used.])
-  AC_DEFINE([localtime], [rpl_localtime],
-    [Define to rpl_localtime if the replacement function should be used.])
-])
-
-# Prerequisites of lib/gettimeofday.c.
-AC_DEFUN([gl_PREREQ_GETTIMEOFDAY], [
-  AC_CHECK_HEADERS([sys/timeb.h])
-  AC_CHECK_FUNCS([_ftime])
-])
diff --git a/gl/m4/gnulib-cache.m4 b/gl/m4/gnulib-cache.m4
index 543d909..836d837 100644
--- a/gl/m4/gnulib-cache.m4
+++ b/gl/m4/gnulib-cache.m4
@@ -27,7 +27,7 @@
 
 
 # Specification in the form of a command-line invocation:
-#   gnulib-tool --import --dir=. --local-dir=gl/override --lib=libgl 
--source-base=gl --m4-base=gl/m4 --doc-base=doc --tests-base=gltests 
--aux-dir=lib/build-aux --with-tests --avoid=update-copyright-tests 
--no-conditional-dependencies --libtool --macro-prefix=gl --no-vc-files 
autobuild close connect error fdl-1.3 gendocs getaddrinfo getopt-gnu 
getpass-gnu gnupload maintainer-makefile manywarnings netdb netinet_in 
pmccabe2html poll progname quote readline recv shutdown socket striconv 
strtok_r sys_time unistd update-copyright valgrind-tests vasprintf version-etc 
warnings xalloc
+#   gnulib-tool --import --dir=. --local-dir=gl/override --lib=libgl 
--source-base=gl --m4-base=gl/m4 --doc-base=doc --tests-base=gltests 
--aux-dir=lib/build-aux --with-tests --avoid=poll-tests --avoid=select-tests 
--avoid=update-copyright-tests --no-conditional-dependencies --libtool 
--macro-prefix=gl --no-vc-files autobuild close connect error fdl-1.3 gendocs 
getaddrinfo getopt-gnu getpass-gnu gnupload maintainer-makefile manywarnings 
netdb netinet_in pmccabe2html poll progname quote readline recv shutdown socket 
striconv strtok_r sys_time unistd update-copyright valgrind-tests vasprintf 
version-etc warnings xalloc
 
 # Specification in the form of a few gnulib-tool.m4 macro invocations:
 gl_LOCAL_DIR([gl/override])
@@ -65,7 +65,7 @@ gl_MODULES([
   warnings
   xalloc
 ])
-gl_AVOID([update-copyright-tests])
+gl_AVOID([poll-tests select-tests update-copyright-tests])
 gl_SOURCE_BASE([gl])
 gl_M4_BASE([gl/m4])
 gl_PO_BASE([])
diff --git a/gl/m4/gnulib-comp.m4 b/gl/m4/gnulib-comp.m4
index eacb377..fdb8645 100644
--- a/gl/m4/gnulib-comp.m4
+++ b/gl/m4/gnulib-comp.m4
@@ -39,8 +39,6 @@ AC_DEFUN([gl_EARLY],
   m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable
   AC_REQUIRE([gl_PROG_AR_RANLIB])
   AC_REQUIRE([AM_PROG_CC_C_O])
-  # Code from module accept:
-  # Code from module accept-tests:
   # Code from module alloca:
   # Code from module alloca-opt:
   # Code from module alloca-opt-tests:
@@ -50,8 +48,6 @@ AC_DEFUN([gl_EARLY],
   AB_INIT
   # Code from module binary-io:
   # Code from module binary-io-tests:
-  # Code from module bind:
-  # Code from module bind-tests:
   # Code from module btowc:
   # Code from module btowc-tests:
   # Code from module c-ctype:
@@ -96,8 +92,6 @@ AC_DEFUN([gl_EARLY],
   # Code from module fseeko-tests:
   # Code from module fstat:
   # Code from module fstat-tests:
-  # Code from module ftruncate:
-  # Code from module ftruncate-tests:
   # Code from module fwrite-tests:
   # Code from module gendocs:
   # Code from module getaddrinfo:
@@ -114,8 +108,6 @@ AC_DEFUN([gl_EARLY],
   # Code from module getpagesize:
   # Code from module getpass-gnu:
   # Code from module gettext-h:
-  # Code from module gettimeofday:
-  # Code from module gettimeofday-tests:
   # Code from module gnumakefile:
   # Code from module gnupload:
   # Code from module gperf:
@@ -139,12 +131,8 @@ AC_DEFUN([gl_EARLY],
   # Code from module inttypes:
   # Code from module inttypes-incomplete:
   # Code from module inttypes-tests:
-  # Code from module ioctl:
-  # Code from module ioctl-tests:
   # Code from module largefile:
   AC_REQUIRE([AC_SYS_LARGEFILE])
-  # Code from module listen:
-  # Code from module listen-tests:
   # Code from module localcharset:
   # Code from module locale:
   # Code from module locale-tests:
@@ -180,15 +168,10 @@ AC_DEFUN([gl_EARLY],
   # Code from module open-tests:
   # Code from module pathmax:
   # Code from module pathmax-tests:
-  # Code from module perror:
-  # Code from module perror-tests:
-  # Code from module pipe-posix:
-  # Code from module pipe-posix-tests:
   # Code from module pmccabe2html:
   # Code from module poll:
   # Code from module poll-h:
   # Code from module poll-h-tests:
-  # Code from module poll-tests:
   # Code from module progname:
   # Code from module putenv:
   # Code from module quote:
@@ -201,14 +184,11 @@ AC_DEFUN([gl_EARLY],
   # Code from module recv-tests:
   # Code from module same-inode:
   # Code from module select:
-  # Code from module select-tests:
   # Code from module servent:
   # Code from module setenv:
   # Code from module setenv-tests:
   # Code from module setlocale:
   # Code from module setlocale-tests:
-  # Code from module setsockopt:
-  # Code from module setsockopt-tests:
   # Code from module shutdown:
   # Code from module shutdown-tests:
   # Code from module signal-h:
@@ -251,8 +231,6 @@ AC_DEFUN([gl_EARLY],
   # Code from module strerror:
   # Code from module strerror-override:
   # Code from module strerror-tests:
-  # Code from module strerror_r-posix:
-  # Code from module strerror_r-posix-tests:
   # Code from module striconv:
   # Code from module striconv-tests:
   # Code from module string:
@@ -260,8 +238,6 @@ AC_DEFUN([gl_EARLY],
   # Code from module strtok_r:
   # Code from module symlink:
   # Code from module symlink-tests:
-  # Code from module sys_ioctl:
-  # Code from module sys_ioctl-tests:
   # Code from module sys_select:
   # Code from module sys_select-tests:
   # Code from module sys_socket:
@@ -674,17 +650,7 @@ changequote([, ])dnl
   AC_SUBST([gltests_WITNESS])
   gl_module_indicator_condition=$gltests_WITNESS
   m4_pushdef([gl_MODULE_INDICATOR_CONDITION], [$gl_module_indicator_condition])
-AC_REQUIRE([gl_HEADER_SYS_SOCKET])
-if test "$ac_cv_header_winsock2_h" = yes; then
-  AC_LIBOBJ([accept])
-fi
-gl_SYS_SOCKET_MODULE_INDICATOR([accept])
 AC_REQUIRE([AC_C_INLINE])
-AC_REQUIRE([gl_HEADER_SYS_SOCKET])
-if test "$ac_cv_header_winsock2_h" = yes; then
-  AC_LIBOBJ([bind])
-fi
-gl_SYS_SOCKET_MODULE_INDICATOR([bind])
 gl_FUNC_BTOWC
 if test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1; then
   AC_LIBOBJ([btowc])
@@ -712,12 +678,6 @@ fi
 gl_STDIO_MODULE_INDICATOR([fdopen])
 gl_FUNC_UNGETC_WORKS
 gl_FUNC_UNGETC_WORKS
-gl_FUNC_FTRUNCATE
-if test $HAVE_FTRUNCATE = 0 || test $REPLACE_FTRUNCATE = 1; then
-  AC_LIBOBJ([ftruncate])
-  gl_PREREQ_FTRUNCATE
-fi
-gl_UNISTD_MODULE_INDICATOR([ftruncate])
 gl_FUNC_GETCWD_LGPL
 if test $REPLACE_GETCWD = 1; then
   AC_LIBOBJ([getcwd-lgpl])
@@ -728,12 +688,6 @@ if test $REPLACE_GETPAGESIZE = 1; then
   AC_LIBOBJ([getpagesize])
 fi
 gl_UNISTD_MODULE_INDICATOR([getpagesize])
-gl_FUNC_GETTIMEOFDAY
-if test $HAVE_GETTIMEOFDAY = 0 || test $REPLACE_GETTIMEOFDAY = 1; then
-  AC_LIBOBJ([gettimeofday])
-  gl_PREREQ_GETTIMEOFDAY
-fi
-gl_SYS_TIME_MODULE_INDICATOR([gettimeofday])
 AC_REQUIRE([AC_C_INLINE])
 AC_C_BIGENDIAN
 gl_FUNC_INET_PTON
@@ -745,16 +699,6 @@ gl_ARPA_INET_MODULE_INDICATOR([inet_pton])
 AC_C_BIGENDIAN
 gl_INTTYPES_H
 gl_INTTYPES_INCOMPLETE
-gl_FUNC_IOCTL
-if test $HAVE_IOCTL = 0 || test $REPLACE_IOCTL = 1; then
-  AC_LIBOBJ([ioctl])
-fi
-gl_SYS_IOCTL_MODULE_INDICATOR([ioctl])
-AC_REQUIRE([gl_HEADER_SYS_SOCKET])
-if test "$ac_cv_header_winsock2_h" = yes; then
-  AC_LIBOBJ([listen])
-fi
-gl_SYS_SOCKET_MODULE_INDICATOR([listen])
 gl_LOCALE_H
 AC_CHECK_FUNCS_ONCE([newlocale])
 gl_LOCALENAME
@@ -794,23 +738,11 @@ if test $REPLACE_OPEN = 1; then
 fi
 gl_FCNTL_MODULE_INDICATOR([open])
 gl_PATHMAX
-gl_FUNC_PERROR
-if test $REPLACE_PERROR = 1; then
-  AC_LIBOBJ([perror])
-fi
-gl_STRING_MODULE_INDICATOR([perror])
-gl_FUNC_PIPE
-if test $HAVE_PIPE = 0; then
-  AC_LIBOBJ([pipe])
-fi
-gl_UNISTD_MODULE_INDICATOR([pipe])
-AC_CHECK_HEADERS_ONCE([unistd.h sys/wait.h])
 gl_FUNC_PUTENV
 if test $REPLACE_PUTENV = 1; then
   AC_LIBOBJ([putenv])
 fi
 gl_STDLIB_MODULE_INDICATOR([putenv])
-AC_CHECK_HEADERS_ONCE([sys/wait.h])
 gl_FUNC_SETENV
 if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then
   AC_LIBOBJ([setenv])
@@ -826,11 +758,6 @@ gt_LOCALE_FR
 gt_LOCALE_FR_UTF8
 gt_LOCALE_JA
 gt_LOCALE_ZH_CN
-AC_REQUIRE([gl_HEADER_SYS_SOCKET])
-if test "$ac_cv_header_winsock2_h" = yes; then
-  AC_LIBOBJ([setsockopt])
-fi
-gl_SYS_SOCKET_MODULE_INDICATOR([setsockopt])
 gl_FUNC_STAT
 if test $REPLACE_STAT = 1; then
   AC_LIBOBJ([stat])
@@ -839,19 +766,11 @@ fi
 gl_SYS_STAT_MODULE_INDICATOR([stat])
 gt_TYPE_WCHAR_T
 gt_TYPE_WINT_T
-gl_FUNC_STRERROR_R
-if test $HAVE_DECL_STRERROR_R = 0 || test $REPLACE_STRERROR_R = 1; then
-  AC_LIBOBJ([strerror_r])
-  gl_PREREQ_STRERROR_R
-fi
-gl_STRING_MODULE_INDICATOR([strerror_r])
 gl_FUNC_SYMLINK
 if test $HAVE_SYMLINK = 0 || test $REPLACE_SYMLINK = 1; then
   AC_LIBOBJ([symlink])
 fi
 gl_UNISTD_MODULE_INDICATOR([symlink])
-gl_SYS_IOCTL_H
-AC_PROG_MKDIR_P
 AC_CHECK_FUNCS_ONCE([shutdown])
 gl_THREAD
 gl_THREADLIB
@@ -1148,7 +1067,6 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/fseek.m4
   m4/fseeko.m4
   m4/fstat.m4
-  m4/ftruncate.m4
   m4/getaddrinfo.m4
   m4/getcwd.m4
   m4/getdelim.m4
@@ -1156,7 +1074,6 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/getopt.m4
   m4/getpagesize.m4
   m4/getpass.m4
-  m4/gettimeofday.m4
   m4/glibc21.m4
   m4/gnulib-common.m4
   m4/hostent.m4
@@ -1172,7 +1089,6 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/inttypes-pri.m4
   m4/inttypes.m4
   m4/inttypes_h.m4
-  m4/ioctl.m4
   m4/largefile.m4
   m4/lcmessage.m4
   m4/lib-ld.m4
@@ -1210,8 +1126,6 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/off_t.m4
   m4/open.m4
   m4/pathmax.m4
-  m4/perror.m4
-  m4/pipe.m4
   m4/poll.m4
   m4/poll_h.m4
   m4/printf.m4
@@ -1242,11 +1156,9 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/stdio_h.m4
   m4/stdlib_h.m4
   m4/strerror.m4
-  m4/strerror_r.m4
   m4/string_h.m4
   m4/strtok_r.m4
   m4/symlink.m4
-  m4/sys_ioctl_h.m4
   m4/sys_select_h.m4
   m4/sys_socket_h.m4
   m4/sys_stat_h.m4
@@ -1277,12 +1189,10 @@ AC_DEFUN([gl_FILE_LIST], [
   tests/init.sh
   tests/macros.h
   tests/signature.h
-  tests/test-accept.c
   tests/test-alloca-opt.c
   tests/test-arpa_inet.c
   tests/test-binary-io.c
   tests/test-binary-io.sh
-  tests/test-bind.c
   tests/test-btowc.c
   tests/test-btowc1.sh
   tests/test-btowc2.sh
@@ -1312,8 +1222,6 @@ AC_DEFUN([gl_FILE_LIST], [
   tests/test-fseeko4.c
   tests/test-fseeko4.sh
   tests/test-fstat.c
-  tests/test-ftruncate.c
-  tests/test-ftruncate.sh
   tests/test-fwrite.c
   tests/test-getaddrinfo.c
   tests/test-getcwd-lgpl.c
@@ -1322,7 +1230,6 @@ AC_DEFUN([gl_FILE_LIST], [
   tests/test-getopt.c
   tests/test-getopt.h
   tests/test-getopt_long.h
-  tests/test-gettimeofday.c
   tests/test-iconv-h.c
   tests/test-iconv.c
   tests/test-ignore-value.c
@@ -1331,8 +1238,6 @@ AC_DEFUN([gl_FILE_LIST], [
   tests/test-init.sh
   tests/test-intprops.c
   tests/test-inttypes.c
-  tests/test-ioctl.c
-  tests/test-listen.c
   tests/test-locale.c
   tests/test-localename.c
   tests/test-lock.c
@@ -1360,27 +1265,15 @@ AC_DEFUN([gl_FILE_LIST], [
   tests/test-open.c
   tests/test-open.h
   tests/test-pathmax.c
-  tests/test-perror.c
-  tests/test-perror.sh
-  tests/test-perror2.c
-  tests/test-pipe.c
   tests/test-poll-h.c
-  tests/test-poll.c
   tests/test-quotearg-simple.c
   tests/test-quotearg.h
   tests/test-recv.c
-  tests/test-select-fd.c
-  tests/test-select-in.sh
-  tests/test-select-out.sh
-  tests/test-select-stdin.c
-  tests/test-select.c
-  tests/test-select.h
   tests/test-setenv.c
   tests/test-setlocale1.c
   tests/test-setlocale1.sh
   tests/test-setlocale2.c
   tests/test-setlocale2.sh
-  tests/test-setsockopt.c
   tests/test-shutdown.c
   tests/test-signal-h.c
   tests/test-snprintf.c
@@ -1394,12 +1287,10 @@ AC_DEFUN([gl_FILE_LIST], [
   tests/test-stdio.c
   tests/test-stdlib.c
   tests/test-strerror.c
-  tests/test-strerror_r.c
   tests/test-striconv.c
   tests/test-string.c
   tests/test-symlink.c
   tests/test-symlink.h
-  tests/test-sys_ioctl.c
   tests/test-sys_select.c
   tests/test-sys_socket.c
   tests/test-sys_stat.c
@@ -1435,19 +1326,15 @@ AC_DEFUN([gl_FILE_LIST], [
   tests/unistr/test-u8-mbtoucr.c
   tests/unistr/test-u8-uctomb.c
   tests/zerosize-ptr.h
-  tests=lib/accept.c
   tests=lib/binary-io.h
-  tests=lib/bind.c
   tests=lib/btowc.c
   tests=lib/dosname.h
   tests=lib/dup2.c
   tests=lib/fcntl.in.h
   tests=lib/fdopen.c
   tests=lib/fpucw.h
-  tests=lib/ftruncate.c
   tests=lib/getcwd-lgpl.c
   tests=lib/getpagesize.c
-  tests=lib/gettimeofday.c
   tests=lib/glthread/lock.c
   tests=lib/glthread/lock.h
   tests=lib/glthread/thread.c
@@ -1457,8 +1344,6 @@ AC_DEFUN([gl_FILE_LIST], [
   tests=lib/ignore-value.h
   tests=lib/inet_pton.c
   tests=lib/inttypes.in.h
-  tests=lib/ioctl.c
-  tests=lib/listen.c
   tests=lib/locale.in.h
   tests=lib/localename.c
   tests=lib/localename.h
@@ -1471,20 +1356,14 @@ AC_DEFUN([gl_FILE_LIST], [
   tests=lib/mbtowc.c
   tests=lib/open.c
   tests=lib/pathmax.h
-  tests=lib/perror.c
-  tests=lib/pipe.c
   tests=lib/putenv.c
   tests=lib/same-inode.h
   tests=lib/setenv.c
   tests=lib/setlocale.c
-  tests=lib/setsockopt.c
   tests=lib/stat.c
-  tests=lib/strerror_r.c
   tests=lib/symlink.c
-  tests=lib/sys_ioctl.in.h
   tests=lib/unsetenv.c
   tests=lib/version-etc-fsf.c
-  tests=lib/w32sock.h
   tests=lib/wcrtomb.c
   tests=lib/wctob.c
   tests=lib/wctomb-impl.h
diff --git a/gl/m4/ioctl.m4 b/gl/m4/ioctl.m4
deleted file mode 100644
index ec0b728..0000000
--- a/gl/m4/ioctl.m4
+++ /dev/null
@@ -1,41 +0,0 @@
-# ioctl.m4 serial 4
-dnl Copyright (C) 2008-2012 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FUNC_IOCTL],
-[
-  AC_REQUIRE([gl_SYS_IOCTL_H_DEFAULTS])
-  AC_REQUIRE([gl_HEADER_SYS_SOCKET])
-  HAVE_IOCTL=1
-  if test "$ac_cv_header_winsock2_h" = yes; then
-    dnl Even if the 'socket' module is not used here, another part of the
-    dnl application may use it and pass file descriptors that refer to
-    dnl sockets to the ioctl() function. So enable the support for sockets.
-    HAVE_IOCTL=0
-  else
-    AC_CHECK_FUNCS([ioctl])
-    dnl On glibc systems, the second parameter is 'unsigned long int request',
-    dnl not 'int request'. We cannot simply cast the function pointer, but
-    dnl instead need a wrapper.
-    AC_CACHE_CHECK([for ioctl with POSIX signature],
-      [gl_cv_func_ioctl_posix_signature],
-      [AC_COMPILE_IFELSE(
-         [AC_LANG_PROGRAM(
-            [[#include <sys/ioctl.h>]],
-            [[extern
-              #ifdef __cplusplus
-              "C"
-              #endif
-              int ioctl (int, int, ...);
-            ]])
-         ],
-         [gl_cv_func_ioctl_posix_signature=yes],
-         [gl_cv_func_ioctl_posix_signature=no])
-      ])
-    if test $gl_cv_func_ioctl_posix_signature != yes; then
-      REPLACE_IOCTL=1
-    fi
-  fi
-])
diff --git a/gl/m4/perror.m4 b/gl/m4/perror.m4
deleted file mode 100644
index 369a824..0000000
--- a/gl/m4/perror.m4
+++ /dev/null
@@ -1,63 +0,0 @@
-# perror.m4 serial 6
-dnl Copyright (C) 2008-2012 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FUNC_PERROR],
-[
-  AC_REQUIRE([gl_STDIO_H_DEFAULTS])
-  AC_REQUIRE([gl_HEADER_ERRNO_H])
-  AC_REQUIRE([gl_FUNC_STRERROR_R])
-  AC_REQUIRE([gl_FUNC_STRERROR_0])
-  dnl We intentionally do not check for the broader REPLACE_STRERROR_R,
-  dnl since on glibc systems, strerror_r is replaced only for signature
-  dnl issues, and perror is just fine.  Rather, we only want to
-  dnl replace perror if strerror_r was replaced for a content fix.
-  if test "$ERRNO_H:$REPLACE_STRERROR_0" != :0; then
-    dnl The system's perror() cannot know about the new errno values we add
-    dnl to <errno.h>, or any fix for strerror(0). Replace it.
-    REPLACE_PERROR=1
-  fi
-  case ${gl_cv_func_strerror_r_works-unset} in
-    unset|*yes)
-      AC_CACHE_CHECK([whether perror matches strerror],
-        [gl_cv_func_perror_works],
-        [AC_RUN_IFELSE(
-           [AC_LANG_PROGRAM(
-              [[#include <errno.h>
-                #include <stdio.h>
-                #include <stdlib.h>
-                #include <string.h>
-              ]],
-              [[char *str = strerror (-1);
-                if (!getenv("CONFTEST_OUTPUT")) return 0;
-                if (!str) str = "";
-                puts (str);
-                errno = -1;
-                perror ("");
-                return 0;
-              ]])],
-           [if CONFTEST_OUTPUT=1 ./conftest$EXEEXT >conftest.txt1 
2>conftest.txt2 \
-               && cmp conftest.txt1 conftest.txt2 >/dev/null; then
-              gl_cv_func_perror_works=yes
-            else
-              gl_cv_func_perror_works=no
-            fi
-            rm -rf conftest.txt1 conftest.txt2],
-           [gl_cv_func_perror_works=no],
-           [dnl Guess no when cross-compiling.
-            gl_cv_func_perror_works="guessing no"
-           ])
-        ])
-      if test "$gl_cv_func_perror_works" != yes; then
-        REPLACE_PERROR=1
-      fi
-      ;;
-    *)
-      dnl The system's perror() probably inherits the bugs in the
-      dnl system's strerror_r(). Replace it.
-      REPLACE_PERROR=1
-      ;;
-  esac
-])
diff --git a/gl/m4/pipe.m4 b/gl/m4/pipe.m4
deleted file mode 100644
index 37aef11..0000000
--- a/gl/m4/pipe.m4
+++ /dev/null
@@ -1,15 +0,0 @@
-# pipe.m4 serial 2
-dnl Copyright (C) 2010-2012 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FUNC_PIPE],
-[
-  AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
-
-  AC_CHECK_FUNCS_ONCE([pipe])
-  if test $ac_cv_func_pipe != yes; then
-    HAVE_PIPE=0
-  fi
-])
diff --git a/gl/m4/strerror_r.m4 b/gl/m4/strerror_r.m4
deleted file mode 100644
index 5bdf0ab..0000000
--- a/gl/m4/strerror_r.m4
+++ /dev/null
@@ -1,173 +0,0 @@
-# strerror_r.m4 serial 14
-dnl Copyright (C) 2002, 2007-2012 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FUNC_STRERROR_R],
-[
-  AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
-  AC_REQUIRE([gl_FUNC_STRERROR_R_WORKS])
-
-  dnl Persuade Solaris <string.h> to declare strerror_r().
-  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
-
-  dnl Some systems don't declare strerror_r() if _THREAD_SAFE and _REENTRANT
-  dnl are not defined.
-  AC_CHECK_DECLS_ONCE([strerror_r])
-  if test $ac_cv_have_decl_strerror_r = no; then
-    HAVE_DECL_STRERROR_R=0
-  fi
-
-  if test $ac_cv_func_strerror_r = yes; then
-    if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then
-      if test $gl_cv_func_strerror_r_posix_signature = yes; then
-        case "$gl_cv_func_strerror_r_works" in
-          dnl The system's strerror_r has bugs.  Replace it.
-          *no) REPLACE_STRERROR_R=1 ;;
-        esac
-      else
-        dnl The system's strerror_r() has a wrong signature. Replace it.
-        REPLACE_STRERROR_R=1
-      fi
-    else
-      dnl The system's strerror_r() cannot know about the new errno values we
-      dnl add to <errno.h>, or any fix for strerror(0). Replace it.
-      REPLACE_STRERROR_R=1
-    fi
-  fi
-])
-
-# Prerequisites of lib/strerror_r.c.
-AC_DEFUN([gl_PREREQ_STRERROR_R], [
-  dnl glibc >= 2.3.4 and cygwin 1.7.9 have a function __xpg_strerror_r.
-  AC_CHECK_FUNCS_ONCE([__xpg_strerror_r])
-  AC_CHECK_FUNCS_ONCE([catgets])
-  AC_CHECK_FUNCS_ONCE([snprintf])
-])
-
-# Detect if strerror_r works, but without affecting whether a replacement
-# strerror_r will be used.
-AC_DEFUN([gl_FUNC_STRERROR_R_WORKS],
-[
-  AC_REQUIRE([gl_HEADER_ERRNO_H])
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  AC_REQUIRE([gl_FUNC_STRERROR_0])
-
-  AC_CHECK_FUNCS_ONCE([strerror_r])
-  if test $ac_cv_func_strerror_r = yes; then
-    if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then
-      dnl The POSIX prototype is:  int strerror_r (int, char *, size_t);
-      dnl glibc, Cygwin:           char *strerror_r (int, char *, size_t);
-      dnl AIX 5.1, OSF/1 5.1:      int strerror_r (int, char *, int);
-      AC_CACHE_CHECK([for strerror_r with POSIX signature],
-        [gl_cv_func_strerror_r_posix_signature],
-        [AC_COMPILE_IFELSE(
-           [AC_LANG_PROGRAM(
-              [[#include <string.h>
-                int strerror_r (int, char *, size_t);
-              ]],
-              [])],
-           [gl_cv_func_strerror_r_posix_signature=yes],
-           [gl_cv_func_strerror_r_posix_signature=no])
-        ])
-      if test $gl_cv_func_strerror_r_posix_signature = yes; then
-        dnl AIX 6.1 strerror_r fails by returning -1, not an error number.
-        dnl HP-UX 11.31 strerror_r always fails when the buffer length argument
-        dnl is less than 80.
-        dnl FreeBSD 8.s strerror_r claims failure on 0
-        dnl MacOS X 10.5 strerror_r treats 0 like -1
-        dnl Solaris 10 strerror_r corrupts errno on failure
-        AC_CACHE_CHECK([whether strerror_r works],
-          [gl_cv_func_strerror_r_works],
-          [AC_RUN_IFELSE(
-             [AC_LANG_PROGRAM(
-                [[#include <errno.h>
-                  #include <string.h>
-                ]],
-                [[int result = 0;
-                  char buf[79];
-                  if (strerror_r (EACCES, buf, 0) < 0)
-                    result |= 1;
-                  errno = 0;
-                  if (strerror_r (EACCES, buf, sizeof buf) != 0)
-                    result |= 2;
-                  strcpy (buf, "Unknown");
-                  if (strerror_r (0, buf, sizeof buf) != 0)
-                    result |= 4;
-                  if (errno)
-                    result |= 8;
-                  if (strstr (buf, "nknown") || strstr (buf, "ndefined"))
-                    result |= 0x10;
-                  errno = 0;
-                  *buf = 0;
-                  if (strerror_r (-3, buf, sizeof buf) < 0)
-                    result |= 0x20;
-                  if (errno)
-                    result |= 0x40;
-                  if (!*buf)
-                    result |= 0x80;
-                  return result;
-                ]])],
-             [gl_cv_func_strerror_r_works=yes],
-             [gl_cv_func_strerror_r_works=no],
-             [
-changequote(,)dnl
-              case "$host_os" in
-                       # Guess no on AIX.
-                aix*)  gl_cv_func_strerror_r_works="guessing no";;
-                       # Guess no on HP-UX.
-                hpux*) gl_cv_func_strerror_r_works="guessing no";;
-                       # Guess no on BSD variants.
-                *bsd*)  gl_cv_func_strerror_r_works="guessing no";;
-                       # Guess yes otherwise.
-                *)     gl_cv_func_strerror_r_works="guessing yes";;
-              esac
-changequote([,])dnl
-             ])
-          ])
-      else
-        dnl The system's strerror() has a wrong signature.
-        dnl glibc >= 2.3.4 and cygwin 1.7.9 have a function __xpg_strerror_r.
-        AC_CHECK_FUNCS_ONCE([__xpg_strerror_r])
-        dnl In glibc < 2.14, __xpg_strerror_r does not populate buf on failure.
-        dnl In cygwin < 1.7.10, __xpg_strerror_r clobbers strerror's buffer.
-        if test $ac_cv_func___xpg_strerror_r = yes; then
-          AC_CACHE_CHECK([whether __xpg_strerror_r works],
-            [gl_cv_func_strerror_r_works],
-            [AC_RUN_IFELSE(
-               [AC_LANG_PROGRAM(
-                  [[#include <errno.h>
-                    #include <string.h>
-                    extern
-                    #ifdef __cplusplus
-                    "C"
-                    #endif
-                    int __xpg_strerror_r(int, char *, size_t);
-                  ]],
-                  [[int result = 0;
-                    char buf[256] = "^";
-                    char copy[256];
-                    char *str = strerror (-1);
-                    strcpy (copy, str);
-                    if (__xpg_strerror_r (-2, buf, 1) == 0)
-                      result |= 1;
-                    if (*buf)
-                      result |= 2;
-                    __xpg_strerror_r (-2, buf, 256);
-                    if (strcmp (str, copy))
-                      result |= 4;
-                    return result;
-                  ]])],
-               [gl_cv_func_strerror_r_works=yes],
-               [gl_cv_func_strerror_r_works=no],
-               [dnl Guess no on all platforms that have __xpg_strerror_r,
-                dnl at least until fixed glibc and cygwin are more common.
-                gl_cv_func_strerror_r_works="guessing no"
-               ])
-            ])
-        fi
-      fi
-    fi
-  fi
-])
diff --git a/gl/m4/sys_ioctl_h.m4 b/gl/m4/sys_ioctl_h.m4
deleted file mode 100644
index 94a2669..0000000
--- a/gl/m4/sys_ioctl_h.m4
+++ /dev/null
@@ -1,64 +0,0 @@
-# sys_ioctl_h.m4 serial 10
-dnl Copyright (C) 2008-2012 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl Written by Bruno Haible.
-
-AC_DEFUN([gl_SYS_IOCTL_H],
-[
-  dnl Use AC_REQUIRE here, so that the default behavior below is expanded
-  dnl once only, before all statements that occur in other macros.
-  AC_REQUIRE([gl_SYS_IOCTL_H_DEFAULTS])
-
-  AC_CHECK_HEADERS_ONCE([sys/ioctl.h])
-  if test $ac_cv_header_sys_ioctl_h = yes; then
-    HAVE_SYS_IOCTL_H=1
-    dnl Test whether <sys/ioctl.h> declares ioctl(), or whether some other
-    dnl header file, such as <unistd.h> or <stropts.h>, is needed for that.
-    AC_CACHE_CHECK([whether <sys/ioctl.h> declares ioctl],
-      [gl_cv_decl_ioctl_in_sys_ioctl_h],
-      [dnl We cannot use AC_CHECK_DECL because it produces its own messages.
-       AC_COMPILE_IFELSE(
-         [AC_LANG_PROGRAM(
-            [AC_INCLUDES_DEFAULT([#include <sys/ioctl.h>])],
-            [(void) ioctl;])],
-         [gl_cv_decl_ioctl_in_sys_ioctl_h=yes],
-         [gl_cv_decl_ioctl_in_sys_ioctl_h=no])
-      ])
-  else
-    HAVE_SYS_IOCTL_H=0
-  fi
-  AC_SUBST([HAVE_SYS_IOCTL_H])
-  dnl <sys/ioctl.h> is always overridden, because of GNULIB_POSIXCHECK.
-  gl_CHECK_NEXT_HEADERS([sys/ioctl.h])
-
-  dnl Check for declarations of anything we want to poison if the
-  dnl corresponding gnulib module is not in use.
-  gl_WARN_ON_USE_PREPARE([[#include <sys/ioctl.h>
-/* Some platforms declare ioctl in the wrong header.  */
-#if !(defined __GLIBC__ && !defined __UCLIBC__)
-# include <unistd.h>
-#endif
-    ]], [ioctl])
-])
-
-AC_DEFUN([gl_SYS_IOCTL_MODULE_INDICATOR],
-[
-  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
-  AC_REQUIRE([gl_SYS_IOCTL_H_DEFAULTS])
-  gl_MODULE_INDICATOR_SET_VARIABLE([$1])
-  dnl Define it also as a C macro, for the benefit of the unit tests.
-  gl_MODULE_INDICATOR_FOR_TESTS([$1])
-])
-
-AC_DEFUN([gl_SYS_IOCTL_H_DEFAULTS],
-[
-  GNULIB_IOCTL=0;         AC_SUBST([GNULIB_IOCTL])
-  dnl Assume proper GNU behavior unless another module says otherwise.
-  SYS_IOCTL_H_HAVE_WINSOCK2_H=0; AC_SUBST([SYS_IOCTL_H_HAVE_WINSOCK2_H])
-  SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=0;
-                        AC_SUBST([SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS])
-  REPLACE_IOCTL=0;      AC_SUBST([REPLACE_IOCTL])
-])
diff --git a/gl/override/tests/test-poll.c.diff 
b/gl/override/tests/test-poll.c.diff
deleted file mode 100644
index 3b84f4a..0000000
--- a/gl/override/tests/test-poll.c.diff
+++ /dev/null
@@ -1,14 +0,0 @@
---- test-poll.c.orig   2008-10-21 12:25:33.000000000 +0200
-+++ test-poll.c        2008-10-21 12:25:02.000000000 +0200
-@@ -370,7 +370,11 @@
-   result = test (test_connect_first, "Unconnected socket test");
-   result += test (test_socket_pair, "Connected sockets test");
-   result += test (test_accept_first, "General socket test with fork");
-+  /* GNU SASL doesn't use poll on pipes.  The pipe test breaks Wine,
-+     see <http://bugs.winehq.org/show_bug.cgi?id=15272>.
-+
-   result += test (test_pipe, "Pipe test");
-+  */
- 
-   exit (result);
- }
diff --git a/gl/override/tests/test-select-in.sh.diff 
b/gl/override/tests/test-select-in.sh.diff
deleted file mode 100644
index 460e500..0000000
--- a/gl/override/tests/test-select-in.sh.diff
+++ /dev/null
@@ -1,16 +0,0 @@
---- gl/tests/test-select-in.sh.orig    2008-12-10 16:47:26.000000000 +0100
-+++ gl/tests/test-select-in.sh 2008-12-10 16:48:52.000000000 +0100
-@@ -24,9 +24,10 @@
- 
- # Special files.
- 
--rm -f t-select-in.tmp
--./test-select-fd${EXEEXT} r 0 t-select-in.tmp < /dev/null
--test `cat t-select-in.tmp` = "1" || exit 1
-+# Doesn't work under mingw -- address@hidden
-+#rm -f t-select-in.tmp
-+#./test-select-fd${EXEEXT} r 0 t-select-in.tmp < /dev/null
-+#test `cat t-select-in.tmp` = "1" || exit 1
- 
- rm -fr $tmpfiles
- 
diff --git a/gltests/Makefile.am b/gltests/Makefile.am
index e3b2847..4af90a6 100644
--- a/gltests/Makefile.am
+++ b/gltests/Makefile.am
@@ -58,24 +58,6 @@ AM_LIBTOOLFLAGS = --preserve-dup-deps
 
 TESTS_ENVIRONMENT += EXEEXT='@EXEEXT@' srcdir='$(srcdir)'
 
-## begin gnulib module accept
-
-
-EXTRA_DIST += accept.c w32sock.h
-
-EXTRA_libtests_a_SOURCES += accept.c
-
-## end   gnulib module accept
-
-## begin gnulib module accept-tests
-
-TESTS += test-accept
-check_PROGRAMS += test-accept
-test_accept_LDADD = $(LDADD) @LIBSOCKET@
-EXTRA_DIST += test-accept.c signature.h macros.h
-
-## end   gnulib module accept-tests
-
 ## begin gnulib module alloca-opt-tests
 
 TESTS += test-alloca-opt
@@ -108,24 +90,6 @@ EXTRA_DIST += test-binary-io.sh test-binary-io.c macros.h
 
 ## end   gnulib module binary-io-tests
 
-## begin gnulib module bind
-
-
-EXTRA_DIST += bind.c w32sock.h
-
-EXTRA_libtests_a_SOURCES += bind.c
-
-## end   gnulib module bind
-
-## begin gnulib module bind-tests
-
-TESTS += test-bind
-check_PROGRAMS += test-bind
-test_bind_LDADD = $(LDADD) @LIBSOCKET@ $(INET_PTON_LIB)
-EXTRA_DIST += test-bind.c signature.h macros.h
-
-## end   gnulib module bind-tests
-
 ## begin gnulib module btowc
 
 
@@ -345,23 +309,6 @@ EXTRA_DIST += test-fstat.c signature.h macros.h
 
 ## end   gnulib module fstat-tests
 
-## begin gnulib module ftruncate
-
-
-EXTRA_DIST += ftruncate.c
-
-EXTRA_libtests_a_SOURCES += ftruncate.c
-
-## end   gnulib module ftruncate
-
-## begin gnulib module ftruncate-tests
-
-TESTS += test-ftruncate.sh
-check_PROGRAMS += test-ftruncate
-EXTRA_DIST += test-ftruncate.c test-ftruncate.sh signature.h macros.h
-
-## end   gnulib module ftruncate-tests
-
 ## begin gnulib module fwrite-tests
 
 TESTS += test-fwrite
@@ -433,24 +380,6 @@ EXTRA_libtests_a_SOURCES += getpagesize.c
 
 ## end   gnulib module getpagesize
 
-## begin gnulib module gettimeofday
-
-
-EXTRA_DIST += gettimeofday.c
-
-EXTRA_libtests_a_SOURCES += gettimeofday.c
-
-## end   gnulib module gettimeofday
-
-## begin gnulib module gettimeofday-tests
-
-TESTS += test-gettimeofday
-check_PROGRAMS += test-gettimeofday
-
-EXTRA_DIST += signature.h test-gettimeofday.c
-
-## end   gnulib module gettimeofday-tests
-
 ## begin gnulib module iconv-h-tests
 
 TESTS += test-iconv-h
@@ -571,41 +500,6 @@ EXTRA_DIST += test-inttypes.c
 
 ## end   gnulib module inttypes-tests
 
-## begin gnulib module ioctl
-
-
-EXTRA_DIST += ioctl.c w32sock.h
-
-EXTRA_libtests_a_SOURCES += ioctl.c
-
-## end   gnulib module ioctl
-
-## begin gnulib module ioctl-tests
-
-TESTS += test-ioctl
-check_PROGRAMS += test-ioctl
-EXTRA_DIST += test-ioctl.c signature.h macros.h
-
-## end   gnulib module ioctl-tests
-
-## begin gnulib module listen
-
-
-EXTRA_DIST += listen.c w32sock.h
-
-EXTRA_libtests_a_SOURCES += listen.c
-
-## end   gnulib module listen
-
-## begin gnulib module listen-tests
-
-TESTS += test-listen
-check_PROGRAMS += test-listen
-test_listen_LDADD = $(LDADD) @LIBSOCKET@
-EXTRA_DIST += test-listen.c signature.h macros.h
-
-## end   gnulib module listen-tests
-
 ## begin gnulib module locale
 
 BUILT_SOURCES += locale.h
@@ -825,40 +719,6 @@ EXTRA_DIST += test-pathmax.c
 
 ## end   gnulib module pathmax-tests
 
-## begin gnulib module perror
-
-
-EXTRA_DIST += perror.c
-
-EXTRA_libtests_a_SOURCES += perror.c
-
-## end   gnulib module perror
-
-## begin gnulib module perror-tests
-
-TESTS += test-perror.sh test-perror2
-check_PROGRAMS += test-perror test-perror2
-EXTRA_DIST += macros.h signature.h test-perror.c test-perror2.c test-perror.sh
-
-## end   gnulib module perror-tests
-
-## begin gnulib module pipe-posix
-
-
-EXTRA_DIST += pipe.c
-
-EXTRA_libtests_a_SOURCES += pipe.c
-
-## end   gnulib module pipe-posix
-
-## begin gnulib module pipe-posix-tests
-
-TESTS += test-pipe
-check_PROGRAMS += test-pipe
-EXTRA_DIST += test-pipe.c signature.h macros.h
-
-## end   gnulib module pipe-posix-tests
-
 ## begin gnulib module poll-h-tests
 
 TESTS += test-poll-h
@@ -867,15 +727,6 @@ EXTRA_DIST += test-poll-h.c
 
 ## end   gnulib module poll-h-tests
 
-## begin gnulib module poll-tests
-
-TESTS += test-poll
-check_PROGRAMS += test-poll
-test_poll_LDADD = $(LDADD) $(LIB_POLL) @LIBSOCKET@ $(INET_PTON_LIB)
-EXTRA_DIST += test-poll.c signature.h macros.h
-
-## end   gnulib module poll-tests
-
 ## begin gnulib module putenv
 
 
@@ -910,18 +761,6 @@ EXTRA_DIST += same-inode.h
 
 ## end   gnulib module same-inode
 
-## begin gnulib module select-tests
-
-TESTS += test-select test-select-in.sh test-select-out.sh
-# test-select-stdin has to be run by hand.
-check_PROGRAMS += test-select test-select-fd test-select-stdin
-test_select_LDADD = $(LDADD) @LIB_SELECT@ @LIBSOCKET@ $(INET_PTON_LIB)
-test_select_fd_LDADD = $(LDADD) @LIB_SELECT@
-test_select_stdin_LDADD = $(LDADD) @LIB_SELECT@
-EXTRA_DIST += macros.h signature.h test-select.c test-select.h 
test-select-fd.c test-select-in.sh test-select-out.sh test-select-stdin.c
-
-## end   gnulib module select-tests
-
 ## begin gnulib module setenv
 
 
@@ -961,24 +800,6 @@ EXTRA_DIST += test-setlocale1.sh test-setlocale1.c 
test-setlocale2.sh test-setlo
 
 ## end   gnulib module setlocale-tests
 
-## begin gnulib module setsockopt
-
-
-EXTRA_DIST += setsockopt.c w32sock.h
-
-EXTRA_libtests_a_SOURCES += setsockopt.c
-
-## end   gnulib module setsockopt
-
-## begin gnulib module setsockopt-tests
-
-TESTS += test-setsockopt
-check_PROGRAMS += test-setsockopt
-test_setsockopt_LDADD = $(LDADD) @LIBSOCKET@
-EXTRA_DIST += test-setsockopt.c signature.h macros.h
-
-## end   gnulib module setsockopt-tests
-
 ## begin gnulib module shutdown-tests
 
 TESTS += test-shutdown
@@ -1194,23 +1015,6 @@ EXTRA_DIST += test-strerror.c signature.h macros.h
 
 ## end   gnulib module strerror-tests
 
-## begin gnulib module strerror_r-posix
-
-
-EXTRA_DIST += strerror_r.c
-
-EXTRA_libtests_a_SOURCES += strerror_r.c
-
-## end   gnulib module strerror_r-posix
-
-## begin gnulib module strerror_r-posix-tests
-
-TESTS += test-strerror_r
-check_PROGRAMS += test-strerror_r
-EXTRA_DIST += test-strerror_r.c signature.h macros.h
-
-## end   gnulib module strerror_r-posix-tests
-
 ## begin gnulib module striconv-tests
 
 TESTS += test-striconv
@@ -1246,46 +1050,6 @@ EXTRA_DIST += test-symlink.h test-symlink.c signature.h 
macros.h
 
 ## end   gnulib module symlink-tests
 
-## begin gnulib module sys_ioctl
-
-BUILT_SOURCES += sys/ioctl.h
-
-# We need the following in order to create <sys/ioctl.h> when the system
-# does not have a complete one.
-sys/ioctl.h: sys_ioctl.in.h $(top_builddir)/config.status $(CXXDEFS_H) 
$(WARN_ON_USE_H)
-       $(AM_V_at)$(MKDIR_P) sys
-       $(AM_V_GEN)rm -f address@hidden $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
-             -e 's|@''HAVE_SYS_IOCTL_H''@|$(HAVE_SYS_IOCTL_H)|g' \
-             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-             -e 's|@''NEXT_SYS_IOCTL_H''@|$(NEXT_SYS_IOCTL_H)|g' \
-             -e 's/@''GNULIB_IOCTL''@/$(GNULIB_IOCTL)/g' \
-             -e 
's|@''SYS_IOCTL_H_HAVE_WINSOCK2_H''@|$(SYS_IOCTL_H_HAVE_WINSOCK2_H)|g' \
-             -e 
's|@''SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|$(SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS)|g'
 \
-             -e 's|@''REPLACE_IOCTL''@|$(REPLACE_IOCTL)|g' \
-             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
-             < $(srcdir)/sys_ioctl.in.h; \
-       } > address@hidden && \
-       mv address@hidden $@
-MOSTLYCLEANFILES += sys/ioctl.h sys/ioctl.h-t
-MOSTLYCLEANDIRS += sys
-
-EXTRA_DIST += sys_ioctl.in.h
-
-## end   gnulib module sys_ioctl
-
-## begin gnulib module sys_ioctl-tests
-
-TESTS += test-sys_ioctl
-check_PROGRAMS += test-sys_ioctl
-EXTRA_DIST += test-sys_ioctl.c
-
-## end   gnulib module sys_ioctl-tests
-
 ## begin gnulib module sys_select-tests
 
 TESTS += test-sys_select
diff --git a/gltests/accept.c b/gltests/accept.c
deleted file mode 100644
index 8775aae..0000000
--- a/gltests/accept.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/* accept.c --- wrappers for Windows accept function
-
-   Copyright (C) 2008-2012 Free Software Foundation, Inc.
-
-   This program is free software: you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-/* Written by Paolo Bonzini */
-
-#include <config.h>
-
-#define WIN32_LEAN_AND_MEAN
-/* Get winsock2.h. */
-#include <sys/socket.h>
-
-/* Get set_winsock_errno, FD_TO_SOCKET etc. */
-#include "w32sock.h"
-
-#undef accept
-
-int
-rpl_accept (int fd, struct sockaddr *addr, socklen_t *addrlen)
-{
-  SOCKET sock = FD_TO_SOCKET (fd);
-
-  if (sock == INVALID_SOCKET)
-    {
-      errno = EBADF;
-      return -1;
-    }
-  else
-    {
-      SOCKET fh = accept (sock, addr, addrlen);
-      if (fh == INVALID_SOCKET)
-        {
-          set_winsock_errno ();
-          return -1;
-        }
-      else
-        return SOCKET_TO_FD (fh);
-    }
-}
diff --git a/gltests/bind.c b/gltests/bind.c
deleted file mode 100644
index 0045c9d..0000000
--- a/gltests/bind.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* bind.c --- wrappers for Windows bind function
-
-   Copyright (C) 2008-2012 Free Software Foundation, Inc.
-
-   This program is free software: you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-/* Written by Paolo Bonzini */
-
-#include <config.h>
-
-#define WIN32_LEAN_AND_MEAN
-/* Get winsock2.h. */
-#include <sys/socket.h>
-
-/* Get set_winsock_errno, FD_TO_SOCKET etc. */
-#include "w32sock.h"
-
-#undef bind
-
-int
-rpl_bind (int fd, const struct sockaddr *sockaddr, socklen_t len)
-{
-  SOCKET sock = FD_TO_SOCKET (fd);
-
-  if (sock == INVALID_SOCKET)
-    {
-      errno = EBADF;
-      return -1;
-    }
-  else
-    {
-      int r = bind (sock, sockaddr, len);
-      if (r < 0)
-        set_winsock_errno ();
-
-      return r;
-    }
-}
diff --git a/gltests/ftruncate.c b/gltests/ftruncate.c
deleted file mode 100644
index e243add..0000000
--- a/gltests/ftruncate.c
+++ /dev/null
@@ -1,188 +0,0 @@
-/* ftruncate emulations for native Windows.
-   Copyright (C) 1992-2012 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License along
-   with this program; if not, see <http://www.gnu.org/licenses/>.  */
-
-#include <config.h>
-
-/* Specification.  */
-#include <unistd.h>
-
-#if HAVE_CHSIZE
-/* A native Windows platform.  */
-
-# include <errno.h>
-
-# if _GL_WINDOWS_64_BIT_OFF_T
-
-/* Large File Support: off_t is 64-bit, but chsize() takes only a 32-bit
-   argument.  So, define a 64-bit safe SetFileSize function ourselves.  */
-
-/* Ensure that <windows.h> declares GetFileSizeEx.  */
-#  undef _WIN32_WINNT
-#  define _WIN32_WINNT 0x500
-
-/* Get declarations of the native Windows API functions.  */
-#  define WIN32_LEAN_AND_MEAN
-#  include <windows.h>
-
-/* Get _get_osfhandle.  */
-#  include "msvc-nothrow.h"
-
-static BOOL
-SetFileSize (HANDLE h, LONGLONG size)
-{
-  LARGE_INTEGER old_size;
-
-  if (!GetFileSizeEx (h, &old_size))
-    return FALSE;
-
-  if (size != old_size.QuadPart)
-    {
-      /* Duplicate the handle, so we are free to modify its file position.  */
-      HANDLE curr_process = GetCurrentProcess ();
-      HANDLE tmph;
-
-      if (!DuplicateHandle (curr_process,           /* SourceProcessHandle */
-                            h,                      /* SourceHandle */
-                            curr_process,           /* TargetProcessHandle */
-                            (PHANDLE) &tmph,        /* TargetHandle */
-                            (DWORD) 0,              /* DesiredAccess */
-                            FALSE,                  /* InheritHandle */
-                            DUPLICATE_SAME_ACCESS)) /* Options */
-        return FALSE;
-
-      if (size < old_size.QuadPart)
-        {
-          /* Reduce the size.  */
-          LONG size_hi = (LONG) (size >> 32);
-          if (SetFilePointer (tmph, (LONG) size, &size_hi, FILE_BEGIN)
-              == INVALID_SET_FILE_POINTER
-              && GetLastError() != NO_ERROR)
-            {
-              CloseHandle (tmph);
-              return FALSE;
-            }
-          if (!SetEndOfFile (tmph))
-            {
-              CloseHandle (tmph);
-              return FALSE;
-            }
-        }
-      else
-        {
-          /* Increase the size by adding zero bytes at the end.  */
-          static char zero_bytes[1024];
-          LONG pos_hi = 0;
-          LONG pos_lo = SetFilePointer (tmph, (LONG) 0, &pos_hi, FILE_END);
-          LONGLONG pos;
-          if (pos_lo == INVALID_SET_FILE_POINTER
-              && GetLastError() != NO_ERROR)
-            {
-              CloseHandle (tmph);
-              return FALSE;
-            }
-          pos = ((LONGLONG) pos_hi << 32) | (ULONGLONG) (ULONG) pos_lo;
-          while (pos < size)
-            {
-              DWORD written;
-              LONGLONG count = size - pos;
-              if (count > sizeof (zero_bytes))
-                count = sizeof (zero_bytes);
-              if (!WriteFile (tmph, zero_bytes, (DWORD) count, &written, NULL)
-                  || written == 0)
-                {
-                  CloseHandle (tmph);
-                  return FALSE;
-                }
-              pos += (ULONGLONG) (ULONG) written;
-            }
-        }
-      /* Close the handle.  */
-      CloseHandle (tmph);
-    }
-  return TRUE;
-}
-
-int
-ftruncate (int fd, off_t length)
-{
-  HANDLE handle = (HANDLE) _get_osfhandle (fd);
-
-  if (handle == INVALID_HANDLE_VALUE)
-    {
-      errno = EBADF;
-      return -1;
-    }
-  if (length < 0)
-    {
-      errno = EINVAL;
-      return -1;
-    }
-  if (!SetFileSize (handle, length))
-    {
-      switch (GetLastError ())
-        {
-        case ERROR_ACCESS_DENIED:
-          errno = EACCES;
-          break;
-        case ERROR_HANDLE_DISK_FULL:
-        case ERROR_DISK_FULL:
-        case ERROR_DISK_TOO_FRAGMENTED:
-          errno = ENOSPC;
-          break;
-        default:
-          errno = EIO;
-          break;
-        }
-      return -1;
-    }
-  return 0;
-}
-
-# else
-
-#  include <io.h>
-
-#  if HAVE_MSVC_INVALID_PARAMETER_HANDLER
-#   include "msvc-inval.h"
-static inline int
-chsize_nothrow (int fd, long length)
-{
-  int result;
-
-  TRY_MSVC_INVAL
-    {
-      result = chsize (fd, length);
-    }
-  CATCH_MSVC_INVAL
-    {
-      result = -1;
-      errno = EBADF;
-    }
-  DONE_MSVC_INVAL;
-
-  return result;
-}
-#   define chsize chsize_nothrow
-#  endif
-
-int
-ftruncate (int fd, off_t length)
-{
-  return chsize (fd, length);
-}
-
-# endif
-#endif
diff --git a/gltests/gettimeofday.c b/gltests/gettimeofday.c
deleted file mode 100644
index 5d35060..0000000
--- a/gltests/gettimeofday.c
+++ /dev/null
@@ -1,154 +0,0 @@
-/* Provide gettimeofday for systems that don't have it or for which it's 
broken.
-
-   Copyright (C) 2001-2003, 2005-2007, 2009-2012 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
-
-/* written by Jim Meyering */
-
-#include <config.h>
-
-/* Specification.  */
-#include <sys/time.h>
-
-#include <time.h>
-
-#if HAVE_SYS_TIMEB_H
-# include <sys/timeb.h>
-#endif
-
-#if GETTIMEOFDAY_CLOBBERS_LOCALTIME || TZSET_CLOBBERS_LOCALTIME
-
-/* Work around the bug in some systems whereby gettimeofday clobbers
-   the static buffer that localtime uses for its return value.  The
-   gettimeofday function from Mac OS X 10.0.4 (i.e., Darwin 1.3.7) has
-   this problem.  The tzset replacement is necessary for at least
-   Solaris 2.5, 2.5.1, and 2.6.  */
-
-static struct tm tm_zero_buffer;
-static struct tm *localtime_buffer_addr = &tm_zero_buffer;
-
-# undef localtime
-extern struct tm *localtime (time_t const *);
-
-# undef gmtime
-extern struct tm *gmtime (time_t const *);
-
-/* This is a wrapper for localtime.  It is used only on systems for which
-   gettimeofday clobbers the static buffer used for localtime's result.
-
-   On the first call, record the address of the static buffer that
-   localtime uses for its result.  */
-
-struct tm *
-rpl_localtime (time_t const *timep)
-{
-  struct tm *tm = localtime (timep);
-
-  if (localtime_buffer_addr == &tm_zero_buffer)
-    localtime_buffer_addr = tm;
-
-  return tm;
-}
-
-/* Same as above, since gmtime and localtime use the same buffer.  */
-struct tm *
-rpl_gmtime (time_t const *timep)
-{
-  struct tm *tm = gmtime (timep);
-
-  if (localtime_buffer_addr == &tm_zero_buffer)
-    localtime_buffer_addr = tm;
-
-  return tm;
-}
-
-#endif /* GETTIMEOFDAY_CLOBBERS_LOCALTIME || TZSET_CLOBBERS_LOCALTIME */
-
-#if TZSET_CLOBBERS_LOCALTIME
-
-# undef tzset
-extern void tzset (void);
-
-/* This is a wrapper for tzset, for systems on which tzset may clobber
-   the static buffer used for localtime's result.  */
-void
-rpl_tzset (void)
-{
-  /* Save and restore the contents of the buffer used for localtime's
-     result around the call to tzset.  */
-  struct tm save = *localtime_buffer_addr;
-  tzset ();
-  *localtime_buffer_addr = save;
-}
-#endif
-
-/* This is a wrapper for gettimeofday.  It is used only on systems
-   that lack this function, or whose implementation of this function
-   causes problems.  */
-
-int
-gettimeofday (struct timeval *restrict tv, void *restrict tz)
-{
-#undef gettimeofday
-#if HAVE_GETTIMEOFDAY
-# if GETTIMEOFDAY_CLOBBERS_LOCALTIME
-  /* Save and restore the contents of the buffer used for localtime's
-     result around the call to gettimeofday.  */
-  struct tm save = *localtime_buffer_addr;
-# endif
-
-# if defined timeval /* 'struct timeval' overridden by gnulib?  */
-#  undef timeval
-  struct timeval otv;
-  int result = gettimeofday (&otv, (struct timezone *) tz);
-  if (result == 0)
-    {
-      tv->tv_sec = otv.tv_sec;
-      tv->tv_usec = otv.tv_usec;
-    }
-# else
-  int result = gettimeofday (tv, (struct timezone *) tz);
-# endif
-
-# if GETTIMEOFDAY_CLOBBERS_LOCALTIME
-  *localtime_buffer_addr = save;
-# endif
-
-  return result;
-
-#else
-
-# if HAVE__FTIME
-
-  struct _timeb timebuf;
-  _ftime (&timebuf);
-  tv->tv_sec = timebuf.time;
-  tv->tv_usec = timebuf.millitm * 1000;
-
-# else
-
-#  if !defined OK_TO_USE_1S_CLOCK
-#   error "Only 1-second nominal clock resolution found.  Is that intended?" \
-          "If so, compile with the -DOK_TO_USE_1S_CLOCK option."
-#  endif
-  tv->tv_sec = time (NULL);
-  tv->tv_usec = 0;
-
-# endif
-
-  return 0;
-
-#endif
-}
diff --git a/gltests/ioctl.c b/gltests/ioctl.c
deleted file mode 100644
index 4a2fd39..0000000
--- a/gltests/ioctl.c
+++ /dev/null
@@ -1,88 +0,0 @@
-/* ioctl.c --- wrappers for Windows ioctl function
-
-   Copyright (C) 2008-2012 Free Software Foundation, Inc.
-
-   This program is free software: you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-/* Written by Paolo Bonzini */
-
-#include <config.h>
-
-#include <sys/ioctl.h>
-
-#include <stdarg.h>
-
-#if HAVE_IOCTL
-
-/* Provide a wrapper with the POSIX prototype.  */
-# undef ioctl
-int
-rpl_ioctl (int fd, int request, ... /* {void *,char *} arg */)
-{
-  void *buf;
-  va_list args;
-
-  va_start (args, request);
-  buf = va_arg (args, void *);
-  va_end (args);
-
-  /* Cast 'request' so that when the system's ioctl function takes a 64-bit
-     request argument, the value gets zero-extended, not sign-extended.  */
-  return ioctl (fd, (unsigned int) request, buf);
-}
-
-#else /* mingw */
-
-# include <errno.h>
-
-/* Get HANDLE.  */
-# define WIN32_LEAN_AND_MEAN
-# include <windows.h>
-
-# include "fd-hook.h"
-/* Get _get_osfhandle.  */
-# include "msvc-nothrow.h"
-
-static int
-primary_ioctl (int fd, int request, void *arg)
-{
-  /* We don't support FIONBIO on pipes here.  If you want to make pipe
-     fds non-blocking, use the gnulib 'nonblocking' module, until
-     gnulib implements fcntl F_GETFL / F_SETFL with O_NONBLOCK.  */
-
-  if ((HANDLE) _get_osfhandle (fd) != INVALID_HANDLE_VALUE)
-    errno = ENOSYS;
-  else
-    errno = EBADF;
-  return -1;
-}
-
-int
-ioctl (int fd, int request, ... /* {void *,char *} arg */)
-{
-  void *arg;
-  va_list args;
-
-  va_start (args, request);
-  arg = va_arg (args, void *);
-  va_end (args);
-
-# if WINDOWS_SOCKETS
-  return execute_all_ioctl_hooks (primary_ioctl, fd, request, arg);
-# else
-  return primary_ioctl (fd, request, arg);
-# endif
-}
-
-#endif
diff --git a/gltests/listen.c b/gltests/listen.c
deleted file mode 100644
index a1b2ab7..0000000
--- a/gltests/listen.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* listen.c --- wrappers for Windows listen function
-
-   Copyright (C) 2008-2012 Free Software Foundation, Inc.
-
-   This program is free software: you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-/* Written by Paolo Bonzini */
-
-#include <config.h>
-
-#define WIN32_LEAN_AND_MEAN
-/* Get winsock2.h. */
-#include <sys/socket.h>
-
-/* Get set_winsock_errno, FD_TO_SOCKET etc. */
-#include "w32sock.h"
-
-#undef listen
-
-int
-rpl_listen (int fd, int backlog)
-{
-  SOCKET sock = FD_TO_SOCKET (fd);
-
-  if (sock == INVALID_SOCKET)
-    {
-      errno = EBADF;
-      return -1;
-    }
-  else
-    {
-      int r = listen (sock, backlog);
-      if (r < 0)
-        set_winsock_errno ();
-
-      return r;
-    }
-}
diff --git a/gltests/perror.c b/gltests/perror.c
deleted file mode 100644
index 4853d1b..0000000
--- a/gltests/perror.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Print a message describing error code.
-   Copyright (C) 2008-2012 Free Software Foundation, Inc.
-   Written by Bruno Haible and Simon Josefsson.
-
-   This program is free software: you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include <config.h>
-
-/* Specification.  */
-#include <stdio.h>
-
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "strerror-override.h"
-
-/* Use the system functions, not the gnulib overrides in this file.  */
-#undef fprintf
-
-void
-perror (const char *string)
-{
-  char stackbuf[STACKBUF_LEN];
-  int ret;
-
-  /* Our implementation guarantees that this will be a non-empty
-     string, even if it returns EINVAL; and stackbuf should be sized
-     large enough to avoid ERANGE.  */
-  ret = strerror_r (errno, stackbuf, sizeof stackbuf);
-  if (ret == ERANGE)
-    abort ();
-
-  if (string != NULL && *string != '\0')
-    fprintf (stderr, "%s: %s\n", string, stackbuf);
-  else
-    fprintf (stderr, "%s\n", stackbuf);
-}
diff --git a/gltests/pipe.c b/gltests/pipe.c
deleted file mode 100644
index 6fcf1f2..0000000
--- a/gltests/pipe.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Create a pipe.
-   Copyright (C) 2009-2012 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License along
-   with this program; if not, see <http://www.gnu.org/licenses/>.  */
-
-#include <config.h>
-
-/* Specification.  */
-#include <unistd.h>
-
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-/* Native Windows API.  */
-
-/* Get _pipe().  */
-# include <io.h>
-
-/* Get _O_BINARY.  */
-# include <fcntl.h>
-
-int
-pipe (int fd[2])
-{
-  /* Mingw changes fd to {-1,-1} on failure, but this violates
-     http://austingroupbugs.net/view.php?id=467 */
-  int tmp[2];
-  int result = _pipe (tmp, 4096, _O_BINARY);
-  if (!result)
-    {
-      fd[0] = tmp[0];
-      fd[1] = tmp[1];
-    }
-  return result;
-}
-
-#else
-
-# error "This platform lacks a pipe function, and Gnulib doesn't provide a 
replacement. This is a bug in Gnulib."
-
-#endif
diff --git a/gltests/setsockopt.c b/gltests/setsockopt.c
deleted file mode 100644
index 9f414d5..0000000
--- a/gltests/setsockopt.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/* setsockopt.c --- wrappers for Windows setsockopt function
-
-   Copyright (C) 2008-2012 Free Software Foundation, Inc.
-
-   This program is free software: you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-/* Written by Paolo Bonzini */
-
-#include <config.h>
-
-#define WIN32_LEAN_AND_MEAN
-/* Get winsock2.h. */
-#include <sys/socket.h>
-
-/* Get struct timeval. */
-#include <sys/time.h>
-
-/* Get set_winsock_errno, FD_TO_SOCKET etc. */
-#include "w32sock.h"
-
-#undef setsockopt
-
-int
-rpl_setsockopt (int fd, int level, int optname, const void *optval, socklen_t 
optlen)
-{
-  SOCKET sock = FD_TO_SOCKET (fd);
-  int r;
-
-  if (sock == INVALID_SOCKET)
-    {
-      errno = EBADF;
-      return -1;
-    }
-  else
-    {
-      if (level == SOL_SOCKET
-          && (optname == SO_RCVTIMEO || optname == SO_SNDTIMEO))
-        {
-          const struct timeval *tv = optval;
-          int milliseconds = tv->tv_sec * 1000 + tv->tv_usec / 1000;
-          optval = &milliseconds;
-          r = setsockopt (sock, level, optname, optval, sizeof (int));
-        }
-      else
-        {
-          r = setsockopt (sock, level, optname, optval, optlen);
-        }
-
-      if (r < 0)
-        set_winsock_errno ();
-
-      return r;
-    }
-}
diff --git a/gltests/strerror_r.c b/gltests/strerror_r.c
deleted file mode 100644
index 76f6fc6..0000000
--- a/gltests/strerror_r.c
+++ /dev/null
@@ -1,326 +0,0 @@
-/* strerror_r.c --- POSIX compatible system error routine
-
-   Copyright (C) 2010-2012 Free Software Foundation, Inc.
-
-   This program is free software: you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-/* Written by Bruno Haible <address@hidden>, 2010.  */
-
-#include <config.h>
-
-/* Enable declaration of sys_nerr and sys_errlist in <errno.h> on NetBSD.  */
-#define _NETBSD_SOURCE 1
-
-/* Specification.  */
-#include <string.h>
-
-#include <errno.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "strerror-override.h"
-
-#if (__GLIBC__ >= 2 || defined __UCLIBC__ || defined __CYGWIN__) && 
HAVE___XPG_STRERROR_R /* glibc >= 2.3.4, cygwin >= 1.7.9 */
-
-# define USE_XPG_STRERROR_R 1
-extern int __xpg_strerror_r (int errnum, char *buf, size_t buflen);
-
-#elif HAVE_DECL_STRERROR_R && !(__GLIBC__ >= 2 || defined __UCLIBC__ || 
defined __CYGWIN__)
-
-/* The system's strerror_r function is OK, except that its third argument
-   is 'int', not 'size_t', or its return type is wrong.  */
-
-# include <limits.h>
-
-# define USE_SYSTEM_STRERROR_R 1
-
-#else /* (__GLIBC__ >= 2 || defined __UCLIBC__ || defined __CYGWIN__ ? 
!HAVE___XPG_STRERROR_R : !HAVE_DECL_STRERROR_R) */
-
-/* Use the system's strerror().  Exclude glibc and cygwin because the
-   system strerror_r has the wrong return type, and cygwin 1.7.9
-   strerror_r clobbers strerror.  */
-# undef strerror
-
-# define USE_SYSTEM_STRERROR 1
-
-# if defined __NetBSD__ || defined __hpux || ((defined _WIN32 || defined 
__WIN32__) && !defined __CYGWIN__) || defined __sgi || (defined __sun && 
!defined _LP64) || defined __CYGWIN__
-
-/* No locking needed.  */
-
-/* Get catgets internationalization functions.  */
-#  if HAVE_CATGETS
-#   include <nl_types.h>
-#  endif
-
-/* Get sys_nerr, sys_errlist on HP-UX (otherwise only declared in C++ mode).
-   Get sys_nerr, sys_errlist on IRIX (otherwise only declared with _SGIAPI).  
*/
-#  if defined __hpux || defined __sgi
-extern int sys_nerr;
-extern char *sys_errlist[];
-#  endif
-
-/* Get sys_nerr on Solaris.  */
-#  if defined __sun && !defined _LP64
-extern int sys_nerr;
-#  endif
-
-# else
-
-#  include "glthread/lock.h"
-
-/* This lock protects the buffer returned by strerror().  We assume that
-   no other uses of strerror() exist in the program.  */
-gl_lock_define_initialized(static, strerror_lock)
-
-# endif
-
-#endif
-
-/* On MSVC, there is no snprintf() function, just a _snprintf().
-   It is of lower quality, but sufficient for the simple use here.
-   We only have to make sure to NUL terminate the result (_snprintf
-   does not NUL terminate, like strncpy).  */
-#if !HAVE_SNPRINTF
-static int
-local_snprintf (char *buf, size_t buflen, const char *format, ...)
-{
-  va_list args;
-  int result;
-
-  va_start (args, format);
-  result = _vsnprintf (buf, buflen, format, args);
-  va_end (args);
-  if (buflen > 0 && (result < 0 || result >= buflen))
-    buf[buflen - 1] = '\0';
-  return result;
-}
-# define snprintf local_snprintf
-#endif
-
-/* Copy as much of MSG into BUF as possible, without corrupting errno.
-   Return 0 if MSG fit in BUFLEN, otherwise return ERANGE.  */
-static int
-safe_copy (char *buf, size_t buflen, const char *msg)
-{
-  size_t len = strlen (msg);
-  int ret;
-
-  if (len < buflen)
-    {
-      /* Although POSIX allows memcpy() to corrupt errno, we don't
-         know of any implementation where this is a real problem.  */
-      memcpy (buf, msg, len + 1);
-      ret = 0;
-    }
-  else
-    {
-      memcpy (buf, msg, buflen - 1);
-      buf[buflen - 1] = '\0';
-      ret = ERANGE;
-    }
-  return ret;
-}
-
-
-int
-strerror_r (int errnum, char *buf, size_t buflen)
-#undef strerror_r
-{
-  /* Filter this out now, so that rest of this replacement knows that
-     there is room for a non-empty message and trailing NUL.  */
-  if (buflen <= 1)
-    {
-      if (buflen)
-        *buf = '\0';
-      return ERANGE;
-    }
-  *buf = '\0';
-
-  /* Check for gnulib overrides.  */
-  {
-    char const *msg = strerror_override (errnum);
-
-    if (msg)
-      return safe_copy (buf, buflen, msg);
-  }
-
-  {
-    int ret;
-    int saved_errno = errno;
-
-#if USE_XPG_STRERROR_R
-
-    {
-      ret = __xpg_strerror_r (errnum, buf, buflen);
-      if (ret < 0)
-        ret = errno;
-      if (!*buf)
-        {
-          /* glibc 2.13 would not touch buf on err, so we have to fall
-             back to GNU strerror_r which always returns a thread-safe
-             untruncated string to (partially) copy into our buf.  */
-          safe_copy (buf, buflen, strerror_r (errnum, buf, buflen));
-        }
-    }
-
-#elif USE_SYSTEM_STRERROR_R
-
-    if (buflen > INT_MAX)
-      buflen = INT_MAX;
-
-# ifdef __hpux
-    /* On HP-UX 11.31, strerror_r always fails when buflen < 80; it
-       also fails to change buf on EINVAL.  */
-    {
-      char stackbuf[80];
-
-      if (buflen < sizeof stackbuf)
-        {
-          ret = strerror_r (errnum, stackbuf, sizeof stackbuf);
-          if (ret == 0)
-            ret = safe_copy (buf, buflen, stackbuf);
-        }
-      else
-        ret = strerror_r (errnum, buf, buflen);
-    }
-# else
-    ret = strerror_r (errnum, buf, buflen);
-
-    /* Some old implementations may return (-1, EINVAL) instead of EINVAL.  */
-    if (ret < 0)
-      ret = errno;
-# endif
-
-# ifdef _AIX
-    /* AIX returns 0 rather than ERANGE when truncating strings; try
-       again until we are sure we got the entire string.  */
-    if (!ret && strlen (buf) == buflen - 1)
-      {
-        char stackbuf[STACKBUF_LEN];
-        size_t len;
-        strerror_r (errnum, stackbuf, sizeof stackbuf);
-        len = strlen (stackbuf);
-        /* STACKBUF_LEN should have been large enough.  */
-        if (len + 1 == sizeof stackbuf)
-          abort ();
-        if (buflen <= len)
-          ret = ERANGE;
-      }
-# else
-    /* Solaris 10 does not populate buf on ERANGE.  OpenBSD 4.7
-       truncates early on ERANGE rather than return a partial integer.
-       We prefer the maximal string.  We set buf[0] earlier, and we
-       know of no implementation that modifies buf to be an
-       unterminated string, so this strlen should be portable in
-       practice (rather than pulling in a safer strnlen).  */
-    if (ret == ERANGE && strlen (buf) < buflen - 1)
-      {
-        char stackbuf[STACKBUF_LEN];
-
-        /* STACKBUF_LEN should have been large enough.  */
-        if (strerror_r (errnum, stackbuf, sizeof stackbuf) == ERANGE)
-          abort ();
-        safe_copy (buf, buflen, stackbuf);
-      }
-# endif
-
-#else /* USE_SYSTEM_STRERROR */
-
-    /* Try to do what strerror (errnum) does, but without clobbering the
-       buffer used by strerror().  */
-
-# if defined __NetBSD__ || defined __hpux || ((defined _WIN32 || defined 
__WIN32__) && !defined __CYGWIN__) || defined __CYGWIN__ /* NetBSD, HP-UX, 
native Windows, Cygwin */
-
-    /* NetBSD:         sys_nerr, sys_errlist are declared through 
_NETBSD_SOURCE
-                       and <errno.h> above.
-       HP-UX:          sys_nerr, sys_errlist are declared explicitly above.
-       native Windows: sys_nerr, sys_errlist are declared in <stdlib.h>.
-       Cygwin:         sys_nerr, sys_errlist are declared in <errno.h>.  */
-    if (errnum >= 0 && errnum < sys_nerr)
-      {
-#  if HAVE_CATGETS && (defined __NetBSD__ || defined __hpux)
-#   if defined __NetBSD__
-        nl_catd catd = catopen ("libc", NL_CAT_LOCALE);
-        const char *errmsg =
-          (catd != (nl_catd)-1
-           ? catgets (catd, 1, errnum, sys_errlist[errnum])
-           : sys_errlist[errnum]);
-#   endif
-#   if defined __hpux
-        nl_catd catd = catopen ("perror", NL_CAT_LOCALE);
-        const char *errmsg =
-          (catd != (nl_catd)-1
-           ? catgets (catd, 1, 1 + errnum, sys_errlist[errnum])
-           : sys_errlist[errnum]);
-#   endif
-#  else
-        const char *errmsg = sys_errlist[errnum];
-#  endif
-        if (errmsg == NULL || *errmsg == '\0')
-          ret = EINVAL;
-        else
-          ret = safe_copy (buf, buflen, errmsg);
-#  if HAVE_CATGETS && (defined __NetBSD__ || defined __hpux)
-        if (catd != (nl_catd)-1)
-          catclose (catd);
-#  endif
-      }
-    else
-      ret = EINVAL;
-
-# elif defined __sgi || (defined __sun && !defined _LP64) /* IRIX, Solaris <= 
9 32-bit */
-
-    /* For a valid error number, the system's strerror() function returns
-       a pointer to a not copied string, not to a buffer.  */
-    if (errnum >= 0 && errnum < sys_nerr)
-      {
-        char *errmsg = strerror (errnum);
-
-        if (errmsg == NULL || *errmsg == '\0')
-          ret = EINVAL;
-        else
-          ret = safe_copy (buf, buflen, errmsg);
-      }
-    else
-      ret = EINVAL;
-
-# else
-
-    gl_lock_lock (strerror_lock);
-
-    {
-      char *errmsg = strerror (errnum);
-
-      /* For invalid error numbers, strerror() on
-           - IRIX 6.5 returns NULL,
-           - HP-UX 11 returns an empty string.  */
-      if (errmsg == NULL || *errmsg == '\0')
-        ret = EINVAL;
-      else
-        ret = safe_copy (buf, buflen, errmsg);
-    }
-
-    gl_lock_unlock (strerror_lock);
-
-# endif
-
-#endif
-
-    if (ret == EINVAL && !*buf)
-      snprintf (buf, buflen, "Unknown error %d", errnum);
-
-    errno = saved_errno;
-    return ret;
-  }
-}
diff --git a/gltests/sys_ioctl.in.h b/gltests/sys_ioctl.in.h
deleted file mode 100644
index ab04d55..0000000
--- a/gltests/sys_ioctl.in.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/* Substitute for and wrapper around <sys/ioctl.h>.
-   Copyright (C) 2008-2012 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
-
-#ifndef address@hidden@_SYS_IOCTL_H
-
-#if __GNUC__ >= 3
address@hidden@
-#endif
address@hidden@
-
-/* The include_next requires a split double-inclusion guard.  */
-#if @HAVE_SYS_IOCTL_H@
-# @INCLUDE_NEXT@ @NEXT_SYS_IOCTL_H@
-#endif
-
-#ifndef address@hidden@_SYS_IOCTL_H
-#define address@hidden@_SYS_IOCTL_H
-
-/* AIX 5.1 and Solaris 10 declare ioctl() in <unistd.h> and in <stropts.h>,
-   but not in <sys/ioctl.h>.
-   But avoid namespace pollution on glibc systems.  */
-#ifndef __GLIBC__
-# include <unistd.h>
-#endif
-
-/* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
-
-/* The definition of _GL_WARN_ON_USE is copied here.  */
-
-
-/* Declare overridden functions.  */
-
-#if @GNULIB_IOCTL@
-# if @REPLACE_IOCTL@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef ioctl
-#   define ioctl rpl_ioctl
-#  endif
-_GL_FUNCDECL_RPL (ioctl, int,
-                  (int fd, int request, ... /* {void *,char *} arg */));
-_GL_CXXALIAS_RPL (ioctl, int,
-                  (int fd, int request, ... /* {void *,char *} arg */));
-# else
-#  if @SYS_IOCTL_H_HAVE_WINSOCK2_H@ || 1
-_GL_FUNCDECL_SYS (ioctl, int,
-                  (int fd, int request, ... /* {void *,char *} arg */));
-#  endif
-_GL_CXXALIAS_SYS (ioctl, int,
-                  (int fd, int request, ... /* {void *,char *} arg */));
-# endif
-_GL_CXXALIASWARN (ioctl);
-#elif @SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
-# undef ioctl
-# define ioctl ioctl_used_without_requesting_gnulib_module_ioctl
-#elif defined GNULIB_POSIXCHECK
-# undef ioctl
-# if HAVE_RAW_DECL_IOCTL
-_GL_WARN_ON_USE (ioctl, "ioctl does not portably work on sockets - "
-                 "use gnulib module ioctl for portability");
-# endif
-#endif
-
-
-#endif /* address@hidden@_SYS_IOCTL_H */
-#endif /* address@hidden@_SYS_IOCTL_H */
diff --git a/gltests/test-accept.c b/gltests/test-accept.c
deleted file mode 100644
index 265ef64..0000000
--- a/gltests/test-accept.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Test accepting a connection to a server socket.
-   Copyright (C) 2011-2012 Free Software Foundation, Inc.
-
-   This program is free software: you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include <config.h>
-
-#include <sys/socket.h>
-
-#include "signature.h"
-SIGNATURE_CHECK (accept, int, (int, struct sockaddr *, socklen_t *));
-
-#include <errno.h>
-#include <netinet/in.h>
-
-#include "sockets.h"
-#include "macros.h"
-
-int
-main (void)
-{
-  (void) gl_sockets_startup (SOCKETS_1_1);
-
-  /* Test behaviour for invalid file descriptors.  */
-  {
-    struct sockaddr_in addr;
-    socklen_t addrlen = sizeof (addr);
-
-    errno = 0;
-    ASSERT (accept (-1, (struct sockaddr *) &addr, &addrlen) == -1);
-    ASSERT (errno == EBADF);
-  }
-  {
-    struct sockaddr_in addr;
-    socklen_t addrlen = sizeof (addr);
-
-    errno = 0;
-    ASSERT (accept (99, (struct sockaddr *) &addr, &addrlen) == -1);
-    ASSERT (errno == EBADF);
-  }
-
-  return 0;
-}
diff --git a/gltests/test-bind.c b/gltests/test-bind.c
deleted file mode 100644
index e97be2a..0000000
--- a/gltests/test-bind.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Test binding a server socket to a port.
-   Copyright (C) 2011-2012 Free Software Foundation, Inc.
-
-   This program is free software: you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include <config.h>
-
-#include <sys/socket.h>
-
-#include "signature.h"
-SIGNATURE_CHECK (bind, int, (int, const struct sockaddr *, socklen_t));
-
-#include <errno.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-#include "sockets.h"
-#include "macros.h"
-
-int
-main (void)
-{
-  (void) gl_sockets_startup (SOCKETS_1_1);
-
-  /* Test behaviour for invalid file descriptors.  */
-  {
-    struct sockaddr_in addr;
-
-    addr.sin_family = AF_INET;
-    inet_pton (AF_INET, "127.0.0.1", &addr.sin_addr);
-    addr.sin_port = htons (80);
-    {
-      errno = 0;
-      ASSERT (bind (-1, (const struct sockaddr *) &addr, sizeof (addr)) == -1);
-      ASSERT (errno == EBADF);
-    }
-    {
-      errno = 0;
-      ASSERT (bind (99, (const struct sockaddr *) &addr, sizeof (addr)) == -1);
-      ASSERT (errno == EBADF);
-    }
-  }
-
-  return 0;
-}
diff --git a/gltests/test-ftruncate.c b/gltests/test-ftruncate.c
deleted file mode 100644
index 9a85314..0000000
--- a/gltests/test-ftruncate.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Test truncating a file.
-   Copyright (C) 2011-2012 Free Software Foundation, Inc.
-
-   This program is free software: you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include <config.h>
-
-#include <unistd.h>
-
-#include "signature.h"
-SIGNATURE_CHECK (ftruncate, int, (int, off_t));
-
-#include <errno.h>
-#include <fcntl.h>
-
-#include "macros.h"
-
-int
-main (int argc, char *argv[])
-{
-  const char *filename = argv[1];
-
-  /* Test behaviour for invalid file descriptors.  */
-  {
-    errno = 0;
-    ASSERT (ftruncate (-1, 0) == -1);
-    ASSERT (errno == EBADF);
-  }
-  {
-    errno = 0;
-    ASSERT (ftruncate (99, 0) == -1);
-    ASSERT (errno == EBADF);
-  }
-
-  /* Test behaviour for read-only file descriptors.  */
-  {
-    int fd = open (filename, O_RDONLY);
-    ASSERT (fd >= 0);
-    errno = 0;
-    ASSERT (ftruncate (fd, 0) == -1);
-    ASSERT (errno == EBADF || errno == EINVAL
-            || errno == EACCES /* seen on mingw */
-           );
-    close (fd);
-  }
-
-  return 0;
-}
diff --git a/gltests/test-ftruncate.sh b/gltests/test-ftruncate.sh
deleted file mode 100755
index d7394d2..0000000
--- a/gltests/test-ftruncate.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-exec ./test-ftruncate${EXEEXT} "$srcdir/test-ftruncate.sh"
diff --git a/gltests/test-gettimeofday.c b/gltests/test-gettimeofday.c
deleted file mode 100644
index 4a9d264..0000000
--- a/gltests/test-gettimeofday.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (C) 2005, 2007, 2009-2012 Free Software Foundation, Inc.
- * Written by Jim Meyering.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include <config.h>
-
-#include <sys/time.h>
-
-#include "signature.h"
-SIGNATURE_CHECK (gettimeofday, int,
-                 (struct timeval *, GETTIMEOFDAY_TIMEZONE *));
-
-#include <time.h>
-
-#include <stdio.h>
-#include <string.h>
-
-int
-main (void)
-{
-  time_t t = 0;
-  struct tm *lt;
-  struct tm saved_lt;
-  struct timeval tv;
-  lt = localtime (&t);
-  saved_lt = *lt;
-  gettimeofday (&tv, NULL);
-  if (memcmp (lt, &saved_lt, sizeof (struct tm)) != 0)
-    {
-      fprintf (stderr, "gettimeofday still clobbers the localtime buffer!\n");
-      return 1;
-    }
-  return 0;
-}
diff --git a/gltests/test-ioctl.c b/gltests/test-ioctl.c
deleted file mode 100644
index c3aadce..0000000
--- a/gltests/test-ioctl.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Test of ioctl() function.
-   Copyright (C) 2011-2012 Free Software Foundation, Inc.
-
-   This program is free software: you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include <config.h>
-
-/* Specification.  */
-#include <sys/ioctl.h>
-
-#include "signature.h"
-SIGNATURE_CHECK (ioctl, int, (int, int, ...));
-
-#include <errno.h>
-
-#include "macros.h"
-
-int
-main (void)
-{
-#ifdef FIONREAD
-  /* Test behaviour for invalid file descriptors.  */
-  {
-    int value;
-    errno = 0;
-    ASSERT (ioctl (-1, FIONREAD, &value) == -1);
-    ASSERT (errno == EBADF);
-  }
-  {
-    int value;
-    errno = 0;
-    ASSERT (ioctl (99, FIONREAD, &value) == -1);
-    ASSERT (errno == EBADF);
-  }
-#endif
-
-  return 0;
-}
diff --git a/gltests/test-listen.c b/gltests/test-listen.c
deleted file mode 100644
index b81558a..0000000
--- a/gltests/test-listen.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Test listen() function.
-   Copyright (C) 2011-2012 Free Software Foundation, Inc.
-
-   This program is free software: you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include <config.h>
-
-#include <sys/socket.h>
-
-#include "signature.h"
-SIGNATURE_CHECK (listen, int, (int, int));
-
-#include <errno.h>
-
-#include "sockets.h"
-#include "macros.h"
-
-int
-main (void)
-{
-  (void) gl_sockets_startup (SOCKETS_1_1);
-
-  /* Test behaviour for invalid file descriptors.  */
-  {
-    errno = 0;
-    ASSERT (listen (-1, 1) == -1);
-    ASSERT (errno == EBADF);
-  }
-  {
-    errno = 0;
-    ASSERT (listen (99 ,1) == -1);
-    ASSERT (errno == EBADF);
-  }
-
-  return 0;
-}
diff --git a/gltests/test-perror.c b/gltests/test-perror.c
deleted file mode 100644
index 31e1af7..0000000
--- a/gltests/test-perror.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Test of perror() function.
-   Copyright (C) 2008-2012 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
-
-#include <config.h>
-
-#include <stdio.h>
-
-#include "signature.h"
-SIGNATURE_CHECK (perror, void, (char const *));
-
-#include <errno.h>
-
-int
-main (int argc, char **argv)
-{
-  const char *prefix = (argc > 1 ? argv[1] : NULL);
-
-  errno = EACCES;    perror (prefix);
-  errno = ETIMEDOUT; perror (prefix);
-  errno = EOVERFLOW; perror (prefix);
-
-  return 0;
-}
diff --git a/gltests/test-perror.sh b/gltests/test-perror.sh
deleted file mode 100755
index 7274d32..0000000
--- a/gltests/test-perror.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh
-: ${srcdir=.}
-. "$srcdir/init.sh"; path_prepend_ .
-
-# Test NULL prefix. Result should not contain a number.
-test-perror 2>&1 >/dev/null | LC_ALL=C tr -d '\r' > t-perror.tmp
-grep '[0-9]' t-perror.tmp > /dev/null \
-  && fail_ "result should not contain a number"
-
-# Test empty prefix. Result should be the same.
-test-perror '' 2>&1 >/dev/null | LC_ALL=C tr -d '\r' > t-perror1.tmp
-diff t-perror.tmp t-perror1.tmp \
-  || fail_ "empty prefix should behave like NULL argument"
-
-# Test non-empty prefix.
-test-perror foo 2>&1 >/dev/null | LC_ALL=C tr -d '\r' > t-perror3.tmp
-sed -e 's/^/foo: /' < t-perror.tmp > t-perror2.tmp
-diff t-perror2.tmp t-perror3.tmp || fail_ "prefix applied incorrectly"
-
-# Test exit status.
-test-perror >out 2>/dev/null || fail_ "unexpected exit status"
-test -s out && fail_ "unexpected output"
-
-Exit 0
diff --git a/gltests/test-perror2.c b/gltests/test-perror2.c
deleted file mode 100644
index eae077c..0000000
--- a/gltests/test-perror2.c
+++ /dev/null
@@ -1,136 +0,0 @@
-/* Test of perror() function.
-   Copyright (C) 2011-2012 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
-
-#include <config.h>
-
-#include <stdio.h>
-
-#include <errno.h>
-#include <string.h>
-#include <unistd.h>
-
-/* This test intentionally parses stderr.  So, we arrange to have fd 10
-   (outside the range of interesting fd's during the test) set up to
-   duplicate the original stderr.  */
-#define BACKUP_STDERR_FILENO 10
-#define ASSERT_STREAM myerr
-#include "macros.h"
-
-static FILE *myerr;
-
-#define BASE "test-perror2"
-
-int
-main (void)
-{
-  /* We change fd 2 later, so save it in fd 10.  */
-  if (dup2 (STDERR_FILENO, BACKUP_STDERR_FILENO) != BACKUP_STDERR_FILENO
-      || (myerr = fdopen (BACKUP_STDERR_FILENO, "w")) == NULL)
-    return 2;
-
-  ASSERT (freopen (BASE ".tmp", "w+", stderr) == stderr);
-
-  /* Test that perror does not clobber strerror buffer.  */
-  {
-    const char *msg1;
-    const char *msg2;
-    const char *msg3;
-    const char *msg4;
-    char *str1;
-    char *str2;
-    char *str3;
-    char *str4;
-
-    msg1 = strerror (ENOENT);
-    ASSERT (msg1);
-    str1 = strdup (msg1);
-    ASSERT (str1);
-
-    msg2 = strerror (ERANGE);
-    ASSERT (msg2);
-    str2 = strdup (msg2);
-    ASSERT (str2);
-
-    msg3 = strerror (-4);
-    ASSERT (msg3);
-    str3 = strdup (msg3);
-    ASSERT (str3);
-
-    msg4 = strerror (1729576);
-    ASSERT (msg4);
-    str4 = strdup (msg4);
-    ASSERT (str4);
-
-    errno = EACCES;
-    perror ("");
-    errno = -5;
-    perror ("");
-    ASSERT (!ferror (stderr));
-    ASSERT (msg1 == msg2 || msg1 == msg4 || STREQ (msg1, str1));
-    ASSERT (msg2 == msg4 || STREQ (msg2, str2));
-    ASSERT (msg3 == msg4 || STREQ (msg3, str3));
-    ASSERT (STREQ (msg4, str4));
-
-    free (str1);
-    free (str2);
-    free (str3);
-    free (str4);
-  }
-
-  /* Test that perror uses the same message as strerror.  */
-  {
-    int errs[] = { EACCES, 0, -3, };
-    int i;
-    for (i = 0; i < SIZEOF (errs); i++)
-      {
-        char buf[256];
-        char *err = strerror (errs[i]);
-
-        ASSERT (err);
-        ASSERT (strlen (err) < sizeof buf);
-        rewind (stderr);
-        ASSERT (ftruncate (fileno (stderr), 0) == 0);
-        errno = errs[i];
-        perror (NULL);
-        ASSERT (!ferror (stderr));
-        rewind (stderr);
-        ASSERT (fgets (buf, sizeof buf, stderr) == buf);
-        ASSERT (strstr (buf, err));
-      }
-  }
-
-  /* Test that perror reports write failure.  */
-  {
-    ASSERT (freopen (BASE ".tmp", "r", stderr) == stderr);
-    ASSERT (setvbuf (stderr, NULL, _IONBF, BUFSIZ) == 0);
-    errno = -1;
-    ASSERT (!ferror (stderr));
-    perror (NULL);
-#if 0
-    /* Commented out until cygwin behaves:
-       http://sourceware.org/ml/newlib/2011/msg00228.html */
-    ASSERT (errno > 0);
-    /* Commented out until glibc behaves:
-       http://sourceware.org/bugzilla/show_bug.cgi?id=12792 */
-    ASSERT (ferror (stderr));
-#endif
-  }
-
-  ASSERT (fclose (stderr) == 0);
-  ASSERT (remove (BASE ".tmp") == 0);
-
-  return 0;
-}
diff --git a/gltests/test-pipe.c b/gltests/test-pipe.c
deleted file mode 100644
index 7ffeb62..0000000
--- a/gltests/test-pipe.c
+++ /dev/null
@@ -1,104 +0,0 @@
-/* Test of pipe.
-   Copyright (C) 2009-2012 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
-
-#include <config.h>
-
-#include <unistd.h>
-
-#include "signature.h"
-SIGNATURE_CHECK (pipe, int, (int[2]));
-
-#include <fcntl.h>
-#include <stdbool.h>
-
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-/* Get declarations of the native Windows API functions.  */
-# define WIN32_LEAN_AND_MEAN
-# include <windows.h>
-/* Get _get_osfhandle.  */
-# include "msvc-nothrow.h"
-#endif
-
-#include "binary-io.h"
-#include "macros.h"
-
-/* Return true if FD is open.  */
-static bool
-is_open (int fd)
-{
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-  /* On native Windows, the initial state of unassigned standard file
-     descriptors is that they are open but point to an
-     INVALID_HANDLE_VALUE, and there is no fcntl.  */
-  return (HANDLE) _get_osfhandle (fd) != INVALID_HANDLE_VALUE;
-#else
-# ifndef F_GETFL
-#  error Please port fcntl to your platform
-# endif
-  return 0 <= fcntl (fd, F_GETFL);
-#endif
-}
-
-/* Return true if FD is not inherited to child processes.  */
-static bool
-is_cloexec (int fd)
-{
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-  HANDLE h = (HANDLE) _get_osfhandle (fd);
-  DWORD flags;
-  ASSERT (GetHandleInformation (h, &flags));
-  return (flags & HANDLE_FLAG_INHERIT) == 0;
-#else
-  int flags;
-  ASSERT ((flags = fcntl (fd, F_GETFD)) >= 0);
-  return (flags & FD_CLOEXEC) != 0;
-#endif
-}
-
-/* Return true if FD is in non-blocking mode.  */
-static bool
-is_nonblocking (int fd)
-{
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-  /* We don't use the non-blocking mode for sockets here.  */
-  return 0;
-#else
-  int flags;
-  ASSERT ((flags = fcntl (fd, F_GETFL)) >= 0);
-  return (flags & O_NONBLOCK) != 0;
-#endif
-}
-
-int
-main ()
-{
-  int fd[2];
-
-  fd[0] = -1;
-  fd[1] = -1;
-  ASSERT (pipe (fd) >= 0);
-  ASSERT (fd[0] >= 0);
-  ASSERT (fd[1] >= 0);
-  ASSERT (fd[0] != fd[1]);
-  ASSERT (is_open (fd[0]));
-  ASSERT (is_open (fd[1]));
-  ASSERT (!is_cloexec (fd[0]));
-  ASSERT (!is_cloexec (fd[1]));
-  ASSERT (!is_nonblocking (fd[0]));
-  ASSERT (!is_nonblocking (fd[1]));
-
-  return 0;
-}
diff --git a/gltests/test-poll.c b/gltests/test-poll.c
deleted file mode 100644
index e63f5b9..0000000
--- a/gltests/test-poll.c
+++ /dev/null
@@ -1,388 +0,0 @@
-/* Test of poll() function.
-   Copyright (C) 2008-2012 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
-
-/* Written by Paolo Bonzini.  */
-
-#include <config.h>
-
-/* Specification.  */
-#include <poll.h>
-
-#include "signature.h"
-SIGNATURE_CHECK (poll, int, (struct pollfd[], nfds_t, int));
-
-#include <stdio.h>
-#include <string.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#include <fcntl.h>
-#include <stdlib.h>
-#include <stdbool.h>
-#include <sys/ioctl.h>
-#include <errno.h>
-
-#include "macros.h"
-
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-# define WINDOWS_NATIVE
-#endif
-
-#ifdef WINDOWS_NATIVE
-#include <io.h>
-#define pipe(x) _pipe(x, 256, O_BINARY)
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_SYS_WAIT_H
-#include <sys/wait.h>
-#endif
-
-#ifndef SO_REUSEPORT
-#define SO_REUSEPORT    SO_REUSEADDR
-#endif
-
-#define TEST_PORT       12345
-
-
-/* Minimal testing infrastructure.  */
-
-static int failures;
-
-static void
-failed (const char *reason)
-{
-  if (++failures > 1)
-    printf ("  ");
-  printf ("failed (%s)\n", reason);
-}
-
-static int
-test (void (*fn) (void), const char *msg)
-{
-  failures = 0;
-  printf ("%s... ", msg);
-  fflush (stdout);
-  fn ();
-
-  if (!failures)
-    printf ("passed\n");
-
-  return failures;
-}
-
-
-/* Funny socket code.  */
-
-static int
-open_server_socket ()
-{
-  int s, x;
-  struct sockaddr_in ia;
-
-  s = socket (AF_INET, SOCK_STREAM, 0);
-
-  memset (&ia, 0, sizeof (ia));
-  ia.sin_family = AF_INET;
-  inet_pton (AF_INET, "127.0.0.1", &ia.sin_addr);
-  ia.sin_port = htons (TEST_PORT);
-  if (bind (s, (struct sockaddr *) &ia, sizeof (ia)) < 0)
-    {
-      perror ("bind");
-      exit (77);
-    }
-
-  x = 1;
-  setsockopt (s, SOL_SOCKET, SO_REUSEPORT, &x, sizeof (x));
-
-  if (listen (s, 1) < 0)
-    {
-      perror ("listen");
-      exit (77);
-    }
-
-  return s;
-}
-
-static int
-connect_to_socket (int blocking)
-{
-  int s;
-  struct sockaddr_in ia;
-
-  s = socket (AF_INET, SOCK_STREAM, 0);
-
-  memset (&ia, 0, sizeof (ia));
-  ia.sin_family = AF_INET;
-  inet_pton (AF_INET, "127.0.0.1", &ia.sin_addr);
-  ia.sin_port = htons (TEST_PORT);
-
-  if (!blocking)
-    {
-#ifdef WINDOWS_NATIVE
-      unsigned long iMode = 1;
-      ioctl (s, FIONBIO, (char *) &iMode);
-
-#elif defined F_GETFL
-      int oldflags = fcntl (s, F_GETFL, NULL);
-
-      if (!(oldflags & O_NONBLOCK))
-        fcntl (s, F_SETFL, oldflags | O_NONBLOCK);
-#endif
-    }
-
-  if (connect (s, (struct sockaddr *) &ia, sizeof (ia)) < 0
-      && (blocking || errno != EINPROGRESS))
-    {
-      perror ("connect");
-      exit (77);
-    }
-
-  return s;
-}
-
-
-/* A slightly more convenient interface to poll(2).  */
-
-static int
-poll1 (int fd, int ev, int time)
-{
-  struct pollfd pfd;
-  int r;
-
-  pfd.fd = fd;
-  pfd.events = ev;
-  pfd.revents = 0;
-  r = poll (&pfd, 1, time);
-  if (r < 0)
-    return r;
-
-  if (pfd.revents & ~(POLLHUP | POLLERR | POLLNVAL | ev))
-    failed ("invalid flag combination (unrequested events)");
-
-  return pfd.revents;
-}
-
-static int
-poll1_nowait (int fd, int ev)
-{
-  return poll1 (fd, ev, 0);
-}
-
-static int
-poll1_wait (int fd, int ev)
-{
-  return poll1 (fd, ev, -1);
-}
-
-
-/* Test poll(2) for TTYs.  */
-
-#ifdef INTERACTIVE
-static void
-test_tty (void)
-{
-  if (poll1_nowait (0, POLLIN | POLLRDNORM) != 0)
-    failed ("can read");
-  if (poll1_nowait (0, POLLOUT) == 0)
-    failed ("cannot write");
-
-  if (poll1_wait (0, POLLIN | POLLRDNORM) == 0)
-    failed ("return with infinite timeout");
-
-  getchar ();
-  if (poll1_nowait (0, POLLIN | POLLRDNORM) != 0)
-    failed ("can read after getc");
-}
-#endif
-
-
-/* Test poll(2) for unconnected nonblocking sockets.  */
-
-static void
-test_connect_first (void)
-{
-  int s = open_server_socket ();
-  struct sockaddr_in ia;
-  socklen_t addrlen;
-
-  int c1, c2;
-
-  if (poll1_nowait (s, POLLIN | POLLRDNORM | POLLRDBAND) != 0)
-    failed ("can read, socket not connected");
-
-  c1 = connect_to_socket (false);
-
-  if (poll1_wait (s, POLLIN | POLLRDNORM | POLLRDBAND) != (POLLIN | 
POLLRDNORM))
-    failed ("expecting POLLIN | POLLRDNORM on passive socket");
-  if (poll1_nowait (s, POLLIN | POLLRDBAND) != POLLIN)
-    failed ("expecting POLLIN on passive socket");
-  if (poll1_nowait (s, POLLRDNORM | POLLRDBAND) != POLLRDNORM)
-    failed ("expecting POLLRDNORM on passive socket");
-
-  addrlen = sizeof (ia);
-  c2 = accept (s, (struct sockaddr *) &ia, &addrlen);
-  close (s);
-  close (c1);
-  close (c2);
-}
-
-
-/* Test poll(2) for unconnected blocking sockets.  */
-
-static void
-test_accept_first (void)
-{
-#ifndef WINDOWS_NATIVE
-  int s = open_server_socket ();
-  struct sockaddr_in ia;
-  socklen_t addrlen;
-  char buf[3];
-  int c, pid;
-
-  pid = fork ();
-  if (pid < 0)
-    return;
-
-  if (pid == 0)
-    {
-      addrlen = sizeof (ia);
-      c = accept (s, (struct sockaddr *) &ia, &addrlen);
-      ASSERT (c >= 0);
-      close (s);
-      ASSERT (write (c, "foo", 3) == 3);
-      ASSERT (read (c, buf, 3) == 3);
-      shutdown (c, SHUT_RD);
-      close (c);
-      exit (0);
-    }
-  else
-    {
-      close (s);
-      c = connect_to_socket (true);
-      ASSERT (c >= 0);
-      if (poll1_nowait (c, POLLOUT | POLLWRNORM | POLLRDBAND)
-          != (POLLOUT | POLLWRNORM))
-        failed ("cannot write after blocking connect");
-      ASSERT (write (c, "foo", 3) == 3);
-      wait (&pid);
-      if (poll1_wait (c, POLLIN) != POLLIN)
-        failed ("cannot read data left in the socket by closed process");
-      ASSERT (read (c, buf, 3) == 3);
-      ASSERT (write (c, "foo", 3) == 3);
-      if ((poll1_wait (c, POLLIN | POLLOUT) & (POLLHUP | POLLERR)) == 0)
-        failed ("expecting POLLHUP after shutdown");
-      close (c);
-    }
-#endif
-}
-
-
-/* Common code for pipes and connected sockets.  */
-
-static void
-test_pair (int rd, int wd)
-{
-  char buf[3];
-  if (poll1_wait (wd, POLLIN | POLLRDNORM | POLLOUT | POLLWRNORM | POLLRDBAND)
-      != (POLLOUT | POLLWRNORM))
-    failed ("expecting POLLOUT | POLLWRNORM before writing");
-  if (poll1_nowait (wd, POLLIN | POLLRDNORM | POLLOUT | POLLRDBAND) != POLLOUT)
-    failed ("expecting POLLOUT before writing");
-  if (poll1_nowait (wd, POLLIN | POLLRDNORM | POLLWRNORM | POLLRDBAND)
-      != POLLWRNORM)
-    failed ("expecting POLLWRNORM before writing");
-
-  ASSERT (write (wd, "foo", 3) == 3);
-  if (poll1_wait (rd, POLLIN | POLLRDNORM) != (POLLIN | POLLRDNORM))
-    failed ("expecting POLLIN | POLLRDNORM after writing");
-  if (poll1_nowait (rd, POLLIN) != POLLIN)
-    failed ("expecting POLLIN after writing");
-  if (poll1_nowait (rd, POLLRDNORM) != POLLRDNORM)
-    failed ("expecting POLLRDNORM after writing");
-
-  ASSERT (read (rd, buf, 3) == 3);
-}
-
-
-/* Test poll(2) on connected sockets.  */
-
-static void
-test_socket_pair (void)
-{
-  struct sockaddr_in ia;
-
-  socklen_t addrlen = sizeof (ia);
-  int s = open_server_socket ();
-  int c1 = connect_to_socket (false);
-  int c2 = accept (s, (struct sockaddr *) &ia, &addrlen);
-  ASSERT (s >= 0);
-  ASSERT (c1 >= 0);
-  ASSERT (c2 >= 0);
-
-  close (s);
-
-  test_pair (c1, c2);
-  close (c1);
-  ASSERT (write (c2, "foo", 3) == 3);
-  if ((poll1_nowait (c2, POLLIN | POLLOUT) & (POLLHUP | POLLERR)) == 0)
-    failed ("expecting POLLHUP after shutdown");
-
-  close (c2);
-}
-
-
-/* Test poll(2) on pipes.  */
-
-static void
-test_pipe (void)
-{
-  int fd[2];
-
-  ASSERT (pipe (fd) >= 0);
-  test_pair (fd[0], fd[1]);
-  close (fd[0]);
-  if ((poll1_wait (fd[1], POLLIN | POLLOUT) & (POLLHUP | POLLERR)) == 0)
-    failed ("expecting POLLHUP after shutdown");
-
-  close (fd[1]);
-}
-
-
-/* Do them all.  */
-
-int
-main ()
-{
-  int result;
-
-#ifdef INTERACTIVE
-  printf ("Please press Enter\n");
-  test (test_tty, "TTY");
-#endif
-
-  result = test (test_connect_first, "Unconnected socket test");
-  result += test (test_socket_pair, "Connected sockets test");
-  result += test (test_accept_first, "General socket test with fork");
-  /* GNU SASL doesn't use poll on pipes.  The pipe test breaks Wine,
-     see <http://bugs.winehq.org/show_bug.cgi?id=15272>.
-
-  result += test (test_pipe, "Pipe test");
-  */
-
-  exit (result);
-}
diff --git a/gltests/test-select-fd.c b/gltests/test-select-fd.c
deleted file mode 100644
index 32df4b7..0000000
--- a/gltests/test-select-fd.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Test of select() substitute, reading or writing from a given file 
descriptor.
-   Copyright (C) 2008-2012 Free Software Foundation, Inc.
-
-   This program is free software: you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-/* Written by Bruno Haible <address@hidden>, 2008.  */
-
-#include <config.h>
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/select.h>
-
-int
-main (int argc, char *argv[])
-{
-  if (argc == 4)
-    {
-      char mode = argv[1][0];
-
-      if (mode == 'r' || mode == 'w')
-        {
-          int fd = atoi (argv[2]);
-
-          if (fd >= 0)
-            {
-              const char *result_file_name = argv[3];
-              FILE *result_file = fopen (result_file_name, "wb");
-
-              if (result_file != NULL)
-                {
-                  fd_set fds;
-                  struct timeval timeout;
-                  int ret;
-
-                  FD_ZERO (&fds);
-                  FD_SET (fd, &fds);
-                  timeout.tv_sec = 0;
-                  timeout.tv_usec = 10000;
-                  ret = (mode == 'r'
-                         ? select (fd + 1, &fds, NULL, NULL, &timeout)
-                         : select (fd + 1, NULL, &fds, NULL, &timeout));
-                  if (ret < 0)
-                    {
-                      perror ("select failed");
-                      exit (1);
-                    }
-                  if ((ret == 0) != ! FD_ISSET (fd, &fds))
-                    {
-                      fprintf (stderr, "incorrect return value\n");
-                      exit (1);
-                    }
-                  fprintf (result_file, "%d\n", ret);
-                  exit (0);
-                }
-            }
-        }
-    }
-  fprintf (stderr, "Usage: test-select-fd mode fd result-file-name\n");
-  exit (1);
-}
diff --git a/gltests/test-select-in.sh b/gltests/test-select-in.sh
deleted file mode 100755
index 2a8b742..0000000
--- a/gltests/test-select-in.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/bin/sh
-# Test select() on file descriptors opened for reading.
-
-# This test is known to fail on Solaris 2.6 and older, due to its handling
-# of /dev/null.
-
-tmpfiles=""
-trap 'rm -fr $tmpfiles' 1 2 3 15
-
-tmpfiles="$tmpfiles t-select-in.tmp"
-
-# Regular files.
-
-rm -f t-select-in.tmp
-./test-select-fd${EXEEXT} r 0 t-select-in.tmp < ./test-select-fd${EXEEXT}
-test `cat t-select-in.tmp` = "1" || exit 1
-
-# Pipes.
-
-rm -f t-select-in.tmp
-{ sleep 1; echo abc; } | \
-  { ./test-select-fd${EXEEXT} r 0 t-select-in.tmp; cat > /dev/null; }
-test `cat t-select-in.tmp` = "0" || exit 1
-
-rm -f t-select-in.tmp
-echo abc | { sleep 1; ./test-select-fd${EXEEXT} r 0 t-select-in.tmp; }
-test `cat t-select-in.tmp` = "1" || exit 1
-
-# Special files.
-# This part of the test is known to fail on Solaris 2.6 and older.
-
-# Doesn't work under mingw -- address@hidden
-#rm -f t-select-in.tmp
-#./test-select-fd${EXEEXT} r 0 t-select-in.tmp < /dev/null
-#test `cat t-select-in.tmp` = "1" || exit 1
-
-rm -fr $tmpfiles
-
-exit 0
diff --git a/gltests/test-select-out.sh b/gltests/test-select-out.sh
deleted file mode 100755
index c5fd861..0000000
--- a/gltests/test-select-out.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/sh
-# Test select() on file descriptors opened for writing.
-
-tmpfiles=""
-trap 'rm -fr $tmpfiles' 1 2 3 15
-
-tmpfiles="$tmpfiles t-select-out.out t-select-out.tmp"
-
-# Regular files.
-
-rm -f t-select-out.tmp
-./test-select-fd${EXEEXT} w 1 t-select-out.tmp > t-select-out.out
-test `cat t-select-out.tmp` = "1" || exit 1
-
-# Pipes.
-
-if false; then # This test fails on some platforms.
-  rm -f t-select-out.tmp
-  ( { echo abc; ./test-select-fd${EXEEXT} w 1 t-select-out.tmp; } | { sleep 1; 
cat; } ) > /dev/null
-  test `cat t-select-out.tmp` = "0" || exit 1
-fi
-
-rm -f t-select-out.tmp
-( { sleep 1; echo abc; ./test-select-fd${EXEEXT} w 1 t-select-out.tmp; } | 
cat) > /dev/null
-test `cat t-select-out.tmp` = "1" || exit 1
-
-# Special files.
-
-rm -f t-select-out.tmp
-./test-select-fd${EXEEXT} w 1 t-select-out.tmp > /dev/null
-test `cat t-select-out.tmp` = "1" || exit 1
-
-rm -fr $tmpfiles
-
-exit 0
diff --git a/gltests/test-select-stdin.c b/gltests/test-select-stdin.c
deleted file mode 100644
index 75dd855..0000000
--- a/gltests/test-select-stdin.c
+++ /dev/null
@@ -1,83 +0,0 @@
-/* Test of select() substitute, reading from stdin.
-   Copyright (C) 2008-2012 Free Software Foundation, Inc.
-
-   This program is free software: you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-/* Written by Bruno Haible <address@hidden>, 2008.  */
-
-#include <config.h>
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/select.h>
-#include <sys/time.h>
-#include <unistd.h>
-
-#include "macros.h"
-
-int
-main (void)
-{
-  printf ("Applying select() from standard input. Press Ctrl-C to abort.\n");
-  for (;;)
-    {
-      struct timeval before;
-      struct timeval after;
-      unsigned long spent_usec;
-      fd_set readfds;
-      struct timeval timeout;
-      int ret;
-
-      gettimeofday (&before, NULL);
-
-      FD_ZERO (&readfds);
-      FD_SET (0, &readfds);
-      timeout.tv_sec = 0;
-      timeout.tv_usec = 500000;
-      ret = select (1, &readfds, NULL, NULL, &timeout);
-
-      gettimeofday (&after, NULL);
-      spent_usec = (after.tv_sec - before.tv_sec) * 1000000
-                   + after.tv_usec - before.tv_usec;
-
-      if (ret < 0)
-        {
-          perror ("select failed");
-          exit (1);
-        }
-      if ((ret == 0) != ! FD_ISSET (0, &readfds))
-        {
-          fprintf (stderr, "incorrect return value\n");
-          exit (1);
-        }
-      if (ret == 0)
-        {
-          if (spent_usec < 250000)
-            {
-              fprintf (stderr, "returned too early\n");
-              exit (1);
-            }
-          /* Timeout */
-          printf (".");
-          ASSERT (fflush (stdout) == 0);
-        }
-      else
-        {
-          char c;
-
-          printf ("Input available! Trying to read 1 byte...\n");
-          ASSERT (read (0, &c, 1) == 1);
-        }
-    }
-}
diff --git a/gltests/test-select.c b/gltests/test-select.c
deleted file mode 100644
index f6e193e..0000000
--- a/gltests/test-select.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Test of select() substitute.
-   Copyright (C) 2008-2012 Free Software Foundation, Inc.
-
-   This program is free software: you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-/* Written by Paolo Bonzini, 2008.  */
-
-#include <config.h>
-
-#include <sys/select.h>
-
-#include "signature.h"
-
-SIGNATURE_CHECK (select, int, (int, fd_set *, fd_set *, fd_set *,
-                               struct timeval *));
-
-#include "test-select.h"
-
-int
-main (void)
-{
-  return test_function (select);
-}
diff --git a/gltests/test-select.h b/gltests/test-select.h
deleted file mode 100644
index 9fe998c..0000000
--- a/gltests/test-select.h
+++ /dev/null
@@ -1,436 +0,0 @@
-/* Test of select() substitute.
-   Copyright (C) 2008-2012 Free Software Foundation, Inc.
-
-   This program is free software: you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-/* Written by Paolo Bonzini, 2008.  */
-
-#include <stdio.h>
-#include <string.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <stdlib.h>
-#include <stdbool.h>
-#include <sys/ioctl.h>
-#include <errno.h>
-
-#include "macros.h"
-
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-# define WINDOWS_NATIVE
-#endif
-
-#ifdef HAVE_SYS_WAIT_H
-# include <sys/wait.h>
-#endif
-
-#ifndef SO_REUSEPORT
-# define SO_REUSEPORT    SO_REUSEADDR
-#endif
-
-#define TEST_PORT       12345
-
-
-typedef int (*select_fn) (int, fd_set *, fd_set *, fd_set *, struct timeval *);
-
-
-/* Minimal testing infrastructure.  */
-
-static int failures;
-
-static void
-failed (const char *reason)
-{
-  if (++failures > 1)
-    printf ("  ");
-  printf ("failed (%s)\n", reason);
-}
-
-static int
-test (void (*fn) (select_fn), select_fn my_select, const char *msg)
-{
-  failures = 0;
-  printf ("%s... ", msg);
-  fflush (stdout);
-  fn (my_select);
-
-  if (!failures)
-    printf ("passed\n");
-
-  return failures;
-}
-
-
-/* Funny socket code.  */
-
-static int
-open_server_socket (void)
-{
-  int s, x;
-  struct sockaddr_in ia;
-
-  s = socket (AF_INET, SOCK_STREAM, 0);
-
-  memset (&ia, 0, sizeof (ia));
-  ia.sin_family = AF_INET;
-  inet_pton (AF_INET, "127.0.0.1", &ia.sin_addr);
-  ia.sin_port = htons (TEST_PORT);
-  if (bind (s, (struct sockaddr *) &ia, sizeof (ia)) < 0)
-    {
-      perror ("bind");
-      exit (77);
-    }
-
-  x = 1;
-  setsockopt (s, SOL_SOCKET, SO_REUSEPORT, &x, sizeof (x));
-
-  if (listen (s, 1) < 0)
-    {
-      perror ("listen");
-      exit (77);
-    }
-
-  return s;
-}
-
-static int
-connect_to_socket (bool blocking)
-{
-  int s;
-  struct sockaddr_in ia;
-
-  s = socket (AF_INET, SOCK_STREAM, 0);
-
-  memset (&ia, 0, sizeof (ia));
-  ia.sin_family = AF_INET;
-  inet_pton (AF_INET, "127.0.0.1", &ia.sin_addr);
-  ia.sin_port = htons (TEST_PORT);
-
-  if (!blocking)
-    {
-#ifdef WINDOWS_NATIVE
-      unsigned long iMode = 1;
-      ioctl (s, FIONBIO, (char *) &iMode);
-
-#elif defined F_GETFL
-      int oldflags = fcntl (s, F_GETFL, NULL);
-
-      if (!(oldflags & O_NONBLOCK))
-        fcntl (s, F_SETFL, oldflags | O_NONBLOCK);
-#endif
-    }
-
-  if (connect (s, (struct sockaddr *) &ia, sizeof (ia)) < 0
-      && (blocking || errno != EINPROGRESS))
-    {
-      perror ("connect");
-      exit (77);
-    }
-
-  return s;
-}
-
-
-/* A slightly more convenient interface to select(2).
-   Waits until a specific event occurs on a file descriptor FD.
-   EV is a bit mask of events to look for:
-     SEL_IN - input can be polled without blocking,
-     SEL_OUT - output can be provided without blocking,
-     SEL_EXC - an exception occurred,
-   A maximum wait time is specified by TIMEOUT.
-   *TIMEOUT = { 0, 0 } means to return immediately,
-   TIMEOUT = NULL means to wait indefinitely.  */
-
-enum { SEL_IN = 1, SEL_OUT = 2, SEL_EXC = 4 };
-
-static int
-do_select (int fd, int ev, struct timeval *timeout, select_fn my_select)
-{
-  fd_set rfds, wfds, xfds;
-  int r, rev;
-
-  FD_ZERO (&rfds);
-  FD_ZERO (&wfds);
-  FD_ZERO (&xfds);
-  if (ev & SEL_IN)
-    FD_SET (fd, &rfds);
-  if (ev & SEL_OUT)
-    FD_SET (fd, &wfds);
-  if (ev & SEL_EXC)
-    FD_SET (fd, &xfds);
-  r = my_select (fd + 1, &rfds, &wfds, &xfds, timeout);
-  if (r < 0)
-    return r;
-
-  rev = 0;
-  if (FD_ISSET (fd, &rfds))
-    rev |= SEL_IN;
-  if (FD_ISSET (fd, &wfds))
-    rev |= SEL_OUT;
-  if (FD_ISSET (fd, &xfds))
-    rev |= SEL_EXC;
-  if (rev && r == 0)
-    failed ("select returned 0");
-  if (rev & ~ev)
-    failed ("select returned unrequested events");
-
-  return rev;
-}
-
-static int
-do_select_nowait (int fd, int ev, select_fn my_select)
-{
-  struct timeval tv0;
-  tv0.tv_sec = 0;
-  tv0.tv_usec = 0;
-  return do_select (fd, ev, &tv0, my_select);
-}
-
-static int
-do_select_wait (int fd, int ev, select_fn my_select)
-{
-  return do_select (fd, ev, NULL, my_select);
-}
-
-
-/* Test select(2) for TTYs.  */
-
-#ifdef INTERACTIVE
-static void
-test_tty (select_fn my_select)
-{
-  if (do_select_nowait (0, SEL_IN, my_select) != 0)
-    failed ("can read");
-  if (do_select_nowait (0, SEL_OUT, my_select) == 0)
-    failed ("cannot write");
-
-  if (do_select_wait (0, SEL_IN, my_select) == 0)
-    failed ("return with infinite timeout");
-
-  getchar ();
-  if (do_select_nowait (0, SEL_IN, my_select) != 0)
-    failed ("can read after getc");
-}
-#endif
-
-
-/* Test select(2) on invalid file descriptors.  */
-
-static int
-do_select_bad_fd (int fd, int ev, struct timeval *timeout, select_fn my_select)
-{
-  fd_set rfds, wfds, xfds;
-
-  FD_ZERO (&rfds);
-  FD_ZERO (&wfds);
-  FD_ZERO (&xfds);
-  if (ev & SEL_IN)
-    FD_SET (fd, &rfds);
-  if (ev & SEL_OUT)
-    FD_SET (fd, &wfds);
-  if (ev & SEL_EXC)
-    FD_SET (fd, &xfds);
-  return my_select (fd + 1, &rfds, &wfds, &xfds, timeout);
-  /* In this case, when fd is invalid, on some platforms, the bit for fd
-     is left alone in the fd_set, whereas on other platforms it is cleared.
-     So, don't check the bit for fd here.  */
-}
-
-static int
-do_select_bad_fd_nowait (int fd, int ev, select_fn my_select)
-{
-  struct timeval tv0;
-  tv0.tv_sec = 0;
-  tv0.tv_usec = 0;
-  return do_select_bad_fd (fd, ev, &tv0, my_select);
-}
-
-static void
-test_bad_fd (select_fn my_select)
-{
-  /* This tests fails on OSF/1 and native Windows, even with fd = 16.  */
-#if !(defined __osf__ || defined WINDOWS_NATIVE)
-  int fd;
-
-  /* On Linux, MacOS X, *BSD, values of fd like 99 or 399 are discarded
-     by the kernel early and therefore do *not* lead to EBADF, as required
-     by POSIX.  */
-# if defined __linux__ || (defined __APPLE__ && defined __MACH__) || defined 
__FreeBSD__ || defined __OpenBSD__ || defined __NetBSD__
-  fd = 16;
-# else
-  fd = 99;
-# endif
-
-  if (do_select_bad_fd_nowait (fd, SEL_IN, my_select) == 0 || errno != EBADF)
-    failed ("invalid fd among rfds");
-  if (do_select_bad_fd_nowait (fd, SEL_OUT, my_select) == 0 || errno != EBADF)
-    failed ("invalid fd among wfds");
-  if (do_select_bad_fd_nowait (fd, SEL_EXC, my_select) == 0 || errno != EBADF)
-    failed ("invalid fd among xfds");
-#endif
-}
-
-
-/* Test select(2) for unconnected nonblocking sockets.  */
-
-static void
-test_connect_first (select_fn my_select)
-{
-  int s = open_server_socket ();
-  struct sockaddr_in ia;
-  socklen_t addrlen;
-
-  int c1, c2;
-
-  if (do_select_nowait (s, SEL_IN | SEL_EXC, my_select) != 0)
-    failed ("can read, socket not connected");
-
-  c1 = connect_to_socket (false);
-
-  if (do_select_wait (s, SEL_IN | SEL_EXC, my_select) != SEL_IN)
-    failed ("expecting readability on passive socket");
-  if (do_select_nowait (s, SEL_IN | SEL_EXC, my_select) != SEL_IN)
-    failed ("expecting readability on passive socket");
-
-  addrlen = sizeof (ia);
-  c2 = accept (s, (struct sockaddr *) &ia, &addrlen);
-  ASSERT (close (s) == 0);
-  ASSERT (close (c1) == 0);
-  ASSERT (close (c2) == 0);
-}
-
-
-/* Test select(2) for unconnected blocking sockets.  */
-
-static void
-test_accept_first (select_fn my_select)
-{
-#ifndef WINDOWS_NATIVE
-  int s = open_server_socket ();
-  struct sockaddr_in ia;
-  socklen_t addrlen;
-  char buf[3];
-  int c, pid;
-
-  pid = fork ();
-  if (pid < 0)
-    return;
-
-  if (pid == 0)
-    {
-      addrlen = sizeof (ia);
-      c = accept (s, (struct sockaddr *) &ia, &addrlen);
-      ASSERT (close (s) == 0);
-      ASSERT (write (c, "foo", 3) == 3);
-      ASSERT (read (c, buf, 3) == 3);
-      shutdown (c, SHUT_RD);
-      ASSERT (close (c) == 0);
-      exit (0);
-    }
-  else
-    {
-      ASSERT (close (s) == 0);
-      c = connect_to_socket (true);
-      if (do_select_nowait (c, SEL_OUT, my_select) != SEL_OUT)
-        failed ("cannot write after blocking connect");
-      ASSERT (write (c, "foo", 3) == 3);
-      wait (&pid);
-      if (do_select_wait (c, SEL_IN, my_select) != SEL_IN)
-        failed ("cannot read data left in the socket by closed process");
-      ASSERT (read (c, buf, 3) == 3);
-      ASSERT (write (c, "foo", 3) == 3);
-      (void) close (c); /* may fail with errno = ECONNRESET */
-    }
-#endif
-}
-
-
-/* Common code for pipes and connected sockets.  */
-
-static void
-test_pair (int rd, int wd, select_fn my_select)
-{
-  char buf[3];
-  if (do_select_wait (wd, SEL_IN | SEL_OUT | SEL_EXC, my_select) != SEL_OUT)
-    failed ("expecting writability before writing");
-  if (do_select_nowait (wd, SEL_IN | SEL_OUT | SEL_EXC, my_select) != SEL_OUT)
-    failed ("expecting writability before writing");
-
-  ASSERT (write (wd, "foo", 3) == 3);
-  if (do_select_wait (rd, SEL_IN, my_select) != SEL_IN)
-    failed ("expecting readability after writing");
-  if (do_select_nowait (rd, SEL_IN, my_select) != SEL_IN)
-    failed ("expecting readability after writing");
-
-  ASSERT (read (rd, buf, 3) == 3);
-}
-
-
-/* Test select(2) on connected sockets.  */
-
-static void
-test_socket_pair (select_fn my_select)
-{
-  struct sockaddr_in ia;
-
-  socklen_t addrlen = sizeof (ia);
-  int s = open_server_socket ();
-  int c1 = connect_to_socket (false);
-  int c2 = accept (s, (struct sockaddr *) &ia, &addrlen);
-
-  ASSERT (close (s) == 0);
-
-  test_pair (c1, c2, my_select);
-  ASSERT (close (c1) == 0);
-  ASSERT (write (c2, "foo", 3) == 3);
-  (void) close (c2); /* may fail with errno = ECONNRESET */
-}
-
-
-/* Test select(2) on pipes.  */
-
-static void
-test_pipe (select_fn my_select)
-{
-  int fd[2];
-
-  ASSERT (pipe (fd) == 0);
-  test_pair (fd[0], fd[1], my_select);
-  ASSERT (close (fd[0]) == 0);
-  ASSERT (close (fd[1]) == 0);
-}
-
-
-/* Do them all.  */
-
-static int
-test_function (select_fn my_select)
-{
-  int result = 0;
-
-#ifdef INTERACTIVE
-  printf ("Please press Enter\n");
-  test (test_tty, "TTY", my_select);
-#endif
-
-  result += test (test_bad_fd, my_select, "Invalid fd test");
-  result += test (test_connect_first, my_select, "Unconnected socket test");
-  result += test (test_socket_pair, my_select, "Connected sockets test");
-  result += test (test_accept_first, my_select, "General socket test with 
fork");
-  result += test (test_pipe, my_select, "Pipe test");
-
-  return result;
-}
diff --git a/gltests/test-setsockopt.c b/gltests/test-setsockopt.c
deleted file mode 100644
index c14d217..0000000
--- a/gltests/test-setsockopt.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Test setsockopt() function.
-   Copyright (C) 2011-2012 Free Software Foundation, Inc.
-
-   This program is free software: you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include <config.h>
-
-#include <sys/socket.h>
-
-#include "signature.h"
-SIGNATURE_CHECK (setsockopt, int, (int, int, int, const void *, socklen_t));
-
-#include <errno.h>
-
-#include "sockets.h"
-#include "macros.h"
-
-int
-main (void)
-{
-  (void) gl_sockets_startup (SOCKETS_1_1);
-
-  /* Test behaviour for invalid file descriptors.  */
-  {
-    int value = 1;
-
-    errno = 0;
-    ASSERT (setsockopt (-1, SOL_SOCKET, SO_REUSEADDR, &value, sizeof (value))
-            == -1);
-    ASSERT (errno == EBADF);
-  }
-  {
-    int value = 1;
-
-    errno = 0;
-    ASSERT (setsockopt (99, SOL_SOCKET, SO_REUSEADDR, &value, sizeof (value))
-            == -1);
-    ASSERT (errno == EBADF);
-  }
-
-  return 0;
-}
diff --git a/gltests/test-strerror_r.c b/gltests/test-strerror_r.c
deleted file mode 100644
index e164f0a..0000000
--- a/gltests/test-strerror_r.c
+++ /dev/null
@@ -1,181 +0,0 @@
-/* Test of strerror_r() function.
-   Copyright (C) 2007-2012 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
-
-#include <config.h>
-
-#include <string.h>
-
-#include "signature.h"
-SIGNATURE_CHECK (strerror_r, int, (int, char *, size_t));
-
-#include <errno.h>
-
-#include "macros.h"
-
-int
-main (void)
-{
-  char buf[100];
-  int ret;
-
-  /* Test results with valid errnum and enough room.  */
-
-  errno = 0;
-  buf[0] = '\0';
-  ASSERT (strerror_r (EACCES, buf, sizeof buf) == 0);
-  ASSERT (buf[0] != '\0');
-  ASSERT (errno == 0);
-  ASSERT (strlen (buf) < sizeof buf);
-
-  errno = 0;
-  buf[0] = '\0';
-  ASSERT (strerror_r (ETIMEDOUT, buf, sizeof buf) == 0);
-  ASSERT (buf[0] != '\0');
-  ASSERT (errno == 0);
-  ASSERT (strlen (buf) < sizeof buf);
-
-  errno = 0;
-  buf[0] = '\0';
-  ASSERT (strerror_r (EOVERFLOW, buf, sizeof buf) == 0);
-  ASSERT (buf[0] != '\0');
-  ASSERT (errno == 0);
-  ASSERT (strlen (buf) < sizeof buf);
-
-  /* POSIX requires strerror (0) to succeed.  Reject use of "Unknown
-     error", but allow "Success", "No error", or even Solaris' "Error
-     0" which are distinct patterns from true out-of-range strings.
-     http://austingroupbugs.net/view.php?id=382  */
-  errno = 0;
-  buf[0] = '\0';
-  ret = strerror_r (0, buf, sizeof buf);
-  ASSERT (ret == 0);
-  ASSERT (buf[0]);
-  ASSERT (errno == 0);
-  ASSERT (strstr (buf, "nknown") == NULL);
-  ASSERT (strstr (buf, "ndefined") == NULL);
-
-  /* Test results with out-of-range errnum and enough room.  POSIX
-     allows an empty string on success, and allows an unchanged buf on
-     error, but these are not useful, so we guarantee contents.  */
-  errno = 0;
-  buf[0] = '^';
-  ret = strerror_r (-3, buf, sizeof buf);
-  ASSERT (ret == 0 || ret == EINVAL);
-  ASSERT (buf[0] != '^');
-  ASSERT (*buf);
-  ASSERT (errno == 0);
-  ASSERT (strlen (buf) < sizeof buf);
-
-  /* Test results with a too small buffer.  POSIX requires an error;
-     only ERANGE for 0 and valid errors, and a choice of ERANGE or
-     EINVAL for out-of-range values.  On error, POSIX permits buf to
-     be empty, unchanged, or unterminated, but these are not useful,
-     so we guarantee NUL-terminated truncated contents for all but
-     size 0.  http://austingroupbugs.net/view.php?id=398.  Also ensure
-     that no out-of-bounds writes occur.  */
-  {
-    int errs[] = { EACCES, 0, -3, };
-    int j;
-
-    buf[sizeof buf - 1] = '\0';
-    for (j = 0; j < SIZEOF (errs); j++)
-      {
-        int err = errs[j];
-        char buf2[sizeof buf] = "";
-        size_t len;
-        size_t i;
-
-        strerror_r (err, buf2, sizeof buf2);
-        len = strlen (buf2);
-        ASSERT (len < sizeof buf);
-
-        for (i = 0; i <= len; i++)
-          {
-            memset (buf, '^', sizeof buf - 1);
-            errno = 0;
-            ret = strerror_r (err, buf, i);
-            ASSERT (errno == 0);
-            if (err < 0)
-              ASSERT (ret == ERANGE || ret == EINVAL);
-            else
-              ASSERT (ret == ERANGE);
-            if (i)
-              {
-                ASSERT (strncmp (buf, buf2, i - 1) == 0);
-                ASSERT (buf[i - 1] == '\0');
-              }
-            ASSERT (strspn (buf + i, "^") == sizeof buf - 1 - i);
-          }
-
-        strcpy (buf, "BADFACE");
-        errno = 0;
-        ret = strerror_r (err, buf, len + 1);
-        ASSERT (ret != ERANGE);
-        ASSERT (errno == 0);
-        ASSERT (strcmp (buf, buf2) == 0);
-      }
-  }
-
-#if GNULIB_STRERROR
-  /* Test that strerror_r does not clobber strerror buffer.  On some
-     platforms, this test can only succeed if gnulib also replaces
-     strerror.  */
-  {
-    const char *msg1;
-    const char *msg2;
-    const char *msg3;
-    const char *msg4;
-    char *str1;
-    char *str2;
-    char *str3;
-    char *str4;
-
-    msg1 = strerror (ENOENT);
-    ASSERT (msg1);
-    str1 = strdup (msg1);
-    ASSERT (str1);
-
-    msg2 = strerror (ERANGE);
-    ASSERT (msg2);
-    str2 = strdup (msg2);
-    ASSERT (str2);
-
-    msg3 = strerror (-4);
-    ASSERT (msg3);
-    str3 = strdup (msg3);
-    ASSERT (str3);
-
-    msg4 = strerror (1729576);
-    ASSERT (msg4);
-    str4 = strdup (msg4);
-    ASSERT (str4);
-
-    strerror_r (EACCES, buf, sizeof buf);
-    strerror_r (-5, buf, sizeof buf);
-    ASSERT (msg1 == msg2 || msg1 == msg4 || STREQ (msg1, str1));
-    ASSERT (msg2 == msg4 || STREQ (msg2, str2));
-    ASSERT (msg3 == msg4 || STREQ (msg3, str3));
-    ASSERT (STREQ (msg4, str4));
-
-    free (str1);
-    free (str2);
-    free (str3);
-    free (str4);
-  }
-#endif
-
-  return 0;
-}
diff --git a/gltests/test-sys_ioctl.c b/gltests/test-sys_ioctl.c
deleted file mode 100644
index 725cabf..0000000
--- a/gltests/test-sys_ioctl.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Test of <sys/ioctl.h> substitute.
-   Copyright (C) 2009-2012 Free Software Foundation, Inc.
-
-   This program is free software: you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-/* Written by Eric Blake <address@hidden>, 2009.  */
-
-#include <config.h>
-
-#include <sys/ioctl.h>
-
-int
-main (void)
-{
-  return 0;
-}
diff --git a/gltests/w32sock.h b/gltests/w32sock.h
deleted file mode 100644
index ef0b593..0000000
--- a/gltests/w32sock.h
+++ /dev/null
@@ -1,136 +0,0 @@
-/* w32sock.h --- internal auxiliary functions for Windows socket functions
-
-   Copyright (C) 2008-2012 Free Software Foundation, Inc.
-
-   This program is free software: you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-/* Written by Paolo Bonzini */
-
-#include <errno.h>
-
-/* Get O_RDWR and O_BINARY.  */
-#include <fcntl.h>
-
-/* Get _open_osfhandle().  */
-#include <io.h>
-
-/* Get _get_osfhandle().  */
-#include "msvc-nothrow.h"
-
-#define FD_TO_SOCKET(fd)   ((SOCKET) _get_osfhandle ((fd)))
-#define SOCKET_TO_FD(fh)   (_open_osfhandle ((intptr_t) (fh), O_RDWR | 
O_BINARY))
-
-static inline void
-set_winsock_errno (void)
-{
-  int err = WSAGetLastError ();
-
-  /* Map some WSAE* errors to the runtime library's error codes.  */
-  switch (err)
-    {
-    case WSA_INVALID_HANDLE:
-      errno = EBADF;
-      break;
-    case WSA_NOT_ENOUGH_MEMORY:
-      errno = ENOMEM;
-      break;
-    case WSA_INVALID_PARAMETER:
-      errno = EINVAL;
-      break;
-    case WSAENAMETOOLONG:
-      errno = ENAMETOOLONG;
-      break;
-    case WSAENOTEMPTY:
-      errno = ENOTEMPTY;
-      break;
-    case WSAEWOULDBLOCK:
-      errno = EWOULDBLOCK;
-      break;
-    case WSAEINPROGRESS:
-      errno = EINPROGRESS;
-      break;
-    case WSAEALREADY:
-      errno = EALREADY;
-      break;
-    case WSAENOTSOCK:
-      errno = ENOTSOCK;
-      break;
-    case WSAEDESTADDRREQ:
-      errno = EDESTADDRREQ;
-      break;
-    case WSAEMSGSIZE:
-      errno = EMSGSIZE;
-      break;
-    case WSAEPROTOTYPE:
-      errno = EPROTOTYPE;
-      break;
-    case WSAENOPROTOOPT:
-      errno = ENOPROTOOPT;
-      break;
-    case WSAEPROTONOSUPPORT:
-      errno = EPROTONOSUPPORT;
-      break;
-    case WSAEOPNOTSUPP:
-      errno = EOPNOTSUPP;
-      break;
-    case WSAEAFNOSUPPORT:
-      errno = EAFNOSUPPORT;
-      break;
-    case WSAEADDRINUSE:
-      errno = EADDRINUSE;
-      break;
-    case WSAEADDRNOTAVAIL:
-      errno = EADDRNOTAVAIL;
-      break;
-    case WSAENETDOWN:
-      errno = ENETDOWN;
-      break;
-    case WSAENETUNREACH:
-      errno = ENETUNREACH;
-      break;
-    case WSAENETRESET:
-      errno = ENETRESET;
-      break;
-    case WSAECONNABORTED:
-      errno = ECONNABORTED;
-      break;
-    case WSAECONNRESET:
-      errno = ECONNRESET;
-      break;
-    case WSAENOBUFS:
-      errno = ENOBUFS;
-      break;
-    case WSAEISCONN:
-      errno = EISCONN;
-      break;
-    case WSAENOTCONN:
-      errno = ENOTCONN;
-      break;
-    case WSAETIMEDOUT:
-      errno = ETIMEDOUT;
-      break;
-    case WSAECONNREFUSED:
-      errno = ECONNREFUSED;
-      break;
-    case WSAELOOP:
-      errno = ELOOP;
-      break;
-    case WSAEHOSTUNREACH:
-      errno = EHOSTUNREACH;
-      break;
-    default:
-      errno = (err > 10000 && err < 10025) ? err - 10000 : err;
-      break;
-    }
-}
diff --git a/lib/NEWS b/lib/NEWS
index b27d950..bfd1a40 100644
--- a/lib/NEWS
+++ b/lib/NEWS
@@ -2,6 +2,12 @@ GNU SASL LIBRARY NEWS -- History of user-visible changes.
 Copyright (C) 2002-2012 Simon Josefsson
 See the end for copying conditions.
 
+* Version 1.7.5 (unreleased) [alpha]
+
+** i18n: Updated translations.
+
+** Build fixes.
+
 * Version 1.7.4 (released 2012-05-16) [alpha]
 
 ** libgsasl: Reverted unification of OpenID and SAML properties/callbacks.
diff --git a/lib/configure.ac b/lib/configure.ac
index 70f4243..e85d652 100644
--- a/lib/configure.ac
+++ b/lib/configure.ac
@@ -20,7 +20,7 @@ dnl Process this file with autoconf to produce a configure 
script.
 # MA 02110-1301, USA.
 
 AC_PREREQ(2.61)
-AC_INIT([libgsasl], [1.7.4], address@hidden)
+AC_INIT([libgsasl], [1.7.5], address@hidden)
 AC_CONFIG_AUX_DIR([build-aux])
 AC_CONFIG_MACRO_DIR([m4])
 
@@ -29,7 +29,7 @@ AC_CONFIG_MACRO_DIR([m4])
 # Interfaces added:                             AGE++
 # Interfaces removed:                           AGE=0
 AC_SUBST(LT_CURRENT, 16)
-AC_SUBST(LT_REVISION, 3)
+AC_SUBST(LT_REVISION, 4)
 AC_SUBST(LT_AGE, 9)
 
 # Used when creating libgsasl-XX.def.
@@ -278,16 +278,8 @@ gss_check_version (0);
     gssapi_impl=no
   else
     AC_MSG_WARN([GNU GSS not found (see http://www.gnu.org/software/gss/)...])
-    AC_PATH_PROG(KRB5_CONFIG, krb5-config, no)
-    if test "$KRB5_CONFIG" != "no" ; then
-      AC_MSG_NOTICE([MIT/Heimdal found])
-      GSS_CFLAGS="`$KRB5_CONFIG --cflags`"
-      GSS_LIBS="`$KRB5_CONFIG --libs gssapi`"
-      gssapi_impl=mitheimdal
-    else
-      gssapi_impl=no
-      AC_MSG_WARN([krb5-config not found, disabling GSSAPI])
-    fi
+    AC_MSG_WARN([Auto-detecting MIT/Heimdal is unreliable, disabling GSSAPI])
+    gssapi_impl=no
   fi
 fi
 
@@ -440,3 +432,32 @@ AC_CONFIG_FILES([
   tests/Makefile
 ])
 AC_OUTPUT
+
+AC_MSG_NOTICE([summary of build options:
+
+  version:            ${VERSION}
+  Host type:          ${host}
+  Install prefix:     ${prefix}
+  Compiler:           ${CC}
+  Warning flags:      $gl_gcc_warnings
+  Library types:      Shared=${enable_shared}, Static=${enable_static}
+  Valgrind:           ${VALGRIND}
+  Obsolete functions: $obsolete
+
+  ANONYMOUS:          $anonymous
+  EXTERNAL:           $external
+  PLAIN:              $plain
+  LOGIN:              $login
+  SECURID:            $securid
+  NTLM:               $ntlm (libs: $LTLIBNTLM)
+  CRAM-MD5:           $cram_md5
+  DIGEST-MD5:         $digest_md5
+  SCRAM-SHA-1:        $scram_sha1
+  SAML20:             $saml20
+  OPENID20:           $openid20
+  GS2:                $gs2
+  GSSAPI:             $gssapi
+
+  Client side:        $client
+  Server side:        $server
+])
diff --git a/lib/digest-md5/test-parser.c b/lib/digest-md5/test-parser.c
index 6f0536c..56cfc29 100644
--- a/lib/digest-md5/test-parser.c
+++ b/lib/digest-md5/test-parser.c
@@ -179,7 +179,10 @@ main (int argc, char *argv[])
 
   rc = gc_init ();
   if (rc != 0)
-    abort ();
+    {
+      printf ("gc_init error %d\n", rc);
+      abort ();
+    }
 
   memset (buf16, 'Q', 16);
 
diff --git a/lib/gl/m4/gc.m4 b/lib/gl/m4/gc.m4
index 7cb727a..173010f 100644
--- a/lib/gl/m4/gc.m4
+++ b/lib/gl/m4/gc.m4
@@ -1,5 +1,5 @@
-# gc.m4 serial 8
-dnl Copyright (C) 2005-2006, 2009-2012 Free Software Foundation, Inc.
+# gc.m4 serial 9
+dnl Copyright (C) 2005-2012 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -10,6 +10,14 @@ AC_DEFUN([gl_GC],
     AS_HELP_STRING([--with-libgcrypt], [use libgcrypt for low-level crypto]),
     libgcrypt=$withval, libgcrypt=yes)
   if test "$libgcrypt" != no; then
-    AC_LIB_HAVE_LINKFLAGS([gcrypt], [gpg-error], [#include <gcrypt.h>])
+    AC_LIB_HAVE_LINKFLAGS([gcrypt], [gpg-error], [
+#include <gcrypt.h>
+/* GCRY_MODULE_ID_USER was added in 1.4.4 and gc-libgcrypt.c
+   will fail on startup if we don't have 1.4.4 or later, so
+   test for it early. */
+#if !defined GCRY_MODULE_ID_USER
+error too old libgcrypt
+#endif
+])
   fi
 ])
diff --git a/lib/gl/md5.c b/lib/gl/md5.c
index 0a932d0..4a62587 100644
--- a/lib/gl/md5.c
+++ b/lib/gl/md5.c
@@ -312,13 +312,13 @@ md5_process_block (const void *buffer, size_t len, struct 
md5_ctx *ctx)
   uint32_t B = ctx->B;
   uint32_t C = ctx->C;
   uint32_t D = ctx->D;
+  uint32_t lolen = len;
 
   /* First increment the byte count.  RFC 1321 specifies the possible
      length of the file up to 2^64 bits.  Here we only compute the
      number of bytes.  Do a double word increment.  */
-  ctx->total[0] += len;
-  if (ctx->total[0] < len)
-    ++ctx->total[1];
+  ctx->total[0] += lolen;
+  ctx->total[1] += (len >> 31 >> 1) + (ctx->total[0] < lolen);
 
   /* Process all bytes in the buffer with 64 bytes in each round of
      the loop.  */
diff --git a/lib/gl/sha1.c b/lib/gl/sha1.c
index d0ce111..66e27c1 100644
--- a/lib/gl/sha1.c
+++ b/lib/gl/sha1.c
@@ -305,13 +305,13 @@ sha1_process_block (const void *buffer, size_t len, 
struct sha1_ctx *ctx)
   uint32_t c = ctx->C;
   uint32_t d = ctx->D;
   uint32_t e = ctx->E;
+  uint32_t lolen = len;
 
   /* First increment the byte count.  RFC 1321 specifies the possible
      length of the file up to 2^64 bits.  Here we only compute the
      number of bytes.  Do a double word increment.  */
-  ctx->total[0] += len;
-  if (ctx->total[0] < len)
-    ++ctx->total[1];
+  ctx->total[0] += lolen;
+  ctx->total[1] += (len >> 31 >> 1) + (ctx->total[0] < lolen);
 
 #define rol(x, n) (((x) << (n)) | ((uint32_t) (x) >> (32 - (n))))
 
diff --git a/lib/po/eo.po.in b/lib/po/eo.po.in
index 74005ac..7a248ce 100644
--- a/lib/po/eo.po.in
+++ b/lib/po/eo.po.in
@@ -1,14 +1,14 @@
 # Esperanto translation.
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# Copyright (C) 2011, 2012 Free Software Foundation, Inc.
 # This file is distributed under the same license as the libgsasl package.
-# Felipe Castro <address@hidden>, 2011.
+# Felipe Castro <address@hidden>, 2011, 2012.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: libgsasl 1.6.1\n"
+"Project-Id-Version: libgsasl 1.7.4\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2011-05-01 17:34+0200\n"
-"PO-Revision-Date: 2011-05-09 20:25-0300\n"
+"POT-Creation-Date: 2012-05-16 00:55+0200\n"
+"PO-Revision-Date: 2012-05-18 20:25-0300\n"
 "Last-Translator: Felipe Castro <address@hidden>\n"
 "Language-Team: Esperanto <address@hidden>\n"
 "Language: eo\n"
@@ -150,7 +150,7 @@ msgstr "Eraro pri integreco en aplikaĵa datumaro"
 
 #: src/error.c:120
 msgid "No more realms available (non-fatal)"
-msgstr "Neniu pli 'realm' disponeblaj (ne-ĉesiga)"
+msgstr "Neniu plia 'realm' disponeblaj (ne-ĉesiga)"
 
 #: src/error.c:122
 msgid "Client-side functionality not available in library (application error)"
@@ -276,6 +276,18 @@ msgstr "Eraro de GSSAPI dum ellasado de OID-aro."
 msgid "Authentication failed because a tls-unique CB was not provided."
 msgstr "Aŭtentigo malsukcesis ĉar tls-unika CB ne estis provizata."
 
-#: src/error.c:224
+#: src/error.c:204
+msgid "Callback failed to provide SAML20 IdP identifier."
+msgstr "Eventvoko malsukcesis provizi identigilon SAML20 IdP."
+
+#: src/error.c:206
+msgid "Callback failed to provide SAML20 redirect URL."
+msgstr "Eventvoko malsukcesis provizi rekondukan URL SAML20."
+
+#: src/error.c:208
+msgid "Callback failed to provide OPENID20 redirect URL."
+msgstr "Eventvoko malsukcesis provizi rekondukan URL OPENID20."
+
+#: src/error.c:230
 msgid "Libgsasl unknown error"
 msgstr "Nekonata eraro de Libgsasl"
diff --git a/lib/po/fi.po.in b/lib/po/fi.po.in
index 58f8705..e50bdba 100644
--- a/lib/po/fi.po.in
+++ b/lib/po/fi.po.in
@@ -1,14 +1,14 @@
 # Finnish messages for libgsasl.
-# Copyright © 2009, 2011 Free Software Foundation, Inc.
+# Copyright © 2009, 2011, 2012 Free Software Foundation, Inc.
 # This file is distributed under the same license as the libgsasl package.
-# Jorma Karvonen <address@hidden>, 2009-2011.
+# Jorma Karvonen <address@hidden>, 2009-2012.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: libgsasl 1.6.1\n"
+"Project-Id-Version: libgsasl 1.7.4\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2011-05-01 17:34+0200\n"
-"PO-Revision-Date: 2011-05-05 10:50+0200\n"
+"POT-Creation-Date: 2012-05-16 00:55+0200\n"
+"PO-Revision-Date: 2012-05-18 14:45+0200\n"
 "Last-Translator: Jorma Karvonen <address@hidden>\n"
 "Language-Team: Finnish <address@hidden>\n"
 "Language: fi\n"
@@ -277,6 +277,18 @@ msgstr "GSSAPI-virhe julkaistaessa OID-joukko."
 msgid "Authentication failed because a tls-unique CB was not provided."
 msgstr "Todennus epäonnistui koska tls-unique CB ei tarjottu."
 
-#: src/error.c:224
+#: src/error.c:204
+msgid "Callback failed to provide SAML20 IdP identifier."
+msgstr "Vastakutsu ei kyennyt tarjoamaan SAML20 IdP -pääavainta."
+
+#: src/error.c:206
+msgid "Callback failed to provide SAML20 redirect URL."
+msgstr "Vastakutsu ei kyennyt tarjoamaan SAML20 
uudelleenohjausverkko-osoitetta."
+
+#: src/error.c:208
+msgid "Callback failed to provide OPENID20 redirect URL."
+msgstr "Vastakutsu ei kyennyt tarjoamaan OPENID20 
uudelleenohjausverkko-osoitetta."
+
+#: src/error.c:230
 msgid "Libgsasl unknown error"
 msgstr "Tuntematon Libgsasl-virhe"
diff --git a/lib/po/id.po.in b/lib/po/id.po.in
index ba1c3f5..0e4f796 100644
--- a/lib/po/id.po.in
+++ b/lib/po/id.po.in
@@ -1,256 +1,293 @@
 # Indonesian translations for libgsasl package.
 # Copyright (C) 2008 Free Software Foundation, Inc.
 # This file is distributed under the same license as the libgsasl package.
-# Andhika Padmawan <address@hidden>, 2009.
+# Andhika Padmawan <address@hidden>, 2009, 2012.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: libgsasl 1.1\n"
+"Project-Id-Version: libgsasl 1.7.4\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2009-03-25 16:06+0100\n"
-"PO-Revision-Date: 2009-03-26 19:21+0700\n"
+"POT-Creation-Date: 2012-05-16 00:55+0200\n"
+"PO-Revision-Date: 2012-05-18 15:33+0700\n"
 "Last-Translator: Andhika Padmawan <address@hidden>\n"
 "Language-Team: Indonesian <address@hidden>\n"
+"Language: id\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/error.c:44
+#: src/error.c:46
 msgid "Libgsasl success"
 msgstr "Libgsasl sukses"
 
-#: src/error.c:45
+#: src/error.c:47
 msgid "SASL mechanism needs more data"
 msgstr "Mekanisme SASL memerlukan lebih banyak data"
 
-#: src/error.c:46
+#: src/error.c:48
 msgid "Unknown SASL mechanism"
 msgstr "Mekanisme SASL tak diketahui"
 
-#: src/error.c:48
+#: src/error.c:50
 msgid "SASL mechanism called too many times"
 msgstr "Mekanisme SASL dipanggil terlalu sering"
 
-#: src/error.c:50
+#: src/error.c:52
 msgid "SASL function needs larger buffer (internal error)"
 msgstr "Fungsi SASL memerlukan penyangga lebih besar (galat internal)"
 
-#: src/error.c:51
+#: src/error.c:53
 msgid "Could not open file in SASL library"
 msgstr "Tak dapat membuka berkas di pustaka SASL"
 
-#: src/error.c:52
+#: src/error.c:54
 msgid "Could not close file in SASL library"
 msgstr "Tak dapat menutup berkas di pustaka SASL"
 
-#: src/error.c:53
+#: src/error.c:55
 msgid "Memory allocation error in SASL library"
 msgstr "Galat alokasi memori di pustaka SASL"
 
-#: src/error.c:54
+#: src/error.c:56
 msgid "Base 64 coding error in SASL library"
 msgstr "Galat penyandian base 64 di pustaka SASL"
 
-#: src/error.c:55
+#: src/error.c:57
 msgid "Low-level crypto error in SASL library"
 msgstr "Galat kripto level rendah di pustaka SASL"
 
-#: src/error.c:58
+#: src/error.c:60
 msgid "SASL mechanism needs gsasl_client_callback_anonymous() callback 
(application error)"
 msgstr "Mekanisme SASL memerlukan panggil balik 
gsasl_client_callback_anonymous() (galat aplikasi)"
 
-#: src/error.c:61
+#: src/error.c:63
 msgid "SASL mechanism needs gsasl_client_callback_password() callback 
(application error)"
 msgstr "Mekanisme SASL memerlukan panggil balik 
gsasl_client_callback_password() (galat aplikasi)"
 
-#: src/error.c:64
+#: src/error.c:66
 msgid "SASL mechanism needs gsasl_client_callback_passcode() callback 
(application error)"
 msgstr "Mekanisme SASL memerlukan panggil balik 
gsasl_client_callback_passcode() (galat aplikasi)"
 
-#: src/error.c:67
+#: src/error.c:69
 msgid "SASL mechanism needs gsasl_client_callback_pin() callback (application 
error)"
 msgstr "Mekanisme SASL memerlukan panggil balik gsasl_client_callback_pin() 
(galat aplikasi)"
 
-#: src/error.c:70
+#: src/error.c:72
 msgid "SASL mechanism needs gsasl_client_callback_authorization_id() callback 
(application error)"
 msgstr "Mekanisme SASL memerlukan panggil balik 
gsasl_client_callback_authorization_id() (galat aplikasi)"
 
-#: src/error.c:73
+#: src/error.c:75
 msgid "SASL mechanism needs gsasl_client_callback_authentication_id() callback 
(application error)"
 msgstr "Mekanisme SASL memerlukan panggil balik 
gsasl_client_callback_authentication_id() (galat aplikasi)"
 
-#: src/error.c:76
+#: src/error.c:78
 msgid "SASL mechanism needs gsasl_client_callback_service() callback 
(application error)"
 msgstr "Mekanisme SASL memerlukan panggil balik 
gsasl_client_callback_service() (galat aplikasi)"
 
-#: src/error.c:79
+#: src/error.c:81
 msgid "SASL mechanism needs gsasl_server_callback_validate() callback 
(application error)"
 msgstr "Mekanisme SASL memerlukan panggil balik 
gsasl_client_callback_validate() (galat aplikasi)"
 
-#: src/error.c:82
+#: src/error.c:84
 msgid "SASL mechanism needs gsasl_server_callback_cram_md5() callback 
(application error)"
 msgstr "Mekanisme SASL memerlukan panggil balik 
gsasl_server_callback_cram_md5() (galat aplikasi)"
 
-#: src/error.c:85
+#: src/error.c:87
 msgid "SASL mechanism needs gsasl_server_callback_digest_md5() callback 
(application error)"
 msgstr "Mekanisme SASL memerlukan panggil balik 
gsasl_server_callback_digest_md5() (galat aplikasi)"
 
-#: src/error.c:88
+#: src/error.c:90
 msgid "SASL mechanism needs gsasl_server_callback_external() callback 
(application error)"
 msgstr "Mekanisme SASL memerlukan panggil balik 
gsasl_server_callback_external() (galat aplikasi)"
 
-#: src/error.c:91
+#: src/error.c:93
 msgid "SASL mechanism needs gsasl_server_callback_anonymous() callback 
(application error)"
 msgstr "Mekanisme SASL memerlukan panggil balik 
gsasl_server_callback_anonymous() (galat aplikasi)"
 
-#: src/error.c:94
+#: src/error.c:96
 msgid "SASL mechanism needs gsasl_server_callback_realm() callback 
(application error)"
 msgstr "Mekanisme SASL memerlukan panggil balik gsasl_server_callback_realm() 
(galat aplikasi)"
 
-#: src/error.c:97
+#: src/error.c:99
 msgid "SASL mechanism needs gsasl_server_callback_securid() callback 
(application error)"
 msgstr "Mekanisme SASL memerlukan panggil balik 
gsasl_server_callback_securid() (galat aplikasi)"
 
-#: src/error.c:100
+#: src/error.c:102
 msgid "SASL mechanism needs gsasl_server_callback_service() callback 
(application error)"
 msgstr "Mekanisme SASL memerlukan panggil balik 
gsasl_server_callback_service() (galat aplikasi)"
 
-#: src/error.c:103
+#: src/error.c:105
 msgid "SASL mechanism needs gsasl_server_callback_gssapi() callback 
(application error)"
 msgstr "Mekanisme SASL memerlukan panggil balik gsasl_server_callback_gssapi() 
(galat aplikasi)"
 
-#: src/error.c:106
+#: src/error.c:108
 msgid "SASL mechanism needs gsasl_server_callback_retrieve() callback 
(application error)"
 msgstr "Mekanisme SASL memerlukan panggil balik 
gsasl_server_callback_retrieve() (galat aplikasi)"
 
-#: src/error.c:109
+#: src/error.c:111
 msgid "Failed to perform Unicode Normalization on string."
 msgstr "Gagal melakukan Normalisasi Sandi Universal pada benang."
 
-#: src/error.c:111
+#: src/error.c:113
 msgid "Could not prepare internationalized (non-ASCII) string."
 msgstr "Tak dapat menyiapkan benang (non-ASCII) terinternasionalisasi."
 
-#: src/error.c:113
+#: src/error.c:115
 msgid "SASL mechanism could not parse input"
 msgstr "Mekanisme SASL tak dapat mengurai masukan"
 
-#: src/error.c:114
+#: src/error.c:116
 msgid "Error authenticating user"
 msgstr "Galat mengotentikasi pengguna"
 
-#: src/error.c:116
+#: src/error.c:118
 msgid "Cannot get internal library handle (library error)"
 msgstr "Tak bisa mendapatkan penanganan pustaka internal (galat pustaka)"
 
-#: src/error.c:117
+#: src/error.c:119
 msgid "Integrity error in application payload"
 msgstr "Galat integritas di pemuat aplikasi"
 
-#: src/error.c:118
+#: src/error.c:120
 msgid "No more realms available (non-fatal)"
 msgstr "Tak ada lagi kawasan tersedia (tak-fatal)"
 
-#: src/error.c:120
+#: src/error.c:122
 msgid "Client-side functionality not available in library (application error)"
 msgstr "Fungsionalitas sisi-klien tidak tersedia di pustaka (galat aplikasi)"
 
-#: src/error.c:123
+#: src/error.c:125
 msgid "Server-side functionality not available in library (application error)"
 msgstr "Fungsionalitas sisi-server tidak tersedia di pustaka (galat aplikasi)"
 
-#: src/error.c:126
+#: src/error.c:128
 msgid "GSSAPI library could not deallocate memory in gss_release_buffer() in 
SASL library.  This is a serious internal error."
 msgstr "Pustaka GSSAPI tak dapat melepas alokasi memori di 
gss_release_buffer() di pustaka SASL.  Ini adalah galat internal serius."
 
-#: src/error.c:130
+#: src/error.c:132
 msgid "GSSAPI library could not understand a peer name in gss_import_name() in 
SASL library.  This is most likely due to incorrect service and/or hostnames."
 msgstr "Pustaka GSSAPI tidak mengerti nama peer di gss_import_name() di 
pustaka SASL. Ini kelihatannya karena layanan dan/atau nama host yang tidak 
tepat."
 
-#: src/error.c:134
+#: src/error.c:136
 msgid "GSSAPI error in client while negotiating security context in 
gss_init_sec_context() in SASL library.  This is most likely due insufficient 
credentials or malicious interactions."
 msgstr "Galat GSSAPI di klien ketika bernegosiasi konteks keamanan di 
gss_init_sec_context() di pustaka SASL. Ini kelihatannya karena kredensial yang 
tidak cukup atau interaksi yang mencurigakan."
 
-#: src/error.c:138
-msgid "GSSAPI error in server while negotiating security context in 
gss_init_sec_context() in SASL library.  This is most likely due insufficient 
credentials or malicious interactions."
-msgstr "Galat GSSAPI di server ketika bernegosiasi konteks keamanan di 
gss_init_sec_context() di pustaka SASL. Ini kelihatannya karena kredensial yang 
tidak cukup atau interaksi yang mencurigakan."
+#: src/error.c:140
+msgid "GSSAPI error in server while negotiating security context in 
gss_accept_sec_context() in SASL library.  This is most likely due insufficient 
credentials or malicious interactions."
+msgstr "Galat GSSAPI di server ketika bernegosiasi konteks keamanan di 
gss_accpet_sec_context() di pustaka SASL. Ini kelihatannya karena kredensial 
yang tidak cukup atau interaksi yang mencurigakan."
 
-#: src/error.c:142
+#: src/error.c:144
 msgid "GSSAPI error while decrypting or decoding data in gss_unwrap() in SASL 
library.  This is most likely due to data corruption."
 msgstr "Galat GSSAPI ketika memecahkan atau mengawasandi data di gss_unwrap() 
di pustaka SASL. Ini kelihatannya karena data yang rusak."
 
-#: src/error.c:145
+#: src/error.c:147
 msgid "GSSAPI error while encrypting or encoding data in gss_wrap() in SASL 
library."
 msgstr "Galat GSSAPI ketika enkripsi atau menyandi data di gss_wrap() di 
pustaka SASL."
 
-#: src/error.c:148
+#: src/error.c:150
 msgid "GSSAPI error acquiring credentials in gss_acquire_cred() in SASL 
library.  This is most likely due to not having the proper Kerberos key 
available in /etc/krb5.keytab on the server."
 msgstr "Galat GSSAPI mengambil kredensial di gss_acquire_cred() di pustaka 
SASL.  Ini kelihatannya karena tidak memiliki kunci Kerberos asli yang tersedia 
di /etc/krb5.keytab di server."
 
-#: src/error.c:152
+#: src/error.c:154
 msgid "GSSAPI error creating a display name denoting the client in 
gss_display_name() in SASL library.  This is probably because the client 
supplied bad data."
 msgstr "Galat GSSAPI membuat tampilan nama mendenotasi klien di 
gss_display_name() dipustaka SASL. Ini mungkin karena klien menyuplai data 
buruk."
 
-#: src/error.c:156
+#: src/error.c:158
 msgid "Other entity requested integrity or confidentiality protection in 
GSSAPI mechanism but this is currently not implemented."
 msgstr "Entitas lain meminta proteksi integritas atau konfidensialitas di 
mekanisme GSSAPI tapi ini saat ini belum diimplementasikan."
 
-#: src/error.c:159
+#: src/error.c:161
 msgid "Kerberos V5 initialization failure."
 msgstr "Kegagalan inisialisasi Kerberos V5."
 
-#: src/error.c:161
+#: src/error.c:163
 msgid "Kerberos V5 internal error."
 msgstr "Galat internal Kerberos V5."
 
-#: src/error.c:163
+#: src/error.c:165
 msgid "SecurID needs additional passcode."
 msgstr "SecurID memerlukan sandi tambahan."
 
-#: src/error.c:165
+#: src/error.c:167
 msgid "SecurID needs new pin."
 msgstr "SecurID memerlukan pin baru."
 
-#: src/error.c:167
+#: src/error.c:169
 msgid "The provided library handle was invalid (application error)"
 msgstr "Penanganan pustaka yang diberikan tidak sah (galat aplikasi)"
 
-#: src/error.c:169
+#: src/error.c:171
 msgid "No callback specified by caller (application error)."
 msgstr "Tak ada panggil balik ditentukan oleh pemanggil (galat aplikasi)."
 
-#: src/error.c:171
+#: src/error.c:173
 msgid "Authentication failed because the anonymous token was not provided."
 msgstr "Otentikasi gagal karena sembarang token tidak disediakan."
 
-#: src/error.c:174
+#: src/error.c:176
 msgid "Authentication failed because the authentication identity was not 
provided."
 msgstr "Otentikasi gagal karena identitas otentikasi tidak disediakan."
 
-#: src/error.c:177
+#: src/error.c:179
 msgid "Authentication failed because the authorization identity was not 
provided."
 msgstr "Otentikasi gagal karena identitas otorisasi tidak disediakan."
 
-#: src/error.c:180
+#: src/error.c:182
 msgid "Authentication failed because the password was not provided."
 msgstr "Otentikasi gagal karena sandi lewat tidak disediakan."
 
-#: src/error.c:182
+#: src/error.c:184
 msgid "Authentication failed because the passcode was not provided."
 msgstr "Otentikasi gagal karena kode lewat tidak disediakan."
 
-#: src/error.c:184
+#: src/error.c:186
 msgid "Authentication failed because the pin code was not provided."
 msgstr "Otentikasi gagal karena kode pin tidak disediakan."
 
-#: src/error.c:186
+#: src/error.c:188
 msgid "Authentication failed because the service name was not provided."
 msgstr "Otentikasi gagal karena nama layanan tidak disediakan."
 
-#: src/error.c:188
+#: src/error.c:190
 msgid "Authentication failed because the host name was not provided."
 msgstr "Otentikasi gagal karena nama host tidak disediakan."
 
+#: src/error.c:192
+msgid "GSSAPI error encapsulating token."
+msgstr "Galat GSSAPI menyelubungi token."
+
+#: src/error.c:194
+msgid "GSSAPI error decapsulating token."
+msgstr "Galat GSSAPI mengeluarkan token."
+
+#: src/error.c:196
+msgid "GSSAPI error getting OID for SASL mechanism name."
+msgstr "Galat GSSAPI mendapatkan OID untuk nama mekanisme SASL."
+
+#: src/error.c:198
+msgid "GSSAPI error testing for OID in OID set."
+msgstr "Galat GSSAPI menguji OID dalam set OID."
+
+#: src/error.c:200
+msgid "GSSAPI error releasing OID set."
+msgstr "Galat GSSAPI melepaskan set OID."
+
+#: src/error.c:202
+msgid "Authentication failed because a tls-unique CB was not provided."
+msgstr "Otentikasi gagal karena nama CB tls-unique tidak disediakan."
+
+#: src/error.c:204
+msgid "Callback failed to provide SAML20 IdP identifier."
+msgstr "Panggil kembali gagal untuk menyediakan pengidentifikasi SAML20 IdP."
+
 #: src/error.c:206
+msgid "Callback failed to provide SAML20 redirect URL."
+msgstr "Panggil kembali gagal untuk menyediakan pengalihan URL SAML20."
+
+#: src/error.c:208
+msgid "Callback failed to provide OPENID20 redirect URL."
+msgstr "Panggil kembali gagal untuk menyediakan pengalihan URL OPENID20."
+
+#: src/error.c:230
 msgid "Libgsasl unknown error"
 msgstr "Galat tak diketahui libgsasl"
diff --git a/lib/po/it.po.in b/lib/po/it.po.in
index 85f85be..236a750 100644
--- a/lib/po/it.po.in
+++ b/lib/po/it.po.in
@@ -1,21 +1,21 @@
 # Italian translation for libgsasl.
 # Copyright (C) 2010 Free Software Foundation, Inc.
 # This file is distributed under the same license as the libgsasl package.
-# Sergio Zanchetta <address@hidden>, 2010, 2011.
+# Sergio Zanchetta <address@hidden>, 2010, 2011, 2012.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: libgsasl-1.6.1\n"
+"Project-Id-Version: libgsasl-1.7.4\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2011-05-01 17:34+0200\n"
-"PO-Revision-Date: 2011-05-31 01:00+0200\n"
+"POT-Creation-Date: 2012-05-16 00:55+0200\n"
+"PO-Revision-Date: 2012-05-18 16:23+0200\n"
 "Last-Translator: Sergio Zanchetta <address@hidden>\n"
 "Language-Team: Italian <address@hidden>\n"
 "Language: it\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural= (n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
 
 #: src/error.c:46
 msgid "Libgsasl success"
@@ -277,6 +277,18 @@ msgstr "Errore GSSAPI nel rilascio del set di OID."
 msgid "Authentication failed because a tls-unique CB was not provided."
 msgstr "Autenticazione non riuscita poiché non è stata fornita 
un'associazione di canale tls-unique."
 
-#: src/error.c:224
+#: src/error.c:204
+msgid "Callback failed to provide SAML20 IdP identifier."
+msgstr "Il callback non è riuscito a fornire l'identificatore Idp SAML20."
+
+#: src/error.c:206
+msgid "Callback failed to provide SAML20 redirect URL."
+msgstr "Il callback non è riuscito a fornire l'URL di redirezione SAML20."
+
+#: src/error.c:208
+msgid "Callback failed to provide OPENID20 redirect URL."
+msgstr "Il callback non è riuscito a fornire l'URL di redirezione OPENID20."
+
+#: src/error.c:230
 msgid "Libgsasl unknown error"
 msgstr "Errore sconosciuto di libgsasl"
diff --git a/lib/po/uk.po.in b/lib/po/uk.po.in
index 417e044..78a101a 100644
--- a/lib/po/uk.po.in
+++ b/lib/po/uk.po.in
@@ -3,20 +3,20 @@
 # Copyright (C) 2011 Free Software Foundation, Inc.
 # This file is distributed under the same license as the libgsasl package.
 #
-# Yuri Chornoivan <address@hidden>, 2011.
+# Yuri Chornoivan <address@hidden>, 2011, 2012.
 msgid ""
 msgstr ""
-"Project-Id-Version: libgsasl 1.6.1\n"
+"Project-Id-Version: libgsasl 1.7.4\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2011-05-01 17:34+0200\n"
-"PO-Revision-Date: 2011-05-04 17:01+0300\n"
+"POT-Creation-Date: 2012-05-16 00:55+0200\n"
+"PO-Revision-Date: 2012-05-18 12:44+0300\n"
 "Last-Translator: Yuri Chornoivan <address@hidden>\n"
 "Language-Team: Ukrainian <address@hidden>\n"
 "Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Lokalize 1.2\n"
+"X-Generator: Lokalize 1.5\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
 #: src/error.c:46
@@ -279,6 +279,18 @@ msgstr "Помилка GSSAPI під час 
звільнення набору OI
 msgid "Authentication failed because a tls-unique CB was not provided."
 msgstr "Помилка розпізнавання через 
ненадання унікальної для TLS прив’язки до 
каналу."
 
-#: src/error.c:224
+#: src/error.c:204
+msgid "Callback failed to provide SAML20 IdP identifier."
+msgstr "У відповідь на зворотний виклик не 
повернуто ідентифікатора IdP SAML20 IdP."
+
+#: src/error.c:206
+msgid "Callback failed to provide SAML20 redirect URL."
+msgstr "У відповідь на зворотний виклик не 
отримано адреси переспрямування SAML20."
+
+#: src/error.c:208
+msgid "Callback failed to provide OPENID20 redirect URL."
+msgstr "У відповідь на зворотний виклик не 
отримано адреси переспрямування OPENID20."
+
+#: src/error.c:230
 msgid "Libgsasl unknown error"
 msgstr "Невідома помилка libgsasl"
diff --git a/lib/po/vi.po.in b/lib/po/vi.po.in
index 606a24f..9cc66bf 100644
--- a/lib/po/vi.po.in
+++ b/lib/po/vi.po.in
@@ -6,12 +6,12 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: libgsasl 1.6.1\n"
+"Project-Id-Version: libgsasl-1.7.4\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2011-05-01 17:34+0200\n"
-"PO-Revision-Date: 2012-04-04 08:34+0700\n"
+"POT-Creation-Date: 2012-05-16 00:55+0200\n"
+"PO-Revision-Date: 2012-05-18 14:34+0700\n"
 "Last-Translator: Trần Ngọc Quân <address@hidden>\n"
-"Language-Team: Vietnamese <address@hidden>\n"
+"Language-Team: Vietnamese <address@hidden>\n"
 "Language: vi\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -282,6 +282,18 @@ msgstr "Lỗi GSSAPI phóng thích tập hợp OID."
 msgid "Authentication failed because a tls-unique CB was not provided."
 msgstr "Lỗi xác thực vì tls-unique CB không được cung cấp."
 
-#: src/error.c:224
+#: src/error.c:204
+msgid "Callback failed to provide SAML20 IdP identifier."
+msgstr "Hàm callback gặp lỗi khi cung cấp bộ định danh SAML20 IdP."
+
+#: src/error.c:206
+msgid "Callback failed to provide SAML20 redirect URL."
+msgstr "Hàm callback gặp lỗi khi cung cấp bộ chuyển hướng URL 
SAML20."
+
+#: src/error.c:208
+msgid "Callback failed to provide OPENID20 redirect URL."
+msgstr "Hàm callback gặp lỗi khi cung cấp bộ chuyển hướng URL 
OPENID20."
+
+#: src/error.c:230
 msgid "Libgsasl unknown error"
-msgstr "Gặp lỗi Libgsasl không rõ"
+msgstr "Không rõ lỗi Libgsasl"
diff --git a/lib/src/gsasl.h b/lib/src/gsasl.h
index c7ccdf4..04ae310 100644
--- a/lib/src/gsasl.h
+++ b/lib/src/gsasl.h
@@ -51,7 +51,7 @@ extern "C"
    * version number.  Used together with gsasl_check_version() to
    * verify header file and run-time library consistency.
    */
-#define GSASL_VERSION "1.7.4"
+#define GSASL_VERSION "1.7.5"
 
   /**
    * GSASL_VERSION_MAJOR
@@ -84,7 +84,7 @@ extern "C"
    *
    * Since: 1.1
    */
-#define GSASL_VERSION_PATCH 4
+#define GSASL_VERSION_PATCH 5
 
   /**
    * GSASL_VERSION_NUMBER
@@ -95,7 +95,7 @@ extern "C"
    *
    * Since: 1.1
    */
-#define GSASL_VERSION_NUMBER 0x010704
+#define GSASL_VERSION_NUMBER 0x010705
 
   /* RFC 2222: SASL mechanisms are named by strings, from 1 to 20
    * characters in length, consisting of upper-case letters, digits,
diff --git a/po/de.po.in b/po/de.po.in
index 896f219..c651af1 100644
--- a/po/de.po.in
+++ b/po/de.po.in
@@ -3,13 +3,14 @@
 # This file is distributed under the same license as the gsasl package.
 # Roland Illig <address@hidden>, 2004.
 # Roland Illig <address@hidden>, 2011.
+# Roland Illig <address@hidden>, 2012.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gsasl 1.6.1\n"
+"Project-Id-Version: gsasl 1.7.4\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2011-05-01 17:35+0200\n"
-"PO-Revision-Date: 2011-05-03 21:47+0100\n"
+"POT-Creation-Date: 2012-05-16 00:55+0200\n"
+"PO-Revision-Date: 2012-05-18 21:53+0100\n"
 "Last-Translator: Roland Illig <address@hidden>\n"
 "Language-Team: German <address@hidden>\n"
 "Language: de\n"
@@ -22,23 +23,23 @@ msgstr ""
 msgid "Chose SASL mechanisms:\n"
 msgstr "SASL-Mechanismen auswählen:\n"
 
-#: src/imap.c:106 src/smtp.c:110 src/gsasl.c:206
+#: src/imap.c:106 src/smtp.c:113 src/gsasl.c:206
 #, c-format
 msgid "Using mechanism:\n"
 msgstr "Benutze Mechanismus:\n"
 
-#: src/imap.c:156
+#: src/imap.c:180
 #, c-format
 msgid "error: server did not return a token\n"
 msgstr "Fehler: Server hat kein Token zurückgegeben\n"
 
-#: src/smtp.c:158
+#: src/smtp.c:192
 #, c-format
 msgid ""
-"error: Server did not return expected SASL data (it must begin with '334 
'):\n"
+"error: could not parse server data:\n"
 "%s\n"
 msgstr ""
-"Fehler: Server hat nicht die erwarteten SASL-Daten zurückgegeben (sie 
müssen mit »334 « anfangen):\n"
+"Fehler: konnte Serverdaten nicht parsen:\n"
 "%s\n"
 
 #: src/gsasl.c:178
@@ -61,206 +62,218 @@ msgstr "Ausgabe vom Server:\n"
 msgid "Output from client:\n"
 msgstr "Ausgabe vom Client:\n"
 
-#: src/gsasl.c:281
+#: src/gsasl.c:272
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Versuchen Sie »%s --help« für weitere Informationen.\n"
 
-#: src/gsasl.c:336
+#: src/gsasl.c:327
 #, c-format
 msgid "missing argument"
 msgstr "Fehlendes Argument"
 
-#: src/gsasl.c:343
+#: src/gsasl.c:334
 #, c-format
 msgid "need both --x509-cert-file and --x509-key-file"
 msgstr "Benötigt sowohl --x509-cert-file als auch --x509-key-file."
 
-#: src/gsasl.c:347
+#: src/gsasl.c:338
 #, c-format
 msgid "cannot use both --starttls and --no-starttls"
 msgstr "Kann nicht --starttls und --no-starttls gleichzeitig nutzen."
 
-#: src/gsasl.c:350
+#: src/gsasl.c:341
 #, c-format
 msgid "cannot use both --smtp and --imap"
 msgstr "Kann nicht --smtp und --imap gleichzeitig nutzen."
 
-#: src/gsasl.c:415
+#: src/gsasl.c:407
 #, c-format
 msgid "initialization failure: %s"
 msgstr "Initialisierung fehlgeschlagen: %s"
 
-#: src/gsasl.c:430
+#: src/gsasl.c:422
 #, c-format
 msgid "error listing mechanisms: %s"
 msgstr "Fehler beim Auflisten der Mechanismen: %s"
 
-#: src/gsasl.c:437
+#: src/gsasl.c:429
 #, c-format
 msgid "This client supports the following mechanisms:\n"
 msgstr "Dieser Client unterstützt folgende Mechanismen:\n"
 
-#: src/gsasl.c:440
+#: src/gsasl.c:432
 #, c-format
 msgid "This server supports the following mechanisms:\n"
 msgstr "Dieser Server unterstützt folgende Mechanismen:\n"
 
-#: src/gsasl.c:508
+#: src/gsasl.c:494
 #, c-format
 msgid "GnuTLS global initialization failed: %s"
 msgstr "Globale Initialisierung von GnuTLS fehlgeschlagen: %s"
 
-#: src/gsasl.c:513
+#: src/gsasl.c:499
 #, c-format
 msgid "GnuTLS initialization failed: %s"
 msgstr "Initialisierung von GnuTLS fehlgeschlagen: %s"
 
-#: src/gsasl.c:518
+#: src/gsasl.c:504
 #, c-format
 msgid "setting GnuTLS defaults failed: %s"
 msgstr "Einstellen der Vorgabewerte für GnuTLS fehlgeschlagen: %s"
 
-#: src/gsasl.c:524
+#: src/gsasl.c:510
 #, c-format
 msgid "allocating anonymous GnuTLS credential: %s"
 msgstr "Reservieren des anonymen GnuTLS-Berechtigungsnachweises: %s"
 
-#: src/gsasl.c:529
+#: src/gsasl.c:515
 #, c-format
 msgid "setting anonymous GnuTLS credential: %s"
 msgstr "Festlegen des anonymen GnuTLS-Berechtigungsnachweises: %s"
 
-#: src/gsasl.c:534
+#: src/gsasl.c:520
 #, c-format
 msgid "allocating X.509 GnuTLS credential: %s"
 msgstr "Reservieren des X.509-GnuTLS-Berechtigungsnachweises: %s"
 
-#: src/gsasl.c:542
+#: src/gsasl.c:528
 #, c-format
 msgid "loading X.509 GnuTLS credential: %s"
 msgstr "Laden des X.509-GnuTLS-Berechtigungsnachweises: %s"
 
-#: src/gsasl.c:550
+#: src/gsasl.c:536
 #, c-format
 msgid "no X.509 CAs found: %s"
 msgstr "Keine X.509-CAs gefunden: %s"
 
-#: src/gsasl.c:553
+#: src/gsasl.c:539
 #, c-format
 msgid "no X.509 CAs found"
 msgstr "Keine X.509-CAs gefunden."
 
-#: src/gsasl.c:559
+#: src/gsasl.c:545
 #, c-format
 msgid "setting X.509 GnuTLS credential: %s"
 msgstr "Festlegen des X.509-GnuTLS-Berechtigungsnachweises: %s"
 
-#: src/gsasl.c:570
+#: src/gsasl.c:556
 #, c-format
 msgid "setting GnuTLS cipher priority (%s): %s\n"
 msgstr "Festlegen der GnuTLS-Verschlüsselungs-Priorität (%s): %s\n"
 
-#: src/gsasl.c:582
+#: src/gsasl.c:568
 #, c-format
 msgid "GnuTLS handshake failed: %s"
 msgstr "GnuTLS-Handschlag fehlgeschlagen: %s"
 
-#: src/gsasl.c:591
+#: src/gsasl.c:577
 #, c-format
 msgid "verifying peer certificate: %s"
 msgstr "Verifizieren des Partnerzertifikats: %s"
 
-#: src/gsasl.c:595
+#: src/gsasl.c:581
 #, c-format
 msgid "server certificate is not trusted"
 msgstr "Das Serverzertifikat ist nicht vertrauenswürdig."
 
-#: src/gsasl.c:599
+#: src/gsasl.c:585
 #, c-format
 msgid "server certificate hasn't got a known issuer"
 msgstr "Serverzertifikat hat keinen bekannten Herausgeber."
 
-#: src/gsasl.c:602
+#: src/gsasl.c:588
 #, c-format
 msgid "server certificate has been revoked"
 msgstr "Serverzertifikat wurde zurückgezogen."
 
-#: src/gsasl.c:606
+#: src/gsasl.c:592
 #, c-format
 msgid "could not verify server certificate (rc=%d)"
 msgstr "Konnte Serverzertifikat nicht verifizieren (rc=%d)."
 
-#: src/gsasl.c:617
+#: src/gsasl.c:603
 #, c-format
 msgid "getting channel binding failed: %s"
 msgstr "Ermitteln der Kanalbindungen fehlgeschlagen: %s"
 
-#: src/gsasl.c:647
+#: src/gsasl.c:633
 #, c-format
 msgid "Cannot find mechanism...\n"
 msgstr "Kann Mechanismus nicht finden...\n"
 
-#: src/gsasl.c:664
+#: src/gsasl.c:650
 #, c-format
 msgid "mechanism unavailable: %s"
 msgstr "Mechanismus nicht verfügbar: %s"
 
-#: src/gsasl.c:693
+#: src/gsasl.c:678
 #, c-format
 msgid "Enter base64 authentication data from client (press RET if none):\n"
 msgstr "Geben Sie Base64-Authentifizierungsdaten vom Client ein (ENTER für 
keine):\n"
 
-#: src/gsasl.c:696
+#: src/gsasl.c:681
 #, c-format
 msgid "Enter base64 authentication data from server (press RET if none):\n"
 msgstr "Geben Sie Base64-Authentifizierungsdaten vom Server ein (ENTER für 
keine):\n"
 
-#: src/gsasl.c:706
+#: src/gsasl.c:691
+#, c-format
+msgid "server error"
+msgstr "Serverfehler"
+
+#: src/gsasl.c:699
 #, c-format
 msgid "mechanism error: %s"
 msgstr "Mechanismus-Fehler: %s"
 
-#: src/gsasl.c:715
+#: src/gsasl.c:705
 #, c-format
 msgid "Server authentication finished (client trusted)...\n"
 msgstr "Server-Authentifizierung abgeschlossen (der Client vertraut)...\n"
 
-#: src/gsasl.c:718
+#: src/gsasl.c:708
 #, c-format
 msgid "Client authentication finished (server trusted)...\n"
 msgstr "Client-Authentifizierung abgeschlossen (der Server vertraut)...\n"
 
-#: src/gsasl.c:742
+#: src/gsasl.c:733
 #, c-format
 msgid "Enter application data (EOF to finish):\n"
 msgstr "Geben Sie Anwendungsdaten ein (EOF zum Beenden):\n"
 
-#: src/gsasl.c:814
+#: src/gsasl.c:804
 #, c-format
 msgid "Base64 encoded application data to send:\n"
 msgstr "Base64-codierte Anwendungsdaten zum Verschicken:\n"
 
-#: src/gsasl.c:859
+#: src/gsasl.c:850
 #, c-format
 msgid "SASL record too large: %zu\n"
 msgstr "SASL-Datensatz zu groß: %zu\n"
 
-#: src/gsasl.c:883
+#: src/gsasl.c:874
 #, c-format
 msgid "encoding error: %s"
 msgstr "Codierungsfehler: %s"
 
-#: src/gsasl.c:888
+#: src/gsasl.c:879
 #, c-format
 msgid "Session finished...\n"
 msgstr "Sitzung beendet...\n"
 
-#: src/gsasl.c:904
+#: src/gsasl.c:895
 #, c-format
 msgid "terminating GnuTLS session failed: %s"
 msgstr "Beenden der GnuTLS-Sitzung fehlgeschlagen: %s"
 
+#~ msgid ""
+#~ "error: Server did not return expected SASL data (it must begin with '334 
'):\n"
+#~ "%s\n"
+#~ msgstr ""
+#~ "Fehler: Server hat nicht die erwarteten SASL-Daten zurückgegeben (sie 
müssen mit »334 « anfangen):\n"
+#~ "%s\n"
+
 #~ msgid "Cannot initialize Windows sockets."
 #~ msgstr "Kann Windows-Sockets nicht initialisieren."
 
diff --git a/po/eo.po.in b/po/eo.po.in
index 756a62c..e594871 100644
--- a/po/eo.po.in
+++ b/po/eo.po.in
@@ -1,14 +1,14 @@
 # Esperanto translation.
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# Copyright (C) 2011, 2012 Free Software Foundation, Inc.
 # This file is distributed under the same license as the gsasl package.
-# Felipe Castro <address@hidden>, 2011.
+# Felipe Castro <address@hidden>, 2011, 2012.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gsasl 1.6.1\n"
+"Project-Id-Version: gsasl 1.7.4\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2011-05-01 17:35+0200\n"
-"PO-Revision-Date: 2011-05-09 20:27-0300\n"
+"POT-Creation-Date: 2012-05-16 00:55+0200\n"
+"PO-Revision-Date: 2012-05-18 20:27-0300\n"
 "Last-Translator: Felipe Castro <address@hidden>\n"
 "Language-Team: Esperanto <address@hidden>\n"
 "Language: eo\n"
@@ -21,23 +21,23 @@ msgstr ""
 msgid "Chose SASL mechanisms:\n"
 msgstr "Elektitaj mekanismoj SASL:\n"
 
-#: src/imap.c:106 src/smtp.c:110 src/gsasl.c:206
+#: src/imap.c:106 src/smtp.c:113 src/gsasl.c:206
 #, c-format
 msgid "Using mechanism:\n"
 msgstr "Uzata mekanismo:\n"
 
-#: src/imap.c:156
+#: src/imap.c:180
 #, c-format
 msgid "error: server did not return a token\n"
 msgstr "eraro: servilo ne liveris ĵetonon\n"
 
-#: src/smtp.c:158
+#: src/smtp.c:192
 #, c-format
 msgid ""
-"error: Server did not return expected SASL data (it must begin with '334 
'):\n"
+"error: could not parse server data:\n"
 "%s\n"
 msgstr ""
-"eraro: Servilo ne redonis atenditan datumaron SASL (ĝi devas komenciĝi per 
'334 '):\n"
+"eraro: ne eblis analizi la servilan datumaron:\n"
 "%s\n"
 
 #: src/gsasl.c:178
@@ -60,207 +60,219 @@ msgstr "Eligo el servilo:\n"
 msgid "Output from client:\n"
 msgstr "Eligo el kliento:\n"
 
-#: src/gsasl.c:281
+#: src/gsasl.c:272
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Provu '%s --help' por pli da informoj.\n"
 
-#: src/gsasl.c:336
+#: src/gsasl.c:327
 #, c-format
 msgid "missing argument"
 msgstr "mankas argumento"
 
-#: src/gsasl.c:343
+#: src/gsasl.c:334
 #, c-format
 msgid "need both --x509-cert-file and --x509-key-file"
 msgstr "necesas kaj --x509-cert-file kaj --x509-key-file"
 
-#: src/gsasl.c:347
+#: src/gsasl.c:338
 #, c-format
 msgid "cannot use both --starttls and --no-starttls"
 msgstr "ne povas uzi kaj --starttls kaj --no-starttls"
 
-#: src/gsasl.c:350
+#: src/gsasl.c:341
 #, c-format
 msgid "cannot use both --smtp and --imap"
 msgstr "ne povas uzi kaj --smtp kaj --imap"
 
-#: src/gsasl.c:415
+#: src/gsasl.c:407
 #, c-format
 msgid "initialization failure: %s"
 msgstr "ekiga malsukceso: %s"
 
-#: src/gsasl.c:430
+#: src/gsasl.c:422
 #, c-format
 msgid "error listing mechanisms: %s"
 msgstr "eraro dum listigo de mekanismoj: %s"
 
-#: src/gsasl.c:437
+#: src/gsasl.c:429
 #, c-format
 msgid "This client supports the following mechanisms:\n"
 msgstr "Tiu ĉi kliento subtenas la jenajn mekanismojn:\n"
 
-#: src/gsasl.c:440
+#: src/gsasl.c:432
 #, c-format
 msgid "This server supports the following mechanisms:\n"
 msgstr "Tiu ĉi servilo subtenas la jenajn mekanismojn:\n"
 
-#: src/gsasl.c:508
+#: src/gsasl.c:494
 #, c-format
 msgid "GnuTLS global initialization failed: %s"
 msgstr "Ĝenerala ekigo de GnuTLS malsukcesis: %s"
 
-#: src/gsasl.c:513
+#: src/gsasl.c:499
 #, c-format
 msgid "GnuTLS initialization failed: %s"
 msgstr "Ekigo de GnuTLS malsukcesis: %s"
 
-#: src/gsasl.c:518
+#: src/gsasl.c:504
 #, c-format
 msgid "setting GnuTLS defaults failed: %s"
 msgstr "difino de GnuTLS-defaÅ­ltoj malsukcesis: %s"
 
-#: src/gsasl.c:524
+#: src/gsasl.c:510
 #, c-format
 msgid "allocating anonymous GnuTLS credential: %s"
 msgstr "rezervo de sennoma legitimilo GnuTLS: %s"
 
-#: src/gsasl.c:529
+#: src/gsasl.c:515
 #, c-format
 msgid "setting anonymous GnuTLS credential: %s"
 msgstr "difino de sennoma legitimilo GnuTLS: %s"
 
-#: src/gsasl.c:534
+#: src/gsasl.c:520
 #, c-format
 msgid "allocating X.509 GnuTLS credential: %s"
 msgstr "rezervo de X.509-legitimilo GnuTLS: %s"
 
-#: src/gsasl.c:542
+#: src/gsasl.c:528
 #, c-format
 msgid "loading X.509 GnuTLS credential: %s"
 msgstr "ŝargo je X.509-legitimilo GnuTLS: %s"
 
-#: src/gsasl.c:550
+#: src/gsasl.c:536
 #, c-format
 msgid "no X.509 CAs found: %s"
 msgstr "neniu X.509 CA trovite: %s"
 
-#: src/gsasl.c:553
+#: src/gsasl.c:539
 #, c-format
 msgid "no X.509 CAs found"
 msgstr "neniu X.509 CA trovite"
 
-#: src/gsasl.c:559
+#: src/gsasl.c:545
 #, c-format
 msgid "setting X.509 GnuTLS credential: %s"
 msgstr "difino de X.509-legitimilo GnuTLS: %s"
 
-#: src/gsasl.c:570
+#: src/gsasl.c:556
 #, c-format
 msgid "setting GnuTLS cipher priority (%s): %s\n"
 msgstr "difino de ĉifra prioritato GnuTLS (%s): %s\n"
 
-#: src/gsasl.c:582
+#: src/gsasl.c:568
 #, c-format
 msgid "GnuTLS handshake failed: %s"
 msgstr "Kvitanco GnuTLS malsukcesis: %s"
 
-#: src/gsasl.c:591
+#: src/gsasl.c:577
 #, c-format
 msgid "verifying peer certificate: %s"
 msgstr "kontrolado de samtavolana atestilo: %s"
 
-#: src/gsasl.c:595
+#: src/gsasl.c:581
 #, c-format
 msgid "server certificate is not trusted"
 msgstr "servila atestilo ne estas fidinda"
 
-#: src/gsasl.c:599
+#: src/gsasl.c:585
 #, c-format
 msgid "server certificate hasn't got a known issuer"
 msgstr "servila atestilo ne havis konatan eldonanto"
 
-#: src/gsasl.c:602
+#: src/gsasl.c:588
 #, c-format
 msgid "server certificate has been revoked"
 msgstr "servila atestilo estas revokata"
 
-#: src/gsasl.c:606
+#: src/gsasl.c:592
 #, c-format
 msgid "could not verify server certificate (rc=%d)"
 msgstr "ni ne povis kontroli servilan atestilon (rc=%d)"
 
-#: src/gsasl.c:617
+#: src/gsasl.c:603
 #, c-format
 msgid "getting channel binding failed: %s"
 msgstr "akiro de kanalo-ligado malsukcesis: %s"
 
-#: src/gsasl.c:647
+#: src/gsasl.c:633
 #, c-format
 msgid "Cannot find mechanism...\n"
 msgstr "Ni ne povis trovi mekanismon...\n"
 
-#: src/gsasl.c:664
+#: src/gsasl.c:650
 #, c-format
 msgid "mechanism unavailable: %s"
 msgstr "mekanismo nedisponebla: %s"
 
-#: src/gsasl.c:693
+#: src/gsasl.c:678
 #, c-format
 msgid "Enter base64 authentication data from client (press RET if none):\n"
 msgstr "Enmetu aÅ­tentigan datumaron base64 el kliento (premu RET se nenio):\n"
 
-#: src/gsasl.c:696
+#: src/gsasl.c:681
 #, c-format
 msgid "Enter base64 authentication data from server (press RET if none):\n"
 msgstr "Enmetu aÅ­tentigan datumaron base64 el servilo (premu RET se nenio):\n"
 
-#: src/gsasl.c:706
+#: src/gsasl.c:691
+#, c-format
+msgid "server error"
+msgstr "servila eraro"
+
+#: src/gsasl.c:699
 #, c-format
 msgid "mechanism error: %s"
 msgstr "mekanisma eraro: %s"
 
-#: src/gsasl.c:715
+#: src/gsasl.c:705
 #, c-format
 msgid "Server authentication finished (client trusted)...\n"
 msgstr "Servila aÅ­tentigo finis (kliento estas fidinda)...\n"
 
-#: src/gsasl.c:718
+#: src/gsasl.c:708
 #, c-format
 msgid "Client authentication finished (server trusted)...\n"
 msgstr "Klienta aÅ­tentigo finis (servilo estas fidinda)...\n"
 
-#: src/gsasl.c:742
+#: src/gsasl.c:733
 #, c-format
 msgid "Enter application data (EOF to finish):\n"
 msgstr "Enmetu aplikaĵan datumaron (EOF por fini):\n"
 
-#: src/gsasl.c:814
+#: src/gsasl.c:804
 #, c-format
 msgid "Base64 encoded application data to send:\n"
 msgstr "Base64-enkodita aplikaĵ-datumaro por sendi:\n"
 
-#: src/gsasl.c:859
+#: src/gsasl.c:850
 #, c-format
 msgid "SASL record too large: %zu\n"
 msgstr "Rikordo SASL tro granda: %zu\n"
 
-#: src/gsasl.c:883
+#: src/gsasl.c:874
 #, c-format
 msgid "encoding error: %s"
 msgstr "enkoda eraro: %s"
 
-#: src/gsasl.c:888
+#: src/gsasl.c:879
 #, c-format
 msgid "Session finished...\n"
 msgstr "Seanco finiĝis...\n"
 
-#: src/gsasl.c:904
+#: src/gsasl.c:895
 #, c-format
 msgid "terminating GnuTLS session failed: %s"
 msgstr "ĉesigo de seanco GnuTLS malsukcesis: %s"
 
 #~ msgid ""
+#~ "error: Server did not return expected SASL data (it must begin with '334 
'):\n"
+#~ "%s\n"
+#~ msgstr ""
+#~ "eraro: Servilo ne redonis atenditan datumaron SASL (ĝi devas komenciĝi 
per '334 '):\n"
+#~ "%s\n"
+
+#~ msgid ""
 #~ "error: Server did not return expected SASL data (it must begin with '+ 
'):\n"
 #~ "%s\n"
 #~ msgstr ""
diff --git a/po/fi.po.in b/po/fi.po.in
index faefd09..101648c 100644
--- a/po/fi.po.in
+++ b/po/fi.po.in
@@ -1,14 +1,14 @@
 # Finnish messages for gsasl.
-# Copyright © 2009, 2010, 2011 Free Software Foundation, Inc.
+# Copyright © 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
 # This file is distributed under the same license as the gsasl package.
-# Jorma Karvonen <address@hidden>, 2009-2011.
+# Jorma Karvonen <address@hidden>, 2009-2012.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gsasl 1.6.1\n"
+"Project-Id-Version: gsasl 1.7.4\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2011-05-01 17:35+0200\n"
-"PO-Revision-Date: 2011-05-04 21:28+0200\n"
+"POT-Creation-Date: 2012-05-16 00:55+0200\n"
+"PO-Revision-Date: 2012-05-18 14:53+0200\n"
 "Last-Translator: Jorma Karvonen <address@hidden>\n"
 "Language-Team: Finnish <address@hidden>\n"
 "Language: fi\n"
@@ -22,23 +22,23 @@ msgstr ""
 msgid "Chose SASL mechanisms:\n"
 msgstr "Valitse SASL-mekanismit:\n"
 
-#: src/imap.c:106 src/smtp.c:110 src/gsasl.c:206
+#: src/imap.c:106 src/smtp.c:113 src/gsasl.c:206
 #, c-format
 msgid "Using mechanism:\n"
 msgstr "Käytetään mekanismia:\n"
 
-#: src/imap.c:156
+#: src/imap.c:180
 #, c-format
 msgid "error: server did not return a token\n"
 msgstr "virhe: palvelin ei palauttanut merkkijonoa\n"
 
-#: src/smtp.c:158
+#: src/smtp.c:192
 #, c-format
 msgid ""
-"error: Server did not return expected SASL data (it must begin with '334 
'):\n"
+"error: could not parse server data:\n"
 "%s\n"
 msgstr ""
-"virhe: Palvelin ei palauttanut odotettua SASL-dataa (sen on alettava 
merkeillä ’334 ’):\n"
+"virhe: ei voitu jäsentää palvelintietoja:\n"
 "%s\n"
 
 #: src/gsasl.c:178
@@ -61,207 +61,219 @@ msgstr "Tuloste palvelimelta:\n"
 msgid "Output from client:\n"
 msgstr "Tuloste asiakkaalta:\n"
 
-#: src/gsasl.c:281
+#: src/gsasl.c:272
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Lisätietoja käskyllä ”%s --help”.\n"
 
-#: src/gsasl.c:336
+#: src/gsasl.c:327
 #, c-format
 msgid "missing argument"
 msgstr "puuttuva argumentti"
 
-#: src/gsasl.c:343
+#: src/gsasl.c:334
 #, c-format
 msgid "need both --x509-cert-file and --x509-key-file"
 msgstr "tarvitsee sekä valitsimen --x509-cert-file että valitsimen 
--x509-key-file"
 
-#: src/gsasl.c:347
+#: src/gsasl.c:338
 #, c-format
 msgid "cannot use both --starttls and --no-starttls"
 msgstr "ei voi käyttää sekä valitsinta --starttls että valitsinta 
--no-starttls"
 
-#: src/gsasl.c:350
+#: src/gsasl.c:341
 #, c-format
 msgid "cannot use both --smtp and --imap"
 msgstr "ei voi käyttää sekä valitsinta --smtp että valitsinta --imap"
 
-#: src/gsasl.c:415
+#: src/gsasl.c:407
 #, c-format
 msgid "initialization failure: %s"
 msgstr "alustusvirhe: %s"
 
-#: src/gsasl.c:430
+#: src/gsasl.c:422
 #, c-format
 msgid "error listing mechanisms: %s"
 msgstr "virheluettelomekanismit: %s"
 
-#: src/gsasl.c:437
+#: src/gsasl.c:429
 #, c-format
 msgid "This client supports the following mechanisms:\n"
 msgstr "Tämä asiakas tukee seuraavia mekanismeja:\n"
 
-#: src/gsasl.c:440
+#: src/gsasl.c:432
 #, c-format
 msgid "This server supports the following mechanisms:\n"
 msgstr "Tämä palvelin tukee seuraavia mekanismeja:\n"
 
-#: src/gsasl.c:508
+#: src/gsasl.c:494
 #, c-format
 msgid "GnuTLS global initialization failed: %s"
 msgstr "GnuTLS-yleisalustus epäonnistui: %s"
 
-#: src/gsasl.c:513
+#: src/gsasl.c:499
 #, c-format
 msgid "GnuTLS initialization failed: %s"
 msgstr "GnuTLS-alustus epäonnistui: %s"
 
-#: src/gsasl.c:518
+#: src/gsasl.c:504
 #, c-format
 msgid "setting GnuTLS defaults failed: %s"
 msgstr "GnuTLS-oletusten asetus epäonnistui: %s"
 
-#: src/gsasl.c:524
+#: src/gsasl.c:510
 #, c-format
 msgid "allocating anonymous GnuTLS credential: %s"
 msgstr "varataan anonyymi GnuTLS-valtuutus: %s"
 
-#: src/gsasl.c:529
+#: src/gsasl.c:515
 #, c-format
 msgid "setting anonymous GnuTLS credential: %s"
 msgstr "asetetaan anonyymi GnuTLS-valtuutus: %s"
 
-#: src/gsasl.c:534
+#: src/gsasl.c:520
 #, c-format
 msgid "allocating X.509 GnuTLS credential: %s"
 msgstr "varataan X.509 GnuTLS-valtuutus: %s"
 
-#: src/gsasl.c:542
+#: src/gsasl.c:528
 #, c-format
 msgid "loading X.509 GnuTLS credential: %s"
 msgstr "ladataan X.509 GnuTLS-valtuutus: %s"
 
-#: src/gsasl.c:550
+#: src/gsasl.c:536
 #, c-format
 msgid "no X.509 CAs found: %s"
 msgstr "ei löytynyt X.509-varmennusviranomaisia: %s"
 
-#: src/gsasl.c:553
+#: src/gsasl.c:539
 #, c-format
 msgid "no X.509 CAs found"
 msgstr "ei löytynyt X.509-varmennusviranomaisia"
 
-#: src/gsasl.c:559
+#: src/gsasl.c:545
 #, c-format
 msgid "setting X.509 GnuTLS credential: %s"
 msgstr "asetetaan X.509 GnuTLS-valtuutus: %s"
 
-#: src/gsasl.c:570
+#: src/gsasl.c:556
 #, c-format
 msgid "setting GnuTLS cipher priority (%s): %s\n"
 msgstr "asetetaan GnuTLS-salausprioriteetti (%s): %s\n"
 
-#: src/gsasl.c:582
+#: src/gsasl.c:568
 #, c-format
 msgid "GnuTLS handshake failed: %s"
 msgstr "GnuTLS-kättely epäonnistui: %s"
 
-#: src/gsasl.c:591
+#: src/gsasl.c:577
 #, c-format
 msgid "verifying peer certificate: %s"
 msgstr "todenna vertaisvarmenne: %s"
 
-#: src/gsasl.c:595
+#: src/gsasl.c:581
 #, c-format
 msgid "server certificate is not trusted"
 msgstr "palvelinvarmenne ei ole luotettava"
 
-#: src/gsasl.c:599
+#: src/gsasl.c:585
 #, c-format
 msgid "server certificate hasn't got a known issuer"
 msgstr "palvelinvarmenteen julkaisija ei ole tunnettu"
 
-#: src/gsasl.c:602
+#: src/gsasl.c:588
 #, c-format
 msgid "server certificate has been revoked"
 msgstr "palvelinvarmenne on peruttu"
 
-#: src/gsasl.c:606
+#: src/gsasl.c:592
 #, c-format
 msgid "could not verify server certificate (rc=%d)"
 msgstr "ei voitu todentaa palvelinvarmennetta (rc=%d)"
 
-#: src/gsasl.c:617
+#: src/gsasl.c:603
 #, c-format
 msgid "getting channel binding failed: %s"
 msgstr "kanavasitomisen hakeminen epäonnistui: %s"
 
-#: src/gsasl.c:647
+#: src/gsasl.c:633
 #, c-format
 msgid "Cannot find mechanism...\n"
 msgstr "Mekanismia ei löydy...\n"
 
-#: src/gsasl.c:664
+#: src/gsasl.c:650
 #, c-format
 msgid "mechanism unavailable: %s"
 msgstr "mekanismi on tavoittamattomissa: %s"
 
-#: src/gsasl.c:693
+#: src/gsasl.c:678
 #, c-format
 msgid "Enter base64 authentication data from client (press RET if none):\n"
 msgstr "Kirjoita base64-varmennedataa asiakkaalta (paina RET, jos ei 
mitään):\n"
 
-#: src/gsasl.c:696
+#: src/gsasl.c:681
 #, c-format
 msgid "Enter base64 authentication data from server (press RET if none):\n"
 msgstr "Kirjoita base64-varmennedataa palvelimelta (paina RET, jos ei 
mitään):\n"
 
-#: src/gsasl.c:706
+#: src/gsasl.c:691
+#, c-format
+msgid "server error"
+msgstr "palvelinvirhe"
+
+#: src/gsasl.c:699
 #, c-format
 msgid "mechanism error: %s"
 msgstr "mekanismivirhe: %s"
 
-#: src/gsasl.c:715
+#: src/gsasl.c:705
 #, c-format
 msgid "Server authentication finished (client trusted)...\n"
 msgstr "Palvelinvarmennus päättynyt (asiakas luotettu)...\n"
 
-#: src/gsasl.c:718
+#: src/gsasl.c:708
 #, c-format
 msgid "Client authentication finished (server trusted)...\n"
 msgstr "Asiakasvarmennus päättynyt (palvelin luotettu)...\n"
 
-#: src/gsasl.c:742
+#: src/gsasl.c:733
 #, c-format
 msgid "Enter application data (EOF to finish):\n"
 msgstr "Kirjoita sovellusdataa (Päätä EOF-merkillä):\n"
 
-#: src/gsasl.c:814
+#: src/gsasl.c:804
 #, c-format
 msgid "Base64 encoded application data to send:\n"
 msgstr "Base64-koodattua sovellusdataa lähetettävänä:\n"
 
-#: src/gsasl.c:859
+#: src/gsasl.c:850
 #, c-format
 msgid "SASL record too large: %zu\n"
 msgstr "SASL-tietue on liian suuri: %zu\n"
 
-#: src/gsasl.c:883
+#: src/gsasl.c:874
 #, c-format
 msgid "encoding error: %s"
 msgstr "koodausvirhe: %s"
 
-#: src/gsasl.c:888
+#: src/gsasl.c:879
 #, c-format
 msgid "Session finished...\n"
 msgstr "Istunto päättyi...\n"
 
-#: src/gsasl.c:904
+#: src/gsasl.c:895
 #, c-format
 msgid "terminating GnuTLS session failed: %s"
 msgstr "GnuTLS-istunnon päättäminen epäonnistui: %s"
 
 #~ msgid ""
+#~ "error: Server did not return expected SASL data (it must begin with '334 
'):\n"
+#~ "%s\n"
+#~ msgstr ""
+#~ "virhe: Palvelin ei palauttanut odotettua SASL-dataa (sen on alettava 
merkeillä ’334 ’):\n"
+#~ "%s\n"
+
+#~ msgid ""
 #~ "error: Server did not return expected SASL data (it must begin with '+ 
'):\n"
 #~ "%s\n"
 #~ msgstr ""
diff --git a/po/it.po.in b/po/it.po.in
index 0dea5b2..5fc3a35 100644
--- a/po/it.po.in
+++ b/po/it.po.in
@@ -1,44 +1,44 @@
 # Italian translation for gsasl.
 # Copyright (C) 2010 Free Software Foundation, Inc.
 # This file is distributed under the same license as the gsasl package.
-# Sergio Zanchetta <address@hidden>, 2010, 2011.
+# Sergio Zanchetta <address@hidden>, 2010, 2011, 2012.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gsasl-1.6.1\n"
+"Project-Id-Version: gsasl-1.7.4\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2011-05-01 17:35+0200\n"
-"PO-Revision-Date: 2011-05-04 16:49+0200\n"
+"POT-Creation-Date: 2012-05-16 00:55+0200\n"
+"PO-Revision-Date: 2012-05-18 16:22+0200\n"
 "Last-Translator: Sergio Zanchetta <address@hidden>\n"
 "Language-Team: Italian <address@hidden>\n"
 "Language: it\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural= (n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
 
 #: src/imap.c:76 src/smtp.c:79
 #, c-format
 msgid "Chose SASL mechanisms:\n"
 msgstr "Meccanismo SASL scelto:\n"
 
-#: src/imap.c:106 src/smtp.c:110 src/gsasl.c:206
+#: src/imap.c:106 src/smtp.c:113 src/gsasl.c:206
 #, c-format
 msgid "Using mechanism:\n"
 msgstr "Meccanismo in uso:\n"
 
-#: src/imap.c:156
+#: src/imap.c:180
 #, c-format
 msgid "error: server did not return a token\n"
 msgstr "errore: il server non ha restituito un token\n"
 
-#: src/smtp.c:158
+#: src/smtp.c:192
 #, c-format
 msgid ""
-"error: Server did not return expected SASL data (it must begin with '334 
'):\n"
+"error: could not parse server data:\n"
 "%s\n"
 msgstr ""
-"errore: il server non ha restituito i dati SASL attesi (devono iniziare con 
\"334 \"):\n"
+"errore: impossibile analizzare i dati del server:\n"
 "%s\n"
 
 #: src/gsasl.c:178
@@ -61,207 +61,219 @@ msgstr "Output dal server:\n"
 msgid "Output from client:\n"
 msgstr "Output dal client:\n"
 
-#: src/gsasl.c:281
+#: src/gsasl.c:272
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Usare \"%s --help\" per maggiori informazioni.\n"
 
-#: src/gsasl.c:336
+#: src/gsasl.c:327
 #, c-format
 msgid "missing argument"
 msgstr "argomento mancante"
 
-#: src/gsasl.c:343
+#: src/gsasl.c:334
 #, c-format
 msgid "need both --x509-cert-file and --x509-key-file"
 msgstr "necessari sia --x509-cert-file che --x509-key-file"
 
-#: src/gsasl.c:347
+#: src/gsasl.c:338
 #, c-format
 msgid "cannot use both --starttls and --no-starttls"
 msgstr "impossibile usare sia --starttls che --no-starttls"
 
-#: src/gsasl.c:350
+#: src/gsasl.c:341
 #, c-format
 msgid "cannot use both --smtp and --imap"
 msgstr "impossibile usare sia --smtp che --imap"
 
-#: src/gsasl.c:415
+#: src/gsasl.c:407
 #, c-format
 msgid "initialization failure: %s"
 msgstr "inizializzazione non riuscita: %s"
 
-#: src/gsasl.c:430
+#: src/gsasl.c:422
 #, c-format
 msgid "error listing mechanisms: %s"
 msgstr "errore nell'elencare i meccanismi: %s"
 
-#: src/gsasl.c:437
+#: src/gsasl.c:429
 #, c-format
 msgid "This client supports the following mechanisms:\n"
 msgstr "Questo client supporta i seguenti meccanismi:\n"
 
-#: src/gsasl.c:440
+#: src/gsasl.c:432
 #, c-format
 msgid "This server supports the following mechanisms:\n"
 msgstr "Questo server supporta i seguenti meccanismi:\n"
 
-#: src/gsasl.c:508
+#: src/gsasl.c:494
 #, c-format
 msgid "GnuTLS global initialization failed: %s"
 msgstr "inizializzazione globale di GnuTLS non riuscita: %s"
 
-#: src/gsasl.c:513
+#: src/gsasl.c:499
 #, c-format
 msgid "GnuTLS initialization failed: %s"
 msgstr "inizializzazione di GnuTLS non riuscita: %s"
 
-#: src/gsasl.c:518
+#: src/gsasl.c:504
 #, c-format
 msgid "setting GnuTLS defaults failed: %s"
 msgstr "impostazione dei predefiniti GnuTLS non riuscita: %s"
 
-#: src/gsasl.c:524
+#: src/gsasl.c:510
 #, c-format
 msgid "allocating anonymous GnuTLS credential: %s"
 msgstr "allocazione delle credenziali anonime di GnuTLS: %s"
 
-#: src/gsasl.c:529
+#: src/gsasl.c:515
 #, c-format
 msgid "setting anonymous GnuTLS credential: %s"
 msgstr "impostazione delle credenziali anonime di GnuTLS: %s"
 
-#: src/gsasl.c:534
+#: src/gsasl.c:520
 #, c-format
 msgid "allocating X.509 GnuTLS credential: %s"
 msgstr "allocazione della credenziale X.509 di GnuTLS: %s"
 
-#: src/gsasl.c:542
+#: src/gsasl.c:528
 #, c-format
 msgid "loading X.509 GnuTLS credential: %s"
 msgstr "caricamento della credenziale X.509 di GnuTLS: %s"
 
-#: src/gsasl.c:550
+#: src/gsasl.c:536
 #, c-format
 msgid "no X.509 CAs found: %s"
 msgstr "nessun CA X.509 trovato: %s"
 
-#: src/gsasl.c:553
+#: src/gsasl.c:539
 #, c-format
 msgid "no X.509 CAs found"
 msgstr "nessun CA X.509 trovato"
 
-#: src/gsasl.c:559
+#: src/gsasl.c:545
 #, c-format
 msgid "setting X.509 GnuTLS credential: %s"
 msgstr "impostazione della credenziale X.509 di GnuTLS: %s"
 
-#: src/gsasl.c:570
+#: src/gsasl.c:556
 #, c-format
 msgid "setting GnuTLS cipher priority (%s): %s\n"
 msgstr "impostazione priorità del cifrario di GnuTLS (%s): %s\n"
 
-#: src/gsasl.c:582
+#: src/gsasl.c:568
 #, c-format
 msgid "GnuTLS handshake failed: %s"
 msgstr "handshake di GnuTLS non riuscito: %s"
 
-#: src/gsasl.c:591
+#: src/gsasl.c:577
 #, c-format
 msgid "verifying peer certificate: %s"
 msgstr "verifica certificato del peer: %s"
 
-#: src/gsasl.c:595
+#: src/gsasl.c:581
 #, c-format
 msgid "server certificate is not trusted"
 msgstr "il certificato del server non è fidato"
 
-#: src/gsasl.c:599
+#: src/gsasl.c:585
 #, c-format
 msgid "server certificate hasn't got a known issuer"
 msgstr "il certificato del server non ha un emittente conosciuto"
 
-#: src/gsasl.c:602
+#: src/gsasl.c:588
 #, c-format
 msgid "server certificate has been revoked"
 msgstr "il certificato del server è stato revocato"
 
-#: src/gsasl.c:606
+#: src/gsasl.c:592
 #, c-format
 msgid "could not verify server certificate (rc=%d)"
 msgstr "impossibile verificare il certificato del server (rc=%d)"
 
-#: src/gsasl.c:617
+#: src/gsasl.c:603
 #, c-format
 msgid "getting channel binding failed: %s"
 msgstr "recupero dell'associazione di canale non riuscito: %s"
 
-#: src/gsasl.c:647
+#: src/gsasl.c:633
 #, c-format
 msgid "Cannot find mechanism...\n"
 msgstr "Impossibile trovare il meccanismo...\n"
 
-#: src/gsasl.c:664
+#: src/gsasl.c:650
 #, c-format
 msgid "mechanism unavailable: %s"
 msgstr "meccanismo non disponibile: %s"
 
-#: src/gsasl.c:693
+#: src/gsasl.c:678
 #, c-format
 msgid "Enter base64 authentication data from client (press RET if none):\n"
 msgstr "Inserire i dati di autenticazione in base64 dal client (premere INVIO 
se non presenti):\n"
 
-#: src/gsasl.c:696
+#: src/gsasl.c:681
 #, c-format
 msgid "Enter base64 authentication data from server (press RET if none):\n"
 msgstr "Inserire dati di autenticazione in base64 dal server (premere INVIO se 
non presenti):\n"
 
-#: src/gsasl.c:706
+#: src/gsasl.c:691
+#, c-format
+msgid "server error"
+msgstr "errore del server"
+
+#: src/gsasl.c:699
 #, c-format
 msgid "mechanism error: %s"
 msgstr "errore del meccanismo: %s"
 
-#: src/gsasl.c:715
+#: src/gsasl.c:705
 #, c-format
 msgid "Server authentication finished (client trusted)...\n"
 msgstr "Autenticazione del server terminata (client fidato)...\n"
 
-#: src/gsasl.c:718
+#: src/gsasl.c:708
 #, c-format
 msgid "Client authentication finished (server trusted)...\n"
 msgstr "Autenticazione del client terminata (server fidato)...\n"
 
-#: src/gsasl.c:742
+#: src/gsasl.c:733
 #, c-format
 msgid "Enter application data (EOF to finish):\n"
 msgstr "Inserire dati applicazione (EOF per terminare):\n"
 
-#: src/gsasl.c:814
+#: src/gsasl.c:804
 #, c-format
 msgid "Base64 encoded application data to send:\n"
 msgstr "Dati applicazione codificati in base64 da inviare:\n"
 
-#: src/gsasl.c:859
+#: src/gsasl.c:850
 #, c-format
 msgid "SASL record too large: %zu\n"
 msgstr "Record SASL troppo grande: %zu\n"
 
-#: src/gsasl.c:883
+#: src/gsasl.c:874
 #, c-format
 msgid "encoding error: %s"
 msgstr "errore di codifica: %s"
 
-#: src/gsasl.c:888
+#: src/gsasl.c:879
 #, c-format
 msgid "Session finished...\n"
 msgstr "Sessione terminata...\n"
 
-#: src/gsasl.c:904
+#: src/gsasl.c:895
 #, c-format
 msgid "terminating GnuTLS session failed: %s"
 msgstr "arresto della sessione GnuTLS non riuscito: %s"
 
 #~ msgid ""
+#~ "error: Server did not return expected SASL data (it must begin with '334 
'):\n"
+#~ "%s\n"
+#~ msgstr ""
+#~ "errore: il server non ha restituito i dati SASL attesi (devono iniziare 
con \"334 \"):\n"
+#~ "%s\n"
+
+#~ msgid ""
 #~ "error: Server did not return expected SASL data (it must begin with '+ 
'):\n"
 #~ "%s\n"
 #~ msgstr ""
diff --git a/po/uk.po.in b/po/uk.po.in
index 92d92ce..cb49abf 100644
--- a/po/uk.po.in
+++ b/po/uk.po.in
@@ -3,20 +3,20 @@
 # Copyright (C) 2011 Free Software Foundation, Inc.
 # This file is distributed under the same license as the gsasl package.
 #
-# Yuri Chornoivan <address@hidden>, 2011.
+# Yuri Chornoivan <address@hidden>, 2011, 2012.
 msgid ""
 msgstr ""
-"Project-Id-Version: gsasl 1.6.1\n"
+"Project-Id-Version: gsasl 1.7.4\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2011-05-01 17:35+0200\n"
-"PO-Revision-Date: 2011-05-04 16:06+0300\n"
+"POT-Creation-Date: 2012-05-16 00:55+0200\n"
+"PO-Revision-Date: 2012-05-18 12:46+0300\n"
 "Last-Translator: Yuri Chornoivan <address@hidden>\n"
 "Language-Team: Ukrainian <address@hidden>\n"
 "Language: uk\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Lokalize 1.2\n"
+"X-Generator: Lokalize 1.5\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
 #: src/imap.c:76 src/smtp.c:79
@@ -24,23 +24,23 @@ msgstr ""
 msgid "Chose SASL mechanisms:\n"
 msgstr "Виберіть механізми SASL:\n"
 
-#: src/imap.c:106 src/smtp.c:110 src/gsasl.c:206
+#: src/imap.c:106 src/smtp.c:113 src/gsasl.c:206
 #, c-format
 msgid "Using mechanism:\n"
 msgstr "Використаний механізм:\n"
 
-#: src/imap.c:156
+#: src/imap.c:180
 #, c-format
 msgid "error: server did not return a token\n"
 msgstr "помилка: сервером не повернуто 
лексему\n"
 
-#: src/smtp.c:158
+#: src/smtp.c:192
 #, c-format
 msgid ""
-"error: Server did not return expected SASL data (it must begin with '334 
'):\n"
+"error: could not parse server data:\n"
 "%s\n"
 msgstr ""
-"помилка: сервером не повернуто очікувані 
дані SASL (відповідь мала починатися з «334 »):\n"
+"помилка: не вдалося обробити дані 
сервера:\n"
 "%s\n"
 
 #: src/gsasl.c:178
@@ -63,202 +63,214 @@ msgstr "Дані, виведені сервером:\n"
 msgid "Output from client:\n"
 msgstr "Дані, виведені клієнтом:\n"
 
-#: src/gsasl.c:281
+#: src/gsasl.c:272
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Щоб дізнатися більше, віддайте 
команду «%s --help».\n"
 
-#: src/gsasl.c:336
+#: src/gsasl.c:327
 #, c-format
 msgid "missing argument"
 msgstr "не вистачає аргументу"
 
-#: src/gsasl.c:343
+#: src/gsasl.c:334
 #, c-format
 msgid "need both --x509-cert-file and --x509-key-file"
 msgstr "слід вказати два параметри: --x509-cert-file і 
--x509-key-file"
 
-#: src/gsasl.c:347
+#: src/gsasl.c:338
 #, c-format
 msgid "cannot use both --starttls and --no-starttls"
 msgstr "не можна використовувати одночасно 
--starttls і --no-starttls"
 
-#: src/gsasl.c:350
+#: src/gsasl.c:341
 #, c-format
 msgid "cannot use both --smtp and --imap"
 msgstr "не можна використовувати одночасно 
--smtp і --imap"
 
-#: src/gsasl.c:415
+#: src/gsasl.c:407
 #, c-format
 msgid "initialization failure: %s"
 msgstr "помилка ініціалізації: %s"
 
-#: src/gsasl.c:430
+#: src/gsasl.c:422
 #, c-format
 msgid "error listing mechanisms: %s"
 msgstr "помилка під час спроби побудови 
списку механізмів: %s"
 
-#: src/gsasl.c:437
+#: src/gsasl.c:429
 #, c-format
 msgid "This client supports the following mechanisms:\n"
 msgstr "Цим клієнтом підтримуються такі мех
анізми:\n"
 
-#: src/gsasl.c:440
+#: src/gsasl.c:432
 #, c-format
 msgid "This server supports the following mechanisms:\n"
 msgstr "Цим сервером підтримуються такі мех
анізми:\n"
 
-#: src/gsasl.c:508
+#: src/gsasl.c:494
 #, c-format
 msgid "GnuTLS global initialization failed: %s"
 msgstr "Помилка ініціалізації GnuTLS на 
загальному рівні: %s"
 
-#: src/gsasl.c:513
+#: src/gsasl.c:499
 #, c-format
 msgid "GnuTLS initialization failed: %s"
 msgstr "Помилка ініціалізації GnuTLS: %s"
 
-#: src/gsasl.c:518
+#: src/gsasl.c:504
 #, c-format
 msgid "setting GnuTLS defaults failed: %s"
 msgstr "помилка встановлення типових 
параметрів GnuTLS: %s"
 
-#: src/gsasl.c:524
+#: src/gsasl.c:510
 #, c-format
 msgid "allocating anonymous GnuTLS credential: %s"
 msgstr "розміщення анонімних реєстраційних 
даних GnuTLS: %s"
 
-#: src/gsasl.c:529
+#: src/gsasl.c:515
 #, c-format
 msgid "setting anonymous GnuTLS credential: %s"
 msgstr "встановлення анонімних реєстраційних 
даних GnuTLS: %s"
 
-#: src/gsasl.c:534
+#: src/gsasl.c:520
 #, c-format
 msgid "allocating X.509 GnuTLS credential: %s"
 msgstr "розміщення реєстраційних даних GnuTLS 
для X.509: %s"
 
-#: src/gsasl.c:542
+#: src/gsasl.c:528
 #, c-format
 msgid "loading X.509 GnuTLS credential: %s"
 msgstr "завантаження реєстраційних даних GnuTLS 
для X.509: %s"
 
-#: src/gsasl.c:550
+#: src/gsasl.c:536
 #, c-format
 msgid "no X.509 CAs found: %s"
 msgstr "не знайдено CA X.509: %s"
 
-#: src/gsasl.c:553
+#: src/gsasl.c:539
 #, c-format
 msgid "no X.509 CAs found"
 msgstr "не знайдено CA X.509"
 
-#: src/gsasl.c:559
+#: src/gsasl.c:545
 #, c-format
 msgid "setting X.509 GnuTLS credential: %s"
 msgstr "встановлення анонімних реєстраційних 
даних GnuTLS для X.509: %s"
 
-#: src/gsasl.c:570
+#: src/gsasl.c:556
 #, c-format
 msgid "setting GnuTLS cipher priority (%s): %s\n"
 msgstr "встановлення пріоритету шифрування 
GnuTLS (%s): %s\n"
 
-#: src/gsasl.c:582
+#: src/gsasl.c:568
 #, c-format
 msgid "GnuTLS handshake failed: %s"
 msgstr "Помилка під час спроби встановлення 
зв’язку з GnuTLS: %s"
 
-#: src/gsasl.c:591
+#: src/gsasl.c:577
 #, c-format
 msgid "verifying peer certificate: %s"
 msgstr "перевірка сертифіката вузла: %s"
 
-#: src/gsasl.c:595
+#: src/gsasl.c:581
 #, c-format
 msgid "server certificate is not trusted"
 msgstr "сертифікат сервера не є надійним"
 
-#: src/gsasl.c:599
+#: src/gsasl.c:585
 #, c-format
 msgid "server certificate hasn't got a known issuer"
 msgstr "сертифікат сервера не було створено 
відомим видавцем"
 
-#: src/gsasl.c:602
+#: src/gsasl.c:588
 #, c-format
 msgid "server certificate has been revoked"
 msgstr "сертифікат сервера було відкликано"
 
-#: src/gsasl.c:606
+#: src/gsasl.c:592
 #, c-format
 msgid "could not verify server certificate (rc=%d)"
 msgstr "не вдалося перевірити сертифікат 
сервера (rc=%d)"
 
-#: src/gsasl.c:617
+#: src/gsasl.c:603
 #, c-format
 msgid "getting channel binding failed: %s"
 msgstr "помилка під час спроби прив’язатися 
до каналу: %s"
 
-#: src/gsasl.c:647
+#: src/gsasl.c:633
 #, c-format
 msgid "Cannot find mechanism...\n"
 msgstr "Не вдалося знайти механізм...\n"
 
-#: src/gsasl.c:664
+#: src/gsasl.c:650
 #, c-format
 msgid "mechanism unavailable: %s"
 msgstr "механізм недоступний: %s"
 
-#: src/gsasl.c:693
+#: src/gsasl.c:678
 #, c-format
 msgid "Enter base64 authentication data from client (press RET if none):\n"
 msgstr "Вкажіть дані розпізнавання у форматі 
base64 від клієнта (натисніть Enter, якщо таких 
даних немає):\n"
 
-#: src/gsasl.c:696
+#: src/gsasl.c:681
 #, c-format
 msgid "Enter base64 authentication data from server (press RET if none):\n"
 msgstr "Вкажіть дані розпізнавання у форматі 
base64 від сервера (натисніть Enter, якщо таких 
даних немає):\n"
 
-#: src/gsasl.c:706
+#: src/gsasl.c:691
+#, c-format
+msgid "server error"
+msgstr "помилка на сервері"
+
+#: src/gsasl.c:699
 #, c-format
 msgid "mechanism error: %s"
 msgstr "помилка механізму: %s"
 
-#: src/gsasl.c:715
+#: src/gsasl.c:705
 #, c-format
 msgid "Server authentication finished (client trusted)...\n"
 msgstr "Розпізнавання на сервері завершено 
(клієнт визнано надійним)...\n"
 
-#: src/gsasl.c:718
+#: src/gsasl.c:708
 #, c-format
 msgid "Client authentication finished (server trusted)...\n"
 msgstr "Розпізнавання на клієнті завершено 
(сервер визнано надійним)...\n"
 
-#: src/gsasl.c:742
+#: src/gsasl.c:733
 #, c-format
 msgid "Enter application data (EOF to finish):\n"
 msgstr "Вкажіть дані заяви (дані мають 
завершуватися символом EOF):\n"
 
-#: src/gsasl.c:814
+#: src/gsasl.c:804
 #, c-format
 msgid "Base64 encoded application data to send:\n"
 msgstr "Закодовані у форматі Base64 дані, які 
буде надіслано:\n"
 
-#: src/gsasl.c:859
+#: src/gsasl.c:850
 #, c-format
 msgid "SASL record too large: %zu\n"
 msgstr "Запис SASL є занадто великим: %zu\n"
 
-#: src/gsasl.c:883
+#: src/gsasl.c:874
 #, c-format
 msgid "encoding error: %s"
 msgstr "помилка кодування: %s"
 
-#: src/gsasl.c:888
+#: src/gsasl.c:879
 #, c-format
 msgid "Session finished...\n"
 msgstr "Сеанс завершено...\n"
 
-#: src/gsasl.c:904
+#: src/gsasl.c:895
 #, c-format
 msgid "terminating GnuTLS session failed: %s"
 msgstr "спроба переривання сеансу GnuTLS зазнала 
невдачі: %s"
+
+#~ msgid ""
+#~ "error: Server did not return expected SASL data (it must begin with '334 
'):\n"
+#~ "%s\n"
+#~ msgstr ""
+#~ "помилка: сервером не повернуто 
очікувані дані SASL (відповідь мала 
починатися з «334 »):\n"
+#~ "%s\n"
diff --git a/po/vi.po.in b/po/vi.po.in
index 8cc2fe2..a91b502 100644
--- a/po/vi.po.in
+++ b/po/vi.po.in
@@ -6,12 +6,12 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gsasl 1.6.1\n"
+"Project-Id-Version: gsasl-1.7.4\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2011-05-01 17:35+0200\n"
-"PO-Revision-Date: 2012-03-15 15:09+0700\n"
+"POT-Creation-Date: 2012-05-16 00:55+0200\n"
+"PO-Revision-Date: 2012-05-18 14:35+0700\n"
 "Last-Translator: Trần Ngọc Quân <address@hidden>\n"
-"Language-Team: Vietnamese <address@hidden>\n"
+"Language-Team: Vietnamese <address@hidden>\n"
 "Language: vi\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -27,24 +27,23 @@ msgstr ""
 msgid "Chose SASL mechanisms:\n"
 msgstr "Chọn cơ cấu SASL:\n"
 
-#: src/imap.c:106 src/smtp.c:110 src/gsasl.c:206
+#: src/imap.c:106 src/smtp.c:113 src/gsasl.c:206
 #, c-format
 msgid "Using mechanism:\n"
-msgstr "Đang dùng cơ cấu : \n"
+msgstr "Đang dùng cơ cấu: \n"
 
-#: src/imap.c:156
+#: src/imap.c:180
 #, c-format
 msgid "error: server did not return a token\n"
 msgstr "lỗi: máy chủ không trả về một thẻ bài\n"
 
-#: src/smtp.c:158
+#: src/smtp.c:192
 #, c-format
 msgid ""
-"error: Server did not return expected SASL data (it must begin with '334 
'):\n"
+"error: could not parse server data:\n"
 "%s\n"
 msgstr ""
-"lỗi: máy phục vụ không đáp ứng dữ liệu SASL mong đợi\n"
-"(nó phải bắt đầu với số « 334 »):\n"
+"lỗi: không thể phân tích dữ liệu máy chủ:\n"
 "%s\n"
 
 #: src/gsasl.c:178
@@ -67,210 +66,223 @@ msgstr "Kết xuất từ máy phục vụ :\n"
 msgid "Output from client:\n"
 msgstr "Kết xuất từ ứng dụng khách:\n"
 
-#: src/gsasl.c:281
+#: src/gsasl.c:272
 #, c-format
 msgid "Try `%s --help' for more information.\n"
-msgstr "Hãy chạy lệnh « %s --help » (trợ giúp) để xem thông tin 
thêm.\n"
+msgstr "Hãy chạy lệnh \"%s --help\" (trợ giúp) để xem thông tin 
thêm.\n"
 
-#: src/gsasl.c:336
+#: src/gsasl.c:327
 #, c-format
 msgid "missing argument"
 msgstr "đối số còn thiếu"
 
-#: src/gsasl.c:343
+#: src/gsasl.c:334
 #, c-format
 msgid "need both --x509-cert-file and --x509-key-file"
-msgstr "cần thiết cả « --x509-cert-file » (tập tin chứng nhận) 
lẫn « --x509-key-file » (tập tin khóa)"
+msgstr "cần thiết cả \"--x509-cert-file\" (tập tin chứng nhận) 
lẫn \"--x509-key-file\" (tập tin khóa)"
 
-#: src/gsasl.c:347
+#: src/gsasl.c:338
 #, c-format
 msgid "cannot use both --starttls and --no-starttls"
-msgstr "không thể dùng tùy chọn « --starttls » (có) với « 
--no-starttls » (không)"
+msgstr "không thể dùng tùy chọn \"--starttls\" (có) với 
\"--no-starttls\" (không)"
 
-#: src/gsasl.c:350
+#: src/gsasl.c:341
 #, c-format
 msgid "cannot use both --smtp and --imap"
-msgstr "không thể dùng tùy chọn « --smtp » với « --imap » (hai 
giao thức khác nhau)"
+msgstr "không thể dùng tùy chọn \"--smtp\" với \"--imap\" (hai giao 
thức khác nhau)"
 
-#: src/gsasl.c:415
+#: src/gsasl.c:407
 #, c-format
 msgid "initialization failure: %s"
 msgstr "lỗi sở khởi: %s"
 
-#: src/gsasl.c:430
+#: src/gsasl.c:422
 #, c-format
 msgid "error listing mechanisms: %s"
 msgstr "gặp lỗi khi liệt kê cơ cấu : %s"
 
-#: src/gsasl.c:437
+#: src/gsasl.c:429
 #, c-format
 msgid "This client supports the following mechanisms:\n"
 msgstr "Ứng dụng khách này hỗ trợ các cơ cấu theo đây:\n"
 
-#: src/gsasl.c:440
+#: src/gsasl.c:432
 #, c-format
 msgid "This server supports the following mechanisms:\n"
 msgstr "Máy phục vụ này hỗ trợ các cơ cấu theo đây:\n"
 
-#: src/gsasl.c:508
+#: src/gsasl.c:494
 #, c-format
 msgid "GnuTLS global initialization failed: %s"
 msgstr "Lỗi sở khởi toàn cục GnuTLS: %s"
 
-#: src/gsasl.c:513
+#: src/gsasl.c:499
 #, c-format
 msgid "GnuTLS initialization failed: %s"
 msgstr "Lỗi sở khởi GnuTLS: %s"
 
-#: src/gsasl.c:518
+#: src/gsasl.c:504
 #, c-format
 msgid "setting GnuTLS defaults failed: %s"
 msgstr "lỗi đặt các giá trị mặc định cho GnuTLS: %s"
 
-#: src/gsasl.c:524
+#: src/gsasl.c:510
 #, c-format
 msgid "allocating anonymous GnuTLS credential: %s"
 msgstr "đang cấp phát thông tin xác thực GnuTLS kiểu vô danh: %s"
 
-#: src/gsasl.c:529
+#: src/gsasl.c:515
 #, c-format
 msgid "setting anonymous GnuTLS credential: %s"
 msgstr "đang đặt thông tin xác thực GnuTLS kiểu vô danh: %s"
 
-#: src/gsasl.c:534
+#: src/gsasl.c:520
 #, c-format
 msgid "allocating X.509 GnuTLS credential: %s"
 msgstr "đang cấp phát thông tin xác thực GnuTLS kiểu X.509: %s"
 
-#: src/gsasl.c:542
+#: src/gsasl.c:528
 #, c-format
 msgid "loading X.509 GnuTLS credential: %s"
 msgstr "đang tải thông tin xác thực GnuTLS kiểu X.509: %s"
 
-#: src/gsasl.c:550
+#: src/gsasl.c:536
 #, c-format
 msgid "no X.509 CAs found: %s"
 msgstr "không tìm thấy Nhà Cầm Quyền Chứng Nhận X.509 nào: %s"
 
-#: src/gsasl.c:553
+#: src/gsasl.c:539
 #, c-format
 msgid "no X.509 CAs found"
 msgstr "không tìm thấy Nhà Cầm Quyền Chứng Nhận X.509 nào"
 
-#: src/gsasl.c:559
+#: src/gsasl.c:545
 #, c-format
 msgid "setting X.509 GnuTLS credential: %s"
 msgstr "đang đặt thông tin xác thực GnuTLS kiểu X509: %s"
 
-#: src/gsasl.c:570
+#: src/gsasl.c:556
 #, c-format
 msgid "setting GnuTLS cipher priority (%s): %s\n"
 msgstr "đang đặt ưu tiên mật mã GnuTLS (%s): %s\n"
 
-#: src/gsasl.c:582
+#: src/gsasl.c:568
 #, c-format
 msgid "GnuTLS handshake failed: %s"
 msgstr "lỗi thiết lập quan hệ GnuTLS: %s"
 
-#: src/gsasl.c:591
+#: src/gsasl.c:577
 #, c-format
 msgid "verifying peer certificate: %s"
 msgstr "đang thẩm tra chứng nhận ngang hàng: %s"
 
-#: src/gsasl.c:595
+#: src/gsasl.c:581
 #, c-format
 msgid "server certificate is not trusted"
 msgstr "chứng nhận của máy phục vụ không phải là tin cây"
 
-#: src/gsasl.c:599
+#: src/gsasl.c:585
 #, c-format
 msgid "server certificate hasn't got a known issuer"
 msgstr "chứng nhận của máy phục vụ không có nhà phát hành đã 
biết"
 
-#: src/gsasl.c:602
+#: src/gsasl.c:588
 #, c-format
 msgid "server certificate has been revoked"
 msgstr "chứng nhận của máy phục vụ đã bị hủy bỏ"
 
-#: src/gsasl.c:606
+#: src/gsasl.c:592
 #, c-format
 msgid "could not verify server certificate (rc=%d)"
 msgstr "không thể thẩm tra chứng nhận của máy phục vụ (rc=%d)"
 
-#: src/gsasl.c:617
+#: src/gsasl.c:603
 #, c-format
 msgid "getting channel binding failed: %s"
 msgstr "Ràng buộc kênh chào hởi gặp lỗi: %s"
 
-#: src/gsasl.c:647
+#: src/gsasl.c:633
 #, c-format
 msgid "Cannot find mechanism...\n"
 msgstr "Không tìm thấy cơ cấu...\n"
 
-#: src/gsasl.c:664
+#: src/gsasl.c:650
 #, c-format
 msgid "mechanism unavailable: %s"
 msgstr "cơ cấu không sẵn sàng: %s"
 
-#: src/gsasl.c:693
+#: src/gsasl.c:678
 #, c-format
 msgid "Enter base64 authentication data from client (press RET if none):\n"
 msgstr "Nhập dữ liệu xác thực cơ số 64 từ ứng dụng khách 
(ấn phím RETURN nếu không có):\n"
 
-#: src/gsasl.c:696
+#: src/gsasl.c:681
 #, c-format
 msgid "Enter base64 authentication data from server (press RET if none):\n"
 msgstr "Nhập dữ liệu xác thực cơ số 64 từ máy phục vụ (ấn 
phím RETURN nếu không có):\n"
 
-#: src/gsasl.c:706
+#: src/gsasl.c:691
+#, c-format
+msgid "server error"
+msgstr "lỗi máy phục vụ"
+
+#: src/gsasl.c:699
 #, c-format
 msgid "mechanism error: %s"
 msgstr "gặp lỗi cơ cấu : %s"
 
-#: src/gsasl.c:715
+#: src/gsasl.c:705
 #, c-format
 msgid "Server authentication finished (client trusted)...\n"
 msgstr "Việc xác thực máy phục vụ đã xong (ứng dụng khách 
được tin)...\n"
 
-#: src/gsasl.c:718
+#: src/gsasl.c:708
 #, c-format
 msgid "Client authentication finished (server trusted)...\n"
 msgstr "Việc xác thực ứng dụng khách đã xong (máy phục vụ 
được tin)...\n"
 
-#: src/gsasl.c:742
+#: src/gsasl.c:733
 #, c-format
 msgid "Enter application data (EOF to finish):\n"
 msgstr "Nhập dữ liệu ứng dụng (EOF [kết thức tập tin] để 
xong): \n"
 
-#: src/gsasl.c:814
+#: src/gsasl.c:804
 #, c-format
 msgid "Base64 encoded application data to send:\n"
 msgstr "Dữ liệu ứng dụng đã mã hóa cơ số 64 cần gởi:\n"
 
-#: src/gsasl.c:859
+#: src/gsasl.c:850
 #, c-format
 msgid "SASL record too large: %zu\n"
-msgstr "Mục ghi SASL quá lớn: %zu\n"
+msgstr "Bản ghi SASL quá lớn: %zu\n"
 
-#: src/gsasl.c:883
+#: src/gsasl.c:874
 #, c-format
 msgid "encoding error: %s"
 msgstr "gặp lỗi mã hóa: %s"
 
-#: src/gsasl.c:888
+#: src/gsasl.c:879
 #, c-format
 msgid "Session finished...\n"
 msgstr "Phiên chạy đã xong...\n"
 
-#: src/gsasl.c:904
+#: src/gsasl.c:895
 #, c-format
 msgid "terminating GnuTLS session failed: %s"
-msgstr "lỗi kết thức phiên chạy GnuTLS: %s"
+msgstr "kết thúc phiên chạy GnuTLS bị lỗi: %s"
+
+#~ msgid ""
+#~ "error: Server did not return expected SASL data (it must begin with '334 
'):\n"
+#~ "%s\n"
+#~ msgstr ""
+#~ "lỗi: máy phục vụ không đáp ứng dữ liệu SASL mong đợi\n"
+#~ "(nó phải bắt đầu với số \"334\"):\n"
+#~ "%s\n"
 
 #~ msgid ""
 #~ "error: Server did not return expected SASL data (it must begin with '+ 
'):\n"
 #~ "%s\n"
 #~ msgstr ""
 #~ "lỗi: máy phục vụ không đáp ứng dữ liệu SASL mong đợi\n"
-#~ "(nó phải bắt đầu với dấu cộng « + »):\n"
+#~ "(nó phải bắt đầu với dấu cộng \"+\"):\n"
 #~ "%s\n"


hooks/post-receive
-- 
GNU gsasl



reply via email to

[Prev in Thread] Current Thread [Next in Thread]