shishi-commit
[Top][All Lists]
Advanced

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

[SCM] GNU shishi branch, master, updated. shishi-1-0-2-58-g547df5e


From: Simon Josefsson
Subject: [SCM] GNU shishi branch, master, updated. shishi-1-0-2-58-g547df5e
Date: Sat, 06 Sep 2014 20:31:09 +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 shishi".

http://git.savannah.gnu.org/cgit/shishi.git/commit/?id=547df5e3897c8d4e787cb672174d52b130995ddb

The branch, master has been updated
       via  547df5e3897c8d4e787cb672174d52b130995ddb (commit)
       via  4cb5c142f51647650ed2d4f4442fc962ac15c256 (commit)
       via  af82f1c1a5acffabbbbe98fff9637723f10c440e (commit)
       via  b3d72ce5fb61fcda28fdda73afd24113a651db82 (commit)
       via  c5f40a932c49c5e557d8d2605f59093ded3cb073 (commit)
       via  12937bc10f116c1b96797e484976982c27b7a82a (commit)
       via  d84a2ef1cbd8532540efe68be011187d3d994425 (commit)
       via  a594674a0b36d350d376f07f3575d99720a57b72 (commit)
      from  43701625b25369bcd34241fed622364ea11e2f29 (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 547df5e3897c8d4e787cb672174d52b130995ddb
Author: Simon Josefsson <address@hidden>
Date:   Sat Sep 6 22:26:30 2014 +0200

    Update copyright years.

commit 4cb5c142f51647650ed2d4f4442fc962ac15c256
Author: Simon Josefsson <address@hidden>
Date:   Sat Sep 6 22:26:07 2014 +0200

    Add.

commit af82f1c1a5acffabbbbe98fff9637723f10c440e
Author: Simon Josefsson <address@hidden>
Date:   Sat Sep 6 22:17:32 2014 +0200

    Sync with TP.

commit b3d72ce5fb61fcda28fdda73afd24113a651db82
Author: Simon Josefsson <address@hidden>
Date:   Sat Sep 6 22:14:40 2014 +0200

    Fix warning flags.

commit c5f40a932c49c5e557d8d2605f59093ded3cb073
Author: Simon Josefsson <address@hidden>
Date:   Sat Sep 6 22:14:38 2014 +0200

    Ignore more.

commit 12937bc10f116c1b96797e484976982c27b7a82a
Author: Simon Josefsson <address@hidden>
Date:   Sat Sep 6 21:53:08 2014 +0200

    Update gnulib files.

commit d84a2ef1cbd8532540efe68be011187d3d994425
Author: Simon Josefsson <address@hidden>
Date:   Sat Sep 6 21:51:26 2014 +0200

    Ignore more.

commit a594674a0b36d350d376f07f3575d99720a57b72
Author: Simon Josefsson <address@hidden>
Date:   Sat Sep 6 21:50:28 2014 +0200

    Generated.

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

Summary of changes:
 .clcopying                       |    2 +-
 .gitignore                       |   35 ++
 AUTHORS                          |    2 +-
 ChangeLog                        |    2 +-
 GNUmakefile                      |    2 +-
 Makefile.am                      |    2 +-
 NEWS                             |    4 +-
 README                           |    2 +-
 README-alpha                     |    2 +-
 THANKS                           |    2 +-
 build-aux/config.rpath           |   18 +-
 build-aux/gendocs.sh             |   86 +++--
 build-aux/gnupload               |    2 +-
 build-aux/pmccabe2html           |    2 +-
 build-aux/snippet/arg-nonnull.h  |    2 +-
 build-aux/snippet/c++defs.h      |    2 +-
 build-aux/snippet/warn-on-use.h  |    2 +-
 build-aux/update-copyright       |    2 +-
 build-aux/useless-if-before-free |    2 +-
 build-aux/vc-list-files          |    2 +-
 cfg.mk                           |    2 +-
 configure.ac                     |   18 +-
 db/Makefile.am                   |    2 +-
 db/config.c                      |    2 +-
 db/core.c                        |    2 +-
 db/db.c                          |    2 +-
 db/err.c                         |    2 +-
 db/file.c                        |    2 +-
 db/file.h                        |    2 +-
 db/fileutil.c                    |    2 +-
 db/fileutil.h                    |    2 +-
 db/gl/allocator.h                |    2 +-
 db/gl/areadlink.c                |    2 +-
 db/gl/areadlink.h                |    2 +-
 db/gl/careadlinkat.c             |    2 +-
 db/gl/careadlinkat.h             |    2 +-
 db/gl/gnulib.mk                  |    2 +-
 db/gl/m4/00gnulib.m4             |   22 +-
 db/gl/m4/gnulib-cache.m4         |    2 +-
 db/gl/m4/gnulib-common.m4        |  120 ++++-
 db/gl/m4/gnulib-comp.m4          |    2 +-
 db/gl/m4/gnulib-tool.m4          |    2 +-
 db/gl/m4/readlink.m4             |    2 +-
 db/gl/readlink.c                 |    2 +-
 db/info.h                        |    2 +-
 db/libshisa.map                  |    2 +-
 db/setup.c                       |    2 +-
 db/shisa.h                       |    2 +-
 doc/Makefile.am                  |    4 +-
 doc/ccache.txt                   |    2 +-
 doc/cyclo/Makefile.am            |    2 +-
 doc/gendocs_template             |   22 +-
 doc/parse-datetime.texi          |   21 +-
 doc/shishi.texi                  |    2 +-
 examples/Makefile.am             |    2 +-
 examples/client-cksum.c          |    2 +-
 examples/client-priv.c           |    2 +-
 examples/client-safe.c           |    2 +-
 examples/client.c                |    2 +-
 examples/server.c                |    2 +-
 extra/Makefile.am                |    2 +-
 extra/README                     |    2 +-
 extra/pam_shishi/Makefile.am     |    2 +-
 extra/rsh-redone/Makefile.am     |    2 +-
 gl/Makefile.am                   |   24 +-
 gl/alloca.in.h                   |    2 +-
 gl/arcfour.c                     |    2 +-
 gl/arcfour.h                     |    2 +-
 gl/arpa_inet.in.h                |    2 +-
 gl/asnprintf.c                   |    2 +-
 gl/asprintf.c                    |    2 +-
 gl/base64.c                      |   45 ++-
 gl/base64.h                      |    2 +-
 gl/bind.c                        |    2 +-
 gl/c-ctype.c                     |    2 +-
 gl/c-ctype.h                     |    5 +-
 gl/close.c                       |    2 +-
 gl/connect.c                     |    2 +-
 gl/crc.c                         |    2 +-
 gl/crc.h                         |    2 +-
 gl/des.c                         |    2 +-
 gl/des.h                         |    2 +-
 gl/dosname.h                     |    2 +-
 gl/dup2.c                        |    6 +-
 gl/errno.in.h                    |    2 +-
 gl/fcntl.c                       |    2 +-
 gl/fcntl.in.h                    |   18 +-
 gl/fd-hook.c                     |    2 +-
 gl/fd-hook.h                     |    2 +-
 gl/float+.h                      |    2 +-
 gl/float.c                       |    2 +-
 gl/float.in.h                    |    2 +-
 gl/fseek.c                       |    2 +-
 gl/fseeko.c                      |   12 +-
 gl/fstat.c                       |    2 +-
 gl/ftell.c                       |    2 +-
 gl/ftello.c                      |    2 +-
 gl/gai_strerror.c                |    2 +-
 gl/gc-gnulib.c                   |   29 +-
 gl/gc-libgcrypt.c                |   84 ++++-
 gl/gc-pbkdf2-sha1.c              |    2 +-
 gl/gc.h                          |    6 +-
 gl/getaddrinfo.c                 |    2 +-
 gl/getdelim.c                    |    2 +-
 gl/getdomainname.c               |    2 +-
 gl/getdtablesize.c               |   43 ++-
 gl/gethostname.c                 |    2 +-
 gl/getline.c                     |    2 +-
 gl/getpass.c                     |    4 +-
 gl/getpass.h                     |    2 +-
 gl/getpeername.c                 |    2 +-
 gl/getsubopt.c                   |    2 +-
 gl/gettext.h                     |    2 +-
 gl/gettime.c                     |    2 +-
 gl/gettimeofday.c                |    2 +-
 gl/gl_openssl.h                  |  116 +++++
 gl/hmac-md5.c                    |    2 +-
 gl/hmac-sha1.c                   |    2 +-
 gl/hmac.h                        |   18 +-
 gl/inet_ntop.c                   |    2 +-
 gl/intprops.h                    |    5 +-
 gl/itold.c                       |    2 +-
 gl/lseek.c                       |    2 +-
 gl/m4/00gnulib.m4                |   22 +-
 gl/m4/absolute-header.m4         |  102 ++++
 gl/m4/alloca.m4                  |    2 +-
 gl/m4/arpa_inet_h.m4             |    2 +-
 gl/m4/autobuild.m4               |    2 +-
 gl/m4/base64.m4                  |    2 +-
 gl/m4/bison.m4                   |    2 +-
 gl/m4/clock_time.m4              |    2 +-
 gl/m4/close.m4                   |    2 +-
 gl/m4/dup2.m4                    |   21 +-
 gl/m4/eealloc.m4                 |    2 +-
 gl/m4/environ.m4                 |    2 +-
 gl/m4/errno_h.m4                 |    2 +-
 gl/m4/exponentd.m4               |    2 +-
 gl/m4/extensions.m4              |    4 +-
 gl/m4/extern-inline.m4           |   70 ++-
 gl/m4/fcntl-o.m4                 |    2 +-
 gl/m4/fcntl.m4                   |   14 +-
 gl/m4/fcntl_h.m4                 |    2 +-
 gl/m4/float_h.m4                 |    2 +-
 gl/m4/fseek.m4                   |    2 +-
 gl/m4/fseeko.m4                  |    6 +-
 gl/m4/fstat.m4                   |    2 +-
 gl/m4/ftell.m4                   |    2 +-
 gl/m4/ftello.m4                  |    2 +-
 gl/m4/gc-des.m4                  |    2 +-
 gl/m4/gc-hmac-md5.m4             |    2 +-
 gl/m4/gc-hmac-sha1.m4            |    2 +-
 gl/m4/gc-md4.m4                  |    2 +-
 gl/m4/gc-md5.m4                  |    2 +-
 gl/m4/gc-random.m4               |    2 +-
 gl/m4/gc.m4                      |    3 +-
 gl/m4/getaddrinfo.m4             |    2 +-
 gl/m4/getdelim.m4                |    2 +-
 gl/m4/getdomainname.m4           |    2 +-
 gl/m4/getdtablesize.m4           |   33 ++-
 gl/m4/gethostname.m4             |    2 +-
 gl/m4/getline.m4                 |    2 +-
 gl/m4/getpass.m4                 |    2 +-
 gl/m4/getsubopt.m4               |    2 +-
 gl/m4/gettime.m4                 |    2 +-
 gl/m4/gettimeofday.m4            |   10 +-
 gl/m4/gl-openssl.m4              |   51 ++
 gl/m4/gnulib-cache.m4            |    2 +-
 gl/m4/gnulib-common.m4           |  120 ++++-
 gl/m4/gnulib-comp.m4             |    9 +-
 gl/m4/gnulib-tool.m4             |    2 +-
 gl/m4/hostent.m4                 |    2 +-
 gl/m4/include_next.m4            |   55 +--
 gl/m4/inet_ntop.m4               |    2 +-
 gl/m4/intmax_t.m4                |    2 +-
 gl/m4/inttypes_h.m4              |    2 +-
 gl/m4/largefile.m4               |    2 +-
 gl/m4/ld-output-def.m4           |    2 +-
 gl/m4/ld-version-script.m4       |    2 +-
 gl/m4/lib-ld.m4                  |    2 +-
 gl/m4/lib-link.m4                |    2 +-
 gl/m4/lib-prefix.m4              |    2 +-
 gl/m4/longlong.m4                |    2 +-
 gl/m4/lseek.m4                   |    2 +-
 gl/m4/malloc.m4                  |    2 +-
 gl/m4/malloca.m4                 |    2 +-
 gl/m4/manywarnings.m4            |   37 ++-
 gl/m4/math_h.m4                  |    2 +-
 gl/m4/md4.m4                     |    2 +-
 gl/m4/md5.m4                     |    8 +-
 gl/m4/memchr.m4                  |    2 +-
 gl/m4/memxor.m4                  |    2 +-
 gl/m4/minmax.m4                  |    2 +-
 gl/m4/mktime.m4                  |    2 +-
 gl/m4/mmap-anon.m4               |    2 +-
 gl/m4/msvc-inval.m4              |    2 +-
 gl/m4/msvc-nothrow.m4            |    2 +-
 gl/m4/multiarch.m4               |    2 +-
 gl/m4/netdb_h.m4                 |    2 +-
 gl/m4/netinet_in_h.m4            |    2 +-
 gl/m4/off_t.m4                   |    2 +-
 gl/m4/parse-datetime.m4          |    2 +-
 gl/m4/pathmax.m4                 |    2 +-
 gl/m4/printf.m4                  |   20 +-
 gl/m4/rawmemchr.m4               |    2 +-
 gl/m4/read-file.m4               |    2 +-
 gl/m4/realloc.m4                 |    2 +-
 gl/m4/select.m4                  |    2 +-
 gl/m4/servent.m4                 |    2 +-
 gl/m4/setenv.m4                  |    2 +-
 gl/m4/sha1.m4                    |    8 +-
 gl/m4/signal_h.m4                |    2 +-
 gl/m4/size_max.m4                |    2 +-
 gl/m4/snprintf.m4                |    2 +-
 gl/m4/socketlib.m4               |    2 +-
 gl/m4/sockets.m4                 |    2 +-
 gl/m4/socklen.m4                 |    2 +-
 gl/m4/sockpfaf.m4                |    2 +-
 gl/m4/ssize_t.m4                 |    2 +-
 gl/m4/stat.m4                    |    2 +-
 gl/m4/stdalign.m4                |    5 +-
 gl/m4/stdarg.m4                  |    2 +-
 gl/m4/stdbool.m4                 |    2 +-
 gl/m4/stddef_h.m4                |    2 +-
 gl/m4/stdint.m4                  |    2 +-
 gl/m4/stdint_h.m4                |    2 +-
 gl/m4/stdio_h.m4                 |    2 +-
 gl/m4/stdlib_h.m4                |    4 +-
 gl/m4/strcase.m4                 |    2 +-
 gl/m4/strchrnul.m4               |    2 +-
 gl/m4/strdup.m4                  |    2 +-
 gl/m4/strerror.m4                |    2 +-
 gl/m4/string_h.m4                |    2 +-
 gl/m4/strings_h.m4               |    2 +-
 gl/m4/strndup.m4                 |    2 +-
 gl/m4/strnlen.m4                 |    2 +-
 gl/m4/strtok_r.m4                |    2 +-
 gl/m4/strverscmp.m4              |    2 +-
 gl/m4/sys_select_h.m4            |    2 +-
 gl/m4/sys_socket_h.m4            |    2 +-
 gl/m4/sys_stat_h.m4              |    2 +-
 gl/m4/sys_time_h.m4              |    2 +-
 gl/m4/sys_types_h.m4             |    2 +-
 gl/m4/sys_uio_h.m4               |    2 +-
 gl/m4/time_h.m4                  |   13 +-
 gl/m4/time_r.m4                  |    2 +-
 gl/m4/timegm.m4                  |    2 +-
 gl/m4/timespec.m4                |    2 +-
 gl/m4/tm_gmtoff.m4               |    2 +-
 gl/m4/unistd_h.m4                |    5 +-
 gl/m4/valgrind-tests.m4          |    6 +-
 gl/m4/vasnprintf.m4              |    2 +-
 gl/m4/vasprintf.m4               |    2 +-
 gl/m4/warn-on-use.m4             |    2 +-
 gl/m4/warnings.m4                |   32 +-
 gl/m4/wchar_h.m4                 |    2 +-
 gl/m4/wchar_t.m4                 |    2 +-
 gl/m4/wint_t.m4                  |    2 +-
 gl/m4/xalloc.m4                  |    2 +-
 gl/m4/xsize.m4                   |    2 +-
 gl/m4/xstrndup.m4                |    2 +-
 gl/m4/xvasprintf.m4              |    2 +-
 gl/malloc.c                      |    2 +-
 gl/malloca.c                     |   31 +-
 gl/malloca.h                     |    4 +-
 gl/md4.c                         |    2 +-
 gl/md4.h                         |    2 +-
 gl/md5.c                         |    9 +-
 gl/md5.h                         |   22 +-
 gl/memchr.c                      |    2 +-
 gl/memxor.c                      |    2 +-
 gl/memxor.h                      |    2 +-
 gl/minmax.h                      |    2 +-
 gl/mktime.c                      |    6 +-
 gl/msvc-inval.c                  |    8 +-
 gl/msvc-inval.h                  |    2 +-
 gl/msvc-nothrow.c                |    2 +-
 gl/msvc-nothrow.h                |    2 +-
 gl/netdb.in.h                    |    2 +-
 gl/netinet_in.in.h               |    2 +-
 gl/parse-datetime.h              |    2 +-
 gl/parse-datetime.y              |   13 +-
 gl/pathmax.h                     |    2 +-
 gl/printf-args.c                 |    2 +-
 gl/printf-args.h                 |    2 +-
 gl/printf-parse.c                |    2 +-
 gl/printf-parse.h                |    2 +-
 gl/rawmemchr.c                   |    2 +-
 gl/read-file.c                   |    2 +-
 gl/read-file.h                   |    2 +-
 gl/realloc.c                     |    2 +-
 gl/recvfrom.c                    |    2 +-
 gl/select.c                      |   38 ++-
 gl/sendto.c                      |    2 +-
 gl/setenv.c                      |    2 +-
 gl/sha1.c                        |    9 +-
 gl/sha1.h                        |   23 +-
 gl/shutdown.c                    |    2 +-
 gl/signal.in.h                   |   16 +-
 gl/size_max.h                    |    2 +-
 gl/snprintf.c                    |    2 +-
 gl/socket.c                      |    2 +-
 gl/sockets.c                     |    2 +-
 gl/sockets.h                     |    2 +-
 gl/stat.c                        |    2 +-
 gl/stdalign.in.h                 |   42 ++-
 gl/stdarg.in.h                   |    2 +-
 gl/stdbool.in.h                  |    2 +-
 gl/stddef.in.h                   |    2 +-
 gl/stdint.in.h                   |    5 +-
 gl/stdio-impl.h                  |    4 +-
 gl/stdio.in.h                    |   25 +-
 gl/stdlib.in.h                   |   25 +-
 gl/strcasecmp.c                  |    2 +-
 gl/strchrnul.c                   |    2 +-
 gl/strdup.c                      |    2 +-
 gl/strerror-override.c           |    2 +-
 gl/strerror-override.h           |    4 +-
 gl/strerror.c                    |    2 +-
 gl/string.in.h                   |    2 +-
 gl/strings.in.h                  |    2 +-
 gl/strncasecmp.c                 |    2 +-
 gl/strndup.c                     |    2 +-
 gl/strnlen.c                     |    2 +-
 gl/strtok_r.c                    |    2 +-
 gl/strverscmp.c                  |    2 +-
 gl/sys_select.in.h               |   17 +-
 gl/sys_socket.in.h               |    5 +-
 gl/sys_stat.in.h                 |    2 +-
 gl/sys_time.in.h                 |    7 +-
 gl/sys_types.in.h                |    4 +-
 gl/sys_uio.in.h                  |    2 +-
 gl/time.in.h                     |   46 ++-
 gl/time_r.c                      |    2 +-
 gl/timegm.c                      |    2 +-
 gl/timespec.h                    |   22 +-
 gl/unistd.in.h                   |   33 ++-
 gl/unsetenv.c                    |    2 +-
 gl/vasnprintf.c                  |  177 ++++----
 gl/vasnprintf.h                  |    2 +-
 gl/vasprintf.c                   |    2 +-
 gl/verify.h                      |  136 ++++--
 gl/w32sock.h                     |    2 +-
 gl/wchar.in.h                    |    2 +-
 gl/xalloc-oversized.h            |    2 +-
 gl/xalloc.h                      |   20 +-
 gl/xasprintf.c                   |    2 +-
 gl/xgetdomainname.c              |    2 +-
 gl/xgetdomainname.h              |    2 +-
 gl/xgethostname.c                |    2 +-
 gl/xmalloc.c                     |    2 +-
 gl/xsize.h                       |    5 +-
 gl/xstrndup.c                    |    2 +-
 gl/xstrndup.h                    |    2 +-
 gl/xvasprintf.c                  |    2 +-
 gl/xvasprintf.h                  |    2 +-
 lib/Makefile.am                  |    2 +-
 lib/ap.c                         |    2 +-
 lib/aprep.c                      |    2 +-
 lib/apreq.c                      |    2 +-
 lib/as.c                         |    2 +-
 lib/asn1.c                       |    2 +-
 lib/asn1.h                       |    2 +-
 lib/authenticator.c              |    2 +-
 lib/authorize.c                  |    2 +-
 lib/ccache.c                     |    2 +-
 lib/ccache.h                     |    2 +-
 lib/cfg.c                        |    2 +-
 lib/cfg.h                        |    2 +-
 lib/crypto-3des.c                |    2 +-
 lib/crypto-aes.c                 |    2 +-
 lib/crypto-ctx.c                 |    2 +-
 lib/crypto-des.c                 |    2 +-
 lib/crypto-md.c                  |    2 +-
 lib/crypto-null.c                |    2 +-
 lib/crypto-rc4.c                 |    2 +-
 lib/crypto.c                     |    2 +-
 lib/crypto.h                     |    2 +-
 lib/diskio.c                     |    2 +-
 lib/diskio.h                     |    2 +-
 lib/encapreppart.c               |    2 +-
 lib/enckdcreppart.c              |    2 +-
 lib/encticketpart.c              |    2 +-
 lib/error.c                      |    2 +-
 lib/gztime.c                     |    2 +-
 lib/hostkeys.c                   |    2 +-
 lib/init.c                       |    2 +-
 lib/internal.h                   |    2 +-
 lib/kdc.c                        |    2 +-
 lib/kdcrep.c                     |    2 +-
 lib/kdcreq.c                     |    2 +-
 lib/kerberos5.asn1               |    2 +-
 lib/key.c                        |    2 +-
 lib/keys.c                       |    2 +-
 lib/keytab.c                     |    2 +-
 lib/krberror.c                   |    2 +-
 lib/libshishi.map                |    2 +-
 lib/low-crypto.c                 |    2 +-
 lib/low-crypto.h                 |    2 +-
 lib/netio.c                      |    2 +-
 lib/password.c                   |    2 +-
 lib/pki.c                        |    2 +-
 lib/principal.c                  |    2 +-
 lib/priv.c                       |    2 +-
 lib/realm.c                      |    2 +-
 lib/resolv.c                     |    2 +-
 lib/safe.c                       |    2 +-
 lib/shishi.h                     |    2 +-
 lib/starttls.c                   |    2 +-
 lib/starttls.h                   |    2 +-
 lib/tgs.c                        |    2 +-
 lib/ticket.c                     |    2 +-
 lib/tkt.c                        |    2 +-
 lib/tktccache.c                  |    2 +-
 lib/tkts.c                       |    2 +-
 lib/utils.c                      |    2 +-
 lib/utils.h                      |    2 +-
 lib/version.c                    |    2 +-
 maint.mk                         |   77 ++--
 po/LINGUAS                       |    1 +
 po/POTFILES.in                   |    2 +-
 po/de.po.in                      |  950 ++++++++++++++++++++++++++++++++++++++
 po/fi.po.in                      |  233 +++++++---
 po/pl.po.in                      |  471 ++++++++++++-------
 po/sr.po.in                      |  230 +++++++---
 po/vi.po.in                      |  290 ++++++++----
 shisa.conf.in                    |    2 +-
 shishi.conf.in                   |    2 +-
 shishi.pc.in                     |    2 +-
 shishi.skel.in                   |    2 +-
 src/Makefile.am                  |    2 +-
 src/ccache2shishi.c              |    2 +-
 src/ccache2shishi.ggo            |    2 +-
 src/gl/errno.in.h                |    2 +-
 src/gl/error.c                   |   23 +-
 src/gl/error.h                   |    2 +-
 src/gl/getopt.c                  |    2 +-
 src/gl/getopt.in.h               |    2 +-
 src/gl/getopt1.c                 |    2 +-
 src/gl/getopt_int.h              |    2 +-
 src/gl/gnulib.mk                 |  155 ++++++-
 src/gl/locale.in.h               |    2 +-
 src/gl/m4/00gnulib.m4            |   22 +-
 src/gl/m4/errno_h.m4             |    2 +-
 src/gl/m4/error.m4               |    2 +-
 src/gl/m4/getopt.m4              |    2 +-
 src/gl/m4/gnulib-cache.m4        |    2 +-
 src/gl/m4/gnulib-common.m4       |  120 ++++-
 src/gl/m4/gnulib-comp.m4         |   15 +-
 src/gl/m4/gnulib-tool.m4         |    2 +-
 src/gl/m4/locale_h.m4            |    2 +-
 src/gl/m4/msvc-inval.m4          |    2 +-
 src/gl/m4/msvc-nothrow.m4        |    2 +-
 src/gl/m4/nocrash.m4             |    2 +-
 {gl => src/gl}/m4/off_t.m4       |    2 +-
 {gl => src/gl}/m4/ssize_t.m4     |    2 +-
 src/gl/m4/stddef_h.m4            |    2 +-
 {gl => src/gl}/m4/stdio_h.m4     |    2 +-
 src/gl/m4/strerror.m4            |    2 +-
 src/gl/m4/sys_socket_h.m4        |    2 +-
 {gl => src/gl}/m4/sys_types_h.m4 |    2 +-
 src/gl/m4/version-etc.m4         |    2 +-
 src/gl/m4/warn-on-use.m4         |    2 +-
 src/gl/m4/wchar_t.m4             |    2 +-
 src/gl/msvc-inval.c              |    8 +-
 src/gl/msvc-inval.h              |    2 +-
 src/gl/msvc-nothrow.c            |    2 +-
 src/gl/msvc-nothrow.h            |    2 +-
 src/gl/progname.c                |    2 +-
 src/gl/progname.h                |    2 +-
 src/gl/stddef.in.h               |    2 +-
 {gl => src/gl}/stdio.in.h        |   25 +-
 src/gl/strerror-override.c       |    2 +-
 src/gl/strerror-override.h       |    4 +-
 src/gl/strerror.c                |    2 +-
 {gl => src/gl}/sys_types.in.h    |    4 +-
 src/gl/verify.h                  |  136 ++++--
 src/gl/version-etc.c             |    4 +-
 src/gl/version-etc.h             |    2 +-
 src/kdc.c                        |    2 +-
 src/kdc.h                        |    2 +-
 src/keytab2shishi.c              |    2 +-
 src/keytab2shishi.ggo            |    2 +-
 src/resume.c                     |    2 +-
 src/server.c                     |    2 +-
 src/shisa.c                      |    2 +-
 src/shisa.ggo                    |    2 +-
 src/shishi.c                     |    2 +-
 src/shishi.ggo                   |    2 +-
 src/shishid.c                    |    2 +-
 src/shishid.ggo                  |    2 +-
 src/starttls.c                   |    2 +-
 tests/Makefile.am                |    2 +-
 tests/authenticator.c            |    2 +-
 tests/ccache.c                   |    2 +-
 tests/crypto-ctx.c               |    2 +-
 tests/crypto.c                   |    2 +-
 tests/gztime.c                   |    2 +-
 tests/key.c                      |    2 +-
 tests/keytab.c                   |    2 +-
 tests/low-crypto.c               |    2 +-
 tests/multiname.c                |    2 +-
 tests/nonce.c                    |    2 +-
 tests/passwdpromptcb.c           |    2 +-
 tests/priv.c                     |    2 +-
 tests/rijndael.c                 |    2 +-
 tests/safe.c                     |    2 +-
 tests/shisa.sh                   |    2 +-
 tests/shishi.supp                |    2 +-
 tests/ticketset.c                |    2 +-
 tests/utils.c                    |    2 +-
 tests/utils.h                    |    2 +-
 511 files changed, 4286 insertions(+), 1495 deletions(-)
 create mode 100644 gl/gl_openssl.h
 create mode 100644 gl/m4/absolute-header.m4
 create mode 100644 gl/m4/gl-openssl.m4
 create mode 100644 po/de.po.in
 copy {gl => src/gl}/m4/off_t.m4 (88%)
 copy {gl => src/gl}/m4/ssize_t.m4 (92%)
 copy {gl => src/gl}/m4/stdio_h.m4 (99%)
 copy {gl => src/gl}/m4/sys_types_h.m4 (90%)
 copy {gl => src/gl}/stdio.in.h (97%)
 copy {gl => src/gl}/sys_types.in.h (92%)

diff --git a/.clcopying b/.clcopying
index 03ca893..fbc50d6 100644
--- a/.clcopying
+++ b/.clcopying
@@ -1,5 +1,5 @@
 
-    Copyright (C) 2002-2013 Simon Josefsson
+    Copyright (C) 2002-2014 Simon Josefsson
 
   This file is part of Shishi.
 
diff --git a/.gitignore b/.gitignore
index 2e05e97..c64162e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,6 +10,7 @@ asn1/Makefile
 asn1/Makefile.in
 autom4te.cache/
 build-aux/ar-lib
+build-aux/compile
 build-aux/config.guess
 build-aux/config.sub
 build-aux/depcomp
@@ -17,6 +18,7 @@ build-aux/install-sh
 build-aux/ltmain.sh
 build-aux/mdate-sh
 build-aux/missing
+build-aux/test-driver
 build-aux/texinfo.tex
 build-aux/ylwrap
 config.h
@@ -448,6 +450,8 @@ src/gl/link-warning.h
 src/gl/locale.h
 src/gl/progname.lo
 src/gl/progname.o
+src/gl/stdio.h
+src/gl/sys/
 src/gl/version-etc.lo
 src/gl/version-etc.o
 src/gl/warn-on-use.h
@@ -492,35 +496,66 @@ tests/.libs/
 tests/Makefile
 tests/Makefile.in
 tests/authenticator
+tests/authenticator.log
 tests/authenticator.o
+tests/authenticator.trs
 tests/ccache
+tests/ccache.log
 tests/ccache.o
+tests/ccache.trs
 tests/crypto
 tests/crypto-ctx
+tests/crypto-ctx.log
 tests/crypto-ctx.o
+tests/crypto-ctx.trs
+tests/crypto.log
 tests/crypto.o
+tests/crypto.trs
 tests/gztime
+tests/gztime.log
 tests/gztime.o
+tests/gztime.trs
 tests/key
+tests/key.log
 tests/key.o
+tests/key.trs
 tests/keytab
+tests/keytab.log
 tests/keytab.o
+tests/keytab.trs
 tests/libutils.la
 tests/low-crypto
+tests/low-crypto.log
 tests/low-crypto.o
+tests/low-crypto.trs
 tests/multiname
+tests/multiname.log
 tests/multiname.o
+tests/multiname.trs
 tests/nonce
+tests/nonce.log
 tests/nonce.o
+tests/nonce.trs
 tests/passwdpromptcb
+tests/passwdpromptcb.log
 tests/passwdpromptcb.o
+tests/passwdpromptcb.trs
 tests/priv
+tests/priv.log
 tests/priv.o
+tests/priv.trs
 tests/rijndael
+tests/rijndael.log
 tests/rijndael.o
+tests/rijndael.trs
 tests/safe
+tests/safe.log
 tests/safe.o
+tests/safe.trs
+tests/test-suite.log
 tests/ticketset
+tests/ticketset.log
 tests/ticketset.o
+tests/ticketset.trs
 tests/utils.lo
 tests/utils.o
diff --git a/AUTHORS b/AUTHORS
index f528638..b833cda 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,5 +1,5 @@
 Shishi AUTHORS -- Information about the authors.
-Copyright (C) 2002-2013 Simon Josefsson
+Copyright (C) 2002-2014 Simon Josefsson
 See the end for copying conditions.
 
 Simon Josefsson <address@hidden>
diff --git a/ChangeLog b/ChangeLog
index 69000d6..aed24f2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -18400,7 +18400,7 @@
        * Initial release, version 0.0.0.
 
 
-    Copyright (C) 2002-2013 Simon Josefsson
+    Copyright (C) 2002-2014 Simon Josefsson
 
   This file is part of Shishi.
 
diff --git a/GNUmakefile b/GNUmakefile
index 8759034..4ab6429 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -5,7 +5,7 @@
 # It is necessary if you want to build targets usually of interest
 # only to the maintainer.
 
-# Copyright (C) 2001, 2003, 2006-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2006-2014 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
diff --git a/Makefile.am b/Makefile.am
index deb77d1..453f3c7 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2002-2013 Simon Josefsson.
+# Copyright (C) 2002-2014 Simon Josefsson.
 #
 # This file is part of Shishi.
 #
diff --git a/NEWS b/NEWS
index 27fcbc4..61627a5 100644
--- a/NEWS
+++ b/NEWS
@@ -1,9 +1,11 @@
 Shishi NEWS -- History of user-visible changes.                 -*- outline -*-
-Copyright (C) 2002-2013 Simon Josefsson
+Copyright (C) 2002-2014 Simon Josefsson
 See the end for copying conditions.
 
 * Version 1.0.3 (unreleased)
 
+** Update gnulib files and translations.
+
 * Version 1.0.2 (released 2013-04-03)
 
 ** libshishi: Fix server-realm handling.
diff --git a/README b/README
index 26b62d1..7c44ed0 100644
--- a/README
+++ b/README
@@ -1,5 +1,5 @@
 Shishi README -- Important introductory notes.
-Copyright (C) 2002-2013 Simon Josefsson
+Copyright (C) 2002-2014 Simon Josefsson
 See the end for copying conditions.
 
 This directory holds Shishi, an implementation of the RFC 1510/4120
diff --git a/README-alpha b/README-alpha
index 6e0292f..9ffe039 100644
--- a/README-alpha
+++ b/README-alpha
@@ -1,5 +1,5 @@
 Shishi README-alpha -- Information for developers.              -*- outline -*-
-Copyright (C) 2009-2013 Simon Josefsson
+Copyright (C) 2009-2014 Simon Josefsson
 See the end for copying conditions.
 
 This file contains instructions for developers and advanced users that
diff --git a/THANKS b/THANKS
index 522e66e..d0e2be0 100644
--- a/THANKS
+++ b/THANKS
@@ -1,5 +1,5 @@
 Shishi THANKS -- Acknowledgements.
-Copyright (C) 2002-2013 Simon Josefsson
+Copyright (C) 2002-2014 Simon Josefsson
 See the end for copying conditions.
 
 Shishi uses Libtasn1 by Fabio Fiorina, Libgcrypt and Libgpg-error by
diff --git a/build-aux/config.rpath b/build-aux/config.rpath
index c38b914..b625621 100755
--- a/build-aux/config.rpath
+++ b/build-aux/config.rpath
@@ -2,7 +2,7 @@
 # Output a system dependent set of variables, describing how to set the
 # run time search path of shared libraries in an executable.
 #
-#   Copyright 1996-2013 Free Software Foundation, Inc.
+#   Copyright 1996-2014 Free Software Foundation, Inc.
 #   Taken from GNU libtool, 2001
 #   Originally by Gordon Matzigkeit <address@hidden>, 1996
 #
@@ -367,11 +367,7 @@ else
     dgux*)
       hardcode_libdir_flag_spec='-L$libdir'
       ;;
-    freebsd2.2*)
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      ;;
-    freebsd2*)
+    freebsd2.[01]*)
       hardcode_direct=yes
       hardcode_minus_L=yes
       ;;
@@ -548,13 +544,11 @@ case "$host_os" in
   dgux*)
     library_names_spec='$libname$shrext'
     ;;
+  freebsd[23].*)
+    library_names_spec='$libname$shrext$versuffix'
+    ;;
   freebsd* | dragonfly*)
-    case "$host_os" in
-      freebsd[123]*)
-        library_names_spec='$libname$shrext$versuffix' ;;
-      *)
-        library_names_spec='$libname$shrext' ;;
-    esac
+    library_names_spec='$libname$shrext'
     ;;
   gnu*)
     library_names_spec='$libname$shrext'
diff --git a/build-aux/gendocs.sh b/build-aux/gendocs.sh
index 98c7523..b2e7b09 100755
--- a/build-aux/gendocs.sh
+++ b/build-aux/gendocs.sh
@@ -2,7 +2,7 @@
 # gendocs.sh -- generate a GNU manual in many formats.  This script is
 #   mentioned in maintain.texi.  See the help message below for usage details.
 
-scriptversion=2013-03-08.15
+scriptversion=2014-05-01.10
 
 # Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
 # Free Software Foundation, Inc.
@@ -78,6 +78,9 @@ Options:
   --html ARG   pass ARG to makeinfo or texi2html for HTML targets.
   --info ARG   pass ARG to makeinfo for Info, instead of --no-split.
   --no-ascii   skip generating the plain text output.
+  --no-html    skip generating the html output.
+  --no-info    skip generating the info output.
+  --no-tex     skip generating the dvi and pdf output.
   --source ARG include ARG in tar archive of sources.
   --split HOW  make split HTML by node, section, chapter; default node.
 
@@ -139,10 +142,13 @@ PACKAGE=
 address@hidden  # please override with --email
 commonarg= # passed to all makeinfo/texi2html invcations.
 dirargs=   # passed to all tools (-I dir).
-dirs=      # -I's directories.
+dirs=      # -I directories.
 htmlarg=
 infoarg=--no-split
 generate_ascii=true
+generate_html=true
+generate_info=true
+generate_tex=true
 outdir=manual
 source_extra=
 split=node
@@ -159,6 +165,9 @@ while test $# -gt 0; do
     --html)      shift; htmlarg=$1;;
     --info)      shift; infoarg=$1;;
     --no-ascii)  generate_ascii=false;;
+    --no-html)   generate_ascii=false;;
+    --no-info)   generate_info=false;;
+    --no-tex)    generate_tex=false;;
     --source)    shift; source_extra=$1;;
     --split)     shift; split=$1;;
     --texi2html) use_texi2html=1;;
@@ -221,8 +230,9 @@ calcsize()
 
 # copy_images OUTDIR HTML-FILE...
 # -------------------------------
-# Copy all the images needed by the HTML-FILEs into OUTDIR.  Look
-# for them in the -I directories.
+# Copy all the images needed by the HTML-FILEs into OUTDIR.
+# Look for them in . and the -I directories; this is simpler than what
+# makeinfo supports with -I, but hopefully it will suffice.
 copy_images()
 {
   local odir
@@ -232,7 +242,7 @@ copy_images()
 BEGIN {
   \$me = '$prog';
   \$odir = '$odir';
-  @dirs = qw($dirs);
+  @dirs = qw(. $dirs);
 }
 " -e '
 /<img src="(.*?)"/g && ++$need{$1};
@@ -270,31 +280,39 @@ echo "Making output for $srcfile"
 echo " in `pwd`"
 mkdir -p "$outdir/"
 
-cmd="$SETLANG $MAKEINFO -o $PACKAGE.info $commonarg $infoarg \"$srcfile\""
-echo "Generating info... ($cmd)"
-eval "$cmd"
-tar czf "$outdir/$PACKAGE.info.tar.gz" $PACKAGE.info*
-ls -l "$outdir/$PACKAGE.info.tar.gz"
-info_tgz_size=`calcsize "$outdir/$PACKAGE.info.tar.gz"`
-# do not mv the info files, there's no point in having them available
-# separately on the web.
-
-cmd="$SETLANG $TEXI2DVI $dirargs \"$srcfile\""
-printf "\nGenerating dvi... ($cmd)\n"
-eval "$cmd"
-# compress/finish dvi:
-gzip -f -9 $PACKAGE.dvi
-dvi_gz_size=`calcsize $PACKAGE.dvi.gz`
-mv $PACKAGE.dvi.gz "$outdir/"
-ls -l "$outdir/$PACKAGE.dvi.gz"
-
-cmd="$SETLANG $TEXI2DVI --pdf $dirargs \"$srcfile\""
-printf "\nGenerating pdf... ($cmd)\n"
-eval "$cmd"
-pdf_size=`calcsize $PACKAGE.pdf`
-mv $PACKAGE.pdf "$outdir/"
-ls -l "$outdir/$PACKAGE.pdf"
+# 
+if $generate_info; then
+  cmd="$SETLANG $MAKEINFO -o $PACKAGE.info $commonarg $infoarg \"$srcfile\""
+  echo "Generating info... ($cmd)"
+  rm -f $PACKAGE.info* # get rid of any strays
+  eval "$cmd"
+  tar czf "$outdir/$PACKAGE.info.tar.gz" $PACKAGE.info*
+  ls -l "$outdir/$PACKAGE.info.tar.gz"
+  info_tgz_size=`calcsize "$outdir/$PACKAGE.info.tar.gz"`
+  # do not mv the info files, there's no point in having them available
+  # separately on the web.
+fi  # end info
+
+# 
+if $generate_tex; then
+  cmd="$SETLANG $TEXI2DVI $dirargs \"$srcfile\""
+  printf "\nGenerating dvi... ($cmd)\n"
+  eval "$cmd"
+  # compress/finish dvi:
+  gzip -f -9 $PACKAGE.dvi
+  dvi_gz_size=`calcsize $PACKAGE.dvi.gz`
+  mv $PACKAGE.dvi.gz "$outdir/"
+  ls -l "$outdir/$PACKAGE.dvi.gz"
+
+  cmd="$SETLANG $TEXI2DVI --pdf $dirargs \"$srcfile\""
+  printf "\nGenerating pdf... ($cmd)\n"
+  eval "$cmd"
+  pdf_size=`calcsize $PACKAGE.pdf`
+  mv $PACKAGE.pdf "$outdir/"
+  ls -l "$outdir/$PACKAGE.pdf"
+fi # end tex (dvi + pdf)
 
+# 
 if $generate_ascii; then
   opt="-o $PACKAGE.txt --no-split --no-headers $commonarg"
   cmd="$SETLANG $MAKEINFO $opt \"$srcfile\""
@@ -307,6 +325,9 @@ if $generate_ascii; then
   ls -l "$outdir/$PACKAGE.txt" "$outdir/$PACKAGE.txt.gz"
 fi
 
+# 
+
+if $generate_html; then
 # Split HTML at level $1.  Used for texi2html.
 html_split()
 {
@@ -381,7 +402,9 @@ else # use texi2html:
   html_split chapter
   html_split section
 fi
+fi # end html
 
+# 
 printf "\nMaking .tar.gz for sources...\n"
 d=`dirname $srcfile`
 (
@@ -392,6 +415,8 @@ d=`dirname $srcfile`
 )
 texi_tgz_size=`calcsize "$outdir/$PACKAGE.texi.tar.gz"`
 
+# 
+# Do everything again through docbook.
 if test -n "$docbook"; then
   opt="-o - --docbook $commonarg"
   cmd="$SETLANG $MAKEINFO $opt \"$srcfile\" >${srcdir}/$PACKAGE-db.xml"
@@ -430,7 +455,8 @@ if test -n "$docbook"; then
   mv $PACKAGE-db.pdf "$outdir/"
 fi
 
-printf "\nMaking index file...\n"
+# 
+printf "\nMaking index.html for $PACKAGE...\n"
 if test -z "$use_texi2html"; then
   CONDS="/%%IF  *HTML_SECTION%%/,/%%ENDIF  *HTML_SECTION%%/d;\
          /%%IF  *HTML_CHAPTER%%/,/%%ENDIF  *HTML_CHAPTER%%/d"
diff --git a/build-aux/gnupload b/build-aux/gnupload
index 7a137c1..2da97d8 100755
--- a/build-aux/gnupload
+++ b/build-aux/gnupload
@@ -3,7 +3,7 @@
 
 scriptversion=2013-03-19.17; # UTC
 
-# Copyright (C) 2004-2013 Free Software Foundation, Inc.
+# Copyright (C) 2004-2014 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
diff --git a/build-aux/pmccabe2html b/build-aux/pmccabe2html
index ffd0788..81dd932 100644
--- a/build-aux/pmccabe2html
+++ b/build-aux/pmccabe2html
@@ -1,6 +1,6 @@
 # pmccabe2html - AWK script to convert pmccabe output to html       -*- awk -*-
 
-# Copyright (C) 2007-2013 Free Software Foundation, Inc.
+# Copyright (C) 2007-2014 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
diff --git a/build-aux/snippet/arg-nonnull.h b/build-aux/snippet/arg-nonnull.h
index 8ea2a47..9ee8b15 100644
--- a/build-aux/snippet/arg-nonnull.h
+++ b/build-aux/snippet/arg-nonnull.h
@@ -1,5 +1,5 @@
 /* A C macro for declaring that specific arguments must not be NULL.
-   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2009-2014 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
diff --git a/build-aux/snippet/c++defs.h b/build-aux/snippet/c++defs.h
index b35b933..67b1233 100644
--- a/build-aux/snippet/c++defs.h
+++ b/build-aux/snippet/c++defs.h
@@ -1,5 +1,5 @@
 /* C++ compatible function declaration macros.
-   Copyright (C) 2010-2013 Free Software Foundation, Inc.
+   Copyright (C) 2010-2014 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
diff --git a/build-aux/snippet/warn-on-use.h b/build-aux/snippet/warn-on-use.h
index 1736a1b..1c4d7bd 100644
--- a/build-aux/snippet/warn-on-use.h
+++ b/build-aux/snippet/warn-on-use.h
@@ -1,5 +1,5 @@
 /* A C macro for emitting warnings if a function is used.
-   Copyright (C) 2010-2013 Free Software Foundation, Inc.
+   Copyright (C) 2010-2014 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
diff --git a/build-aux/update-copyright b/build-aux/update-copyright
index c72d0e6..90624e9 100755
--- a/build-aux/update-copyright
+++ b/build-aux/update-copyright
@@ -5,7 +5,7 @@ eval '(exit $?0)' && eval 'exec perl -wS -0777 -pi "$0" 
${1+"$@"}'
 
 my $VERSION = '2013-01-03.09:41'; # UTC
 
-# Copyright (C) 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014 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
diff --git a/build-aux/useless-if-before-free b/build-aux/useless-if-before-free
index 663347a..4c76c75 100755
--- a/build-aux/useless-if-before-free
+++ b/build-aux/useless-if-before-free
@@ -10,7 +10,7 @@ my $VERSION = '2012-01-06 07:23'; # UTC
 # If you change this file with Emacs, please let the write hook
 # do its job.  Otherwise, update this string manually.
 
-# Copyright (C) 2008-2013 Free Software Foundation, Inc.
+# Copyright (C) 2008-2014 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
diff --git a/build-aux/vc-list-files b/build-aux/vc-list-files
index 7ec335f..b2bca54 100755
--- a/build-aux/vc-list-files
+++ b/build-aux/vc-list-files
@@ -4,7 +4,7 @@
 # Print a version string.
 scriptversion=2011-05-16.22; # UTC
 
-# Copyright (C) 2006-2013 Free Software Foundation, Inc.
+# Copyright (C) 2006-2014 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
diff --git a/cfg.mk b/cfg.mk
index eb4d8ff..31eed0f 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2013 Simon Josefsson.
+# Copyright (C) 2006-2014 Simon Josefsson.
 #
 # This file is part of Shishi.
 #
diff --git a/configure.ac b/configure.ac
index 4add79c..d022cfc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
 # Process this file with autoconf to produce a configure script.
-# Copyright (C) 2002-2013 Simon Josefsson.
+# Copyright (C) 2002-2014 Simon Josefsson.
 #
 # This file is part of Shishi.
 #
@@ -346,22 +346,12 @@ if test "$gl_gcc_warnings" = yes; then
   gl_WARN_ADD([-Werror], [WERROR_CFLAGS])
 
   nw="$nw -Wsystem-headers"            # Ignore errors in system headers
-  nw="$nw -Wc++-compat"                # We don't care much about C++ compilers
-  nw="$nw -Wsign-conversion"           # Too many warnings for now
-  nw="$nw -Wconversion"                # Too many warnings for now
-  nw="$nw -Wpadded"                    # Our structs are not padded
-  nw="$nw -Wunreachable-code"          # Too many false positives
   nw="$nw -Wlogical-op"                # Too many false positives
-  nw="$nw -Wtraditional"               # Warns on #elif which we use often
-  nw="$nw -Wtraditional-conversion"    # Too many warnings for now
-  nw="$nw -Wcast-qual"                 # Too many warnings for now
-  nw="$nw -Wmissing-format-attribute"  # Too many warnings for now
   nw="$nw -Wunsafe-loop-optimizations" # Too many warnings for now
-  nw="$nw -Wundef"                     # Problems in gnulib files
   nw="$nw -Wstrict-overflow"           # Don't know how to avoid
-  nw="$nw -Waggregate-return"          # For src/resume.c:resume_db_fetch...
   nw="$nw -Wsuggest-attribute=pure"    # Is it worth using attributes?
   nw="$nw -Wsuggest-attribute=const"   # Is it worth using attributes?
+  nw="$nw -Wsuggest-attribute=format"  # Is it worth using attributes?
 
   gl_MANYWARN_ALL_GCC([ws])
   gl_MANYWARN_COMPLEMENT(ws, [$ws], [$nw])
@@ -370,11 +360,7 @@ if test "$gl_gcc_warnings" = yes; then
   done
 
   # Disable some, but evaluate these as the project moves on.
-  gl_WARN_ADD([-Wno-format])           # Too many warnings for now
   gl_WARN_ADD([-Wno-unused-parameter]) # Too many warnings for now
-  gl_WARN_ADD([-Wno-stack-protector])  # Some functions cannot be protected
-  gl_WARN_ADD([-Wno-unused-result])
-  gl_WARN_ADD([-fdiagnostics-show-option])
 fi
 
 AC_CONFIG_FILES([
diff --git a/db/Makefile.am b/db/Makefile.am
index 5fd5221..37dc584 100644
--- a/db/Makefile.am
+++ b/db/Makefile.am
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2002-2013 Simon Josefsson.
+# Copyright (C) 2002-2014 Simon Josefsson.
 #
 # This file is part of Shishi.
 #
diff --git a/db/config.c b/db/config.c
index 3961d6e..50e9b67 100644
--- a/db/config.c
+++ b/db/config.c
@@ -1,5 +1,5 @@
 /* cfg.c --- Read Shisa Configuration file.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/db/core.c b/db/core.c
index 11f37c3..83beb40 100644
--- a/db/core.c
+++ b/db/core.c
@@ -1,5 +1,5 @@
 /* core.c --- Core Shisa database API.
- * Copyright (C) 2003-2013 Simon Josefsson
+ * Copyright (C) 2003-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/db/db.c b/db/db.c
index ff6f02f..b71c528 100644
--- a/db/db.c
+++ b/db/db.c
@@ -1,5 +1,5 @@
 /* db.c --- Definitions of all Shisa database backends.
- * Copyright (C) 2003-2013 Simon Josefsson
+ * Copyright (C) 2003-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/db/err.c b/db/err.c
index 540ceb1..dd77fa0 100644
--- a/db/err.c
+++ b/db/err.c
@@ -1,5 +1,5 @@
 /* error.c --- Error handling functions for the Shisa library.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/db/file.c b/db/file.c
index acfcdfb..7b17e0a 100644
--- a/db/file.c
+++ b/db/file.c
@@ -1,5 +1,5 @@
 /* file.c --- File based Shisa database.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/db/file.h b/db/file.h
index b80d14e..48f3c28 100644
--- a/db/file.h
+++ b/db/file.h
@@ -1,5 +1,5 @@
 /* file.h --- Prototypes for file based Shisa database.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/db/fileutil.c b/db/fileutil.c
index 21fc7d0..009a0b6 100644
--- a/db/fileutil.c
+++ b/db/fileutil.c
@@ -1,5 +1,5 @@
 /* fileutil.c --- Utility functions used by file.c.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/db/fileutil.h b/db/fileutil.h
index 79faa31..969512b 100644
--- a/db/fileutil.h
+++ b/db/fileutil.h
@@ -1,5 +1,5 @@
 /* fileutil.h --- Utility prototypes used by file.c.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/db/gl/allocator.h b/db/gl/allocator.h
index b71fbbb..0904b32 100644
--- a/db/gl/allocator.h
+++ b/db/gl/allocator.h
@@ -1,6 +1,6 @@
 /* Memory allocators such as malloc+free.
 
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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
diff --git a/db/gl/areadlink.c b/db/gl/areadlink.c
index 7b81685..b4b856c 100644
--- a/db/gl/areadlink.c
+++ b/db/gl/areadlink.c
@@ -1,7 +1,7 @@
 /* areadlink.c -- readlink wrapper to return the link name in malloc'd storage
    Unlike xreadlink and xreadlink_with_size, don't ever call exit.
 
-   Copyright (C) 2001, 2003-2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2003-2007, 2009-2014 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
diff --git a/db/gl/areadlink.h b/db/gl/areadlink.h
index 5870ce5..59abb37 100644
--- a/db/gl/areadlink.h
+++ b/db/gl/areadlink.h
@@ -1,6 +1,6 @@
 /* Read symbolic links without size limitation.
 
-   Copyright (C) 2001, 2003-2004, 2007, 2009-2013 Free Software Foundation,
+   Copyright (C) 2001, 2003-2004, 2007, 2009-2014 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/db/gl/careadlinkat.c b/db/gl/careadlinkat.c
index e2c19d1..b36fea2 100644
--- a/db/gl/careadlinkat.c
+++ b/db/gl/careadlinkat.c
@@ -1,6 +1,6 @@
 /* Read symbolic links into a buffer without size limitation, relative to fd.
 
-   Copyright (C) 2001, 2003-2004, 2007, 2009-2013 Free Software Foundation,
+   Copyright (C) 2001, 2003-2004, 2007, 2009-2014 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/db/gl/careadlinkat.h b/db/gl/careadlinkat.h
index 46f88ae..704f815 100644
--- a/db/gl/careadlinkat.h
+++ b/db/gl/careadlinkat.h
@@ -1,6 +1,6 @@
 /* Read symbolic links into a buffer without size limitation, relative to fd.
 
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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
diff --git a/db/gl/gnulib.mk b/db/gl/gnulib.mk
index 391c711..6eb25ee 100644
--- a/db/gl/gnulib.mk
+++ b/db/gl/gnulib.mk
@@ -1,6 +1,6 @@
 ## DO NOT EDIT! GENERATED AUTOMATICALLY!
 ## Process this file with automake to produce Makefile.in.
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/db/gl/m4/00gnulib.m4 b/db/gl/m4/00gnulib.m4
index d4ad759..8eca551 100644
--- a/db/gl/m4/00gnulib.m4
+++ b/db/gl/m4/00gnulib.m4
@@ -1,12 +1,28 @@
-# 00gnulib.m4 serial 2
-dnl Copyright (C) 2009-2013 Free Software Foundation, Inc.
+# 00gnulib.m4 serial 3
+dnl Copyright (C) 2009-2014 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 This file must be named something that sorts before all other
 dnl gnulib-provided .m4 files.  It is needed until such time as we can
-dnl assume Autoconf 2.64, with its improved AC_DEFUN_ONCE semantics.
+dnl assume Autoconf 2.64, with its improved AC_DEFUN_ONCE and
+dnl m4_divert semantics.
+
+# Until autoconf 2.63, handling of the diversion stack required m4_init
+# to be called first; but this does not happen with aclocal.  Wrapping
+# the entire execution in another layer of the diversion stack fixes this.
+# Worse, prior to autoconf 2.62, m4_wrap depended on the underlying m4
+# for whether it was FIFO or LIFO; in order to properly balance with
+# m4_init, we need to undo our push just before anything wrapped within
+# the m4_init body.  The way to ensure this is to wrap both sides of
+# m4_init with a one-shot macro that does the pop at the right time.
+m4_ifndef([_m4_divert_diversion],
+[m4_divert_push([KILL])
+m4_define([gl_divert_fixup], [m4_divert_pop()m4_define([$0])])
+m4_define([m4_init],
+  [gl_divert_fixup()]m4_defn([m4_init])[gl_divert_fixup()])])
+
 
 # AC_DEFUN_ONCE([NAME], VALUE)
 # ----------------------------
diff --git a/db/gl/m4/gnulib-cache.m4 b/db/gl/m4/gnulib-cache.m4
index 1985571..588c312 100644
--- a/db/gl/m4/gnulib-cache.m4
+++ b/db/gl/m4/gnulib-cache.m4
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/db/gl/m4/gnulib-common.m4 b/db/gl/m4/gnulib-common.m4
index 0ae5a9e..31e5f94 100644
--- a/db/gl/m4/gnulib-common.m4
+++ b/db/gl/m4/gnulib-common.m4
@@ -1,5 +1,5 @@
-# gnulib-common.m4 serial 33
-dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
+# gnulib-common.m4 serial 36
+dnl Copyright (C) 2007-2014 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.
@@ -49,6 +49,16 @@ AC_DEFUN([gl_COMMON_BODY], [
    is a misnomer outside of parameter lists.  */
 #define _UNUSED_PARAMETER_ _GL_UNUSED
 
+/* gcc supports the "unused" attribute on possibly unused labels, and
+   g++ has since version 4.5.  Note to support C++ as well as C,
+   _GL_UNUSED_LABEL should be used with a trailing ;  */
+#if !defined __cplusplus || __GNUC__ > 4 \
+    || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
+# define _GL_UNUSED_LABEL _GL_UNUSED
+#else
+# define _GL_UNUSED_LABEL
+#endif
+
 /* The __pure__ attribute was added in gcc 2.96.  */
 #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
 # define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
@@ -309,26 +319,28 @@ m4_ifdef([AC_PROG_MKDIR_P], [
 ])
 
 # AC_C_RESTRICT
-# This definition overrides the AC_C_RESTRICT macro from autoconf 2.60..2.61,
-# so that mixed use of GNU C and GNU C++ and mixed use of Sun C and Sun C++
-# works.
-# This definition can be removed once autoconf >= 2.62 can be assumed.
-# AC_AUTOCONF_VERSION was introduced in 2.62, so use that as the witness.
-m4_ifndef([AC_AUTOCONF_VERSION],[
+# This definition is copied from post-2.69 Autoconf and overrides the
+# AC_C_RESTRICT macro from autoconf 2.60..2.69.  It can be removed
+# once autoconf >= 2.70 can be assumed.  It's painful to check version
+# numbers, and in practice this macro is more up-to-date than Autoconf
+# is, so override Autoconf unconditionally.
 AC_DEFUN([AC_C_RESTRICT],
 [AC_CACHE_CHECK([for C/C++ restrict keyword], [ac_cv_c_restrict],
   [ac_cv_c_restrict=no
    # The order here caters to the fact that C++ does not require restrict.
    for ac_kw in __restrict __restrict__ _Restrict restrict; do
-     AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
-      [[typedef int * int_ptr;
-        int foo (int_ptr $ac_kw ip) {
-        return ip[0];
-       }]],
-      [[int s[1];
-        int * $ac_kw t = s;
-        t[0] = 0;
-        return foo(t)]])],
+     AC_COMPILE_IFELSE(
+      [AC_LANG_PROGRAM(
+        [[typedef int *int_ptr;
+          int foo (int_ptr $ac_kw ip) { return ip[0]; }
+          int bar (int [$ac_kw]); /* Catch GCC bug 14050.  */
+          int bar (int ip[$ac_kw]) { return ip[0]; }
+        ]],
+        [[int s[1];
+          int *$ac_kw t = s;
+          t[0] = 0;
+          return foo (t) + bar (t);
+        ]])],
       [ac_cv_c_restrict=$ac_kw])
      test "$ac_cv_c_restrict" != no && break
    done
@@ -338,21 +350,21 @@ AC_DEFUN([AC_C_RESTRICT],
    nothing if this is not supported.  Do not define if restrict is
    supported directly.  */
 #undef restrict
-/* Work around a bug in Sun C++: it does not support _Restrict, even
-   though the corresponding Sun C compiler does, which causes
-   "#define restrict _Restrict" in the previous line.  Perhaps some future
-   version of Sun C++ will work with _Restrict; if so, it'll probably
-   define __RESTRICT, just as Sun C does.  */
+/* Work around a bug in Sun C++: it does not support _Restrict or
+   __restrict__, even though the corresponding Sun C compiler ends up with
+   "#define restrict _Restrict" or "#define restrict __restrict__" in the
+   previous line.  Perhaps some future version of Sun C++ will work with
+   restrict; if so, hopefully it defines __RESTRICT like Sun C does.  */
 #if defined __SUNPRO_CC && !defined __RESTRICT
 # define _Restrict
+# define __restrict__
 #endif])
  case $ac_cv_c_restrict in
    restrict) ;;
    no) AC_DEFINE([restrict], []) ;;
    *)  AC_DEFINE_UNQUOTED([restrict], [$ac_cv_c_restrict]) ;;
  esac
-])
-])
+])# AC_C_RESTRICT
 
 # gl_BIGENDIAN
 # is like AC_C_BIGENDIAN, except that it can be AC_REQUIREd.
@@ -375,3 +387,63 @@ AC_DEFUN([gl_CACHE_VAL_SILENT],
   AC_CACHE_VAL([$1], [$2])
   as_echo_n="$saved_as_echo_n"
 ])
+
+# AS_VAR_COPY was added in autoconf 2.63b
+m4_define_default([AS_VAR_COPY],
+[AS_LITERAL_IF([$1[]$2], [$1=$$2], [eval $1=\$$2])])
+
+# AC_PROG_SED was added in autoconf 2.59b
+m4_ifndef([AC_PROG_SED],
+[AC_DEFUN([AC_PROG_SED],
+[AC_CACHE_CHECK([for a sed that does not truncate output], ac_cv_path_SED,
+    [dnl ac_script should not contain more than 99 commands (for HP-UX sed),
+     dnl but more than about 7000 bytes, to catch a limit in Solaris 8 
/usr/ucb/sed.
+     
ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+     for ac_i in 1 2 3 4 5 6 7; do
+       ac_script="$ac_script$as_nl$ac_script"
+     done
+     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+     AS_UNSET([ac_script])
+     if test -z "$SED"; then
+       ac_path_SED_found=false
+       _AS_PATH_WALK([], [
+         for ac_prog in sed gsed; do
+           for ac_exec_ext in '' $ac_executable_extensions; do
+             ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
+             AS_EXECUTABLE_P(["$ac_path_SED"]) || continue
+             case `"$ac_path_SED" --version 2>&1` in
+               *GNU*) ac_cv_path_SED=$ac_path_SED ac_path_SED_found=:;;
+               *)
+                 ac_count=0
+                 _AS_ECHO_N([0123456789]) >conftest.in
+                 while :
+                 do
+                   cat conftest.in conftest.in >conftest.tmp
+                   mv conftest.tmp conftest.in
+                   cp conftest.in conftest.nl
+                   echo >> conftest.nl
+                   "$ac_path_SED" -f conftest.sed <conftest.nl >conftest.out 
2>/dev/null || break
+                   diff conftest.out conftest.nl >/dev/null 2>&1 || break
+                   ac_count=`expr $ac_count + 1`
+                   if test $ac_count -gt ${ac_path_SED_max-0}; then
+                     # Best so far, but keep looking for better
+                     ac_cv_path_SED=$ac_path_SED
+                     ac_path_SED_max=$ac_count
+                   fi
+                   test $ac_count -gt 10 && break
+                 done
+                 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+             esac
+             $ac_path_SED_found && break 3
+           done
+         done])
+       if test -z "$ac_cv_path_SED"; then
+         AC_ERROR([no acceptable sed could be found in \$PATH])
+       fi
+     else
+       ac_cv_path_SED=$SED
+     fi
+ SED="$ac_cv_path_SED"
+ AC_SUBST([SED])dnl
+ rm -f conftest.sed
+])])])
diff --git a/db/gl/m4/gnulib-comp.m4 b/db/gl/m4/gnulib-comp.m4
index cdc4885..517e1d0 100644
--- a/db/gl/m4/gnulib-comp.m4
+++ b/db/gl/m4/gnulib-comp.m4
@@ -1,5 +1,5 @@
 # DO NOT EDIT! GENERATED AUTOMATICALLY!
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/db/gl/m4/gnulib-tool.m4 b/db/gl/m4/gnulib-tool.m4
index f3dea1a..a588e15 100644
--- a/db/gl/m4/gnulib-tool.m4
+++ b/db/gl/m4/gnulib-tool.m4
@@ -1,5 +1,5 @@
 # gnulib-tool.m4 serial 2
-dnl Copyright (C) 2004-2005, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2005, 2009-2014 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.
diff --git a/db/gl/m4/readlink.m4 b/db/gl/m4/readlink.m4
index 96e5042..f9ce868 100644
--- a/db/gl/m4/readlink.m4
+++ b/db/gl/m4/readlink.m4
@@ -1,5 +1,5 @@
 # readlink.m4 serial 12
-dnl Copyright (C) 2003, 2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2007, 2009-2014 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.
diff --git a/db/gl/readlink.c b/db/gl/readlink.c
index f83a1e0..4c49639 100644
--- a/db/gl/readlink.c
+++ b/db/gl/readlink.c
@@ -1,5 +1,5 @@
 /* Stub for readlink().
-   Copyright (C) 2003-2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2003-2007, 2009-2014 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
diff --git a/db/info.h b/db/info.h
index a6d87c1..722c63b 100644
--- a/db/info.h
+++ b/db/info.h
@@ -1,5 +1,5 @@
 /* info.h --- Internal header file for shisa library.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/db/libshisa.map b/db/libshisa.map
index fbf4b18..e216e29 100644
--- a/db/libshisa.map
+++ b/db/libshisa.map
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2013 Simon Josefsson
+# Copyright (C) 2009-2014 Simon Josefsson
 #
 # This file is part of Shishi.
 #
diff --git a/db/setup.c b/db/setup.c
index a266963..212cd8a 100644
--- a/db/setup.c
+++ b/db/setup.c
@@ -1,5 +1,5 @@
 /* init.c --- Initialization functions for the Shisa library.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/db/shisa.h b/db/shisa.h
index 99f14c6..7206bc6 100644
--- a/db/shisa.h
+++ b/db/shisa.h
@@ -1,5 +1,5 @@
 /* shisa.h --- Header file for concurrent write-safe user information database.
- * Copyright (C) 2003-2013 Simon Josefsson
+ * Copyright (C) 2003-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 8946d74..e9b7b38 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2002-2013 Simon Josefsson
+# Copyright (C) 2002-2014 Simon Josefsson
 #
 # This file is part of Shishi.
 #
@@ -371,6 +371,8 @@ gdoc_MANS += man/shishi_init_with_paths.3
 gdoc_MANS += man/shishi_init_server.3
 gdoc_MANS += man/shishi_init_server_with_paths.3
 gdoc_MANS += man/shishi_as_derive_salt.3
+gdoc_MANS += man/shishi_kdcreq_sendrecv_hint.3
+gdoc_MANS += man/shishi_kdcreq_sendrecv.3
 gdoc_MANS += man/shishi_kdc_copy_crealm.3
 gdoc_MANS += man/shishi_as_check_crealm.3
 gdoc_MANS += man/shishi_kdc_copy_cname.3
diff --git a/doc/ccache.txt b/doc/ccache.txt
index d58f7f8..7b01e9d 100644
--- a/doc/ccache.txt
+++ b/doc/ccache.txt
@@ -1,5 +1,5 @@
 The Kerberos Credential Cache Binary File Format
-Copyright (C) 2006-2013 Simon Josefsson <simon josefsson.org>
+Copyright (C) 2006-2014 Simon Josefsson <simon josefsson.org>
 http://josefsson.org/shishi/ccache.txt
 Last updated: Sat Sep 23 12:04:11 CEST 2006
 
diff --git a/doc/cyclo/Makefile.am b/doc/cyclo/Makefile.am
index 0ee97f7..4fb3a54 100644
--- a/doc/cyclo/Makefile.am
+++ b/doc/cyclo/Makefile.am
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2002-2013 Simon Josefsson
+# Copyright (C) 2002-2014 Simon Josefsson
 #
 # This file is part of Shishi.
 #
diff --git a/doc/gendocs_template b/doc/gendocs_template
index 19a2268..8164ebc 100644
--- a/doc/gendocs_template
+++ b/doc/gendocs_template
@@ -1,5 +1,6 @@
 <!--#include virtual="/server/header.html" -->
-<title>%%TITLE%% - GNU Project - Free Software Foundation (FSF)</title>
+<!-- Parent-Version: 1.77 -->
+<title>%%TITLE%% - GNU Project - Free Software Foundation</title>
 <!--#include virtual="/server/banner.html" -->
 <h2>%%TITLE%%</h2>
 
@@ -56,7 +57,7 @@
 <ul>
   <li><a href="../reference/">HTML API Reference Manual (GTK-DOC)</a>.</li>
   <li><a href="../reference/%%PACKAGE%%.pdf">PDF Reference API Manual 
(GTK-DOC)</a>.
-  <li><a href="../reference/shishi.devhelp2">DevHelp API Reference Manual 
(GTK-DOC)</a>.</li>
+  <li><a href="../reference/gsasl.devhelp">DevHelp API Reference Manual 
(GTK-DOC)</a>.</li>
   <li><a href="../components.png">PNG image with developer and API 
information</a>.</li>
 </ul>
 
@@ -76,19 +77,22 @@ script</a>.)</p>
 </div><!-- for id="content", starts in the include above -->
 <!--#include virtual="/server/footer.html" -->
 <div id="footer">
+<div class="unprintable">
 
 <p>Please send general FSF &amp; GNU inquiries to
 <a href="mailto:address@hidden";>&lt;address@hidden&gt;</a>.
 There are also <a href="/contact/">other ways to contact</a>
-the FSF.<br />
-Please send broken links and other corrections or suggestions to
-<a href="mailto:%%EMAIL%%";>&lt;%%EMAIL%%&gt;</a>.</p>
+the FSF.  Broken links and other corrections or suggestions can be sent
+to <a href="mailto:%%EMAIL%%";>&lt;%%EMAIL%%&gt;</a>.</p>
+</div>
+
+<p>Copyright &copy; 2014 Free Software Foundation, Inc.</p>
 
-<p>Copyright &copy; 2013 Free Software Foundation, Inc.</p>
+<p>This page is licensed under a <a rel="license"
+href="http://creativecommons.org/licenses/by-nd/3.0/us/";>Creative
+Commons Attribution-NoDerivs 3.0 United States License</a>.</p>
 
-<p>Verbatim copying and distribution of this entire article are
-permitted worldwide, without royalty, in any medium, provided this
-notice, and the copyright notice, are preserved.</p>
+<!--#include virtual="/server/bottom-notes.html" -->
 
 </div>
 </div>
diff --git a/doc/parse-datetime.texi b/doc/parse-datetime.texi
index 5a4bcd0..7fa3c9e 100644
--- a/doc/parse-datetime.texi
+++ b/doc/parse-datetime.texi
@@ -1,6 +1,6 @@
 @c GNU date syntax documentation
 
address@hidden Copyright (C) 1994-2006, 2009-2013 Free Software Foundation, Inc.
address@hidden Copyright (C) 1994-2006, 2009-2014 Free Software Foundation, Inc.
 
 @c Permission is granted to copy, distribute and/or modify this document
 @c under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -69,9 +69,9 @@ arguments to the various programs.  The C interface (via the
 @cindex items in date strings
 A @dfn{date} is a string, possibly empty, containing many items
 separated by whitespace.  The whitespace may be omitted when no
-ambiguity arises.  The empty string means the beginning of today,
-i.e., midnight.  The order of the items is immaterial.
-A date string may contain many flavors of items:
+ambiguity arises.  The empty string means the beginning of today (i.e.,
+midnight).  Order of the items is immaterial.  A date string may contain
+many flavors of items:
 
 @itemize @bullet
 @item calendar date items
@@ -90,18 +90,17 @@ A date string may contain many flavors of items:
 @findex first @r{in date strings}
 @findex next @r{in date strings}
 @findex last @r{in date strings}
-A few ordinal numbers may be written out in words in some contexts.
-This is most useful for specifying day of the week items,
-or relative times, see below.
-Among the most commonly used ordinal numbers, the word
+A few ordinal numbers may be written out in words in some contexts.  This is
+most useful for specifying day of the week items or relative items (see
+below).  Among the most commonly used ordinal numbers, the word
 @samp{last} stands for @math{-1}, @samp{this} stands for 0, and
 @samp{first} and @samp{next} both stand for 1.  Because the word
address@hidden stands for a unit of time, there is no way to write the
address@hidden stands for the unit of time there is no way to write the
 ordinal number 2, but for convenience @samp{third} stands for 3,
 @samp{fourth} for 4, @samp{fifth} for 5,
 @samp{sixth} for 6, @samp{seventh} for 7, @samp{eighth} for 8,
address@hidden for 9, @samp{tenth} for 10, @samp{eleventh} for 11,
-and @samp{twelfth} for 12.
address@hidden for 9, @samp{tenth} for 10, @samp{eleventh} for 11 and
address@hidden for 12.
 
 @cindex months, written-out
 When a month is written this way, it is still considered to be written
diff --git a/doc/shishi.texi b/doc/shishi.texi
index 825f3d8..f131180 100644
--- a/doc/shishi.texi
+++ b/doc/shishi.texi
@@ -15,7 +15,7 @@
 This manual is last updated @value{UPDATED} for version
 @value{VERSION} of Shishi.
 
-Copyright @copyright{} 2002-2013 Simon Josefsson.
+Copyright @copyright{} 2002-2014 Simon Josefsson.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
diff --git a/examples/Makefile.am b/examples/Makefile.am
index 5baa217..c55933d 100644
--- a/examples/Makefile.am
+++ b/examples/Makefile.am
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2002-2013 Simon Josefsson.
+# Copyright (C) 2002-2014 Simon Josefsson.
 #
 # This file is part of Shishi.
 #
diff --git a/examples/client-cksum.c b/examples/client-cksum.c
index 009083f..bdec7dd 100644
--- a/examples/client-cksum.c
+++ b/examples/client-cksum.c
@@ -1,5 +1,5 @@
 /* client-cksum.c --- Sample Shishi authenticated client, with checksum data.
- * Copyright (C) 2003-2013 Simon Josefsson
+ * Copyright (C) 2003-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/examples/client-priv.c b/examples/client-priv.c
index 89aafab..4d473c9 100644
--- a/examples/client-priv.c
+++ b/examples/client-priv.c
@@ -1,6 +1,6 @@
 /* client-priv.c --- Sample Shishi authenticated client, with privacy
  *                   protected application data exchange.
- * Copyright (C) 2003-2013 Simon Josefsson
+ * Copyright (C) 2003-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/examples/client-safe.c b/examples/client-safe.c
index a492bb5..434d7d3 100644
--- a/examples/client-safe.c
+++ b/examples/client-safe.c
@@ -1,6 +1,6 @@
 /* client-safe.c --- Sample Shishi authenticated client with integrity
  *                   protected application data exchange.
- * Copyright (C) 2003-2013 Simon Josefsson
+ * Copyright (C) 2003-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/examples/client.c b/examples/client.c
index 8bc0ea3..5e372f1 100644
--- a/examples/client.c
+++ b/examples/client.c
@@ -1,5 +1,5 @@
 /* client.c --- Sample client with authentication using Shishi.
- * Copyright (C) 2003-2013 Simon Josefsson
+ * Copyright (C) 2003-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/examples/server.c b/examples/server.c
index 5b89cae..354ebe2 100644
--- a/examples/server.c
+++ b/examples/server.c
@@ -1,5 +1,5 @@
 /* server.c --- Sample server with authentication using Shishi.
- * Copyright (C) 2003-2013 Simon Josefsson
+ * Copyright (C) 2003-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/extra/Makefile.am b/extra/Makefile.am
index 931ffc0..611b261 100644
--- a/extra/Makefile.am
+++ b/extra/Makefile.am
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2002-2013 Simon Josefsson.
+# Copyright (C) 2002-2014 Simon Josefsson.
 #
 # This file is part of Shishi.
 #
diff --git a/extra/README b/extra/README
index 8c1dcdd..6d9be4d 100644
--- a/extra/README
+++ b/extra/README
@@ -1,5 +1,5 @@
 Shishi extra/README -- Notes for the extra/ subdirectory.
-Copyright (C) 2002-2013 Simon Josefsson
+Copyright (C) 2002-2014 Simon Josefsson
 See the end for copying conditions.
 
 The pam_shishi/ sub-directory contains a PAM module that uses Shishi
diff --git a/extra/pam_shishi/Makefile.am b/extra/pam_shishi/Makefile.am
index 74e936c..98742e6 100644
--- a/extra/pam_shishi/Makefile.am
+++ b/extra/pam_shishi/Makefile.am
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2002-2013 Simon Josefsson.
+# Copyright (C) 2002-2014 Simon Josefsson.
 #
 # This file is part of Shishi.
 #
diff --git a/extra/rsh-redone/Makefile.am b/extra/rsh-redone/Makefile.am
index 63a199b..cb52eb6 100644
--- a/extra/rsh-redone/Makefile.am
+++ b/extra/rsh-redone/Makefile.am
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2003-2013 Simon Josefsson.
+# Copyright (C) 2003-2014 Simon Josefsson.
 #
 # This file is part of Shishi.
 #
diff --git a/gl/Makefile.am b/gl/Makefile.am
index 70c13c5..b0a5392 100644
--- a/gl/Makefile.am
+++ b/gl/Makefile.am
@@ -1,6 +1,6 @@
 ## DO NOT EDIT! GENERATED AUTOMATICALLY!
 ## Process this file with automake to produce Makefile.in.
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -23,7 +23,7 @@
 # Generated by gnulib-tool.
 # Reproduce by: gnulib-tool --import --dir=. --local-dir=gl/override 
--lib=libgnu --source-base=gl --m4-base=gl/m4 --doc-base=doc 
--tests-base=gl/tests --aux-dir=build-aux --avoid=xalloc-die 
--no-conditional-dependencies --libtool --macro-prefix=gl --no-vc-files 
arpa_inet autobuild base64 bind close connect crc crypto/arcfour crypto/gc-des 
crypto/gc-hmac-md5 crypto/gc-hmac-sha1 crypto/gc-md4 crypto/gc-md5 
crypto/gc-pbkdf2-sha1 crypto/gc-random fcntl fdl-1.3 gendocs getaddrinfo 
getline getpass getsubopt gnupload lib-msvc-compat lib-symbol-versions 
maintainer-makefile manywarnings minmax netinet_in parse-datetime pmccabe2html 
read-file recvfrom select sendto shutdown signal socket sockets socklen stat 
stdint strcase strerror strndup strtok_r strverscmp sys_select sys_socket 
sys_stat sys_time time timegm unistd update-copyright valgrind-tests vasnprintf 
vasprintf warnings xalloc xgetdomainname xgethostname xstrndup xvasprintf
 
-AUTOMAKE_OPTIONS = 1.5 gnits
+AUTOMAKE_OPTIONS = 1.9.6 gnits
 
 SUBDIRS =
 noinst_HEADERS =
@@ -56,10 +56,20 @@ libgnu_la_LDFLAGS += $(HOSTENT_LIB)
 libgnu_la_LDFLAGS += $(INET_NTOP_LIB)
 libgnu_la_LDFLAGS += $(LIBSOCKET)
 libgnu_la_LDFLAGS += $(LIB_CLOCK_GETTIME)
+libgnu_la_LDFLAGS += $(LIB_CRYPTO)
 libgnu_la_LDFLAGS += $(LIB_SELECT)
 libgnu_la_LDFLAGS += $(LTLIBINTL)
 libgnu_la_LDFLAGS += $(SERVENT_LIB)
 
+## begin gnulib module absolute-header
+
+# Use this preprocessor expression to decide whether #include_next works.
+# Do not rely on a 'configure'-time test for this, since the expression
+# might appear in an installed header, which is used by some other compiler.
+HAVE_INCLUDE_NEXT = (__GNUC__ || 60000000 <= __DECC_VER)
+
+## end   gnulib module absolute-header
+
 ## begin gnulib module alloca
 
 
@@ -245,7 +255,7 @@ EXTRA_DIST += md4.h
 
 libgnu_la_SOURCES += md5.c
 
-EXTRA_DIST += md5.h
+EXTRA_DIST += gl_openssl.h md5.h
 
 ## end   gnulib module crypto/md5
 
@@ -253,7 +263,7 @@ EXTRA_DIST += md5.h
 
 libgnu_la_SOURCES += sha1.c
 
-EXTRA_DIST += sha1.h
+EXTRA_DIST += gl_openssl.h sha1.h
 
 ## end   gnulib module crypto/sha1
 
@@ -1327,6 +1337,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status 
$(CXXDEFS_H) \
              -e 's/@''GNULIB_PTSNAME''@/$(GNULIB_PTSNAME)/g' \
              -e 's/@''GNULIB_PTSNAME_R''@/$(GNULIB_PTSNAME_R)/g' \
              -e 's/@''GNULIB_PUTENV''@/$(GNULIB_PUTENV)/g' \
+             -e 's/@''GNULIB_QSORT_R''@/$(GNULIB_QSORT_R)/g' \
              -e 's/@''GNULIB_RANDOM''@/$(GNULIB_RANDOM)/g' \
              -e 's/@''GNULIB_RANDOM_R''@/$(GNULIB_RANDOM_R)/g' \
              -e 's/@''GNULIB_REALLOC_POSIX''@/$(GNULIB_REALLOC_POSIX)/g' \
@@ -1378,6 +1389,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status 
$(CXXDEFS_H) \
              -e 's|@''REPLACE_PTSNAME''@|$(REPLACE_PTSNAME)|g' \
              -e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \
              -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \
+             -e 's|@''REPLACE_QSORT_R''@|$(REPLACE_QSORT_R)|g' \
              -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \
              -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \
              -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \
@@ -1856,6 +1868,7 @@ time.h: time.in.h $(top_builddir)/config.status 
$(CXXDEFS_H) $(ARG_NONNULL_H) $(
              -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \
+             -e 's/@''GNULIB_GETTIMEOFDAY''@/$(GNULIB_GETTIMEOFDAY)/g' \
              -e 's/@''GNULIB_MKTIME''@/$(GNULIB_MKTIME)/g' \
              -e 's/@''GNULIB_NANOSLEEP''@/$(GNULIB_NANOSLEEP)/g' \
              -e 's/@''GNULIB_STRPTIME''@/$(GNULIB_STRPTIME)/g' \
@@ -1865,6 +1878,8 @@ time.h: time.in.h $(top_builddir)/config.status 
$(CXXDEFS_H) $(ARG_NONNULL_H) $(
              -e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \
              -e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \
              -e 's|@''HAVE_TIMEGM''@|$(HAVE_TIMEGM)|g' \
+             -e 's|@''REPLACE_GMTIME''@|$(REPLACE_GMTIME)|g' \
+             -e 's|@''REPLACE_LOCALTIME''@|$(REPLACE_LOCALTIME)|g' \
              -e 's|@''REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \
              -e 's|@''REPLACE_MKTIME''@|$(REPLACE_MKTIME)|g' \
              -e 's|@''REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \
@@ -2028,6 +2043,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status 
$(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''REPLACE_FTRUNCATE''@|$(REPLACE_FTRUNCATE)|g' \
              -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \
              -e 's|@''REPLACE_GETDOMAINNAME''@|$(REPLACE_GETDOMAINNAME)|g' \
+             -e 's|@''REPLACE_GETDTABLESIZE''@|$(REPLACE_GETDTABLESIZE)|g' \
              -e 's|@''REPLACE_GETLOGIN_R''@|$(REPLACE_GETLOGIN_R)|g' \
              -e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \
              -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \
diff --git a/gl/alloca.in.h b/gl/alloca.in.h
index 72d28ee..5de9aaa 100644
--- a/gl/alloca.in.h
+++ b/gl/alloca.in.h
@@ -1,6 +1,6 @@
 /* Memory allocation on the stack.
 
-   Copyright (C) 1995, 1999, 2001-2004, 2006-2013 Free Software Foundation,
+   Copyright (C) 1995, 1999, 2001-2004, 2006-2014 Free Software Foundation,
    Inc.
 
    This program is free software; you can redistribute it and/or modify it
diff --git a/gl/arcfour.c b/gl/arcfour.c
index 68be837..809e0d5 100644
--- a/gl/arcfour.c
+++ b/gl/arcfour.c
@@ -1,5 +1,5 @@
 /* arcfour.c --- The arcfour stream cipher
- * Copyright (C) 2000-2003, 2005-2006, 2009-2013 Free Software Foundation, Inc.
+ * Copyright (C) 2000-2003, 2005-2006, 2009-2014 Free Software Foundation, Inc.
  *
  * This file is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published
diff --git a/gl/arcfour.h b/gl/arcfour.h
index 898d845..7be930e 100644
--- a/gl/arcfour.h
+++ b/gl/arcfour.h
@@ -1,5 +1,5 @@
 /* arcfour.h --- The arcfour stream cipher
- * Copyright (C) 2000-2005, 2009-2013 Free Software Foundation, Inc.
+ * Copyright (C) 2000-2005, 2009-2014 Free Software Foundation, Inc.
  *
  * This file is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published
diff --git a/gl/arpa_inet.in.h b/gl/arpa_inet.in.h
index ba89e97..b8c2e18 100644
--- a/gl/arpa_inet.in.h
+++ b/gl/arpa_inet.in.h
@@ -1,6 +1,6 @@
 /* A GNU-like <arpa/inet.h>.
 
-   Copyright (C) 2005-2006, 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2008-2014 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
diff --git a/gl/asnprintf.c b/gl/asnprintf.c
index 76e228d..0c62197 100644
--- a/gl/asnprintf.c
+++ b/gl/asnprintf.c
@@ -1,5 +1,5 @@
 /* Formatted output to strings.
-   Copyright (C) 1999, 2002, 2006, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2002, 2006, 2009-2014 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
diff --git a/gl/asprintf.c b/gl/asprintf.c
index 713dae1..9a69ac4 100644
--- a/gl/asprintf.c
+++ b/gl/asprintf.c
@@ -1,5 +1,5 @@
 /* Formatted output to strings.
-   Copyright (C) 1999, 2002, 2006-2007, 2009-2013 Free Software Foundation,
+   Copyright (C) 1999, 2002, 2006-2007, 2009-2014 Free Software Foundation,
    Inc.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gl/base64.c b/gl/base64.c
index 8da969c..c7f7ac5 100644
--- a/gl/base64.c
+++ b/gl/base64.c
@@ -1,5 +1,5 @@
 /* base64.c -- Encode binary data using printable characters.
-   Copyright (C) 1999-2001, 2004-2006, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 1999-2001, 2004-2006, 2009-2014 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
@@ -59,6 +59,27 @@ to_uchar (char ch)
   return ch;
 }
 
+static const char b64c[64] =
+  "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+
+/* Base64 encode IN array of size INLEN into OUT array. OUT needs
+   to be of length >= BASE64_LENGTH(INLEN), and INLEN needs to be
+   a multiple of 3.  */
+static void
+base64_encode_fast (const char *restrict in, size_t inlen, char *restrict out)
+{
+  while (inlen)
+    {
+      *out++ = b64c[to_uchar (in[0]) >> 2];
+      *out++ = b64c[((to_uchar (in[0]) << 4) + (to_uchar (in[1]) >> 4)) & 
0x3f];
+      *out++ = b64c[((to_uchar (in[1]) << 2) + (to_uchar (in[2]) >> 6)) & 
0x3f];
+      *out++ = b64c[to_uchar (in[2]) & 0x3f];
+
+      inlen -= 3;
+      in += 3;
+    }
+}
+
 /* Base64 encode IN array of size INLEN into OUT array of size OUTLEN.
    If OUTLEN is less than BASE64_LENGTH(INLEN), write as many bytes as
    possible.  If OUTLEN is larger than BASE64_LENGTH(INLEN), also zero
@@ -67,28 +88,38 @@ void
 base64_encode (const char *restrict in, size_t inlen,
                char *restrict out, size_t outlen)
 {
-  static const char b64str[64] =
-    "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+  /* Note this outlen constraint can be enforced at compile time.
+     I.E. that the output buffer is exactly large enough to hold
+     the encoded inlen bytes.  The inlen constraints (of corresponding
+     to outlen, and being a multiple of 3) can change at runtime
+     at the end of input.  However the common case when reading
+     large inputs is to have both constraints satisfied, so we depend
+     on both in base_encode_fast().  */
+  if (outlen % 4 == 0 && inlen == outlen / 4 * 3)
+    {
+      base64_encode_fast (in, inlen, out);
+      return;
+    }
 
   while (inlen && outlen)
     {
-      *out++ = b64str[(to_uchar (in[0]) >> 2) & 0x3f];
+      *out++ = b64c[to_uchar (in[0]) >> 2];
       if (!--outlen)
         break;
-      *out++ = b64str[((to_uchar (in[0]) << 4)
+      *out++ = b64c[((to_uchar (in[0]) << 4)
                        + (--inlen ? to_uchar (in[1]) >> 4 : 0))
                       & 0x3f];
       if (!--outlen)
         break;
       *out++ =
         (inlen
-         ? b64str[((to_uchar (in[1]) << 2)
+         ? b64c[((to_uchar (in[1]) << 2)
                    + (--inlen ? to_uchar (in[2]) >> 6 : 0))
                   & 0x3f]
          : '=');
       if (!--outlen)
         break;
-      *out++ = inlen ? b64str[to_uchar (in[2]) & 0x3f] : '=';
+      *out++ = inlen ? b64c[to_uchar (in[2]) & 0x3f] : '=';
       if (!--outlen)
         break;
       if (inlen)
diff --git a/gl/base64.h b/gl/base64.h
index 343150c..f550ccc 100644
--- a/gl/base64.h
+++ b/gl/base64.h
@@ -1,5 +1,5 @@
 /* base64.h -- Encode binary data using printable characters.
-   Copyright (C) 2004-2006, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2004-2006, 2009-2014 Free Software Foundation, Inc.
    Written by Simon Josefsson.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gl/bind.c b/gl/bind.c
index e6edb85..aa5d344 100644
--- a/gl/bind.c
+++ b/gl/bind.c
@@ -1,6 +1,6 @@
 /* bind.c --- wrappers for Windows bind function
 
-   Copyright (C) 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2008-2014 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
diff --git a/gl/c-ctype.c b/gl/c-ctype.c
index 752d2e3..48c6478 100644
--- a/gl/c-ctype.c
+++ b/gl/c-ctype.c
@@ -1,6 +1,6 @@
 /* Character handling in C locale.
 
-   Copyright 2000-2003, 2006, 2009-2013 Free Software Foundation, Inc.
+   Copyright 2000-2003, 2006, 2009-2014 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
diff --git a/gl/c-ctype.h b/gl/c-ctype.h
index 3a66440..b465277 100644
--- a/gl/c-ctype.h
+++ b/gl/c-ctype.h
@@ -5,7 +5,7 @@
    <ctype.h> functions' behaviour depends on the current locale set via
    setlocale.
 
-   Copyright (C) 2000-2003, 2006, 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2000-2003, 2006, 2008-2014 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
@@ -136,7 +136,8 @@ extern int c_tolower (int c) _GL_ATTRIBUTE_CONST;
 extern int c_toupper (int c) _GL_ATTRIBUTE_CONST;
 
 
-#if defined __GNUC__ && defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__ && 
!defined NO_C_CTYPE_MACROS
+#if (defined __GNUC__ && !defined __STRICT_ANSI__ && defined __OPTIMIZE__ \
+     && !defined __OPTIMIZE_SIZE__ && !defined NO_C_CTYPE_MACROS)
 
 /* ASCII optimizations. */
 
diff --git a/gl/close.c b/gl/close.c
index f620e54..d7dcb3f 100644
--- a/gl/close.c
+++ b/gl/close.c
@@ -1,5 +1,5 @@
 /* close replacement.
-   Copyright (C) 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2008-2014 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
diff --git a/gl/connect.c b/gl/connect.c
index 04cd5a2..8671278 100644
--- a/gl/connect.c
+++ b/gl/connect.c
@@ -1,6 +1,6 @@
 /* connect.c --- wrappers for Windows connect function
 
-   Copyright (C) 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2008-2014 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
diff --git a/gl/crc.c b/gl/crc.c
index a67d642..5970ef9 100644
--- a/gl/crc.c
+++ b/gl/crc.c
@@ -1,5 +1,5 @@
 /* crc.c -- cyclic redundancy checks
-   Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2014 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
diff --git a/gl/crc.h b/gl/crc.h
index 59203c0..9095864 100644
--- a/gl/crc.h
+++ b/gl/crc.h
@@ -1,5 +1,5 @@
 /* crc.h -- cyclic redundancy checks
-   Copyright (C) 2005, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2009-2014 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
diff --git a/gl/des.c b/gl/des.c
index 34ddf78..0187436 100644
--- a/gl/des.c
+++ b/gl/des.c
@@ -1,5 +1,5 @@
 /* des.c --- DES and Triple-DES encryption/decryption Algorithm
- * Copyright (C) 1998-1999, 2001-2007, 2009-2013 Free Software Foundation, Inc.
+ * Copyright (C) 1998-1999, 2001-2007, 2009-2014 Free Software Foundation, Inc.
  *
  * This file is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published
diff --git a/gl/des.h b/gl/des.h
index e478b9b..7b56064 100644
--- a/gl/des.h
+++ b/gl/des.h
@@ -1,5 +1,5 @@
 /* des.h --- DES cipher implementation.
- * Copyright (C) 2005, 2007, 2009-2013 Free Software Foundation, Inc.
+ * Copyright (C) 2005, 2007, 2009-2014 Free Software Foundation, Inc.
  *
  * This file is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published
diff --git a/gl/dosname.h b/gl/dosname.h
index ba63ce4..b92adfa 100644
--- a/gl/dosname.h
+++ b/gl/dosname.h
@@ -1,6 +1,6 @@
 /* File names on MS-DOS/Windows systems.
 
-   Copyright (C) 2000-2001, 2004-2006, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2000-2001, 2004-2006, 2009-2014 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
diff --git a/gl/dup2.c b/gl/dup2.c
index 9219eb3..7de6805 100644
--- a/gl/dup2.c
+++ b/gl/dup2.c
@@ -1,6 +1,6 @@
 /* Duplicate an open file descriptor to a specified file descriptor.
 
-   Copyright (C) 1999, 2004-2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2004-2007, 2009-2014 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
@@ -96,7 +96,11 @@ rpl_dup2 (int fd, int desired_fd)
   /* On Linux kernels 2.6.26-2.6.29, dup2 (fd, fd) returns -EBADF.
      On Cygwin 1.5.x, dup2 (1, 1) returns 0.
      On Cygwin 1.7.17, dup2 (1, -1) dumps core.
+     On Cygwin 1.7.25, dup2 (1, 256) can dump core.
      On Haiku, dup2 (fd, fd) mistakenly clears FD_CLOEXEC.  */
+#  if HAVE_SETDTABLESIZE
+  setdtablesize (desired_fd + 1);
+#  endif
   if (desired_fd < 0)
     fd = desired_fd;
   if (fd == desired_fd)
diff --git a/gl/errno.in.h b/gl/errno.in.h
index 49b3546..832afc8 100644
--- a/gl/errno.in.h
+++ b/gl/errno.in.h
@@ -1,6 +1,6 @@
 /* A POSIX-like <errno.h>.
 
-   Copyright (C) 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2008-2014 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
diff --git a/gl/fcntl.c b/gl/fcntl.c
index 735fa66..54f7486 100644
--- a/gl/fcntl.c
+++ b/gl/fcntl.c
@@ -1,6 +1,6 @@
 /* Provide file descriptor control.
 
-   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2009-2014 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
diff --git a/gl/fcntl.in.h b/gl/fcntl.in.h
index 1e45a65..e23b4b2 100644
--- a/gl/fcntl.in.h
+++ b/gl/fcntl.in.h
@@ -1,6 +1,6 @@
 /* Like <fcntl.h>, but with non-working flags defined to 0.
 
-   Copyright (C) 2006-2013 Free Software Foundation, Inc.
+   Copyright (C) 2006-2014 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
@@ -186,6 +186,22 @@ _GL_WARN_ON_USE (openat, "openat is not portable - "
 
 /* Fix up the O_* macros.  */
 
+/* AIX 7.1 with XL C 12.1 defines O_CLOEXEC, O_NOFOLLOW, and O_TTY_INIT
+   to values outside 'int' range, so omit these misdefinitions.
+   But avoid namespace pollution on non-AIX systems.  */
+#ifdef _AIX
+# include <limits.h>
+# if defined O_CLOEXEC && ! (INT_MIN <= O_CLOEXEC && O_CLOEXEC <= INT_MAX)
+#  undef O_CLOEXEC
+# endif
+# if defined O_NOFOLLOW && ! (INT_MIN <= O_NOFOLLOW && O_NOFOLLOW <= INT_MAX)
+#  undef O_NOFOLLOW
+# endif
+# if defined O_TTY_INIT && ! (INT_MIN <= O_TTY_INIT && O_TTY_INIT <= INT_MAX)
+#  undef O_TTY_INIT
+# endif
+#endif
+
 #if !defined O_DIRECT && defined O_DIRECTIO
 /* Tru64 spells it 'O_DIRECTIO'.  */
 # define O_DIRECT O_DIRECTIO
diff --git a/gl/fd-hook.c b/gl/fd-hook.c
index e158a52..0171cc6 100644
--- a/gl/fd-hook.c
+++ b/gl/fd-hook.c
@@ -1,5 +1,5 @@
 /* Hook for making making file descriptor functions close(), ioctl() 
extensible.
-   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2009-2014 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2009.
 
    This program is free software: you can redistribute it and/or modify it
diff --git a/gl/fd-hook.h b/gl/fd-hook.h
index d15b577..1aa264e 100644
--- a/gl/fd-hook.h
+++ b/gl/fd-hook.h
@@ -1,5 +1,5 @@
 /* Hook for making making file descriptor functions close(), ioctl() 
extensible.
-   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2009-2014 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
diff --git a/gl/float+.h b/gl/float+.h
index 32fb790..5ff1511 100644
--- a/gl/float+.h
+++ b/gl/float+.h
@@ -1,5 +1,5 @@
 /* Supplemental information about the floating-point formats.
-   Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2007.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gl/float.c b/gl/float.c
index 366945f..b7c321d 100644
--- a/gl/float.c
+++ b/gl/float.c
@@ -1,5 +1,5 @@
 /* Auxiliary definitions for <float.h>.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2011.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gl/float.in.h b/gl/float.in.h
index 84e1950..db809f8 100644
--- a/gl/float.in.h
+++ b/gl/float.in.h
@@ -1,6 +1,6 @@
 /* A correct <float.h>.
 
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2014 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
diff --git a/gl/fseek.c b/gl/fseek.c
index 4708287..f778145 100644
--- a/gl/fseek.c
+++ b/gl/fseek.c
@@ -1,5 +1,5 @@
 /* An fseek() function that, together with fflush(), is POSIX compliant.
-   Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2014 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
diff --git a/gl/fseeko.c b/gl/fseeko.c
index 42cd642..e56ad0b 100644
--- a/gl/fseeko.c
+++ b/gl/fseeko.c
@@ -1,5 +1,5 @@
 /* An fseeko() function that, together with fflush(), is POSIX compliant.
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2014 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
@@ -19,7 +19,7 @@
 /* Specification.  */
 #include <stdio.h>
 
-/* Get off_t and lseek.  */
+/* Get off_t, lseek, _POSIX_VERSION.  */
 #include <unistd.h>
 
 #include "stdio-impl.h"
@@ -99,8 +99,14 @@ fseeko (FILE *fp, off_t offset, int whence)
 #elif defined EPLAN9                /* Plan9 */
   if (fp->rp == fp->buf
       && fp->wp == fp->buf)
+#elif FUNC_FFLUSH_STDIN < 0 && 200809 <= _POSIX_VERSION
+  /* Cross-compiling to some other system advertising conformance to
+     POSIX.1-2008 or later.  Assume fseeko and fflush work as advertised.
+     If this assumption is incorrect, please report the bug to
+     bug-gnulib.  */
+  if (0)
 #else
-  #error "Please port gnulib fseeko.c to your platform! Look at the code in 
fpurge.c, then report this to bug-gnulib."
+  #error "Please port gnulib fseeko.c to your platform! Look at the code in 
fseeko.c, then report this to bug-gnulib."
 #endif
     {
       /* We get here when an fflush() call immediately preceded this one (or
diff --git a/gl/fstat.c b/gl/fstat.c
index dc802f5..ffcda9f 100644
--- a/gl/fstat.c
+++ b/gl/fstat.c
@@ -1,5 +1,5 @@
 /* fstat() replacement.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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
diff --git a/gl/ftell.c b/gl/ftell.c
index 4ad13c9..d5cbccd 100644
--- a/gl/ftell.c
+++ b/gl/ftell.c
@@ -1,5 +1,5 @@
 /* An ftell() function that works around platform bugs.
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2014 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
diff --git a/gl/ftello.c b/gl/ftello.c
index 3a2a0f2..ee4f7dc 100644
--- a/gl/ftello.c
+++ b/gl/ftello.c
@@ -1,5 +1,5 @@
 /* An ftello() function that works around platform bugs.
-   Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2014 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
diff --git a/gl/gai_strerror.c b/gl/gai_strerror.c
index 1e371d2..9c39388 100644
--- a/gl/gai_strerror.c
+++ b/gl/gai_strerror.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 2001-2002, 2004-2006, 2008-2013 Free Software
+/* Copyright (C) 1997, 2001-2002, 2004-2006, 2008-2014 Free Software
    Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Philip Blundell <address@hidden>, 1997.
diff --git a/gl/gc-gnulib.c b/gl/gc-gnulib.c
index ef38efc..539d640 100644
--- a/gl/gc-gnulib.c
+++ b/gl/gc-gnulib.c
@@ -1,5 +1,5 @@
 /* gc-gnulib.c --- Common gnulib internal crypto interface functions
- * Copyright (C) 2002-2013 Free Software Foundation, Inc.
+ * Copyright (C) 2002-2014 Free Software Foundation, Inc.
  *
  * This file is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published
@@ -48,7 +48,7 @@
 #ifdef GNULIB_GC_SHA1
 # include "sha1.h"
 #endif
-#if defined(GNULIB_GC_HMAC_MD5) || defined(GNULIB_GC_HMAC_SHA1)
+#if defined(GNULIB_GC_HMAC_MD5) || defined(GNULIB_GC_HMAC_SHA1) || 
defined(GNULIB_GC_HMAC_SHA256) || defined(GNULIB_GC_HMAC_SHA512)
 # include "hmac.h"
 #endif
 
@@ -66,11 +66,6 @@
 # include "rijndael-api-fst.h"
 #endif
 
-/* The results of open() in this file are not used with fchdir,
-   therefore save some unnecessary work in fchdir.c.  */
-#undef open
-#undef close
-
 #ifdef GNULIB_GC_RANDOM
 # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
 #  include <windows.h>
@@ -914,3 +909,23 @@ gc_hmac_sha1 (const void *key, size_t keylen,
   return GC_OK;
 }
 #endif
+
+#ifdef GNULIB_GC_HMAC_SHA256
+Gc_rc
+gc_hmac_sha256 (const void *key, size_t keylen,
+                const void *in, size_t inlen, char *resbuf)
+{
+  hmac_sha256 (key, keylen, in, inlen, resbuf);
+  return GC_OK;
+}
+#endif
+
+#ifdef GNULIB_GC_HMAC_SHA512
+Gc_rc
+gc_hmac_sha512 (const void *key, size_t keylen,
+                const void *in, size_t inlen, char *resbuf)
+{
+  hmac_sha512 (key, keylen, in, inlen, resbuf);
+  return GC_OK;
+}
+#endif
diff --git a/gl/gc-libgcrypt.c b/gl/gc-libgcrypt.c
index 81f3d63..aa393b3 100644
--- a/gl/gc-libgcrypt.c
+++ b/gl/gc-libgcrypt.c
@@ -1,5 +1,5 @@
 /* gc-libgcrypt.c --- Crypto wrappers around Libgcrypt for GC.
- * Copyright (C) 2002-2013 Free Software Foundation, Inc.
+ * Copyright (C) 2002-2014 Free Software Foundation, Inc.
  *
  * This file is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published
@@ -656,7 +656,7 @@ gc_hmac_md5 (const void *key, size_t keylen,
   unsigned char *hash;
   gpg_error_t err;
 
-  assert (hlen == 16);
+  assert (hlen == GC_MD5_DIGEST_SIZE);
 
   err = gcry_md_open (&mdh, GCRY_MD_MD5, GCRY_MD_FLAG_HMAC);
   if (err != GPG_ERR_NO_ERROR)
@@ -725,3 +725,83 @@ gc_hmac_sha1 (const void *key, size_t keylen,
   return GC_OK;
 }
 #endif
+
+#ifdef GNULIB_GC_HMAC_SHA256
+Gc_rc
+gc_hmac_sha256 (const void *key, size_t keylen,
+             const void *in, size_t inlen, char *resbuf)
+{
+  size_t hlen = gcry_md_get_algo_dlen (GCRY_MD_SHA256);
+  gcry_md_hd_t mdh;
+  unsigned char *hash;
+  gpg_error_t err;
+
+  assert (hlen == GC_SHA256_DIGEST_SIZE);
+
+  err = gcry_md_open (&mdh, GCRY_MD_SHA256, GCRY_MD_FLAG_HMAC);
+  if (err != GPG_ERR_NO_ERROR)
+    return GC_INVALID_HASH;
+
+  err = gcry_md_setkey (mdh, key, keylen);
+  if (err != GPG_ERR_NO_ERROR)
+    {
+      gcry_md_close (mdh);
+      return GC_INVALID_HASH;
+    }
+
+  gcry_md_write (mdh, in, inlen);
+
+  hash = gcry_md_read (mdh, GCRY_MD_SHA256);
+  if (hash == NULL)
+    {
+      gcry_md_close (mdh);
+      return GC_INVALID_HASH;
+    }
+
+  memcpy (resbuf, hash, hlen);
+
+  gcry_md_close (mdh);
+
+  return GC_OK;
+}
+#endif
+
+#ifdef GNULIB_GC_HMAC_SHA512
+Gc_rc
+gc_hmac_sha512 (const void *key, size_t keylen,
+              const void *in, size_t inlen, char *resbuf)
+{
+  size_t hlen = gcry_md_get_algo_dlen (GCRY_MD_SHA512);
+  gcry_md_hd_t mdh;
+  unsigned char *hash;
+  gpg_error_t err;
+
+  assert (hlen == GC_SHA512_DIGEST_SIZE);
+
+  err = gcry_md_open (&mdh, GCRY_MD_SHA512, GCRY_MD_FLAG_HMAC);
+  if (err != GPG_ERR_NO_ERROR)
+    return GC_INVALID_HASH;
+
+  err = gcry_md_setkey (mdh, key, keylen);
+  if (err != GPG_ERR_NO_ERROR)
+    {
+      gcry_md_close (mdh);
+      return GC_INVALID_HASH;
+    }
+
+  gcry_md_write (mdh, in, inlen);
+
+  hash = gcry_md_read (mdh, GCRY_MD_SHA512);
+  if (hash == NULL)
+    {
+      gcry_md_close (mdh);
+      return GC_INVALID_HASH;
+    }
+
+  memcpy (resbuf, hash, hlen);
+
+  gcry_md_close (mdh);
+
+  return GC_OK;
+}
+#endif
diff --git a/gl/gc-pbkdf2-sha1.c b/gl/gc-pbkdf2-sha1.c
index f0f2515..5cb091d 100644
--- a/gl/gc-pbkdf2-sha1.c
+++ b/gl/gc-pbkdf2-sha1.c
@@ -1,5 +1,5 @@
 /* gc-pbkdf2-sha1.c --- Password-Based Key Derivation Function a'la PKCS#5
-   Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2002-2006, 2009-2014 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
diff --git a/gl/gc.h b/gl/gc.h
index b8a1736..1d38eb9 100644
--- a/gl/gc.h
+++ b/gl/gc.h
@@ -1,5 +1,5 @@
 /* gc.h --- Header file for implementation agnostic crypto wrapper API.
- * Copyright (C) 2002-2005, 2007-2008, 2011-2013 Free Software Foundation, Inc.
+ * Copyright (C) 2002-2005, 2007-2008, 2011-2014 Free Software Foundation, Inc.
  *
  * This file is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published
@@ -159,6 +159,10 @@ extern Gc_rc gc_hmac_md5 (const void *key, size_t keylen,
                           const void *in, size_t inlen, char *resbuf);
 extern Gc_rc gc_hmac_sha1 (const void *key, size_t keylen,
                            const void *in, size_t inlen, char *resbuf);
+extern Gc_rc gc_hmac_sha256 (const void *key, size_t keylen,
+                             const void *in, size_t inlen, char *resbuf);
+extern Gc_rc gc_hmac_sha512 (const void *key, size_t keylen,
+                             const void *in, size_t inlen, char *resbuf);
 
 /* Derive cryptographic keys from a password P of length PLEN, with
    salt S of length SLEN, placing the result in pre-allocated buffer
diff --git a/gl/getaddrinfo.c b/gl/getaddrinfo.c
index 58d2811..eef7a0c 100644
--- a/gl/getaddrinfo.c
+++ b/gl/getaddrinfo.c
@@ -1,5 +1,5 @@
 /* Get address information (partial implementation).
-   Copyright (C) 1997, 2001-2002, 2004-2013 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2001-2002, 2004-2014 Free Software Foundation, Inc.
    Contributed by Simon Josefsson <address@hidden>.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gl/getdelim.c b/gl/getdelim.c
index fdbcde2..e5714ba 100644
--- a/gl/getdelim.c
+++ b/gl/getdelim.c
@@ -1,5 +1,5 @@
 /* getdelim.c --- Implementation of replacement getdelim function.
-   Copyright (C) 1994, 1996-1998, 2001, 2003, 2005-2013 Free Software
+   Copyright (C) 1994, 1996-1998, 2001, 2003, 2005-2014 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or
diff --git a/gl/getdomainname.c b/gl/getdomainname.c
index 4961197..e914cfb 100644
--- a/gl/getdomainname.c
+++ b/gl/getdomainname.c
@@ -1,6 +1,6 @@
 /* getdomainname emulation for systems that doesn't have it.
 
-   Copyright (C) 2003, 2006, 2008, 2010-2013 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2006, 2008, 2010-2014 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
diff --git a/gl/getdtablesize.c b/gl/getdtablesize.c
index 9947405..f0c6271 100644
--- a/gl/getdtablesize.c
+++ b/gl/getdtablesize.c
@@ -1,5 +1,5 @@
 /* getdtablesize() function for platforms that don't have it.
-   Copyright (C) 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2008-2014 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2008.
 
    This program is free software: you can redistribute it and/or modify
@@ -22,11 +22,11 @@
 
 #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
 
-#include <stdio.h>
+# include <stdio.h>
 
-#include "msvc-inval.h"
+# include "msvc-inval.h"
 
-#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+# if HAVE_MSVC_INVALID_PARAMETER_HANDLER
 static int
 _setmaxstdio_nothrow (int newmax)
 {
@@ -44,10 +44,11 @@ _setmaxstdio_nothrow (int newmax)
 
   return result;
 }
-# define _setmaxstdio _setmaxstdio_nothrow
-#endif
+#  define _setmaxstdio _setmaxstdio_nothrow
+# endif
 
-/* Cache for the previous getdtablesize () result.  */
+/* Cache for the previous getdtablesize () result.  Safe to cache because
+   Windows also lacks setrlimit.  */
 static int dtablesize;
 
 int
@@ -83,4 +84,32 @@ getdtablesize (void)
   return dtablesize;
 }
 
+#elif HAVE_GETDTABLESIZE
+
+# include <sys/resource.h>
+# undef getdtablesize
+
+int
+rpl_getdtablesize(void)
+{
+  /* To date, this replacement is only compiled for Cygwin 1.7.25,
+     which auto-increased the RLIMIT_NOFILE soft limit until it
+     hits the compile-time constant hard limit of 3200.  Although
+     that version of cygwin supported a child process inheriting
+     a smaller soft limit, the smaller limit is not enforced, so
+     we might as well just report the hard limit.  */
+  struct rlimit lim;
+  if (!getrlimit (RLIMIT_NOFILE, &lim) && lim.rlim_max != RLIM_INFINITY)
+    return lim.rlim_max;
+  return getdtablesize ();
+}
+
+#elif defined _SC_OPEN_MAX
+
+int
+getdtablesize (void)
+{
+  return sysconf (_SC_OPEN_MAX);
+}
+
 #endif
diff --git a/gl/gethostname.c b/gl/gethostname.c
index 2201573..785fd71 100644
--- a/gl/gethostname.c
+++ b/gl/gethostname.c
@@ -1,6 +1,6 @@
 /* gethostname emulation for SysV and POSIX.1.
 
-   Copyright (C) 1992, 2003, 2006, 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 1992, 2003, 2006, 2008-2014 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
diff --git a/gl/getline.c b/gl/getline.c
index 1aa07b9..5282e80 100644
--- a/gl/getline.c
+++ b/gl/getline.c
@@ -1,5 +1,5 @@
 /* getline.c --- Implementation of replacement getline function.
-   Copyright (C) 2005-2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2007, 2009-2014 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
diff --git a/gl/getpass.c b/gl/getpass.c
index 3c9c4d8..ecf3570 100644
--- a/gl/getpass.c
+++ b/gl/getpass.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992-2001, 2003-2007, 2009-2013 Free Software Foundation, Inc.
+/* Copyright (C) 1992-2001, 2003-2007, 2009-2014 Free Software Foundation, Inc.
 
    This file is part of the GNU C Library.
 
@@ -85,7 +85,9 @@ getpass (const char *prompt)
 {
   FILE *tty;
   FILE *in, *out;
+# if HAVE_TCGETATTR
   struct termios s, t;
+# endif
   bool tty_changed = false;
   static char *buf;
   static size_t bufsize;
diff --git a/gl/getpass.h b/gl/getpass.h
index 9b59abb..1e03cbd 100644
--- a/gl/getpass.h
+++ b/gl/getpass.h
@@ -1,5 +1,5 @@
 /* getpass.h -- Read a password of arbitrary length from /dev/tty or stdin.
-   Copyright (C) 2004, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2009-2014 Free Software Foundation, Inc.
    Contributed by Simon Josefsson <address@hidden>, 2004.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gl/getpeername.c b/gl/getpeername.c
index be4dcfd..93d7ca1 100644
--- a/gl/getpeername.c
+++ b/gl/getpeername.c
@@ -1,6 +1,6 @@
 /* getpeername.c --- wrappers for Windows getpeername function
 
-   Copyright (C) 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2008-2014 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
diff --git a/gl/getsubopt.c b/gl/getsubopt.c
index 539fdd0..2e0d67c 100644
--- a/gl/getsubopt.c
+++ b/gl/getsubopt.c
@@ -1,5 +1,5 @@
 /* Parse comma separated list into words.
-   Copyright (C) 1996-1997, 1999, 2004, 2007, 2009-2013 Free Software
+   Copyright (C) 1996-1997, 1999, 2004, 2007, 2009-2014 Free Software
    Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <address@hidden>, 1996.
diff --git a/gl/gettext.h b/gl/gettext.h
index 5c0a928..babf1d0 100644
--- a/gl/gettext.h
+++ b/gl/gettext.h
@@ -1,5 +1,5 @@
 /* Convenience header for conditional use of GNU <libintl.h>.
-   Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2013 Free Software
+   Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2014 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gl/gettime.c b/gl/gettime.c
index 0a642dd..1b4ca8d 100644
--- a/gl/gettime.c
+++ b/gl/gettime.c
@@ -1,6 +1,6 @@
 /* gettime -- get the system clock
 
-   Copyright (C) 2002, 2004-2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2004-2007, 2009-2014 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
diff --git a/gl/gettimeofday.c b/gl/gettimeofday.c
index ad65c6d..8b2058e 100644
--- a/gl/gettimeofday.c
+++ b/gl/gettimeofday.c
@@ -1,6 +1,6 @@
 /* Provide gettimeofday for systems that don't have it or for which it's 
broken.
 
-   Copyright (C) 2001-2003, 2005-2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2001-2003, 2005-2007, 2009-2014 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
diff --git a/gl/gl_openssl.h b/gl/gl_openssl.h
new file mode 100644
index 0000000..2414421
--- /dev/null
+++ b/gl/gl_openssl.h
@@ -0,0 +1,116 @@
+/* gl_openssl.h -- wrap openssl crypto hash routines in gnulib interface
+
+   Copyright (C) 2013-2014 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 Pádraig Brady */
+
+#ifndef GL_OPENSSL_NAME
+# error "Please define GL_OPENSSL_NAME to 1,5,256 etc."
+#endif
+
+#ifndef _GL_INLINE_HEADER_BEGIN
+# error "Please include config.h first."
+#endif
+_GL_INLINE_HEADER_BEGIN
+#ifndef GL_OPENSSL_INLINE
+# define GL_OPENSSL_INLINE _GL_INLINE
+#endif
+
+/* Concatenate two preprocessor tokens.  */
+#define _GLCRYPTO_CONCAT_(prefix, suffix) prefix##suffix
+#define _GLCRYPTO_CONCAT(prefix, suffix) _GLCRYPTO_CONCAT_ (prefix, suffix)
+
+#if GL_OPENSSL_NAME == 5
+# define OPENSSL_ALG md5
+#else
+# define OPENSSL_ALG _GLCRYPTO_CONCAT (sha, GL_OPENSSL_NAME)
+#endif
+
+/* Context type mappings.  */
+#if BASE_OPENSSL_TYPE != GL_OPENSSL_NAME
+# undef BASE_OPENSSL_TYPE
+# if GL_OPENSSL_NAME == 224
+#  define BASE_OPENSSL_TYPE 256
+# elif GL_OPENSSL_NAME == 384
+#  define BASE_OPENSSL_TYPE 512
+# endif
+# define md5_CTX MD5_CTX
+# define sha1_CTX SHA_CTX
+# define sha224_CTX SHA256_CTX
+# define sha224_ctx sha256_ctx
+# define sha256_CTX SHA256_CTX
+# define sha384_CTX SHA512_CTX
+# define sha384_ctx sha512_ctx
+# define sha512_CTX SHA512_CTX
+# undef _gl_CTX
+# undef _gl_ctx
+# define _gl_CTX _GLCRYPTO_CONCAT (OPENSSL_ALG, _CTX) /* openssl type.  */
+# define _gl_ctx _GLCRYPTO_CONCAT (OPENSSL_ALG, _ctx) /* gnulib type.  */
+
+struct _gl_ctx { _gl_CTX CTX; };
+#endif
+
+/* Function name mappings.  */
+#define md5_prefix MD5
+#define sha1_prefix SHA1
+#define sha224_prefix SHA224
+#define sha256_prefix SHA256
+#define sha384_prefix SHA384
+#define sha512_prefix SHA512
+#define _GLCRYPTO_PREFIX _GLCRYPTO_CONCAT (OPENSSL_ALG, _prefix)
+#define OPENSSL_FN(suffix) _GLCRYPTO_CONCAT (_GLCRYPTO_PREFIX, suffix)
+#define GL_CRYPTO_FN(suffix) _GLCRYPTO_CONCAT (OPENSSL_ALG, suffix)
+
+GL_OPENSSL_INLINE void
+GL_CRYPTO_FN (_init_ctx) (struct _gl_ctx *ctx)
+{ (void) OPENSSL_FN (_Init) ((_gl_CTX *) ctx); }
+
+/* These were never exposed by gnulib.  */
+#if ! (GL_OPENSSL_NAME == 224 || GL_OPENSSL_NAME == 384)
+GL_OPENSSL_INLINE void
+GL_CRYPTO_FN (_process_bytes) (const void *buf, size_t len, struct _gl_ctx 
*ctx)
+{ OPENSSL_FN (_Update) ((_gl_CTX *) ctx, buf, len); }
+
+GL_OPENSSL_INLINE void
+GL_CRYPTO_FN (_process_block) (const void *buf, size_t len, struct _gl_ctx 
*ctx)
+{ GL_CRYPTO_FN (_process_bytes) (buf, len, ctx); }
+#endif
+
+GL_OPENSSL_INLINE void *
+GL_CRYPTO_FN (_finish_ctx) (struct _gl_ctx *ctx, void *res)
+{ OPENSSL_FN (_Final) ((unsigned char *) res, (_gl_CTX *) ctx); return res; }
+
+GL_OPENSSL_INLINE void *
+GL_CRYPTO_FN (_buffer) (const char *buf, size_t len, void *res)
+{ return OPENSSL_FN () ((const unsigned char *) buf, len, (unsigned char *) 
res); }
+
+GL_OPENSSL_INLINE void *
+GL_CRYPTO_FN (_read_ctx) (const struct _gl_ctx *ctx, void *res)
+{
+  /* Assume any unprocessed bytes in ctx are not to be ignored.  */
+  _gl_CTX tmp_ctx = *(_gl_CTX *) ctx;
+  OPENSSL_FN (_Final) ((unsigned char *) res, &tmp_ctx);
+  return res;
+}
+
+/* Undef so we can include multiple times.  */
+#undef GL_CRYPTO_FN
+#undef OPENSSL_FN
+#undef _GLCRYPTO_PREFIX
+#undef OPENSSL_ALG
+#undef GL_OPENSSL_NAME
+
+_GL_INLINE_HEADER_END
diff --git a/gl/hmac-md5.c b/gl/hmac-md5.c
index c80e40e..c6063e8 100644
--- a/gl/hmac-md5.c
+++ b/gl/hmac-md5.c
@@ -1,5 +1,5 @@
 /* hmac-md5.c -- hashed message authentication codes
-   Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2014 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
diff --git a/gl/hmac-sha1.c b/gl/hmac-sha1.c
index 9bc2b72..5c2591a 100644
--- a/gl/hmac-sha1.c
+++ b/gl/hmac-sha1.c
@@ -1,5 +1,5 @@
 /* hmac-sha1.c -- hashed message authentication codes
-   Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2014 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
diff --git a/gl/hmac.h b/gl/hmac.h
index b7a2647..43c810b 100644
--- a/gl/hmac.h
+++ b/gl/hmac.h
@@ -1,5 +1,5 @@
 /* hmac.h -- hashed message authentication codes
-   Copyright (C) 2005, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2009-2014 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
@@ -37,4 +37,20 @@ int
 hmac_sha1 (const void *key, size_t keylen,
            const void *in, size_t inlen, void *resbuf);
 
+/* Compute Hashed Message Authentication Code with SHA-256, over BUFFER
+   data of BUFLEN bytes using the KEY of KEYLEN bytes, writing the
+   output to pre-allocated 32 byte minimum RESBUF buffer.  Return 0 on
+   success.  */
+int
+hmac_sha256 (const void *key, size_t keylen,
+             const void *in, size_t inlen, void *resbuf);
+
+/* Compute Hashed Message Authentication Code with SHA-512, over BUFFER
+   data of BUFLEN bytes using the KEY of KEYLEN bytes, writing the
+   output to pre-allocated 64 byte minimum RESBUF buffer.  Return 0 on
+   success.  */
+int
+hmac_sha512 (const void *key, size_t keylen,
+             const void *in, size_t inlen, void *resbuf);
+
 #endif /* HMAC_H */
diff --git a/gl/inet_ntop.c b/gl/inet_ntop.c
index fdfd21d..c025868 100644
--- a/gl/inet_ntop.c
+++ b/gl/inet_ntop.c
@@ -1,6 +1,6 @@
 /* inet_ntop.c -- convert IPv4 and IPv6 addresses from binary to text form
 
-   Copyright (C) 2005-2006, 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2008-2014 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
diff --git a/gl/intprops.h b/gl/intprops.h
index b473052..d0bb7a6 100644
--- a/gl/intprops.h
+++ b/gl/intprops.h
@@ -1,6 +1,6 @@
 /* intprops.h -- properties of integer types
 
-   Copyright (C) 2001-2005, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2001-2005, 2009-2014 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
@@ -89,7 +89,8 @@
 
 /* Return 1 if the __typeof__ keyword works.  This could be done by
    'configure', but for now it's easier to do it by hand.  */
-#if 2 <= __GNUC__ || 0x5110 <= __SUNPRO_C
+#if (2 <= __GNUC__ || defined __IBM__TYPEOF__ \
+     || (0x5110 <= __SUNPRO_C && !__STDC__))
 # define _GL_HAVE___TYPEOF__ 1
 #else
 # define _GL_HAVE___TYPEOF__ 0
diff --git a/gl/itold.c b/gl/itold.c
index 9aabc7e..937f480 100644
--- a/gl/itold.c
+++ b/gl/itold.c
@@ -1,5 +1,5 @@
 /* Replacement for 'int' to 'long double' conversion routine.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2011.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gl/lseek.c b/gl/lseek.c
index fa7440d..f19b41b 100644
--- a/gl/lseek.c
+++ b/gl/lseek.c
@@ -1,5 +1,5 @@
 /* An lseek() function that detects pipes.
-   Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2014 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
diff --git a/gl/m4/00gnulib.m4 b/gl/m4/00gnulib.m4
index d4ad759..8eca551 100644
--- a/gl/m4/00gnulib.m4
+++ b/gl/m4/00gnulib.m4
@@ -1,12 +1,28 @@
-# 00gnulib.m4 serial 2
-dnl Copyright (C) 2009-2013 Free Software Foundation, Inc.
+# 00gnulib.m4 serial 3
+dnl Copyright (C) 2009-2014 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 This file must be named something that sorts before all other
 dnl gnulib-provided .m4 files.  It is needed until such time as we can
-dnl assume Autoconf 2.64, with its improved AC_DEFUN_ONCE semantics.
+dnl assume Autoconf 2.64, with its improved AC_DEFUN_ONCE and
+dnl m4_divert semantics.
+
+# Until autoconf 2.63, handling of the diversion stack required m4_init
+# to be called first; but this does not happen with aclocal.  Wrapping
+# the entire execution in another layer of the diversion stack fixes this.
+# Worse, prior to autoconf 2.62, m4_wrap depended on the underlying m4
+# for whether it was FIFO or LIFO; in order to properly balance with
+# m4_init, we need to undo our push just before anything wrapped within
+# the m4_init body.  The way to ensure this is to wrap both sides of
+# m4_init with a one-shot macro that does the pop at the right time.
+m4_ifndef([_m4_divert_diversion],
+[m4_divert_push([KILL])
+m4_define([gl_divert_fixup], [m4_divert_pop()m4_define([$0])])
+m4_define([m4_init],
+  [gl_divert_fixup()]m4_defn([m4_init])[gl_divert_fixup()])])
+
 
 # AC_DEFUN_ONCE([NAME], VALUE)
 # ----------------------------
diff --git a/gl/m4/absolute-header.m4 b/gl/m4/absolute-header.m4
new file mode 100644
index 0000000..ce3e39e
--- /dev/null
+++ b/gl/m4/absolute-header.m4
@@ -0,0 +1,102 @@
+# absolute-header.m4 serial 16
+dnl Copyright (C) 2006-2014 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 From Derek Price.
+
+# gl_ABSOLUTE_HEADER(HEADER1 HEADER2 ...)
+# ---------------------------------------
+# Find the absolute name of a header file, testing first if the header exists.
+# If the header were sys/inttypes.h, this macro would define
+# ABSOLUTE_SYS_INTTYPES_H to the '""' quoted absolute name of sys/inttypes.h
+# in config.h
+# (e.g. '#define ABSOLUTE_SYS_INTTYPES_H "///usr/include/sys/inttypes.h"').
+# The three "///" are to pacify Sun C 5.8, which otherwise would say
+# "warning: #include of /usr/include/... may be non-portable".
+# Use '""', not '<>', so that the /// cannot be confused with a C99 comment.
+# Note: This macro assumes that the header file is not empty after
+# preprocessing, i.e. it does not only define preprocessor macros but also
+# provides some type/enum definitions or function/variable declarations.
+AC_DEFUN([gl_ABSOLUTE_HEADER],
+[AC_REQUIRE([AC_CANONICAL_HOST])
+AC_LANG_PREPROC_REQUIRE()dnl
+dnl FIXME: gl_absolute_header and ac_header_exists must be used unquoted
+dnl until we can assume autoconf 2.64 or newer.
+m4_foreach_w([gl_HEADER_NAME], [$1],
+  [AS_VAR_PUSHDEF([gl_absolute_header],
+                  [gl_cv_absolute_]m4_defn([gl_HEADER_NAME]))dnl
+  AC_CACHE_CHECK([absolute name of <]m4_defn([gl_HEADER_NAME])[>],
+    m4_defn([gl_absolute_header]),
+    [AS_VAR_PUSHDEF([ac_header_exists],
+                    [ac_cv_header_]m4_defn([gl_HEADER_NAME]))dnl
+    AC_CHECK_HEADERS_ONCE(m4_defn([gl_HEADER_NAME]))dnl
+    if test AS_VAR_GET(ac_header_exists) = yes; then
+      gl_ABSOLUTE_HEADER_ONE(m4_defn([gl_HEADER_NAME]))
+    fi
+    AS_VAR_POPDEF([ac_header_exists])dnl
+    ])dnl
+  AC_DEFINE_UNQUOTED(AS_TR_CPP([ABSOLUTE_]m4_defn([gl_HEADER_NAME])),
+                     ["AS_VAR_GET(gl_absolute_header)"],
+                     [Define this to an absolute name of 
<]m4_defn([gl_HEADER_NAME])[>.])
+  AS_VAR_POPDEF([gl_absolute_header])dnl
+])dnl
+])# gl_ABSOLUTE_HEADER
+
+# gl_ABSOLUTE_HEADER_ONE(HEADER)
+# ------------------------------
+# Like gl_ABSOLUTE_HEADER, except that:
+#   - it assumes that the header exists,
+#   - it uses the current CPPFLAGS,
+#   - it does not cache the result,
+#   - it is silent.
+AC_DEFUN([gl_ABSOLUTE_HEADER_ONE],
+[
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_LANG_CONFTEST([AC_LANG_SOURCE([[#include <]]m4_dquote([$1])[[>]])])
+  dnl AIX "xlc -E" and "cc -E" omit #line directives for header files
+  dnl that contain only a #include of other header files and no
+  dnl non-comment tokens of their own. This leads to a failure to
+  dnl detect the absolute name of <dirent.h>, <signal.h>, <poll.h>
+  dnl and others. The workaround is to force preservation of comments
+  dnl through option -C. This ensures all necessary #line directives
+  dnl are present. GCC supports option -C as well.
+  case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
+changequote(,)
+  case "$host_os" in
+    mingw*)
+      dnl For the sake of native Windows compilers (excluding gcc),
+      dnl treat backslash as a directory separator, like /.
+      dnl Actually, these compilers use a double-backslash as
+      dnl directory separator, inside the
+      dnl   # line "filename"
+      dnl directives.
+      gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+  dnl A sed expression that turns a string into a basic regular
+  dnl expression, for use within "/.../".
+  gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo '$1' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
+changequote([,])
+  dnl eval is necessary to expand gl_absname_cpp.
+  dnl Ultrix and Pyramid sh refuse to redirect output of eval,
+  dnl so use subshell.
+  AS_VAR_SET([gl_cv_absolute_]AS_TR_SH([[$1]]),
+[`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD |
+  sed -n "$gl_absolute_header_sed"`])
+])
diff --git a/gl/m4/alloca.m4 b/gl/m4/alloca.m4
index 270abd0..d7bdea6 100644
--- a/gl/m4/alloca.m4
+++ b/gl/m4/alloca.m4
@@ -1,5 +1,5 @@
 # alloca.m4 serial 14
-dnl Copyright (C) 2002-2004, 2006-2007, 2009-2013 Free Software Foundation,
+dnl Copyright (C) 2002-2004, 2006-2007, 2009-2014 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gl/m4/arpa_inet_h.m4 b/gl/m4/arpa_inet_h.m4
index ea69af5..f01699a 100644
--- a/gl/m4/arpa_inet_h.m4
+++ b/gl/m4/arpa_inet_h.m4
@@ -1,5 +1,5 @@
 # arpa_inet_h.m4 serial 13
-dnl Copyright (C) 2006, 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2008-2014 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.
diff --git a/gl/m4/autobuild.m4 b/gl/m4/autobuild.m4
index 3147b5b..00d8709 100644
--- a/gl/m4/autobuild.m4
+++ b/gl/m4/autobuild.m4
@@ -1,5 +1,5 @@
 # autobuild.m4 serial 7
-dnl Copyright (C) 2004, 2006-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2004, 2006-2014 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.
diff --git a/gl/m4/base64.m4 b/gl/m4/base64.m4
index fc19893..9559e30 100644
--- a/gl/m4/base64.m4
+++ b/gl/m4/base64.m4
@@ -1,5 +1,5 @@
 # base64.m4 serial 4
-dnl Copyright (C) 2004, 2006, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2004, 2006, 2009-2014 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.
diff --git a/gl/m4/bison.m4 b/gl/m4/bison.m4
index 3b1297a..c003367 100644
--- a/gl/m4/bison.m4
+++ b/gl/m4/bison.m4
@@ -1,6 +1,6 @@
 # serial 7
 
-# Copyright (C) 2002, 2005, 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2005, 2009-2014 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.
diff --git a/gl/m4/clock_time.m4 b/gl/m4/clock_time.m4
index 6597fb6..6c4a637 100644
--- a/gl/m4/clock_time.m4
+++ b/gl/m4/clock_time.m4
@@ -1,5 +1,5 @@
 # clock_time.m4 serial 10
-dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2014 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.
diff --git a/gl/m4/close.m4 b/gl/m4/close.m4
index bccd981..68510c5 100644
--- a/gl/m4/close.m4
+++ b/gl/m4/close.m4
@@ -1,5 +1,5 @@
 # close.m4 serial 8
-dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2014 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.
diff --git a/gl/m4/dup2.m4 b/gl/m4/dup2.m4
index 269cfdc..6498fc2 100644
--- a/gl/m4/dup2.m4
+++ b/gl/m4/dup2.m4
@@ -1,5 +1,5 @@
-#serial 19
-dnl Copyright (C) 2002, 2005, 2007, 2009-2013 Free Software Foundation, Inc.
+#serial 20
+dnl Copyright (C) 2002, 2005, 2007, 2009-2014 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.
@@ -8,6 +8,7 @@ AC_DEFUN([gl_FUNC_DUP2],
 [
   AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
   AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_CHECK_FUNCS_ONCE([getdtablesize])
   m4_ifdef([gl_FUNC_DUP2_OBSOLETE], [
     AC_CHECK_FUNCS_ONCE([dup2])
     if test $ac_cv_func_dup2 = no; then
@@ -23,6 +24,11 @@ AC_DEFUN([gl_FUNC_DUP2],
 #include <fcntl.h>
 #include <errno.h>]],
            [int result = 0;
+#ifdef HAVE_GETDTABLESIZE
+            int bad_fd = getdtablesize ();
+#else
+            int bad_fd = 1000000;
+#endif
 #ifdef FD_CLOEXEC
             if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1)
               result |= 1;
@@ -37,11 +43,13 @@ AC_DEFUN([gl_FUNC_DUP2],
             if (dup2 (0, 0) != -1)
               result |= 8;
             /* Many gnulib modules require POSIX conformance of EBADF.  */
-            if (dup2 (2, 1000000) == -1 && errno != EBADF)
+            if (dup2 (2, bad_fd) == -1 && errno != EBADF)
               result |= 16;
-            /* Flush out a cygwin core dump.  */
+            /* Flush out some cygwin core dumps.  */
             if (dup2 (2, -1) != -1 || errno != EBADF)
               result |= 32;
+            dup2 (2, 255);
+            dup2 (2, 256);
             return result;
            ])
         ],
@@ -54,7 +62,9 @@ AC_DEFUN([gl_FUNC_DUP2],
            linux*) # On linux between 2008-07-27 and 2009-05-11, dup2 of a
                    # closed fd may yield -EBADF instead of -1 / errno=EBADF.
              gl_cv_func_dup2_works="guessing no" ;;
-           freebsd*) # on FreeBSD 6.1, dup2(1,1000000) gives EMFILE, not EBADF.
+           aix* | freebsd*)
+                   # on AIX 7.1 and FreeBSD 6.1, dup2 (1,toobig) gives EMFILE,
+                   # not EBADF.
              gl_cv_func_dup2_works="guessing no" ;;
            haiku*) # on Haiku alpha 2, dup2(1, 1) resets FD_CLOEXEC.
              gl_cv_func_dup2_works="guessing no" ;;
@@ -65,6 +75,7 @@ AC_DEFUN([gl_FUNC_DUP2],
       *yes) ;;
       *)
         REPLACE_DUP2=1
+        AC_CHECK_FUNCS([setdtablesize])
         ;;
     esac
   fi
diff --git a/gl/m4/eealloc.m4 b/gl/m4/eealloc.m4
index c640ec1..8a51fe7 100644
--- a/gl/m4/eealloc.m4
+++ b/gl/m4/eealloc.m4
@@ -1,5 +1,5 @@
 # eealloc.m4 serial 3
-dnl Copyright (C) 2003, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2009-2014 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.
diff --git a/gl/m4/environ.m4 b/gl/m4/environ.m4
index 593a33e..cfabe46 100644
--- a/gl/m4/environ.m4
+++ b/gl/m4/environ.m4
@@ -1,5 +1,5 @@
 # environ.m4 serial 6
-dnl Copyright (C) 2001-2004, 2006-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2004, 2006-2014 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.
diff --git a/gl/m4/errno_h.m4 b/gl/m4/errno_h.m4
index c813ea5..4ee9e6a 100644
--- a/gl/m4/errno_h.m4
+++ b/gl/m4/errno_h.m4
@@ -1,5 +1,5 @@
 # errno_h.m4 serial 12
-dnl Copyright (C) 2004, 2006, 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2004, 2006, 2008-2014 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.
diff --git a/gl/m4/exponentd.m4 b/gl/m4/exponentd.m4
index 09df468..7bee635 100644
--- a/gl/m4/exponentd.m4
+++ b/gl/m4/exponentd.m4
@@ -1,5 +1,5 @@
 # exponentd.m4 serial 3
-dnl Copyright (C) 2007-2008, 2010-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2008, 2010-2014 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.
diff --git a/gl/m4/extensions.m4 b/gl/m4/extensions.m4
index 07ba376..37f55ca 100644
--- a/gl/m4/extensions.m4
+++ b/gl/m4/extensions.m4
@@ -1,12 +1,12 @@
 # serial 13  -*- Autoconf -*-
 # Enable extensions on systems that normally disable them.
 
-# Copyright (C) 2003, 2006-2013 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2006-2014 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.
 
-# This definition of AC_USE_SYSTEM_EXTENSIONS is stolen from CVS
+# This definition of AC_USE_SYSTEM_EXTENSIONS is stolen from git
 # Autoconf.  Perhaps we can remove this once we can assume Autoconf
 # 2.70 or later everywhere, but since Autoconf mutates rapidly
 # enough in this area it's likely we'll need to redefine
diff --git a/gl/m4/extern-inline.m4 b/gl/m4/extern-inline.m4
index 0152f29..7f1bb39 100644
--- a/gl/m4/extern-inline.m4
+++ b/gl/m4/extern-inline.m4
@@ -1,6 +1,6 @@
 dnl 'extern inline' a la ISO C99.
 
-dnl Copyright 2012-2013 Free Software Foundation, Inc.
+dnl Copyright 2012-2014 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.
@@ -8,37 +8,67 @@ dnl with or without modifications, as long as this notice is 
preserved.
 AC_DEFUN([gl_EXTERN_INLINE],
 [
   AH_VERBATIM([extern_inline],
-[/* _GL_INLINE is a portable alternative to ISO C99 plain 'inline'.
-   _GL_EXTERN_INLINE is a portable alternative to 'extern inline'.
-   _GL_INLINE_HEADER_BEGIN contains useful stuff to put
-     in an include file, before uses of _GL_INLINE.
-     It suppresses GCC's bogus "no previous prototype for 'FOO'" diagnostic,
-     when FOO is an inline function in the header; see
-     <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113>.
-   _GL_INLINE_HEADER_END contains useful stuff to put
-     in the same include file, after uses of _GL_INLINE.
+[/* Please see the Gnulib manual for how to use these macros.
 
    Suppress extern inline with HP-UX cc, as it appears to be broken; see
    <http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
 
-   Suppress the use of extern inline on Apple's platforms,
-   as Libc-825.25 (2012-09-19) is incompatible with it; see
-   <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
-   Perhaps Apple will fix this some day.  */
+   Suppress extern inline with Sun C in standards-conformance mode, as it
+   mishandles inline functions that call each other.  E.g., for 'inline void f
+   (void) { } inline void g (void) { f (); }', c99 incorrectly complains
+   'reference to static identifier "f" in extern inline function'.
+   This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16.
+
+   Suppress extern inline (with or without __attribute__ ((__gnu_inline__)))
+   on configurations that mistakenly use 'static inline' to implement
+   functions or macros in standard C headers like <ctype.h>.  For example,
+   if isdigit is mistakenly implemented via a static inline function,
+   a program containing an extern inline function that calls isdigit
+   may not work since the C standard prohibits extern inline functions
+   from calling static functions.  This bug is known to occur on:
+
+     OS X 10.8 and earlier; see:
+     http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html
+
+     DragonFly; see
+     
http://muscles.dragonflybsd.org/bulk/bleeding-edge-potential/latest-per-pkg/ah-tty-0.3.12.log
+
+     FreeBSD; see:
+     http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00104.html
+
+   OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and
+   for clang but remains for g++; see <http://trac.macports.org/ticket/41033>.
+   Assume DragonFly and FreeBSD will be similar.  */
+#if (((defined __APPLE__ && defined __MACH__) \
+      || defined __DragonFly__ || defined __FreeBSD__) \
+     && (defined __header_inline \
+         ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \
+            && ! defined __clang__) \
+         : ((! defined _DONT_USE_CTYPE_INLINE_ \
+             && (defined __GNUC__ || defined __cplusplus)) \
+            || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \
+                && defined __GNUC__ && ! defined __cplusplus))))
+# define _GL_EXTERN_INLINE_STDHEADER_BUG
+#endif
 #if ((__GNUC__ \
       ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
-      : 199901L <= __STDC_VERSION__ && !defined __HP_cc) \
-     && !defined __APPLE__)
+      : (199901L <= __STDC_VERSION__ \
+         && !defined __HP_cc \
+         && !(defined __SUNPRO_C && __STDC__))) \
+     && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
 # define _GL_INLINE inline
 # define _GL_EXTERN_INLINE extern inline
-#elif 2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __APPLE__
-# if __GNUC_GNU_INLINE__
+# define _GL_EXTERN_INLINE_IN_USE
+#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \
+       && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
+# if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__
    /* __gnu_inline__ suppresses a GCC 4.2 diagnostic.  */
 #  define _GL_INLINE extern inline __attribute__ ((__gnu_inline__))
 # else
 #  define _GL_INLINE extern inline
 # endif
 # define _GL_EXTERN_INLINE extern
+# define _GL_EXTERN_INLINE_IN_USE
 #else
 # define _GL_INLINE static _GL_UNUSED
 # define _GL_EXTERN_INLINE static _GL_UNUSED
@@ -51,6 +81,10 @@ AC_DEFUN([gl_EXTERN_INLINE],
 #  define _GL_INLINE_HEADER_CONST_PRAGMA \
      _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"")
 # endif
+  /* Suppress GCC's bogus "no previous prototype for 'FOO'"
+     and "no previous declaration for 'FOO'"  diagnostics,
+     when FOO is an inline function in the header; see
+     <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113>.  */
 # define _GL_INLINE_HEADER_BEGIN \
     _Pragma ("GCC diagnostic push") \
     _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \
diff --git a/gl/m4/fcntl-o.m4 b/gl/m4/fcntl-o.m4
index 87cc4bd..43c9312 100644
--- a/gl/m4/fcntl-o.m4
+++ b/gl/m4/fcntl-o.m4
@@ -1,5 +1,5 @@
 # fcntl-o.m4 serial 4
-dnl Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2009-2014 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.
diff --git a/gl/m4/fcntl.m4 b/gl/m4/fcntl.m4
index 5481cae..f824beb 100644
--- a/gl/m4/fcntl.m4
+++ b/gl/m4/fcntl.m4
@@ -1,5 +1,5 @@
 # fcntl.m4 serial 5
-dnl Copyright (C) 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2014 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.
@@ -19,7 +19,7 @@ AC_DEFUN([gl_FUNC_FCNTL],
   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
   AC_REQUIRE([gl_FCNTL_H_DEFAULTS])
   AC_REQUIRE([AC_CANONICAL_HOST])
-  AC_CHECK_FUNCS_ONCE([fcntl])
+  AC_CHECK_FUNCS_ONCE([fcntl getdtablesize])
   if test $ac_cv_func_fcntl = no; then
     gl_REPLACE_FCNTL
   else
@@ -28,11 +28,21 @@ AC_DEFUN([gl_FUNC_FCNTL],
     AC_CACHE_CHECK([whether fcntl handles F_DUPFD correctly],
       [gl_cv_func_fcntl_f_dupfd_works],
       [AC_RUN_IFELSE([AC_LANG_PROGRAM([[
+#ifdef HAVE_GETDTABLESIZE
+# include <unistd.h>
+#endif
 #include <fcntl.h>
 #include <errno.h>
 ]], [[int result = 0;
+#ifdef HAVE_GETDTABLESIZE
+      int bad_fd = getdtablesize ();
+#else
+      int bad_fd = 1000000;
+#endif
       if (fcntl (0, F_DUPFD, -1) != -1) result |= 1;
       if (errno != EINVAL) result |= 2;
+      if (fcntl (0, F_DUPFD, bad_fd) != -1) result |= 4;
+      if (errno != EINVAL) result |= 8;
       return result;
          ]])],
          [gl_cv_func_fcntl_f_dupfd_works=yes],
diff --git a/gl/m4/fcntl_h.m4 b/gl/m4/fcntl_h.m4
index 3cff1fd..fb2556d 100644
--- a/gl/m4/fcntl_h.m4
+++ b/gl/m4/fcntl_h.m4
@@ -1,6 +1,6 @@
 # serial 15
 # Configure fcntl.h.
-dnl Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2007, 2009-2014 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.
diff --git a/gl/m4/float_h.m4 b/gl/m4/float_h.m4
index 397f2d1..a27ef7f 100644
--- a/gl/m4/float_h.m4
+++ b/gl/m4/float_h.m4
@@ -1,5 +1,5 @@
 # float_h.m4 serial 9
-dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2014 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.
diff --git a/gl/m4/fseek.m4 b/gl/m4/fseek.m4
index 74f6656..a5ea41d 100644
--- a/gl/m4/fseek.m4
+++ b/gl/m4/fseek.m4
@@ -1,5 +1,5 @@
 # fseek.m4 serial 4
-dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2014 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.
diff --git a/gl/m4/fseeko.m4 b/gl/m4/fseeko.m4
index e0f2dfb..4ccb57d 100644
--- a/gl/m4/fseeko.m4
+++ b/gl/m4/fseeko.m4
@@ -1,5 +1,5 @@
-# fseeko.m4 serial 16
-dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
+# fseeko.m4 serial 17
+dnl Copyright (C) 2007-2014 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.
@@ -37,7 +37,7 @@ AC_DEFUN([gl_FUNC_FSEEKO],
     fi
     m4_ifdef([gl_FUNC_FFLUSH_STDIN], [
       gl_FUNC_FFLUSH_STDIN
-      if test $gl_cv_func_fflush_stdin = no; then
+      if test $gl_cv_func_fflush_stdin != yes; then
         REPLACE_FSEEKO=1
       fi
     ])
diff --git a/gl/m4/fstat.m4 b/gl/m4/fstat.m4
index b2cf2ad..ddd3fb9 100644
--- a/gl/m4/fstat.m4
+++ b/gl/m4/fstat.m4
@@ -1,5 +1,5 @@
 # fstat.m4 serial 4
-dnl Copyright (C) 2011-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2014 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.
diff --git a/gl/m4/ftell.m4 b/gl/m4/ftell.m4
index 5acd752..b99e76d 100644
--- a/gl/m4/ftell.m4
+++ b/gl/m4/ftell.m4
@@ -1,5 +1,5 @@
 # ftell.m4 serial 3
-dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2014 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.
diff --git a/gl/m4/ftello.m4 b/gl/m4/ftello.m4
index 678039e..14a9bee 100644
--- a/gl/m4/ftello.m4
+++ b/gl/m4/ftello.m4
@@ -1,5 +1,5 @@
 # ftello.m4 serial 11
-dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2014 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.
diff --git a/gl/m4/gc-des.m4 b/gl/m4/gc-des.m4
index b96301e..c116354 100644
--- a/gl/m4/gc-des.m4
+++ b/gl/m4/gc-des.m4
@@ -1,5 +1,5 @@
 # gc-des.m4 serial 3
-dnl Copyright (C) 2005, 2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2007, 2009-2014 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.
diff --git a/gl/m4/gc-hmac-md5.m4 b/gl/m4/gc-hmac-md5.m4
index 97bdc94..d281e9b 100644
--- a/gl/m4/gc-hmac-md5.m4
+++ b/gl/m4/gc-hmac-md5.m4
@@ -1,5 +1,5 @@
 # gc-hmac-md5.m4 serial 3
-dnl Copyright (C) 2005, 2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2007, 2009-2014 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.
diff --git a/gl/m4/gc-hmac-sha1.m4 b/gl/m4/gc-hmac-sha1.m4
index dcfdadc..242658e 100644
--- a/gl/m4/gc-hmac-sha1.m4
+++ b/gl/m4/gc-hmac-sha1.m4
@@ -1,5 +1,5 @@
 # gc-hmac-sha1.m4 serial 3
-dnl Copyright (C) 2005, 2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2007, 2009-2014 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.
diff --git a/gl/m4/gc-md4.m4 b/gl/m4/gc-md4.m4
index ac76883..cf7bfc4 100644
--- a/gl/m4/gc-md4.m4
+++ b/gl/m4/gc-md4.m4
@@ -1,5 +1,5 @@
 # gc-md4.m4 serial 2
-dnl Copyright (C) 2005, 2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2007, 2009-2014 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.
diff --git a/gl/m4/gc-md5.m4 b/gl/m4/gc-md5.m4
index 4d8f7fd..2d9aa89 100644
--- a/gl/m4/gc-md5.m4
+++ b/gl/m4/gc-md5.m4
@@ -1,5 +1,5 @@
 # gc-md5.m4 serial 2
-dnl Copyright (C) 2005, 2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2007, 2009-2014 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.
diff --git a/gl/m4/gc-random.m4 b/gl/m4/gc-random.m4
index 3cdaee1..04baed7 100644
--- a/gl/m4/gc-random.m4
+++ b/gl/m4/gc-random.m4
@@ -1,5 +1,5 @@
 # gc-random.m4 serial 6
-dnl Copyright (C) 2005-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2014 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.
diff --git a/gl/m4/gc.m4 b/gl/m4/gc.m4
index b352e33..1f1e778 100644
--- a/gl/m4/gc.m4
+++ b/gl/m4/gc.m4
@@ -1,11 +1,12 @@
 # gc.m4 serial 9
-dnl Copyright (C) 2005-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2014 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_GC],
 [
+  AC_SUBST([LIB_CRYPTO])
   AC_ARG_WITH([libgcrypt],
     AS_HELP_STRING([--with-libgcrypt], [use libgcrypt for low-level crypto]),
     libgcrypt=$withval, libgcrypt=no)
diff --git a/gl/m4/getaddrinfo.m4 b/gl/m4/getaddrinfo.m4
index 1d631f8..2e66584 100644
--- a/gl/m4/getaddrinfo.m4
+++ b/gl/m4/getaddrinfo.m4
@@ -1,5 +1,5 @@
 # getaddrinfo.m4 serial 30
-dnl Copyright (C) 2004-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2014 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.
diff --git a/gl/m4/getdelim.m4 b/gl/m4/getdelim.m4
index 36f66a1..c763994 100644
--- a/gl/m4/getdelim.m4
+++ b/gl/m4/getdelim.m4
@@ -1,6 +1,6 @@
 # getdelim.m4 serial 10
 
-dnl Copyright (C) 2005-2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2007, 2009-2014 Free Software Foundation, Inc.
 dnl
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gl/m4/getdomainname.m4 b/gl/m4/getdomainname.m4
index db9a219..0789568 100644
--- a/gl/m4/getdomainname.m4
+++ b/gl/m4/getdomainname.m4
@@ -1,5 +1,5 @@
 # getdomainname.m4 serial 10
-dnl Copyright (C) 2002-2003, 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2003, 2008-2014 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.
diff --git a/gl/m4/getdtablesize.m4 b/gl/m4/getdtablesize.m4
index 8f04b3b..aa523b6 100644
--- a/gl/m4/getdtablesize.m4
+++ b/gl/m4/getdtablesize.m4
@@ -1,5 +1,5 @@
-# getdtablesize.m4 serial 4
-dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
+# getdtablesize.m4 serial 5
+dnl Copyright (C) 2008-2014 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.
@@ -7,8 +7,35 @@ dnl with or without modifications, as long as this notice is 
preserved.
 AC_DEFUN([gl_FUNC_GETDTABLESIZE],
 [
   AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+  AC_REQUIRE([AC_CANONICAL_HOST])
   AC_CHECK_FUNCS_ONCE([getdtablesize])
-  if test $ac_cv_func_getdtablesize != yes; then
+  if test $ac_cv_func_getdtablesize = yes; then
+    # Cygwin 1.7.25 automatically increases the RLIMIT_NOFILE soft limit
+    # up to an unchangeable hard limit; all other platforms correctly
+    # require setrlimit before getdtablesize() can report a larger value.
+    AC_CACHE_CHECK([whether getdtablesize works],
+      [gl_cv_func_getdtablesize_works],
+      [AC_RUN_IFELSE([
+        AC_LANG_PROGRAM([[#include <unistd.h>]],
+          [int size = getdtablesize();
+           if (dup2 (0, getdtablesize()) != -1)
+             return 1;
+           if (size != getdtablesize())
+             return 2;
+          ])],
+        [gl_cv_func_getdtablesize_works=yes],
+        [gl_cv_func_getdtablesize_works=no],
+        [case "$host_os" in
+          cygwin*) # on cygwin 1.5.25, getdtablesize() automatically grows
+            gl_cv_func_getdtablesize_works="guessing no" ;;
+          *) gl_cv_func_getdtablesize_works="guessing yes" ;;
+         esac])
+      ])
+    case "$gl_cv_func_getdtablesize_works" in
+      *yes) ;;
+      *) REPLACE_GETDTABLESIZE=1 ;;
+    esac
+  else
     HAVE_GETDTABLESIZE=0
   fi
 ])
diff --git a/gl/m4/gethostname.m4 b/gl/m4/gethostname.m4
index 7413f9e..d759ab1 100644
--- a/gl/m4/gethostname.m4
+++ b/gl/m4/gethostname.m4
@@ -1,5 +1,5 @@
 # gethostname.m4 serial 13
-dnl Copyright (C) 2002, 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2008-2014 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.
diff --git a/gl/m4/getline.m4 b/gl/m4/getline.m4
index 342bc99..0330666 100644
--- a/gl/m4/getline.m4
+++ b/gl/m4/getline.m4
@@ -1,6 +1,6 @@
 # getline.m4 serial 26
 
-dnl Copyright (C) 1998-2003, 2005-2007, 2009-2013 Free Software Foundation,
+dnl Copyright (C) 1998-2003, 2005-2007, 2009-2014 Free Software Foundation,
 dnl Inc.
 dnl
 dnl This file is free software; the Free Software Foundation
diff --git a/gl/m4/getpass.m4 b/gl/m4/getpass.m4
index e35dea4..cf545a6 100644
--- a/gl/m4/getpass.m4
+++ b/gl/m4/getpass.m4
@@ -1,5 +1,5 @@
 # getpass.m4 serial 14
-dnl Copyright (C) 2002-2003, 2005-2006, 2009-2013 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2006, 2009-2014 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gl/m4/getsubopt.m4 b/gl/m4/getsubopt.m4
index 4bcfd7f..a692380 100644
--- a/gl/m4/getsubopt.m4
+++ b/gl/m4/getsubopt.m4
@@ -1,5 +1,5 @@
 # getsubopt.m4 serial 5
-dnl Copyright (C) 2004, 2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2004, 2007, 2009-2014 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.
diff --git a/gl/m4/gettime.m4 b/gl/m4/gettime.m4
index dc100de..c5ec264 100644
--- a/gl/m4/gettime.m4
+++ b/gl/m4/gettime.m4
@@ -1,5 +1,5 @@
 # gettime.m4 serial 8
-dnl Copyright (C) 2002, 2004-2006, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2004-2006, 2009-2014 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.
diff --git a/gl/m4/gettimeofday.m4 b/gl/m4/gettimeofday.m4
index 3c05e59..1c2d66e 100644
--- a/gl/m4/gettimeofday.m4
+++ b/gl/m4/gettimeofday.m4
@@ -1,6 +1,6 @@
-# serial 20
+# serial 21
 
-# Copyright (C) 2001-2003, 2005, 2007, 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2003, 2005, 2007, 2009-2014 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.
@@ -127,10 +127,8 @@ AC_DEFUN([gl_FUNC_GETTIMEOFDAY_CLOBBER],
 ])
 
 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.])
+  REPLACE_GMTIME=1
+  REPLACE_LOCALTIME=1
 ])
 
 # Prerequisites of lib/gettimeofday.c.
diff --git a/gl/m4/gl-openssl.m4 b/gl/m4/gl-openssl.m4
new file mode 100644
index 0000000..6d66412
--- /dev/null
+++ b/gl/m4/gl-openssl.m4
@@ -0,0 +1,51 @@
+# gl-openssl.m4 serial 3
+dnl Copyright (C) 2013-2014 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_SET_CRYPTO_CHECK_DEFAULT],
+[
+  m4_define([gl_CRYPTO_CHECK_DEFAULT], [$1])
+])
+gl_SET_CRYPTO_CHECK_DEFAULT([no])
+
+AC_DEFUN([gl_CRYPTO_CHECK],
+[
+  dnl gnulib users set this before gl_INIT with gl_SET_CRYPTO_CHECK_DEFAULT()
+  m4_divert_once([DEFAULTS], [with_openssl_default='gl_CRYPTO_CHECK_DEFAULT'])
+
+  dnl Only clear once, so crypto routines can be checked for individually
+  m4_divert_once([DEFAULTS], [LIB_CRYPTO=])
+
+  AC_ARG_WITH([openssl],
+    [AS_HELP_STRING([--with-openssl],
+      [use libcrypto hash routines. Valid ARGs are:
+       'yes', 'no', 'auto' => use if available,
+       'optional' => use if available and warn if not available;
+       default is ']gl_CRYPTO_CHECK_DEFAULT['])],
+    [],
+    [with_openssl=$with_openssl_default])
+
+  if test "x$1" = xMD5; then
+    ALG_header=md5.h
+  else
+    ALG_header=sha.h
+  fi
+
+  AC_SUBST([LIB_CRYPTO])
+  if test "x$with_openssl" != xno; then
+    AC_CHECK_LIB([crypto], [$1],
+      [AC_CHECK_HEADERS([openssl/$ALG_header],
+         [LIB_CRYPTO=-lcrypto
+          AC_DEFINE([HAVE_OPENSSL_$1], [1],
+            [Define to 1 if libcrypto is used for $1.])])])
+    if test "x$LIB_CRYPTO" = x; then
+      if test "x$with_openssl" = xyes; then
+        AC_MSG_ERROR([openssl development library not found for $1])
+      elif test "x$with_openssl" = xoptional; then
+        AC_MSG_WARN([openssl development library not found for $1])
+      fi
+    fi
+  fi
+])
diff --git a/gl/m4/gnulib-cache.m4 b/gl/m4/gnulib-cache.m4
index c45f030..eb81031 100644
--- a/gl/m4/gnulib-cache.m4
+++ b/gl/m4/gnulib-cache.m4
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/gl/m4/gnulib-common.m4 b/gl/m4/gnulib-common.m4
index 0ae5a9e..31e5f94 100644
--- a/gl/m4/gnulib-common.m4
+++ b/gl/m4/gnulib-common.m4
@@ -1,5 +1,5 @@
-# gnulib-common.m4 serial 33
-dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
+# gnulib-common.m4 serial 36
+dnl Copyright (C) 2007-2014 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.
@@ -49,6 +49,16 @@ AC_DEFUN([gl_COMMON_BODY], [
    is a misnomer outside of parameter lists.  */
 #define _UNUSED_PARAMETER_ _GL_UNUSED
 
+/* gcc supports the "unused" attribute on possibly unused labels, and
+   g++ has since version 4.5.  Note to support C++ as well as C,
+   _GL_UNUSED_LABEL should be used with a trailing ;  */
+#if !defined __cplusplus || __GNUC__ > 4 \
+    || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
+# define _GL_UNUSED_LABEL _GL_UNUSED
+#else
+# define _GL_UNUSED_LABEL
+#endif
+
 /* The __pure__ attribute was added in gcc 2.96.  */
 #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
 # define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
@@ -309,26 +319,28 @@ m4_ifdef([AC_PROG_MKDIR_P], [
 ])
 
 # AC_C_RESTRICT
-# This definition overrides the AC_C_RESTRICT macro from autoconf 2.60..2.61,
-# so that mixed use of GNU C and GNU C++ and mixed use of Sun C and Sun C++
-# works.
-# This definition can be removed once autoconf >= 2.62 can be assumed.
-# AC_AUTOCONF_VERSION was introduced in 2.62, so use that as the witness.
-m4_ifndef([AC_AUTOCONF_VERSION],[
+# This definition is copied from post-2.69 Autoconf and overrides the
+# AC_C_RESTRICT macro from autoconf 2.60..2.69.  It can be removed
+# once autoconf >= 2.70 can be assumed.  It's painful to check version
+# numbers, and in practice this macro is more up-to-date than Autoconf
+# is, so override Autoconf unconditionally.
 AC_DEFUN([AC_C_RESTRICT],
 [AC_CACHE_CHECK([for C/C++ restrict keyword], [ac_cv_c_restrict],
   [ac_cv_c_restrict=no
    # The order here caters to the fact that C++ does not require restrict.
    for ac_kw in __restrict __restrict__ _Restrict restrict; do
-     AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
-      [[typedef int * int_ptr;
-        int foo (int_ptr $ac_kw ip) {
-        return ip[0];
-       }]],
-      [[int s[1];
-        int * $ac_kw t = s;
-        t[0] = 0;
-        return foo(t)]])],
+     AC_COMPILE_IFELSE(
+      [AC_LANG_PROGRAM(
+        [[typedef int *int_ptr;
+          int foo (int_ptr $ac_kw ip) { return ip[0]; }
+          int bar (int [$ac_kw]); /* Catch GCC bug 14050.  */
+          int bar (int ip[$ac_kw]) { return ip[0]; }
+        ]],
+        [[int s[1];
+          int *$ac_kw t = s;
+          t[0] = 0;
+          return foo (t) + bar (t);
+        ]])],
       [ac_cv_c_restrict=$ac_kw])
      test "$ac_cv_c_restrict" != no && break
    done
@@ -338,21 +350,21 @@ AC_DEFUN([AC_C_RESTRICT],
    nothing if this is not supported.  Do not define if restrict is
    supported directly.  */
 #undef restrict
-/* Work around a bug in Sun C++: it does not support _Restrict, even
-   though the corresponding Sun C compiler does, which causes
-   "#define restrict _Restrict" in the previous line.  Perhaps some future
-   version of Sun C++ will work with _Restrict; if so, it'll probably
-   define __RESTRICT, just as Sun C does.  */
+/* Work around a bug in Sun C++: it does not support _Restrict or
+   __restrict__, even though the corresponding Sun C compiler ends up with
+   "#define restrict _Restrict" or "#define restrict __restrict__" in the
+   previous line.  Perhaps some future version of Sun C++ will work with
+   restrict; if so, hopefully it defines __RESTRICT like Sun C does.  */
 #if defined __SUNPRO_CC && !defined __RESTRICT
 # define _Restrict
+# define __restrict__
 #endif])
  case $ac_cv_c_restrict in
    restrict) ;;
    no) AC_DEFINE([restrict], []) ;;
    *)  AC_DEFINE_UNQUOTED([restrict], [$ac_cv_c_restrict]) ;;
  esac
-])
-])
+])# AC_C_RESTRICT
 
 # gl_BIGENDIAN
 # is like AC_C_BIGENDIAN, except that it can be AC_REQUIREd.
@@ -375,3 +387,63 @@ AC_DEFUN([gl_CACHE_VAL_SILENT],
   AC_CACHE_VAL([$1], [$2])
   as_echo_n="$saved_as_echo_n"
 ])
+
+# AS_VAR_COPY was added in autoconf 2.63b
+m4_define_default([AS_VAR_COPY],
+[AS_LITERAL_IF([$1[]$2], [$1=$$2], [eval $1=\$$2])])
+
+# AC_PROG_SED was added in autoconf 2.59b
+m4_ifndef([AC_PROG_SED],
+[AC_DEFUN([AC_PROG_SED],
+[AC_CACHE_CHECK([for a sed that does not truncate output], ac_cv_path_SED,
+    [dnl ac_script should not contain more than 99 commands (for HP-UX sed),
+     dnl but more than about 7000 bytes, to catch a limit in Solaris 8 
/usr/ucb/sed.
+     
ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+     for ac_i in 1 2 3 4 5 6 7; do
+       ac_script="$ac_script$as_nl$ac_script"
+     done
+     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+     AS_UNSET([ac_script])
+     if test -z "$SED"; then
+       ac_path_SED_found=false
+       _AS_PATH_WALK([], [
+         for ac_prog in sed gsed; do
+           for ac_exec_ext in '' $ac_executable_extensions; do
+             ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
+             AS_EXECUTABLE_P(["$ac_path_SED"]) || continue
+             case `"$ac_path_SED" --version 2>&1` in
+               *GNU*) ac_cv_path_SED=$ac_path_SED ac_path_SED_found=:;;
+               *)
+                 ac_count=0
+                 _AS_ECHO_N([0123456789]) >conftest.in
+                 while :
+                 do
+                   cat conftest.in conftest.in >conftest.tmp
+                   mv conftest.tmp conftest.in
+                   cp conftest.in conftest.nl
+                   echo >> conftest.nl
+                   "$ac_path_SED" -f conftest.sed <conftest.nl >conftest.out 
2>/dev/null || break
+                   diff conftest.out conftest.nl >/dev/null 2>&1 || break
+                   ac_count=`expr $ac_count + 1`
+                   if test $ac_count -gt ${ac_path_SED_max-0}; then
+                     # Best so far, but keep looking for better
+                     ac_cv_path_SED=$ac_path_SED
+                     ac_path_SED_max=$ac_count
+                   fi
+                   test $ac_count -gt 10 && break
+                 done
+                 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+             esac
+             $ac_path_SED_found && break 3
+           done
+         done])
+       if test -z "$ac_cv_path_SED"; then
+         AC_ERROR([no acceptable sed could be found in \$PATH])
+       fi
+     else
+       ac_cv_path_SED=$SED
+     fi
+ SED="$ac_cv_path_SED"
+ AC_SUBST([SED])dnl
+ rm -f conftest.sed
+])])])
diff --git a/gl/m4/gnulib-comp.m4 b/gl/m4/gnulib-comp.m4
index 7cec4cb..345c7e8 100644
--- a/gl/m4/gnulib-comp.m4
+++ b/gl/m4/gnulib-comp.m4
@@ -1,5 +1,5 @@
 # DO NOT EDIT! GENERATED AUTOMATICALLY!
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -38,6 +38,7 @@ AC_DEFUN([gl_EARLY],
   m4_pattern_allow([^gl_LIBOBJS$])dnl a variable
   m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable
   AC_REQUIRE([gl_PROG_AR_RANLIB])
+  # Code from module absolute-header:
   # Code from module alloca:
   # Code from module alloca-opt:
   # Code from module arpa_inet:
@@ -337,7 +338,7 @@ AC_SUBST([LTALLOCA])
   fi
   gl_UNISTD_MODULE_INDICATOR([getdomainname])
   gl_FUNC_GETDTABLESIZE
-  if test $HAVE_GETDTABLESIZE = 0; then
+  if test $HAVE_GETDTABLESIZE = 0 || test $REPLACE_GETDTABLESIZE = 1; then
     AC_LIBOBJ([getdtablesize])
     gl_PREREQ_GETDTABLESIZE
   fi
@@ -406,6 +407,7 @@ AC_SUBST([LTALLOCA])
   gl_UNISTD_MODULE_INDICATOR([lseek])
   AC_CONFIG_COMMANDS_PRE([m4_ifdef([AH_HEADER],
     [AC_SUBST([CONFIG_INCLUDE], m4_defn([AH_HEADER]))])])
+  AC_REQUIRE([AC_PROG_SED])
   gl_FUNC_MALLOC_POSIX
   if test $REPLACE_MALLOC = 1; then
     AC_LIBOBJ([malloc])
@@ -828,6 +830,7 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/gettext.h
   lib/gettime.c
   lib/gettimeofday.c
+  lib/gl_openssl.h
   lib/hmac-md5.c
   lib/hmac-sha1.c
   lib/hmac.h
@@ -940,6 +943,7 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/xvasprintf.c
   lib/xvasprintf.h
   m4/00gnulib.m4
+  m4/absolute-header.m4
   m4/alloca.m4
   m4/arpa_inet_h.m4
   m4/autobuild.m4
@@ -980,6 +984,7 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/getsubopt.m4
   m4/gettime.m4
   m4/gettimeofday.m4
+  m4/gl-openssl.m4
   m4/gnulib-common.m4
   m4/hostent.m4
   m4/include_next.m4
diff --git a/gl/m4/gnulib-tool.m4 b/gl/m4/gnulib-tool.m4
index f3dea1a..a588e15 100644
--- a/gl/m4/gnulib-tool.m4
+++ b/gl/m4/gnulib-tool.m4
@@ -1,5 +1,5 @@
 # gnulib-tool.m4 serial 2
-dnl Copyright (C) 2004-2005, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2005, 2009-2014 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.
diff --git a/gl/m4/hostent.m4 b/gl/m4/hostent.m4
index 72be876..dd8fc07 100644
--- a/gl/m4/hostent.m4
+++ b/gl/m4/hostent.m4
@@ -1,5 +1,5 @@
 # hostent.m4 serial 2
-dnl Copyright (C) 2008, 2010-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2008, 2010-2014 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.
diff --git a/gl/m4/include_next.m4 b/gl/m4/include_next.m4
index 108d945..69ad3db 100644
--- a/gl/m4/include_next.m4
+++ b/gl/m4/include_next.m4
@@ -1,5 +1,5 @@
 # include_next.m4 serial 23
-dnl Copyright (C) 2006-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2014 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.
@@ -192,56 +192,9 @@ dnl until we can assume autoconf 2.64 or newer.
              if test AS_VAR_GET(gl_header_exists) = yes; then
              AS_VAR_POPDEF([gl_header_exists])
             ])
-               AC_LANG_CONFTEST(
-                 [AC_LANG_SOURCE(
-                    [[#include <]]m4_dquote(m4_defn([gl_HEADER_NAME]))[[>]]
-                  )])
-               dnl AIX "xlc -E" and "cc -E" omit #line directives for header
-               dnl files that contain only a #include of other header files and
-               dnl no non-comment tokens of their own. This leads to a failure
-               dnl to detect the absolute name of <dirent.h>, <signal.h>,
-               dnl <poll.h> and others. The workaround is to force preservation
-               dnl of comments through option -C. This ensures all necessary
-               dnl #line directives are present. GCC supports option -C as 
well.
-               case "$host_os" in
-                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
-                 *)    gl_absname_cpp="$ac_cpp" ;;
-               esac
-changequote(,)
-               case "$host_os" in
-                 mingw*)
-                   dnl For the sake of native Windows compilers (excluding 
gcc),
-                   dnl treat backslash as a directory separator, like /.
-                   dnl Actually, these compilers use a double-backslash as
-                   dnl directory separator, inside the
-                   dnl   # line "filename"
-                   dnl directives.
-                   gl_dirsep_regex='[/\\]'
-                   ;;
-                 *)
-                   gl_dirsep_regex='\/'
-                   ;;
-               esac
-               dnl A sed expression that turns a string into a basic regular
-               dnl expression, for use within "/.../".
-               gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
-changequote([,])
-               gl_header_literal_regex=`echo ']m4_defn([gl_HEADER_NAME])[' \
-                                        | sed -e "$gl_make_literal_regex_sed"`
-               
gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
-                   
s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
-changequote(,)dnl
-                   s|^/[^/]|//&|
-changequote([,])dnl
-                   p
-                   q
-                 }'
-               dnl eval is necessary to expand gl_absname_cpp.
-               dnl Ultrix and Pyramid sh refuse to redirect output of eval,
-               dnl so use subshell.
-               AS_VAR_SET(gl_next_header,
-                 ['"'`(eval "$gl_absname_cpp conftest.$ac_ext") 
2>&AS_MESSAGE_LOG_FD |
-                      sed -n "$gl_absolute_header_sed"`'"'])
+           gl_ABSOLUTE_HEADER_ONE(gl_HEADER_NAME)
+           AS_VAR_COPY([gl_header], [gl_cv_absolute_]AS_TR_SH(gl_HEADER_NAME))
+           AS_VAR_SET(gl_next_header, ['"'$gl_header'"'])
           m4_if([$2], [check],
             [else
                AS_VAR_SET(gl_next_header, ['<'gl_HEADER_NAME'>'])
diff --git a/gl/m4/inet_ntop.m4 b/gl/m4/inet_ntop.m4
index 476f063..5b27759 100644
--- a/gl/m4/inet_ntop.m4
+++ b/gl/m4/inet_ntop.m4
@@ -1,5 +1,5 @@
 # inet_ntop.m4 serial 19
-dnl Copyright (C) 2005-2006, 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2006, 2008-2014 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.
diff --git a/gl/m4/intmax_t.m4 b/gl/m4/intmax_t.m4
index 6ea7053..af5561e 100644
--- a/gl/m4/intmax_t.m4
+++ b/gl/m4/intmax_t.m4
@@ -1,5 +1,5 @@
 # intmax_t.m4 serial 8
-dnl Copyright (C) 1997-2004, 2006-2007, 2009-2013 Free Software Foundation,
+dnl Copyright (C) 1997-2004, 2006-2007, 2009-2014 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gl/m4/inttypes_h.m4 b/gl/m4/inttypes_h.m4
index 5f05ac5..87be9cf 100644
--- a/gl/m4/inttypes_h.m4
+++ b/gl/m4/inttypes_h.m4
@@ -1,5 +1,5 @@
 # inttypes_h.m4 serial 10
-dnl Copyright (C) 1997-2004, 2006, 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 1997-2004, 2006, 2008-2014 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.
diff --git a/gl/m4/largefile.m4 b/gl/m4/largefile.m4
index 1e605e3..a1b564a 100644
--- a/gl/m4/largefile.m4
+++ b/gl/m4/largefile.m4
@@ -1,6 +1,6 @@
 # Enable large files on systems where this is not the default.
 
-# Copyright 1992-1996, 1998-2013 Free Software Foundation, Inc.
+# Copyright 1992-1996, 1998-2014 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.
diff --git a/gl/m4/ld-output-def.m4 b/gl/m4/ld-output-def.m4
index 59895bc..19d7e9a 100644
--- a/gl/m4/ld-output-def.m4
+++ b/gl/m4/ld-output-def.m4
@@ -1,5 +1,5 @@
 # ld-output-def.m4 serial 2
-dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2014 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.
diff --git a/gl/m4/ld-version-script.m4 b/gl/m4/ld-version-script.m4
index 63386f1..f8b4a5c 100644
--- a/gl/m4/ld-version-script.m4
+++ b/gl/m4/ld-version-script.m4
@@ -1,5 +1,5 @@
 # ld-version-script.m4 serial 3
-dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2014 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.
diff --git a/gl/m4/lib-ld.m4 b/gl/m4/lib-ld.m4
index c145e47..ddc569f 100644
--- a/gl/m4/lib-ld.m4
+++ b/gl/m4/lib-ld.m4
@@ -1,5 +1,5 @@
 # lib-ld.m4 serial 6
-dnl Copyright (C) 1996-2003, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 1996-2003, 2009-2014 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.
diff --git a/gl/m4/lib-link.m4 b/gl/m4/lib-link.m4
index 073f040..3522d99 100644
--- a/gl/m4/lib-link.m4
+++ b/gl/m4/lib-link.m4
@@ -1,5 +1,5 @@
 # lib-link.m4 serial 26 (gettext-0.18.2)
-dnl Copyright (C) 2001-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2014 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.
diff --git a/gl/m4/lib-prefix.m4 b/gl/m4/lib-prefix.m4
index 60908e8..31f49e4 100644
--- a/gl/m4/lib-prefix.m4
+++ b/gl/m4/lib-prefix.m4
@@ -1,5 +1,5 @@
 # lib-prefix.m4 serial 7 (gettext-0.18)
-dnl Copyright (C) 2001-2005, 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2005, 2008-2014 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.
diff --git a/gl/m4/longlong.m4 b/gl/m4/longlong.m4
index 3af6ab5..eefb37c 100644
--- a/gl/m4/longlong.m4
+++ b/gl/m4/longlong.m4
@@ -1,5 +1,5 @@
 # longlong.m4 serial 17
-dnl Copyright (C) 1999-2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 1999-2007, 2009-2014 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.
diff --git a/gl/m4/lseek.m4 b/gl/m4/lseek.m4
index df9302a..0904d02 100644
--- a/gl/m4/lseek.m4
+++ b/gl/m4/lseek.m4
@@ -1,5 +1,5 @@
 # lseek.m4 serial 10
-dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2014 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.
diff --git a/gl/m4/malloc.m4 b/gl/m4/malloc.m4
index 4b24a0b..322ad6e 100644
--- a/gl/m4/malloc.m4
+++ b/gl/m4/malloc.m4
@@ -1,5 +1,5 @@
 # malloc.m4 serial 14
-dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2014 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.
diff --git a/gl/m4/malloca.m4 b/gl/m4/malloca.m4
index 791ce10..dcc1a08 100644
--- a/gl/m4/malloca.m4
+++ b/gl/m4/malloca.m4
@@ -1,5 +1,5 @@
 # malloca.m4 serial 1
-dnl Copyright (C) 2003-2004, 2006-2007, 2009-2013 Free Software Foundation,
+dnl Copyright (C) 2003-2004, 2006-2007, 2009-2014 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gl/m4/manywarnings.m4 b/gl/m4/manywarnings.m4
index 45a30af..3e6dd21 100644
--- a/gl/m4/manywarnings.m4
+++ b/gl/m4/manywarnings.m4
@@ -1,5 +1,5 @@
-# manywarnings.m4 serial 5
-dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
+# manywarnings.m4 serial 7
+dnl Copyright (C) 2008-2014 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.
@@ -93,11 +93,20 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC],
   fi
 
   # List all gcc warning categories.
+  # To compare this list to your installed GCC's, run this Bash command:
+  #
+  # comm -3 \
+  #  <(sed -n 's/^  *\(-[^ ]*\) .*/\1/p' manywarnings.m4 | sort) \
+  #  <(gcc --help=warnings | sed -n 's/^  \(-[^ ]*\) .*/\1/p' | sort |
+  #      grep -v -x -f <(
+  #         awk '/^[^#]/ {print $1}' ../build-aux/gcc-warning.spec))
+
   gl_manywarn_set=
   for gl_manywarn_item in \
     -W \
     -Wabi \
     -Waddress \
+    -Waggressive-loop-optimizations \
     -Wall \
     -Warray-bounds \
     -Wattributes \
@@ -110,6 +119,7 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC],
     -Wcomments \
     -Wcoverage-mismatch \
     -Wcpp \
+    -Wdate-time \
     -Wdeprecated \
     -Wdeprecated-declarations \
     -Wdisabled-optimization \
@@ -125,7 +135,6 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC],
     -Wformat-security \
     -Wformat-y2k \
     -Wformat-zero-length \
-    -Wformat=2 \
     -Wfree-nonheap-object \
     -Wignored-qualifiers \
     -Wimplicit \
@@ -143,19 +152,16 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC],
     -Wmissing-braces \
     -Wmissing-declarations \
     -Wmissing-field-initializers \
-    -Wmissing-format-attribute \
     -Wmissing-include-dirs \
-    -Wmissing-noreturn \
     -Wmissing-parameter-type \
     -Wmissing-prototypes \
-    -Wmudflap \
     -Wmultichar \
     -Wnarrowing \
     -Wnested-externs \
     -Wnonnull \
-    -Wnormalized=nfc \
     -Wold-style-declaration \
     -Wold-style-definition \
+    -Wopenmp-simd \
     -Woverflow \
     -Woverlength-strings \
     -Woverride-init \
@@ -166,6 +172,7 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC],
     -Wpointer-sign \
     -Wpointer-to-int-cast \
     -Wpragmas \
+    -Wreturn-local-addr \
     -Wreturn-type \
     -Wsequence-point \
     -Wshadow \
@@ -187,7 +194,6 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC],
     -Wtype-limits \
     -Wuninitialized \
     -Wunknown-pragmas \
-    -Wunreachable-code \
     -Wunsafe-loop-optimizations \
     -Wunused \
     -Wunused-but-set-parameter \
@@ -211,6 +217,21 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC],
     gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item"
   done
 
+  # gcc --help=warnings outputs an unusual form for this option; list
+  # it here so that the above 'comm' command doesn't report a false match.
+  gl_manywarn_set="$gl_manywarn_set -Wnormalized=nfc"
+
+  # These are needed for older GCC versions.
+  if test -n "$GCC"; then
+    case `($CC --version) 2>/dev/null` in
+      'gcc (GCC) '[[0-3]].* | \
+      'gcc (GCC) '4.[[0-7]].*)
+        gl_manywarn_set="$gl_manywarn_set -fdiagnostics-show-option"
+        gl_manywarn_set="$gl_manywarn_set -funit-at-a-time"
+          ;;
+    esac
+  fi
+
   # Disable specific options as needed.
   if test "$gl_cv_cc_nomfi_needed" = yes; then
     gl_manywarn_set="$gl_manywarn_set -Wno-missing-field-initializers"
diff --git a/gl/m4/math_h.m4 b/gl/m4/math_h.m4
index bf0845f..9e2adfb 100644
--- a/gl/m4/math_h.m4
+++ b/gl/m4/math_h.m4
@@ -1,5 +1,5 @@
 # math_h.m4 serial 114
-dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2014 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.
diff --git a/gl/m4/md4.m4 b/gl/m4/md4.m4
index e5cbfee..1c38b5f 100644
--- a/gl/m4/md4.m4
+++ b/gl/m4/md4.m4
@@ -1,5 +1,5 @@
 # md4.m4 serial 7
-dnl Copyright (C) 2002-2006, 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2008-2014 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.
diff --git a/gl/m4/md5.m4 b/gl/m4/md5.m4
index 0ad6f50..f0249d9 100644
--- a/gl/m4/md5.m4
+++ b/gl/m4/md5.m4
@@ -1,5 +1,5 @@
-# md5.m4 serial 13
-dnl Copyright (C) 2002-2006, 2008-2013 Free Software Foundation, Inc.
+# md5.m4 serial 14
+dnl Copyright (C) 2002-2006, 2008-2014 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.
@@ -8,5 +8,7 @@ AC_DEFUN([gl_MD5],
 [
   dnl Prerequisites of lib/md5.c.
   AC_REQUIRE([gl_BIGENDIAN])
-  :
+
+  dnl Determine HAVE_OPENSSL_MD5 and LIB_CRYPTO
+  gl_CRYPTO_CHECK([MD5])
 ])
diff --git a/gl/m4/memchr.m4 b/gl/m4/memchr.m4
index 2d8abe7..b9f126c 100644
--- a/gl/m4/memchr.m4
+++ b/gl/m4/memchr.m4
@@ -1,5 +1,5 @@
 # memchr.m4 serial 12
-dnl Copyright (C) 2002-2004, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2004, 2009-2014 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.
diff --git a/gl/m4/memxor.m4 b/gl/m4/memxor.m4
index a708f8d..313232b 100644
--- a/gl/m4/memxor.m4
+++ b/gl/m4/memxor.m4
@@ -1,5 +1,5 @@
 # memxor.m4 serial 4
-dnl Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2009-2014 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.
diff --git a/gl/m4/minmax.m4 b/gl/m4/minmax.m4
index 2b210cd..edbeb43 100644
--- a/gl/m4/minmax.m4
+++ b/gl/m4/minmax.m4
@@ -1,5 +1,5 @@
 # minmax.m4 serial 4
-dnl Copyright (C) 2005, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2009-2014 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.
diff --git a/gl/m4/mktime.m4 b/gl/m4/mktime.m4
index faefb77..e8d340a 100644
--- a/gl/m4/mktime.m4
+++ b/gl/m4/mktime.m4
@@ -1,5 +1,5 @@
 # serial 25
-dnl Copyright (C) 2002-2003, 2005-2007, 2009-2013 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2007, 2009-2014 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gl/m4/mmap-anon.m4 b/gl/m4/mmap-anon.m4
index 9b60ddf..94ae2e2 100644
--- a/gl/m4/mmap-anon.m4
+++ b/gl/m4/mmap-anon.m4
@@ -1,5 +1,5 @@
 # mmap-anon.m4 serial 10
-dnl Copyright (C) 2005, 2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2007, 2009-2014 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.
diff --git a/gl/m4/msvc-inval.m4 b/gl/m4/msvc-inval.m4
index 9a6a47a..7f26087 100644
--- a/gl/m4/msvc-inval.m4
+++ b/gl/m4/msvc-inval.m4
@@ -1,5 +1,5 @@
 # msvc-inval.m4 serial 1
-dnl Copyright (C) 2011-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2014 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.
diff --git a/gl/m4/msvc-nothrow.m4 b/gl/m4/msvc-nothrow.m4
index a39618a..9e32c17 100644
--- a/gl/m4/msvc-nothrow.m4
+++ b/gl/m4/msvc-nothrow.m4
@@ -1,5 +1,5 @@
 # msvc-nothrow.m4 serial 1
-dnl Copyright (C) 2011-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2014 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.
diff --git a/gl/m4/multiarch.m4 b/gl/m4/multiarch.m4
index 552ec7e..2cb956d 100644
--- a/gl/m4/multiarch.m4
+++ b/gl/m4/multiarch.m4
@@ -1,5 +1,5 @@
 # multiarch.m4 serial 7
-dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2014 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.
diff --git a/gl/m4/netdb_h.m4 b/gl/m4/netdb_h.m4
index 2c69f99..cd7d482 100644
--- a/gl/m4/netdb_h.m4
+++ b/gl/m4/netdb_h.m4
@@ -1,5 +1,5 @@
 # netdb_h.m4 serial 11
-dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2014 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.
diff --git a/gl/m4/netinet_in_h.m4 b/gl/m4/netinet_in_h.m4
index 21971b2..1d447d6 100644
--- a/gl/m4/netinet_in_h.m4
+++ b/gl/m4/netinet_in_h.m4
@@ -1,5 +1,5 @@
 # netinet_in_h.m4 serial 5
-dnl Copyright (C) 2006-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2014 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.
diff --git a/gl/m4/off_t.m4 b/gl/m4/off_t.m4
index d355d01..f5885b3 100644
--- a/gl/m4/off_t.m4
+++ b/gl/m4/off_t.m4
@@ -1,5 +1,5 @@
 # off_t.m4 serial 1
-dnl Copyright (C) 2012-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2012-2014 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.
diff --git a/gl/m4/parse-datetime.m4 b/gl/m4/parse-datetime.m4
index 62ce16a..7873009 100644
--- a/gl/m4/parse-datetime.m4
+++ b/gl/m4/parse-datetime.m4
@@ -1,5 +1,5 @@
 # parse-datetime.m4 serial 21
-dnl Copyright (C) 2002-2006, 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2008-2014 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.
diff --git a/gl/m4/pathmax.m4 b/gl/m4/pathmax.m4
index e11bf57..114f91f 100644
--- a/gl/m4/pathmax.m4
+++ b/gl/m4/pathmax.m4
@@ -1,5 +1,5 @@
 # pathmax.m4 serial 10
-dnl Copyright (C) 2002-2003, 2005-2006, 2009-2013 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2006, 2009-2014 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gl/m4/printf.m4 b/gl/m4/printf.m4
index ef44f78..3d7b381 100644
--- a/gl/m4/printf.m4
+++ b/gl/m4/printf.m4
@@ -1,5 +1,5 @@
-# printf.m4 serial 50
-dnl Copyright (C) 2003, 2007-2013 Free Software Foundation, Inc.
+# printf.m4 serial 51
+dnl Copyright (C) 2003, 2007-2014 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.
@@ -61,7 +61,7 @@ changequote(,)dnl
                                  # Guess yes on glibc systems.
            *-gnu*)               gl_cv_func_printf_sizes_c99="guessing yes";;
                                  # Guess yes on FreeBSD >= 5.
-           freebsd[1-4]*)        gl_cv_func_printf_sizes_c99="guessing no";;
+           freebsd[1-4].*)       gl_cv_func_printf_sizes_c99="guessing no";;
            freebsd* | kfreebsd*) gl_cv_func_printf_sizes_c99="guessing yes";;
                                  # Guess yes on Mac OS X >= 10.3.
            darwin[1-6].*)        gl_cv_func_printf_sizes_c99="guessing no";;
@@ -220,7 +220,7 @@ changequote(,)dnl
                                  # Guess yes on glibc systems.
            *-gnu*)               gl_cv_func_printf_infinite="guessing yes";;
                                  # Guess yes on FreeBSD >= 6.
-           freebsd[1-5]*)        gl_cv_func_printf_infinite="guessing no";;
+           freebsd[1-5].*)       gl_cv_func_printf_infinite="guessing no";;
            freebsd* | kfreebsd*) gl_cv_func_printf_infinite="guessing yes";;
                                  # Guess yes on Mac OS X >= 10.3.
            darwin[1-6].*)        gl_cv_func_printf_infinite="guessing no";;
@@ -442,7 +442,7 @@ changequote(,)dnl
                                          # Guess yes on glibc systems.
                    *-gnu*)               
gl_cv_func_printf_infinite_long_double="guessing yes";;
                                          # Guess yes on FreeBSD >= 6.
-                   freebsd[1-5]*)        
gl_cv_func_printf_infinite_long_double="guessing no";;
+                   freebsd[1-5].*)       
gl_cv_func_printf_infinite_long_double="guessing no";;
                    freebsd* | kfreebsd*) 
gl_cv_func_printf_infinite_long_double="guessing yes";;
                                          # Guess yes on HP-UX >= 11.
                    hpux[7-9]* | hpux10*) 
gl_cv_func_printf_infinite_long_double="guessing no";;
@@ -588,7 +588,7 @@ changequote(,)dnl
                                  # Guess yes on glibc systems.
            *-gnu*)               gl_cv_func_printf_directive_f="guessing yes";;
                                  # Guess yes on FreeBSD >= 6.
-           freebsd[1-5]*)        gl_cv_func_printf_directive_f="guessing no";;
+           freebsd[1-5].*)       gl_cv_func_printf_directive_f="guessing no";;
            freebsd* | kfreebsd*) gl_cv_func_printf_directive_f="guessing yes";;
                                  # Guess yes on Mac OS X >= 10.3.
            darwin[1-6].*)        gl_cv_func_printf_directive_f="guessing no";;
@@ -1136,7 +1136,7 @@ changequote(,)dnl
                                  # Guess yes on glibc systems.
            *-gnu*)               gl_cv_func_snprintf_truncation_c99="guessing 
yes";;
                                  # Guess yes on FreeBSD >= 5.
-           freebsd[1-4]*)        gl_cv_func_snprintf_truncation_c99="guessing 
no";;
+           freebsd[1-4].*)       gl_cv_func_snprintf_truncation_c99="guessing 
no";;
            freebsd* | kfreebsd*) gl_cv_func_snprintf_truncation_c99="guessing 
yes";;
                                  # Guess yes on Mac OS X >= 10.3.
            darwin[1-6].*)        gl_cv_func_snprintf_truncation_c99="guessing 
no";;
@@ -1235,7 +1235,7 @@ changequote(,)dnl
                                  # Guess yes on glibc systems.
            *-gnu*)               gl_cv_func_snprintf_retval_c99="guessing 
yes";;
                                  # Guess yes on FreeBSD >= 5.
-           freebsd[1-4]*)        gl_cv_func_snprintf_retval_c99="guessing no";;
+           freebsd[1-4].*)       gl_cv_func_snprintf_retval_c99="guessing no";;
            freebsd* | kfreebsd*) gl_cv_func_snprintf_retval_c99="guessing 
yes";;
                                  # Guess yes on Mac OS X >= 10.3.
            darwin[1-6].*)        gl_cv_func_snprintf_retval_c99="guessing no";;
@@ -1316,7 +1316,7 @@ changequote(,)dnl
                                  # Guess yes on glibc systems.
            *-gnu*)               gl_cv_func_snprintf_directive_n="guessing 
yes";;
                                  # Guess yes on FreeBSD >= 5.
-           freebsd[1-4]*)        gl_cv_func_snprintf_directive_n="guessing 
no";;
+           freebsd[1-4].*)       gl_cv_func_snprintf_directive_n="guessing 
no";;
            freebsd* | kfreebsd*) gl_cv_func_snprintf_directive_n="guessing 
yes";;
                                  # Guess yes on Mac OS X >= 10.3.
            darwin[1-6].*)        gl_cv_func_snprintf_directive_n="guessing 
no";;
@@ -1458,7 +1458,7 @@ changequote(,)dnl
                                  # Guess yes on glibc systems.
            *-gnu*)               gl_cv_func_vsnprintf_zerosize_c99="guessing 
yes";;
                                  # Guess yes on FreeBSD >= 5.
-           freebsd[1-4]*)        gl_cv_func_vsnprintf_zerosize_c99="guessing 
no";;
+           freebsd[1-4].*)       gl_cv_func_vsnprintf_zerosize_c99="guessing 
no";;
            freebsd* | kfreebsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing 
yes";;
                                  # Guess yes on Mac OS X >= 10.3.
            darwin[1-6].*)        gl_cv_func_vsnprintf_zerosize_c99="guessing 
no";;
diff --git a/gl/m4/rawmemchr.m4 b/gl/m4/rawmemchr.m4
index 8c50054..a35af40 100644
--- a/gl/m4/rawmemchr.m4
+++ b/gl/m4/rawmemchr.m4
@@ -1,5 +1,5 @@
 # rawmemchr.m4 serial 2
-dnl Copyright (C) 2003, 2007-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2007-2014 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.
diff --git a/gl/m4/read-file.m4 b/gl/m4/read-file.m4
index 491bba8..a2beacc 100644
--- a/gl/m4/read-file.m4
+++ b/gl/m4/read-file.m4
@@ -1,5 +1,5 @@
 # read-file.m4 serial 3
-dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2014 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.
diff --git a/gl/m4/realloc.m4 b/gl/m4/realloc.m4
index d477fb4..f96537b 100644
--- a/gl/m4/realloc.m4
+++ b/gl/m4/realloc.m4
@@ -1,5 +1,5 @@
 # realloc.m4 serial 13
-dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2014 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.
diff --git a/gl/m4/select.m4 b/gl/m4/select.m4
index d025355..1d2fcb3 100644
--- a/gl/m4/select.m4
+++ b/gl/m4/select.m4
@@ -1,5 +1,5 @@
 # select.m4 serial 7
-dnl Copyright (C) 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2014 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.
diff --git a/gl/m4/servent.m4 b/gl/m4/servent.m4
index 01c037a..4dc7a9f 100644
--- a/gl/m4/servent.m4
+++ b/gl/m4/servent.m4
@@ -1,5 +1,5 @@
 # servent.m4 serial 2
-dnl Copyright (C) 2008, 2010-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2008, 2010-2014 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.
diff --git a/gl/m4/setenv.m4 b/gl/m4/setenv.m4
index cb5351a..0f46a7b 100644
--- a/gl/m4/setenv.m4
+++ b/gl/m4/setenv.m4
@@ -1,5 +1,5 @@
 # setenv.m4 serial 26
-dnl Copyright (C) 2001-2004, 2006-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2004, 2006-2014 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.
diff --git a/gl/m4/sha1.m4 b/gl/m4/sha1.m4
index 21c775e..bf51b1b 100644
--- a/gl/m4/sha1.m4
+++ b/gl/m4/sha1.m4
@@ -1,5 +1,5 @@
-# sha1.m4 serial 11
-dnl Copyright (C) 2002-2006, 2008-2013 Free Software Foundation, Inc.
+# sha1.m4 serial 12
+dnl Copyright (C) 2002-2006, 2008-2014 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.
@@ -8,5 +8,7 @@ AC_DEFUN([gl_SHA1],
 [
   dnl Prerequisites of lib/sha1.c.
   AC_REQUIRE([gl_BIGENDIAN])
-  :
+
+  dnl Determine HAVE_OPENSSL_SHA1 and LIB_CRYPTO
+  gl_CRYPTO_CHECK([SHA1])
 ])
diff --git a/gl/m4/signal_h.m4 b/gl/m4/signal_h.m4
index 3de9f27..c8f664f 100644
--- a/gl/m4/signal_h.m4
+++ b/gl/m4/signal_h.m4
@@ -1,5 +1,5 @@
 # signal_h.m4 serial 18
-dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2014 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.
diff --git a/gl/m4/size_max.m4 b/gl/m4/size_max.m4
index 4b247ab..7e192d5 100644
--- a/gl/m4/size_max.m4
+++ b/gl/m4/size_max.m4
@@ -1,5 +1,5 @@
 # size_max.m4 serial 10
-dnl Copyright (C) 2003, 2005-2006, 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2005-2006, 2008-2014 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.
diff --git a/gl/m4/snprintf.m4 b/gl/m4/snprintf.m4
index 3698e84..888db35 100644
--- a/gl/m4/snprintf.m4
+++ b/gl/m4/snprintf.m4
@@ -1,5 +1,5 @@
 # snprintf.m4 serial 6
-dnl Copyright (C) 2002-2004, 2007-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2004, 2007-2014 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.
diff --git a/gl/m4/socketlib.m4 b/gl/m4/socketlib.m4
index b08a72f..041498b 100644
--- a/gl/m4/socketlib.m4
+++ b/gl/m4/socketlib.m4
@@ -1,5 +1,5 @@
 # socketlib.m4 serial 1
-dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2014 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.
diff --git a/gl/m4/sockets.m4 b/gl/m4/sockets.m4
index b407391..da6ff74 100644
--- a/gl/m4/sockets.m4
+++ b/gl/m4/sockets.m4
@@ -1,5 +1,5 @@
 # sockets.m4 serial 7
-dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2014 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.
diff --git a/gl/m4/socklen.m4 b/gl/m4/socklen.m4
index e3efd6e..4c07f86 100644
--- a/gl/m4/socklen.m4
+++ b/gl/m4/socklen.m4
@@ -1,5 +1,5 @@
 # socklen.m4 serial 10
-dnl Copyright (C) 2005-2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2007, 2009-2014 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.
diff --git a/gl/m4/sockpfaf.m4 b/gl/m4/sockpfaf.m4
index 89557b1..31d436f 100644
--- a/gl/m4/sockpfaf.m4
+++ b/gl/m4/sockpfaf.m4
@@ -1,5 +1,5 @@
 # sockpfaf.m4 serial 8
-dnl Copyright (C) 2004, 2006, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2004, 2006, 2009-2014 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.
diff --git a/gl/m4/ssize_t.m4 b/gl/m4/ssize_t.m4
index 6338134..fbe1d06 100644
--- a/gl/m4/ssize_t.m4
+++ b/gl/m4/ssize_t.m4
@@ -1,5 +1,5 @@
 # ssize_t.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2001-2003, 2006, 2010-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2003, 2006, 2010-2014 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.
diff --git a/gl/m4/stat.m4 b/gl/m4/stat.m4
index 2456297..1ae327b 100644
--- a/gl/m4/stat.m4
+++ b/gl/m4/stat.m4
@@ -1,6 +1,6 @@
 # serial 11
 
-# Copyright (C) 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff --git a/gl/m4/stdalign.m4 b/gl/m4/stdalign.m4
index a866ff6..9efafe5 100644
--- a/gl/m4/stdalign.m4
+++ b/gl/m4/stdalign.m4
@@ -1,6 +1,6 @@
 # Check for stdalign.h that conforms to C11.
 
-dnl Copyright 2011-2013 Free Software Foundation, Inc.
+dnl Copyright 2011-2014 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.
@@ -31,7 +31,8 @@ AC_DEFUN([gl_STDALIGN_H],
 
             /* Test _Alignas only on platforms where gnulib can help.  */
             #if \
-                (__GNUC__ || __IBMC__ || __IBMCPP__ \
+                ((defined __cplusplus && 201103 <= __cplusplus) \
+                 || __GNUC__ || __IBMC__ || __IBMCPP__ || __ICC \
                  || 0x5110 <= __SUNPRO_C || 1300 <= _MSC_VER)
               struct alignas_test { char c; char alignas (8) alignas_8; };
               char test_alignas[offsetof (struct alignas_test, alignas_8) == 8
diff --git a/gl/m4/stdarg.m4 b/gl/m4/stdarg.m4
index c087f61..732aa31 100644
--- a/gl/m4/stdarg.m4
+++ b/gl/m4/stdarg.m4
@@ -1,5 +1,5 @@
 # stdarg.m4 serial 6
-dnl Copyright (C) 2006, 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2008-2014 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.
diff --git a/gl/m4/stdbool.m4 b/gl/m4/stdbool.m4
index 80d5559..006ed52 100644
--- a/gl/m4/stdbool.m4
+++ b/gl/m4/stdbool.m4
@@ -1,6 +1,6 @@
 # Check for stdbool.h that conforms to C99.
 
-dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2014 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.
diff --git a/gl/m4/stddef_h.m4 b/gl/m4/stddef_h.m4
index 5da8ab1..c555e29 100644
--- a/gl/m4/stddef_h.m4
+++ b/gl/m4/stddef_h.m4
@@ -1,6 +1,6 @@
 dnl A placeholder for POSIX 2008 <stddef.h>, for platforms that have issues.
 # stddef_h.m4 serial 4
-dnl Copyright (C) 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2014 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.
diff --git a/gl/m4/stdint.m4 b/gl/m4/stdint.m4
index 27cdcdb..1981d9d 100644
--- a/gl/m4/stdint.m4
+++ b/gl/m4/stdint.m4
@@ -1,5 +1,5 @@
 # stdint.m4 serial 43
-dnl Copyright (C) 2001-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2014 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.
diff --git a/gl/m4/stdint_h.m4 b/gl/m4/stdint_h.m4
index 511ab4e..7fc2ce9 100644
--- a/gl/m4/stdint_h.m4
+++ b/gl/m4/stdint_h.m4
@@ -1,5 +1,5 @@
 # stdint_h.m4 serial 9
-dnl Copyright (C) 1997-2004, 2006, 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 1997-2004, 2006, 2008-2014 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.
diff --git a/gl/m4/stdio_h.m4 b/gl/m4/stdio_h.m4
index ebade06..d15913a 100644
--- a/gl/m4/stdio_h.m4
+++ b/gl/m4/stdio_h.m4
@@ -1,5 +1,5 @@
 # stdio_h.m4 serial 43
-dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2014 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.
diff --git a/gl/m4/stdlib_h.m4 b/gl/m4/stdlib_h.m4
index 2027ab3..86aff16 100644
--- a/gl/m4/stdlib_h.m4
+++ b/gl/m4/stdlib_h.m4
@@ -1,5 +1,5 @@
 # stdlib_h.m4 serial 42
-dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2014 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.
@@ -55,6 +55,7 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS],
   GNULIB_PTSNAME=0;       AC_SUBST([GNULIB_PTSNAME])
   GNULIB_PTSNAME_R=0;     AC_SUBST([GNULIB_PTSNAME_R])
   GNULIB_PUTENV=0;        AC_SUBST([GNULIB_PUTENV])
+  GNULIB_QSORT_R=0;       AC_SUBST([GNULIB_QSORT_R])
   GNULIB_RANDOM=0;        AC_SUBST([GNULIB_RANDOM])
   GNULIB_RANDOM_R=0;      AC_SUBST([GNULIB_RANDOM_R])
   GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX])
@@ -107,6 +108,7 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS],
   REPLACE_PTSNAME=0;         AC_SUBST([REPLACE_PTSNAME])
   REPLACE_PTSNAME_R=0;       AC_SUBST([REPLACE_PTSNAME_R])
   REPLACE_PUTENV=0;          AC_SUBST([REPLACE_PUTENV])
+  REPLACE_QSORT_R=0;         AC_SUBST([REPLACE_QSORT_R])
   REPLACE_RANDOM_R=0;        AC_SUBST([REPLACE_RANDOM_R])
   REPLACE_REALLOC=0;         AC_SUBST([REPLACE_REALLOC])
   REPLACE_REALPATH=0;        AC_SUBST([REPLACE_REALPATH])
diff --git a/gl/m4/strcase.m4 b/gl/m4/strcase.m4
index 22bf57c..66322b8 100644
--- a/gl/m4/strcase.m4
+++ b/gl/m4/strcase.m4
@@ -1,5 +1,5 @@
 # strcase.m4 serial 11
-dnl Copyright (C) 2002, 2005-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2005-2014 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.
diff --git a/gl/m4/strchrnul.m4 b/gl/m4/strchrnul.m4
index b59eda9..ca9c99c 100644
--- a/gl/m4/strchrnul.m4
+++ b/gl/m4/strchrnul.m4
@@ -1,5 +1,5 @@
 # strchrnul.m4 serial 9
-dnl Copyright (C) 2003, 2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2007, 2009-2014 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.
diff --git a/gl/m4/strdup.m4 b/gl/m4/strdup.m4
index efe2d57..1681a30 100644
--- a/gl/m4/strdup.m4
+++ b/gl/m4/strdup.m4
@@ -1,6 +1,6 @@
 # strdup.m4 serial 13
 
-dnl Copyright (C) 2002-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2014 Free Software Foundation, Inc.
 
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gl/m4/strerror.m4 b/gl/m4/strerror.m4
index 3989844..0763fe3 100644
--- a/gl/m4/strerror.m4
+++ b/gl/m4/strerror.m4
@@ -1,5 +1,5 @@
 # strerror.m4 serial 17
-dnl Copyright (C) 2002, 2007-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2007-2014 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.
diff --git a/gl/m4/string_h.m4 b/gl/m4/string_h.m4
index cc5fbbb..64e683f 100644
--- a/gl/m4/string_h.m4
+++ b/gl/m4/string_h.m4
@@ -1,6 +1,6 @@
 # Configure a GNU-like replacement for <string.h>.
 
-# Copyright (C) 2007-2013 Free Software Foundation, Inc.
+# Copyright (C) 2007-2014 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.
diff --git a/gl/m4/strings_h.m4 b/gl/m4/strings_h.m4
index 76ef242..0eac17c 100644
--- a/gl/m4/strings_h.m4
+++ b/gl/m4/strings_h.m4
@@ -1,7 +1,7 @@
 # Configure a replacement for <strings.h>.
 # serial 6
 
-# Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2007, 2009-2014 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.
diff --git a/gl/m4/strndup.m4 b/gl/m4/strndup.m4
index a1f8274..55df039 100644
--- a/gl/m4/strndup.m4
+++ b/gl/m4/strndup.m4
@@ -1,5 +1,5 @@
 # strndup.m4 serial 21
-dnl Copyright (C) 2002-2003, 2005-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2003, 2005-2014 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.
diff --git a/gl/m4/strnlen.m4 b/gl/m4/strnlen.m4
index eae82b7..94317f8 100644
--- a/gl/m4/strnlen.m4
+++ b/gl/m4/strnlen.m4
@@ -1,5 +1,5 @@
 # strnlen.m4 serial 13
-dnl Copyright (C) 2002-2003, 2005-2007, 2009-2013 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2007, 2009-2014 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gl/m4/strtok_r.m4 b/gl/m4/strtok_r.m4
index cbc9339..ba24430 100644
--- a/gl/m4/strtok_r.m4
+++ b/gl/m4/strtok_r.m4
@@ -1,5 +1,5 @@
 # strtok_r.m4 serial 13
-dnl Copyright (C) 2002-2004, 2006-2007, 2009-2013 Free Software Foundation,
+dnl Copyright (C) 2002-2004, 2006-2007, 2009-2014 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gl/m4/strverscmp.m4 b/gl/m4/strverscmp.m4
index 110daf2..aca1d54 100644
--- a/gl/m4/strverscmp.m4
+++ b/gl/m4/strverscmp.m4
@@ -1,5 +1,5 @@
 # strverscmp.m4 serial 8
-dnl Copyright (C) 2002, 2005-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2005-2014 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.
diff --git a/gl/m4/sys_select_h.m4 b/gl/m4/sys_select_h.m4
index 4962328..1a502b4 100644
--- a/gl/m4/sys_select_h.m4
+++ b/gl/m4/sys_select_h.m4
@@ -1,5 +1,5 @@
 # sys_select_h.m4 serial 20
-dnl Copyright (C) 2006-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2014 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.
diff --git a/gl/m4/sys_socket_h.m4 b/gl/m4/sys_socket_h.m4
index 9486377..114d828 100644
--- a/gl/m4/sys_socket_h.m4
+++ b/gl/m4/sys_socket_h.m4
@@ -1,5 +1,5 @@
 # sys_socket_h.m4 serial 23
-dnl Copyright (C) 2005-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2014 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.
diff --git a/gl/m4/sys_stat_h.m4 b/gl/m4/sys_stat_h.m4
index 6dd3d99..eaa7642 100644
--- a/gl/m4/sys_stat_h.m4
+++ b/gl/m4/sys_stat_h.m4
@@ -1,5 +1,5 @@
 # sys_stat_h.m4 serial 28   -*- Autoconf -*-
-dnl Copyright (C) 2006-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2014 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.
diff --git a/gl/m4/sys_time_h.m4 b/gl/m4/sys_time_h.m4
index 0ac71ac..5c79300 100644
--- a/gl/m4/sys_time_h.m4
+++ b/gl/m4/sys_time_h.m4
@@ -1,7 +1,7 @@
 # Configure a replacement for <sys/time.h>.
 # serial 8
 
-# Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2007, 2009-2014 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.
diff --git a/gl/m4/sys_types_h.m4 b/gl/m4/sys_types_h.m4
index d15c1b3..9748905 100644
--- a/gl/m4/sys_types_h.m4
+++ b/gl/m4/sys_types_h.m4
@@ -1,5 +1,5 @@
 # sys_types_h.m4 serial 5
-dnl Copyright (C) 2011-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2014 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.
diff --git a/gl/m4/sys_uio_h.m4 b/gl/m4/sys_uio_h.m4
index c75cbbd..ba6b4b5 100644
--- a/gl/m4/sys_uio_h.m4
+++ b/gl/m4/sys_uio_h.m4
@@ -1,5 +1,5 @@
 # sys_uio_h.m4 serial 1
-dnl Copyright (C) 2011-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2014 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.
diff --git a/gl/m4/time_h.m4 b/gl/m4/time_h.m4
index 3b83900..9852778 100644
--- a/gl/m4/time_h.m4
+++ b/gl/m4/time_h.m4
@@ -1,8 +1,8 @@
 # Configure a more-standard replacement for <time.h>.
 
-# Copyright (C) 2000-2001, 2003-2007, 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2000-2001, 2003-2007, 2009-2014 Free Software Foundation, Inc.
 
-# serial 7
+# serial 8
 
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -106,4 +106,13 @@ AC_DEFUN([gl_HEADER_TIME_H_DEFAULTS],
   REPLACE_MKTIME=GNULIB_PORTCHECK;       AC_SUBST([REPLACE_MKTIME])
   REPLACE_NANOSLEEP=GNULIB_PORTCHECK;    AC_SUBST([REPLACE_NANOSLEEP])
   REPLACE_TIMEGM=GNULIB_PORTCHECK;       AC_SUBST([REPLACE_TIMEGM])
+
+  dnl Hack so that the time module doesn't depend on the sys_time module.
+  dnl First, default GNULIB_GETTIMEOFDAY to 0 if sys_time is absent.
+  : ${GNULIB_GETTIMEOFDAY=0};            AC_SUBST([GNULIB_GETTIMEOFDAY])
+  dnl Second, it's OK to not use GNULIB_PORTCHECK for REPLACE_GMTIME
+  dnl and REPLACE_LOCALTIME, as portability to Solaris 2.6 and earlier
+  dnl is no longer a big deal.
+  REPLACE_GMTIME=0;                      AC_SUBST([REPLACE_GMTIME])
+  REPLACE_LOCALTIME=0;                   AC_SUBST([REPLACE_LOCALTIME])
 ])
diff --git a/gl/m4/time_r.m4 b/gl/m4/time_r.m4
index c388a83..7e15600 100644
--- a/gl/m4/time_r.m4
+++ b/gl/m4/time_r.m4
@@ -1,6 +1,6 @@
 dnl Reentrant time functions: localtime_r, gmtime_r.
 
-dnl Copyright (C) 2003, 2006-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2006-2014 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.
diff --git a/gl/m4/timegm.m4 b/gl/m4/timegm.m4
index 997953c..f14b773 100644
--- a/gl/m4/timegm.m4
+++ b/gl/m4/timegm.m4
@@ -1,5 +1,5 @@
 # timegm.m4 serial 11
-dnl Copyright (C) 2003, 2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2007, 2009-2014 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.
diff --git a/gl/m4/timespec.m4 b/gl/m4/timespec.m4
index 399404b..2ce654f 100644
--- a/gl/m4/timespec.m4
+++ b/gl/m4/timespec.m4
@@ -1,6 +1,6 @@
 #serial 15
 
-# Copyright (C) 2000-2001, 2003-2007, 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2000-2001, 2003-2007, 2009-2014 Free Software Foundation, Inc.
 
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff --git a/gl/m4/tm_gmtoff.m4 b/gl/m4/tm_gmtoff.m4
index 55e7ea3..486351b 100644
--- a/gl/m4/tm_gmtoff.m4
+++ b/gl/m4/tm_gmtoff.m4
@@ -1,5 +1,5 @@
 # tm_gmtoff.m4 serial 3
-dnl Copyright (C) 2002, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2009-2014 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.
diff --git a/gl/m4/unistd_h.m4 b/gl/m4/unistd_h.m4
index 32dcfa5..1fa197e 100644
--- a/gl/m4/unistd_h.m4
+++ b/gl/m4/unistd_h.m4
@@ -1,5 +1,5 @@
-# unistd_h.m4 serial 66
-dnl Copyright (C) 2006-2013 Free Software Foundation, Inc.
+# unistd_h.m4 serial 67
+dnl Copyright (C) 2006-2014 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.
@@ -160,6 +160,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
   REPLACE_FTRUNCATE=0;    AC_SUBST([REPLACE_FTRUNCATE])
   REPLACE_GETCWD=0;       AC_SUBST([REPLACE_GETCWD])
   REPLACE_GETDOMAINNAME=0; AC_SUBST([REPLACE_GETDOMAINNAME])
+  REPLACE_GETDTABLESIZE=0; AC_SUBST([REPLACE_GETDTABLESIZE])
   REPLACE_GETLOGIN_R=0;   AC_SUBST([REPLACE_GETLOGIN_R])
   REPLACE_GETGROUPS=0;    AC_SUBST([REPLACE_GETGROUPS])
   REPLACE_GETPAGESIZE=0;  AC_SUBST([REPLACE_GETPAGESIZE])
diff --git a/gl/m4/valgrind-tests.m4 b/gl/m4/valgrind-tests.m4
index d5efeca..f1fbd58 100644
--- a/gl/m4/valgrind-tests.m4
+++ b/gl/m4/valgrind-tests.m4
@@ -1,5 +1,5 @@
 # valgrind-tests.m4 serial 3
-dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2014 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.
@@ -12,8 +12,8 @@ dnl From Simon Josefsson
 AC_DEFUN([gl_VALGRIND_TESTS],
 [
   AC_ARG_ENABLE(valgrind-tests,
-    AS_HELP_STRING([--enable-valgrind-tests],
-                   [run self tests under valgrind]),
+    AS_HELP_STRING([--disable-valgrind-tests],
+                   [don't try to run self tests under valgrind]),
     [opt_valgrind_tests=$enableval], [opt_valgrind_tests=yes])
 
   # Run self-tests under valgrind?
diff --git a/gl/m4/vasnprintf.m4 b/gl/m4/vasnprintf.m4
index d730e43..106192e 100644
--- a/gl/m4/vasnprintf.m4
+++ b/gl/m4/vasnprintf.m4
@@ -1,5 +1,5 @@
 # vasnprintf.m4 serial 36
-dnl Copyright (C) 2002-2004, 2006-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2004, 2006-2014 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.
diff --git a/gl/m4/vasprintf.m4 b/gl/m4/vasprintf.m4
index c214ff1..c76c99c 100644
--- a/gl/m4/vasprintf.m4
+++ b/gl/m4/vasprintf.m4
@@ -1,5 +1,5 @@
 # vasprintf.m4 serial 6
-dnl Copyright (C) 2002-2003, 2006-2007, 2009-2013 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2006-2007, 2009-2014 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gl/m4/warn-on-use.m4 b/gl/m4/warn-on-use.m4
index e43beeb..cc690f8 100644
--- a/gl/m4/warn-on-use.m4
+++ b/gl/m4/warn-on-use.m4
@@ -1,5 +1,5 @@
 # warn-on-use.m4 serial 5
-dnl Copyright (C) 2010-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2014 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.
diff --git a/gl/m4/warnings.m4 b/gl/m4/warnings.m4
index 4b2ac38..43156f4 100644
--- a/gl/m4/warnings.m4
+++ b/gl/m4/warnings.m4
@@ -1,5 +1,5 @@
-# warnings.m4 serial 7
-dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
+# warnings.m4 serial 11
+dnl Copyright (C) 2008-2014 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.
@@ -25,19 +25,36 @@ m4_ifdef([AS_VAR_APPEND],
 AC_DEFUN([gl_COMPILER_OPTION_IF],
 [AS_VAR_PUSHDEF([gl_Warn], [gl_cv_warn_[]_AC_LANG_ABBREV[]_$1])dnl
 AS_VAR_PUSHDEF([gl_Flags], [_AC_LANG_PREFIX[]FLAGS])dnl
+AS_LITERAL_IF([$1],
+  [m4_pushdef([gl_Positive], m4_bpatsubst([$1], [^-Wno-], [-W]))],
+  [gl_positive="$1"
+case $gl_positive in
+  -Wno-*) gl_positive=-W`expr "X$gl_positive" : 'X-Wno-\(.*\)'` ;;
+esac
+m4_pushdef([gl_Positive], [$gl_positive])])dnl
 AC_CACHE_CHECK([whether _AC_LANG compiler handles $1], m4_defn([gl_Warn]), [
   gl_save_compiler_FLAGS="$gl_Flags"
-  gl_AS_VAR_APPEND(m4_defn([gl_Flags]), [" $1"])
-  AC_COMPILE_IFELSE([m4_default([$4], [AC_LANG_PROGRAM([])])],
-                    [AS_VAR_SET(gl_Warn, [yes])],
-                    [AS_VAR_SET(gl_Warn, [no])])
+  gl_AS_VAR_APPEND(m4_defn([gl_Flags]),
+    [" $gl_unknown_warnings_are_errors ]m4_defn([gl_Positive])["])
+  AC_LINK_IFELSE([m4_default([$4], [AC_LANG_PROGRAM([])])],
+                 [AS_VAR_SET(gl_Warn, [yes])],
+                 [AS_VAR_SET(gl_Warn, [no])])
   gl_Flags="$gl_save_compiler_FLAGS"
 ])
 AS_VAR_IF(gl_Warn, [yes], [$2], [$3])
+m4_popdef([gl_Positive])dnl
 AS_VAR_POPDEF([gl_Flags])dnl
 AS_VAR_POPDEF([gl_Warn])dnl
 ])
 
+# gl_UNKNOWN_WARNINGS_ARE_ERRORS
+# ------------------------------
+# Clang doesn't complain about unknown warning options unless one also
+# specifies -Wunknown-warning-option -Werror.  Detect this.
+AC_DEFUN([gl_UNKNOWN_WARNINGS_ARE_ERRORS],
+[gl_COMPILER_OPTION_IF([-Werror -Wunknown-warning-option],
+   [gl_unknown_warnings_are_errors='-Wunknown-warning-option -Werror'],
+   [gl_unknown_warnings_are_errors=])])
 
 # gl_WARN_ADD(OPTION, [VARIABLE = WARN_CFLAGS],
 #             [PROGRAM = AC_LANG_PROGRAM()])
@@ -47,7 +64,8 @@ AS_VAR_POPDEF([gl_Warn])dnl
 #
 # If VARIABLE is a variable name, AC_SUBST it.
 AC_DEFUN([gl_WARN_ADD],
-[gl_COMPILER_OPTION_IF([$1],
+[AC_REQUIRE([gl_UNKNOWN_WARNINGS_ARE_ERRORS])
+gl_COMPILER_OPTION_IF([$1],
   [gl_AS_VAR_APPEND(m4_if([$2], [], [[WARN_CFLAGS]], [[$2]]), [" $1"])],
   [],
   [$3])
diff --git a/gl/m4/wchar_h.m4 b/gl/m4/wchar_h.m4
index bedb15a..85db952 100644
--- a/gl/m4/wchar_h.m4
+++ b/gl/m4/wchar_h.m4
@@ -1,6 +1,6 @@
 dnl A placeholder for ISO C99 <wchar.h>, for platforms that have issues.
 
-dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2014 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.
diff --git a/gl/m4/wchar_t.m4 b/gl/m4/wchar_t.m4
index e1e1e69..839a04c 100644
--- a/gl/m4/wchar_t.m4
+++ b/gl/m4/wchar_t.m4
@@ -1,5 +1,5 @@
 # wchar_t.m4 serial 4 (gettext-0.18.2)
-dnl Copyright (C) 2002-2003, 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2003, 2008-2014 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.
diff --git a/gl/m4/wint_t.m4 b/gl/m4/wint_t.m4
index d7cd3db..9b07b07 100644
--- a/gl/m4/wint_t.m4
+++ b/gl/m4/wint_t.m4
@@ -1,5 +1,5 @@
 # wint_t.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2003, 2007-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2007-2014 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.
diff --git a/gl/m4/xalloc.m4 b/gl/m4/xalloc.m4
index 64ca701..b6a2257 100644
--- a/gl/m4/xalloc.m4
+++ b/gl/m4/xalloc.m4
@@ -1,5 +1,5 @@
 # xalloc.m4 serial 18
-dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2014 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.
diff --git a/gl/m4/xsize.m4 b/gl/m4/xsize.m4
index 8ea9f2c..3af23ec 100644
--- a/gl/m4/xsize.m4
+++ b/gl/m4/xsize.m4
@@ -1,5 +1,5 @@
 # xsize.m4 serial 5
-dnl Copyright (C) 2003-2004, 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-2004, 2008-2014 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.
diff --git a/gl/m4/xstrndup.m4 b/gl/m4/xstrndup.m4
index 4a9330b..8521f0e 100644
--- a/gl/m4/xstrndup.m4
+++ b/gl/m4/xstrndup.m4
@@ -1,5 +1,5 @@
 # xstrndup.m4 serial 2
-dnl Copyright (C) 2003, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2009-2014 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.
diff --git a/gl/m4/xvasprintf.m4 b/gl/m4/xvasprintf.m4
index 772dcc8..c2d3ec7 100644
--- a/gl/m4/xvasprintf.m4
+++ b/gl/m4/xvasprintf.m4
@@ -1,5 +1,5 @@
 # xvasprintf.m4 serial 2
-dnl Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2009-2014 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.
diff --git a/gl/malloc.c b/gl/malloc.c
index 908735d..bc81c54 100644
--- a/gl/malloc.c
+++ b/gl/malloc.c
@@ -1,6 +1,6 @@
 /* malloc() function that is glibc compatible.
 
-   Copyright (C) 1997-1998, 2006-2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 1997-1998, 2006-2007, 2009-2014 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
diff --git a/gl/malloca.c b/gl/malloca.c
index 3cd2f6d..370551c 100644
--- a/gl/malloca.c
+++ b/gl/malloca.c
@@ -1,5 +1,5 @@
 /* Safe automatic memory allocation.
-   Copyright (C) 2003, 2006-2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2006-2007, 2009-2014 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2003.
 
    This program is free software; you can redistribute it and/or modify
@@ -49,12 +49,18 @@
 #define MAGIC_SIZE sizeof (int)
 /* This is how the header info would look like without any alignment
    considerations.  */
-struct preliminary_header { void *next; char room[MAGIC_SIZE]; };
+struct preliminary_header { void *next; int magic; };
 /* But the header's size must be a multiple of sa_alignment_max.  */
 #define HEADER_SIZE \
   (((sizeof (struct preliminary_header) + sa_alignment_max - 1) / 
sa_alignment_max) * sa_alignment_max)
-struct header { void *next; char room[HEADER_SIZE - sizeof (struct 
preliminary_header) + MAGIC_SIZE]; };
-verify (HEADER_SIZE == sizeof (struct header));
+union header {
+  void *next;
+  struct {
+    char room[HEADER_SIZE - MAGIC_SIZE];
+    int word;
+  } magic;
+};
+verify (HEADER_SIZE == sizeof (union header));
 /* We make the hash table quite big, so that during lookups the probability
    of empty hash buckets is quite high.  There is no need to make the hash
    table resizable, because when the hash table gets filled so much that the
@@ -74,20 +80,21 @@ mmalloca (size_t n)
 
   if (nplus >= n)
     {
-      char *p = (char *) malloc (nplus);
+      void *p = malloc (nplus);
 
       if (p != NULL)
         {
           size_t slot;
+          union header *h = p;
 
-          p += HEADER_SIZE;
+          p = h + 1;
 
           /* Put a magic number into the indicator word.  */
-          ((int *) p)[-1] = MAGIC_NUMBER;
+          h->magic.word = MAGIC_NUMBER;
 
           /* Enter p into the hash table.  */
           slot = (uintptr_t) p % HASH_TABLE_SIZE;
-          ((struct header *) (p - HEADER_SIZE))->next = mmalloca_results[slot];
+          h->next = mmalloca_results[slot];
           mmalloca_results[slot] = p;
 
           return p;
@@ -123,15 +130,17 @@ freea (void *p)
           void **chain = &mmalloca_results[slot];
           for (; *chain != NULL;)
             {
+              union header *h = p;
               if (*chain == p)
                 {
                   /* Found it.  Remove it from the hash table and free it.  */
-                  char *p_begin = (char *) p - HEADER_SIZE;
-                  *chain = ((struct header *) p_begin)->next;
+                  union header *p_begin = h - 1;
+                  *chain = p_begin->next;
                   free (p_begin);
                   return;
                 }
-              chain = &((struct header *) ((char *) *chain - 
HEADER_SIZE))->next;
+              h = *chain;
+              chain = &h[-1].next;
             }
         }
       /* At this point, we know it was not a mmalloca() result.  */
diff --git a/gl/malloca.h b/gl/malloca.h
index 906d47a..5071e46 100644
--- a/gl/malloca.h
+++ b/gl/malloca.h
@@ -1,5 +1,5 @@
 /* Safe automatic memory allocation.
-   Copyright (C) 2003-2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2003-2007, 2009-2014 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2003.
 
    This program is free software; you can redistribute it and/or modify
@@ -92,7 +92,7 @@ extern void * nmalloca (size_t n, size_t s);
 /* ------------------- Auxiliary, non-public definitions ------------------- */
 
 /* Determine the alignment of a type at compile time.  */
-#if defined __GNUC__
+#if defined __GNUC__ || defined __IBM__ALIGNOF__
 # define sa_alignof __alignof__
 #elif defined __cplusplus
   template <class type> struct sa_alignof_helper { char __slot1; type __slot2; 
};
diff --git a/gl/md4.c b/gl/md4.c
index 4d650af..912d71a 100644
--- a/gl/md4.c
+++ b/gl/md4.c
@@ -1,6 +1,6 @@
 /* Functions to compute MD4 message digest of files or memory blocks.
    according to the definition of MD4 in RFC 1320 from April 1992.
-   Copyright (C) 1995-1997, 1999-2003, 2005-2006, 2008-2013 Free Software
+   Copyright (C) 1995-1997, 1999-2003, 2005-2006, 2008-2014 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify it
diff --git a/gl/md4.h b/gl/md4.h
index 4b348d5..289ceaa 100644
--- a/gl/md4.h
+++ b/gl/md4.h
@@ -1,6 +1,6 @@
 /* Declarations of functions and data types used for MD4 sum
    library functions.
-   Copyright (C) 2000-2001, 2003, 2005, 2008-2013 Free Software Foundation,
+   Copyright (C) 2000-2001, 2003, 2005, 2008-2014 Free Software Foundation,
    Inc.
 
    This program is free software; you can redistribute it and/or modify it
diff --git a/gl/md5.c b/gl/md5.c
index f41b5be..ece24ac 100644
--- a/gl/md5.c
+++ b/gl/md5.c
@@ -1,6 +1,6 @@
 /* Functions to compute MD5 message digest of files or memory blocks.
    according to the definition of MD5 in RFC 1321 from April 1992.
-   Copyright (C) 1995-1997, 1999-2001, 2005-2006, 2008-2013 Free Software
+   Copyright (C) 1995-1997, 1999-2001, 2005-2006, 2008-2014 Free Software
    Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -21,6 +21,9 @@
 
 #include <config.h>
 
+#if HAVE_OPENSSL_MD5
+# define GL_OPENSSL_INLINE _GL_EXTERN_INLINE
+#endif
 #include "md5.h"
 
 #include <stdalign.h>
@@ -61,6 +64,7 @@
 # error "invalid BLOCKSIZE"
 #endif
 
+#if ! HAVE_OPENSSL_MD5
 /* This array contains the bytes used to pad the buffer to the next
    64-byte boundary.  (RFC 1321, 3.1: Step 1)  */
 static const unsigned char fillbuf[64] = { 0x80, 0 /* , 0, 0, ...  */ };
@@ -128,6 +132,7 @@ md5_finish_ctx (struct md5_ctx *ctx, void *resbuf)
 
   return md5_read_ctx (ctx, resbuf);
 }
+#endif
 
 /* Compute MD5 message digest for bytes read from STREAM.  The
    resulting message digest number will be written into the 16 bytes
@@ -202,6 +207,7 @@ process_partial_block:
   return 0;
 }
 
+#if ! HAVE_OPENSSL_MD5
 /* Compute MD5 message digest for LEN bytes beginning at BUFFER.  The
    result is always in little endian byte order, so that a byte-wise
    output yields to the wanted ASCII representation of the message
@@ -459,3 +465,4 @@ md5_process_block (const void *buffer, size_t len, struct 
md5_ctx *ctx)
   ctx->C = C;
   ctx->D = D;
 }
+#endif
diff --git a/gl/md5.h b/gl/md5.h
index 634a747..1d6974a 100644
--- a/gl/md5.h
+++ b/gl/md5.h
@@ -1,6 +1,6 @@
 /* Declaration of functions and data types used for MD5 sum computing
    library functions.
-   Copyright (C) 1995-1997, 1999-2001, 2004-2006, 2008-2013 Free Software
+   Copyright (C) 1995-1997, 1999-2001, 2004-2006, 2008-2014 Free Software
    Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -23,6 +23,10 @@
 #include <stdio.h>
 #include <stdint.h>
 
+# if HAVE_OPENSSL_MD5
+#  include <openssl/md5.h>
+# endif
+
 #define MD5_DIGEST_SIZE 16
 #define MD5_BLOCK_SIZE 64
 
@@ -57,6 +61,10 @@
 extern "C" {
 # endif
 
+# if HAVE_OPENSSL_MD5
+#  define GL_OPENSSL_NAME 5
+#  include "gl_openssl.h"
+# else
 /* Structure to save state of computation between the single steps.  */
 struct md5_ctx
 {
@@ -106,11 +114,6 @@ extern void *__md5_finish_ctx (struct md5_ctx *ctx, void 
*resbuf) __THROW;
 extern void *__md5_read_ctx (const struct md5_ctx *ctx, void *resbuf) __THROW;
 
 
-/* Compute MD5 message digest for bytes read from STREAM.  The
-   resulting message digest number will be written into the 16 bytes
-   beginning at RESBLOCK.  */
-extern int __md5_stream (FILE *stream, void *resblock) __THROW;
-
 /* Compute MD5 message digest for LEN bytes beginning at BUFFER.  The
    result is always in little endian byte order, so that a byte-wise
    output yields to the wanted ASCII representation of the message
@@ -118,6 +121,13 @@ extern int __md5_stream (FILE *stream, void *resblock) 
__THROW;
 extern void *__md5_buffer (const char *buffer, size_t len,
                            void *resblock) __THROW;
 
+# endif
+/* Compute MD5 message digest for bytes read from STREAM.  The
+   resulting message digest number will be written into the 16 bytes
+   beginning at RESBLOCK.  */
+extern int __md5_stream (FILE *stream, void *resblock) __THROW;
+
+
 # ifdef __cplusplus
 }
 # endif
diff --git a/gl/memchr.c b/gl/memchr.c
index 3db38a9..6709f6e 100644
--- a/gl/memchr.c
+++ b/gl/memchr.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2013
+/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2014
    Free Software Foundation, Inc.
 
    Based on strlen implementation by Torbjorn Granlund (address@hidden),
diff --git a/gl/memxor.c b/gl/memxor.c
index 2578354..5e27ad4 100644
--- a/gl/memxor.c
+++ b/gl/memxor.c
@@ -1,5 +1,5 @@
 /* memxor.c -- perform binary exclusive OR operation of two memory blocks.
-   Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2014 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
diff --git a/gl/memxor.h b/gl/memxor.h
index 0cc3461..63bd560 100644
--- a/gl/memxor.h
+++ b/gl/memxor.h
@@ -1,5 +1,5 @@
 /* memxor.h -- perform binary exclusive OR operation on memory blocks.
-   Copyright (C) 2005, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2009-2014 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
diff --git a/gl/minmax.h b/gl/minmax.h
index dc649af..af1fc9b 100644
--- a/gl/minmax.h
+++ b/gl/minmax.h
@@ -1,5 +1,5 @@
 /* MIN, MAX macros.
-   Copyright (C) 1995, 1998, 2001, 2003, 2005, 2009-2013 Free Software
+   Copyright (C) 1995, 1998, 2001, 2003, 2005, 2009-2014 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gl/mktime.c b/gl/mktime.c
index e660a23..48b3a40 100644
--- a/gl/mktime.c
+++ b/gl/mktime.c
@@ -1,5 +1,5 @@
 /* Convert a 'struct tm' to a time_t value.
-   Copyright (C) 1993-2013 Free Software Foundation, Inc.
+   Copyright (C) 1993-2014 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Paul Eggert <address@hidden>.
 
@@ -38,7 +38,7 @@
 
 #include <string.h>            /* For the real memcpy prototype.  */
 
-#if DEBUG
+#if defined DEBUG && DEBUG
 # include <stdio.h>
 # include <stdlib.h>
 /* Make it work even if the system's libc has its own mktime routine.  */
@@ -600,7 +600,7 @@ libc_hidden_def (mktime)
 libc_hidden_weak (timelocal)
 #endif
 
-#if DEBUG
+#if defined DEBUG && DEBUG
 
 static int
 not_equal_tm (const struct tm *a, const struct tm *b)
diff --git a/gl/msvc-inval.c b/gl/msvc-inval.c
index 72a6b6e..f83827f 100644
--- a/gl/msvc-inval.c
+++ b/gl/msvc-inval.c
@@ -1,5 +1,5 @@
 /* Invalid parameter handler for MSVC runtime libraries.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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
@@ -28,7 +28,7 @@
 
 # if MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING
 
-static void cdecl
+static void __cdecl
 gl_msvc_invalid_parameter_handler (const wchar_t *expression,
                                    const wchar_t *function,
                                    const wchar_t *file,
@@ -45,7 +45,7 @@ gl_msvc_invalid_parameter_handler (const wchar_t *expression,
 
 #  if defined _MSC_VER
 
-static void cdecl
+static void __cdecl
 gl_msvc_invalid_parameter_handler (const wchar_t *expression,
                                    const wchar_t *function,
                                    const wchar_t *file,
@@ -94,7 +94,7 @@ gl_msvc_inval_current (void)
     }
 }
 
-static void cdecl
+static void __cdecl
 gl_msvc_invalid_parameter_handler (const wchar_t *expression,
                                    const wchar_t *function,
                                    const wchar_t *file,
diff --git a/gl/msvc-inval.h b/gl/msvc-inval.h
index dcb0353..a0ef540 100644
--- a/gl/msvc-inval.h
+++ b/gl/msvc-inval.h
@@ -1,5 +1,5 @@
 /* Invalid parameter handler for MSVC runtime libraries.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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
diff --git a/gl/msvc-nothrow.c b/gl/msvc-nothrow.c
index 8d65472..b1e5f0c 100644
--- a/gl/msvc-nothrow.c
+++ b/gl/msvc-nothrow.c
@@ -1,6 +1,6 @@
 /* Wrappers that don't throw invalid parameter notifications
    with MSVC runtime libraries.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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
diff --git a/gl/msvc-nothrow.h b/gl/msvc-nothrow.h
index 5f52181..0d4dea5 100644
--- a/gl/msvc-nothrow.h
+++ b/gl/msvc-nothrow.h
@@ -1,6 +1,6 @@
 /* Wrappers that don't throw invalid parameter notifications
    with MSVC runtime libraries.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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
diff --git a/gl/netdb.in.h b/gl/netdb.in.h
index 0da1800..bb9d34a 100644
--- a/gl/netdb.in.h
+++ b/gl/netdb.in.h
@@ -1,5 +1,5 @@
 /* Provide a netdb.h header file for systems lacking it (read: MinGW).
-   Copyright (C) 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2008-2014 Free Software Foundation, Inc.
    Written by Simon Josefsson.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gl/netinet_in.in.h b/gl/netinet_in.in.h
index b456c4f..f0129df 100644
--- a/gl/netinet_in.in.h
+++ b/gl/netinet_in.in.h
@@ -1,5 +1,5 @@
 /* Substitute for <netinet/in.h>.
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2014 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
diff --git a/gl/parse-datetime.h b/gl/parse-datetime.h
index 80e3591..9c9bb93 100644
--- a/gl/parse-datetime.h
+++ b/gl/parse-datetime.h
@@ -1,6 +1,6 @@
 /* Parse a string into an internal time stamp.
 
-   Copyright (C) 1995, 1997-1998, 2003-2004, 2007, 2009-2013 Free Software
+   Copyright (C) 1995, 1997-1998, 2003-2004, 2007, 2009-2014 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gl/parse-datetime.y b/gl/parse-datetime.y
index 77d95b7..52e6a0c 100644
--- a/gl/parse-datetime.y
+++ b/gl/parse-datetime.y
@@ -1,7 +1,7 @@
 %{
 /* Parse a string into an internal time stamp.
 
-   Copyright (C) 1999-2000, 2002-2013 Free Software Foundation, Inc.
+   Copyright (C) 1999-2000, 2002-2014 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
@@ -1161,7 +1161,7 @@ yylex (YYSTYPE *lvalp, parser_control *pc)
 
           do
             {
-              if (p - buff < sizeof buff - 1)
+              if (p < buff + sizeof buff - 1)
                 *p++ = c;
               c = *++pc->input;
             }
@@ -1303,8 +1303,6 @@ parse_datetime (struct timespec *result, char const *p,
             char tz1buf[TZBUFSIZE];
             bool large_tz = TZBUFSIZE < tzsize;
             bool setenv_ok;
-            /* Free tz0, in case this is the 2nd or subsequent time through. */
-            free (tz0);
             tz0 = get_tz (tz0buf);
             z = tz1 = large_tz ? xmalloc (tzsize) : tz1buf;
             for (s = tzbase; *s != '"'; s++)
@@ -1316,7 +1314,12 @@ parse_datetime (struct timespec *result, char const *p,
             if (!setenv_ok)
               goto fail;
             tz_was_altered = true;
+
             p = s + 1;
+            while (c = *p, c_isspace (c))
+              p++;
+
+            break;
           }
     }
 
@@ -1472,7 +1475,7 @@ parse_datetime (struct timespec *result, char const *p,
                           + sizeof pc.time_zone * CHAR_BIT / 3];
               if (!tz_was_altered)
                 tz0 = get_tz (tz0buf);
-              sprintf (tz1buf, "XXX%s%ld:%02d", "-" + (time_zone < 0),
+              sprintf (tz1buf, "XXX%s%ld:%02d", &"-"[time_zone < 0],
                        abs_time_zone_hour, abs_time_zone_min);
               if (setenv ("TZ", tz1buf, 1) != 0)
                 goto fail;
diff --git a/gl/pathmax.h b/gl/pathmax.h
index a9ddc33..33fc355 100644
--- a/gl/pathmax.h
+++ b/gl/pathmax.h
@@ -1,5 +1,5 @@
 /* Define PATH_MAX somehow.  Requires sys/types.h.
-   Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2013 Free Software
+   Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2014 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gl/printf-args.c b/gl/printf-args.c
index c27e6bc..39cd0a4 100644
--- a/gl/printf-args.c
+++ b/gl/printf-args.c
@@ -1,5 +1,5 @@
 /* Decomposed printf argument list.
-   Copyright (C) 1999, 2002-2003, 2005-2007, 2009-2013 Free Software
+   Copyright (C) 1999, 2002-2003, 2005-2007, 2009-2014 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gl/printf-args.h b/gl/printf-args.h
index 2a9c2a3..9364eed 100644
--- a/gl/printf-args.h
+++ b/gl/printf-args.h
@@ -1,5 +1,5 @@
 /* Decomposed printf argument list.
-   Copyright (C) 1999, 2002-2003, 2006-2007, 2011-2013 Free Software
+   Copyright (C) 1999, 2002-2003, 2006-2007, 2011-2014 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gl/printf-parse.c b/gl/printf-parse.c
index 23cacc1..131d0f0 100644
--- a/gl/printf-parse.c
+++ b/gl/printf-parse.c
@@ -1,5 +1,5 @@
 /* Formatted output to strings.
-   Copyright (C) 1999-2000, 2002-2003, 2006-2013 Free Software Foundation, Inc.
+   Copyright (C) 1999-2000, 2002-2003, 2006-2014 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
diff --git a/gl/printf-parse.h b/gl/printf-parse.h
index d8474be..2651195 100644
--- a/gl/printf-parse.h
+++ b/gl/printf-parse.h
@@ -1,5 +1,5 @@
 /* Parse printf format string.
-   Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2013 Free Software
+   Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2014 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gl/rawmemchr.c b/gl/rawmemchr.c
index a0298ce..63bdb5c 100644
--- a/gl/rawmemchr.c
+++ b/gl/rawmemchr.c
@@ -1,5 +1,5 @@
 /* Searching in a string.
-   Copyright (C) 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2008-2014 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
diff --git a/gl/read-file.c b/gl/read-file.c
index bcc5a92..45f6690 100644
--- a/gl/read-file.c
+++ b/gl/read-file.c
@@ -1,5 +1,5 @@
 /* read-file.c -- read file contents into a string
-   Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
    Written by Simon Josefsson and Bruno Haible.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gl/read-file.h b/gl/read-file.h
index 507135f..f458b48 100644
--- a/gl/read-file.h
+++ b/gl/read-file.h
@@ -1,5 +1,5 @@
 /* read-file.h -- read file contents into a string
-   Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
    Written by Simon Josefsson.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gl/realloc.c b/gl/realloc.c
index b51010a..8dfcfbe 100644
--- a/gl/realloc.c
+++ b/gl/realloc.c
@@ -1,6 +1,6 @@
 /* realloc() function that is glibc compatible.
 
-   Copyright (C) 1997, 2003-2004, 2006-2007, 2009-2013 Free Software
+   Copyright (C) 1997, 2003-2004, 2006-2007, 2009-2014 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gl/recvfrom.c b/gl/recvfrom.c
index 891259e..06638ee 100644
--- a/gl/recvfrom.c
+++ b/gl/recvfrom.c
@@ -1,6 +1,6 @@
 /* recvfrom.c --- wrappers for Windows recvfrom function
 
-   Copyright (C) 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2008-2014 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
diff --git a/gl/select.c b/gl/select.c
index c02558e..81af82c 100644
--- a/gl/select.c
+++ b/gl/select.c
@@ -1,7 +1,7 @@
 /* Emulation for select(2)
    Contributed by Paolo Bonzini.
 
-   Copyright 2008-2013 Free Software Foundation, Inc.
+   Copyright 2008-2014 Free Software Foundation, Inc.
 
    This file is part of gnulib.
 
@@ -82,9 +82,11 @@ typedef DWORD (WINAPI *PNtQueryInformationFile)
 #define PIPE_BUF        512
 #endif
 
-/* Optimized test whether a HANDLE refers to a console.
-   See <http://lists.gnu.org/archive/html/bug-gnulib/2009-08/msg00065.html>.  
*/
-#define IsConsoleHandle(h) (((intptr_t) (h) & 3) == 3)
+static BOOL IsConsoleHandle (HANDLE h)
+{
+  DWORD mode;
+  return GetConsoleMode (h, &mode) != 0;
+}
 
 static BOOL
 IsSocketHandle (HANDLE h)
@@ -252,6 +254,7 @@ rpl_select (int nfds, fd_set *rfds, fd_set *wfds, fd_set 
*xfds,
   DWORD ret, wait_timeout, nhandles, nsock, nbuffer;
   MSG msg;
   int i, fd, rc;
+  clock_t tend;
 
   if (nfds > FD_SETSIZE)
     nfds = FD_SETSIZE;
@@ -388,6 +391,10 @@ rpl_select (int nfds, fd_set *rfds, fd_set *wfds, fd_set 
*xfds,
   /* Place a sentinel at the end of the array.  */
   handle_array[nhandles] = NULL;
 
+  /* When will the waiting period expire?  */
+  if (wait_timeout != INFINITE)
+    tend = clock () + wait_timeout;
+
 restart:
   if (wait_timeout == 0 || nsock == 0)
     rc = 0;
@@ -408,6 +415,16 @@ restart:
         wait_timeout = 0;
     }
 
+  /* How much is left to wait?  */
+  if (wait_timeout != INFINITE)
+    {
+      clock_t tnow = clock ();
+      if (tend >= tnow)
+        wait_timeout = tend - tnow;
+      else
+        wait_timeout = 0;
+    }
+
   for (;;)
     {
       ret = MsgWaitForMultipleObjects (nhandles, handle_array, FALSE,
@@ -453,7 +470,16 @@ restart:
             }
         }
 
-      if (rc == 0 && wait_timeout == INFINITE)
+      if (rc == 0
+          && (wait_timeout == INFINITE
+              /* If NHANDLES > 1, but no bits are set, it means we've
+                 been told incorrectly that some handle was signaled.
+                 This happens with anonymous pipes, which always cause
+                 MsgWaitForMultipleObjects to exit immediately, but no
+                 data is found ready to be read by windows_poll_handle.
+                 To avoid a total failure (whereby we return zero and
+                 don't wait at all), let's poll in a more busy loop.  */
+              || (wait_timeout != 0 && nhandles > 1)))
         {
           /* Sleep 1 millisecond to avoid busy wait and retry with the
              original fd_sets.  */
@@ -463,6 +489,8 @@ restart:
           SleepEx (1, TRUE);
           goto restart;
         }
+      if (timeout && wait_timeout == 0 && rc == 0)
+        timeout->tv_sec = timeout->tv_usec = 0;
     }
 
   /* Now fill in the results.  */
diff --git a/gl/sendto.c b/gl/sendto.c
index 10ed39c..6a8fad2 100644
--- a/gl/sendto.c
+++ b/gl/sendto.c
@@ -1,6 +1,6 @@
 /* sendto.c --- wrappers for Windows sendto function
 
-   Copyright (C) 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2008-2014 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
diff --git a/gl/setenv.c b/gl/setenv.c
index 995a0f2..06791a9 100644
--- a/gl/setenv.c
+++ b/gl/setenv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1995-2003, 2005-2013 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995-2003, 2005-2014 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gl/sha1.c b/gl/sha1.c
index 778389a..0ea35b0 100644
--- a/gl/sha1.c
+++ b/gl/sha1.c
@@ -1,7 +1,7 @@
 /* sha1.c - Functions to compute SHA1 message digest of files or
    memory blocks according to the NIST specification FIPS-180-1.
 
-   Copyright (C) 2000-2001, 2003-2006, 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2000-2001, 2003-2006, 2008-2014 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
@@ -23,6 +23,9 @@
 
 #include <config.h>
 
+#if HAVE_OPENSSL_SHA1
+# define GL_OPENSSL_INLINE _GL_EXTERN_INLINE
+#endif
 #include "sha1.h"
 
 #include <stdalign.h>
@@ -46,6 +49,7 @@
 # error "invalid BLOCKSIZE"
 #endif
 
+#if ! HAVE_OPENSSL_SHA1
 /* This array contains the bytes used to pad the buffer to the next
    64-byte boundary.  (RFC 1321, 3.1: Step 1)  */
 static const unsigned char fillbuf[64] = { 0x80, 0 /* , 0, 0, ...  */ };
@@ -116,6 +120,7 @@ sha1_finish_ctx (struct sha1_ctx *ctx, void *resbuf)
 
   return sha1_read_ctx (ctx, resbuf);
 }
+#endif
 
 /* Compute SHA1 message digest for bytes read from STREAM.  The
    resulting message digest number will be written into the 16 bytes
@@ -190,6 +195,7 @@ sha1_stream (FILE *stream, void *resblock)
   return 0;
 }
 
+#if ! HAVE_OPENSSL_SHA1
 /* Compute SHA1 message digest for LEN bytes beginning at BUFFER.  The
    result is always in little endian byte order, so that a byte-wise
    output yields to the wanted ASCII representation of the message
@@ -424,3 +430,4 @@ sha1_process_block (const void *buffer, size_t len, struct 
sha1_ctx *ctx)
       e = ctx->E += e;
     }
 }
+#endif
diff --git a/gl/sha1.h b/gl/sha1.h
index ddd386f..4fd7d66 100644
--- a/gl/sha1.h
+++ b/gl/sha1.h
@@ -1,6 +1,6 @@
 /* Declarations of functions and data types used for SHA1 sum
    library functions.
-   Copyright (C) 2000-2001, 2003, 2005-2006, 2008-2013 Free Software
+   Copyright (C) 2000-2001, 2003, 2005-2006, 2008-2014 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify it
@@ -22,12 +22,20 @@
 # include <stdio.h>
 # include <stdint.h>
 
+# if HAVE_OPENSSL_SHA1
+#  include <openssl/sha.h>
+# endif
+
 # ifdef __cplusplus
 extern "C" {
 # endif
 
 #define SHA1_DIGEST_SIZE 20
 
+# if HAVE_OPENSSL_SHA1
+#  define GL_OPENSSL_NAME 1
+#  include "gl_openssl.h"
+# else
 /* Structure to save state of computation between the single steps.  */
 struct sha1_ctx
 {
@@ -42,7 +50,6 @@ struct sha1_ctx
   uint32_t buffer[32];
 };
 
-
 /* Initialize structure containing state of computation. */
 extern void sha1_init_ctx (struct sha1_ctx *ctx);
 
@@ -73,17 +80,19 @@ extern void *sha1_finish_ctx (struct sha1_ctx *ctx, void 
*resbuf);
 extern void *sha1_read_ctx (const struct sha1_ctx *ctx, void *resbuf);
 
 
-/* Compute SHA1 message digest for bytes read from STREAM.  The
-   resulting message digest number will be written into the 20 bytes
-   beginning at RESBLOCK.  */
-extern int sha1_stream (FILE *stream, void *resblock);
-
 /* Compute SHA1 message digest for LEN bytes beginning at BUFFER.  The
    result is always in little endian byte order, so that a byte-wise
    output yields to the wanted ASCII representation of the message
    digest.  */
 extern void *sha1_buffer (const char *buffer, size_t len, void *resblock);
 
+# endif
+/* Compute SHA1 message digest for bytes read from STREAM.  The
+   resulting message digest number will be written into the 20 bytes
+   beginning at RESBLOCK.  */
+extern int sha1_stream (FILE *stream, void *resblock);
+
+
 # ifdef __cplusplus
 }
 # endif
diff --git a/gl/shutdown.c b/gl/shutdown.c
index 343a0db..76711ef 100644
--- a/gl/shutdown.c
+++ b/gl/shutdown.c
@@ -1,6 +1,6 @@
 /* shutdown.c --- wrappers for Windows shutdown function
 
-   Copyright (C) 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2008-2014 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
diff --git a/gl/signal.in.h b/gl/signal.in.h
index 5484950..925e16f 100644
--- a/gl/signal.in.h
+++ b/gl/signal.in.h
@@ -1,6 +1,6 @@
 /* A GNU-like <signal.h>.
 
-   Copyright (C) 2006-2013 Free Software Foundation, Inc.
+   Copyright (C) 2006-2014 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
@@ -195,6 +195,20 @@ typedef int verify_NSIG_constraint[NSIG <= 32 ? 1 : -1];
 
 # endif
 
+/* When also using extern inline, suppress the use of static inline in
+   standard headers of problematic Apple configurations, as Libc at
+   least through Libc-825.26 (2013-04-09) mishandles it; see, e.g.,
+   <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
+   Perhaps Apple will fix this some day.  */
+#if (defined _GL_EXTERN_INLINE_IN_USE && defined __APPLE__ \
+     && (defined __i386__ || defined __x86_64__))
+# undef sigaddset
+# undef sigdelset
+# undef sigemptyset
+# undef sigfillset
+# undef sigismember
+#endif
+
 /* Test whether a given signal is contained in a signal set.  */
 # if @HAVE_POSIX_SIGNALBLOCKING@
 /* This function is defined as a macro on Mac OS X.  */
diff --git a/gl/size_max.h b/gl/size_max.h
index 5f33124..461ff1c 100644
--- a/gl/size_max.h
+++ b/gl/size_max.h
@@ -1,5 +1,5 @@
 /* size_max.h -- declare SIZE_MAX through system headers
-   Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2014 Free Software Foundation, Inc.
    Written by Simon Josefsson.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gl/snprintf.c b/gl/snprintf.c
index 9c4ab3f..ea1321c 100644
--- a/gl/snprintf.c
+++ b/gl/snprintf.c
@@ -1,5 +1,5 @@
 /* Formatted output to strings.
-   Copyright (C) 2004, 2006-2013 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2006-2014 Free Software Foundation, Inc.
    Written by Simon Josefsson and Paul Eggert.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gl/socket.c b/gl/socket.c
index dcbd07a..5707e7f 100644
--- a/gl/socket.c
+++ b/gl/socket.c
@@ -1,6 +1,6 @@
 /* socket.c --- wrappers for Windows socket function
 
-   Copyright (C) 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2008-2014 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
diff --git a/gl/sockets.c b/gl/sockets.c
index ae96148..962c578 100644
--- a/gl/sockets.c
+++ b/gl/sockets.c
@@ -1,6 +1,6 @@
 /* sockets.c --- wrappers for Windows socket functions
 
-   Copyright (C) 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2008-2014 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
diff --git a/gl/sockets.h b/gl/sockets.h
index 1570ad8..0bee1dd 100644
--- a/gl/sockets.h
+++ b/gl/sockets.h
@@ -1,6 +1,6 @@
 /* sockets.h - wrappers for Windows socket functions
 
-   Copyright (C) 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2008-2014 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
diff --git a/gl/stat.c b/gl/stat.c
index f888130..35f4b0b 100644
--- a/gl/stat.c
+++ b/gl/stat.c
@@ -1,5 +1,5 @@
 /* Work around platform bugs in stat.
-   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2009-2014 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
diff --git a/gl/stdalign.in.h b/gl/stdalign.in.h
index c3a6732..dcaab55 100644
--- a/gl/stdalign.in.h
+++ b/gl/stdalign.in.h
@@ -1,6 +1,6 @@
 /* A substitute for ISO C11 <stdalign.h>.
 
-   Copyright 2011-2013 Free Software Foundation, Inc.
+   Copyright 2011-2014 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
@@ -41,13 +41,28 @@
    are 4 unless the option '-malign-double' is used.
 
    The result cannot be used as a value for an 'enum' constant, if you
-   want to be portable to HP-UX 10.20 cc and AIX 3.2.5 xlc.  */
+   want to be portable to HP-UX 10.20 cc and AIX 3.2.5 xlc.
+
+   Include <stddef.h> for offsetof.  */
 #include <stddef.h>
-#if defined __cplusplus
+
+/* FreeBSD 9.1 <sys/cdefs.h>, included by <stddef.h> and lots of other
+   standard headers, defines conflicting implementations of _Alignas
+   and _Alignof that are no better than ours; override them.  */
+#undef _Alignas
+#undef _Alignof
+
+#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112
+# ifdef __cplusplus
+#  if 201103 <= __cplusplus
+#   define _Alignof(type) alignof (type)
+#  else
    template <class __t> struct __alignof_helper { char __a; __t __b; };
-# define _Alignof(type) offsetof (__alignof_helper<type>, __b)
-#else
-# define _Alignof(type) offsetof (struct { char __a; type __b; }, __b)
+#   define _Alignof(type) offsetof (__alignof_helper<type>, __b)
+#  endif
+# else
+#  define _Alignof(type) offsetof (struct { char __a; type __b; }, __b)
+# endif
 #endif
 #define alignof _Alignof
 #define __alignof_is_defined 1
@@ -77,12 +92,17 @@
 
    */
 
-#if __GNUC__ || __IBMC__ || __IBMCPP__ || 0x5110 <= __SUNPRO_C
-# define _Alignas(a) __attribute__ ((__aligned__ (a)))
-#elif 1300 <= _MSC_VER
-# define _Alignas(a) __declspec (align (a))
+#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112
+# if defined __cplusplus && 201103 <= __cplusplus
+#  define _Alignas(a) alignas (a)
+# elif (__GNUC__ || __HP_cc || __HP_aCC || __IBMC__ || __IBMCPP__ \
+        || __ICC || 0x5110 <= __SUNPRO_C)
+#  define _Alignas(a) __attribute__ ((__aligned__ (a)))
+# elif 1300 <= _MSC_VER
+#  define _Alignas(a) __declspec (align (a))
+# endif
 #endif
-#ifdef _Alignas
+#if defined _Alignas || (defined __STDC_VERSION && 201112 <= __STDC_VERSION__)
 # define alignas _Alignas
 # define __alignas_is_defined 1
 #endif
diff --git a/gl/stdarg.in.h b/gl/stdarg.in.h
index 7484842..5b37dd3 100644
--- a/gl/stdarg.in.h
+++ b/gl/stdarg.in.h
@@ -1,5 +1,5 @@
 /* Substitute for and wrapper around <stdarg.h>.
-   Copyright (C) 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2008-2014 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
diff --git a/gl/stdbool.in.h b/gl/stdbool.in.h
index 7c15772..651e8df 100644
--- a/gl/stdbool.in.h
+++ b/gl/stdbool.in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2003, 2006-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2003, 2006-2014 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2001.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gl/stddef.in.h b/gl/stddef.in.h
index 40f0536..f5c0e05 100644
--- a/gl/stddef.in.h
+++ b/gl/stddef.in.h
@@ -1,6 +1,6 @@
 /* A substitute for POSIX 2008 <stddef.h>, for platforms that have issues.
 
-   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2009-2014 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
diff --git a/gl/stdint.in.h b/gl/stdint.in.h
index 2db8b2e..247f0d8 100644
--- a/gl/stdint.in.h
+++ b/gl/stdint.in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2002, 2004-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2002, 2004-2014 Free Software Foundation, Inc.
    Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood.
    This file is part of gnulib.
 
@@ -38,8 +38,7 @@
    other system header files; just include the system's <stdint.h>.
    Ideally we should test __BIONIC__ here, but it is only defined after
    <sys/cdefs.h> has been included; hence test __ANDROID__ instead.  */
-#if defined __ANDROID__ \
-    && defined _SYS_TYPES_H_ && !defined __need_size_t
+#if defined __ANDROID__ && defined _GL_INCLUDING_SYS_TYPES_H
 # @INCLUDE_NEXT@ @NEXT_STDINT_H@
 #else
 
diff --git a/gl/stdio-impl.h b/gl/stdio-impl.h
index e00600a..299fe47 100644
--- a/gl/stdio-impl.h
+++ b/gl/stdio-impl.h
@@ -1,5 +1,5 @@
 /* Implementation details of FILE streams.
-   Copyright (C) 2007-2008, 2010-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2008, 2010-2014 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
@@ -57,7 +57,7 @@
 #  define fp_ fp
 # endif
 
-# if (defined __NetBSD__ && __NetBSD_Version__ >= 105270000) || defined 
__OpenBSD__ /* NetBSD >= 1.5ZA, OpenBSD */
+# if (defined __NetBSD__ && __NetBSD_Version__ >= 105270000) || defined 
__OpenBSD__ || defined __ANDROID__ /* NetBSD >= 1.5ZA, OpenBSD, Android */
   /* See 
<http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/stdio/fileext.h?rev=HEAD&content-type=text/x-cvsweb-markup>
      and 
<http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc/stdio/fileext.h?rev=HEAD&content-type=text/x-cvsweb-markup>
 */
   struct __sfileext
diff --git a/gl/stdio.in.h b/gl/stdio.in.h
index d6af99c..1e1fe84 100644
--- a/gl/stdio.in.h
+++ b/gl/stdio.in.h
@@ -1,6 +1,6 @@
 /* A GNU-like <stdio.h>.
 
-   Copyright (C) 2004, 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2007-2014 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
@@ -124,6 +124,15 @@
 #define _GL_STDIO_STRINGIZE(token) #token
 #define _GL_STDIO_MACROEXPAND_AND_STRINGIZE(token) _GL_STDIO_STRINGIZE(token)
 
+/* When also using extern inline, suppress the use of static inline in
+   standard headers of problematic Apple configurations, as Libc at
+   least through Libc-825.26 (2013-04-09) mishandles it; see, e.g.,
+   <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
+   Perhaps Apple will fix this some day.  */
+#if (defined _GL_EXTERN_INLINE_IN_USE && defined __APPLE__ \
+     && defined __GNUC__ && defined __STDC__)
+# undef putc_unlocked
+#endif
 
 #if @GNULIB_DPRINTF@
 # if @REPLACE_DPRINTF@
@@ -579,13 +588,23 @@ _GL_CXXALIAS_SYS (fwrite, size_t,
    <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>,
    which sometimes causes an unwanted diagnostic for fwrite calls.
    This affects only function declaration attributes under certain
-   versions of gcc, and is not needed for C++.  */
+   versions of gcc and clang, and is not needed for C++.  */
 #  if (0 < __USE_FORTIFY_LEVEL                                          \
        && __GLIBC__ == 2 && 4 <= __GLIBC_MINOR__ && __GLIBC_MINOR__ <= 15 \
        && 3 < __GNUC__ + (4 <= __GNUC_MINOR__)                          \
        && !defined __cplusplus)
 #   undef fwrite
-#   define fwrite(a, b, c, d) ({size_t __r = fwrite (a, b, c, d); __r; })
+#   undef fwrite_unlocked
+extern size_t __REDIRECT (rpl_fwrite,
+                          (const void *__restrict, size_t, size_t,
+                           FILE *__restrict),
+                          fwrite);
+extern size_t __REDIRECT (rpl_fwrite_unlocked,
+                          (const void *__restrict, size_t, size_t,
+                           FILE *__restrict),
+                          fwrite_unlocked);
+#   define fwrite rpl_fwrite
+#   define fwrite_unlocked rpl_fwrite_unlocked
 #  endif
 # endif
 _GL_CXXALIASWARN (fwrite);
diff --git a/gl/stdlib.in.h b/gl/stdlib.in.h
index c955248..ee64324 100644
--- a/gl/stdlib.in.h
+++ b/gl/stdlib.in.h
@@ -1,6 +1,6 @@
 /* A GNU-like <stdlib.h>.
 
-   Copyright (C) 1995, 2001-2004, 2006-2013 Free Software Foundation, Inc.
+   Copyright (C) 1995, 2001-2004, 2006-2014 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
@@ -520,6 +520,29 @@ _GL_CXXALIAS_SYS (putenv, int, (char *string));
 _GL_CXXALIASWARN (putenv);
 #endif
 
+#if @GNULIB_QSORT_R@
+# if @REPLACE_QSORT_R@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef qsort_r
+#   define qsort_r rpl_qsort_r
+#  endif
+_GL_FUNCDECL_RPL (qsort_r, void, (void *base, size_t nmemb, size_t size,
+                                  int (*compare) (void const *, void const *,
+                                                  void *),
+                                  void *arg) _GL_ARG_NONNULL ((1, 4)));
+_GL_CXXALIAS_RPL (qsort_r, void, (void *base, size_t nmemb, size_t size,
+                                  int (*compare) (void const *, void const *,
+                                                  void *),
+                                  void *arg));
+# else
+_GL_CXXALIAS_SYS (qsort_r, void, (void *base, size_t nmemb, size_t size,
+                                  int (*compare) (void const *, void const *,
+                                                  void *),
+                                  void *arg));
+# endif
+_GL_CXXALIASWARN (qsort_r);
+#endif
+
 
 #if @GNULIB_RANDOM_R@
 # if address@hidden@
diff --git a/gl/strcasecmp.c b/gl/strcasecmp.c
index 0f0a742..90177d5 100644
--- a/gl/strcasecmp.c
+++ b/gl/strcasecmp.c
@@ -1,5 +1,5 @@
 /* Case-insensitive string comparison function.
-   Copyright (C) 1998-1999, 2005-2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 1998-1999, 2005-2007, 2009-2014 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
diff --git a/gl/strchrnul.c b/gl/strchrnul.c
index f6b0722..452b554 100644
--- a/gl/strchrnul.c
+++ b/gl/strchrnul.c
@@ -1,5 +1,5 @@
 /* Searching in a string.
-   Copyright (C) 2003, 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2007-2014 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
diff --git a/gl/strdup.c b/gl/strdup.c
index 5826ab0..14cb126 100644
--- a/gl/strdup.c
+++ b/gl/strdup.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1996-1998, 2002-2004, 2006-2007, 2009-2013 Free Software
+/* Copyright (C) 1991, 1996-1998, 2002-2004, 2006-2007, 2009-2014 Free Software
    Foundation, Inc.
 
    This file is part of the GNU C Library.
diff --git a/gl/strerror-override.c b/gl/strerror-override.c
index d0ed2fb..255d933 100644
--- a/gl/strerror-override.c
+++ b/gl/strerror-override.c
@@ -1,6 +1,6 @@
 /* strerror-override.c --- POSIX compatible system error routine
 
-   Copyright (C) 2010-2013 Free Software Foundation, Inc.
+   Copyright (C) 2010-2014 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
diff --git a/gl/strerror-override.h b/gl/strerror-override.h
index 3b8f24b..e98c1c1 100644
--- a/gl/strerror-override.h
+++ b/gl/strerror-override.h
@@ -1,6 +1,6 @@
 /* strerror-override.h --- POSIX compatible system error routine
 
-   Copyright (C) 2010-2013 Free Software Foundation, Inc.
+   Copyright (C) 2010-2014 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
@@ -48,7 +48,7 @@
      || GNULIB_defined_EOWNERDEAD \
      || GNULIB_defined_ENOTRECOVERABLE \
      || GNULIB_defined_EILSEQ
-extern const char *strerror_override (int errnum);
+extern const char *strerror_override (int errnum) _GL_ATTRIBUTE_CONST;
 # else
 #  define strerror_override(ignored) NULL
 # endif
diff --git a/gl/strerror.c b/gl/strerror.c
index 80a2f2e..e54f0cc 100644
--- a/gl/strerror.c
+++ b/gl/strerror.c
@@ -1,6 +1,6 @@
 /* strerror.c --- POSIX compatible system error routine
 
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2014 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
diff --git a/gl/string.in.h b/gl/string.in.h
index d7a6c9c..9062142 100644
--- a/gl/string.in.h
+++ b/gl/string.in.h
@@ -1,6 +1,6 @@
 /* A GNU-like <string.h>.
 
-   Copyright (C) 1995-1996, 2001-2013 Free Software Foundation, Inc.
+   Copyright (C) 1995-1996, 2001-2014 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
diff --git a/gl/strings.in.h b/gl/strings.in.h
index 4469f86..de0cd08 100644
--- a/gl/strings.in.h
+++ b/gl/strings.in.h
@@ -1,6 +1,6 @@
 /* A substitute <strings.h>.
 
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2014 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
diff --git a/gl/strncasecmp.c b/gl/strncasecmp.c
index 35840bc..2ee532b 100644
--- a/gl/strncasecmp.c
+++ b/gl/strncasecmp.c
@@ -1,5 +1,5 @@
 /* strncasecmp.c -- case insensitive string comparator
-   Copyright (C) 1998-1999, 2005-2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 1998-1999, 2005-2007, 2009-2014 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
diff --git a/gl/strndup.c b/gl/strndup.c
index e60268b..cc1a484 100644
--- a/gl/strndup.c
+++ b/gl/strndup.c
@@ -1,6 +1,6 @@
 /* A replacement function, for systems that lack strndup.
 
-   Copyright (C) 1996-1998, 2001-2003, 2005-2007, 2009-2013 Free Software
+   Copyright (C) 1996-1998, 2001-2003, 2005-2007, 2009-2014 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify it
diff --git a/gl/strnlen.c b/gl/strnlen.c
index 57fdfe7..ddccebc 100644
--- a/gl/strnlen.c
+++ b/gl/strnlen.c
@@ -1,5 +1,5 @@
 /* Find the length of STRING, but scan at most MAXLEN characters.
-   Copyright (C) 2005-2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2007, 2009-2014 Free Software Foundation, Inc.
    Written by Simon Josefsson.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gl/strtok_r.c b/gl/strtok_r.c
index 011cb28..9bda064 100644
--- a/gl/strtok_r.c
+++ b/gl/strtok_r.c
@@ -1,5 +1,5 @@
 /* Reentrant string tokenizer.  Generic version.
-   Copyright (C) 1991, 1996-1999, 2001, 2004, 2007, 2009-2013 Free Software
+   Copyright (C) 1991, 1996-1999, 2001, 2004, 2007, 2009-2014 Free Software
    Foundation, Inc.
    This file is part of the GNU C Library.
 
diff --git a/gl/strverscmp.c b/gl/strverscmp.c
index db4f1ed..5f2a3dc 100644
--- a/gl/strverscmp.c
+++ b/gl/strverscmp.c
@@ -1,5 +1,5 @@
 /* Compare strings while treating digits characters numerically.
-   Copyright (C) 1997, 2000, 2002, 2004, 2006, 2009-2013 Free Software
+   Copyright (C) 1997, 2000, 2002, 2004, 2006, 2009-2014 Free Software
    Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Jean-François Bignolles <address@hidden>, 1997.
diff --git a/gl/sys_select.in.h b/gl/sys_select.in.h
index 2af6bfe..58508b0 100644
--- a/gl/sys_select.in.h
+++ b/gl/sys_select.in.h
@@ -1,5 +1,5 @@
 /* Substitute for <sys/select.h>.
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2014 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
@@ -24,8 +24,8 @@
    On Cygwin, <sys/time.h> includes <sys/select.h>.
    Simply delegate to the system's header in this case.  */
 #if (@HAVE_SYS_SELECT_H@                                                \
+     && !defined _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H             \
      && ((defined __osf__ && defined _SYS_TYPES_H_                      \
-          && !defined _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H         \
           && defined _OSF_SOURCE)                                       \
          || (defined __sun && defined _SYS_TYPES_H                      \
              && (! (defined _XOPEN_SOURCE || defined _POSIX_C_SOURCE)   \
@@ -36,12 +36,13 @@
 
 #elif (@HAVE_SYS_SELECT_H@                                              \
        && (defined _CYGWIN_SYS_TIME_H                                   \
-           || (defined __osf__ && defined _SYS_TIME_H_                  \
-               && !defined _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H    \
-               && defined _OSF_SOURCE)                                  \
-           || (defined __sun && defined _SYS_TIME_H                     \
-               && (! (defined _XOPEN_SOURCE || defined _POSIX_C_SOURCE) \
-                   || defined __EXTENSIONS__))))
+           || (!defined _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H       \
+               && ((defined __osf__ && defined _SYS_TIME_H_             \
+                    && defined _OSF_SOURCE)                             \
+                   || (defined __sun && defined _SYS_TIME_H             \
+                       && (! (defined _XOPEN_SOURCE                     \
+                              || defined _POSIX_C_SOURCE)               \
+                           || defined __EXTENSIONS__))))))
 
 # define _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H
 # @INCLUDE_NEXT@ @NEXT_SYS_SELECT_H@
diff --git a/gl/sys_socket.in.h b/gl/sys_socket.in.h
index b4cf0c3..3cdc0d1 100644
--- a/gl/sys_socket.in.h
+++ b/gl/sys_socket.in.h
@@ -1,6 +1,6 @@
 /* Provide a sys/socket header file for systems lacking it (read: MinGW)
    and for systems where it is incomplete.
-   Copyright (C) 2005-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2014 Free Software Foundation, Inc.
    Written by Simon Josefsson.
 
    This program is free software; you can redistribute it and/or modify
@@ -63,6 +63,9 @@
 #ifndef address@hidden@_SYS_SOCKET_H
 #define address@hidden@_SYS_SOCKET_H
 
+#ifndef _GL_INLINE_HEADER_BEGIN
+ #error "Please include config.h first."
+#endif
 _GL_INLINE_HEADER_BEGIN
 #ifndef _GL_SYS_SOCKET_INLINE
 # define _GL_SYS_SOCKET_INLINE _GL_INLINE
diff --git a/gl/sys_stat.in.h b/gl/sys_stat.in.h
index acc3694..b47a7ff 100644
--- a/gl/sys_stat.in.h
+++ b/gl/sys_stat.in.h
@@ -1,5 +1,5 @@
 /* Provide a more complete sys/stat header file.
-   Copyright (C) 2005-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2014 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
diff --git a/gl/sys_time.in.h b/gl/sys_time.in.h
index 3dbf632..30057ad 100644
--- a/gl/sys_time.in.h
+++ b/gl/sys_time.in.h
@@ -1,6 +1,6 @@
 /* Provide a more complete sys/time.h.
 
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2014 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
@@ -24,11 +24,12 @@
 #endif
 @PRAGMA_COLUMNS@
 
-/* On Cygwin, <sys/time.h> includes itself recursively via <sys/select.h>.
+/* On Cygwin and on many BSDish systems, <sys/time.h> includes itself
+   recursively via <sys/select.h>.
    Simply delegate to the system's header in this case; it is a no-op.
    Without this extra ifdef, the C++ gettimeofday declaration below
    would be a forward declaration in gnulib's nested <sys/time.h>.  */
-#ifdef _CYGWIN_SYS_TIME_H
+#if defined _CYGWIN_SYS_TIME_H || defined _SYS_TIME_H || defined _SYS_TIME_H_
 # @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@
 #else
 
diff --git a/gl/sys_types.in.h b/gl/sys_types.in.h
index d7da356..deb5d67 100644
--- a/gl/sys_types.in.h
+++ b/gl/sys_types.in.h
@@ -1,6 +1,6 @@
 /* Provide a more complete sys/types.h.
 
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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
@@ -23,7 +23,9 @@
 #ifndef address@hidden@_SYS_TYPES_H
 
 /* The include_next requires a split double-inclusion guard.  */
+# define _GL_INCLUDING_SYS_TYPES_H
 address@hidden@ @NEXT_SYS_TYPES_H@
+# undef _GL_INCLUDING_SYS_TYPES_H
 
 #ifndef address@hidden@_SYS_TYPES_H
 #define address@hidden@_SYS_TYPES_H
diff --git a/gl/sys_uio.in.h b/gl/sys_uio.in.h
index fef19dc..0b403bc 100644
--- a/gl/sys_uio.in.h
+++ b/gl/sys_uio.in.h
@@ -1,5 +1,5 @@
 /* Substitute for <sys/uio.h>.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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
diff --git a/gl/time.in.h b/gl/time.in.h
index 8ced794..81abdf4 100644
--- a/gl/time.in.h
+++ b/gl/time.in.h
@@ -1,6 +1,6 @@
 /* A more-standard <time.h>.
 
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2014 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
@@ -48,20 +48,13 @@
 
 /* Some systems don't define struct timespec (e.g., AIX 4.1, Ultrix 4.3).
    Or they define it with the wrong member names or define it in <sys/time.h>
-   (e.g., FreeBSD circa 1997).  Stock Mingw does not define it, but the
-   pthreads-win32 library defines it in <pthread.h>.  */
+   (e.g., FreeBSD circa 1997).  Stock Mingw prior to 3.0 does not define it,
+   but the pthreads-win32 library defines it in <pthread.h>.  */
 # if ! @TIME_H_DEFINES_STRUCT_TIMESPEC@
 #  if @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 #   include <sys/time.h>
 #  elif @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 #   include <pthread.h>
-/* The pthreads-win32 <pthread.h> also defines a couple of broken macros.  */
-#   undef asctime_r
-#   undef ctime_r
-#   undef gmtime_r
-#   undef localtime_r
-#   undef rand_r
-#   undef strtok_r
 #  else
 
 #   ifdef __cplusplus
@@ -187,6 +180,39 @@ _GL_CXXALIASWARN (gmtime_r);
 #  endif
 # endif
 
+/* Convert TIMER to RESULT, assuming local time and UTC respectively.  See
+   <http://www.opengroup.org/susv3xsh/localtime.html> and
+   <http://www.opengroup.org/susv3xsh/gmtime.html>.  */
+# if @GNULIB_GETTIMEOFDAY@
+#  if @REPLACE_LOCALTIME@
+#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#    undef localtime
+#    define localtime rpl_localtime
+#   endif
+_GL_FUNCDECL_RPL (localtime, struct tm *, (time_t const *__timer)
+                                         _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (localtime, struct tm *, (time_t const *__timer));
+#  else
+_GL_CXXALIAS_SYS (localtime, struct tm *, (time_t const *__timer));
+#  endif
+_GL_CXXALIASWARN (localtime);
+# endif
+
+# if @GNULIB_GETTIMEOFDAY@
+#  if @REPLACE_GMTIME@
+#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#    undef gmtime
+#    define gmtime rpl_gmtime
+#   endif
+_GL_FUNCDECL_RPL (gmtime, struct tm *, (time_t const *__timer)
+                                       _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (gmtime, struct tm *, (time_t const *__timer));
+#  else
+_GL_CXXALIAS_SYS (gmtime, struct tm *, (time_t const *__timer));
+#  endif
+_GL_CXXALIASWARN (gmtime);
+# endif
+
 /* Parse BUF as a time stamp, assuming FORMAT specifies its layout, and store
    the resulting broken-down time into TM.  See
    <http://www.opengroup.org/susv3xsh/strptime.html>.  */
diff --git a/gl/time_r.c b/gl/time_r.c
index 9866299..a848d54 100644
--- a/gl/time_r.c
+++ b/gl/time_r.c
@@ -1,6 +1,6 @@
 /* Reentrant time functions like localtime_r.
 
-   Copyright (C) 2003, 2006-2007, 2010-2013 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2006-2007, 2010-2014 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
diff --git a/gl/timegm.c b/gl/timegm.c
index 6338baa..0f79ba1 100644
--- a/gl/timegm.c
+++ b/gl/timegm.c
@@ -1,6 +1,6 @@
 /* Convert UTC calendar time to simple time.  Like mktime but assumes UTC.
 
-   Copyright (C) 1994, 1997, 2003-2004, 2006-2007, 2009-2013 Free Software
+   Copyright (C) 1994, 1997, 2003-2004, 2006-2007, 2009-2014 Free Software
    Foundation, Inc.  This file is part of the GNU C Library.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gl/timespec.h b/gl/timespec.h
index d665e6c..872cbb7 100644
--- a/gl/timespec.h
+++ b/gl/timespec.h
@@ -1,6 +1,6 @@
 /* timespec -- System time interface
 
-   Copyright (C) 2000, 2002, 2004-2005, 2007, 2009-2013 Free Software
+   Copyright (C) 2000, 2002, 2004-2005, 2007, 2009-2014 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -21,11 +21,31 @@
 
 # include <time.h>
 
+#ifndef _GL_INLINE_HEADER_BEGIN
+ #error "Please include config.h first."
+#endif
 _GL_INLINE_HEADER_BEGIN
 #ifndef _GL_TIMESPEC_INLINE
 # define _GL_TIMESPEC_INLINE _GL_INLINE
 #endif
 
+/* Resolution of timespec time stamps (in units per second), and log
+   base 10 of the resolution.  */
+
+enum { TIMESPEC_RESOLUTION = 1000000000 };
+enum { LOG10_TIMESPEC_RESOLUTION = 9 };
+
+/* Return a timespec with seconds S and nanoseconds NS.  */
+
+_GL_TIMESPEC_INLINE struct timespec
+make_timespec (time_t s, long int ns)
+{
+  struct timespec r;
+  r.tv_sec = s;
+  r.tv_nsec = ns;
+  return r;
+}
+
 /* Return negative, zero, positive if A < B, A == B, A > B, respectively.
 
    For each time stamp T, this code assumes that either:
diff --git a/gl/unistd.in.h b/gl/unistd.in.h
index 2ea9af4..622b228 100644
--- a/gl/unistd.in.h
+++ b/gl/unistd.in.h
@@ -1,5 +1,5 @@
 /* Substitute for and wrapper around <unistd.h>.
-   Copyright (C) 2003-2013 Free Software Foundation, Inc.
+   Copyright (C) 2003-2014 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
@@ -21,9 +21,23 @@
 #endif
 @PRAGMA_COLUMNS@
 
+#ifdef _GL_INCLUDING_UNISTD_H
+/* Special invocation convention:
+   - On Mac OS X 10.3.9 we have a sequence of nested includes
+     <unistd.h> -> <signal.h> -> <pthread.h> -> <unistd.h>
+     In this situation, the functions are not yet declared, therefore we cannot
+     provide the C++ aliases.  */
+
address@hidden@ @NEXT_UNISTD_H@
+
+#else
+/* Normal invocation convention.  */
+
 /* The include_next requires a split double-inclusion guard.  */
 #if @HAVE_UNISTD_H@
+# define _GL_INCLUDING_UNISTD_H
 # @INCLUDE_NEXT@ @NEXT_UNISTD_H@
+# undef _GL_INCLUDING_UNISTD_H
 #endif
 
 /* Get all possible declarations of gethostname().  */
@@ -116,6 +130,9 @@
 # include <getopt.h>
 #endif
 
+#ifndef _GL_INLINE_HEADER_BEGIN
+ #error "Please include config.h first."
+#endif
 _GL_INLINE_HEADER_BEGIN
 #ifndef _GL_UNISTD_INLINE
 # define _GL_UNISTD_INLINE _GL_INLINE
@@ -651,10 +668,19 @@ _GL_WARN_ON_USE (getdomainname, "getdomainname is 
unportable - "
 #if @GNULIB_GETDTABLESIZE@
 /* Return the maximum number of file descriptors in the current process.
    In POSIX, this is same as sysconf (_SC_OPEN_MAX).  */
-# if address@hidden@
+# if @REPLACE_GETDTABLESIZE@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef getdtablesize
+#   define getdtablesize rpl_getdtablesize
+#  endif
+_GL_FUNCDECL_RPL (getdtablesize, int, (void));
+_GL_CXXALIAS_RPL (getdtablesize, int, (void));
+# else
+#  if address@hidden@
 _GL_FUNCDECL_SYS (getdtablesize, int, (void));
-# endif
+#  endif
 _GL_CXXALIAS_SYS (getdtablesize, int, (void));
+# endif
 _GL_CXXALIASWARN (getdtablesize);
 #elif defined GNULIB_POSIXCHECK
 # undef getdtablesize
@@ -1527,4 +1553,5 @@ _GL_CXXALIASWARN (write);
 _GL_INLINE_HEADER_END
 
 #endif /* address@hidden@_UNISTD_H */
+#endif /* _GL_INCLUDING_UNISTD_H */
 #endif /* address@hidden@_UNISTD_H */
diff --git a/gl/unsetenv.c b/gl/unsetenv.c
index c58c82f..53721fc 100644
--- a/gl/unsetenv.c
+++ b/gl/unsetenv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1995-2002, 2005-2013 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995-2002, 2005-2014 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gl/vasnprintf.c b/gl/vasnprintf.c
index 8fdab32..ec7302a 100644
--- a/gl/vasnprintf.c
+++ b/gl/vasnprintf.c
@@ -1,5 +1,5 @@
 /* vsprintf with automatic memory allocation.
-   Copyright (C) 1999, 2002-2013 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2002-2014 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
@@ -1957,15 +1957,14 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                         if (!(a.arg[dp->width_arg_index].type == TYPE_INT))
                           abort ();
                         arg = a.arg[dp->width_arg_index].a.a_int;
+                        width = arg;
                         if (arg < 0)
                           {
                             /* "A negative field width is taken as a '-' flag
                                 followed by a positive field width."  */
                             flags |= FLAG_LEFT;
-                            width = (unsigned int) (-arg);
+                            width = -width;
                           }
-                        else
-                          width = arg;
                       }
                     else
                       {
@@ -2073,8 +2072,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                           characters = 0;
                         }
 
-                      if (has_width && width > characters
-                          && !(dp->flags & FLAG_LEFT))
+                      if (characters < width && !(dp->flags & FLAG_LEFT))
                         {
                           size_t n = width - characters;
                           ENSURE_ALLOCATION (xsum (length, n));
@@ -2127,8 +2125,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                       }
 # endif
 
-                      if (has_width && width > characters
-                          && (dp->flags & FLAG_LEFT))
+                      if (characters < width && (dp->flags & FLAG_LEFT))
                         {
                           size_t n = width - characters;
                           ENSURE_ALLOCATION (xsum (length, n));
@@ -2201,8 +2198,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                           characters = 0;
                         }
 
-                      if (has_width && width > characters
-                          && !(dp->flags & FLAG_LEFT))
+                      if (characters < width && !(dp->flags & FLAG_LEFT))
                         {
                           size_t n = width - characters;
                           ENSURE_ALLOCATION (xsum (length, n));
@@ -2255,8 +2251,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                       }
 # endif
 
-                      if (has_width && width > characters
-                          && (dp->flags & FLAG_LEFT))
+                      if (characters < width && (dp->flags & FLAG_LEFT))
                         {
                           size_t n = width - characters;
                           ENSURE_ALLOCATION (xsum (length, n));
@@ -2329,8 +2324,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                           characters = 0;
                         }
 
-                      if (has_width && width > characters
-                          && !(dp->flags & FLAG_LEFT))
+                      if (characters < width && !(dp->flags & FLAG_LEFT))
                         {
                           size_t n = width - characters;
                           ENSURE_ALLOCATION (xsum (length, n));
@@ -2383,8 +2377,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                       }
 # endif
 
-                      if (has_width && width > characters
-                          && (dp->flags & FLAG_LEFT))
+                      if (characters < width && (dp->flags & FLAG_LEFT))
                         {
                           size_t n = width - characters;
                           ENSURE_ALLOCATION (xsum (length, n));
@@ -2435,15 +2428,14 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                         if (!(a.arg[dp->width_arg_index].type == TYPE_INT))
                           abort ();
                         arg = a.arg[dp->width_arg_index].a.a_int;
+                        width = arg;
                         if (arg < 0)
                           {
                             /* "A negative field width is taken as a '-' flag
                                 followed by a positive field width."  */
                             flags |= FLAG_LEFT;
-                            width = (unsigned int) (-arg);
+                            width = -width;
                           }
-                        else
-                          width = arg;
                       }
                     else
                       {
@@ -2573,8 +2565,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                       characters = 0;
                     }
 
-                  if (has_width && width > characters
-                      && !(dp->flags & FLAG_LEFT))
+                  if (characters < width && !(dp->flags & FLAG_LEFT))
                     {
                       size_t n = width - characters;
                       ENSURE_ALLOCATION (xsum (length, n));
@@ -2635,8 +2626,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                         }
                     }
 
-                  if (has_width && width > characters
-                      && (dp->flags & FLAG_LEFT))
+                  if (characters < width && (dp->flags & FLAG_LEFT))
                     {
                       size_t n = width - characters;
                       ENSURE_ALLOCATION (xsum (length, n));
@@ -2827,8 +2817,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                     /* w doesn't matter.  */
                     w = 0;
 
-                  if (has_width && width > w
-                      && !(dp->flags & FLAG_LEFT))
+                  if (w < width && !(dp->flags & FLAG_LEFT))
                     {
                       size_t n = width - w;
                       ENSURE_ALLOCATION (xsum (length, n));
@@ -2911,8 +2900,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                   length += tmpdst_len;
 #  endif
 
-                  if (has_width && width > w
-                      && (dp->flags & FLAG_LEFT))
+                  if (w < width && (dp->flags & FLAG_LEFT))
                     {
                       size_t n = width - w;
                       ENSURE_ALLOCATION (xsum (length, n));
@@ -2939,17 +2927,16 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
               {
                 arg_type type = a.arg[dp->arg_index].type;
                 int flags = dp->flags;
-                int has_width;
                 size_t width;
                 int has_precision;
                 size_t precision;
                 size_t tmp_length;
+                size_t count;
                 DCHAR_T tmpbuf[700];
                 DCHAR_T *tmp;
                 DCHAR_T *pad_ptr;
                 DCHAR_T *p;
 
-                has_width = 0;
                 width = 0;
                 if (dp->width_start != dp->width_end)
                   {
@@ -2960,15 +2947,14 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                         if (!(a.arg[dp->width_arg_index].type == TYPE_INT))
                           abort ();
                         arg = a.arg[dp->width_arg_index].a.a_int;
+                        width = arg;
                         if (arg < 0)
                           {
                             /* "A negative field width is taken as a '-' flag
                                 followed by a positive field width."  */
                             flags |= FLAG_LEFT;
-                            width = (unsigned int) (-arg);
+                            width = -width;
                           }
-                        else
-                          width = arg;
                       }
                     else
                       {
@@ -2978,7 +2964,6 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                           width = xsum (xtimes (width, 10), *digitp++ - '0');
                         while (digitp != dp->width_end);
                       }
-                    has_width = 1;
                   }
 
                 has_precision = 0;
@@ -3354,11 +3339,14 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                     abort ();
 # endif
                   }
+
                 /* The generated string now extends from tmp to p, with the
                    zero padding insertion point being at pad_ptr.  */
-                if (has_width && p - tmp < width)
+                count = p - tmp;
+
+                if (count < width)
                   {
-                    size_t pad = width - (p - tmp);
+                    size_t pad = width - count;
                     DCHAR_T *end = p + pad;
 
                     if (flags & FLAG_LEFT)
@@ -3391,28 +3379,26 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                     p = end;
                   }
 
-                {
-                  size_t count = p - tmp;
+                count = p - tmp;
 
-                  if (count >= tmp_length)
-                    /* tmp_length was incorrectly calculated - fix the
-                       code above!  */
-                    abort ();
+                if (count >= tmp_length)
+                  /* tmp_length was incorrectly calculated - fix the
+                     code above!  */
+                  abort ();
 
-                  /* Make room for the result.  */
-                  if (count >= allocated - length)
-                    {
-                      size_t n = xsum (length, count);
+                /* Make room for the result.  */
+                if (count >= allocated - length)
+                  {
+                    size_t n = xsum (length, count);
 
-                      ENSURE_ALLOCATION (n);
-                    }
+                    ENSURE_ALLOCATION (n);
+                  }
 
-                  /* Append the result.  */
-                  memcpy (result + length, tmp, count * sizeof (DCHAR_T));
-                  if (tmp != tmpbuf)
-                    free (tmp);
-                  length += count;
-                }
+                /* Append the result.  */
+                memcpy (result + length, tmp, count * sizeof (DCHAR_T));
+                if (tmp != tmpbuf)
+                  free (tmp);
+                length += count;
               }
 #endif
 #if (NEED_PRINTF_INFINITE_DOUBLE || NEED_PRINTF_DOUBLE || 
NEED_PRINTF_INFINITE_LONG_DOUBLE || NEED_PRINTF_LONG_DOUBLE) && !defined 
IN_LIBINTL
@@ -3446,8 +3432,8 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                 arg_type type = a.arg[dp->arg_index].type;
 # endif
                 int flags = dp->flags;
-                int has_width;
                 size_t width;
+                size_t count;
                 int has_precision;
                 size_t precision;
                 size_t tmp_length;
@@ -3456,7 +3442,6 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                 DCHAR_T *pad_ptr;
                 DCHAR_T *p;
 
-                has_width = 0;
                 width = 0;
                 if (dp->width_start != dp->width_end)
                   {
@@ -3467,15 +3452,14 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                         if (!(a.arg[dp->width_arg_index].type == TYPE_INT))
                           abort ();
                         arg = a.arg[dp->width_arg_index].a.a_int;
+                        width = arg;
                         if (arg < 0)
                           {
                             /* "A negative field width is taken as a '-' flag
                                 followed by a positive field width."  */
                             flags |= FLAG_LEFT;
-                            width = (unsigned int) (-arg);
+                            width = -width;
                           }
-                        else
-                          width = arg;
                       }
                     else
                       {
@@ -3485,7 +3469,6 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                           width = xsum (xtimes (width, 10), *digitp++ - '0');
                         while (digitp != dp->width_end);
                       }
-                    has_width = 1;
                   }
 
                 has_precision = 0;
@@ -3925,9 +3908,9 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                                            digits without trailing zeroes.  */
                                         if (exponent >= 0)
                                           {
-                                            size_t count = exponent + 1;
+                                            size_t ecount = exponent + 1;
                                             /* Note: count <= precision = 
ndigits.  */
-                                            for (; count > 0; count--)
+                                            for (; ecount > 0; ecount--)
                                               *p++ = digits[--ndigits];
                                             if ((flags & FLAG_ALT) || ndigits 
> nzeroes)
                                               {
@@ -3941,10 +3924,10 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                                           }
                                         else
                                           {
-                                            size_t count = -exponent - 1;
+                                            size_t ecount = -exponent - 1;
                                             *p++ = '0';
                                             *p++ = decimal_point_char ();
-                                            for (; count > 0; count--)
+                                            for (; ecount > 0; ecount--)
                                               *p++ = '0';
                                             while (ndigits > nzeroes)
                                               {
@@ -4395,9 +4378,9 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                                            digits without trailing zeroes.  */
                                         if (exponent >= 0)
                                           {
-                                            size_t count = exponent + 1;
-                                            /* Note: count <= precision = 
ndigits.  */
-                                            for (; count > 0; count--)
+                                            size_t ecount = exponent + 1;
+                                            /* Note: ecount <= precision = 
ndigits.  */
+                                            for (; ecount > 0; ecount--)
                                               *p++ = digits[--ndigits];
                                             if ((flags & FLAG_ALT) || ndigits 
> nzeroes)
                                               {
@@ -4411,10 +4394,10 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                                           }
                                         else
                                           {
-                                            size_t count = -exponent - 1;
+                                            size_t ecount = -exponent - 1;
                                             *p++ = '0';
                                             *p++ = decimal_point_char ();
-                                            for (; count > 0; count--)
+                                            for (; ecount > 0; ecount--)
                                               *p++ = '0';
                                             while (ndigits > nzeroes)
                                               {
@@ -4542,9 +4525,11 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
 
                 /* The generated string now extends from tmp to p, with the
                    zero padding insertion point being at pad_ptr.  */
-                if (has_width && p - tmp < width)
+                count = p - tmp;
+
+                if (count < width)
                   {
-                    size_t pad = width - (p - tmp);
+                    size_t pad = width - count;
                     DCHAR_T *end = p + pad;
 
                     if (flags & FLAG_LEFT)
@@ -4577,36 +4562,36 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                     p = end;
                   }
 
-                {
-                  size_t count = p - tmp;
+                count = p - tmp;
 
-                  if (count >= tmp_length)
-                    /* tmp_length was incorrectly calculated - fix the
-                       code above!  */
-                    abort ();
+                if (count >= tmp_length)
+                  /* tmp_length was incorrectly calculated - fix the
+                     code above!  */
+                  abort ();
 
-                  /* Make room for the result.  */
-                  if (count >= allocated - length)
-                    {
-                      size_t n = xsum (length, count);
+                /* Make room for the result.  */
+                if (count >= allocated - length)
+                  {
+                    size_t n = xsum (length, count);
 
-                      ENSURE_ALLOCATION (n);
-                    }
+                    ENSURE_ALLOCATION (n);
+                  }
 
-                  /* Append the result.  */
-                  memcpy (result + length, tmp, count * sizeof (DCHAR_T));
-                  if (tmp != tmpbuf)
-                    free (tmp);
-                  length += count;
-                }
+                /* Append the result.  */
+                memcpy (result + length, tmp, count * sizeof (DCHAR_T));
+                if (tmp != tmpbuf)
+                  free (tmp);
+                length += count;
               }
 #endif
             else
               {
                 arg_type type = a.arg[dp->arg_index].type;
                 int flags = dp->flags;
-#if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || !DCHAR_IS_TCHAR || 
ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || 
NEED_PRINTF_UNBOUNDED_PRECISION
+#if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || 
NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
                 int has_width;
+#endif
+#if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || !DCHAR_IS_TCHAR || 
ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || 
NEED_PRINTF_UNBOUNDED_PRECISION
                 size_t width;
 #endif
 #if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || 
NEED_PRINTF_UNBOUNDED_PRECISION
@@ -4635,8 +4620,10 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                 TCHAR_T *tmp;
 #endif
 
-#if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || !DCHAR_IS_TCHAR || 
ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || 
NEED_PRINTF_UNBOUNDED_PRECISION
+#if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || 
NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
                 has_width = 0;
+#endif
+#if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || !DCHAR_IS_TCHAR || 
ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || 
NEED_PRINTF_UNBOUNDED_PRECISION
                 width = 0;
                 if (dp->width_start != dp->width_end)
                   {
@@ -4647,15 +4634,14 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                         if (!(a.arg[dp->width_arg_index].type == TYPE_INT))
                           abort ();
                         arg = a.arg[dp->width_arg_index].a.a_int;
+                        width = arg;
                         if (arg < 0)
                           {
                             /* "A negative field width is taken as a '-' flag
                                 followed by a positive field width."  */
                             flags |= FLAG_LEFT;
-                            width = (unsigned int) (-arg);
+                            width = -width;
                           }
-                        else
-                          width = arg;
                       }
                     else
                       {
@@ -4665,7 +4651,9 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                           width = xsum (xtimes (width, 10), *digitp++ - '0');
                         while (digitp != dp->width_end);
                       }
+#if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || 
NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
                     has_width = 1;
+#endif
                   }
 #endif
 
@@ -5153,7 +5141,8 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                                 size_t tmp_length =
                                   MAX_ROOM_NEEDED (&a, dp->arg_index,
                                                    dp->conversion, type, flags,
-                                                   width, has_precision,
+                                                   width,
+                                                   has_precision,
                                                    precision, pad_ourselves);
 
                                 if (maxlen < tmp_length)
diff --git a/gl/vasnprintf.h b/gl/vasnprintf.h
index 7658f50..daa946d 100644
--- a/gl/vasnprintf.h
+++ b/gl/vasnprintf.h
@@ -1,5 +1,5 @@
 /* vsprintf with automatic memory allocation.
-   Copyright (C) 2002-2004, 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2002-2004, 2007-2014 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
diff --git a/gl/vasprintf.c b/gl/vasprintf.c
index d0d4a11..eed9037 100644
--- a/gl/vasprintf.c
+++ b/gl/vasprintf.c
@@ -1,5 +1,5 @@
 /* Formatted output to strings.
-   Copyright (C) 1999, 2002, 2006-2013 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2002, 2006-2014 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
diff --git a/gl/verify.h b/gl/verify.h
index cb8e90b..a25e514 100644
--- a/gl/verify.h
+++ b/gl/verify.h
@@ -1,6 +1,6 @@
 /* Compile-time assert-like macros.
 
-   Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2014 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
@@ -18,7 +18,7 @@
 /* Written by Paul Eggert, Bruno Haible, and Jim Meyering.  */
 
 #ifndef _GL_VERIFY_H
-# define _GL_VERIFY_H
+#define _GL_VERIFY_H
 
 
 /* Define _GL_HAVE__STATIC_ASSERT to 1 if _Static_assert works as per C11.
@@ -31,14 +31,24 @@
    Use this only with GCC.  If we were willing to slow 'configure'
    down we could also use it with other compilers, but since this
    affects only the quality of diagnostics, why bother?  */
-# if (4 < __GNUC__ || (__GNUC__ == 4 && 6 <= __GNUC_MINOR__)) && !defined 
__cplusplus
-#  define _GL_HAVE__STATIC_ASSERT 1
-# endif
+#if (4 < __GNUC__ + (6 <= __GNUC_MINOR__) \
+     && (201112L <= __STDC_VERSION__  || !defined __STRICT_ANSI__) \
+     && !defined __cplusplus)
+# define _GL_HAVE__STATIC_ASSERT 1
+#endif
 /* The condition (99 < __GNUC__) is temporary, until we know about the
    first G++ release that supports static_assert.  */
-# if (99 < __GNUC__) && defined __cplusplus
-#  define _GL_HAVE_STATIC_ASSERT 1
-# endif
+#if (99 < __GNUC__) && defined __cplusplus
+# define _GL_HAVE_STATIC_ASSERT 1
+#endif
+
+/* FreeBSD 9.1 <sys/cdefs.h>, included by <stddef.h> and lots of other
+   system headers, defines a conflicting _Static_assert that is no
+   better than ours; override it.  */
+#ifndef _GL_HAVE_STATIC_ASSERT
+# include <stddef.h>
+# undef _Static_assert
+#endif
 
 /* Each of these macros verifies that its argument R is nonzero.  To
    be portable, R should be an integer constant expression.  Unlike
@@ -141,50 +151,50 @@
      Use a template type to work around the problem.  */
 
 /* Concatenate two preprocessor tokens.  */
-# define _GL_CONCAT(x, y) _GL_CONCAT0 (x, y)
-# define _GL_CONCAT0(x, y) x##y
+#define _GL_CONCAT(x, y) _GL_CONCAT0 (x, y)
+#define _GL_CONCAT0(x, y) x##y
 
 /* _GL_COUNTER is an integer, preferably one that changes each time we
    use it.  Use __COUNTER__ if it works, falling back on __LINE__
    otherwise.  __LINE__ isn't perfect, but it's better than a
    constant.  */
-# if defined __COUNTER__ && __COUNTER__ != __COUNTER__
-#  define _GL_COUNTER __COUNTER__
-# else
-#  define _GL_COUNTER __LINE__
-# endif
+#if defined __COUNTER__ && __COUNTER__ != __COUNTER__
+# define _GL_COUNTER __COUNTER__
+#else
+# define _GL_COUNTER __LINE__
+#endif
 
 /* Generate a symbol with the given prefix, making it unique if
    possible.  */
-# define _GL_GENSYM(prefix) _GL_CONCAT (prefix, _GL_COUNTER)
+#define _GL_GENSYM(prefix) _GL_CONCAT (prefix, _GL_COUNTER)
 
 /* Verify requirement R at compile-time, as an integer constant expression
    that returns 1.  If R is false, fail at compile-time, preferably
    with a diagnostic that includes the string-literal DIAGNOSTIC.  */
 
-# define _GL_VERIFY_TRUE(R, DIAGNOSTIC) \
-    (!!sizeof (_GL_VERIFY_TYPE (R, DIAGNOSTIC)))
+#define _GL_VERIFY_TRUE(R, DIAGNOSTIC) \
+   (!!sizeof (_GL_VERIFY_TYPE (R, DIAGNOSTIC)))
 
-# ifdef __cplusplus
-#  if !GNULIB_defined_struct__gl_verify_type
+#ifdef __cplusplus
+# if !GNULIB_defined_struct__gl_verify_type
 template <int w>
   struct _gl_verify_type {
     unsigned int _gl_verify_error_if_negative: w;
   };
-#   define GNULIB_defined_struct__gl_verify_type 1
-#  endif
-#  define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
-    _gl_verify_type<(R) ? 1 : -1>
-# elif defined _GL_HAVE__STATIC_ASSERT
-#  define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
-     struct {                                   \
-       _Static_assert (R, DIAGNOSTIC);          \
-       int _gl_dummy;                          \
-     }
-# else
-#  define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
-     struct { unsigned int _gl_verify_error_if_negative: (R) ? 1 : -1; }
+#  define GNULIB_defined_struct__gl_verify_type 1
 # endif
+# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
+    _gl_verify_type<(R) ? 1 : -1>
+#elif defined _GL_HAVE__STATIC_ASSERT
+# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
+    struct {                                   \
+      _Static_assert (R, DIAGNOSTIC);          \
+      int _gl_dummy;                          \
+    }
+#else
+# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
+    struct { unsigned int _gl_verify_error_if_negative: (R) ? 1 : -1; }
+#endif
 
 /* Verify requirement R at compile-time, as a declaration without a
    trailing ';'.  If R is false, fail at compile-time, preferably
@@ -193,23 +203,23 @@ template <int w>
    Unfortunately, unlike C11, this implementation must appear as an
    ordinary declaration, and cannot appear inside struct { ... }.  */
 
-# ifdef _GL_HAVE__STATIC_ASSERT
-#  define _GL_VERIFY _Static_assert
-# else
-#  define _GL_VERIFY(R, DIAGNOSTIC)                                   \
-     extern int (*_GL_GENSYM (_gl_verify_function) (void))            \
-       [_GL_VERIFY_TRUE (R, DIAGNOSTIC)]
-# endif
+#ifdef _GL_HAVE__STATIC_ASSERT
+# define _GL_VERIFY _Static_assert
+#else
+# define _GL_VERIFY(R, DIAGNOSTIC)                                    \
+    extern int (*_GL_GENSYM (_gl_verify_function) (void))             \
+      [_GL_VERIFY_TRUE (R, DIAGNOSTIC)]
+#endif
 
 /* _GL_STATIC_ASSERT_H is defined if this code is copied into assert.h.  */
-# ifdef _GL_STATIC_ASSERT_H
-#  if !defined _GL_HAVE__STATIC_ASSERT && !defined _Static_assert
-#   define _Static_assert(R, DIAGNOSTIC) _GL_VERIFY (R, DIAGNOSTIC)
-#  endif
-#  if !defined _GL_HAVE_STATIC_ASSERT && !defined static_assert
-#   define static_assert _Static_assert /* C11 requires this #define.  */
-#  endif
+#ifdef _GL_STATIC_ASSERT_H
+# if !defined _GL_HAVE__STATIC_ASSERT && !defined _Static_assert
+#  define _Static_assert(R, DIAGNOSTIC) _GL_VERIFY (R, DIAGNOSTIC)
 # endif
+# if !defined _GL_HAVE_STATIC_ASSERT && !defined static_assert
+#  define static_assert _Static_assert /* C11 requires this #define.  */
+# endif
+#endif
 
 /* @assert.h omit start@  */
 
@@ -227,18 +237,42 @@ template <int w>
 
    verify_true is obsolescent; please use verify_expr instead.  */
 
-# define verify_true(R) _GL_VERIFY_TRUE (R, "verify_true (" #R ")")
+#define verify_true(R) _GL_VERIFY_TRUE (R, "verify_true (" #R ")")
 
 /* Verify requirement R at compile-time.  Return the value of the
    expression E.  */
 
-# define verify_expr(R, E) \
-    (_GL_VERIFY_TRUE (R, "verify_expr (" #R ", " #E ")") ? (E) : (E))
+#define verify_expr(R, E) \
+   (_GL_VERIFY_TRUE (R, "verify_expr (" #R ", " #E ")") ? (E) : (E))
 
 /* Verify requirement R at compile-time, as a declaration without a
    trailing ';'.  */
 
-# define verify(R) _GL_VERIFY (R, "verify (" #R ")")
+#define verify(R) _GL_VERIFY (R, "verify (" #R ")")
+
+#ifndef __has_builtin
+# define __has_builtin(x) 0
+#endif
+
+/* Assume that R always holds.  This lets the compiler optimize
+   accordingly.  R should not have side-effects; it may or may not be
+   evaluated.  Behavior is undefined if R is false.  */
+
+#if (__has_builtin (__builtin_unreachable) \
+     || 4 < __GNUC__ + (5 <= __GNUC_MINOR__))
+# define assume(R) ((R) ? (void) 0 : __builtin_unreachable ())
+#elif 1200 <= _MSC_VER
+# define assume(R) __assume (R)
+#elif (defined lint \
+       && (__has_builtin (__builtin_trap) \
+           || 3 < __GNUC__ + (3 < __GNUC_MINOR__ + (4 <= 
__GNUC_PATCHLEVEL__))))
+  /* Doing it this way helps various packages when configured with
+     --enable-gcc-warnings, which compiles with -Dlint.  It's nicer
+     when 'assume' silences warnings even with older GCCs.  */
+# define assume(R) ((R) ? (void) 0 : __builtin_trap ())
+#else
+# define assume(R) ((void) (0 && (R)))
+#endif
 
 /* @assert.h omit end@  */
 
diff --git a/gl/w32sock.h b/gl/w32sock.h
index 44f3a1a..b921b1b 100644
--- a/gl/w32sock.h
+++ b/gl/w32sock.h
@@ -1,6 +1,6 @@
 /* w32sock.h --- internal auxiliary functions for Windows socket functions
 
-   Copyright (C) 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2008-2014 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
diff --git a/gl/wchar.in.h b/gl/wchar.in.h
index b6e4362..473285f 100644
--- a/gl/wchar.in.h
+++ b/gl/wchar.in.h
@@ -1,6 +1,6 @@
 /* A substitute for ISO C99 <wchar.h>, for platforms that have issues.
 
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2014 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
diff --git a/gl/xalloc-oversized.h b/gl/xalloc-oversized.h
index a971c78..f332922 100644
--- a/gl/xalloc-oversized.h
+++ b/gl/xalloc-oversized.h
@@ -1,6 +1,6 @@
 /* xalloc-oversized.h -- memory allocation size checking
 
-   Copyright (C) 1990-2000, 2003-2004, 2006-2013 Free Software Foundation, Inc.
+   Copyright (C) 1990-2000, 2003-2004, 2006-2014 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
diff --git a/gl/xalloc.h b/gl/xalloc.h
index da7c4b6..3f6b5b8 100644
--- a/gl/xalloc.h
+++ b/gl/xalloc.h
@@ -1,6 +1,6 @@
 /* xalloc.h -- malloc with out-of-memory checking
 
-   Copyright (C) 1990-2000, 2003-2004, 2006-2013 Free Software Foundation, Inc.
+   Copyright (C) 1990-2000, 2003-2004, 2006-2014 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
@@ -22,6 +22,9 @@
 
 #include "xalloc-oversized.h"
 
+#ifndef _GL_INLINE_HEADER_BEGIN
+ #error "Please include config.h first."
+#endif
 _GL_INLINE_HEADER_BEGIN
 #ifndef XALLOC_INLINE
 # define XALLOC_INLINE _GL_INLINE
@@ -61,7 +64,7 @@ void *xrealloc (void *p, size_t s)
       _GL_ATTRIBUTE_ALLOC_SIZE ((2));
 void *x2realloc (void *p, size_t *pn);
 void *xmemdup (void const *p, size_t s)
-      _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_ALLOC_SIZE ((2));
+      _GL_ATTRIBUTE_ALLOC_SIZE ((2));
 char *xstrdup (char const *str)
       _GL_ATTRIBUTE_MALLOC;
 
@@ -119,10 +122,9 @@ xnrealloc (void *p, size_t n, size_t s)
 
 /* If P is null, allocate a block of at least *PN such objects;
    otherwise, reallocate P so that it contains more than *PN objects
-   each of S bytes.  *PN must be nonzero unless P is null, and S must
-   be nonzero.  Set *PN to the new number of objects, and return the
-   pointer to the new block.  *PN is never set to zero, and the
-   returned pointer is never null.
+   each of S bytes.  S must be nonzero.  Set *PN to the new number of
+   objects, and return the pointer to the new block.  *PN is never set
+   to zero, and the returned pointer is never null.
 
    Repeated reallocations are guaranteed to make progress, either by
    allocating an initial block with a nonzero size, or by allocating a
@@ -193,13 +195,13 @@ x2nrealloc (void *p, size_t *pn, size_t s)
     }
   else
     {
-      /* Set N = ceil (1.5 * N) so that progress is made if N == 1.
+      /* Set N = floor (1.5 * N) + 1 so that progress is made even if N == 0.
          Check for overflow, so that N * S stays in size_t range.
-         The check is slightly conservative, but an exact check isn't
+         The check may be slightly conservative, but an exact check isn't
          worth the trouble.  */
       if ((size_t) -1 / 3 * 2 / s <= n)
         xalloc_die ();
-      n += (n + 1) / 2;
+      n += n / 2 + 1;
     }
 
   *pn = n;
diff --git a/gl/xasprintf.c b/gl/xasprintf.c
index 1808b70..4e0b5b1 100644
--- a/gl/xasprintf.c
+++ b/gl/xasprintf.c
@@ -1,5 +1,5 @@
 /* vasprintf and asprintf with out-of-memory checking.
-   Copyright (C) 1999, 2002-2004, 2006, 2009-2013 Free Software Foundation,
+   Copyright (C) 1999, 2002-2004, 2006, 2009-2014 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gl/xgetdomainname.c b/gl/xgetdomainname.c
index 3a044df..ffc2e02 100644
--- a/gl/xgetdomainname.c
+++ b/gl/xgetdomainname.c
@@ -1,5 +1,5 @@
 /* xgetdomainname.c -- Return the NIS domain name, without size limitations.
-   Copyright (C) 1992, 1996, 2000-2001, 2003-2004, 2006, 2008-2013 Free
+   Copyright (C) 1992, 1996, 2000-2001, 2003-2004, 2006, 2008-2014 Free
    Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gl/xgetdomainname.h b/gl/xgetdomainname.h
index 3c1f5fc..075f4fe 100644
--- a/gl/xgetdomainname.h
+++ b/gl/xgetdomainname.h
@@ -1,5 +1,5 @@
 /* xgetdomainname.h -- Return the NIS domain name, without size limitations.
-   Copyright (C) 1992, 1996, 2000-2001, 2003, 2009-2013 Free Software
+   Copyright (C) 1992, 1996, 2000-2001, 2003, 2009-2014 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gl/xgethostname.c b/gl/xgethostname.c
index 5d5a07c..0f7b178 100644
--- a/gl/xgethostname.c
+++ b/gl/xgethostname.c
@@ -1,6 +1,6 @@
 /* xgethostname.c -- return current hostname with unlimited length
 
-   Copyright (C) 1992, 1996, 2000-2001, 2003-2006, 2009-2013 Free Software
+   Copyright (C) 1992, 1996, 2000-2001, 2003-2006, 2009-2014 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gl/xmalloc.c b/gl/xmalloc.c
index 57e34b7..264d44a 100644
--- a/gl/xmalloc.c
+++ b/gl/xmalloc.c
@@ -1,6 +1,6 @@
 /* xmalloc.c -- malloc with out of memory checking
 
-   Copyright (C) 1990-2000, 2002-2006, 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 1990-2000, 2002-2006, 2008-2014 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
diff --git a/gl/xsize.h b/gl/xsize.h
index 2922f35..fd12c67 100644
--- a/gl/xsize.h
+++ b/gl/xsize.h
@@ -1,6 +1,6 @@
 /* xsize.h -- Checked size_t computations.
 
-   Copyright (C) 2003, 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2008-2014 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
@@ -27,6 +27,9 @@
 # include <stdint.h>
 #endif
 
+#ifndef _GL_INLINE_HEADER_BEGIN
+ #error "Please include config.h first."
+#endif
 _GL_INLINE_HEADER_BEGIN
 #ifndef XSIZE_INLINE
 # define XSIZE_INLINE _GL_INLINE
diff --git a/gl/xstrndup.c b/gl/xstrndup.c
index eae92d0..d2259c8 100644
--- a/gl/xstrndup.c
+++ b/gl/xstrndup.c
@@ -1,6 +1,6 @@
 /* Duplicate a bounded initial segment of a string, with out-of-memory
    checking.
-   Copyright (C) 2003, 2006-2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2006-2007, 2009-2014 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
diff --git a/gl/xstrndup.h b/gl/xstrndup.h
index 59673b0..6a409f7 100644
--- a/gl/xstrndup.h
+++ b/gl/xstrndup.h
@@ -1,6 +1,6 @@
 /* Duplicate a bounded initial segment of a string, with out-of-memory
    checking.
-   Copyright (C) 2003, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2009-2014 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
diff --git a/gl/xvasprintf.c b/gl/xvasprintf.c
index 702b5e6..7a4029e 100644
--- a/gl/xvasprintf.c
+++ b/gl/xvasprintf.c
@@ -1,5 +1,5 @@
 /* vasprintf and asprintf with out-of-memory checking.
-   Copyright (C) 1999, 2002-2004, 2006-2013 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2002-2004, 2006-2014 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
diff --git a/gl/xvasprintf.h b/gl/xvasprintf.h
index 1208fa1..407a5e0 100644
--- a/gl/xvasprintf.h
+++ b/gl/xvasprintf.h
@@ -1,5 +1,5 @@
 /* vasprintf and asprintf with out-of-memory checking.
-   Copyright (C) 2002-2004, 2006-2013 Free Software Foundation, Inc.
+   Copyright (C) 2002-2004, 2006-2014 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
diff --git a/lib/Makefile.am b/lib/Makefile.am
index e6b8a20..a82b635 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2002-2013 Simon Josefsson
+# Copyright (C) 2002-2014 Simon Josefsson
 #
 # This file is part of Shishi.
 #
diff --git a/lib/ap.c b/lib/ap.c
index 799f6f8..02f9e89 100644
--- a/lib/ap.c
+++ b/lib/ap.c
@@ -1,5 +1,5 @@
 /* ap.c --- AP functions
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/aprep.c b/lib/aprep.c
index 47a3ca9..15482cb 100644
--- a/lib/aprep.c
+++ b/lib/aprep.c
@@ -1,5 +1,5 @@
 /* aprep.c --- AP-REP functions.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/apreq.c b/lib/apreq.c
index f73ba5a..587ed8c 100644
--- a/lib/apreq.c
+++ b/lib/apreq.c
@@ -1,5 +1,5 @@
 /* apreq.c --- AP-REQ functions.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/as.c b/lib/as.c
index a157596..cb2f746 100644
--- a/lib/as.c
+++ b/lib/as.c
@@ -1,5 +1,5 @@
 /* as.c --- High level client AS functions
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/asn1.c b/lib/asn1.c
index 7fc2d26..11d1359 100644
--- a/lib/asn1.c
+++ b/lib/asn1.c
@@ -1,5 +1,5 @@
 /* asn1.c --- Utilities to manipulate RFC 1510 ASN.1 types.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/asn1.h b/lib/asn1.h
index bcd1ecb..911041f 100644
--- a/lib/asn1.h
+++ b/lib/asn1.h
@@ -1,5 +1,5 @@
 /* asn1.h --- Utilities to manipulate RFC 1510 ASN.1 types.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/authenticator.c b/lib/authenticator.c
index 4d8b9ff..d8ceffb 100644
--- a/lib/authenticator.c
+++ b/lib/authenticator.c
@@ -1,5 +1,5 @@
 /* authenticator.c --- Functions for authenticators.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/authorize.c b/lib/authorize.c
index 3ee1dd8..8e9b899 100644
--- a/lib/authorize.c
+++ b/lib/authorize.c
@@ -1,5 +1,5 @@
 /* authorize.c --- Authorization to services of authenticated principals.
- * Copyright (C) 2003-2013 Simon Josefsson
+ * Copyright (C) 2003-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/ccache.c b/lib/ccache.c
index cb5bb5c..2df2b49 100644
--- a/lib/ccache.c
+++ b/lib/ccache.c
@@ -1,5 +1,5 @@
 /* ccache.c --- Read MIT style Kerberos Credential Cache file.
- * Copyright (C) 2006-2013 Simon Josefsson
+ * Copyright (C) 2006-2014 Simon Josefsson
  *
  * This file is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published
diff --git a/lib/ccache.h b/lib/ccache.h
index cee21b8..61605d7 100644
--- a/lib/ccache.h
+++ b/lib/ccache.h
@@ -1,5 +1,5 @@
 /* ccache.h --- Read MIT style Kerberos Credential Cache file.
- * Copyright (C) 2006-2013 Simon Josefsson
+ * Copyright (C) 2006-2014 Simon Josefsson
  *
  * This file is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published
diff --git a/lib/cfg.c b/lib/cfg.c
index 402a911..9e8e150 100644
--- a/lib/cfg.c
+++ b/lib/cfg.c
@@ -1,5 +1,5 @@
 /* cfg.h --- Configuration file functions.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/cfg.h b/lib/cfg.h
index 9e78aad..395e9c2 100644
--- a/lib/cfg.h
+++ b/lib/cfg.h
@@ -1,5 +1,5 @@
 /* cfg.h --- Configuration file prototypes.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/crypto-3des.c b/lib/crypto-3des.c
index 5258446..26517f9 100644
--- a/lib/crypto-3des.c
+++ b/lib/crypto-3des.c
@@ -1,5 +1,5 @@
 /* crypto-3des.c --- 3DES crypto functions.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/crypto-aes.c b/lib/crypto-aes.c
index 235ea6d..0b98b93 100644
--- a/lib/crypto-aes.c
+++ b/lib/crypto-aes.c
@@ -1,5 +1,5 @@
 /* crypto-aes.c --- AES crypto functions.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/crypto-ctx.c b/lib/crypto-ctx.c
index 448b1bf..d18d388 100644
--- a/lib/crypto-ctx.c
+++ b/lib/crypto-ctx.c
@@ -1,5 +1,5 @@
 /* crypto-ctx.c   high-level crypto functions
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/crypto-des.c b/lib/crypto-des.c
index 4fa791e..f221ac4 100644
--- a/lib/crypto-des.c
+++ b/lib/crypto-des.c
@@ -1,5 +1,5 @@
 /* crypto-des.c --- DES crypto functions.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/crypto-md.c b/lib/crypto-md.c
index 1b04961..f83c24f 100644
--- a/lib/crypto-md.c
+++ b/lib/crypto-md.c
@@ -1,5 +1,5 @@
 /* crypto-md.c --- DES crypto functions
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  * Copyright (C) 2003  Free Software Foundation, Inc.
  *
  * This file is part of Shishi.
diff --git a/lib/crypto-null.c b/lib/crypto-null.c
index c7f9be5..ad45d8e 100644
--- a/lib/crypto-null.c
+++ b/lib/crypto-null.c
@@ -1,5 +1,5 @@
 /* crypto-null.c --- NULL crypto functions
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/crypto-rc4.c b/lib/crypto-rc4.c
index 0823042..b9ff6c8 100644
--- a/lib/crypto-rc4.c
+++ b/lib/crypto-rc4.c
@@ -1,5 +1,5 @@
 /* crypto-rc4.c --- draft-brezak-win2k-krb-rc4-hmac-04 crypto functions.
- * Copyright (C) 2003-2013 Simon Josefsson
+ * Copyright (C) 2003-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/crypto.c b/lib/crypto.c
index 84f6035..d98e8bf 100644
--- a/lib/crypto.c
+++ b/lib/crypto.c
@@ -1,5 +1,5 @@
 /* crypto.c --- Crypto functions.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/crypto.h b/lib/crypto.h
index 71bedb8..cfe4dd9 100644
--- a/lib/crypto.h
+++ b/lib/crypto.h
@@ -1,5 +1,5 @@
 /* crypto.h --- Crypto prototypes.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/diskio.c b/lib/diskio.c
index 6cde96d..a57ebc9 100644
--- a/lib/diskio.c
+++ b/lib/diskio.c
@@ -1,5 +1,5 @@
 /* diskio.c --- Read and write data structures from disk.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/diskio.h b/lib/diskio.h
index 08b9bfe..9fb65c9 100644
--- a/lib/diskio.h
+++ b/lib/diskio.h
@@ -1,5 +1,5 @@
 /* diskio.h --- Read and write data structures from disk.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/encapreppart.c b/lib/encapreppart.c
index 9cc3382..a606585 100644
--- a/lib/encapreppart.c
+++ b/lib/encapreppart.c
@@ -1,5 +1,5 @@
 /* encapreppart.c --- Encrypted authentication reply part functions.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/enckdcreppart.c b/lib/enckdcreppart.c
index 662d142..1ea5533 100644
--- a/lib/enckdcreppart.c
+++ b/lib/enckdcreppart.c
@@ -1,5 +1,5 @@
 /* enckdcreppart.c --- Key distribution encrypted reply part functions
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/encticketpart.c b/lib/encticketpart.c
index 0f13bd1..3d6a361 100644
--- a/lib/encticketpart.c
+++ b/lib/encticketpart.c
@@ -1,5 +1,5 @@
 /* encticketpart.c --- Encrypted ticket part handling.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/error.c b/lib/error.c
index e2746bc..7b2dbf2 100644
--- a/lib/error.c
+++ b/lib/error.c
@@ -1,5 +1,5 @@
 /* error.c --- Error handling functions.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/gztime.c b/lib/gztime.c
index 7bb7ddc..ed9f6a9 100644
--- a/lib/gztime.c
+++ b/lib/gztime.c
@@ -1,5 +1,5 @@
 /* gztime.c --- Convertion functions for GeneralizedTime.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/hostkeys.c b/lib/hostkeys.c
index 106a05d..f89d29b 100644
--- a/lib/hostkeys.c
+++ b/lib/hostkeys.c
@@ -1,5 +1,5 @@
 /* hostkeys.c --- Functions for managing hostkeys stored in files.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/init.c b/lib/init.c
index 8ec413a..e4f4b8d 100644
--- a/lib/init.c
+++ b/lib/init.c
@@ -1,5 +1,5 @@
 /* init.c --- Initialization functions.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/internal.h b/lib/internal.h
index 4256c2b..82b56ff 100644
--- a/lib/internal.h
+++ b/lib/internal.h
@@ -1,5 +1,5 @@
 /* internal.h --- Internal header file for Shishi.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/kdc.c b/lib/kdc.c
index b5d0ac7..1055201 100644
--- a/lib/kdc.c
+++ b/lib/kdc.c
@@ -1,5 +1,5 @@
 /* kdc.c --- Key distribution (AS/TGS) functions.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/kdcrep.c b/lib/kdcrep.c
index 0f9bace..6e0f02b 100644
--- a/lib/kdcrep.c
+++ b/lib/kdcrep.c
@@ -1,5 +1,5 @@
 /* kdcrep.c --- Key distribution (AS/TGS) Reply functions.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/kdcreq.c b/lib/kdcreq.c
index 01d04bb..219b6df 100644
--- a/lib/kdcreq.c
+++ b/lib/kdcreq.c
@@ -1,5 +1,5 @@
 /* kdcreq.c --- Key distribution (AS/TGS) request functions.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/kerberos5.asn1 b/lib/kerberos5.asn1
index 6e5cafd..5bacdc6 100644
--- a/lib/kerberos5.asn1
+++ b/lib/kerberos5.asn1
@@ -1,5 +1,5 @@
 -- kerberos.asn1 - Kerberos ASN.1 schema
--- Copyright (C) 2002-2013 Simon Josefsson
+-- Copyright (C) 2002-2014 Simon Josefsson
 --
 -- This file is part of Shishi.
 
diff --git a/lib/key.c b/lib/key.c
index bf2e085..3043e1c 100644
--- a/lib/key.c
+++ b/lib/key.c
@@ -1,5 +1,5 @@
 /* key.c --- Key related functions.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/keys.c b/lib/keys.c
index 414969d..f81dd17 100644
--- a/lib/keys.c
+++ b/lib/keys.c
@@ -1,5 +1,5 @@
 /* keys.c --- Functions for managing keys sets, and keys stored in files.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/keytab.c b/lib/keytab.c
index 46a3c33..0400df6 100644
--- a/lib/keytab.c
+++ b/lib/keytab.c
@@ -1,5 +1,5 @@
 /* keys.c --- Functions for reading /etc/krb5.keytab style key files.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/krberror.c b/lib/krberror.c
index b44a4ac..8ba74a0 100644
--- a/lib/krberror.c
+++ b/lib/krberror.c
@@ -1,5 +1,5 @@
 /* krberror.c --- Functions related to KRB-ERROR packet.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/libshishi.map b/lib/libshishi.map
index ad929bd..6d26775 100644
--- a/lib/libshishi.map
+++ b/lib/libshishi.map
@@ -1,5 +1,5 @@
 # libshishi.maps -- versioning script to control what symbols to export
-# Copyright (C) 2005-2013 Simon Josefsson.
+# Copyright (C) 2005-2014 Simon Josefsson.
 #
 # This file is part of Shishi.
 #
diff --git a/lib/low-crypto.c b/lib/low-crypto.c
index da7a741..0e36534 100644
--- a/lib/low-crypto.c
+++ b/lib/low-crypto.c
@@ -1,5 +1,5 @@
 /* low-crypto.c --- Shishi crypto wrappers around generic crypto.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/low-crypto.h b/lib/low-crypto.h
index 17deae0..fde6f3f 100644
--- a/lib/low-crypto.h
+++ b/lib/low-crypto.h
@@ -1,5 +1,5 @@
 /* low-crypto.h --- Crypto initialization prototypes.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/netio.c b/lib/netio.c
index 87c5c5e..f6ca6b7 100644
--- a/lib/netio.c
+++ b/lib/netio.c
@@ -1,5 +1,5 @@
 /* netio.c --- Network I/O functions.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/password.c b/lib/password.c
index 698df79..27cb87d 100644
--- a/lib/password.c
+++ b/lib/password.c
@@ -1,5 +1,5 @@
 /* password.c --- Get passwords from user.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/pki.c b/lib/pki.c
index fb19a9a..99dd9d7 100644
--- a/lib/pki.c
+++ b/lib/pki.c
@@ -1,5 +1,5 @@
 /* pki.c --- Public Key Infrastructure support functions for Shishi.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/principal.c b/lib/principal.c
index c52de4e..5612a8b 100644
--- a/lib/principal.c
+++ b/lib/principal.c
@@ -1,5 +1,5 @@
 /* principal.c --- Get and set default principal.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/priv.c b/lib/priv.c
index bb1bc36..0178c4c 100644
--- a/lib/priv.c
+++ b/lib/priv.c
@@ -1,5 +1,5 @@
 /* priv.c --- Application data privacy protection.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/realm.c b/lib/realm.c
index ee4775e..89553b3 100644
--- a/lib/realm.c
+++ b/lib/realm.c
@@ -1,5 +1,5 @@
 /* realm.c --- Realm related functions.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/resolv.c b/lib/resolv.c
index 88235b1..28c9d35 100644
--- a/lib/resolv.c
+++ b/lib/resolv.c
@@ -1,5 +1,5 @@
 /* resolv.c --- Resolver glue.
- * Copyright (C) 2003-2013 Simon Josefsson
+ * Copyright (C) 2003-2014 Simon Josefsson
  * Copyright (C) 2002 Jeremie Miller, Thomas Muldowney,
  *                    Ryan Eatmon, Robert Norris
  *
diff --git a/lib/safe.c b/lib/safe.c
index c757108..815a359 100644
--- a/lib/safe.c
+++ b/lib/safe.c
@@ -1,5 +1,5 @@
 /* safe.c --- Application data integrity protection.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/shishi.h b/lib/shishi.h
index 57c1201..0127588 100644
--- a/lib/shishi.h
+++ b/lib/shishi.h
@@ -1,5 +1,5 @@
 /* shishi.h --- Header file for Shishi library.                       -*- c -*-
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/starttls.c b/lib/starttls.c
index 13a427c..5599371 100644
--- a/lib/starttls.c
+++ b/lib/starttls.c
@@ -1,5 +1,5 @@
 /* starttls.c --- Network I/O functions for Shishi over TLS.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/starttls.h b/lib/starttls.h
index 689a905..4790502 100644
--- a/lib/starttls.h
+++ b/lib/starttls.h
@@ -1,5 +1,5 @@
 /* starttls.h --- Network I/O functions for Shishi over TLS.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/tgs.c b/lib/tgs.c
index 372a4de..e609b85 100644
--- a/lib/tgs.c
+++ b/lib/tgs.c
@@ -1,5 +1,5 @@
 /* tgs.c --- High level client TGS functions.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/ticket.c b/lib/ticket.c
index 3f9ed2b..3390295 100644
--- a/lib/ticket.c
+++ b/lib/ticket.c
@@ -1,5 +1,5 @@
 /* ticket.c --- Low-level ASN.1 Ticket handling.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/tkt.c b/lib/tkt.c
index a6b7f2a..05af6b5 100644
--- a/lib/tkt.c
+++ b/lib/tkt.c
@@ -1,5 +1,5 @@
 /* tkt.c --- Ticket handling.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/tktccache.c b/lib/tktccache.c
index 129174f..907875a 100644
--- a/lib/tktccache.c
+++ b/lib/tktccache.c
@@ -1,5 +1,5 @@
 /* ccache.c --- Credential Cache compatibility ticket set handling.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/tkts.c b/lib/tkts.c
index 8b2b503..24078a2 100644
--- a/lib/tkts.c
+++ b/lib/tkts.c
@@ -1,5 +1,5 @@
 /* tkts.c --- Ticket set handling.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/utils.c b/lib/utils.c
index fbd1a2a..38aafee 100644
--- a/lib/utils.c
+++ b/lib/utils.c
@@ -1,5 +1,5 @@
 /* utils.c --- Auxilliary help functions.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/utils.h b/lib/utils.h
index 50caa5c..da014a2 100644
--- a/lib/utils.h
+++ b/lib/utils.h
@@ -1,5 +1,5 @@
 /* utils.h --- Auxilliary help prototypes.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/lib/version.c b/lib/version.c
index 6c48cff..0cee6f3 100644
--- a/lib/version.c
+++ b/lib/version.c
@@ -1,5 +1,5 @@
 /* version.c --- Version handling.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/maint.mk b/maint.mk
index 2b454a1..1f5bddd 100644
--- a/maint.mk
+++ b/maint.mk
@@ -2,7 +2,7 @@
 # This Makefile fragment tries to be general-purpose enough to be
 # used by many projects via the gnulib maintainer-makefile module.
 
-## Copyright (C) 2001-2013 Free Software Foundation, Inc.
+## Copyright (C) 2001-2014 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
@@ -21,13 +21,6 @@
 # ME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
 ME := maint.mk
 
-# Diagnostic for continued use of deprecated variable.
-# Remove in 2013
-ifneq ($(build_aux),)
- $(error "$(ME): \
-set $$(_build-aux) relative to $$(srcdir) instead of $$(build_aux)")
-endif
-
 # Helper variables.
 _empty =
 _sp = $(_empty) $(_empty)
@@ -76,7 +69,7 @@ _dot_escaped_srcdir = $(subst .,\.,$(srcdir))
 ifeq ($(srcdir),.)
   _prepend_srcdir_prefix =
 else
-  _prepend_srcdir_prefix = | sed 's|^|$(srcdir)/|'
+  _prepend_srcdir_prefix = | $(SED) 's|^|$(srcdir)/|'
 endif
 
 # In order to be able to consistently filter "."-relative names,
@@ -85,7 +78,7 @@ endif
 _sc_excl = \
   $(or $(exclude_file_name_regexp--$@),^$$)
 VC_LIST_EXCEPT = \
-  $(VC_LIST) | sed 's|^$(_dot_escaped_srcdir)/||' \
+  $(VC_LIST) | $(SED) 's|^$(_dot_escaped_srcdir)/||' \
        | if test -f $(srcdir)/.x-$@; then grep -vEf $(srcdir)/.x-$@; \
          else grep -Ev -e "$${VC_LIST_EXCEPT_DEFAULT-ChangeLog}"; fi \
        | grep -Ev -e '($(VC_LIST_ALWAYS_EXCLUDE_REGEX)|$(_sc_excl))' \
@@ -155,11 +148,12 @@ export LC_ALL = C
 ## Sanity checks.  ##
 ## --------------- ##
 
+ifneq ($(_gl-Makefile),)
 _cfg_mk := $(wildcard $(srcdir)/cfg.mk)
 
 # Collect the names of rules starting with 'sc_'.
-syntax-check-rules := $(sort $(shell sed -n 's/^\(sc_[a-zA-Z0-9_-]*\):.*/\1/p' 
\
-                       $(srcdir)/$(ME) $(_cfg_mk)))
+syntax-check-rules := $(sort $(shell $(SED) -n \
+   's/^\(sc_[a-zA-Z0-9_-]*\):.*/\1/p' $(srcdir)/$(ME) $(_cfg_mk)))
 .PHONY: $(syntax-check-rules)
 
 ifeq ($(shell $(VC_LIST) >/dev/null 2>&1; echo $$?),0)
@@ -196,6 +190,7 @@ local-check :=                                              
                \
     $(filter-out $(local-checks-to-skip), $(local-checks-available)))
 
 syntax-check: $(local-check)
+endif
 
 # _sc_search_regexp
 #
@@ -445,10 +440,10 @@ sc_require_config_h:
 # You must include <config.h> before including any other header file.
 # This can possibly be via a package-specific header, if given by cfg.mk.
 sc_require_config_h_first:
-       @if $(VC_LIST_EXCEPT) | grep -l '\.c$$' > /dev/null; then       \
+       @if $(VC_LIST_EXCEPT) | grep '\.c$$' > /dev/null; then          \
          fail=0;                                                       \
          for i in $$($(VC_LIST_EXCEPT) | grep '\.c$$'); do             \
-           grep '^# *include\>' $$i | sed 1q                           \
+           grep '^# *include\>' $$i | $(SED) 1q                        \
                | grep -E '^# *include $(config_h_header)' > /dev/null  \
              || { echo $$i; fail=1; };                                 \
          done;                                                         \
@@ -468,8 +463,8 @@ sc_prohibit_HAVE_MBRTOWC:
 # re: a regular expression that matches IFF something provided by $h is used.
 define _sc_header_without_use
   dummy=; : so we do not need a semicolon before each use;             \
-  h_esc=`echo '[<"]'"$$h"'[">]'|sed 's/\./\\\\./g'`;                   \
-  if $(VC_LIST_EXCEPT) | grep -l '\.c$$' > /dev/null; then             \
+  h_esc=`echo '[<"]'"$$h"'[">]'|$(SED) 's/\./\\\\./g'`;                        
\
+  if $(VC_LIST_EXCEPT) | grep '\.c$$' > /dev/null; then                        
\
     files=$$(grep -l '^# *include '"$$h_esc"                           \
             $$($(VC_LIST_EXCEPT) | grep '\.c$$')) &&                   \
     grep -LE "$$re" $$files | grep . &&                                        
\
@@ -591,7 +586,7 @@ sc_prohibit_root_dev_ino_without_use:
 
 sc_prohibit_openat_without_use:
        @h='openat.h' \
-       
re='\<(openat_(permissive|needs_fchdir|(save|restore)_fail)|l?(stat|ch(own|mod))at|(euid)?accessat)\>'
 \
+       
re='\<(openat_(permissive|needs_fchdir|(save|restore)_fail)|l?(stat|ch(own|mod))at|(euid)?accessat|(FCHMOD|FCHOWN|STAT)AT_INLINE)\>'
 \
          $(_sc_header_without_use)
 
 # Prohibit the inclusion of c-ctype.h without an actual use.
@@ -716,7 +711,7 @@ sc_changelog:
 # Ensure that each .c file containing a "main" function also
 # calls set_program_name.
 sc_program_name:
-       @require='set_program_name *\(m?argv\[0\]\);'                   \
+       @require='set_program_name *\(.*\);'                            \
        in_vc_files='\.c$$'                                             \
        containing='\<main *('                                          \
        halt='the above files do not call set_program_name'             \
@@ -789,7 +784,7 @@ sc_useless_cpp_parens:
 # #if HAVE_HEADER_H that you remove, be sure that your project explicitly
 # requires the gnulib module that guarantees the usability of that header.
 gl_assured_headers_ = \
-  cd $(gnulib_dir)/lib && echo *.in.h|sed 's/\.in\.h//g'
+  cd $(gnulib_dir)/lib && echo *.in.h|$(SED) 's/\.in\.h//g'
 
 # Convert the list of names to upper case, and replace each space with "|".
 az_ = abcdefghijklmnopqrstuvwxyz
@@ -809,7 +804,7 @@ sc_prohibit_always_true_header_tests:
          $(_sc_search_regexp)
 
 sc_prohibit_defined_have_decl_tests:
-       @prohibit='#[    ]*if(n?def|.*\<defined)\>[      (]+HAVE_DECL_' \
+       @prohibit='(#[   ]*ifn?def|\<defined)\>[         (]+HAVE_DECL_' \
        halt='HAVE_DECL macros are always defined'                      \
          $(_sc_search_regexp)
 
@@ -840,7 +835,7 @@ define def_sym_regex
              && perl -lne '$(gl_extract_significant_defines_)' $$f;    \
          done;                                                         \
        ) | sort -u                                                     \
-         | sed 's/^/^ *# *(define|undef)  */;s/$$/\\>/'
+         | $(SED) 's/^/^ *# *(define|undef)  */;s/$$/\\>/'
 endef
 
 # Don't define macros that we already get from gnulib header files.
@@ -1001,6 +996,14 @@ sc_prohibit_undesirable_word_seq:
          | grep -vE '$(ignore_undesirable_word_sequence_RE_)' | grep . \
          && { echo '$(ME): undesirable word sequence' >&2; exit 1; } || :
 
+# Except for shell files and for loops, double semicolon is probably a mistake
+sc_prohibit_double_semicolon:
+       @prohibit='; *;[        {} \]*(/[/*]|$$)'                       \
+       in_vc_files='\.[chly]$$'                                        \
+       exclude='\bfor *\(.*\)'                                         \
+       halt="Double semicolon detected"                                \
+         $(_sc_search_regexp)
+
 _ptm1 = use "test C1 && test C2", not "test C1 -''a C2"
 _ptm2 = use "test C1 || test C2", not "test C1 -''o C2"
 # Using test's -a and -o operators is not portable.
@@ -1054,12 +1057,12 @@ sc_const_long_option:
          $(_sc_search_regexp)
 
 NEWS_hash =                                                            \
-  $$(sed -n '/^\*.* $(PREV_VERSION_REGEXP) ([0-9-]*)/,$$p'             \
+  $$($(SED) -n '/^\*.* $(PREV_VERSION_REGEXP) ([0-9-]*)/,$$p'          \
        $(srcdir)/NEWS                                                  \
      | perl -0777 -pe                                                  \
        's/^Copyright.+?Free\sSoftware\sFoundation,\sInc\.\n//ms'       \
      | md5sum -                                                                
\
-     | sed 's/ .*//')
+     | $(SED) 's/ .*//')
 
 # Ensure that we don't accidentally insert an entry into an old NEWS block.
 sc_immutable_NEWS:
@@ -1097,7 +1100,7 @@ sc_makefile_at_at_check:
          && { echo '$(ME): use $$(...), not @...@' 1>&2; exit 1; } || :
 
 news-check: NEWS
-       $(AM_V_GEN)if sed -n $(news-check-lines-spec)p $<               \
+       $(AM_V_GEN)if $(SED) -n $(news-check-lines-spec)p $<            \
            | grep -E $(news-check-regexp) >/dev/null; then             \
          :;                                                            \
        else                                                            \
@@ -1146,7 +1149,7 @@ sc_po_check:
            files="$$files $$file";                                     \
          done;                                                         \
          grep -E -l '$(_gl_translatable_string_re)' $$files            \
-           | sed 's|^$(_dot_escaped_srcdir)/||' | sort -u > address@hidden;    
\
+           | $(SED) 's|^$(_dot_escaped_srcdir)/||' | sort -u > address@hidden; 
\
          diff -u -L $(po_file) -L $(po_file) address@hidden address@hidden     
                \
            || { printf '$(ME): '$(fix_po_file_diag) 1>&2; exit 1; };   \
          rm -f address@hidden address@hidden;                                  
        \
@@ -1192,7 +1195,7 @@ sc_copyright_check:
        in_vc_files=$(sample-test)                                      \
        halt='out of date copyright in $(sample-test); update it'       \
          $(_sc_search_regexp)
-       @require='Copyright @copyright\{\} .*'$$(date +%Y)' Free'       \
+       @require='Copyright @copyright\{\} .*'$$(date +%Y)              \
        in_vc_files=$(texi)                                             \
        halt='out of date copyright in $(texi); update it'              \
          $(_sc_search_regexp)
@@ -1283,15 +1286,17 @@ vc-diff-check:
 rel-files = $(DIST_ARCHIVES)
 
 gnulib_dir ?= $(srcdir)/gnulib
-gnulib-version = $$(cd $(gnulib_dir) && git describe)
+gnulib-version = $$(cd $(gnulib_dir)                           \
+                    && { git describe || git rev-parse --short=10 HEAD; } )
 bootstrap-tools ?= autoconf,automake,gnulib
 
+gpgv = $$(gpgv2 --version >/dev/null && echo gpgv2 || echo gpgv)
 # If it's not already specified, derive the GPG key ID from
 # the signed tag we've just applied to mark this release.
 gpg_key_ID ?=                                                          \
   $$(cd $(srcdir)                                                      \
      && git cat-file tag v$(VERSION)                                   \
-        | gpgv --status-fd 1 --keyring /dev/null - - 2>/dev/null       \
+        | $(gpgv) --status-fd 1 --keyring /dev/null - - 2>/dev/null    \
         | awk '/^\[GNUPG:\] ERRSIG / {print $$3; exit}')
 
 translation_project_ ?= address@hidden
@@ -1393,8 +1398,8 @@ public-submodule-commit:
                && git --version >/dev/null 2>&1; then                  \
          cd $(srcdir) &&                                               \
          git submodule --quiet foreach                                 \
-             test '"$$(git rev-parse "$$sha1")"'                       \
-             = '"$$(git merge-base origin "$$sha1")"'                  \
+             'test "$$(git rev-parse "$$sha1")"                        \
+                 = "$$(git merge-base origin "$$sha1")"'               \
            || { echo '$(ME): found non-public submodule commit' >&2;   \
                 exit 1; };                                             \
        else                                                            \
@@ -1424,6 +1429,7 @@ alpha beta stable: $(local-check) writable-files 
$(submodule-checks)
        $(AM_V_at)$(MAKE) -s emit_upload_commands RELEASE_TYPE=$@
 
 release:
+       $(AM_V_GEN)$(MAKE) _version
        $(AM_V_GEN)$(MAKE) $(release-type)
 
 # Override this in cfg.mk if you follow different procedures.
@@ -1508,7 +1514,7 @@ refresh-gnulib-patches:
          test -n "$$t" && gl=$$t;                                      \
        fi;                                                             \
        for diff in $$(cd $$gl; git ls-files | grep '\.diff$$'); do     \
-         b=$$(printf %s "$$diff"|sed 's/\.diff$$//');                  \
+         b=$$(printf %s "$$diff"|$(SED) 's/\.diff$$//');               \
          VERSION_CONTROL=none                                          \
            patch "$(gnulib_dir)/$$b" "$$gl/$$diff" || exit 1;          \
          ( cd $(gnulib_dir) || exit 1;                                 \
@@ -1527,7 +1533,8 @@ refresh-po:
        wget --no-verbose --directory-prefix $(PODIR) --no-directories 
--recursive --level 1 --accept .po --accept .po.1 $(POURL) && \
        echo 'address@hidden' > $(PODIR)/LINGUAS && \
        echo 'address@hidden' >> $(PODIR)/LINGUAS && \
-       ls $(PODIR)/*.po | sed 's/\.po//;s,$(PODIR)/,,' | sort >> 
$(PODIR)/LINGUAS
+       ls $(PODIR)/*.po | $(SED) 's/\.po//;s,$(PODIR)/,,' | \
+         sort >> $(PODIR)/LINGUAS
 
  # Running indent once is not idempotent, but running it twice is.
 INDENT_SOURCES ?= $(C_SOURCES)
@@ -1637,18 +1644,18 @@ _gl_tight_scope: $(bin_PROGRAMS)
               test -f $$f && d= || d=$(srcdir)/; echo $$d$$f; done`;   \
        ( printf '^%s$$\n' '__.*' $(_gl_TS_unmarked_extern_functions);  \
          grep -h -A1 '^extern .*[^;]$$' $$src                          \
-           | grep -vE '^(extern |--)' | sed 's/ .*//';                 \
+           | grep -vE '^(extern |--)' | $(SED) 's/ .*//';              \
          perl -lne                                                     \
             '$(_gl_TS_function_match) and print "^$$1\$$"' $$hdr;      \
        ) | sort -u > $$t;                                              \
-       nm -e $(_gl_TS_obj_files) | sed -n 's/.* T //p'|grep -Ev -f $$t \
+       nm -e $(_gl_TS_obj_files)|$(SED) -n 's/.* T //p'|grep -Ev -f $$t \
          && { echo the above functions should have static scope >&2;   \
               exit 1; } || : ;                                         \
        ( printf '^%s$$\n' '__.*' $(_gl_TS_unmarked_extern_vars);       \
          perl -lne '$(_gl_TS_var_match) and print "^$$1\$$"'           \
                $$hdr $(_gl_TS_other_headers)                           \
        ) | sort -u > $$t;                                              \
-       nm -e $(_gl_TS_obj_files) | sed -n 's/.* [BCDGRS] //p'          \
+       nm -e $(_gl_TS_obj_files) | $(SED) -n 's/.* [BCDGRS] //p'       \
             | sort -u | grep -Ev -f $$t                                        
\
          && { echo the above variables should have static scope >&2;   \
               exit 1; } || :
diff --git a/po/LINGUAS b/po/LINGUAS
index 3ee96d7..7d1e7f6 100644
--- a/po/LINGUAS
+++ b/po/LINGUAS
@@ -1,5 +1,6 @@
 address@hidden
 address@hidden
+de
 fi
 fr
 pl
diff --git a/po/POTFILES.in b/po/POTFILES.in
index d2f7569..02bc8b7 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,5 +1,5 @@
 # List of source files containing translatable strings for shishi.
-# Copyright (c) 2002-2013 Simon Josefsson
+# Copyright (c) 2002-2014 Simon Josefsson
 lib/error.c
 lib/krberror.c
 db/err.c
diff --git a/po/de.po.in b/po/de.po.in
new file mode 100644
index 0000000..d6bc421
--- /dev/null
+++ b/po/de.po.in
@@ -0,0 +1,950 @@
+# German translation of shishi.
+# Copyright (C) 2014 Free Software Foundation, Inc.
+# This file is distributed under the same license as the shishi package.
+# Mario Blättermann <address@hidden>, 2014.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: shishi 1.0.2\n"
+"Report-Msgid-Bugs-To: address@hidden"
+"POT-Creation-Date: 2013-04-03 11:27+0200\n"
+"PO-Revision-Date: 2014-04-22 21:42+0100\n"
+"Last-Translator: Mario Blättermann <address@hidden>\n"
+"Language-Team: German <address@hidden>\n"
+"Language: de\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"
+"X-Generator: Poedit 1.5.4\n"
+
+#: lib/error.c:33
+msgid "Shishi success"
+msgstr "Shishi-Erfolg"
+
+#: lib/error.c:35
+msgid "Error in ASN.1 function (corrupt data?)"
+msgstr "Fehler in ASN.1-Funktion (beschädigte Daten?)"
+
+#: lib/error.c:37
+msgid "Could not open file"
+msgstr "Datei konnte nicht geöffnet werden"
+
+#: lib/error.c:39
+msgid "File input/output error"
+msgstr "Datei-Eingabe-/Ausgabe-Fehler"
+
+#: lib/error.c:41
+msgid "Memory allocation error in shishi library."
+msgstr "Fehler bei der Speicherzuweisung in der shishi-Bibliothek."
+
+#: lib/error.c:43
+msgid "Base64 encoding or decoding failed. Data corrupt?"
+msgstr "Base64-Kodierung oder -Dekodierung fehlgeschlagen. Daten beschädigt?"
+
+#: lib/error.c:45
+msgid "Client realm value differ between request and reply."
+msgstr "Realm-Werte für Client in Anfrage und Antwort sind unterschiedlich."
+
+#: lib/error.c:47
+msgid "Client name value differ between request and reply."
+msgstr "Name-Werte für Client in Anfrage und Antwort sind unterschiedlich."
+
+#: lib/error.c:49
+msgid "Replay protection value (nonce) differ between request and reply."
+msgstr "Wert für Antwortschutz (nonce) ist für Anfrage und Antwort 
unterschiedlich."
+
+#: lib/error.c:51
+msgid "Incorrect key type used in TGS reply."
+msgstr "Inkorrekter Schlüsseltyp in TGS-Antwort verwendet."
+
+#: lib/error.c:53
+msgid "Incorrect key type used in reply from KDC."
+msgstr "Inkorrekter Schlüsseltyp in Antwort von KDC verwendet."
+
+#: lib/error.c:55
+msgid "Incorrect key type used in AP reply."
+msgstr "Inkorrekter Schlüsseltyp in AP-Antwort verwendet."
+
+#: lib/error.c:57
+msgid "Failed verification of AP reply."
+msgstr "Fehler bei der Verifizierung der AP-Antwort."
+
+#: lib/error.c:59
+msgid "Incorrect key type used in AP request."
+msgstr "Inkorrekter Schlüsseltyp in AP-Anfrage verwendet."
+
+#: lib/error.c:61
+msgid "Provided buffer was too small."
+msgstr "Bereitgestellter Puffer war zu klein."
+
+#: lib/error.c:63
+msgid "Derived key material is too short to be applicable."
+msgstr "Erhaltenes Schlüsselmaterial war zu klein, um verwendbar zu sein."
+
+#: lib/error.c:65
+msgid "The key is too large to be usable."
+msgstr "Der Schlüssel ist zu groß, um verwendbar zu sein."
+
+#: lib/error.c:67
+msgid "Low-level cryptographic primitive failed.  This usually indicates bad 
password or data corruption."
+msgstr "Low-Level Verschlüsselungs-Primitive fehlgeschlagen. Dies weist 
üblicherweise auf ein falsches Passwort oder beschädigte Daten hin."
+
+#: lib/error.c:70
+msgid "Internal error in low-level crypto routines."
+msgstr "Interner Fehler in Low-Level-Verschlüsselungsroutinen."
+
+#: lib/error.c:72
+msgid "The system call socket() failed.  This usually indicates that your 
system does not support the socket type."
+msgstr "Der Systemaufruf socket() ist fehlgeschlagen. Dies weist 
üblicherweise darauf hin, dass Ihr System den Socket-Typ nicht unterstützt."
+
+#: lib/error.c:75
+msgid "The system call bind() failed.  This usually indicates insufficient 
permissions."
+msgstr "Der Systemaufruf bind() ist fehlgeschlagen. Dies weist üblicherweise 
auf unzureichende Zugriffsrechte hin."
+
+#: lib/error.c:78
+msgid "The system call sendto() failed."
+msgstr "Der Systemaufruf sendto() ist fehlgeschlagen."
+
+#: lib/error.c:80
+msgid "Error receiving data from server"
+msgstr "Fehler beim Empfangen der Daten vom Server."
+
+#: lib/error.c:82
+msgid "The system call close() failed."
+msgstr "Der Systemaufruf close() ist fehlgeschlagen."
+
+#: lib/error.c:84
+msgid "Timed out talking to KDC. This usually indicates a network or KDC 
address problem."
+msgstr "Zeitüberschreitung bei der Kommunikation mit KDC. Dies weist 
üblicherweise auf ein Netzwerk- oder KDC-Adressproblem hin."
+
+#: lib/error.c:87
+msgid "No KDC known for given realm."
+msgstr "Für den angegebenen Realm ist kein KDC bekannt."
+
+#: lib/error.c:89
+msgid "No TTY assigned to process."
+msgstr "Kein TTY ist dem Prozess zugeordnet."
+
+#: lib/error.c:91
+msgid "Server replied to the request with an error message."
+msgstr "Server antwortete auf die Anfrage mit einer Fehlermeldung."
+
+#: lib/error.c:93
+msgid "Failure to use handle.  Missing handle, or misconfigured."
+msgstr "Verarbeitung nicht möglich. Verarbeitungsfunktion fehlt oder falsch 
konfiguriert."
+
+#: lib/error.c:95
+msgid "Ticket set not initialized.  This usually indicates an internal 
application error."
+msgstr "Der Ticket-Satz ist nicht initialisiert. Dies weist üblicherweise auf 
einen internen Anwendungsfehler hin."
+
+#: lib/error.c:98
+msgid "Key type used to encrypt ticket doesn't match provided key. This 
usually indicates an internal application error."
+msgstr "Der Typ des zum Verschlüsseln des Tickets verwendeten Schlüssel 
entspricht nicht dem bereitgestellten Schlüssel. Dies weist üblicherweise auf 
einen internen Anwendungsfehler hin."
+
+#: lib/error.c:101
+msgid "Reference to invalid encryption key."
+msgstr "Referenz auf einen ungültigen Schlüssel zum Verschlüsseln."
+
+#: lib/error.c:103
+msgid "Could not decrypt AP-REQ using provided key. This usually indicates an 
internal application error."
+msgstr "AP-REQ konnte mit dem bereitgestellten Schlüssel nicht entschlüsselt 
werden. Dies weist üblicherweise auf einen internen Anwendungsfehler hin."
+
+#: lib/error.c:106
+msgid "Could not decrypt Ticket using provided key. This usually indicates an 
internal application error."
+msgstr "Ticket konnte mit dem bereitgestellten Schlüssel nicht entschlüsselt 
werden. Dies weist üblicherweise auf einen internen Anwendungsfehler hin."
+
+#: lib/error.c:109
+msgid "Invalid ticked passed in call."
+msgstr "Ungültiges Ticket im  Aufruf übergeben."
+
+#: lib/error.c:111
+msgid "Argument lies outside of valid range."
+msgstr "Argument ist außerhalb des gültigen Bereichs."
+
+#: lib/error.c:113
+msgid "The ASN.1 structure does not contain the indicated element."
+msgstr "Die ASN.1-Struktur enthält das bezeichnete Element nicht."
+
+#: lib/error.c:115
+msgid "Attempted access to non-existent key type."
+msgstr "Versuch, auf einen nicht existierenden Schlüsseltyp zuzugreifen."
+
+#: lib/error.c:117 lib/error.c:135
+msgid "Verification failed on either side."
+msgstr "Überprüfung ist auf einer der Seiten fehlgeschlagen."
+
+#: lib/error.c:119
+msgid "Invalid PKCS5 descriptor."
+msgstr "Ungültiger PKCS5-Bezeichner."
+
+#: lib/error.c:121
+msgid "Invalid claim of iteration count in PKCS5 descriptor."
+msgstr "Ungültige Angabe der Anzahl der Durchläufe im PKCS5-Bezeichner."
+
+#: lib/error.c:123
+msgid "Derived key length is incorrect for PKCS5 descriptor."
+msgstr "Erhaltene Schlüssellänge ist inkorrekt für den PKCS5-Bezeichner."
+
+#: lib/error.c:125
+msgid "Derived key is too long for PKCS5 descriptor."
+msgstr "Erhaltener Schlüssel ist zu lang für den PKCS5-Bezeichner."
+
+#: lib/error.c:127
+msgid "Principal name syntax error."
+msgstr "Syntaxfehler im Principal-Namen."
+
+#: lib/error.c:129
+msgid "Invalid argument passed in call.  Wrong or unknown value."
+msgstr "Ungültiges Argument im Aufruf übergeben. Falscher oder unbekannter 
Wert."
+
+#: lib/error.c:131
+msgid "The indicated ASN.1 element does not carry a value."
+msgstr "Das angegebene ASN.1-Element beinhaltet keinen Wert."
+
+#: lib/error.c:133
+msgid "Connection attempt failed.  Try again, or check availability."
+msgstr "Verbindungsversuch ist fehlgeschlagen. Versuchen Sie es erneut oder 
überprüfen Sie die Verfügbarkeit."
+
+#: lib/error.c:137
+msgid "The private key uses an incompatible encryption type."
+msgstr "Der geheime Schlüssel verwendet einen inkompatiblen 
Verschlüsselungstyp."
+
+#: lib/error.c:139
+msgid "The desired file could not be accessed.  Check permissions."
+msgstr "Auf die gewünschte Datei konnte nicht zugegriffen werden. 
Überprüfen Sie die Zugriffsrechte."
+
+#: lib/error.c:141
+msgid "The present AP reply specifies an inpermissible key type."
+msgstr "Die aktuelle AP-Antwort gibt einen Schlüsseltyp an, auf den nicht 
zugegriffen werden kann."
+
+#: lib/error.c:143
+msgid "A request for present time of day has failed. This is usually internal, 
but a valid time is imperative for us."
+msgstr "Eine Anfrage für die aktuelle Tageszeit ist fehlgeschlagen. Dies ist 
üblicherweise intern, aber eine gültige Zeit ist für uns notwendig."
+
+#: lib/error.c:146
+msgid "Failed to parse keytab file"
+msgstr "Lesen der keytab-Datei ist fehlgeschlagen"
+
+#: lib/error.c:148
+msgid "Failed to parse credential cache file"
+msgstr "Zwischenspeicherdatei der Anmeldedaten konnte nicht gelesen werden"
+
+#: lib/error.c:165
+msgid "Unknown error"
+msgstr "Unbekannter Fehler"
+
+#: lib/error.c:196 lib/krberror.c:1259
+msgid "No error"
+msgstr "Kein Fehler"
+
+#: lib/error.c:326
+#, c-format
+msgid "libshishi: info: %s"
+msgstr "libshishi: Info: %s"
+
+#: lib/error.c:330
+#, c-format
+msgid "libshishi: info: %s\n"
+msgstr "libshishi: Info: %s\n"
+
+#: lib/error.c:364
+#, c-format
+msgid "libshishi: warning: %s"
+msgstr "libshishi: Warnung: %s"
+
+#: lib/error.c:368
+#, c-format
+msgid "libshishi: warning: %s\n"
+msgstr "libshishi: Warnung: %s\n"
+
+#: lib/krberror.c:137
+#, c-format
+msgid "Writing KRB-ERROR to %s...\n"
+msgstr "KRB-ERROR wird nach %s geschrieben … \n"
+
+#: lib/krberror.c:144
+#, c-format
+msgid "Writing KRB-ERROR in %s format...\n"
+msgstr "KRB-ERROR im %s-Format wird geschrieben …\n"
+
+#: lib/krberror.c:159
+#, c-format
+msgid "Writing KRB-ERROR to %s...done\n"
+msgstr "KRB-ERROR wird nach %s geschrieben … abgeschlossen.\n"
+
+#: lib/krberror.c:217
+#, c-format
+msgid "Reading KRB-ERROR from %s...\n"
+msgstr "KRB-ERROR wird aus %s gelesen … \n"
+
+#: lib/krberror.c:224
+#, c-format
+msgid "Reading KRB-ERROR in %s format...\n"
+msgstr "KRB-ERROR im %s-Format wird gelesen …\n"
+
+#: lib/krberror.c:239
+#, c-format
+msgid "Reading KRB-ERROR from %s...done\n"
+msgstr "KRB-ERROR wird aus %s gelesen … abgeschlossen.\n"
+
+#: lib/krberror.c:1261
+msgid "Client's entry in database has expired"
+msgstr "Eintrag des Clients in der Datenbank ist abgelaufen"
+
+#: lib/krberror.c:1263
+msgid "Server's entry in database has expired"
+msgstr "Eintrag des Servers in der Datenbank ist abgelaufen"
+
+#: lib/krberror.c:1265
+msgid "Requested protocol version number not supported"
+msgstr "Angefragte Nummer der Protokollversion wird nicht unterstützt"
+
+#: lib/krberror.c:1267
+msgid "Client's key encrypted in old master key"
+msgstr "Schlüssel des Clients ist in altem Master-Schlüssel verschüsselt"
+
+#: lib/krberror.c:1269
+msgid "Server's key encrypted in old master key"
+msgstr "Schlüssel des Servers ist in altem Master-Schlüssel verschüsselt"
+
+#: lib/krberror.c:1271
+msgid "Client not found in database"
+msgstr "Client nicht in Datenbank gefunden"
+
+#: lib/krberror.c:1273
+msgid "Server not found in database"
+msgstr "Server nicht in Datenbank gefunden"
+
+#: lib/krberror.c:1275
+msgid "Multiple principal entries in database"
+msgstr "Mehrere Pricipal-Einträge in der Datenbank"
+
+#: lib/krberror.c:1277
+msgid "The client or server has a null key"
+msgstr "Der Client oder Server hat einen Null-Schlüssel"
+
+#: lib/krberror.c:1279
+msgid "Ticket not eligible for postdating"
+msgstr "Ticket ist für Nachdatierung nicht geeignet"
+
+#: lib/krberror.c:1281
+msgid "Requested start time is later than end time"
+msgstr "Angefragte Startzeit liegt hinter der Endzeit"
+
+#: lib/krberror.c:1283
+msgid "KDC policy rejects request"
+msgstr "KDC-Regel weist die Anfrage zurück"
+
+#: lib/krberror.c:1285
+msgid "KDC cannot accommodate requested option"
+msgstr "KDC kann die angeforderte Option nicht verarbeiten"
+
+#: lib/krberror.c:1287
+msgid "KDC has no support for encryption type"
+msgstr "KDC verfügt über keine Unterstützung für den Verschlüsselungstyp"
+
+#: lib/krberror.c:1289
+msgid "KDC has no support for checksum type"
+msgstr "KDC verfügt über keine Unterstützung für den Prüfsummentyp"
+
+#: lib/krberror.c:1291
+msgid "KDC has no support for padata type"
+msgstr "KDC verfügt über keine Unterstützung für den 
Parallelverarbeitungstyp"
+
+#: lib/krberror.c:1293
+msgid "KDC has no support for transited type"
+msgstr "KDC verfügt nicht über Unterstützung für den Übergangstyp"
+
+#: lib/krberror.c:1295
+msgid "Clients credentials have been revoked"
+msgstr "Anmeldedaten des Clients wurden abgewiesen"
+
+#: lib/krberror.c:1297
+msgid "Credentials for server have been revoked"
+msgstr "Anmeldedaten des Servers wurden abgewiesen"
+
+#: lib/krberror.c:1299
+msgid "TGT has been revoked"
+msgstr "TGT wurde widerrufen"
+
+#: lib/krberror.c:1301
+msgid "Client not yet valid - try again later"
+msgstr "Client ist noch nicht gültig – bitte später erneut versuchen"
+
+#: lib/krberror.c:1303
+msgid "Server not yet valid - try again later"
+msgstr "Server ist noch nicht gültig – bitte später erneut versuchen"
+
+#: lib/krberror.c:1305
+msgid "Password has expired "
+msgstr "Passwort ist abgelaufen"
+
+#: lib/krberror.c:1307
+msgid "Pre-authentication information was invalid"
+msgstr "Information zur Vor-Authentifizierung war ungültig"
+
+#: lib/krberror.c:1309
+msgid "Additional pre-authentication required"
+msgstr "Zusätzliche Vor-Authentifizierung ist erforderlich"
+
+#: lib/krberror.c:1311
+msgid "Requested server and ticket don't match"
+msgstr "Angeforderter Server und Ticket passen nicht zueinander"
+
+#: lib/krberror.c:1313
+msgid "Server principal valid for user2user only"
+msgstr "Server-Principal ist nur für user2user gültig"
+
+#: lib/krberror.c:1315
+msgid "KDC Policy rejects transited path"
+msgstr "KDC-Regel weist den Übergangspfad zurück"
+
+#: lib/krberror.c:1317
+msgid "A service is not available"
+msgstr "Ein Dienst ist nicht verfügbar"
+
+#: lib/krberror.c:1319
+msgid "Integrity check on decrypted field failed"
+msgstr "Integritätsüberprüfung des entschlüsselten Feldes ist 
fehlgeschlagen"
+
+#: lib/krberror.c:1321
+msgid "Ticket expired"
+msgstr "Ticket ist abgelaufen"
+
+#: lib/krberror.c:1323
+msgid "Ticket not yet valid"
+msgstr "Ticket ist noch nicht gültig"
+
+#: lib/krberror.c:1325
+msgid "Request is a replay"
+msgstr "Anfrage ist eine Antwort"
+
+#: lib/krberror.c:1327
+msgid "The ticket isn't for us"
+msgstr "Das Ticket ist nicht für uns."
+
+#: lib/krberror.c:1329
+msgid "Ticket and authenticator don't match"
+msgstr "Ticket und Authentifizierer passen nicht zueinander"
+
+#: lib/krberror.c:1331
+msgid "Clock skew too great"
+msgstr "Zeitabweichung ist zu groß"
+
+#: lib/krberror.c:1333
+msgid "Incorrect net address"
+msgstr "Inkorrekte Netzwerkadresse"
+
+#: lib/krberror.c:1335
+msgid "Protocol version mismatch"
+msgstr "Protokollversionen stimmen nicht überein"
+
+#: lib/krberror.c:1337
+msgid "Invalid msg type"
+msgstr "Ungültiger Meldungstyp."
+
+#: lib/krberror.c:1339
+msgid "Message stream modified"
+msgstr "Meldungs-Datenstrom wurde verändert"
+
+#: lib/krberror.c:1341
+msgid "Message out of order"
+msgstr "Meldung ist nicht in Ordnung"
+
+#: lib/krberror.c:1343
+msgid "Specified version of key is not available"
+msgstr "Angegebene Version des Schlüssels ist nicht verfügbar"
+
+#: lib/krberror.c:1345
+msgid "Service key not available"
+msgstr "Service-Schlüssel ist nicht verfügbar"
+
+#: lib/krberror.c:1347
+msgid "Mutual authentication failed"
+msgstr "Gegenseitige Authentifizierung ist fehlgeschlagen"
+
+#: lib/krberror.c:1349
+msgid "Incorrect message direction"
+msgstr "Inkorrekte Meldungsrichtung"
+
+#: lib/krberror.c:1351
+msgid "Alternative authentication method required"
+msgstr "Alternative Authentifizierungsmethode ist erforderlich"
+
+#: lib/krberror.c:1353
+msgid "Incorrect sequence number in message"
+msgstr "Inkorrekte Sequenznummer in Meldung"
+
+#: lib/krberror.c:1355
+msgid "Inappropriate type of checksum in message"
+msgstr "Ungeeigneter Prüfsummentyp in der Meldung"
+
+#: lib/krberror.c:1357
+msgid "Policy rejects transited path"
+msgstr "Regel weist den Übergangspfad zurück"
+
+#: lib/krberror.c:1359
+msgid "Response too big for UDP, retry with TCP"
+msgstr "Antwort ist zu umfangreich für UDP, versuchen Sie es mit TCP"
+
+#: lib/krberror.c:1361
+msgid "Generic error (description in e-text)"
+msgstr "Allgemeiner Fehler (Beschreibung im e-text)"
+
+#: lib/krberror.c:1363
+msgid "Field is too long for this implementation"
+msgstr "Feld ist zu lang für diese Implementation"
+
+#: lib/krberror.c:1365 lib/krberror.c:1367 lib/krberror.c:1369
+#: lib/krberror.c:1371 lib/krberror.c:1373 lib/krberror.c:1381
+#: lib/krberror.c:1383 lib/krberror.c:1385 lib/krberror.c:1387
+#: lib/krberror.c:1389 lib/krberror.c:1391 lib/krberror.c:1393
+msgid "(pkinit)"
+msgstr "(pkinit)"
+
+#: lib/krberror.c:1375 lib/krberror.c:1377 lib/krberror.c:1379
+msgid "(user-to-user)"
+msgstr "(Benutzer-zu-Benutzer)"
+
+#: lib/krberror.c:1420
+#, c-format
+msgid "Unknown KRB-ERROR error code %d."
+msgstr "Unbekannter KRB-ERROR-Fehlercode %d."
+
+#: db/err.c:33
+msgid "Shisa success"
+msgstr "Shisa-Erfolg"
+
+#: db/err.c:35
+msgid "Shisa could not be initialized."
+msgstr "Shisa konnte nicht initialisiert werden."
+
+#: db/err.c:37
+msgid "The Shisa configuration file does not exist."
+msgstr "Die Shisa-Konfigurationsdatei existiert nicht."
+
+#: db/err.c:39
+msgid "File I/O error for Shisa configuration file."
+msgstr "E/A-Fehler für Shisa-Konfigurationsdatei."
+
+#: db/err.c:41
+msgid "Syntax error in Shisa configuration token."
+msgstr "Syntaxfehler im Shisa-Konfigurations-Token."
+
+#: db/err.c:43
+msgid "Shisa database could not be opened."
+msgstr "Shisha-Datenbank konnte nicht geöffnet werden."
+
+#: db/err.c:45
+msgid "Error enumerating realms in database."
+msgstr "Fehler bei der Aufzählung der Realms in der Datenbank"
+
+#: db/err.c:47
+msgid "Error enumerating principals in database."
+msgstr "Fehler bei der Aufzählung der Principals in der Datenbank."
+
+#: db/err.c:49
+msgid "Error enumerating keys in database."
+msgstr "Fehler bei der Aufzählung der Schlüssel in der Datenbank."
+
+#: db/err.c:51
+msgid "Supplied realm does not exist."
+msgstr "Angegebener Realm existiert nicht."
+
+#: db/err.c:53
+msgid "Supplied principal does not exist."
+msgstr "Angegebener Principal existiert nicht."
+
+#: db/err.c:55
+msgid "Principal is not associated with any matching key."
+msgstr "Principal ist keinem passenden Schlüssel zugeordnet."
+
+#: db/err.c:57
+msgid "Error finding principal."
+msgstr "Fehler beim Finden des Principals."
+
+#: db/err.c:59
+msgid "Tried to add a realm that already exist."
+msgstr "Es wurde versucht, einen bereits existierenden Realm zu hinzuzufügen."
+
+#: db/err.c:61
+msgid "Error adding realm to database."
+msgstr "Fehler beim Hinzufügen des Realms zur Datenbank."
+
+#: db/err.c:63
+msgid "Tried to remove a non-empty realm."
+msgstr "Es wurde versucht, einen nicht-leeren Realm zu entfernen."
+
+#: db/err.c:65
+msgid "Error removing realm from database."
+msgstr "Fehler beim Entfernen des Realms aus der Datenbank."
+
+#: db/err.c:67
+msgid "Tried to add a principal that already exist."
+msgstr "Versuch, einen bereits existierenden Principal hinzuzufügen."
+
+#: db/err.c:69
+msgid "Error adding principal to database."
+msgstr "Fehler beim Hinzufügen des Pricipals zur Datenbank."
+
+#: db/err.c:71
+msgid "Error removing principal from database."
+msgstr "Fehler beim Entfernen des Principals aus der Datenbank."
+
+#: db/err.c:73
+msgid "Error adding key to principal."
+msgstr "Fehler beim Hinzufügen des Schlüssels zum Principal."
+
+#: db/err.c:75
+msgid "Error removing key from principal."
+msgstr "Fehler beim Entfernen des Schlüssels aus dem Principal."
+
+#: db/err.c:77
+msgid "More than one key match given search criteria."
+msgstr "Mehr als ein Schlüssel entspricht den angegebenen Suchkriterien."
+
+#: db/err.c:98
+msgid "Unknown Shisa error"
+msgstr "Unbekannter Shisa-Fehler"
+
+#: db/err.c:118
+#, c-format
+msgid "shisa: %s\n"
+msgstr "shisa: %s\n"
+
+#: src/shisa.c:143
+msgid "Account is"
+msgstr "Konto ist"
+
+#: src/shisa.c:144
+msgid "DISABLED"
+msgstr "DEAKTIVIERT"
+
+#: src/shisa.c:144
+msgid "enabled"
+msgstr "aktiviert"
+
+#: src/shisa.c:145
+msgid "Current key version"
+msgstr "Aktuelle Schlüsselversion"
+
+#: src/shisa.c:147
+msgid "Account not valid before"
+msgstr "Konto ist nicht gültig vor"
+
+#: src/shisa.c:149
+msgid "Last initial TGT request at"
+msgstr "Letzte initiale TGT-Anfrage am"
+
+#: src/shisa.c:151
+msgid "Last initial request at"
+msgstr "Letzte initiale Anfrage am"
+
+#: src/shisa.c:153
+msgid "Last TGT request at"
+msgstr "Letzte TGT-Anfrage am"
+
+#: src/shisa.c:155
+msgid "Last ticket renewal at"
+msgstr "Letzte Ticket-Erneuerung am"
+
+#: src/shisa.c:157
+msgid "Password expire on"
+msgstr "Passwort läuft ab am"
+
+#: src/shisa.c:159
+msgid "Account expire on"
+msgstr "Konto läuft ab am"
+
+#: src/shisa.c:172
+msgid "Key"
+msgstr "Schlüssel"
+
+#: src/shisa.c:174
+msgid "\tEtype"
+msgstr "\tEtyp"
+
+#: src/shisa.c:177
+msgid "\tPriority"
+msgstr "\tPriorität"
+
+#: src/shisa.c:181
+msgid "\tSalt"
+msgstr "\tSalt"
+
+#: src/shisa.c:183
+msgid "\tS2K params"
+msgstr "\tS2K-Parameter"
+
+#: src/shisa.c:186
+msgid "\tPassword"
+msgstr "\tPasswort"
+
+#: src/shisa.c:189
+msgid "\tKey is"
+msgstr "\tSchlüssel ist"
+
+#: src/shisa.c:189
+msgid "MISSING"
+msgstr "FEHLT"
+
+#: src/shisa.c:267
+#, c-format
+msgid "Adding realm `%s'...\n"
+msgstr "Realm »%s« wird hinzugefügt … \n"
+
+#: src/shisa.c:269
+#, c-format
+msgid "Adding principal address@hidden'...\n"
+msgstr "Principal address@hidden wird hinzugefügt … \n"
+
+#: src/shisa.c:280
+#, c-format
+msgid "Adding realm `%s'...done\n"
+msgstr "Realm »%s« wird hinzugefügt … abgeschlossen\n"
+
+#: src/shisa.c:282
+#, c-format
+msgid "Adding principal address@hidden'...done\n"
+msgstr "Principal address@hidden wird hinzugefügt … abgeschlossen\n"
+
+#: src/shisa.c:313
+#, c-format
+msgid "Removing realm `%s'...\n"
+msgstr "Realm »%s« wird entfernt … \n"
+
+#: src/shisa.c:315
+#, c-format
+msgid "Removing principal address@hidden'...\n"
+msgstr "Principal address@hidden wird entfernt …\n"
+
+#: src/shisa.c:323
+#, c-format
+msgid "Removing realm `%s'...done\n"
+msgstr "Realm »%s« wird entfernt … abgeschlossen\n"
+
+#: src/shisa.c:325
+#, c-format
+msgid "Removing principal address@hidden'...done\n"
+msgstr "Principal address@hidden wird entfernt … abgeschlossen\n"
+
+#: src/shisa.c:372
+#, c-format
+msgid "Password for address@hidden': "
+msgstr "Passwort für address@hidden: "
+
+#: src/shisa.c:375
+msgid "Password: "
+msgstr "Passwort: "
+
+#: src/shisa.c:377
+#, c-format
+msgid "Could not read password"
+msgstr "Passwort konnte nicht gelesen werden"
+
+#: src/shisa.c:389
+#, c-format
+msgid ""
+"Could not create key (%d):\n"
+"%s"
+msgstr ""
+"Schlüssel konnte nicht erzeugt werden (%d):\n"
+"%s"
+
+#: src/shisa.c:423 src/shishi.c:59 src/shishid.c:494
+#, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr "Versuchen Sie »%s --help« für mehr Informationen.\n"
+
+#: src/shisa.c:428 src/shishi.c:64
+#, c-format
+msgid ""
+"\n"
+"Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr ""
+"\n"
+"Notwendige Argumente für Optionen in Langform sind auch für die Kurzform\n"
+"notwendig.\n"
+
+#: src/shisa.c:468 src/shishi.c:100
+#, c-format
+msgid "too many arguments"
+msgstr "zu viele Argumente"
+
+#: src/shisa.c:477
+#, c-format
+msgid ""
+"Initialization failed:\n"
+"%s"
+msgstr ""
+"Initialisierung gescheitert:\n"
+"%s"
+
+#: src/shisa.c:482
+#, c-format
+msgid ""
+"Could not read library options `%s':\n"
+"%s"
+msgstr ""
+"Bibliotheksoptionen »%s« konnten nicht gelesen werden:\n"
+"%s"
+
+#: src/shisa.c:487
+#, c-format
+msgid ""
+"Shishi initialization failed:\n"
+"%s"
+msgstr ""
+"Shishi-Initialisierung fehlgeschlagen:\n"
+"%s"
+
+#: src/shisa.c:492
+#, c-format
+msgid ""
+"Could not set encryption type `%s':\n"
+"%s"
+msgstr ""
+"Verschlüsselungstyp »%s« konnte nicht gesetzt werden:\n"
+"%s"
+
+#: src/shisa.c:500
+#, c-format
+msgid "too few arguments"
+msgstr "zu wenige Argumente"
+
+#: src/shisa.c:531
+#, c-format
+msgid "Adding default realm `%s'...\n"
+msgstr "Standard-Realm »%s« wird hinzugefügt … abgeschlossen\n"
+
+#: src/shisa.c:551
+#, c-format
+msgid "Modifying principal address@hidden'...\n"
+msgstr "Principal address@hidden wird geändert …\n"
+
+#: src/shisa.c:558
+#, c-format
+msgid "Modifying principal address@hidden'...done\n"
+msgstr "Principal address@hidden wird geändert … abgeschlossen\n"
+
+#: src/shisa.c:562
+#, c-format
+msgid "Adding key to address@hidden'...\n"
+msgstr "Schlüssel wird zu address@hidden hinzugefügt …\n"
+
+#: src/shisa.c:572
+#, c-format
+msgid "Adding key to address@hidden'...done\n"
+msgstr "Schlüssel wird zu address@hidden hinzugefügt … abgeschlossen\n"
+
+#: src/shisa.c:576
+#, c-format
+msgid "Removing key from address@hidden'...\n"
+msgstr "Schlüssel wird aus address@hidden entfernt …\n"
+
+#: src/shisa.c:589
+#, c-format
+msgid "Removing key from address@hidden'...done\n"
+msgstr "Schlüssel wird aus address@hidden entfernt … abgeschlossen\n"
+
+#: src/shishi.c:111
+#, c-format
+msgid "cannot initialize libshishi"
+msgstr "libshishi kann nicht initialisiert werden"
+
+#: src/shishi.c:115
+#, c-format
+msgid "Could not set encryption types: %s"
+msgstr "Verschlüsselungstypen konnten nicht gesetzt werden: %s"
+
+#: src/shishi.c:127
+#, c-format
+msgid "Could not parse client principal \"%s\": %s"
+msgstr "Client-Principal »%s« konnte nicht verarbeitet werden: %s"
+
+#: src/shishi.c:140
+#, c-format
+msgid "Could not parse server principal \"%s\": %s"
+msgstr "Server-Principal »%s« konnte nicht verarbeitet werden: %s"
+
+#: src/shishi.c:146
+#, c-format
+msgid "Could not read library options: %s"
+msgstr "Bibliotheksoptionen konnten nicht gelesen werden: %s"
+
+#: src/shishi.c:164
+#, c-format
+msgid "Invalid --starttime date `%s'"
+msgstr "Ungültiges --starttime-Datum »%s«"
+
+#: src/shishi.c:174
+#, c-format
+msgid "Invalid --endtime date `%s'"
+msgstr "Ungültiges --endtime-Datum »%s«"
+
+#: src/shishi.c:184
+#, c-format
+msgid "Invalid --renew-till date `%s'"
+msgstr "Ungültiges --renew-till-Datum »%s«"
+
+#: src/shishi.c:203
+#, c-format
+msgid "Tickets in `%s':\n"
+msgstr "Tickets in »%s«:\n"
+
+#: src/shishi.c:208
+#, c-format
+msgid "Could not list tickets: %s"
+msgstr "Tickets konnten nicht aufgelistet werden: %s"
+
+#: src/shishi.c:225
+#, c-format
+msgid "Removing ticket:\n"
+msgstr "Ticket wird entfernt:\n"
+
+#: src/shishi.c:232
+#, c-format
+msgid ""
+"Could not destroy ticket %d:\n"
+"%s"
+msgstr ""
+"Ticket %d konnte nicht zerstört werden:\n"
+"%s"
+
+#: src/shishi.c:242
+#, c-format
+msgid "No tickets removed.\n"
+msgstr "Keine Tickets entfernt.\n"
+
+#: src/shishi.c:244
+#, c-format
+msgid "%d ticket removed.\n"
+msgid_plural "%d tickets removed.\n"
+msgstr[0] "%d Ticket entfernt.\n"
+msgstr[1] "%d Tickets entfernt.\n"
+
+#: src/shishi.c:277
+#, c-format
+msgid "could not get ticket as `%s' for `%s'"
+msgstr "Ticket als »%s« für »%s« konnte nicht erhalten werden"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package.  Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/shishid.c:503
+#, c-format
+msgid ""
+"\n"
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"\n"
+"Report bugs to <%s>.\n"
+msgstr ""
+"\n"
+"Notwendige Argumente für Optionen in Langform sind auch für die Kurzform\n"
+"notwendig.\n"
+"\n"
+"Melden Sie Fehler an <%s>.\n"
+"Fehler in der Übersetzung melden Sie bitte an:\n"
+"<address@hidden>\n"
diff --git a/po/fi.po.in b/po/fi.po.in
index 340cd9b..018a161 100644
--- a/po/fi.po.in
+++ b/po/fi.po.in
@@ -1,21 +1,21 @@
 # Finnish messages for shishi.
-# Copyright © 2010 Free Software Foundation, Inc.
+# Copyright © 2010, 2013 Free Software Foundation, Inc.
 # Copyright © 2007, 2010 Simon Josefsson
 # This file is distributed under the same license as the shishi package.
-# Jorma Karvonen <address@hidden>, 2010.
+# Jorma Karvonen <address@hidden>, 2010, 2013.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: shishi-1.0.0\n"
+"Project-Id-Version: shishi-1.0.2\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2010-05-20 20:29+0200\n"
-"PO-Revision-Date: 2010-08-31 12:00+0200\n"
+"POT-Creation-Date: 2013-04-03 11:27+0200\n"
+"PO-Revision-Date: 2013-04-04 11:26+0300\n"
 "Last-Translator: Jorma Karvonen <address@hidden>\n"
 "Language-Team: Finnish <address@hidden>\n"
+"Language: fi\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Language: fi\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: KBabel 1.11.2\n"
 
@@ -29,7 +29,7 @@ msgstr "Virhe ASN.1-funktiossa (tiedot vaurioituneet?)"
 
 #: lib/error.c:37
 msgid "Could not open file"
-msgstr "Ei voitu avata tiedostoa"
+msgstr "Tiedoston avaus epäonnistui"
 
 #: lib/error.c:39
 msgid "File input/output error"
@@ -55,97 +55,210 @@ msgstr "Asiakasnimi eroaa pyynnön ja vastauksen 
välillä."
 msgid "Replay protection value (nonce) differ between request and reply."
 msgstr "Toista suoja-arvon (vain kerran esiintyvä numero tai bittimerkkijono) 
ero pyynnön ja vastauksen välillä."
 
-#  Kerberos indentity or ticket
 #: lib/error.c:51
-msgid "Keytype used to encrypt ticket doesn't match provided key. This usually 
indicates an internal application error."
-msgstr "Avaintyyppi, jota käytettiin pääsylipun salaukseen, ei täsmää 
tarjotun avaimen kanssa. Tämä viittaa tavallisesti sisäiseen 
sovellusvirheeseen."
+msgid "Incorrect key type used in TGS reply."
+msgstr "TGS-vastauksessa käytetty virheellistä avaintyyppiä."
 
-#: lib/error.c:54
-msgid "Internal error in low-level crypto routines."
-msgstr "Sisäinen virhe alemman tason salausrutiineissa."
+#: lib/error.c:53
+msgid "Incorrect key type used in reply from KDC."
+msgstr "Vastauksessa KDC:stä käytetty virheellistä avaintyyppiä."
 
-#: lib/error.c:56
-msgid "Low-level cryptographic primitive failed.  This usually indicates bad 
password or data corruption."
-msgstr "Alemman tason salausprimitiivi epäonnistui. Tämä tavallisesti 
viittaa väärään salasanaan tai tietojen vaurioitumiseen."
+#: lib/error.c:55
+msgid "Incorrect key type used in AP reply."
+msgstr "AP-vastauksessa käytetty virheellistä avaintyyppiä."
+
+#: lib/error.c:57
+msgid "Failed verification of AP reply."
+msgstr "AP-vastauksen todentaminen epäonnistui."
 
 #: lib/error.c:59
-msgid "Error receiving data from server"
-msgstr "Virhe vastaanotettaessa tietoja palvelimelta"
+msgid "Incorrect key type used in AP request."
+msgstr "AP-pyynnössä käytetty virheellistä avaintyyppiä."
 
-#  KDC on Kerberoksen käyttämä "Key Distribution Center"
 #: lib/error.c:61
-msgid "Timedout talking to KDC. This usually indicates a network or KDC 
address problem."
-msgstr "KDC-keskustelun aikavalvontakatkaisu. Tämä viittaa tavallisesti 
verkon tai KDC-osoitteen pulmiin."
+msgid "Provided buffer was too small."
+msgstr "Tarjottu puskuri oli liian pieni."
+
+#: lib/error.c:63
+msgid "Derived key material is too short to be applicable."
+msgstr "Periytynyt avainmateriaali oli liian lyhyt ollakseen 
käyttökelpoinen."
 
-#: lib/error.c:64
-msgid "No KDC for realm known."
-msgstr "Ei tunneta KDC:tä alueelle."
+#: lib/error.c:65
+msgid "The key is too large to be usable."
+msgstr "Avain on liian suuri käytettäväksi."
 
-#: lib/error.c:66
+#: lib/error.c:67
+msgid "Low-level cryptographic primitive failed.  This usually indicates bad 
password or data corruption."
+msgstr "Alemman tason salausprimitiivi epäonnistui. Tämä tavallisesti 
viittaa väärään salasanaan tai tietojen vaurioitumiseen."
+
+#: lib/error.c:70
+msgid "Internal error in low-level crypto routines."
+msgstr "Sisäinen virhe alemman tason salausrutiineissa."
+
+#: lib/error.c:72
 msgid "The system call socket() failed.  This usually indicates that your 
system does not support the socket type."
 msgstr "Järjestelmäkutsu socket() epäonnistui. Tämä tavallisesti viittaa 
siihen, että järjestelmäsi ei tue pistoketyyppiä."
 
-#: lib/error.c:69
+#: lib/error.c:75
 msgid "The system call bind() failed.  This usually indicates insufficient 
permissions."
 msgstr "Järjestelmäkutsu bind() epäonnistui. Tämä on tavallisesti 
merkkinä riittämättömistä käyttöoikeuksista."
 
-#: lib/error.c:72
+#: lib/error.c:78
 msgid "The system call sendto() failed."
 msgstr "Järjestelmäkutsu sendto() epäonnistui."
 
-#: lib/error.c:74
+#: lib/error.c:80
+msgid "Error receiving data from server"
+msgstr "Virhe vastaanotettaessa tietoja palvelimelta"
+
+#: lib/error.c:82
 msgid "The system call close() failed."
 msgstr "Järjestelmäkutsu close() epäonnistui."
 
-#: lib/error.c:76
-msgid "Server replied with an error message to request."
+#  KDC on Kerberoksen käyttämä "Key Distribution Center"
+#: lib/error.c:84
+msgid "Timed out talking to KDC. This usually indicates a network or KDC 
address problem."
+msgstr "KDC-keskustelun aikavalvontakatkaisu. Tämä viittaa tavallisesti 
verkon tai KDC-osoitteen pulmiin."
+
+#: lib/error.c:87
+msgid "No KDC known for given realm."
+msgstr "Ei tunneta KDC:tä annetulle alueelle."
+
+#: lib/error.c:89
+msgid "No TTY assigned to process."
+msgstr "Prosessiin ei ole liitetty TTY:tä"
+
+#: lib/error.c:91
+msgid "Server replied to the request with an error message."
 msgstr "Palvelin vastasi pyyntöön virheilmoituksella."
 
-#: lib/error.c:78
-msgid "Ticketset not initialized.  This usually indicates an internal 
application error."
+#: lib/error.c:93
+msgid "Failure to use handle.  Missing handle, or misconfigured."
+msgstr "Häiriö kahvan käytössä. Kahva puuttuu tai on väärinasetettu."
+
+#: lib/error.c:95
+msgid "Ticket set not initialized.  This usually indicates an internal 
application error."
 msgstr "Pääsylippujoukkoa ei ole alustettu.  Tämä viittaa tavallisesti 
sisäiseen sovellusvirheeseen."
 
-#: lib/error.c:81
+#  Kerberos indentity or ticket
+#: lib/error.c:98
+msgid "Key type used to encrypt ticket doesn't match provided key. This 
usually indicates an internal application error."
+msgstr "Avaintyyppi, jota käytettiin pääsylipun salaukseen, ei täsmää 
tarjotun avaimen kanssa. Tämä viittaa tavallisesti sisäiseen 
sovellusvirheeseen."
+
+#: lib/error.c:101
+msgid "Reference to invalid encryption key."
+msgstr "Viite virheellisen salausavaimeen."
+
+#: lib/error.c:103
 msgid "Could not decrypt AP-REQ using provided key. This usually indicates an 
internal application error."
-msgstr "Ei voitu purkaa AP-REQ-salausta käyttäen tarjottua avainta. Tämä 
viittaa tavallisesti sisäiseen sovellusvirheeseen."
+msgstr "AP-REQ-salauksen purkaminen käyttäen tarjottua avainta epäonnistui. 
Tämä viittaa tavallisesti sisäiseen sovellusvirheeseen."
 
-#: lib/error.c:84
+#: lib/error.c:106
 msgid "Could not decrypt Ticket using provided key. This usually indicates an 
internal application error."
-msgstr "Ei voitu purkaa pääsylipun salausta käyttäen tarjottua avainta. 
Tämä viittaa tavallisesti sisäiseen sovellusvirheeseen."
+msgstr "Pääsylipun salauksen purkaminen käyttäen tarjottua avainta 
epäonnistui. Tämä viittaa tavallisesti sisäiseen sovellusvirheeseen."
 
-#: lib/error.c:87
+#: lib/error.c:109
+msgid "Invalid ticked passed in call."
+msgstr "Kutsussa välitetty virheellinen pääsylippu."
+
+#: lib/error.c:111
+msgid "Argument lies outside of valid range."
+msgstr "Argumentti on sallitun lukualueen ulkopuolella."
+
+#: lib/error.c:113
+msgid "The ASN.1 structure does not contain the indicated element."
+msgstr "ASN.1-rakenne ei sisällä osoitettua elementtiä."
+
+#: lib/error.c:115
+msgid "Attempted access to non-existent key type."
+msgstr "Yritettiin kutsua ei-olemassaolevaa avaintyyppiä."
+
+#: lib/error.c:117 lib/error.c:135
+msgid "Verification failed on either side."
+msgstr "Todennus epäonnistui molemmilla puolilla."
+
+#: lib/error.c:119
+msgid "Invalid PKCS5 descriptor."
+msgstr "Virheellinen PKCS5-määrittelijä."
+
+#: lib/error.c:121
+msgid "Invalid claim of iteration count in PKCS5 descriptor."
+msgstr "Virheellinen iteraatiolaskinvaatimus PKCS5-määrittelijässä."
+
+#: lib/error.c:123
+msgid "Derived key length is incorrect for PKCS5 descriptor."
+msgstr "Periytynyt avainpituus on virheellinen PKCS5-määrittelijälle."
+
+#: lib/error.c:125
+msgid "Derived key is too long for PKCS5 descriptor."
+msgstr "Periytynyt avain on liian pitkä PKCS5-määrittelijälle."
+
+#: lib/error.c:127
+msgid "Principal name syntax error."
+msgstr "Pääosapuolen nimisyntaksivirhe."
+
+#: lib/error.c:129
+msgid "Invalid argument passed in call.  Wrong or unknown value."
+msgstr "Kutsussa välitetty virheellinen argumenti. Väärä tai tuntematon 
arvo."
+
+#: lib/error.c:131
+msgid "The indicated ASN.1 element does not carry a value."
+msgstr "Virheellinen ASN.1-elementti ei sisällä arvoa."
+
+#: lib/error.c:133
+msgid "Connection attempt failed.  Try again, or check availability."
+msgstr "Yhteysyritys epäonnistui. Yritä uudelleen tai tarkista saatavuus."
+
+#: lib/error.c:137
+msgid "The private key uses an incompatible encryption type."
+msgstr "Yksityinen avain käyttää yhteensopimatonta salaustyyppiä."
+
+#: lib/error.c:139
+msgid "The desired file could not be accessed.  Check permissions."
+msgstr "Halutun tiedoston haku epäonnistui. Tarkista käyttöoikeudet."
+
+#  It should be impermissible
+#: lib/error.c:141
+msgid "The present AP reply specifies an inpermissible key type."
+msgstr "Nykyinen AP-vastaus määrittelee luvattoman avaintyypin."
+
+#: lib/error.c:143
+msgid "A request for present time of day has failed. This is usually internal, 
but a valid time is imperative for us."
+msgstr "Pyyntö päivän nykyisestä hetkestä epäonnistui. Tämä on 
tavallisesti sisäinen, mutta kelvollinen aika on meille välttämätön."
+
+#: lib/error.c:146
 msgid "Failed to parse keytab file"
 msgstr "Keytab-tiedoston jäsentäminen epäonnistui"
 
 #  Kerberos-palvelimen asiakkaalle lähettämän Credentials-valtakirjan 
sisällä on ticket ja session key. Se on salattu asiakkaan salaisella 
avaimella ja sisältää väliaikaisen salausavaimen. Valtakirja on mielestäni 
parempi suomennos kuin ATK-sanakirjan valtuustieto.
-#: lib/error.c:89
+#: lib/error.c:148
 msgid "Failed to parse credential cache file"
 msgstr "Valtakirjavälimuistitiedoston jäsentäminen epäonnistui"
 
-#: lib/error.c:106
+#: lib/error.c:165
 msgid "Unknown error"
 msgstr "Tuntematon virhe"
 
-#: lib/error.c:137 lib/krberror.c:1259
+#: lib/error.c:196 lib/krberror.c:1259
 msgid "No error"
 msgstr "Ei virhettä"
 
-#: lib/error.c:267
+#: lib/error.c:326
 #, c-format
 msgid "libshishi: info: %s"
 msgstr "libshishi: tiedot: %s"
 
-#: lib/error.c:271
+#: lib/error.c:330
 #, c-format
 msgid "libshishi: info: %s\n"
 msgstr "libshishi: tiedot: %s\n"
 
-#: lib/error.c:305
+#: lib/error.c:364
 #, c-format
 msgid "libshishi: warning: %s"
 msgstr "libshishi: varoitus: %s"
 
-#: lib/error.c:309
+#: lib/error.c:368
 #, c-format
 msgid "libshishi: warning: %s\n"
 msgstr "libshishi: varoitus: %s\n"
@@ -414,7 +527,7 @@ msgstr "Shisa onnistui"
 
 #: db/err.c:35
 msgid "Shisa could not be initialized."
-msgstr "Shisaa ei voitu alustaa."
+msgstr "Shisa-alustus epäonnistui."
 
 #: db/err.c:37
 msgid "The Shisa configuration file does not exist."
@@ -431,7 +544,7 @@ msgstr "Syntaksivirhe Shisa-asetusmerkkijonossa."
 
 #: db/err.c:43
 msgid "Shisa database could not be opened."
-msgstr "Shisa-tietokantaa ei voitu avata."
+msgstr "Shisa-tietokannan avaus epäonnistui."
 
 #: db/err.c:45
 msgid "Error enumerating realms in database."
@@ -643,7 +756,7 @@ msgstr "Salasana: "
 #: src/shisa.c:377
 #, c-format
 msgid "Could not read password"
-msgstr "Ei voi lukea salasanaa"
+msgstr "Salasanan lukeminen epäonnistui"
 
 #: src/shisa.c:389
 #, c-format
@@ -651,10 +764,10 @@ msgid ""
 "Could not create key (%d):\n"
 "%s"
 msgstr ""
-"Ei voitu luoda avainta (%d):\n"
+"Avaimen (%d) luominen epäonnistui:\n"
 "%s"
 
-#: src/shisa.c:423 src/shishi.c:59 src/shishid.c:482
+#: src/shisa.c:423 src/shishi.c:59 src/shishid.c:494
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Lisätietoja komennolla ”%s --help”.\n"
@@ -688,7 +801,7 @@ msgid ""
 "Could not read library options `%s':\n"
 "%s"
 msgstr ""
-"Ei voitu lukea kirjastovalitsimia ”%s”:\n"
+"Kirjastovalitsimien ”%s” lukeminen epäonnistui:\n"
 "%s"
 
 #: src/shisa.c:487
@@ -706,7 +819,7 @@ msgid ""
 "Could not set encryption type `%s':\n"
 "%s"
 msgstr ""
-"Ei voitu asettaa salaustyyppiä ”%s”:\n"
+"Salaustyypin ”%s” asettaminen epäonnistui:\n"
 "%s"
 
 #: src/shisa.c:500
@@ -756,27 +869,27 @@ msgstr "Poistetaan avain pääosapuolesta address@hidden"
 #: src/shishi.c:111
 #, c-format
 msgid "cannot initialize libshishi"
-msgstr "ei voi alustaa kirjastoa libshishi"
+msgstr "kirjaston libshishi alustaminen epäonnistui"
 
 #: src/shishi.c:115
 #, c-format
 msgid "Could not set encryption types: %s"
-msgstr "Ei voitu asettaa salaustyyppejä: %s"
+msgstr "Salaustyyppien asettaminen epäonnistui: %s"
 
 #: src/shishi.c:127
 #, c-format
 msgid "Could not parse client principal \"%s\": %s"
-msgstr "Ei voitu jäsentää asiakaspääosapuolta ”%s”: %s"
+msgstr "Asiakaspääosapuolen ”%s” jäsentäminen epäonnistui: %s"
 
 #: src/shishi.c:140
 #, c-format
 msgid "Could not parse server principal \"%s\": %s"
-msgstr "Ei voitu jäsentää palvelinpääosapuolta ”%s”: %s"
+msgstr "Palvelinpääosapuolen ”%s” jäsentäminen epäonnistui: %s"
 
 #: src/shishi.c:146
 #, c-format
 msgid "Could not read library options: %s"
-msgstr "Ei voitu lukea kirjastovalitsimia: %s"
+msgstr "Kirjastovalitsimien lukeminen epäonnistui: %s"
 
 #: src/shishi.c:164
 #, c-format
@@ -801,7 +914,7 @@ msgstr "Pääsyliput oletustiedostossa ”%s”:\n"
 #: src/shishi.c:208
 #, c-format
 msgid "Could not list tickets: %s"
-msgstr "Ei voitu luetella pääsylippuja: %s"
+msgstr "Pääsylippujen luetteleminen epäonnistui: %s"
 
 #: src/shishi.c:225
 #, c-format
@@ -814,7 +927,7 @@ msgid ""
 "Could not destroy ticket %d:\n"
 "%s"
 msgstr ""
-"Ei voitu tuhota pääsylippua %d:\n"
+"Pääsylipun %d tuhoaminen epäonnistui:\n"
 "%s"
 
 #: src/shishi.c:242
@@ -832,13 +945,13 @@ msgstr[1] "%d pääsylippua poistettu.\n"
 #: src/shishi.c:277
 #, c-format
 msgid "could not get ticket as `%s' for `%s'"
-msgstr "ei voitu saada pääsylippua pääosapuolena ”%s” palvelimelle 
”%s”."
+msgstr "pääsylipun hakeminen pääosapuolena ”%s” palvelimelle ”%s” 
epäonnistui."
 
 #. TRANSLATORS: The placeholder indicates the bug-reporting address
 #. for this package.  Please add _another line_ saying
 #. "Report translation bugs to <...>\n" with the address for translation
 #. bugs (typically your translation team's web or email address).
-#: src/shishid.c:491
+#: src/shishid.c:503
 #, c-format
 msgid ""
 "\n"
diff --git a/po/pl.po.in b/po/pl.po.in
index acf5627..015d7ee 100644
--- a/po/pl.po.in
+++ b/po/pl.po.in
@@ -1,18 +1,19 @@
 # Polish translation for shishi.
-# Copyright (C) 2004, 2006, 2007, 2008, 2010 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2006, 2007, 2008, 2010, 2013 Free Software Foundation, 
Inc.
 # This file is distributed under the same license as the shishi package.
-# Jakub Bogusz <address@hidden>, 2004-2010.
+# Jakub Bogusz <address@hidden>, 2004-2013.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: shishi 1.0.0\n"
+"Project-Id-Version: shishi 1.0.2\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2010-05-20 20:29+0200\n"
-"PO-Revision-Date: 2010-09-01 07:12+0200\n"
+"POT-Creation-Date: 2013-04-03 11:27+0200\n"
+"PO-Revision-Date: 2013-04-04 17:02+0200\n"
 "Last-Translator: Jakub Bogusz <address@hidden>\n"
 "Language-Team: Polish <address@hidden>\n"
+"Language: pl\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 
|| n%100>=20) ? 1 : 2);\n"
 
@@ -22,124 +23,236 @@ msgstr "Sukces Shishi"
 
 #: lib/error.c:35
 msgid "Error in ASN.1 function (corrupt data?)"
-msgstr "B³±d w funkcji ASN.1 (uszkodzone dane?)"
+msgstr "Błąd w funkcji ASN.1 (uszkodzone dane?)"
 
 #: lib/error.c:37
 msgid "Could not open file"
-msgstr "Nie uda³o siê otworzyæ pliku"
+msgstr "Nie udało się otworzyć pliku"
 
 #: lib/error.c:39
 msgid "File input/output error"
-msgstr "B³±d wej¶cia/wyj¶cia pliku"
+msgstr "Błąd wejścia/wyjścia pliku"
 
 #: lib/error.c:41
 msgid "Memory allocation error in shishi library."
-msgstr "B³±d przydzielania pamiêci w bibliotece shishi."
+msgstr "Błąd przydzielania pamięci w bibliotece shishi."
 
 #: lib/error.c:43
 msgid "Base64 encoding or decoding failed. Data corrupt?"
-msgstr "Kodowanie lub dekodowanie base64 nie powiod³o siê. Uszkodzone dane?"
+msgstr "Kodowanie lub dekodowanie base64 nie powiodło się. Uszkodzone dane?"
 
 #: lib/error.c:45
 msgid "Client realm value differ between request and reply."
-msgstr "Warto¶æ dziedziny klienta ró¿ni siê miêdzy ¿±daniem a odpowiedzi±."
+msgstr "Wartość dziedziny klienta różni się między żądaniem a 
odpowiedzią."
 
 #: lib/error.c:47
 msgid "Client name value differ between request and reply."
-msgstr "Warto¶æ nazwy klienta ró¿ni siê miêdzy ¿±daniem a odpowiedzi±."
+msgstr "Wartość nazwy klienta różni się między żądaniem a odpowiedzią
."
 
 #: lib/error.c:49
 msgid "Replay protection value (nonce) differ between request and reply."
-msgstr "Warto¶æ zabezpieczenia odtworzenia (nonce) ró¿ni siê miêdzy ¿±daniem a 
odpowiedzi±."
+msgstr "Wartość zabezpieczenia odtworzenia (nonce) różni się między żą
daniem a odpowiedzią."
 
 #: lib/error.c:51
-msgid "Keytype used to encrypt ticket doesn't match provided key. This usually 
indicates an internal application error."
-msgstr "Rodzaj klucza u¿yty do zaszyfrowania biletu nie pasuje do 
dostarczonego klucza. Zwykle oznacza to b³±d wewnêtrzny aplikacji."
+msgid "Incorrect key type used in TGS reply."
+msgstr "Nieprawidłowy typ klucza użyty w odpowiedzi TGS."
 
-#: lib/error.c:54
-msgid "Internal error in low-level crypto routines."
-msgstr "B³±d wewnêtrzny w niskopoziomowych funkcjach kryptograficznych."
+#: lib/error.c:53
+msgid "Incorrect key type used in reply from KDC."
+msgstr "Nieprawidłowy typ klucza użyty w odpowiedzi z KDC."
 
-#: lib/error.c:56
-msgid "Low-level cryptographic primitive failed.  This usually indicates bad 
password or data corruption."
-msgstr "Niskopoziomowa operacja kryptograficzna nie powiod³a siê. Zwykle 
oznacza to z³e has³o lub uszkodzenie danych."
+#: lib/error.c:55
+msgid "Incorrect key type used in AP reply."
+msgstr "Nieprawidłowy typ klucza użyty w odpowiedzi AP."
+
+#: lib/error.c:57
+msgid "Failed verification of AP reply."
+msgstr "Weryfikacja odpowiedzi AP nie powiodła się."
 
 #: lib/error.c:59
-msgid "Error receiving data from server"
-msgstr "B³±d podczas odbierania danych z serwera"
+msgid "Incorrect key type used in AP request."
+msgstr "Nieprawidłowy typ klucza użyty w żądaniu AP."
 
 #: lib/error.c:61
-msgid "Timedout talking to KDC. This usually indicates a network or KDC 
address problem."
-msgstr "Up³yn±³ limit czasu przy komunikacji z KDC. Zwykle oznacza to problem 
z sieci± lub adresem KDC."
+msgid "Provided buffer was too small."
+msgstr "Dostarczony bufor był zbyt mały."
 
-#: lib/error.c:64
-msgid "No KDC for realm known."
-msgstr "Nie ma znanego KDC dla tej dziedziny."
+#: lib/error.c:63
+msgid "Derived key material is too short to be applicable."
+msgstr "Dane klucza pochodnego są zbyt krótkie, żeby dały się użyć."
+
+#: lib/error.c:65
+msgid "The key is too large to be usable."
+msgstr "Klucz jest zbyt duży, żeby dał się użyć."
 
-#: lib/error.c:66
+#: lib/error.c:67
+msgid "Low-level cryptographic primitive failed.  This usually indicates bad 
password or data corruption."
+msgstr "Niskopoziomowa operacja kryptograficzna nie powiodła się. Zwykle 
oznacza to złe hasło lub uszkodzenie danych."
+
+#: lib/error.c:70
+msgid "Internal error in low-level crypto routines."
+msgstr "Błąd wewnętrzny w niskopoziomowych funkcjach kryptograficznych."
+
+#: lib/error.c:72
 msgid "The system call socket() failed.  This usually indicates that your 
system does not support the socket type."
-msgstr "Wywo³anie systemowe socket() nie powiod³o siê. Zwykle oznacza to, ¿e 
system nie obs³uguje danego rodzaju gniazdo."
+msgstr "Wywołanie systemowe socket() nie powiodło się. Zwykle oznacza to, 
że system nie obsługuje danego rodzaju gniazdo."
 
-#: lib/error.c:69
+#: lib/error.c:75
 msgid "The system call bind() failed.  This usually indicates insufficient 
permissions."
-msgstr "Wywo³anie systemowe bind() nie powiod³o siê. Zwykle oznacza to 
niewystarczaj±ce uprawnienia."
+msgstr "Wywołanie systemowe bind() nie powiodło się. Zwykle oznacza to 
niewystarczające uprawnienia."
 
-#: lib/error.c:72
+#: lib/error.c:78
 msgid "The system call sendto() failed."
-msgstr "Wywo³anie systemowe sendto() nie powiod³o siê."
+msgstr "Wywołanie systemowe sendto() nie powiodło się."
+
+#: lib/error.c:80
+msgid "Error receiving data from server"
+msgstr "Błąd podczas odbierania danych z serwera"
 
-#: lib/error.c:74
+#: lib/error.c:82
 msgid "The system call close() failed."
-msgstr "Wywo³anie systemowe close() nie powiod³o siê."
+msgstr "Wywołanie systemowe close() nie powiodło się."
 
-#: lib/error.c:76
-msgid "Server replied with an error message to request."
-msgstr "Serwer odpowiedzia³ komunikatem b³êdu na ¿±danie."
+#: lib/error.c:84
+msgid "Timed out talking to KDC. This usually indicates a network or KDC 
address problem."
+msgstr "Upłynął limit czasu przy komunikacji z KDC. Zwykle oznacza to 
problem z siecią lub adresem KDC."
 
-#: lib/error.c:78
-msgid "Ticketset not initialized.  This usually indicates an internal 
application error."
-msgstr "Zbiór biletów nie zainicjowany. Zwykle oznacza to b³±d wewnêtrzny 
aplikacji."
+#: lib/error.c:87
+msgid "No KDC known for given realm."
+msgstr "Nie ma znanego KDC dla tej dziedziny."
+
+#: lib/error.c:89
+msgid "No TTY assigned to process."
+msgstr "Brak TTY przypisanego do procesu."
+
+#: lib/error.c:91
+msgid "Server replied to the request with an error message."
+msgstr "Serwer odpowiedział na żądanie komunikatem błędu."
+
+#: lib/error.c:93
+msgid "Failure to use handle.  Missing handle, or misconfigured."
+msgstr "Nie udało się użyć uchwytu. Brak uchwytu lub źle skonfigurowany."
+
+#: lib/error.c:95
+msgid "Ticket set not initialized.  This usually indicates an internal 
application error."
+msgstr "Zbiór biletów nie zainicjowany. Zwykle oznacza to błąd wewnętrzny 
aplikacji."
 
-#: lib/error.c:81
+#: lib/error.c:98
+msgid "Key type used to encrypt ticket doesn't match provided key. This 
usually indicates an internal application error."
+msgstr "Typ klucza użyty do zaszyfrowania biletu nie pasuje do dostarczonego 
klucza. Zwykle oznacza to błąd wewnętrzny aplikacji."
+
+#: lib/error.c:101
+msgid "Reference to invalid encryption key."
+msgstr "Odwołanie do błędnego klucza szyfrującego."
+
+#: lib/error.c:103
 msgid "Could not decrypt AP-REQ using provided key. This usually indicates an 
internal application error."
-msgstr "Nie uda³o siê odszyfrowaæ AP-REQ przy u¿yciu dostarczonego klucza. 
Zwykle oznacza to b³±d wewnêtrzny aplikacji."
+msgstr "Nie udało się odszyfrować AP-REQ przy użyciu dostarczonego klucza. 
Zwykle oznacza to błąd wewnętrzny aplikacji."
 
-#: lib/error.c:84
+#: lib/error.c:106
 msgid "Could not decrypt Ticket using provided key. This usually indicates an 
internal application error."
-msgstr "Nie uda³o siê odszyfrowaæ biletu przy u¿yciu dostarczonego klucza. 
Zwykle oznacza to b³±d wewnêtrzny aplikacji."
+msgstr "Nie udało się odszyfrować biletu przy użyciu dostarczonego klucza. 
Zwykle oznacza to błąd wewnętrzny aplikacji."
 
-#: lib/error.c:87
+#: lib/error.c:109
+msgid "Invalid ticked passed in call."
+msgstr "W wywołaniu przekazano błędny bilet."
+
+#: lib/error.c:111
+msgid "Argument lies outside of valid range."
+msgstr "Argument znajduje się poza poprawnym zakresem."
+
+#: lib/error.c:113
+msgid "The ASN.1 structure does not contain the indicated element."
+msgstr "Struktura ASN.1 nie zawiera wskazanego elementu."
+
+#: lib/error.c:115
+msgid "Attempted access to non-existent key type."
+msgstr "Próba dostępu do nie istniejącego typu klucza."
+
+#: lib/error.c:117 lib/error.c:135
+msgid "Verification failed on either side."
+msgstr "Weryfikacja nie powiodła się po dowolnej stronie."
+
+#: lib/error.c:119
+msgid "Invalid PKCS5 descriptor."
+msgstr "Błędny deskryptor PKCS5."
+
+#: lib/error.c:121
+msgid "Invalid claim of iteration count in PKCS5 descriptor."
+msgstr "Błędne zawłaszczenie licznika iteracji w deskryptorze PKCS5."
+
+#: lib/error.c:123
+msgid "Derived key length is incorrect for PKCS5 descriptor."
+msgstr "Długość klucza pochodnego jest niepoprawna dla deskryptora PKCS5."
+
+#: lib/error.c:125
+msgid "Derived key is too long for PKCS5 descriptor."
+msgstr "Klucz pochodny jest zbyt długi dla deskryptora PKCS5."
+
+#: lib/error.c:127
+msgid "Principal name syntax error."
+msgstr "Błąd składni nazwy zarządcy."
+
+#: lib/error.c:129
+msgid "Invalid argument passed in call.  Wrong or unknown value."
+msgstr "W wywołaniu przekazano błędny argument - niewłaściwa lub nieznana 
wartość."
+
+#: lib/error.c:131
+msgid "The indicated ASN.1 element does not carry a value."
+msgstr "Wskazany element ASN.1 nie zawiera wartości."
+
+#: lib/error.c:133
+msgid "Connection attempt failed.  Try again, or check availability."
+msgstr "Próba połączenia nie powiodła się. Proszę spróbować ponownie 
lub sprawdzić dostępność."
+
+#: lib/error.c:137
+msgid "The private key uses an incompatible encryption type."
+msgstr "Klucz prowatny używa niezgodnego rodzaju szyfrowania."
+
+#: lib/error.c:139
+msgid "The desired file could not be accessed.  Check permissions."
+msgstr "Brak dostępu do żądanego pliku. Proszę sprawdzić uprawnienia."
+
+#: lib/error.c:141
+msgid "The present AP reply specifies an inpermissible key type."
+msgstr "Obecna odpowiedź AP określa niedozwolony typ klucza."
+
+#: lib/error.c:143
+msgid "A request for present time of day has failed. This is usually internal, 
but a valid time is imperative for us."
+msgstr "Żądanie czasu bieżącego nie powiodło się. Zwykle jest to 
wewnętrzne, ale poprawny czas jest niezbędny."
+
+#: lib/error.c:146
 msgid "Failed to parse keytab file"
-msgstr "Nie uda³o siê przeanalizowaæ pliku keytab"
+msgstr "Nie udało się przeanalizować pliku keytab"
 
-#: lib/error.c:89
+#: lib/error.c:148
 msgid "Failed to parse credential cache file"
-msgstr "Nie uda³o siê przeanalizowaæ pliku cache'a danych uwierzytelniaj±cych"
+msgstr "Nie udało się przeanalizować pliku cache'a danych uwierzytelniają
cych"
 
-#: lib/error.c:106
+#: lib/error.c:165
 msgid "Unknown error"
-msgstr "Nieznany b³±d"
+msgstr "Nieznany błąd"
 
-#: lib/error.c:137 lib/krberror.c:1259
+#: lib/error.c:196 lib/krberror.c:1259
 msgid "No error"
-msgstr "Brak b³êdu"
+msgstr "Brak błędu"
 
-#: lib/error.c:267
+#: lib/error.c:326
 #, c-format
 msgid "libshishi: info: %s"
 msgstr "libshishi: info: %s"
 
-#: lib/error.c:271
+#: lib/error.c:330
 #, c-format
 msgid "libshishi: info: %s\n"
 msgstr "libshishi: info: %s\n"
 
-#: lib/error.c:305
+#: lib/error.c:364
 #, c-format
 msgid "libshishi: warning: %s"
 msgstr "libshishi: uwaga: %s"
 
-#: lib/error.c:309
+#: lib/error.c:368
 #, c-format
 msgid "libshishi: warning: %s\n"
 msgstr "libshishi: uwaga: %s\n"
@@ -157,7 +270,7 @@ msgstr "Zapisywanie KRB-ERROR w formacie %s...\n"
 #: lib/krberror.c:159
 #, c-format
 msgid "Writing KRB-ERROR to %s...done\n"
-msgstr "Zapisywanie KRB-ERROR do %s... zakoñczone\n"
+msgstr "Zapisywanie KRB-ERROR do %s... zakończone\n"
 
 #: lib/krberror.c:217
 #, c-format
@@ -172,27 +285,27 @@ msgstr "Odczytywanie KRB-ERROR w formacie %s...\n"
 #: lib/krberror.c:239
 #, c-format
 msgid "Reading KRB-ERROR from %s...done\n"
-msgstr "Odczytywanie KRB-ERROR z %s... zakoñczone\n"
+msgstr "Odczytywanie KRB-ERROR z %s... zakończone\n"
 
 #: lib/krberror.c:1261
 msgid "Client's entry in database has expired"
-msgstr "Wpis klienta w bazie danych wygas³"
+msgstr "Wpis klienta w bazie danych wygasł"
 
 #: lib/krberror.c:1263
 msgid "Server's entry in database has expired"
-msgstr "Wpis serwera w bazie danych wygas³"
+msgstr "Wpis serwera w bazie danych wygasł"
 
 #: lib/krberror.c:1265
 msgid "Requested protocol version number not supported"
-msgstr "¯±dana wersja protoko³u nie jest obs³ugiwana"
+msgstr "Żądana wersja protokołu nie jest obsługiwana"
 
 #: lib/krberror.c:1267
 msgid "Client's key encrypted in old master key"
-msgstr "Klucz klienta zaszyfrowany w starym kluczu g³ównym"
+msgstr "Klucz klienta zaszyfrowany w starym kluczu głównym"
 
 #: lib/krberror.c:1269
 msgid "Server's key encrypted in old master key"
-msgstr "Klucz serwera zaszyfrowany w starym kluczu g³ównym"
+msgstr "Klucz serwera zaszyfrowany w starym kluczu głównym"
 
 #: lib/krberror.c:1271
 msgid "Client not found in database"
@@ -204,7 +317,7 @@ msgstr "Nie znaleziono serwera w bazie danych"
 
 #: lib/krberror.c:1275
 msgid "Multiple principal entries in database"
-msgstr "Wiele wpisów zarz±dcy w bazie danych"
+msgstr "Wiele wpisów zarządcy w bazie danych"
 
 #: lib/krberror.c:1277
 msgid "The client or server has a null key"
@@ -212,63 +325,63 @@ msgstr "Klient lub serwer ma pusty klucz"
 
 #: lib/krberror.c:1279
 msgid "Ticket not eligible for postdating"
-msgstr "Bilet nie nadaje siê do postdatowania"
+msgstr "Bilet nie nadaje się do postdatowania"
 
 #: lib/krberror.c:1281
 msgid "Requested start time is later than end time"
-msgstr "¯±dany czas pocz±tkowy jest pó¼niejszy ni¿ koñcowy"
+msgstr "Żądany czas początkowy jest późniejszy niż końcowy"
 
 #: lib/krberror.c:1283
 msgid "KDC policy rejects request"
-msgstr "¯±danie odrzucone przez politykê KDC"
+msgstr "Żądanie odrzucone przez politykę KDC"
 
 #: lib/krberror.c:1285
 msgid "KDC cannot accommodate requested option"
-msgstr "KDC nie zgadza siê na ¿±dan± opcjê"
+msgstr "KDC nie zgadza się na żądaną opcję"
 
 #: lib/krberror.c:1287
 msgid "KDC has no support for encryption type"
-msgstr "KDC nie obs³uguje tego rodzaju szyfru"
+msgstr "KDC nie obsługuje tego rodzaju szyfru"
 
 #: lib/krberror.c:1289
 msgid "KDC has no support for checksum type"
-msgstr "KDC nie obs³uguje tego rodzaju sumy kontrolnej"
+msgstr "KDC nie obsługuje tego rodzaju sumy kontrolnej"
 
 #: lib/krberror.c:1291
 msgid "KDC has no support for padata type"
-msgstr "KDC nie obs³uguje tego rodzaju padata"
+msgstr "KDC nie obsługuje tego rodzaju padata"
 
 #: lib/krberror.c:1293
 msgid "KDC has no support for transited type"
-msgstr "KDC nie obs³uguje tego rodzaju transmisji"
+msgstr "KDC nie obsługuje tego rodzaju transmisji"
 
 #: lib/krberror.c:1295
 msgid "Clients credentials have been revoked"
-msgstr "Dane uwierzytelniej±ce klientów zosta³y anulowane"
+msgstr "Dane uwierzytelniejące klientów zostały anulowane"
 
 #: lib/krberror.c:1297
 msgid "Credentials for server have been revoked"
-msgstr "Dane uwierzytelniaj±ce dla serwera zosta³y anulowane"
+msgstr "Dane uwierzytelniające dla serwera zostały anulowane"
 
 #: lib/krberror.c:1299
 msgid "TGT has been revoked"
-msgstr "TGT zosta³o anulowane"
+msgstr "TGT zostało anulowane"
 
 #: lib/krberror.c:1301
 msgid "Client not yet valid - try again later"
-msgstr "Klient jeszcze nie jest wa¿ny - proszê spróbowaæ pó¼niej"
+msgstr "Klient jeszcze nie jest ważny - proszę spróbować później"
 
 #: lib/krberror.c:1303
 msgid "Server not yet valid - try again later"
-msgstr "Serwer jeszcze nie jest wa¿ny - proszê spróbowaæ pó¼niej"
+msgstr "Serwer jeszcze nie jest ważny - proszę spróbować później"
 
 #: lib/krberror.c:1305
 msgid "Password has expired "
-msgstr "Has³o wygas³o"
+msgstr "Hasło wygasło"
 
 #: lib/krberror.c:1307
 msgid "Pre-authentication information was invalid"
-msgstr "Informacje wczesnego uwierzytelnienia by³y nieprawid³owe"
+msgstr "Informacje wczesnego uwierzytelnienia były nieprawidłowe"
 
 #: lib/krberror.c:1309
 msgid "Additional pre-authentication required"
@@ -276,35 +389,35 @@ msgstr "Wymagane dodatkowe wczesne uwierzytelnienie"
 
 #: lib/krberror.c:1311
 msgid "Requested server and ticket don't match"
-msgstr "¯±dany serwer i bilet nie zgadzaj± siê"
+msgstr "Żądany serwer i bilet nie zgadzają się"
 
 #: lib/krberror.c:1313
 msgid "Server principal valid for user2user only"
-msgstr "Zarz±dca serwera wa¿ny tylko dla user2user"
+msgstr "Zarządca serwera ważny tylko dla user2user"
 
 #: lib/krberror.c:1315
 msgid "KDC Policy rejects transited path"
-msgstr "Polityka KDC odrzuca ¶cie¿kê tranzytow±"
+msgstr "Polityka KDC odrzuca ścieżkę tranzytową"
 
 #: lib/krberror.c:1317
 msgid "A service is not available"
-msgstr "Us³uga niedostêpna"
+msgstr "Usługa niedostępna"
 
 #: lib/krberror.c:1319
 msgid "Integrity check on decrypted field failed"
-msgstr "Kontrola poprawno¶ci odszyfrowanego pola nie powiod³a siê"
+msgstr "Kontrola poprawności odszyfrowanego pola nie powiodła się"
 
 #: lib/krberror.c:1321
 msgid "Ticket expired"
-msgstr "Bilet wygas³"
+msgstr "Bilet wygasł"
 
 #: lib/krberror.c:1323
 msgid "Ticket not yet valid"
-msgstr "Bilet jeszcze niewa¿ny"
+msgstr "Bilet jeszcze nieważny"
 
 #: lib/krberror.c:1325
 msgid "Request is a replay"
-msgstr "¯±danie jest powtórk±"
+msgstr "Żądanie jest powtórką"
 
 #: lib/krberror.c:1327
 msgid "The ticket isn't for us"
@@ -312,11 +425,11 @@ msgstr "Bilet nie jest dla nas"
 
 #: lib/krberror.c:1329
 msgid "Ticket and authenticator don't match"
-msgstr "Bilet i uwierzytelnienie nie zgadzaj± siê"
+msgstr "Bilet i uwierzytelnienie nie zgadzają się"
 
 #: lib/krberror.c:1331
 msgid "Clock skew too great"
-msgstr "Zbyt du¿e przesuniêcie zegara"
+msgstr "Zbyt duże przesunięcie zegara"
 
 #: lib/krberror.c:1333
 msgid "Incorrect net address"
@@ -324,31 +437,31 @@ msgstr "Niepoprawny adres sieci"
 
 #: lib/krberror.c:1335
 msgid "Protocol version mismatch"
-msgstr "Niezgodno¶æ wersji protoko³u"
+msgstr "Niezgodność wersji protokołu"
 
 #: lib/krberror.c:1337
 msgid "Invalid msg type"
-msgstr "Nieprawid³owy rodzaj komunikatu"
+msgstr "Nieprawidłowy rodzaj komunikatu"
 
 #: lib/krberror.c:1339
 msgid "Message stream modified"
-msgstr "Zmodyfikowany strumieñ komunikatu"
+msgstr "Zmodyfikowany strumień komunikatu"
 
 #: lib/krberror.c:1341
 msgid "Message out of order"
-msgstr "Komunikat spoza kolejno¶ci"
+msgstr "Komunikat spoza kolejności"
 
 #: lib/krberror.c:1343
 msgid "Specified version of key is not available"
-msgstr "Podana wersja klucza nie jest dostêpna"
+msgstr "Podana wersja klucza nie jest dostępna"
 
 #: lib/krberror.c:1345
 msgid "Service key not available"
-msgstr "Klucz us³ugi niedostêpny"
+msgstr "Klucz usługi niedostępny"
 
 #: lib/krberror.c:1347
 msgid "Mutual authentication failed"
-msgstr "Wzajemne uwierzytelnienie nie powiod³o siê"
+msgstr "Wzajemne uwierzytelnienie nie powiodło się"
 
 #: lib/krberror.c:1349
 msgid "Incorrect message direction"
@@ -364,23 +477,23 @@ msgstr "Niepoprawny numer sekwencji w komunikacie"
 
 #: lib/krberror.c:1355
 msgid "Inappropriate type of checksum in message"
-msgstr "Niew³a¶ciwy rodzaj sumy kontrolnej w komunikacie"
+msgstr "Niewłaściwy rodzaj sumy kontrolnej w komunikacie"
 
 #: lib/krberror.c:1357
 msgid "Policy rejects transited path"
-msgstr "Polityka odrzuca ¶cie¿kê tranzytow±"
+msgstr "Polityka odrzuca ścieżkę tranzytową"
 
 #: lib/krberror.c:1359
 msgid "Response too big for UDP, retry with TCP"
-msgstr "Odpowied¼ zbyt du¿a dla UDP, proszê spróbowaæ TCP"
+msgstr "Odpowiedź zbyt duża dla UDP, proszę spróbować TCP"
 
 #: lib/krberror.c:1361
 msgid "Generic error (description in e-text)"
-msgstr "B³±d ogólny (opis w e-tek¶cie)"
+msgstr "Błąd ogólny (opis w e-tekście)"
 
 #: lib/krberror.c:1363
 msgid "Field is too long for this implementation"
-msgstr "Pole zbyt d³ugie dla tej implementacji"
+msgstr "Pole zbyt długie dla tej implementacji"
 
 #: lib/krberror.c:1365 lib/krberror.c:1367 lib/krberror.c:1369
 #: lib/krberror.c:1371 lib/krberror.c:1373 lib/krberror.c:1381
@@ -396,7 +509,7 @@ msgstr "(user-to-user)"
 #: lib/krberror.c:1420
 #, c-format
 msgid "Unknown KRB-ERROR error code %d."
-msgstr "Nieznany kod b³êdu KRB-ERROR %d."
+msgstr "Nieznany kod błędu KRB-ERROR %d."
 
 #: db/err.c:33
 msgid "Shisa success"
@@ -404,7 +517,7 @@ msgstr "Sukces Shisy"
 
 #: db/err.c:35
 msgid "Shisa could not be initialized."
-msgstr "Nie uda³o siê zainicjowaæ Shisy."
+msgstr "Nie udało się zainicjować Shisy."
 
 #: db/err.c:37
 msgid "The Shisa configuration file does not exist."
@@ -412,27 +525,27 @@ msgstr "Plik konfiguracyjny Shisy nie istnieje."
 
 #: db/err.c:39
 msgid "File I/O error for Shisa configuration file."
-msgstr "B³±d we/wy pliku dla pliku konfiguracyjnego Shisy."
+msgstr "Błąd we/wy pliku dla pliku konfiguracyjnego Shisy."
 
 #: db/err.c:41
 msgid "Syntax error in Shisa configuration token."
-msgstr "B³±d sk³adni w tokenie konfiguracyjnym Shisy."
+msgstr "Błąd składni w tokenie konfiguracyjnym Shisy."
 
 #: db/err.c:43
 msgid "Shisa database could not be opened."
-msgstr "Nie mo¿na otworzyæ bazy danych Shisy."
+msgstr "Nie można otworzyć bazy danych Shisy."
 
 #: db/err.c:45
 msgid "Error enumerating realms in database."
-msgstr "B³±d w numeracji dziedzin w bazie danych."
+msgstr "Błąd w numeracji dziedzin w bazie danych."
 
 #: db/err.c:47
 msgid "Error enumerating principals in database."
-msgstr "B³±d w numeracji zarz±dców w bazie danych."
+msgstr "Błąd w numeracji zarządców w bazie danych."
 
 #: db/err.c:49
 msgid "Error enumerating keys in database."
-msgstr "B³±d w numeracji kluczy w bazie danych."
+msgstr "Błąd w numeracji kluczy w bazie danych."
 
 #: db/err.c:51
 msgid "Supplied realm does not exist."
@@ -440,59 +553,59 @@ msgstr "Podana dziedzina nie istnieje."
 
 #: db/err.c:53
 msgid "Supplied principal does not exist."
-msgstr "Podany zarz±dca nie istnieje."
+msgstr "Podany zarządca nie istnieje."
 
 #: db/err.c:55
 msgid "Principal is not associated with any matching key."
-msgstr "Zarz±dca nie jest zwi±zany z ¿adnym pasuj±cym kluczem."
+msgstr "Zarządca nie jest związany z żadnym pasującym kluczem."
 
 #: db/err.c:57
 msgid "Error finding principal."
-msgstr "B³±d przy szukaniu zarz±dcy."
+msgstr "Błąd przy szukaniu zarządcy."
 
 #: db/err.c:59
 msgid "Tried to add a realm that already exist."
-msgstr "Próbowano dodaæ ju¿ istniej±c± dziedzinê."
+msgstr "Próbowano dodać już istniejącą dziedzinę."
 
 #: db/err.c:61
 msgid "Error adding realm to database."
-msgstr "B³±d przy dodawaniu dziedziny do bazy danych."
+msgstr "Błąd przy dodawaniu dziedziny do bazy danych."
 
 #: db/err.c:63
 msgid "Tried to remove a non-empty realm."
-msgstr "Próbowano usun±æ niepust± dziedzinê."
+msgstr "Próbowano usunąć niepustą dziedzinę."
 
 #: db/err.c:65
 msgid "Error removing realm from database."
-msgstr "B³±d przy usuwaniu dziedziny z bazy danych."
+msgstr "Błąd przy usuwaniu dziedziny z bazy danych."
 
 #: db/err.c:67
 msgid "Tried to add a principal that already exist."
-msgstr "Próbowano dodaæ ju¿ istniej±cego zarz±dcê."
+msgstr "Próbowano dodać już istniejącego zarządcę."
 
 #: db/err.c:69
 msgid "Error adding principal to database."
-msgstr "B³±d przy dodawaniu zarz±dcy do bazy danych."
+msgstr "Błąd przy dodawaniu zarządcy do bazy danych."
 
 #: db/err.c:71
 msgid "Error removing principal from database."
-msgstr "B³±d przy usuwaniu zarz±dcy z bazy danych."
+msgstr "Błąd przy usuwaniu zarządcy z bazy danych."
 
 #: db/err.c:73
 msgid "Error adding key to principal."
-msgstr "B³±d przy dodawaniu klucza do zarz±dcy."
+msgstr "Błąd przy dodawaniu klucza do zarządcy."
 
 #: db/err.c:75
 msgid "Error removing key from principal."
-msgstr "B³±d przy usuwaniu klucza z zarz±dcy."
+msgstr "Błąd przy usuwaniu klucza z zarządcy."
 
 #: db/err.c:77
 msgid "More than one key match given search criteria."
-msgstr "Wiêcej ni¿ jeden klucz pasuje do podanego kryterium wyszukiwania."
+msgstr "Więcej niż jeden klucz pasuje do podanego kryterium wyszukiwania."
 
 #: db/err.c:98
 msgid "Unknown Shisa error"
-msgstr "Nieznany b³±d Shisy"
+msgstr "Nieznany błąd Shisy"
 
 #: db/err.c:118
 #, c-format
@@ -505,31 +618,31 @@ msgstr "Konto jest"
 
 #: src/shisa.c:144
 msgid "DISABLED"
-msgstr "WY£¡CZONE"
+msgstr "WYŁĄCZONE"
 
 #: src/shisa.c:144
 msgid "enabled"
-msgstr "w³±czone"
+msgstr "włączone"
 
 #: src/shisa.c:145
 msgid "Current key version"
-msgstr "Bie¿±ca wersja klucza"
+msgstr "Bieżąca wersja klucza"
 
 #: src/shisa.c:147
 msgid "Account not valid before"
-msgstr "Konto niewa¿ne przed"
+msgstr "Konto nieważne przed"
 
 #: src/shisa.c:149
 msgid "Last initial TGT request at"
-msgstr "Ostatnie pocz±tkowe ¿±danie TGT"
+msgstr "Ostatnie początkowe żądanie TGT"
 
 #: src/shisa.c:151
 msgid "Last initial request at"
-msgstr "Ostatnie pocz±tkowe ¿±danie"
+msgstr "Ostatnie początkowe żądanie"
 
 #: src/shisa.c:153
 msgid "Last TGT request at"
-msgstr "Ostatnie ¿±danie TGT"
+msgstr "Ostatnie żądanie TGT"
 
 #: src/shisa.c:155
 msgid "Last ticket renewal at"
@@ -537,7 +650,7 @@ msgstr "Ostatnie odnowienie biletu"
 
 #: src/shisa.c:157
 msgid "Password expire on"
-msgstr "Has³o wygasa"
+msgstr "Hasło wygasa"
 
 #: src/shisa.c:159
 msgid "Account expire on"
@@ -565,7 +678,7 @@ msgstr "\tParametry S2K"
 
 #: src/shisa.c:186
 msgid "\tPassword"
-msgstr "\tHas³o"
+msgstr "\tHasło"
 
 #: src/shisa.c:189
 msgid "\tKey is"
@@ -573,7 +686,7 @@ msgstr "\tKlucz jest"
 
 #: src/shisa.c:189
 msgid "MISSING"
-msgstr "BRAKUJ¡CY"
+msgstr "BRAKUJĄCY"
 
 #: src/shisa.c:267
 #, c-format
@@ -583,17 +696,17 @@ msgstr "Dodawanie dziedziny `%s'...\n"
 #: src/shisa.c:269
 #, c-format
 msgid "Adding principal address@hidden'...\n"
-msgstr "Dodawanie zarz±dcy address@hidden'...\n"
+msgstr "Dodawanie zarządcy address@hidden'...\n"
 
 #: src/shisa.c:280
 #, c-format
 msgid "Adding realm `%s'...done\n"
-msgstr "Dodawanie dziedziny `%s'... zakoñczone\n"
+msgstr "Dodawanie dziedziny `%s'... zakończone\n"
 
 #: src/shisa.c:282
 #, c-format
 msgid "Adding principal address@hidden'...done\n"
-msgstr "Dodawanie zarz±dcy address@hidden'... zakoñczone\n"
+msgstr "Dodawanie zarządcy address@hidden'... zakończone\n"
 
 #: src/shisa.c:313
 #, c-format
@@ -603,31 +716,31 @@ msgstr "Usuwanie dziedziny `%s'...\n"
 #: src/shisa.c:315
 #, c-format
 msgid "Removing principal address@hidden'...\n"
-msgstr "Usuwanie zarz±dcy address@hidden'...\n"
+msgstr "Usuwanie zarządcy address@hidden'...\n"
 
 #: src/shisa.c:323
 #, c-format
 msgid "Removing realm `%s'...done\n"
-msgstr "Usuwanie dziedziny `%s'... zakoñczone\n"
+msgstr "Usuwanie dziedziny `%s'... zakończone\n"
 
 #: src/shisa.c:325
 #, c-format
 msgid "Removing principal address@hidden'...done\n"
-msgstr "Usuwanie zarz±dcy address@hidden'... zakoñczone\n"
+msgstr "Usuwanie zarządcy address@hidden'... zakończone\n"
 
 #: src/shisa.c:372
 #, c-format
 msgid "Password for address@hidden': "
-msgstr "Has³o dla address@hidden': "
+msgstr "Hasło dla address@hidden': "
 
 #: src/shisa.c:375
 msgid "Password: "
-msgstr "Has³o: "
+msgstr "Hasło: "
 
 #: src/shisa.c:377
 #, c-format
 msgid "Could not read password"
-msgstr "Nie uda³o siê odczytaæ has³a"
+msgstr "Nie udało się odczytać hasła"
 
 #: src/shisa.c:389
 #, c-format
@@ -635,13 +748,13 @@ msgid ""
 "Could not create key (%d):\n"
 "%s"
 msgstr ""
-"Nie uda³o siê utworzyæ klucza (%d):\n"
+"Nie udało się utworzyć klucza (%d):\n"
 "%s"
 
-#: src/shisa.c:423 src/shishi.c:59 src/shishid.c:482
+#: src/shisa.c:423 src/shishi.c:59 src/shishid.c:494
 #, c-format
 msgid "Try `%s --help' for more information.\n"
-msgstr "`%s --help' poda wiêcej informacji.\n"
+msgstr "`%s --help' poda więcej informacji.\n"
 
 #: src/shisa.c:428 src/shishi.c:64
 #, c-format
@@ -650,12 +763,12 @@ msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
 "\n"
-"Argumenty obowi±zkowe dla opcji d³ugich s± obowi±zkowe tak¿e dla opcji 
krótkich.\n"
+"Argumenty obowiązkowe dla opcji długich są obowiązkowe także dla opcji 
krótkich.\n"
 
 #: src/shisa.c:468 src/shishi.c:100
 #, c-format
 msgid "too many arguments"
-msgstr "zbyt wiele argumentów"
+msgstr "zbyt wiele argumentów"
 
 #: src/shisa.c:477
 #, c-format
@@ -663,7 +776,7 @@ msgid ""
 "Initialization failed:\n"
 "%s"
 msgstr ""
-"Inicjalizacja nie powiod³a siê:\n"
+"Inicjalizacja nie powiodła się:\n"
 "%s"
 
 #: src/shisa.c:482
@@ -672,7 +785,7 @@ msgid ""
 "Could not read library options `%s':\n"
 "%s"
 msgstr ""
-"Nie uda³o siê odczytaæ opcji biblioteki `%s':\n"
+"Nie udało się odczytać opcji biblioteki `%s':\n"
 "%s"
 
 #: src/shisa.c:487
@@ -681,7 +794,7 @@ msgid ""
 "Shishi initialization failed:\n"
 "%s"
 msgstr ""
-"Inicjalizacja Shishi nie powiod³a siê:\n"
+"Inicjalizacja Shishi nie powiodła się:\n"
 "%s"
 
 #: src/shisa.c:492
@@ -690,28 +803,28 @@ msgid ""
 "Could not set encryption type `%s':\n"
 "%s"
 msgstr ""
-"Nie uda³o siê ustawiæ rodzaju szyfrowania `%s':\n"
+"Nie udało się ustawić rodzaju szyfrowania `%s':\n"
 "%s"
 
 #: src/shisa.c:500
 #, c-format
 msgid "too few arguments"
-msgstr "zbyt ma³o argumentów"
+msgstr "zbyt mało argumentów"
 
 #: src/shisa.c:531
 #, c-format
 msgid "Adding default realm `%s'...\n"
-msgstr "Dodawanie domy¶lnej dziedziny `%s'...\n"
+msgstr "Dodawanie domyślnej dziedziny `%s'...\n"
 
 #: src/shisa.c:551
 #, c-format
 msgid "Modifying principal address@hidden'...\n"
-msgstr "Modyfikowanie zarz±dcy address@hidden'...\n"
+msgstr "Modyfikowanie zarządcy address@hidden'...\n"
 
 #: src/shisa.c:558
 #, c-format
 msgid "Modifying principal address@hidden'...done\n"
-msgstr "Modyfikowanie zarz±dcy address@hidden'... zakoñczone\n"
+msgstr "Modyfikowanie zarządcy address@hidden'... zakończone\n"
 
 #: src/shisa.c:562
 #, c-format
@@ -721,7 +834,7 @@ msgstr "Dodawanie klucza do address@hidden'...\n"
 #: src/shisa.c:572
 #, c-format
 msgid "Adding key to address@hidden'...done\n"
-msgstr "Dodawanie klucza do address@hidden'... zakoñczone\n"
+msgstr "Dodawanie klucza do address@hidden'... zakończone\n"
 
 #: src/shisa.c:576
 #, c-format
@@ -731,47 +844,47 @@ msgstr "Usuwanie klucza z address@hidden'...\n"
 #: src/shisa.c:589
 #, c-format
 msgid "Removing key from address@hidden'...done\n"
-msgstr "Usuwanie klucza z address@hidden'... zakoñczone\n"
+msgstr "Usuwanie klucza z address@hidden'... zakończone\n"
 
 #: src/shishi.c:111
 #, c-format
 msgid "cannot initialize libshishi"
-msgstr "nie mo¿na zainicjowaæ libshishi"
+msgstr "nie można zainicjować libshishi"
 
 #: src/shishi.c:115
 #, c-format
 msgid "Could not set encryption types: %s"
-msgstr "Nie uda³o siê ustawiæ rodzajów szyfrowania: %s"
+msgstr "Nie udało się ustawić rodzajów szyfrowania: %s"
 
 #: src/shishi.c:127
 #, c-format
 msgid "Could not parse client principal \"%s\": %s"
-msgstr "Nie uda³o siê przeanalizowaæ zarz±dcy klienta \"%s\": %s"
+msgstr "Nie udało się przeanalizować zarządcy klienta \"%s\": %s"
 
 #: src/shishi.c:140
 #, c-format
 msgid "Could not parse server principal \"%s\": %s"
-msgstr "Nie uda³o siê przeanalizowaæ zarz±dcy serwera \"%s\": %s"
+msgstr "Nie udało się przeanalizować zarządcy serwera \"%s\": %s"
 
 #: src/shishi.c:146
 #, c-format
 msgid "Could not read library options: %s"
-msgstr "Nie uda³o siê odczytaæ opcji biblioteki: %s"
+msgstr "Nie udało się odczytać opcji biblioteki: %s"
 
 #: src/shishi.c:164
 #, c-format
 msgid "Invalid --starttime date `%s'"
-msgstr "Nieprawid³owa data --starttime `%s'"
+msgstr "Nieprawidłowa data --starttime `%s'"
 
 #: src/shishi.c:174
 #, c-format
 msgid "Invalid --endtime date `%s'"
-msgstr "Nieprawid³owa data --endtime `%s'"
+msgstr "Nieprawidłowa data --endtime `%s'"
 
 #: src/shishi.c:184
 #, c-format
 msgid "Invalid --renew-till date `%s'"
-msgstr "Nieprawid³owa data --renew-till `%s'"
+msgstr "Nieprawidłowa data --renew-till `%s'"
 
 #: src/shishi.c:203
 #, c-format
@@ -781,7 +894,7 @@ msgstr "Bilety w `%s':\n"
 #: src/shishi.c:208
 #, c-format
 msgid "Could not list tickets: %s"
-msgstr "Nie uda³o siê wylistowaæ biletów: %s"
+msgstr "Nie udało się wylistować biletów: %s"
 
 #: src/shishi.c:225
 #, c-format
@@ -794,32 +907,32 @@ msgid ""
 "Could not destroy ticket %d:\n"
 "%s"
 msgstr ""
-"Nie uda³o siê zniszczyæ biletu %d:\n"
+"Nie udało się zniszczyć biletu %d:\n"
 "%s"
 
 #: src/shishi.c:242
 #, c-format
 msgid "No tickets removed.\n"
-msgstr "Nie usuniêto ¿adnego biletu.\n"
+msgstr "Nie usunięto żadnego biletu.\n"
 
 #: src/shishi.c:244
 #, c-format
 msgid "%d ticket removed.\n"
 msgid_plural "%d tickets removed.\n"
-msgstr[0] "Usuniêto %d bilet.\n"
-msgstr[1] "Usuniêto %d bilety.\n"
-msgstr[2] "Usuniêto %d biletów.\n"
+msgstr[0] "Usunięto %d bilet.\n"
+msgstr[1] "Usunięto %d bilety.\n"
+msgstr[2] "Usunięto %d biletów.\n"
 
 #: src/shishi.c:277
 #, c-format
 msgid "could not get ticket as `%s' for `%s'"
-msgstr "nie uda³o siê pobraæ biletu jako `%s' dla `%s'"
+msgstr "nie udało się pobrać biletu jako `%s' dla `%s'"
 
 #. TRANSLATORS: The placeholder indicates the bug-reporting address
 #. for this package.  Please add _another line_ saying
 #. "Report translation bugs to <...>\n" with the address for translation
 #. bugs (typically your translation team's web or email address).
-#: src/shishid.c:491
+#: src/shishid.c:503
 #, c-format
 msgid ""
 "\n"
@@ -828,7 +941,7 @@ msgid ""
 "Report bugs to <%s>.\n"
 msgstr ""
 "\n"
-"Argumenty obowi±zkowe dla opcji d³ugich s± obowi±zkowe tak¿e dla opcji 
krótkich.\n"
+"Argumenty obowiązkowe dla opcji długich są obowiązkowe także dla opcji 
krótkich.\n"
 "\n"
-"Prosimy zg³aszaæ b³êdy na adres <%s>.\n"
-"B³êdy w t³umaczeniu prosimy zg³aszaæ na adres <address@hidden>.\n"
+"Prosimy zgłaszać błędy na adres <%s>.\n"
+"Błędy w tłumaczeniu prosimy zgłaszać na adres <address@hidden>.\n"
diff --git a/po/sr.po.in b/po/sr.po.in
index f1c6e13..03349db 100644
--- a/po/sr.po.in
+++ b/po/sr.po.in
@@ -1,15 +1,15 @@
 # Serbian translation for shishi.
 # Copyright (C) 2012 Free Software Foundation, Inc.
 # This file is distributed under the same license as the shishi package.
-# Мирослав Николић <address@hidden>, 2012.
+# Мирослав Николић <address@hidden>, 2012, 2013.
 msgid ""
 msgstr ""
-"Project-Id-Version: shishi 1.0.0\n"
+"Project-Id-Version: shishi-1.0.2\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2010-05-20 20:29+0200\n"
-"PO-Revision-Date: 2012-07-29 23:19+0200\n"
+"POT-Creation-Date: 2013-04-03 11:27+0200\n"
+"PO-Revision-Date: 2013-10-17 20:05+0200\n"
 "Last-Translator: Мирослав Николић <address@hidden>\n"
-"Language-Team: Serbian <address@hidden>\n"
+"Language-Team: Serbian <(nothing)>\n"
 "Language: sr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -53,93 +53,205 @@ msgid "Replay protection value (nonce) differ between 
request and reply."
 msgstr "Вредност заштите одговора (nonce) се 
разликује између захтева и одговора."
 
 #: lib/error.c:51
-msgid "Keytype used to encrypt ticket doesn't match provided key. This usually 
indicates an internal application error."
-msgstr "Врста кључа коришћеног за шифровање 
карте не одговара достављеном кључу. Ово 
обично указује на унутрашњу грешку 
програма."
+msgid "Incorrect key type used in TGS reply."
+msgstr "Нетачна врста кључа коришћеног у ТГС 
одговору."
 
-#: lib/error.c:54
-msgid "Internal error in low-level crypto routines."
-msgstr "Унутрашња грешка у рутини шифровања 
ниског нивоа."
+#: lib/error.c:53
+msgid "Incorrect key type used in reply from KDC."
+msgstr "Нетачна врста кључа коришћеног у 
одговору са КДЦ-а."
 
-#: lib/error.c:56
-msgid "Low-level cryptographic primitive failed.  This usually indicates bad 
password or data corruption."
-msgstr "Криптографија ниског нивоа није 
успела.  Ово обично указује на лошу лозинку 
или на оштећене податке."
+#: lib/error.c:55
+msgid "Incorrect key type used in AP reply."
+msgstr "Нетачна врста кључа коришћеног у АП 
одговору."
+
+#: lib/error.c:57
+msgid "Failed verification of AP reply."
+msgstr "Није успела провера АП одговора."
 
 #: lib/error.c:59
-msgid "Error receiving data from server"
-msgstr "Грешка у примању података са сервера"
+msgid "Incorrect key type used in AP request."
+msgstr "Нетачна врста кључа коришћеног у АП 
захтеву."
 
 #: lib/error.c:61
-msgid "Timedout talking to KDC. This usually indicates a network or KDC 
address problem."
-msgstr "Истекло је време за разговор са КДЦ-ом. 
Ово обично указује на проблеме са мрежом 
или КДЦ адресом."
+msgid "Provided buffer was too small."
+msgstr "Обезбеђена међумеморија беше премала."
+
+#: lib/error.c:63
+msgid "Derived key material is too short to be applicable."
+msgstr "Материјал произашлог кључа је 
прекратак да би био примењив."
+
+#: lib/error.c:65
+msgid "The key is too large to be usable."
+msgstr "Кључ је превелик да би био употребљив."
+
+#: lib/error.c:67
+msgid "Low-level cryptographic primitive failed.  This usually indicates bad 
password or data corruption."
+msgstr "Криптографија ниског нивоа није 
успела.  Ово обично указује на лошу лозинку 
или на оштећене податке."
 
-#: lib/error.c:64
-msgid "No KDC for realm known."
-msgstr "Није познат КДЦ за подручје."
+#: lib/error.c:70
+msgid "Internal error in low-level crypto routines."
+msgstr "Унутрашња грешка у рутини шифровања 
ниског нивоа."
 
-#: lib/error.c:66
+#: lib/error.c:72
 msgid "The system call socket() failed.  This usually indicates that your 
system does not support the socket type."
 msgstr "Системски позив „socket()“ није успео.  
Ово обично указује на то да ваш систем не 
подржава врсту прикључнице."
 
-#: lib/error.c:69
+#: lib/error.c:75
 msgid "The system call bind() failed.  This usually indicates insufficient 
permissions."
 msgstr "Системски позив „bind()“ није успео.  
Ово обично указује на недовољна овлашћења."
 
-#: lib/error.c:72
+#: lib/error.c:78
 msgid "The system call sendto() failed."
 msgstr "Системски позив „sendto()“ није успео."
 
-#: lib/error.c:74
+#: lib/error.c:80
+msgid "Error receiving data from server"
+msgstr "Грешка у примању података са сервера"
+
+#: lib/error.c:82
 msgid "The system call close() failed."
 msgstr "Системски позив „close()“ није успео."
 
-#: lib/error.c:76
-msgid "Server replied with an error message to request."
+#: lib/error.c:84
+msgid "Timed out talking to KDC. This usually indicates a network or KDC 
address problem."
+msgstr "Истекло је време за разговор са КДЦ-ом. 
Ово обично указује на проблеме са мрежом 
или КДЦ адресом."
+
+#: lib/error.c:87
+msgid "No KDC known for given realm."
+msgstr "Ниједан КДЦ није познат за подручје."
+
+#: lib/error.c:89
+msgid "No TTY assigned to process."
+msgstr "Ниједан ТТУ није придружен процесу."
+
+#: lib/error.c:91
+msgid "Server replied to the request with an error message."
 msgstr "Сервер је одговорио поруком грешке на 
захтев."
 
-#: lib/error.c:78
-msgid "Ticketset not initialized.  This usually indicates an internal 
application error."
+#: lib/error.c:93
+msgid "Failure to use handle.  Missing handle, or misconfigured."
+msgstr "Неуспех коришћења ручице.  Ручица 
недостаје, или је лоше подешена."
+
+#: lib/error.c:95
+msgid "Ticket set not initialized.  This usually indicates an internal 
application error."
 msgstr "Није покренут скуп картица.  Ово 
обично указује на унутрашњу грешку 
програма."
 
-#: lib/error.c:81
+#: lib/error.c:98
+msgid "Key type used to encrypt ticket doesn't match provided key. This 
usually indicates an internal application error."
+msgstr "Врста кључа коришћеног за шифровање 
карте не одговара достављеном кључу. Ово 
обично указује на унутрашњу грешку 
програма."
+
+#: lib/error.c:101
+msgid "Reference to invalid encryption key."
+msgstr "Упута на неисправан кључ шифровања."
+
+#: lib/error.c:103
 msgid "Could not decrypt AP-REQ using provided key. This usually indicates an 
internal application error."
 msgstr "Не могу да дешифрујем АП-ЗАХ користећи 
достављени кључ. Ово обично указује на 
унутрашњу грешку програма."
 
-#: lib/error.c:84
+#: lib/error.c:106
 msgid "Could not decrypt Ticket using provided key. This usually indicates an 
internal application error."
 msgstr "Не могу да дешифрујем Карту користећи 
достављени кључ. Ово обично указује на 
унутрашњу грешку програма."
 
-#: lib/error.c:87
+#: lib/error.c:109
+msgid "Invalid ticked passed in call."
+msgstr "Неисправна картица је прослеђена у 
позиву."
+
+#: lib/error.c:111
+msgid "Argument lies outside of valid range."
+msgstr "Аргумент лежи ван исправног опсега."
+
+#: lib/error.c:113
+msgid "The ASN.1 structure does not contain the indicated element."
+msgstr "АСН.1 структура не садржи назначени 
елемент."
+
+#: lib/error.c:115
+msgid "Attempted access to non-existent key type."
+msgstr "Покушан је приступ непостојећој врсти 
кључа."
+
+#: lib/error.c:117 lib/error.c:135
+msgid "Verification failed on either side."
+msgstr "Провера није успела на обе стране."
+
+#: lib/error.c:119
+msgid "Invalid PKCS5 descriptor."
+msgstr "Неисправан ПКЦС5 описник."
+
+#: lib/error.c:121
+msgid "Invalid claim of iteration count in PKCS5 descriptor."
+msgstr "Неисправна тврдња броја опетовања у 
ПКЦС5 описнику."
+
+#: lib/error.c:123
+msgid "Derived key length is incorrect for PKCS5 descriptor."
+msgstr "Дужина произашлог кључа је нетачна за 
ПКЦС5 описника."
+
+#: lib/error.c:125
+msgid "Derived key is too long for PKCS5 descriptor."
+msgstr "Дужина произашлог кључа је предуга за 
ПКЦС5 описника."
+
+#: lib/error.c:127
+msgid "Principal name syntax error."
+msgstr "Грешка синтаксе назива главника."
+
+#: lib/error.c:129
+msgid "Invalid argument passed in call.  Wrong or unknown value."
+msgstr "Неисправан аргумент је прослеђен у 
позиву.  Погрешна или непозната вредност."
+
+#: lib/error.c:131
+msgid "The indicated ASN.1 element does not carry a value."
+msgstr "Назначени АСН.1 елемент не носи 
вредност."
+
+#: lib/error.c:133
+msgid "Connection attempt failed.  Try again, or check availability."
+msgstr "Покушај повезивања није успео.  
Покушајте поново, или проверите 
доступност."
+
+#: lib/error.c:137
+msgid "The private key uses an incompatible encryption type."
+msgstr "Лични кључ користи несагласну врсту 
шифровања."
+
+#: lib/error.c:139
+msgid "The desired file could not be accessed.  Check permissions."
+msgstr "Жељеном документу се не може 
приступити.  Проверите дозволе."
+
+#: lib/error.c:141
+msgid "The present AP reply specifies an inpermissible key type."
+msgstr "Присутни АП одговор наводи 
недозвољиву врсту кључа."
+
+#: lib/error.c:143
+msgid "A request for present time of day has failed. This is usually internal, 
but a valid time is imperative for us."
+msgstr "Захтев за садашњим временом дана није 
успео. Ово је уобичајено унутрашње, али је 
исправно време за нас императив."
+
+#: lib/error.c:146
 msgid "Failed to parse keytab file"
 msgstr "Нисам успео да обрадим датотеку 
табеле кључа"
 
-#: lib/error.c:89
+#: lib/error.c:148
 msgid "Failed to parse credential cache file"
 msgstr "Нисам успео да обрадим датотеку 
оставе уверења"
 
-#: lib/error.c:106
+#: lib/error.c:165
 msgid "Unknown error"
 msgstr "Непозната грешка"
 
-#: lib/error.c:137 lib/krberror.c:1259
+#: lib/error.c:196 lib/krberror.c:1259
 msgid "No error"
 msgstr "Нема грешке"
 
-#: lib/error.c:267
+#: lib/error.c:326
 #, c-format
 msgid "libshishi: info: %s"
 msgstr "либшиши: подаци: %s"
 
-#: lib/error.c:271
+#: lib/error.c:330
 #, c-format
 msgid "libshishi: info: %s\n"
 msgstr "либшиши: подаци: %s\n"
 
-#: lib/error.c:305
+#: lib/error.c:364
 #, c-format
 msgid "libshishi: warning: %s"
 msgstr "либшиши: упозорење: %s"
 
-#: lib/error.c:309
+#: lib/error.c:368
 #, c-format
 msgid "libshishi: warning: %s\n"
 msgstr "либшиши: упозорење: %s\n"
@@ -204,7 +316,7 @@ msgstr "Сервер није пронађен у бази 
података"
 
 #: lib/krberror.c:1275
 msgid "Multiple principal entries in database"
-msgstr "Више почетних уноса у бази података"
+msgstr "Више уноса главника у бази података"
 
 #: lib/krberror.c:1277
 msgid "The client or server has a null key"
@@ -280,7 +392,7 @@ msgstr "Захтевани сервер и картица 
се не подуда
 
 #: lib/krberror.c:1313
 msgid "Server principal valid for user2user only"
-msgstr "Почетни сервера је исправан само од 
корисника-до-корисника"
+msgstr "Главник сервера је исправан само од 
корисника-до-корисника"
 
 #: lib/krberror.c:1315
 msgid "KDC Policy rejects transited path"
@@ -429,7 +541,7 @@ msgstr "Грешка нумерисања подручја 
у бази пода
 
 #: db/err.c:47
 msgid "Error enumerating principals in database."
-msgstr "Грешка нумерисања почетних у бази 
података."
+msgstr "Грешка нумерисања главника у бази 
података."
 
 #: db/err.c:49
 msgid "Error enumerating keys in database."
@@ -441,15 +553,15 @@ msgstr "Достављено подручје не 
постоји."
 
 #: db/err.c:53
 msgid "Supplied principal does not exist."
-msgstr "Достављени почетни не постоји."
+msgstr "Достављени главник не постоји."
 
 #: db/err.c:55
 msgid "Principal is not associated with any matching key."
-msgstr "Почетни није придружен ниједном 
поклопљеном кључу."
+msgstr "Главник није придружен ниједном 
одговарајућем кључу."
 
 #: db/err.c:57
 msgid "Error finding principal."
-msgstr "Грешка проналажења главног."
+msgstr "Грешка проналажења главника."
 
 #: db/err.c:59
 msgid "Tried to add a realm that already exist."
@@ -469,23 +581,23 @@ msgstr "Грешка уклањања подручја 
из базе подат
 
 #: db/err.c:67
 msgid "Tried to add a principal that already exist."
-msgstr "Покушах да додам почетни које већ 
постоји."
+msgstr "Покушах да додам главника који већ 
постоји."
 
 #: db/err.c:69
 msgid "Error adding principal to database."
-msgstr "Грешка додавања почетног у базу 
података."
+msgstr "Грешка додавања главника у базу 
података."
 
 #: db/err.c:71
 msgid "Error removing principal from database."
-msgstr "Грешка уклањања почетног из базе 
података."
+msgstr "Грешка уклањања главника из базе 
података."
 
 #: db/err.c:73
 msgid "Error adding key to principal."
-msgstr "Грешка додавања кључа почетном."
+msgstr "Грешка додавања кључа главнику."
 
 #: db/err.c:75
 msgid "Error removing key from principal."
-msgstr "Грешка уклањања кључа из почетног."
+msgstr "Грешка уклањања кључа из главника."
 
 #: db/err.c:77
 msgid "More than one key match given search criteria."
@@ -584,7 +696,7 @@ msgstr "Додајем подручје „%s“...\n"
 #: src/shisa.c:269
 #, c-format
 msgid "Adding principal address@hidden'...\n"
-msgstr "Додајем почетног address@hidden"
+msgstr "Додајем главника address@hidden"
 
 #: src/shisa.c:280
 #, c-format
@@ -594,7 +706,7 @@ msgstr "Додајем подручје 
„%s“...готово\n"
 #: src/shisa.c:282
 #, c-format
 msgid "Adding principal address@hidden'...done\n"
-msgstr "Додајем почетног address@hidden"
+msgstr "Додајем главника address@hidden"
 
 #: src/shisa.c:313
 #, c-format
@@ -604,7 +716,7 @@ msgstr "Уклањам подручје „%s“...\n"
 #: src/shisa.c:315
 #, c-format
 msgid "Removing principal address@hidden'...\n"
-msgstr "Уклањам почетног address@hidden"
+msgstr "Уклањам главника address@hidden"
 
 #: src/shisa.c:323
 #, c-format
@@ -614,7 +726,7 @@ msgstr "Уклањам подручје 
„%s“...готово\n"
 #: src/shisa.c:325
 #, c-format
 msgid "Removing principal address@hidden'...done\n"
-msgstr "Уклањам почетног address@hidden"
+msgstr "Уклањам главника address@hidden"
 
 #: src/shisa.c:372
 #, c-format
@@ -639,7 +751,7 @@ msgstr ""
 "Не могу да направим кључ (%d):\n"
 "%s"
 
-#: src/shisa.c:423 src/shishi.c:59 src/shishid.c:482
+#: src/shisa.c:423 src/shishi.c:59 src/shishid.c:494
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Пробајте „%s --help“ за више података.\n"
@@ -707,12 +819,12 @@ msgstr "Додајем основно подручје 
„%s“...\n"
 #: src/shisa.c:551
 #, c-format
 msgid "Modifying principal address@hidden'...\n"
-msgstr "Мењам почетног address@hidden"
+msgstr "Мењам главника address@hidden"
 
 #: src/shisa.c:558
 #, c-format
 msgid "Modifying principal address@hidden'...done\n"
-msgstr "Мењам почетног address@hidden"
+msgstr "Мењам главника address@hidden"
 
 #: src/shisa.c:562
 #, c-format
@@ -747,12 +859,12 @@ msgstr "Не могу да подесим врсте 
шифровања: %s"
 #: src/shishi.c:127
 #, c-format
 msgid "Could not parse client principal \"%s\": %s"
-msgstr "Не могу да обрадим главног клијента 
„%s“: %s"
+msgstr "Не могу да обрадим главника клијента 
„%s“: %s"
 
 #: src/shishi.c:140
 #, c-format
 msgid "Could not parse server principal \"%s\": %s"
-msgstr "Не могу да обрадим главног сервера 
„%s“: %s"
+msgstr "Не могу да обрадим главника сервера 
„%s“: %s"
 
 #: src/shishi.c:146
 #, c-format
@@ -820,7 +932,7 @@ msgstr "не могу да добавим картицу 
као „%s“ за 
 #. for this package.  Please add _another line_ saying
 #. "Report translation bugs to <...>\n" with the address for translation
 #. bugs (typically your translation team's web or email address).
-#: src/shishid.c:491
+#: src/shishid.c:503
 #, c-format
 msgid ""
 "\n"
diff --git a/po/vi.po.in b/po/vi.po.in
index 65f264d..808cf2a 100644
--- a/po/vi.po.in
+++ b/po/vi.po.in
@@ -1,29 +1,32 @@
 # Vietnamese translation for Shishi.
-# Copyright © 2010 Free Software Foundation, Inc.
+# Copyright © 2013 Free Software Foundation, Inc.
 # This file is distributed under the same license as the shishi package.
 # Clytie Siddall <address@hidden>, 2007-2010.
+# Trần Ngọc Quân <address@hidden>, 2013.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: shishi 1.0.0\n"
+"Project-Id-Version: shishi 1.0.2\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2010-05-20 20:29+0200\n"
-"PO-Revision-Date: 2010-10-02 19:40+0930\n"
-"Last-Translator: Clytie Siddall <address@hidden>\n"
-"Language-Team: Vietnamese <address@hidden>\n"
+"POT-Creation-Date: 2013-04-03 11:27+0200\n"
+"PO-Revision-Date: 2013-04-05 13:44+0700\n"
+"Last-Translator: Trần Ngọc Quân <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"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: LocFactoryEditor 1.8\n"
+"X-Poedit-SourceCharset: UTF-8\n"
 
 #: lib/error.c:33
 msgid "Shishi success"
-msgstr "Thành công Shishi"
+msgstr "Shishi thành công"
 
 #: lib/error.c:35
 msgid "Error in ASN.1 function (corrupt data?)"
-msgstr "Gặp lỗi trong hàm ASN.1 (dữ liệu bị hỏng ?)"
+msgstr "Gặp lỗi trong hàm ASN.1 (dữ liệu bị hỏng?)"
 
 #: lib/error.c:37
 msgid "Could not open file"
@@ -35,7 +38,7 @@ msgstr "Lỗi vào/ra tập tin"
 
 #: lib/error.c:41
 msgid "Memory allocation error in shishi library."
-msgstr "Lỗi phân cấp bộ nhớ trong thư viện shishi."
+msgstr "Lỗi cấp phát bộ nhớ trong thư viện shishi."
 
 #: lib/error.c:43
 msgid "Base64 encoding or decoding failed. Data corrupt?"
@@ -54,93 +57,205 @@ msgid "Replay protection value (nonce) differ between 
request and reply."
 msgstr "Giá trị bảo vệ phát lại (nonce) khác biệt giữa yêu 
cầu và đáp ứng."
 
 #: lib/error.c:51
-msgid "Keytype used to encrypt ticket doesn't match provided key. This usually 
indicates an internal application error."
-msgstr "Kiểu khoá dùng để mã hoá vé không khớp với khoá đã 
cung cấp. Thường ngụ ý lỗi ứng dụng nội bộ."
+msgid "Incorrect key type used in TGS reply."
+msgstr "Kiểu khóa không đúng được dùng trong trả lời TGS."
 
-#: lib/error.c:54
-msgid "Internal error in low-level crypto routines."
-msgstr "Lỗi nội bộ trong các hàm mật mã cấp thấp."
+#: lib/error.c:53
+msgid "Incorrect key type used in reply from KDC."
+msgstr "Kiểu khóa không đúng được dùng trong trả lời từ KDC."
 
-#: lib/error.c:56
-msgid "Low-level cryptographic primitive failed.  This usually indicates bad 
password or data corruption."
-msgstr "Điều có sẵn mật mã cấp thấp bị lỗi. Thường ngụ 
ý mật khẩu sai hay dữ liệu bị hỏng."
+#: lib/error.c:55
+msgid "Incorrect key type used in AP reply."
+msgstr "Kiểu khóa không đúng được dùng trong trả lời AP."
+
+#: lib/error.c:57
+msgid "Failed verification of AP reply."
+msgstr "Gặp lỗi khi thẩm tra trả lời AP."
 
 #: lib/error.c:59
-msgid "Error receiving data from server"
-msgstr "Gặp lỗi khi nhận dữ liệu từ máy phục vụ"
+msgid "Incorrect key type used in AP request."
+msgstr "Kiểu khóa không đúng được dùng trong yêu cầu AP."
 
 #: lib/error.c:61
-msgid "Timedout talking to KDC. This usually indicates a network or KDC 
address problem."
-msgstr "Quá hạn khi liên lạc với KDC. Thường ngụ ý một vấn 
đề về mạng hoặc địa chỉ KDC."
+msgid "Provided buffer was too small."
+msgstr "Bộ đệm đã cung cấp quá nhỏ."
 
-#: lib/error.c:64
-msgid "No KDC for realm known."
-msgstr "Không có KDC đã biết cho địa hạt này."
+#: lib/error.c:63
+msgid "Derived key material is too short to be applicable."
+msgstr "Chất liệu khóa nhận được là quá ngắn để có thể 
dùng được."
+
+#: lib/error.c:65
+msgid "The key is too large to be usable."
+msgstr "Khóa quá lớn để có thể dùng."
+
+#: lib/error.c:67
+msgid "Low-level cryptographic primitive failed.  This usually indicates bad 
password or data corruption."
+msgstr "Điều có sẵn mật mã cấp thấp bị lỗi. Thường ngụ 
ý mật khẩu sai hay dữ liệu bị hỏng."
+
+#: lib/error.c:70
+msgid "Internal error in low-level crypto routines."
+msgstr "Lỗi nội bộ trong các hàm mật mã cấp thấp."
 
-#: lib/error.c:66
+#: lib/error.c:72
 msgid "The system call socket() failed.  This usually indicates that your 
system does not support the socket type."
 msgstr "Lời gọi hệ thống socket() (ổ cắm) bị lỗi. Thường 
ngụ ý hệ thống không hỗ trợ kiểu ổ cắm đó."
 
-#: lib/error.c:69
+#: lib/error.c:75
 msgid "The system call bind() failed.  This usually indicates insufficient 
permissions."
 msgstr "Lời gọi hệ thống bind() (đóng kết) bị lỗi. Thường 
ngụ ý không đủ quyền truy cập."
 
-#: lib/error.c:72
+#: lib/error.c:78
 msgid "The system call sendto() failed."
 msgstr "Lời gọi hệ thống sendto() (gửi cho) bị lỗi."
 
-#: lib/error.c:74
+#: lib/error.c:80
+msgid "Error receiving data from server"
+msgstr "Gặp lỗi khi nhận dữ liệu từ máy phục vụ"
+
+#: lib/error.c:82
 msgid "The system call close() failed."
 msgstr "Lời gọi hệ thống close() (đóng) bị lỗi."
 
-#: lib/error.c:76
-msgid "Server replied with an error message to request."
-msgstr "Nhận được yêu cầu thì máy phục vụ đáp ứng với 
thông điệp lỗi."
+#: lib/error.c:84
+msgid "Timed out talking to KDC. This usually indicates a network or KDC 
address problem."
+msgstr "Chờ quá lâu khi liên lạc với KDC. Lỗi thường là có 
vấn đề về mạng hoặc địa chỉ KDC."
 
-#: lib/error.c:78
-msgid "Ticketset not initialized.  This usually indicates an internal 
application error."
-msgstr "Chưa sở khởi bộ vé. Thường ngụ ý lỗi ứng dụng 
nội bộ."
+#: lib/error.c:87
+msgid "No KDC known for given realm."
+msgstr "Không có KDC đã biết cho địa hạt đã cho."
+
+#: lib/error.c:89
+msgid "No TTY assigned to process."
+msgstr "Chưa có TTY được gán cho tiến trình."
+
+#: lib/error.c:91
+msgid "Server replied to the request with an error message."
+msgstr "Máy chủ nhận được trả lời với với thông điệp 
lỗi."
 
-#: lib/error.c:81
+#: lib/error.c:93
+msgid "Failure to use handle.  Missing handle, or misconfigured."
+msgstr "Gặp lỗi khi dùng tiếp hợp. Thiếu tiếp hợp, hay thiếu 
cấu hình."
+
+#: lib/error.c:95
+msgid "Ticket set not initialized.  This usually indicates an internal 
application error."
+msgstr "Vé chưa được khởi tạo. Thường do lỗi ứng dụng nội 
bộ."
+
+#: lib/error.c:98
+msgid "Key type used to encrypt ticket doesn't match provided key. This 
usually indicates an internal application error."
+msgstr "Kiểu khoá dùng để mã hoá vé không khớp với khoá đã 
cung cấp. Nguyên nhân thường là lỗi ứng dụng nội bộ."
+
+#: lib/error.c:101
+msgid "Reference to invalid encryption key."
+msgstr "Tham chiếu đến khóa mã hóa không hợp lệ."
+
+#: lib/error.c:103
 msgid "Could not decrypt AP-REQ using provided key. This usually indicates an 
internal application error."
 msgstr "Không thể giải mã AP-REQ bằng khoá đã cung cấp. Thường 
ngụ ý lỗi ứng dụng nội bộ."
 
-#: lib/error.c:84
+#: lib/error.c:106
 msgid "Could not decrypt Ticket using provided key. This usually indicates an 
internal application error."
 msgstr "Không thể giải mã Vé bằng khoá đã cung cấp. Thường 
ngụ ý lỗi ứng dụng nội bộ."
 
-#: lib/error.c:87
+#: lib/error.c:109
+msgid "Invalid ticked passed in call."
+msgstr "Vé được chuyển qua cuộc gọi không hợp lệ"
+
+#: lib/error.c:111
+msgid "Argument lies outside of valid range."
+msgstr "Đối số nằm ngoài phạm vi hợp lệ."
+
+#: lib/error.c:113
+msgid "The ASN.1 structure does not contain the indicated element."
+msgstr "Cấu trúc ASN.1 không chứa phần tử chỉ thị."
+
+#: lib/error.c:115
+msgid "Attempted access to non-existent key type."
+msgstr "Đã cố truy cập một kiểu khóa chưa-có."
+
+#: lib/error.c:117 lib/error.c:135
+msgid "Verification failed on either side."
+msgstr "Xác thực gặp lỗi trên một mặt."
+
+#: lib/error.c:119
+msgid "Invalid PKCS5 descriptor."
+msgstr "Bộ mô tả PKCS5 không hợp lệ."
+
+#: lib/error.c:121
+msgid "Invalid claim of iteration count in PKCS5 descriptor."
+msgstr "Yêu cầu không hợp lệ của số lượng lặp trong bộ mô 
tả PKCS5."
+
+#: lib/error.c:123
+msgid "Derived key length is incorrect for PKCS5 descriptor."
+msgstr "Chiều dài khóa nhận được là không đúng với bộ mô 
tả PKCS5."
+
+#: lib/error.c:125
+msgid "Derived key is too long for PKCS5 descriptor."
+msgstr "Chiều dài khóa nhận được là quá dài với bộ mô tả 
PKCS5."
+
+#: lib/error.c:127
+msgid "Principal name syntax error."
+msgstr "lỗi cú pháp tên chính."
+
+#: lib/error.c:129
+msgid "Invalid argument passed in call.  Wrong or unknown value."
+msgstr "Đối số không hợp lệ được chuyển qua trong cuộc 
gọi. Giá trị sai hay không hiểu."
+
+#: lib/error.c:131
+msgid "The indicated ASN.1 element does not carry a value."
+msgstr "Phần tử ASN.1 đã chỉ thị không phải là giá trị mang."
+
+#: lib/error.c:133
+msgid "Connection attempt failed.  Try again, or check availability."
+msgstr "Không thể kết nối. Hãy thử lại, hay kiểm tra lại tính 
khả dụng."
+
+#: lib/error.c:137
+msgid "The private key uses an incompatible encryption type."
+msgstr "Khóa riêng dùng một kiểu mã hóa không tương thích."
+
+#: lib/error.c:139
+msgid "The desired file could not be accessed.  Check permissions."
+msgstr "Tập tin nhận được không thể truy cập. Hãy kiểm tra 
phân quyền của nó."
+
+#: lib/error.c:141
+msgid "The present AP reply specifies an inpermissible key type."
+msgstr "Trả lời AP hiện tại đã cho là một kiểu khóa bị 
cấm."
+
+#: lib/error.c:143
+msgid "A request for present time of day has failed. This is usually internal, 
but a valid time is imperative for us."
+msgstr "Một yêu cầu thời gian hiện tại của ngày gặp lỗi. 
Nguyên nhân thường là do bản thân phần mềm, nhưng một thời 
gian hợp lệ là cần thiết với chúng ta."
+
+#: lib/error.c:146
 msgid "Failed to parse keytab file"
 msgstr "Lỗi phân tách tập tin keytab."
 
-#: lib/error.c:89
+#: lib/error.c:148
 msgid "Failed to parse credential cache file"
-msgstr "Lỗi phân tách tập tin nhớ tạm thông tin xác thực"
+msgstr "Lỗi phân tách tập tin nhớ đệm thông tin xác thực"
 
-#: lib/error.c:106
+#: lib/error.c:165
 msgid "Unknown error"
 msgstr "Lỗi không rõ"
 
-#: lib/error.c:137 lib/krberror.c:1259
+#: lib/error.c:196 lib/krberror.c:1259
 msgid "No error"
 msgstr "Không có lỗi"
 
-#: lib/error.c:267
+#: lib/error.c:326
 #, c-format
 msgid "libshishi: info: %s"
 msgstr "libshishi: thông tin: %s"
 
-#: lib/error.c:271
+#: lib/error.c:330
 #, c-format
 msgid "libshishi: info: %s\n"
 msgstr "libshishi: thông tin: %s\n"
 
-#: lib/error.c:305
+#: lib/error.c:364
 #, c-format
 msgid "libshishi: warning: %s"
 msgstr "libshishi: cảnh báo : %s"
 
-#: lib/error.c:309
+#: lib/error.c:368
 #, c-format
 msgid "libshishi: warning: %s\n"
 msgstr "libshishi: cảnh báo : %s\n"
@@ -297,7 +412,7 @@ msgstr "Lỗi thử tính nguyên vẹn trên trường 
đã giải mã"
 
 #: lib/krberror.c:1321
 msgid "Ticket expired"
-msgstr "Vé quá thời"
+msgstr "Vé quá thời hạn"
 
 #: lib/krberror.c:1323
 msgid "Ticket not yet valid"
@@ -377,7 +492,7 @@ msgstr "Đáp ứng quá lớn cho UDP, hãy thử lại 
với TCP"
 
 #: lib/krberror.c:1361
 msgid "Generic error (description in e-text)"
-msgstr "Lỗi giống loài (mô ta trong văn bản điện tử)"
+msgstr "Lỗi chung (mô tả trong văn bản điện tử)"
 
 #: lib/krberror.c:1363
 msgid "Field is too long for this implementation"
@@ -405,7 +520,7 @@ msgstr "Shisa thành công"
 
 #: db/err.c:35
 msgid "Shisa could not be initialized."
-msgstr "Không thể sở khởi Shisa."
+msgstr "Không thể khởi tạo Shisa."
 
 #: db/err.c:37
 msgid "The Shisa configuration file does not exist."
@@ -453,7 +568,7 @@ msgstr "Gặp lỗi khi tìm mục chính."
 
 #: db/err.c:59
 msgid "Tried to add a realm that already exist."
-msgstr "Đã thử thêm một địa hạt đã có."
+msgstr "Đã cố thêm một địa hạt đã có."
 
 #: db/err.c:61
 msgid "Error adding realm to database."
@@ -461,7 +576,7 @@ msgstr "Gặp lỗi khi thêm địa hạt vào cơ sở 
dữ liệu."
 
 #: db/err.c:63
 msgid "Tried to remove a non-empty realm."
-msgstr "Đã thử gỡ bỏ một địa hạt không rỗng."
+msgstr "Đã cố gỡ bỏ một địa hạt không rỗng."
 
 #: db/err.c:65
 msgid "Error removing realm from database."
@@ -469,7 +584,7 @@ msgstr "Gặp lỗi khi gỡ bỏ địa hạt khỏi cơ 
sở dữ liệu."
 
 #: db/err.c:67
 msgid "Tried to add a principal that already exist."
-msgstr "Đã thử thêm một mục chính đã có."
+msgstr "Đã cố thêm một mục chính đã có."
 
 #: db/err.c:69
 msgid "Error adding principal to database."
@@ -502,7 +617,7 @@ msgstr "shisa: %s\n"
 
 #: src/shisa.c:143
 msgid "Account is"
-msgstr "Tài khoản"
+msgstr "Tài khoản là"
 
 #: src/shisa.c:144
 msgid "DISABLED"
@@ -546,7 +661,7 @@ msgstr "Tài khoản hết hạn vào"
 
 #: src/shisa.c:172
 msgid "Key"
-msgstr "Khoá"
+msgstr "Khóa"
 
 #: src/shisa.c:174
 msgid "\tEtype"
@@ -558,7 +673,7 @@ msgstr "\tƯu tiên"
 
 #: src/shisa.c:181
 msgid "\tSalt"
-msgstr "\tSalt"
+msgstr "\tMuối"
 
 #: src/shisa.c:183
 msgid "\tS2K params"
@@ -579,47 +694,47 @@ msgstr "BỊ THIẾU"
 #: src/shisa.c:267
 #, c-format
 msgid "Adding realm `%s'...\n"
-msgstr "Đang thêm địa hạt « %s »...\n"
+msgstr "Đang thêm địa hạt “%s”...\n"
 
 #: src/shisa.c:269
 #, c-format
 msgid "Adding principal address@hidden'...\n"
-msgstr "Đang thêm mục chính « address@hidden »...\n"
+msgstr "Đang thêm mục chính address@hidden"
 
 #: src/shisa.c:280
 #, c-format
 msgid "Adding realm `%s'...done\n"
-msgstr "Đang thêm địa hạt « %s »... hoàn tất\n"
+msgstr "Đang thêm địa hạt “%s”... hoàn tất\n"
 
 #: src/shisa.c:282
 #, c-format
 msgid "Adding principal address@hidden'...done\n"
-msgstr "Đang thêm mục chính « address@hidden »... hoàn tất\n"
+msgstr "Đang thêm mục chính address@hidden hoàn tất\n"
 
 #: src/shisa.c:313
 #, c-format
 msgid "Removing realm `%s'...\n"
-msgstr "Đang gỡ bỏ địa hạt « %s »...\n"
+msgstr "Đang gỡ bỏ địa hạt “%s”...\n"
 
 #: src/shisa.c:315
 #, c-format
 msgid "Removing principal address@hidden'...\n"
-msgstr "Đang gỡ bỏ mục chính « address@hidden »...\n"
+msgstr "Đang gỡ bỏ mục chính address@hidden"
 
 #: src/shisa.c:323
 #, c-format
 msgid "Removing realm `%s'...done\n"
-msgstr "Đang gỡ bỏ địa hạt « %s »... hoàn tất\n"
+msgstr "Đang gỡ bỏ địa hạt “%s”... hoàn tất\n"
 
 #: src/shisa.c:325
 #, c-format
 msgid "Removing principal address@hidden'...done\n"
-msgstr "Đang gỡ bỏ mục chính « address@hidden »... hoàn tất\n"
+msgstr "Đang gỡ bỏ mục chính address@hidden hoàn tất\n"
 
 #: src/shisa.c:372
 #, c-format
 msgid "Password for address@hidden': "
-msgstr "Mật khẩu cho « address@hidden »: "
+msgstr "Mật khẩu cho address@hidden: "
 
 #: src/shisa.c:375
 msgid "Password: "
@@ -639,10 +754,10 @@ msgstr ""
 "Không thể tạo khoá (%d):\n"
 "%s"
 
-#: src/shisa.c:423 src/shishi.c:59 src/shishid.c:482
+#: src/shisa.c:423 src/shishi.c:59 src/shishid.c:494
 #, c-format
 msgid "Try `%s --help' for more information.\n"
-msgstr "Hãy thử lệnh trợ giúp « %s --help » để xem thêm thông 
tin.\n"
+msgstr "Hãy thử lệnh trợ giúp “%s --help” để xem thêm thông 
tin.\n"
 
 #: src/shisa.c:428 src/shishi.c:64
 #, c-format
@@ -664,7 +779,7 @@ msgid ""
 "Initialization failed:\n"
 "%s"
 msgstr ""
-"Lỗi sơ khởi:\n"
+"Lỗi khởi tạo:\n"
 "%s"
 
 #: src/shisa.c:482
@@ -673,7 +788,7 @@ msgid ""
 "Could not read library options `%s':\n"
 "%s"
 msgstr ""
-"Không thể đọc các tùy chọn về thư viện « %s »:\n"
+"Không thể đọc các tùy chọn về thư viện “%s”:\n"
 "%s"
 
 #: src/shisa.c:487
@@ -682,7 +797,7 @@ msgid ""
 "Shishi initialization failed:\n"
 "%s"
 msgstr ""
-"Lỗi sơ khởi Shisi:\n"
+"Lỗi khởi tạo Shisi:\n"
 "%s"
 
 #: src/shisa.c:492
@@ -691,7 +806,7 @@ msgid ""
 "Could not set encryption type `%s':\n"
 "%s"
 msgstr ""
-"Không thể đặt kiểu mật mã « %s »:\n"
+"Không thể đặt kiểu mã hóa “%s”:\n"
 "%s"
 
 #: src/shisa.c:500
@@ -702,57 +817,57 @@ msgstr "quá ít đối số"
 #: src/shisa.c:531
 #, c-format
 msgid "Adding default realm `%s'...\n"
-msgstr "Đang thêm địa hạt mặc định « %s »...\n"
+msgstr "Đang thêm địa hạt mặc định “%s”...\n"
 
 #: src/shisa.c:551
 #, c-format
 msgid "Modifying principal address@hidden'...\n"
-msgstr "Đang sửa đổi mục chính « address@hidden »...\n"
+msgstr "Đang sửa đổi mục chính address@hidden"
 
 #: src/shisa.c:558
 #, c-format
 msgid "Modifying principal address@hidden'...done\n"
-msgstr "Đang sửa đổi mục chính « address@hidden »... hoàn tất\n"
+msgstr "Đang sửa đổi mục chính address@hidden hoàn tất\n"
 
 #: src/shisa.c:562
 #, c-format
 msgid "Adding key to address@hidden'...\n"
-msgstr "Đang thêm khoá vào « address@hidden »...\n"
+msgstr "Đang thêm khoá vào address@hidden"
 
 #: src/shisa.c:572
 #, c-format
 msgid "Adding key to address@hidden'...done\n"
-msgstr "Đang thêm khoá vào « address@hidden »... hoàn tất\n"
+msgstr "Đang thêm khoá vào address@hidden hoàn tất\n"
 
 #: src/shisa.c:576
 #, c-format
 msgid "Removing key from address@hidden'...\n"
-msgstr "Đang gỡ bỏ khoá khỏi « address@hidden »...\n"
+msgstr "Đang gỡ bỏ khoá khỏi address@hidden"
 
 #: src/shisa.c:589
 #, c-format
 msgid "Removing key from address@hidden'...done\n"
-msgstr "Đang gỡ bỏ khoá khỏi « address@hidden »... hoàn tất\n"
+msgstr "Đang gỡ bỏ khoá khỏi address@hidden hoàn tất\n"
 
 #: src/shishi.c:111
 #, c-format
 msgid "cannot initialize libshishi"
-msgstr "không thể sơ khởi libshishi"
+msgstr "không thể khởi tạo libshishi"
 
 #: src/shishi.c:115
 #, c-format
 msgid "Could not set encryption types: %s"
-msgstr "Không thể đặt các kiểu mật mã: %s"
+msgstr "Không thể đặt các kiểu mã hóa: %s"
 
 #: src/shishi.c:127
 #, c-format
 msgid "Could not parse client principal \"%s\": %s"
-msgstr "Không thể phân tách mục chính của trình khách « %s »: %s"
+msgstr "Không thể phân tách mục chính của trình khách “%s”: %s"
 
 #: src/shishi.c:140
 #, c-format
 msgid "Could not parse server principal \"%s\": %s"
-msgstr "Không thể phân tách mục chính của trình phục vụ « %s 
»: %s"
+msgstr "Không thể phân tách mục chính của trình phục vụ 
“%s”: %s"
 
 #: src/shishi.c:146
 #, c-format
@@ -762,22 +877,22 @@ msgstr "Không thể đọc các tùy chọn của thư 
viện: %s"
 #: src/shishi.c:164
 #, c-format
 msgid "Invalid --starttime date `%s'"
-msgstr "Ngày tháng « --starttime » (giờ bắt đầu) không hợp lệ 
« %s »"
+msgstr "Ngày tháng “--starttime” (giờ bắt đầu) không hợp lệ 
“%s”"
 
 #: src/shishi.c:174
 #, c-format
 msgid "Invalid --endtime date `%s'"
-msgstr "Ngày tháng « --endtime » (giờ kết thúc) không hợp lệ « 
%s »"
+msgstr "Ngày tháng “--endtime” (giờ kết thúc) không hợp lệ 
“%s”"
 
 #: src/shishi.c:184
 #, c-format
 msgid "Invalid --renew-till date `%s'"
-msgstr "Ngày tháng « --renew-till » (gia hạn đến) không hợp lệ 
« %s »"
+msgstr "Ngày tháng “--renew-till” (gia hạn đến) không hợp lệ 
“%s”"
 
 #: src/shishi.c:203
 #, c-format
 msgid "Tickets in `%s':\n"
-msgstr "Vé trong « %s »:\n"
+msgstr "Vé trong “%s”:\n"
 
 #: src/shishi.c:208
 #, c-format
@@ -801,7 +916,7 @@ msgstr ""
 #: src/shishi.c:242
 #, c-format
 msgid "No tickets removed.\n"
-msgstr "Chưa gỡ bỏ vé.\n"
+msgstr "Không có vé nào bị gỡ bỏ.\n"
 
 #: src/shishi.c:244
 #, c-format
@@ -812,13 +927,13 @@ msgstr[0] "%d vé bị gỡ bỏ.\n"
 #: src/shishi.c:277
 #, c-format
 msgid "could not get ticket as `%s' for `%s'"
-msgstr "không thể lấy vé như « %s » cho « %s »"
+msgstr "không thể lấy vé như “%s” cho “%s”"
 
 #. TRANSLATORS: The placeholder indicates the bug-reporting address
 #. for this package.  Please add _another line_ saying
 #. "Report translation bugs to <...>\n" with the address for translation
 #. bugs (typically your translation team's web or email address).
-#: src/shishid.c:491
+#: src/shishid.c:503
 #, c-format
 msgid ""
 "\n"
@@ -830,3 +945,4 @@ msgstr ""
 "Mọi đối số bắt buộc phải sử dụng với tùy chọn dài 
cũng bắt buộc với tùy chọn ngắn.\n"
 "\n"
 "Hãy thông báo lỗi nào cho <%s>.\n"
+"Hãy thông báo lỗi dịch cho address@hidden"
diff --git a/shisa.conf.in b/shisa.conf.in
index 787cdfd..47be58f 100644
--- a/shisa.conf.in
+++ b/shisa.conf.in
@@ -1,5 +1,5 @@
 # shisa.conf --- Database configuration file for Shishi.             -*- sh -*-
-# Copyright 2002-2013 Simon Josefsson
+# Copyright 2002-2014 Simon Josefsson
 #
 # Copying and distribution of this file, with or without modification,
 # are permitted in any medium without royalty provided the copyright
diff --git a/shishi.conf.in b/shishi.conf.in
index 9771504..da6536c 100644
--- a/shishi.conf.in
+++ b/shishi.conf.in
@@ -1,5 +1,5 @@
 # System configuration file for Shishi @VERSION@
-# Copyright 2002-2013 Simon Josefsson
+# Copyright 2002-2014 Simon Josefsson
 #
 # This file is free software; as a special exception the author gives
 # unlimited permission to copy and/or distribute it, with or without
diff --git a/shishi.pc.in b/shishi.pc.in
index 98b19b9..7534133 100644
--- a/shishi.pc.in
+++ b/shishi.pc.in
@@ -1,5 +1,5 @@
 # Process this file with autoconf to produce a pkg-config metadata file.
-# Copyright 2002-2013 Simon Josefsson
+# Copyright 2002-2014 Simon Josefsson
 #
 # This file is free software; as a special exception the author gives
 # unlimited permission to copy and/or distribute it, with or without
diff --git a/shishi.skel.in b/shishi.skel.in
index a9b8810..c4e06f0 100644
--- a/shishi.skel.in
+++ b/shishi.skel.in
@@ -1,5 +1,5 @@
 # User configuration file for Shishi @VERSION@
-# Copyright 2002-2013 Simon Josefsson
+# Copyright 2002-2014 Simon Josefsson
 #
 # This file is free software; as a special exception the author gives
 # unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Makefile.am b/src/Makefile.am
index d687715..182c763 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2002-2013 Simon Josefsson
+# Copyright (C) 2002-2014 Simon Josefsson
 #
 # This file is part of Shishi.
 #
diff --git a/src/ccache2shishi.c b/src/ccache2shishi.c
index 37aff65..fa097a3 100644
--- a/src/ccache2shishi.c
+++ b/src/ccache2shishi.c
@@ -1,5 +1,5 @@
 /* ccache2shishi.c --- Print and convert MIT ccache files.
- * Copyright (C) 2006-2013 Simon Josefsson
+ * Copyright (C) 2006-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/src/ccache2shishi.ggo b/src/ccache2shishi.ggo
index 68eb5be..53b17b8 100644
--- a/src/ccache2shishi.ggo
+++ b/src/ccache2shishi.ggo
@@ -1,5 +1,5 @@
 ## Process this file with gengetopt to produce ccache2shishi_cmd.*
-# Copyright (C) 2006-2013 Simon Josefsson.
+# Copyright (C) 2006-2014 Simon Josefsson.
 #
 # This file is part of Shishi.
 #
diff --git a/src/gl/errno.in.h b/src/gl/errno.in.h
index 49b3546..832afc8 100644
--- a/src/gl/errno.in.h
+++ b/src/gl/errno.in.h
@@ -1,6 +1,6 @@
 /* A POSIX-like <errno.h>.
 
-   Copyright (C) 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2008-2014 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
diff --git a/src/gl/error.c b/src/gl/error.c
index 865b293..18ff5db 100644
--- a/src/gl/error.c
+++ b/src/gl/error.c
@@ -1,5 +1,5 @@
 /* Error handler for noninteractive utilities
-   Copyright (C) 1990-1998, 2000-2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 1990-1998, 2000-2007, 2009-2014 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    This program is free software: you can redistribute it and/or modify
@@ -39,6 +39,9 @@
 # include <stdint.h>
 # include <wchar.h>
 # define mbsrtowcs __mbsrtowcs
+# define USE_UNLOCKED_IO 0
+# define _GL_ATTRIBUTE_FORMAT_PRINTF(a, b)
+# define _GL_ARG_NONNULL(a)
 #endif
 
 #if USE_UNLOCKED_IO
@@ -72,14 +75,14 @@ extern void __error (int status, int errnum, const char 
*message, ...)
 extern void __error_at_line (int status, int errnum, const char *file_name,
                              unsigned int line_number, const char *message,
                              ...)
-     __attribute__ ((__format__ (__printf__, 5, 6)));;
+     __attribute__ ((__format__ (__printf__, 5, 6)));
 # define error __error
 # define error_at_line __error_at_line
 
 # include <libio/iolibio.h>
-# define fflush(s) INTUSE(_IO_fflush) (s)
+# define fflush(s) _IO_fflush (s)
 # undef putc
-# define putc(c, fp) INTUSE(_IO_putc) (c, fp)
+# define putc(c, fp) _IO_putc (c, fp)
 
 # include <bits/libc-lock.h>
 
@@ -171,7 +174,7 @@ print_errno_message (int errnum)
 
 #if defined HAVE_STRERROR_R || _LIBC
   char errbuf[1024];
-# if STRERROR_R_CHAR_P || _LIBC
+# if _LIBC || STRERROR_R_CHAR_P
   s = __strerror_r (errnum, errbuf, sizeof errbuf);
 # else
   if (__strerror_r (errnum, errbuf, sizeof errbuf) == 0)
@@ -195,13 +198,12 @@ print_errno_message (int errnum)
 #endif
 }
 
-static void
+static void _GL_ATTRIBUTE_FORMAT_PRINTF (3, 0) _GL_ARG_NONNULL ((3))
 error_tail (int status, int errnum, const char *message, va_list args)
 {
 #if _LIBC
   if (_IO_fwide (stderr, 0) > 0)
     {
-# define ALLOCA_LIMIT 2000
       size_t len = strlen (message) + 1;
       wchar_t *wmessage = NULL;
       mbstate_t st;
@@ -237,7 +239,7 @@ error_tail (int status, int errnum, const char *message, 
va_list args)
           if (res != len)
             break;
 
-          if (__builtin_expect (len >= SIZE_MAX / 2, 0))
+          if (__builtin_expect (len >= SIZE_MAX / sizeof (wchar_t) / 2, 0))
             {
               /* This really should not happen if everything is fine.  */
               res = (size_t) -1;
@@ -342,7 +344,10 @@ error_at_line (int status, int errnum, const char 
*file_name,
 
       if (old_line_number == line_number
           && (file_name == old_file_name
-              || strcmp (old_file_name, file_name) == 0))
+              || (old_file_name != NULL
+                  && file_name != NULL
+                  && strcmp (old_file_name, file_name) == 0)))
+
         /* Simply return and print nothing.  */
         return;
 
diff --git a/src/gl/error.h b/src/gl/error.h
index afcb0e1..4aaafb3 100644
--- a/src/gl/error.h
+++ b/src/gl/error.h
@@ -1,5 +1,5 @@
 /* Declaration for error-reporting function
-   Copyright (C) 1995-1997, 2003, 2006, 2008-2013 Free Software Foundation,
+   Copyright (C) 1995-1997, 2003, 2006, 2008-2014 Free Software Foundation,
    Inc.
    This file is part of the GNU C Library.
 
diff --git a/src/gl/getopt.c b/src/gl/getopt.c
index ef0f4ce..7d950af 100644
--- a/src/gl/getopt.c
+++ b/src/gl/getopt.c
@@ -2,7 +2,7 @@
    NOTE: getopt is part of the C library, so if you don't know what
    "Keep this file name-space clean" means, talk to address@hidden
    before changing it!
-   Copyright (C) 1987-1996, 1998-2004, 2006, 2008-2013 Free Software
+   Copyright (C) 1987-1996, 1998-2004, 2006, 2008-2014 Free Software
    Foundation, Inc.
    This file is part of the GNU C Library.
 
diff --git a/src/gl/getopt.in.h b/src/gl/getopt.in.h
index d9c7d81..7ab99fb 100644
--- a/src/gl/getopt.in.h
+++ b/src/gl/getopt.in.h
@@ -1,5 +1,5 @@
 /* Declarations for getopt.
-   Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2013 Free Software
+   Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2014 Free Software
    Foundation, Inc.
    This file is part of the GNU C Library.
 
diff --git a/src/gl/getopt1.c b/src/gl/getopt1.c
index 55a6b4e..a184865 100644
--- a/src/gl/getopt1.c
+++ b/src/gl/getopt1.c
@@ -1,5 +1,5 @@
 /* getopt_long and getopt_long_only entry points for GNU getopt.
-   Copyright (C) 1987-1994, 1996-1998, 2004, 2006, 2009-2013 Free Software
+   Copyright (C) 1987-1994, 1996-1998, 2004, 2006, 2009-2014 Free Software
    Foundation, Inc.
    This file is part of the GNU C Library.
 
diff --git a/src/gl/getopt_int.h b/src/gl/getopt_int.h
index a6e4b9e..24ed672 100644
--- a/src/gl/getopt_int.h
+++ b/src/gl/getopt_int.h
@@ -1,5 +1,5 @@
 /* Internal declarations for getopt.
-   Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2004, 2009-2013 Free Software
+   Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2004, 2009-2014 Free Software
    Foundation, Inc.
    This file is part of the GNU C Library.
 
diff --git a/src/gl/gnulib.mk b/src/gl/gnulib.mk
index 84c79ca..fa7f6e1 100644
--- a/src/gl/gnulib.mk
+++ b/src/gl/gnulib.mk
@@ -1,6 +1,6 @@
 ## DO NOT EDIT! GENERATED AUTOMATICALLY!
 ## Process this file with automake to produce Makefile.in.
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -263,6 +263,134 @@ EXTRA_DIST += stddef.in.h
 
 ## end   gnulib module stddef
 
+## begin gnulib module stdio
+
+BUILT_SOURCES += stdio.h
+
+# We need the following in order to create <stdio.h> when the system
+# doesn't have one that works with the given compiler.
+stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) 
$(ARG_NONNULL_H) $(WARN_ON_USE_H)
+       $(AM_V_GEN)rm -f address@hidden $@ && \
+       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+         sed -e 's|@''GUARD_PREFIX''@|GL_GL2|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_STDIO_H''@|$(NEXT_STDIO_H)|g' \
+             -e 's/@''GNULIB_DPRINTF''@/$(GNULIB_DPRINTF)/g' \
+             -e 's/@''GNULIB_FCLOSE''@/$(GNULIB_FCLOSE)/g' \
+             -e 's/@''GNULIB_FDOPEN''@/$(GNULIB_FDOPEN)/g' \
+             -e 's/@''GNULIB_FFLUSH''@/$(GNULIB_FFLUSH)/g' \
+             -e 's/@''GNULIB_FGETC''@/$(GNULIB_FGETC)/g' \
+             -e 's/@''GNULIB_FGETS''@/$(GNULIB_FGETS)/g' \
+             -e 's/@''GNULIB_FOPEN''@/$(GNULIB_FOPEN)/g' \
+             -e 's/@''GNULIB_FPRINTF''@/$(GNULIB_FPRINTF)/g' \
+             -e 's/@''GNULIB_FPRINTF_POSIX''@/$(GNULIB_FPRINTF_POSIX)/g' \
+             -e 's/@''GNULIB_FPURGE''@/$(GNULIB_FPURGE)/g' \
+             -e 's/@''GNULIB_FPUTC''@/$(GNULIB_FPUTC)/g' \
+             -e 's/@''GNULIB_FPUTS''@/$(GNULIB_FPUTS)/g' \
+             -e 's/@''GNULIB_FREAD''@/$(GNULIB_FREAD)/g' \
+             -e 's/@''GNULIB_FREOPEN''@/$(GNULIB_FREOPEN)/g' \
+             -e 's/@''GNULIB_FSCANF''@/$(GNULIB_FSCANF)/g' \
+             -e 's/@''GNULIB_FSEEK''@/$(GNULIB_FSEEK)/g' \
+             -e 's/@''GNULIB_FSEEKO''@/$(GNULIB_FSEEKO)/g' \
+             -e 's/@''GNULIB_FTELL''@/$(GNULIB_FTELL)/g' \
+             -e 's/@''GNULIB_FTELLO''@/$(GNULIB_FTELLO)/g' \
+             -e 's/@''GNULIB_FWRITE''@/$(GNULIB_FWRITE)/g' \
+             -e 's/@''GNULIB_GETC''@/$(GNULIB_GETC)/g' \
+             -e 's/@''GNULIB_GETCHAR''@/$(GNULIB_GETCHAR)/g' \
+             -e 's/@''GNULIB_GETDELIM''@/$(GNULIB_GETDELIM)/g' \
+             -e 's/@''GNULIB_GETLINE''@/$(GNULIB_GETLINE)/g' \
+             -e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GNULIB_OBSTACK_PRINTF)/g' \
+             -e 
's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GNULIB_OBSTACK_PRINTF_POSIX)/g' \
+             -e 's/@''GNULIB_PCLOSE''@/$(GNULIB_PCLOSE)/g' \
+             -e 's/@''GNULIB_PERROR''@/$(GNULIB_PERROR)/g' \
+             -e 's/@''GNULIB_POPEN''@/$(GNULIB_POPEN)/g' \
+             -e 's/@''GNULIB_PRINTF''@/$(GNULIB_PRINTF)/g' \
+             -e 's/@''GNULIB_PRINTF_POSIX''@/$(GNULIB_PRINTF_POSIX)/g' \
+             -e 's/@''GNULIB_PUTC''@/$(GNULIB_PUTC)/g' \
+             -e 's/@''GNULIB_PUTCHAR''@/$(GNULIB_PUTCHAR)/g' \
+             -e 's/@''GNULIB_PUTS''@/$(GNULIB_PUTS)/g' \
+             -e 's/@''GNULIB_REMOVE''@/$(GNULIB_REMOVE)/g' \
+             -e 's/@''GNULIB_RENAME''@/$(GNULIB_RENAME)/g' \
+             -e 's/@''GNULIB_RENAMEAT''@/$(GNULIB_RENAMEAT)/g' \
+             -e 's/@''GNULIB_SCANF''@/$(GNULIB_SCANF)/g' \
+             -e 's/@''GNULIB_SNPRINTF''@/$(GNULIB_SNPRINTF)/g' \
+             -e 's/@''GNULIB_SPRINTF_POSIX''@/$(GNULIB_SPRINTF_POSIX)/g' \
+             -e 
's/@''GNULIB_STDIO_H_NONBLOCKING''@/$(GNULIB_STDIO_H_NONBLOCKING)/g' \
+             -e 's/@''GNULIB_STDIO_H_SIGPIPE''@/$(GNULIB_STDIO_H_SIGPIPE)/g' \
+             -e 's/@''GNULIB_TMPFILE''@/$(GNULIB_TMPFILE)/g' \
+             -e 's/@''GNULIB_VASPRINTF''@/$(GNULIB_VASPRINTF)/g' \
+             -e 's/@''GNULIB_VDPRINTF''@/$(GNULIB_VDPRINTF)/g' \
+             -e 's/@''GNULIB_VFPRINTF''@/$(GNULIB_VFPRINTF)/g' \
+             -e 's/@''GNULIB_VFPRINTF_POSIX''@/$(GNULIB_VFPRINTF_POSIX)/g' \
+             -e 's/@''GNULIB_VFSCANF''@/$(GNULIB_VFSCANF)/g' \
+             -e 's/@''GNULIB_VSCANF''@/$(GNULIB_VSCANF)/g' \
+             -e 's/@''GNULIB_VPRINTF''@/$(GNULIB_VPRINTF)/g' \
+             -e 's/@''GNULIB_VPRINTF_POSIX''@/$(GNULIB_VPRINTF_POSIX)/g' \
+             -e 's/@''GNULIB_VSNPRINTF''@/$(GNULIB_VSNPRINTF)/g' \
+             -e 's/@''GNULIB_VSPRINTF_POSIX''@/$(GNULIB_VSPRINTF_POSIX)/g' \
+             < $(srcdir)/stdio.in.h | \
+         sed -e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \
+             -e 's|@''HAVE_DECL_FSEEKO''@|$(HAVE_DECL_FSEEKO)|g' \
+             -e 's|@''HAVE_DECL_FTELLO''@|$(HAVE_DECL_FTELLO)|g' \
+             -e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \
+             -e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \
+             -e 
's|@''HAVE_DECL_OBSTACK_PRINTF''@|$(HAVE_DECL_OBSTACK_PRINTF)|g' \
+             -e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \
+             -e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \
+             -e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \
+             -e 's|@''HAVE_FSEEKO''@|$(HAVE_FSEEKO)|g' \
+             -e 's|@''HAVE_FTELLO''@|$(HAVE_FTELLO)|g' \
+             -e 's|@''HAVE_PCLOSE''@|$(HAVE_PCLOSE)|g' \
+             -e 's|@''HAVE_POPEN''@|$(HAVE_POPEN)|g' \
+             -e 's|@''HAVE_RENAMEAT''@|$(HAVE_RENAMEAT)|g' \
+             -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \
+             -e 's|@''HAVE_VDPRINTF''@|$(HAVE_VDPRINTF)|g' \
+             -e 's|@''REPLACE_DPRINTF''@|$(REPLACE_DPRINTF)|g' \
+             -e 's|@''REPLACE_FCLOSE''@|$(REPLACE_FCLOSE)|g' \
+             -e 's|@''REPLACE_FDOPEN''@|$(REPLACE_FDOPEN)|g' \
+             -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \
+             -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \
+             -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \
+             -e 's|@''REPLACE_FPURGE''@|$(REPLACE_FPURGE)|g' \
+             -e 's|@''REPLACE_FREOPEN''@|$(REPLACE_FREOPEN)|g' \
+             -e 's|@''REPLACE_FSEEK''@|$(REPLACE_FSEEK)|g' \
+             -e 's|@''REPLACE_FSEEKO''@|$(REPLACE_FSEEKO)|g' \
+             -e 's|@''REPLACE_FTELL''@|$(REPLACE_FTELL)|g' \
+             -e 's|@''REPLACE_FTELLO''@|$(REPLACE_FTELLO)|g' \
+             -e 's|@''REPLACE_GETDELIM''@|$(REPLACE_GETDELIM)|g' \
+             -e 's|@''REPLACE_GETLINE''@|$(REPLACE_GETLINE)|g' \
+             -e 's|@''REPLACE_OBSTACK_PRINTF''@|$(REPLACE_OBSTACK_PRINTF)|g' \
+             -e 's|@''REPLACE_PERROR''@|$(REPLACE_PERROR)|g' \
+             -e 's|@''REPLACE_POPEN''@|$(REPLACE_POPEN)|g' \
+             -e 's|@''REPLACE_PRINTF''@|$(REPLACE_PRINTF)|g' \
+             -e 's|@''REPLACE_REMOVE''@|$(REPLACE_REMOVE)|g' \
+             -e 's|@''REPLACE_RENAME''@|$(REPLACE_RENAME)|g' \
+             -e 's|@''REPLACE_RENAMEAT''@|$(REPLACE_RENAMEAT)|g' \
+             -e 's|@''REPLACE_SNPRINTF''@|$(REPLACE_SNPRINTF)|g' \
+             -e 's|@''REPLACE_SPRINTF''@|$(REPLACE_SPRINTF)|g' \
+             -e 
's|@''REPLACE_STDIO_READ_FUNCS''@|$(REPLACE_STDIO_READ_FUNCS)|g' \
+             -e 
's|@''REPLACE_STDIO_WRITE_FUNCS''@|$(REPLACE_STDIO_WRITE_FUNCS)|g' \
+             -e 's|@''REPLACE_TMPFILE''@|$(REPLACE_TMPFILE)|g' \
+             -e 's|@''REPLACE_VASPRINTF''@|$(REPLACE_VASPRINTF)|g' \
+             -e 's|@''REPLACE_VDPRINTF''@|$(REPLACE_VDPRINTF)|g' \
+             -e 's|@''REPLACE_VFPRINTF''@|$(REPLACE_VFPRINTF)|g' \
+             -e 's|@''REPLACE_VPRINTF''@|$(REPLACE_VPRINTF)|g' \
+             -e 's|@''REPLACE_VSNPRINTF''@|$(REPLACE_VSNPRINTF)|g' \
+             -e 's|@''REPLACE_VSPRINTF''@|$(REPLACE_VSPRINTF)|g' \
+             -e 's|@''ASM_SYMBOL_PREFIX''@|$(ASM_SYMBOL_PREFIX)|g' \
+             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
+       } > address@hidden && \
+       mv address@hidden $@
+MOSTLYCLEANFILES += stdio.h stdio.h-t
+
+EXTRA_DIST += stdio.in.h
+
+## end   gnulib module stdio
+
 ## begin gnulib module strerror
 
 
@@ -281,6 +409,31 @@ EXTRA_libgnu_la_SOURCES += strerror-override.c
 
 ## end   gnulib module strerror-override
 
+## begin gnulib module sys_types
+
+BUILT_SOURCES += sys/types.h
+
+# We need the following in order to create <sys/types.h> when the system
+# doesn't have one that works with the given compiler.
+sys/types.h: sys_types.in.h $(top_builddir)/config.status
+       $(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_GL2|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_TYPES_H''@|$(NEXT_SYS_TYPES_H)|g' \
+             -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \
+             < $(srcdir)/sys_types.in.h; \
+       } > address@hidden && \
+       mv address@hidden $@
+MOSTLYCLEANFILES += sys/types.h sys/types.h-t
+
+EXTRA_DIST += sys_types.in.h
+
+## end   gnulib module sys_types
+
 ## begin gnulib module verify
 
 
diff --git a/src/gl/locale.in.h b/src/gl/locale.in.h
index 264161a..10cc44b 100644
--- a/src/gl/locale.in.h
+++ b/src/gl/locale.in.h
@@ -1,5 +1,5 @@
 /* A POSIX <locale.h>.
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2014 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
diff --git a/src/gl/m4/00gnulib.m4 b/src/gl/m4/00gnulib.m4
index d4ad759..8eca551 100644
--- a/src/gl/m4/00gnulib.m4
+++ b/src/gl/m4/00gnulib.m4
@@ -1,12 +1,28 @@
-# 00gnulib.m4 serial 2
-dnl Copyright (C) 2009-2013 Free Software Foundation, Inc.
+# 00gnulib.m4 serial 3
+dnl Copyright (C) 2009-2014 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 This file must be named something that sorts before all other
 dnl gnulib-provided .m4 files.  It is needed until such time as we can
-dnl assume Autoconf 2.64, with its improved AC_DEFUN_ONCE semantics.
+dnl assume Autoconf 2.64, with its improved AC_DEFUN_ONCE and
+dnl m4_divert semantics.
+
+# Until autoconf 2.63, handling of the diversion stack required m4_init
+# to be called first; but this does not happen with aclocal.  Wrapping
+# the entire execution in another layer of the diversion stack fixes this.
+# Worse, prior to autoconf 2.62, m4_wrap depended on the underlying m4
+# for whether it was FIFO or LIFO; in order to properly balance with
+# m4_init, we need to undo our push just before anything wrapped within
+# the m4_init body.  The way to ensure this is to wrap both sides of
+# m4_init with a one-shot macro that does the pop at the right time.
+m4_ifndef([_m4_divert_diversion],
+[m4_divert_push([KILL])
+m4_define([gl_divert_fixup], [m4_divert_pop()m4_define([$0])])
+m4_define([m4_init],
+  [gl_divert_fixup()]m4_defn([m4_init])[gl_divert_fixup()])])
+
 
 # AC_DEFUN_ONCE([NAME], VALUE)
 # ----------------------------
diff --git a/src/gl/m4/errno_h.m4 b/src/gl/m4/errno_h.m4
index c813ea5..4ee9e6a 100644
--- a/src/gl/m4/errno_h.m4
+++ b/src/gl/m4/errno_h.m4
@@ -1,5 +1,5 @@
 # errno_h.m4 serial 12
-dnl Copyright (C) 2004, 2006, 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2004, 2006, 2008-2014 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.
diff --git a/src/gl/m4/error.m4 b/src/gl/m4/error.m4
index 29e6fdc..f08ae50 100644
--- a/src/gl/m4/error.m4
+++ b/src/gl/m4/error.m4
@@ -1,6 +1,6 @@
 #serial 14
 
-# Copyright (C) 1996-1998, 2001-2004, 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-1998, 2001-2004, 2009-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff --git a/src/gl/m4/getopt.m4 b/src/gl/m4/getopt.m4
index 50f4509..f127028 100644
--- a/src/gl/m4/getopt.m4
+++ b/src/gl/m4/getopt.m4
@@ -1,5 +1,5 @@
 # getopt.m4 serial 44
-dnl Copyright (C) 2002-2006, 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2008-2014 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.
diff --git a/src/gl/m4/gnulib-cache.m4 b/src/gl/m4/gnulib-cache.m4
index e926126..342996e 100644
--- a/src/gl/m4/gnulib-cache.m4
+++ b/src/gl/m4/gnulib-cache.m4
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/src/gl/m4/gnulib-common.m4 b/src/gl/m4/gnulib-common.m4
index 0ae5a9e..31e5f94 100644
--- a/src/gl/m4/gnulib-common.m4
+++ b/src/gl/m4/gnulib-common.m4
@@ -1,5 +1,5 @@
-# gnulib-common.m4 serial 33
-dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
+# gnulib-common.m4 serial 36
+dnl Copyright (C) 2007-2014 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.
@@ -49,6 +49,16 @@ AC_DEFUN([gl_COMMON_BODY], [
    is a misnomer outside of parameter lists.  */
 #define _UNUSED_PARAMETER_ _GL_UNUSED
 
+/* gcc supports the "unused" attribute on possibly unused labels, and
+   g++ has since version 4.5.  Note to support C++ as well as C,
+   _GL_UNUSED_LABEL should be used with a trailing ;  */
+#if !defined __cplusplus || __GNUC__ > 4 \
+    || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
+# define _GL_UNUSED_LABEL _GL_UNUSED
+#else
+# define _GL_UNUSED_LABEL
+#endif
+
 /* The __pure__ attribute was added in gcc 2.96.  */
 #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
 # define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
@@ -309,26 +319,28 @@ m4_ifdef([AC_PROG_MKDIR_P], [
 ])
 
 # AC_C_RESTRICT
-# This definition overrides the AC_C_RESTRICT macro from autoconf 2.60..2.61,
-# so that mixed use of GNU C and GNU C++ and mixed use of Sun C and Sun C++
-# works.
-# This definition can be removed once autoconf >= 2.62 can be assumed.
-# AC_AUTOCONF_VERSION was introduced in 2.62, so use that as the witness.
-m4_ifndef([AC_AUTOCONF_VERSION],[
+# This definition is copied from post-2.69 Autoconf and overrides the
+# AC_C_RESTRICT macro from autoconf 2.60..2.69.  It can be removed
+# once autoconf >= 2.70 can be assumed.  It's painful to check version
+# numbers, and in practice this macro is more up-to-date than Autoconf
+# is, so override Autoconf unconditionally.
 AC_DEFUN([AC_C_RESTRICT],
 [AC_CACHE_CHECK([for C/C++ restrict keyword], [ac_cv_c_restrict],
   [ac_cv_c_restrict=no
    # The order here caters to the fact that C++ does not require restrict.
    for ac_kw in __restrict __restrict__ _Restrict restrict; do
-     AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
-      [[typedef int * int_ptr;
-        int foo (int_ptr $ac_kw ip) {
-        return ip[0];
-       }]],
-      [[int s[1];
-        int * $ac_kw t = s;
-        t[0] = 0;
-        return foo(t)]])],
+     AC_COMPILE_IFELSE(
+      [AC_LANG_PROGRAM(
+        [[typedef int *int_ptr;
+          int foo (int_ptr $ac_kw ip) { return ip[0]; }
+          int bar (int [$ac_kw]); /* Catch GCC bug 14050.  */
+          int bar (int ip[$ac_kw]) { return ip[0]; }
+        ]],
+        [[int s[1];
+          int *$ac_kw t = s;
+          t[0] = 0;
+          return foo (t) + bar (t);
+        ]])],
       [ac_cv_c_restrict=$ac_kw])
      test "$ac_cv_c_restrict" != no && break
    done
@@ -338,21 +350,21 @@ AC_DEFUN([AC_C_RESTRICT],
    nothing if this is not supported.  Do not define if restrict is
    supported directly.  */
 #undef restrict
-/* Work around a bug in Sun C++: it does not support _Restrict, even
-   though the corresponding Sun C compiler does, which causes
-   "#define restrict _Restrict" in the previous line.  Perhaps some future
-   version of Sun C++ will work with _Restrict; if so, it'll probably
-   define __RESTRICT, just as Sun C does.  */
+/* Work around a bug in Sun C++: it does not support _Restrict or
+   __restrict__, even though the corresponding Sun C compiler ends up with
+   "#define restrict _Restrict" or "#define restrict __restrict__" in the
+   previous line.  Perhaps some future version of Sun C++ will work with
+   restrict; if so, hopefully it defines __RESTRICT like Sun C does.  */
 #if defined __SUNPRO_CC && !defined __RESTRICT
 # define _Restrict
+# define __restrict__
 #endif])
  case $ac_cv_c_restrict in
    restrict) ;;
    no) AC_DEFINE([restrict], []) ;;
    *)  AC_DEFINE_UNQUOTED([restrict], [$ac_cv_c_restrict]) ;;
  esac
-])
-])
+])# AC_C_RESTRICT
 
 # gl_BIGENDIAN
 # is like AC_C_BIGENDIAN, except that it can be AC_REQUIREd.
@@ -375,3 +387,63 @@ AC_DEFUN([gl_CACHE_VAL_SILENT],
   AC_CACHE_VAL([$1], [$2])
   as_echo_n="$saved_as_echo_n"
 ])
+
+# AS_VAR_COPY was added in autoconf 2.63b
+m4_define_default([AS_VAR_COPY],
+[AS_LITERAL_IF([$1[]$2], [$1=$$2], [eval $1=\$$2])])
+
+# AC_PROG_SED was added in autoconf 2.59b
+m4_ifndef([AC_PROG_SED],
+[AC_DEFUN([AC_PROG_SED],
+[AC_CACHE_CHECK([for a sed that does not truncate output], ac_cv_path_SED,
+    [dnl ac_script should not contain more than 99 commands (for HP-UX sed),
+     dnl but more than about 7000 bytes, to catch a limit in Solaris 8 
/usr/ucb/sed.
+     
ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+     for ac_i in 1 2 3 4 5 6 7; do
+       ac_script="$ac_script$as_nl$ac_script"
+     done
+     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+     AS_UNSET([ac_script])
+     if test -z "$SED"; then
+       ac_path_SED_found=false
+       _AS_PATH_WALK([], [
+         for ac_prog in sed gsed; do
+           for ac_exec_ext in '' $ac_executable_extensions; do
+             ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
+             AS_EXECUTABLE_P(["$ac_path_SED"]) || continue
+             case `"$ac_path_SED" --version 2>&1` in
+               *GNU*) ac_cv_path_SED=$ac_path_SED ac_path_SED_found=:;;
+               *)
+                 ac_count=0
+                 _AS_ECHO_N([0123456789]) >conftest.in
+                 while :
+                 do
+                   cat conftest.in conftest.in >conftest.tmp
+                   mv conftest.tmp conftest.in
+                   cp conftest.in conftest.nl
+                   echo >> conftest.nl
+                   "$ac_path_SED" -f conftest.sed <conftest.nl >conftest.out 
2>/dev/null || break
+                   diff conftest.out conftest.nl >/dev/null 2>&1 || break
+                   ac_count=`expr $ac_count + 1`
+                   if test $ac_count -gt ${ac_path_SED_max-0}; then
+                     # Best so far, but keep looking for better
+                     ac_cv_path_SED=$ac_path_SED
+                     ac_path_SED_max=$ac_count
+                   fi
+                   test $ac_count -gt 10 && break
+                 done
+                 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+             esac
+             $ac_path_SED_found && break 3
+           done
+         done])
+       if test -z "$ac_cv_path_SED"; then
+         AC_ERROR([no acceptable sed could be found in \$PATH])
+       fi
+     else
+       ac_cv_path_SED=$SED
+     fi
+ SED="$ac_cv_path_SED"
+ AC_SUBST([SED])dnl
+ rm -f conftest.sed
+])])])
diff --git a/src/gl/m4/gnulib-comp.m4 b/src/gl/m4/gnulib-comp.m4
index 6687206..b698e74 100644
--- a/src/gl/m4/gnulib-comp.m4
+++ b/src/gl/m4/gnulib-comp.m4
@@ -1,5 +1,5 @@
 # DO NOT EDIT! GENERATED AUTOMATICALLY!
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -50,9 +50,12 @@ AC_DEFUN([gl2_EARLY],
   # Code from module snippet/arg-nonnull:
   # Code from module snippet/c++defs:
   # Code from module snippet/warn-on-use:
+  # Code from module ssize_t:
   # Code from module stddef:
+  # Code from module stdio:
   # Code from module strerror:
   # Code from module strerror-override:
+  # Code from module sys_types:
   # Code from module verify:
   # Code from module version-etc:
 ])
@@ -110,7 +113,9 @@ AC_DEFUN([gl2_INIT],
   fi
   AC_CHECK_DECLS([program_invocation_name], [], [], [#include <errno.h>])
   AC_CHECK_DECLS([program_invocation_short_name], [], [], [#include <errno.h>])
+  gt_TYPE_SSIZE_T
   gl_STDDEF_H
+  gl_STDIO_H
   gl_FUNC_STRERROR
   if test $REPLACE_STRERROR = 1; then
     AC_LIBOBJ([strerror])
@@ -123,6 +128,8 @@ AC_DEFUN([gl2_INIT],
     AC_LIBOBJ([strerror-override])
     gl_PREREQ_SYS_H_WINSOCK2
   fi
+  gl_SYS_TYPES_H
+  AC_PROG_MKDIR_P
   gl_VERSION_ETC
   # End of code from modules
   m4_ifval(gl2_LIBSOURCES_LIST, [
@@ -278,9 +285,11 @@ AC_DEFUN([gl2_FILE_LIST], [
   lib/progname.c
   lib/progname.h
   lib/stddef.in.h
+  lib/stdio.in.h
   lib/strerror-override.c
   lib/strerror-override.h
   lib/strerror.c
+  lib/sys_types.in.h
   lib/verify.h
   lib/version-etc.c
   lib/version-etc.h
@@ -293,9 +302,13 @@ AC_DEFUN([gl2_FILE_LIST], [
   m4/msvc-inval.m4
   m4/msvc-nothrow.m4
   m4/nocrash.m4
+  m4/off_t.m4
+  m4/ssize_t.m4
   m4/stddef_h.m4
+  m4/stdio_h.m4
   m4/strerror.m4
   m4/sys_socket_h.m4
+  m4/sys_types_h.m4
   m4/version-etc.m4
   m4/warn-on-use.m4
   m4/wchar_t.m4
diff --git a/src/gl/m4/gnulib-tool.m4 b/src/gl/m4/gnulib-tool.m4
index f3dea1a..a588e15 100644
--- a/src/gl/m4/gnulib-tool.m4
+++ b/src/gl/m4/gnulib-tool.m4
@@ -1,5 +1,5 @@
 # gnulib-tool.m4 serial 2
-dnl Copyright (C) 2004-2005, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2005, 2009-2014 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.
diff --git a/src/gl/m4/locale_h.m4 b/src/gl/m4/locale_h.m4
index 8bd12e8..2838588 100644
--- a/src/gl/m4/locale_h.m4
+++ b/src/gl/m4/locale_h.m4
@@ -1,5 +1,5 @@
 # locale_h.m4 serial 19
-dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2014 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.
diff --git a/src/gl/m4/msvc-inval.m4 b/src/gl/m4/msvc-inval.m4
index 9a6a47a..7f26087 100644
--- a/src/gl/m4/msvc-inval.m4
+++ b/src/gl/m4/msvc-inval.m4
@@ -1,5 +1,5 @@
 # msvc-inval.m4 serial 1
-dnl Copyright (C) 2011-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2014 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.
diff --git a/src/gl/m4/msvc-nothrow.m4 b/src/gl/m4/msvc-nothrow.m4
index a39618a..9e32c17 100644
--- a/src/gl/m4/msvc-nothrow.m4
+++ b/src/gl/m4/msvc-nothrow.m4
@@ -1,5 +1,5 @@
 # msvc-nothrow.m4 serial 1
-dnl Copyright (C) 2011-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2014 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.
diff --git a/src/gl/m4/nocrash.m4 b/src/gl/m4/nocrash.m4
index 105b884..5a5d77d 100644
--- a/src/gl/m4/nocrash.m4
+++ b/src/gl/m4/nocrash.m4
@@ -1,5 +1,5 @@
 # nocrash.m4 serial 4
-dnl Copyright (C) 2005, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2009-2014 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.
diff --git a/gl/m4/off_t.m4 b/src/gl/m4/off_t.m4
similarity index 88%
copy from gl/m4/off_t.m4
copy to src/gl/m4/off_t.m4
index d355d01..f5885b3 100644
--- a/gl/m4/off_t.m4
+++ b/src/gl/m4/off_t.m4
@@ -1,5 +1,5 @@
 # off_t.m4 serial 1
-dnl Copyright (C) 2012-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2012-2014 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.
diff --git a/gl/m4/ssize_t.m4 b/src/gl/m4/ssize_t.m4
similarity index 92%
copy from gl/m4/ssize_t.m4
copy to src/gl/m4/ssize_t.m4
index 6338134..fbe1d06 100644
--- a/gl/m4/ssize_t.m4
+++ b/src/gl/m4/ssize_t.m4
@@ -1,5 +1,5 @@
 # ssize_t.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2001-2003, 2006, 2010-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2003, 2006, 2010-2014 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.
diff --git a/src/gl/m4/stddef_h.m4 b/src/gl/m4/stddef_h.m4
index 5da8ab1..c555e29 100644
--- a/src/gl/m4/stddef_h.m4
+++ b/src/gl/m4/stddef_h.m4
@@ -1,6 +1,6 @@
 dnl A placeholder for POSIX 2008 <stddef.h>, for platforms that have issues.
 # stddef_h.m4 serial 4
-dnl Copyright (C) 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2014 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.
diff --git a/gl/m4/stdio_h.m4 b/src/gl/m4/stdio_h.m4
similarity index 99%
copy from gl/m4/stdio_h.m4
copy to src/gl/m4/stdio_h.m4
index ebade06..d15913a 100644
--- a/gl/m4/stdio_h.m4
+++ b/src/gl/m4/stdio_h.m4
@@ -1,5 +1,5 @@
 # stdio_h.m4 serial 43
-dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2014 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.
diff --git a/src/gl/m4/strerror.m4 b/src/gl/m4/strerror.m4
index 3989844..0763fe3 100644
--- a/src/gl/m4/strerror.m4
+++ b/src/gl/m4/strerror.m4
@@ -1,5 +1,5 @@
 # strerror.m4 serial 17
-dnl Copyright (C) 2002, 2007-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2007-2014 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.
diff --git a/src/gl/m4/sys_socket_h.m4 b/src/gl/m4/sys_socket_h.m4
index 9486377..114d828 100644
--- a/src/gl/m4/sys_socket_h.m4
+++ b/src/gl/m4/sys_socket_h.m4
@@ -1,5 +1,5 @@
 # sys_socket_h.m4 serial 23
-dnl Copyright (C) 2005-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2014 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.
diff --git a/gl/m4/sys_types_h.m4 b/src/gl/m4/sys_types_h.m4
similarity index 90%
copy from gl/m4/sys_types_h.m4
copy to src/gl/m4/sys_types_h.m4
index d15c1b3..9748905 100644
--- a/gl/m4/sys_types_h.m4
+++ b/src/gl/m4/sys_types_h.m4
@@ -1,5 +1,5 @@
 # sys_types_h.m4 serial 5
-dnl Copyright (C) 2011-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2014 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.
diff --git a/src/gl/m4/version-etc.m4 b/src/gl/m4/version-etc.m4
index 5dbef8e..667f9f8 100644
--- a/src/gl/m4/version-etc.m4
+++ b/src/gl/m4/version-etc.m4
@@ -1,5 +1,5 @@
 # version-etc.m4 serial 1
-# Copyright (C) 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014 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.
diff --git a/src/gl/m4/warn-on-use.m4 b/src/gl/m4/warn-on-use.m4
index e43beeb..cc690f8 100644
--- a/src/gl/m4/warn-on-use.m4
+++ b/src/gl/m4/warn-on-use.m4
@@ -1,5 +1,5 @@
 # warn-on-use.m4 serial 5
-dnl Copyright (C) 2010-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2014 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.
diff --git a/src/gl/m4/wchar_t.m4 b/src/gl/m4/wchar_t.m4
index e1e1e69..839a04c 100644
--- a/src/gl/m4/wchar_t.m4
+++ b/src/gl/m4/wchar_t.m4
@@ -1,5 +1,5 @@
 # wchar_t.m4 serial 4 (gettext-0.18.2)
-dnl Copyright (C) 2002-2003, 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2003, 2008-2014 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.
diff --git a/src/gl/msvc-inval.c b/src/gl/msvc-inval.c
index 72a6b6e..f83827f 100644
--- a/src/gl/msvc-inval.c
+++ b/src/gl/msvc-inval.c
@@ -1,5 +1,5 @@
 /* Invalid parameter handler for MSVC runtime libraries.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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
@@ -28,7 +28,7 @@
 
 # if MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING
 
-static void cdecl
+static void __cdecl
 gl_msvc_invalid_parameter_handler (const wchar_t *expression,
                                    const wchar_t *function,
                                    const wchar_t *file,
@@ -45,7 +45,7 @@ gl_msvc_invalid_parameter_handler (const wchar_t *expression,
 
 #  if defined _MSC_VER
 
-static void cdecl
+static void __cdecl
 gl_msvc_invalid_parameter_handler (const wchar_t *expression,
                                    const wchar_t *function,
                                    const wchar_t *file,
@@ -94,7 +94,7 @@ gl_msvc_inval_current (void)
     }
 }
 
-static void cdecl
+static void __cdecl
 gl_msvc_invalid_parameter_handler (const wchar_t *expression,
                                    const wchar_t *function,
                                    const wchar_t *file,
diff --git a/src/gl/msvc-inval.h b/src/gl/msvc-inval.h
index dcb0353..a0ef540 100644
--- a/src/gl/msvc-inval.h
+++ b/src/gl/msvc-inval.h
@@ -1,5 +1,5 @@
 /* Invalid parameter handler for MSVC runtime libraries.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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
diff --git a/src/gl/msvc-nothrow.c b/src/gl/msvc-nothrow.c
index 8d65472..b1e5f0c 100644
--- a/src/gl/msvc-nothrow.c
+++ b/src/gl/msvc-nothrow.c
@@ -1,6 +1,6 @@
 /* Wrappers that don't throw invalid parameter notifications
    with MSVC runtime libraries.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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
diff --git a/src/gl/msvc-nothrow.h b/src/gl/msvc-nothrow.h
index 5f52181..0d4dea5 100644
--- a/src/gl/msvc-nothrow.h
+++ b/src/gl/msvc-nothrow.h
@@ -1,6 +1,6 @@
 /* Wrappers that don't throw invalid parameter notifications
    with MSVC runtime libraries.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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
diff --git a/src/gl/progname.c b/src/gl/progname.c
index 0c195e5..2919be9 100644
--- a/src/gl/progname.c
+++ b/src/gl/progname.c
@@ -1,5 +1,5 @@
 /* Program name management.
-   Copyright (C) 2001-2003, 2005-2013 Free Software Foundation, Inc.
+   Copyright (C) 2001-2003, 2005-2014 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2001.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/src/gl/progname.h b/src/gl/progname.h
index b4f3c27..fa15871 100644
--- a/src/gl/progname.h
+++ b/src/gl/progname.h
@@ -1,5 +1,5 @@
 /* Program name management.
-   Copyright (C) 2001-2004, 2006, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2001-2004, 2006, 2009-2014 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2001.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/src/gl/stddef.in.h b/src/gl/stddef.in.h
index 40f0536..f5c0e05 100644
--- a/src/gl/stddef.in.h
+++ b/src/gl/stddef.in.h
@@ -1,6 +1,6 @@
 /* A substitute for POSIX 2008 <stddef.h>, for platforms that have issues.
 
-   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2009-2014 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
diff --git a/gl/stdio.in.h b/src/gl/stdio.in.h
similarity index 97%
copy from gl/stdio.in.h
copy to src/gl/stdio.in.h
index d6af99c..1e1fe84 100644
--- a/gl/stdio.in.h
+++ b/src/gl/stdio.in.h
@@ -1,6 +1,6 @@
 /* A GNU-like <stdio.h>.
 
-   Copyright (C) 2004, 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2007-2014 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
@@ -124,6 +124,15 @@
 #define _GL_STDIO_STRINGIZE(token) #token
 #define _GL_STDIO_MACROEXPAND_AND_STRINGIZE(token) _GL_STDIO_STRINGIZE(token)
 
+/* When also using extern inline, suppress the use of static inline in
+   standard headers of problematic Apple configurations, as Libc at
+   least through Libc-825.26 (2013-04-09) mishandles it; see, e.g.,
+   <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
+   Perhaps Apple will fix this some day.  */
+#if (defined _GL_EXTERN_INLINE_IN_USE && defined __APPLE__ \
+     && defined __GNUC__ && defined __STDC__)
+# undef putc_unlocked
+#endif
 
 #if @GNULIB_DPRINTF@
 # if @REPLACE_DPRINTF@
@@ -579,13 +588,23 @@ _GL_CXXALIAS_SYS (fwrite, size_t,
    <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>,
    which sometimes causes an unwanted diagnostic for fwrite calls.
    This affects only function declaration attributes under certain
-   versions of gcc, and is not needed for C++.  */
+   versions of gcc and clang, and is not needed for C++.  */
 #  if (0 < __USE_FORTIFY_LEVEL                                          \
        && __GLIBC__ == 2 && 4 <= __GLIBC_MINOR__ && __GLIBC_MINOR__ <= 15 \
        && 3 < __GNUC__ + (4 <= __GNUC_MINOR__)                          \
        && !defined __cplusplus)
 #   undef fwrite
-#   define fwrite(a, b, c, d) ({size_t __r = fwrite (a, b, c, d); __r; })
+#   undef fwrite_unlocked
+extern size_t __REDIRECT (rpl_fwrite,
+                          (const void *__restrict, size_t, size_t,
+                           FILE *__restrict),
+                          fwrite);
+extern size_t __REDIRECT (rpl_fwrite_unlocked,
+                          (const void *__restrict, size_t, size_t,
+                           FILE *__restrict),
+                          fwrite_unlocked);
+#   define fwrite rpl_fwrite
+#   define fwrite_unlocked rpl_fwrite_unlocked
 #  endif
 # endif
 _GL_CXXALIASWARN (fwrite);
diff --git a/src/gl/strerror-override.c b/src/gl/strerror-override.c
index d0ed2fb..255d933 100644
--- a/src/gl/strerror-override.c
+++ b/src/gl/strerror-override.c
@@ -1,6 +1,6 @@
 /* strerror-override.c --- POSIX compatible system error routine
 
-   Copyright (C) 2010-2013 Free Software Foundation, Inc.
+   Copyright (C) 2010-2014 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
diff --git a/src/gl/strerror-override.h b/src/gl/strerror-override.h
index 3b8f24b..e98c1c1 100644
--- a/src/gl/strerror-override.h
+++ b/src/gl/strerror-override.h
@@ -1,6 +1,6 @@
 /* strerror-override.h --- POSIX compatible system error routine
 
-   Copyright (C) 2010-2013 Free Software Foundation, Inc.
+   Copyright (C) 2010-2014 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
@@ -48,7 +48,7 @@
      || GNULIB_defined_EOWNERDEAD \
      || GNULIB_defined_ENOTRECOVERABLE \
      || GNULIB_defined_EILSEQ
-extern const char *strerror_override (int errnum);
+extern const char *strerror_override (int errnum) _GL_ATTRIBUTE_CONST;
 # else
 #  define strerror_override(ignored) NULL
 # endif
diff --git a/src/gl/strerror.c b/src/gl/strerror.c
index 80a2f2e..e54f0cc 100644
--- a/src/gl/strerror.c
+++ b/src/gl/strerror.c
@@ -1,6 +1,6 @@
 /* strerror.c --- POSIX compatible system error routine
 
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2014 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
diff --git a/gl/sys_types.in.h b/src/gl/sys_types.in.h
similarity index 92%
copy from gl/sys_types.in.h
copy to src/gl/sys_types.in.h
index d7da356..deb5d67 100644
--- a/gl/sys_types.in.h
+++ b/src/gl/sys_types.in.h
@@ -1,6 +1,6 @@
 /* Provide a more complete sys/types.h.
 
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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
@@ -23,7 +23,9 @@
 #ifndef address@hidden@_SYS_TYPES_H
 
 /* The include_next requires a split double-inclusion guard.  */
+# define _GL_INCLUDING_SYS_TYPES_H
 address@hidden@ @NEXT_SYS_TYPES_H@
+# undef _GL_INCLUDING_SYS_TYPES_H
 
 #ifndef address@hidden@_SYS_TYPES_H
 #define address@hidden@_SYS_TYPES_H
diff --git a/src/gl/verify.h b/src/gl/verify.h
index cb8e90b..a25e514 100644
--- a/src/gl/verify.h
+++ b/src/gl/verify.h
@@ -1,6 +1,6 @@
 /* Compile-time assert-like macros.
 
-   Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2014 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
@@ -18,7 +18,7 @@
 /* Written by Paul Eggert, Bruno Haible, and Jim Meyering.  */
 
 #ifndef _GL_VERIFY_H
-# define _GL_VERIFY_H
+#define _GL_VERIFY_H
 
 
 /* Define _GL_HAVE__STATIC_ASSERT to 1 if _Static_assert works as per C11.
@@ -31,14 +31,24 @@
    Use this only with GCC.  If we were willing to slow 'configure'
    down we could also use it with other compilers, but since this
    affects only the quality of diagnostics, why bother?  */
-# if (4 < __GNUC__ || (__GNUC__ == 4 && 6 <= __GNUC_MINOR__)) && !defined 
__cplusplus
-#  define _GL_HAVE__STATIC_ASSERT 1
-# endif
+#if (4 < __GNUC__ + (6 <= __GNUC_MINOR__) \
+     && (201112L <= __STDC_VERSION__  || !defined __STRICT_ANSI__) \
+     && !defined __cplusplus)
+# define _GL_HAVE__STATIC_ASSERT 1
+#endif
 /* The condition (99 < __GNUC__) is temporary, until we know about the
    first G++ release that supports static_assert.  */
-# if (99 < __GNUC__) && defined __cplusplus
-#  define _GL_HAVE_STATIC_ASSERT 1
-# endif
+#if (99 < __GNUC__) && defined __cplusplus
+# define _GL_HAVE_STATIC_ASSERT 1
+#endif
+
+/* FreeBSD 9.1 <sys/cdefs.h>, included by <stddef.h> and lots of other
+   system headers, defines a conflicting _Static_assert that is no
+   better than ours; override it.  */
+#ifndef _GL_HAVE_STATIC_ASSERT
+# include <stddef.h>
+# undef _Static_assert
+#endif
 
 /* Each of these macros verifies that its argument R is nonzero.  To
    be portable, R should be an integer constant expression.  Unlike
@@ -141,50 +151,50 @@
      Use a template type to work around the problem.  */
 
 /* Concatenate two preprocessor tokens.  */
-# define _GL_CONCAT(x, y) _GL_CONCAT0 (x, y)
-# define _GL_CONCAT0(x, y) x##y
+#define _GL_CONCAT(x, y) _GL_CONCAT0 (x, y)
+#define _GL_CONCAT0(x, y) x##y
 
 /* _GL_COUNTER is an integer, preferably one that changes each time we
    use it.  Use __COUNTER__ if it works, falling back on __LINE__
    otherwise.  __LINE__ isn't perfect, but it's better than a
    constant.  */
-# if defined __COUNTER__ && __COUNTER__ != __COUNTER__
-#  define _GL_COUNTER __COUNTER__
-# else
-#  define _GL_COUNTER __LINE__
-# endif
+#if defined __COUNTER__ && __COUNTER__ != __COUNTER__
+# define _GL_COUNTER __COUNTER__
+#else
+# define _GL_COUNTER __LINE__
+#endif
 
 /* Generate a symbol with the given prefix, making it unique if
    possible.  */
-# define _GL_GENSYM(prefix) _GL_CONCAT (prefix, _GL_COUNTER)
+#define _GL_GENSYM(prefix) _GL_CONCAT (prefix, _GL_COUNTER)
 
 /* Verify requirement R at compile-time, as an integer constant expression
    that returns 1.  If R is false, fail at compile-time, preferably
    with a diagnostic that includes the string-literal DIAGNOSTIC.  */
 
-# define _GL_VERIFY_TRUE(R, DIAGNOSTIC) \
-    (!!sizeof (_GL_VERIFY_TYPE (R, DIAGNOSTIC)))
+#define _GL_VERIFY_TRUE(R, DIAGNOSTIC) \
+   (!!sizeof (_GL_VERIFY_TYPE (R, DIAGNOSTIC)))
 
-# ifdef __cplusplus
-#  if !GNULIB_defined_struct__gl_verify_type
+#ifdef __cplusplus
+# if !GNULIB_defined_struct__gl_verify_type
 template <int w>
   struct _gl_verify_type {
     unsigned int _gl_verify_error_if_negative: w;
   };
-#   define GNULIB_defined_struct__gl_verify_type 1
-#  endif
-#  define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
-    _gl_verify_type<(R) ? 1 : -1>
-# elif defined _GL_HAVE__STATIC_ASSERT
-#  define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
-     struct {                                   \
-       _Static_assert (R, DIAGNOSTIC);          \
-       int _gl_dummy;                          \
-     }
-# else
-#  define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
-     struct { unsigned int _gl_verify_error_if_negative: (R) ? 1 : -1; }
+#  define GNULIB_defined_struct__gl_verify_type 1
 # endif
+# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
+    _gl_verify_type<(R) ? 1 : -1>
+#elif defined _GL_HAVE__STATIC_ASSERT
+# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
+    struct {                                   \
+      _Static_assert (R, DIAGNOSTIC);          \
+      int _gl_dummy;                          \
+    }
+#else
+# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
+    struct { unsigned int _gl_verify_error_if_negative: (R) ? 1 : -1; }
+#endif
 
 /* Verify requirement R at compile-time, as a declaration without a
    trailing ';'.  If R is false, fail at compile-time, preferably
@@ -193,23 +203,23 @@ template <int w>
    Unfortunately, unlike C11, this implementation must appear as an
    ordinary declaration, and cannot appear inside struct { ... }.  */
 
-# ifdef _GL_HAVE__STATIC_ASSERT
-#  define _GL_VERIFY _Static_assert
-# else
-#  define _GL_VERIFY(R, DIAGNOSTIC)                                   \
-     extern int (*_GL_GENSYM (_gl_verify_function) (void))            \
-       [_GL_VERIFY_TRUE (R, DIAGNOSTIC)]
-# endif
+#ifdef _GL_HAVE__STATIC_ASSERT
+# define _GL_VERIFY _Static_assert
+#else
+# define _GL_VERIFY(R, DIAGNOSTIC)                                    \
+    extern int (*_GL_GENSYM (_gl_verify_function) (void))             \
+      [_GL_VERIFY_TRUE (R, DIAGNOSTIC)]
+#endif
 
 /* _GL_STATIC_ASSERT_H is defined if this code is copied into assert.h.  */
-# ifdef _GL_STATIC_ASSERT_H
-#  if !defined _GL_HAVE__STATIC_ASSERT && !defined _Static_assert
-#   define _Static_assert(R, DIAGNOSTIC) _GL_VERIFY (R, DIAGNOSTIC)
-#  endif
-#  if !defined _GL_HAVE_STATIC_ASSERT && !defined static_assert
-#   define static_assert _Static_assert /* C11 requires this #define.  */
-#  endif
+#ifdef _GL_STATIC_ASSERT_H
+# if !defined _GL_HAVE__STATIC_ASSERT && !defined _Static_assert
+#  define _Static_assert(R, DIAGNOSTIC) _GL_VERIFY (R, DIAGNOSTIC)
 # endif
+# if !defined _GL_HAVE_STATIC_ASSERT && !defined static_assert
+#  define static_assert _Static_assert /* C11 requires this #define.  */
+# endif
+#endif
 
 /* @assert.h omit start@  */
 
@@ -227,18 +237,42 @@ template <int w>
 
    verify_true is obsolescent; please use verify_expr instead.  */
 
-# define verify_true(R) _GL_VERIFY_TRUE (R, "verify_true (" #R ")")
+#define verify_true(R) _GL_VERIFY_TRUE (R, "verify_true (" #R ")")
 
 /* Verify requirement R at compile-time.  Return the value of the
    expression E.  */
 
-# define verify_expr(R, E) \
-    (_GL_VERIFY_TRUE (R, "verify_expr (" #R ", " #E ")") ? (E) : (E))
+#define verify_expr(R, E) \
+   (_GL_VERIFY_TRUE (R, "verify_expr (" #R ", " #E ")") ? (E) : (E))
 
 /* Verify requirement R at compile-time, as a declaration without a
    trailing ';'.  */
 
-# define verify(R) _GL_VERIFY (R, "verify (" #R ")")
+#define verify(R) _GL_VERIFY (R, "verify (" #R ")")
+
+#ifndef __has_builtin
+# define __has_builtin(x) 0
+#endif
+
+/* Assume that R always holds.  This lets the compiler optimize
+   accordingly.  R should not have side-effects; it may or may not be
+   evaluated.  Behavior is undefined if R is false.  */
+
+#if (__has_builtin (__builtin_unreachable) \
+     || 4 < __GNUC__ + (5 <= __GNUC_MINOR__))
+# define assume(R) ((R) ? (void) 0 : __builtin_unreachable ())
+#elif 1200 <= _MSC_VER
+# define assume(R) __assume (R)
+#elif (defined lint \
+       && (__has_builtin (__builtin_trap) \
+           || 3 < __GNUC__ + (3 < __GNUC_MINOR__ + (4 <= 
__GNUC_PATCHLEVEL__))))
+  /* Doing it this way helps various packages when configured with
+     --enable-gcc-warnings, which compiles with -Dlint.  It's nicer
+     when 'assume' silences warnings even with older GCCs.  */
+# define assume(R) ((R) ? (void) 0 : __builtin_trap ())
+#else
+# define assume(R) ((void) (0 && (R)))
+#endif
 
 /* @assert.h omit end@  */
 
diff --git a/src/gl/version-etc.c b/src/gl/version-etc.c
index b7d23ab..04f5b62 100644
--- a/src/gl/version-etc.c
+++ b/src/gl/version-etc.c
@@ -1,5 +1,5 @@
 /* Print --version and bug-reporting information in a consistent format.
-   Copyright (C) 1999-2013 Free Software Foundation, Inc.
+   Copyright (C) 1999-2014 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
@@ -38,7 +38,7 @@
 # define PACKAGE PACKAGE_TARNAME
 #endif
 
-enum { COPYRIGHT_YEAR = 2013 };
+enum { COPYRIGHT_YEAR = 2014 };
 
 /* The three functions below display the --version information the
    standard way.
diff --git a/src/gl/version-etc.h b/src/gl/version-etc.h
index 6c3d084..8e1b2cc 100644
--- a/src/gl/version-etc.h
+++ b/src/gl/version-etc.h
@@ -1,5 +1,5 @@
 /* Print --version and bug-reporting information in a consistent format.
-   Copyright (C) 1999, 2003, 2005, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2003, 2005, 2009-2014 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
diff --git a/src/kdc.c b/src/kdc.c
index 16bd968..2d7d7f3 100644
--- a/src/kdc.c
+++ b/src/kdc.c
@@ -1,5 +1,5 @@
 /* kdc.c --- Process AS and TGS requests.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/src/kdc.h b/src/kdc.h
index 9272140..964658f 100644
--- a/src/kdc.h
+++ b/src/kdc.h
@@ -1,5 +1,5 @@
 /* kdc.h --- Header file with common definitions for Shishid.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/src/keytab2shishi.c b/src/keytab2shishi.c
index 0021e15..a1da3f6 100644
--- a/src/keytab2shishi.c
+++ b/src/keytab2shishi.c
@@ -1,5 +1,5 @@
 /* keytab2shishi.c --- Convert MIT keytab files to Shishi hostkeys
- * Copyright (C) 2006-2013 Simon Josefsson
+ * Copyright (C) 2006-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/src/keytab2shishi.ggo b/src/keytab2shishi.ggo
index c5aa397..5e4842f 100644
--- a/src/keytab2shishi.ggo
+++ b/src/keytab2shishi.ggo
@@ -1,5 +1,5 @@
 ## Process this file with gengetopt to produce keytab2shishi_cmd.*
-# Copyright (C) 2006-2013 Simon Josefsson.
+# Copyright (C) 2006-2014 Simon Josefsson.
 #
 # This file is part of Shishi.
 #
diff --git a/src/resume.c b/src/resume.c
index 361a9f2..1bec4cc 100644
--- a/src/resume.c
+++ b/src/resume.c
@@ -1,5 +1,5 @@
 /* resume.c --- Handle the details of TLS session resumption.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/src/server.c b/src/server.c
index b5914ec..702f071 100644
--- a/src/server.c
+++ b/src/server.c
@@ -1,5 +1,5 @@
 /* server.c --- Handle KDC sessions.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/src/shisa.c b/src/shisa.c
index 62c032a..1c76aac 100644
--- a/src/shisa.c
+++ b/src/shisa.c
@@ -1,5 +1,5 @@
 /* shisa.c --- Command line interface to Shishi database.
- * Copyright (C) 2003-2013 Simon Josefsson
+ * Copyright (C) 2003-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/src/shisa.ggo b/src/shisa.ggo
index 3b23b1e..7925b9e 100644
--- a/src/shisa.ggo
+++ b/src/shisa.ggo
@@ -1,5 +1,5 @@
 ## Process this file with gengetopt to produce shisa_cmd.*
-# Copyright (C) 2002-2013 Simon Josefsson.
+# Copyright (C) 2002-2014 Simon Josefsson.
 #
 # This file is part of Shishi.
 #
diff --git a/src/shishi.c b/src/shishi.c
index 8b5ed47..5d07ed3 100644
--- a/src/shishi.c
+++ b/src/shishi.c
@@ -1,5 +1,5 @@
 /* shishi.c --- Shishi command line interface.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/src/shishi.ggo b/src/shishi.ggo
index 4e0dfe7..d770213 100644
--- a/src/shishi.ggo
+++ b/src/shishi.ggo
@@ -1,5 +1,5 @@
 ## Process this file with gengetopt to produce shishi_cmd.*
-# Copyright (C) 2002-2013 Simon Josefsson.
+# Copyright (C) 2002-2014 Simon Josefsson.
 #
 # This file is part of Shishi.
 #
diff --git a/src/shishid.c b/src/shishid.c
index 7d03dc5..98adb02 100644
--- a/src/shishid.c
+++ b/src/shishid.c
@@ -1,5 +1,5 @@
 /* shishid.c --- Shishi Key Distribution Center daemon.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/src/shishid.ggo b/src/shishid.ggo
index 345f707..71e5a1e 100644
--- a/src/shishid.ggo
+++ b/src/shishid.ggo
@@ -1,5 +1,5 @@
 ## Process this file with gengetopt to produce shishid_cmd.*
-# Copyright (C) 2002-2013 Simon Josefsson.
+# Copyright (C) 2002-2014 Simon Josefsson.
 #
 # This file is part of Shishi.
 #
diff --git a/src/starttls.c b/src/starttls.c
index 3033394..1bf9c10 100644
--- a/src/starttls.c
+++ b/src/starttls.c
@@ -1,5 +1,5 @@
 /* starttls.c --- Handle extended TCP connections (for TLS).
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 12da084..0d8b8d4 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2002-2013 Simon Josefsson
+# Copyright (C) 2002-2014 Simon Josefsson
 #
 # This file is part of Shishi.
 #
diff --git a/tests/authenticator.c b/tests/authenticator.c
index 44a93e4..f2b0ff8 100644
--- a/tests/authenticator.c
+++ b/tests/authenticator.c
@@ -1,5 +1,5 @@
 /* authenticator.c --- Shishi authenticator self tests.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/tests/ccache.c b/tests/ccache.c
index 46ae804..c9c9a1a 100644
--- a/tests/ccache.c
+++ b/tests/ccache.c
@@ -1,5 +1,5 @@
 /* ccache.c --- Self test MIT ccache file readers.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/tests/crypto-ctx.c b/tests/crypto-ctx.c
index 1849cef..f8fd051 100644
--- a/tests/crypto-ctx.c
+++ b/tests/crypto-ctx.c
@@ -1,5 +1,5 @@
 /* crypto-ctx.c --- Shishi crypto context self tests.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/tests/crypto.c b/tests/crypto.c
index e64445b..c7bbf0e 100644
--- a/tests/crypto.c
+++ b/tests/crypto.c
@@ -1,5 +1,5 @@
 /* crypto.c --- Shishi crypto self tests.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/tests/gztime.c b/tests/gztime.c
index 98dac89..fb8a190 100644
--- a/tests/gztime.c
+++ b/tests/gztime.c
@@ -1,5 +1,5 @@
 /* gztime.c --- Shishi generalized time self tests.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/tests/key.c b/tests/key.c
index dec05a3..1a07716 100644
--- a/tests/key.c
+++ b/tests/key.c
@@ -1,5 +1,5 @@
 /* key.c --- Shishi KEY self tests.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/tests/keytab.c b/tests/keytab.c
index dfb34b1..9d45f1a 100644
--- a/tests/keytab.c
+++ b/tests/keytab.c
@@ -1,5 +1,5 @@
 /* keytab.c --- Self test MIT keytab file readers.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/tests/low-crypto.c b/tests/low-crypto.c
index 6dfc23e..659f6de 100644
--- a/tests/low-crypto.c
+++ b/tests/low-crypto.c
@@ -1,5 +1,5 @@
 /* low-crypto.c --- Shishi crypto primitives self tests.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/tests/multiname.c b/tests/multiname.c
index 1d9459c..89c64f6 100644
--- a/tests/multiname.c
+++ b/tests/multiname.c
@@ -1,5 +1,5 @@
 /* encticketpart.c --- Shishi encticketpart self tests.
- * Copyright (C) 2012-2013 Simon Josefsson
+ * Copyright (C) 2012-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/tests/nonce.c b/tests/nonce.c
index c537847..5025cdd 100644
--- a/tests/nonce.c
+++ b/tests/nonce.c
@@ -1,5 +1,5 @@
 /* nonce.c --- Shishi nonce handling regression self tests.
- * Copyright (C) 2006-2013 Simon Josefsson
+ * Copyright (C) 2006-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/tests/passwdpromptcb.c b/tests/passwdpromptcb.c
index ed641ff..0d82af2 100644
--- a/tests/passwdpromptcb.c
+++ b/tests/passwdpromptcb.c
@@ -1,5 +1,5 @@
 /* passwdpromptcb.c --- Self test the password prompt callback stuff.
- * Copyright (C) 2008-2013 Simon Josefsson
+ * Copyright (C) 2008-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/tests/priv.c b/tests/priv.c
index 6da1096..ce16e9b 100644
--- a/tests/priv.c
+++ b/tests/priv.c
@@ -1,5 +1,5 @@
 /* priv.c --- Shishi PRIV self tests.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/tests/rijndael.c b/tests/rijndael.c
index 0ddb135..a4fc607 100644
--- a/tests/rijndael.c
+++ b/tests/rijndael.c
@@ -1,5 +1,5 @@
 /* rijndael.c --- Shishi AES crypto self tests.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/tests/safe.c b/tests/safe.c
index b4c6833..8b553e1 100644
--- a/tests/safe.c
+++ b/tests/safe.c
@@ -1,5 +1,5 @@
 /* safe.c --- Shishi SAFE self tests.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/tests/shisa.sh b/tests/shisa.sh
index 0a32e88..014ee59 100755
--- a/tests/shisa.sh
+++ b/tests/shisa.sh
@@ -1,5 +1,5 @@
 #!/bin/sh
-# Copyright (C) 2003-2013 Simon Josefsson.
+# Copyright (C) 2003-2014 Simon Josefsson.
 #
 # This file is part of Shishi.
 #
diff --git a/tests/shishi.supp b/tests/shishi.supp
index df863d8..3047327 100644
--- a/tests/shishi.supp
+++ b/tests/shishi.supp
@@ -1,6 +1,6 @@
 # shishi.supp -- Valgrind suppresion file for Shishi.
 
-# Copyright (C) 2006-2013 Simon Josefsson
+# Copyright (C) 2006-2014 Simon Josefsson
 # Copying and distribution of this file, with or without modification,
 # are permitted in any medium without royalty provided the copyright
 # notice and this notice are preserved.
diff --git a/tests/ticketset.c b/tests/ticketset.c
index 2aa6271..9701f2f 100644
--- a/tests/ticketset.c
+++ b/tests/ticketset.c
@@ -1,5 +1,5 @@
 /* ticketset.c --- Shishi ticketset self tests.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/tests/utils.c b/tests/utils.c
index 67f8721..60f3637 100644
--- a/tests/utils.c
+++ b/tests/utils.c
@@ -1,5 +1,5 @@
 /* utils.c --- Shishi self tests utilities.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *
diff --git a/tests/utils.h b/tests/utils.h
index c3894f2..5e51214 100644
--- a/tests/utils.h
+++ b/tests/utils.h
@@ -1,5 +1,5 @@
 /* utils.h --- Prototypes for self test utilities.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of Shishi.
  *


hooks/post-receive
-- 
GNU shishi



reply via email to

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