summaryrefslogtreecommitdiff
path: root/abi-tracker
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2016-03-13 18:17:20 +0100
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2016-03-13 18:17:20 +0100
commit35197020ccadc5b74ded4760907970d4c75cb9ef (patch)
treec0cf50a49f80546a86224fcc43a1569cb97841cd /abi-tracker
parentb176026d6b53202dd7b32f05ce1f69b1ee93c869 (diff)
downloadgnutls-35197020ccadc5b74ded4760907970d4c75cb9ef.tar.gz
updated abi-tracking info
Diffstat (limited to 'abi-tracker')
-rw-r--r--abi-tracker/build_logs/gnutls/3.4.1/build1727
-rw-r--r--abi-tracker/build_logs/gnutls/3.4.10/build1750
-rw-r--r--abi-tracker/changelog/gnutls/3.4.10/log.html8726
-rw-r--r--abi-tracker/changelog/gnutls/current/log.html932
-rw-r--r--abi-tracker/compat_report/gnutls/3.4.10/current/2455a/abi_compat_report.html442
-rw-r--r--abi-tracker/compat_report/gnutls/3.4.10/current/2455a/meta.json8
-rw-r--r--abi-tracker/compat_report/gnutls/3.4.9/3.4.10/ab52f/abi_compat_report.html419
-rw-r--r--abi-tracker/compat_report/gnutls/3.4.9/3.4.10/ab52f/meta.json8
-rw-r--r--abi-tracker/gnutls.json10
-rw-r--r--abi-tracker/headers_diff/gnutls/3.4.10/current/diff.html912
-rw-r--r--abi-tracker/headers_diff/gnutls/3.4.10/current/meta.json3
-rw-r--r--abi-tracker/headers_diff/gnutls/3.4.9/3.4.10/diff.html91
-rw-r--r--abi-tracker/headers_diff/gnutls/3.4.9/3.4.10/meta.json3
-rw-r--r--abi-tracker/objects_report/gnutls/3.4.10/current/meta.json9
-rw-r--r--abi-tracker/objects_report/gnutls/3.4.10/current/report.html44
-rw-r--r--abi-tracker/objects_report/gnutls/3.4.9/3.4.10/meta.json9
-rw-r--r--abi-tracker/objects_report/gnutls/3.4.9/3.4.10/report.html44
-rw-r--r--abi-tracker/timeline/gnutls/index.html24
18 files changed, 14726 insertions, 435 deletions
diff --git a/abi-tracker/build_logs/gnutls/3.4.1/build b/abi-tracker/build_logs/gnutls/3.4.1/build
new file mode 100644
index 0000000000..140cef70c3
--- /dev/null
+++ b/abi-tracker/build_logs/gnutls/3.4.1/build
@@ -0,0 +1,1727 @@
+checking build system type... x86_64-unknown-linux-gnu
+checking host system type... x86_64-unknown-linux-gnu
+checking for a BSD-compatible install... /usr/bin/install -c
+checking whether build environment is sane... yes
+checking for a thread-safe mkdir -p... /bin/mkdir -p
+checking for gawk... gawk
+checking whether make sets $(MAKE)... yes
+checking whether make supports nested variables... yes
+checking whether make supports nested variables... (cached) yes
+***
+*** Checking for compilation programs...
+
+checking for pkg-config... /usr/bin/pkg-config
+checking pkg-config is at least version 0.9.0... yes
+checking for gcc... gcc
+checking whether the C compiler works... yes
+checking for C compiler default output file name... a.out
+checking for suffix of executables...
+checking whether we are cross compiling... no
+checking for suffix of object files... o
+checking whether we are using the GNU C compiler... yes
+checking whether gcc accepts -g... yes
+checking for gcc option to accept ISO C89... none needed
+checking whether gcc understands -c and -o together... yes
+checking for style of include used by make... GNU
+checking dependency style of gcc... gcc3
+checking how to run the C preprocessor... gcc -E
+checking for grep that handles long lines and -e... /bin/grep
+checking for egrep... /bin/grep -E
+checking for Minix Amsterdam compiler... no
+checking for ar... ar
+checking for ranlib... ranlib
+checking for ANSI C header files... yes
+checking for sys/types.h... yes
+checking for sys/stat.h... yes
+checking for stdlib.h... yes
+checking for string.h... yes
+checking for memory.h... yes
+checking for strings.h... yes
+checking for inttypes.h... yes
+checking for stdint.h... yes
+checking for unistd.h... yes
+checking minix/config.h usability... no
+checking minix/config.h presence... no
+checking for minix/config.h... no
+checking whether it is safe to define __EXTENSIONS__... yes
+checking whether _XOPEN_SOURCE should be defined... no
+checking for _LARGEFILE_SOURCE value needed for large files... no
+checking for special C compiler options needed for large files... no
+checking for _FILE_OFFSET_BITS value needed for large files... no
+checking dependency style of gcc... gcc3
+checking the archiver (ar) interface... ar
+checking for g++... g++
+checking whether we are using the GNU C++ compiler... yes
+checking whether g++ accepts -g... yes
+checking dependency style of g++... gcc3
+checking for bison... bison -y
+checking for a sed that does not truncate output... /bin/sed
+checking for inline... inline
+checking for ANSI C header files... (cached) yes
+checking cpuid.h usability... yes
+checking cpuid.h presence... yes
+checking for cpuid.h... yes
+checking for getrandom... no
+checking for getentropy... no
+checking for NETTLE... yes
+checking for HOGWEED... yes
+checking for __gmpz_cmp in -lgmp... yes
+checking whether to use the included minitasn1... yes
+checking whether C99 macros are supported... yes
+checking whether to disable DTLS-SRTP extension... no
+checking whether to disable ALPN extension... no
+checking whether to disable TLS heartbeat support... yes
+checking whether to disable SRP authentication support... no
+checking whether to disable PSK authentication support... no
+checking whether to disable anonymous authentication support... no
+checking whether to disable DHE support... no
+checking whether to disable ECDHE support... no
+checking whether to disable OpenPGP Certificate authentication support... no
+checking whether to add cryptodev support... no
+checking whether to disable OCSP support... no
+checking whether to disable session tickets support... no
+checking size of void *... 8
+checking size of long long... 8
+checking size of long... 8
+checking size of int... 4
+checking sys/socket.h usability... yes
+checking sys/socket.h presence... yes
+checking for sys/socket.h... yes
+checking for sys/stat.h... (cached) yes
+checking sys/time.h usability... yes
+checking sys/time.h presence... yes
+checking for sys/time.h... yes
+checking for unistd.h... (cached) yes
+checking sys/mman.h usability... yes
+checking sys/mman.h presence... yes
+checking for sys/mman.h... yes
+checking netdb.h usability... yes
+checking netdb.h presence... yes
+checking for netdb.h... yes
+checking netinet/in.h usability... yes
+checking netinet/in.h presence... yes
+checking for netinet/in.h... yes
+checking wchar.h usability... yes
+checking wchar.h presence... yes
+checking for wchar.h... yes
+checking for stdint.h... (cached) yes
+checking for strings.h... (cached) yes
+checking sys/uio.h usability... yes
+checking sys/uio.h presence... yes
+checking for sys/uio.h... yes
+checking features.h usability... yes
+checking features.h presence... yes
+checking for features.h... yes
+checking for inttypes.h... (cached) yes
+checking arpa/inet.h usability... yes
+checking arpa/inet.h presence... yes
+checking for arpa/inet.h... yes
+checking stdio_ext.h usability... yes
+checking stdio_ext.h presence... yes
+checking for stdio_ext.h... yes
+checking termios.h usability... yes
+checking termios.h presence... yes
+checking for termios.h... yes
+checking sys/select.h usability... yes
+checking sys/select.h presence... yes
+checking for sys/select.h... yes
+checking for library containing setsockopt... none needed
+checking whether to build OpenSSL compatibility layer... no
+checking for gtkdoc-check... /usr/bin/gtkdoc-check
+checking for gtkdoc-rebase... /usr/bin/gtkdoc-rebase
+checking for gtkdoc-mkpdf... /usr/bin/gtkdoc-mkpdf
+checking whether to build gtk-doc documentation... no
+checking whether NLS is requested... yes
+checking for msgfmt... /usr/bin/msgfmt
+checking for gmsgfmt... /usr/bin/msgfmt
+checking for xgettext... /usr/bin/xgettext
+checking for msgmerge... /usr/bin/msgmerge
+checking for ld used by GCC... /usr/bin/ld
+checking if the linker (/usr/bin/ld) is GNU ld... yes
+checking for shared library run path origin... done
+checking for CFPreferencesCopyAppValue... no
+checking for CFLocaleCopyCurrent... no
+checking for GNU gettext in libc... yes
+checking whether to use NLS... yes
+checking where the gettext function comes from... libc
+checking whether byte ordering is bigendian... no
+checking for fork... yes
+checking for inet_ntop... yes
+checking for inet_pton... yes
+checking for getrusage... yes
+checking for getpwuid_r... yes
+checking for nanosleep... yes
+checking for daemon... yes
+checking for getpid... yes
+checking for clock_gettime... yes
+checking for iconv... yes
+checking for localtime... yes
+checking for vasprintf... yes
+checking for pthread_atfork... no
+checking for __register_atfork... yes
+checking for librt... yes
+checking how to link with librt... -lrt
+checking for pthread_mutex_lock... yes
+checking for size_t... yes
+checking for working alloca.h... yes
+checking for alloca... yes
+checking for C/C++ restrict keyword... __restrict
+checking whether the preprocessor supports include_next... yes
+checking whether system header files limit the line length... no
+checking for complete errno.h... yes
+checking for _set_invalid_parameter_handler... no
+checking for getdelim... yes
+checking for gettimeofday... yes
+checking for mprotect... yes
+checking for snprintf... yes
+checking for strndup... yes
+checking for localtime_r... yes
+checking for vasnprintf... no
+checking for shutdown... yes
+checking for __fsetlocking... yes
+checking for tcgetattr... yes
+checking for tcsetattr... yes
+checking for nanotime... no
+checking for setenv... yes
+checking for strdup... yes
+checking whether stat file-mode macros are broken... no
+checking for mode_t... yes
+checking for nlink_t... yes
+checking whether fchmodat is declared without a macro... yes
+checking whether fstat is declared without a macro... yes
+checking whether fstatat is declared without a macro... yes
+checking whether futimens is declared without a macro... yes
+checking whether lchmod is declared without a macro... yes
+checking whether lstat is declared without a macro... yes
+checking whether mkdirat is declared without a macro... yes
+checking whether mkfifo is declared without a macro... yes
+checking whether mkfifoat is declared without a macro... yes
+checking whether mknod is declared without a macro... yes
+checking whether mknodat is declared without a macro... yes
+checking whether stat is declared without a macro... yes
+checking whether utimensat is declared without a macro... yes
+checking whether stdin defaults to large file offsets... yes
+checking for pid_t... yes
+checking whether ftello is declared... yes
+checking for ftello... yes
+checking whether ftello works... yes
+checking whether getdelim is declared... yes
+checking whether getline is declared... yes
+checking for struct timeval... yes
+checking for wide-enough struct timeval.tv_sec member... yes
+checking whether gettimeofday is declared without a macro... yes
+checking whether malloc, realloc, calloc are POSIX compliant... yes
+checking for mmap... yes
+checking for MAP_ANONYMOUS... yes
+checking whether memchr works... yes
+checking whether memmem is declared... yes
+checking whether <limits.h> defines MIN and MAX... no
+checking whether <sys/param.h> defines MIN and MAX... yes
+checking whether snprintf returns a byte count as in C99... yes
+checking whether snprintf is declared... yes
+checking for stdbool.h that conforms to C99... yes
+checking for _Bool... yes
+checking for wchar_t... yes
+checking for long long int... yes
+checking for unsigned long long int... yes
+checking whether stdint.h conforms to C99... yes
+checking whether ffsl is declared without a macro... yes
+checking whether ffsll is declared without a macro... yes
+checking whether memmem is declared without a macro... yes
+checking whether mempcpy is declared without a macro... yes
+checking whether memrchr is declared without a macro... yes
+checking whether rawmemchr is declared without a macro... yes
+checking whether stpcpy is declared without a macro... yes
+checking whether stpncpy is declared without a macro... yes
+checking whether strchrnul is declared without a macro... yes
+checking whether strdup is declared without a macro... yes
+checking whether strncat is declared without a macro... yes
+checking whether strndup is declared without a macro... yes
+checking whether strnlen is declared without a macro... yes
+checking whether strpbrk is declared without a macro... yes
+checking whether strsep is declared without a macro... yes
+checking whether strcasestr is declared without a macro... yes
+checking whether strtok_r is declared without a macro... yes
+checking whether strerror_r is declared without a macro... yes
+checking whether strsignal is declared without a macro... yes
+checking whether strverscmp is declared without a macro... yes
+checking whether ffs is declared without a macro... yes
+checking whether strcasecmp is declared without a macro... yes
+checking whether strncasecmp is declared without a macro... yes
+checking whether strndup is declared... (cached) yes
+checking whether strnlen is declared... (cached) yes
+checking whether strtok_r is declared... (cached) yes
+checking whether <sys/socket.h> is self-contained... yes
+checking for shutdown... (cached) yes
+checking whether <sys/socket.h> defines the SHUT_* macros... yes
+checking for struct sockaddr_storage... yes
+checking for sa_family_t... yes
+checking for struct sockaddr_storage.ss_family... yes
+checking whether socket is declared without a macro... yes
+checking whether connect is declared without a macro... yes
+checking whether accept is declared without a macro... yes
+checking whether bind is declared without a macro... yes
+checking whether getpeername is declared without a macro... yes
+checking whether getsockname is declared without a macro... yes
+checking whether getsockopt is declared without a macro... yes
+checking whether listen is declared without a macro... yes
+checking whether recv is declared without a macro... yes
+checking whether send is declared without a macro... yes
+checking whether recvfrom is declared without a macro... yes
+checking whether sendto is declared without a macro... yes
+checking whether setsockopt is declared without a macro... yes
+checking whether shutdown is declared without a macro... yes
+checking whether accept4 is declared without a macro... yes
+checking for struct timespec in <time.h>... yes
+checking for wint_t... yes
+checking for inttypes.h... yes
+checking for stdint.h... yes
+checking for intmax_t... yes
+checking where to find the exponent in a 'double'... word 1 bit 20
+checking for snprintf... (cached) yes
+checking for strnlen... yes
+checking for wcslen... yes
+checking for wcsnlen... yes
+checking for mbrtowc... yes
+checking for wcrtomb... yes
+checking whether _snprintf is declared... no
+checking whether vsnprintf is declared... yes
+checking whether <wchar.h> uses 'inline' correctly... yes
+checking for working fcntl.h... yes
+checking whether ungetc works on arbitrary bytes... yes
+checking whether imaxabs is declared without a macro... yes
+checking whether imaxdiv is declared without a macro... yes
+checking whether strtoimax is declared without a macro... yes
+checking whether strtoumax is declared without a macro... yes
+checking for inttypes.h... (cached) yes
+checking whether the inttypes.h PRIxNN macros are broken... no
+checking for alloca as a compiler built-in... yes
+checking byteswap.h usability... yes
+checking byteswap.h presence... yes
+checking for byteswap.h... yes
+checking whether conversion from 'int' to 'long double' works... yes
+checking for ftello... (cached) yes
+checking whether ftello works... (cached) yes
+checking whether __func__ is available... yes
+checking for working getdelim function... yes
+checking for getline... yes
+checking for working getline function... yes
+checking whether gettimeofday clobbers localtime buffer... no
+checking for gettimeofday with POSIX signature... almost
+checking for iconv... yes
+checking for working iconv... yes
+checking for iconv declaration...
+ extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
+checking if gcc/ld supports -Wl,--output-def... no
+checking if LD -Wl,--version-script works... yes
+checking whether lseek detects pipes... yes
+checking for memmem... yes
+checking whether memmem works... yes
+checking whether getaddrinfo is declared without a macro... yes
+checking whether freeaddrinfo is declared without a macro... yes
+checking whether gai_strerror is declared without a macro... yes
+checking whether getnameinfo is declared without a macro... yes
+checking whether <netinet/in.h> is self-contained... yes
+checking for pmccabe... false
+checking for stdint.h... (cached) yes
+checking for SIZE_MAX... yes
+checking for snprintf... (cached) yes
+checking whether snprintf respects a size of 1... yes
+checking whether printf supports POSIX/XSI format strings with positions... yes
+checking for socklen_t... yes
+checking for ssize_t... yes
+checking for working stdalign.h... yes
+checking for max_align_t... yes
+checking whether NULL can be used in arbitrary expressions... yes
+checking whether inttypes macros match system or gnu printf... system
+checking whether dprintf is declared without a macro... yes
+checking whether fpurge is declared without a macro... no
+checking whether fseeko is declared without a macro... yes
+checking whether ftello is declared without a macro... yes
+checking whether getdelim is declared without a macro... yes
+checking whether getline is declared without a macro... yes
+checking whether gets is declared without a macro... no
+checking whether pclose is declared without a macro... yes
+checking whether popen is declared without a macro... yes
+checking whether renameat is declared without a macro... yes
+checking whether snprintf is declared without a macro... yes
+checking whether tmpfile is declared without a macro... yes
+checking whether vdprintf is declared without a macro... yes
+checking whether vsnprintf is declared without a macro... yes
+checking whether _Exit is declared without a macro... yes
+checking whether atoll is declared without a macro... yes
+checking whether canonicalize_file_name is declared without a macro... yes
+checking whether getloadavg is declared without a macro... yes
+checking whether getsubopt is declared without a macro... yes
+checking whether grantpt is declared without a macro... yes
+checking whether initstate is declared without a macro... yes
+checking whether initstate_r is declared without a macro... yes
+checking whether mkdtemp is declared without a macro... yes
+checking whether mkostemp is declared without a macro... yes
+checking whether mkostemps is declared without a macro... yes
+checking whether mkstemp is declared without a macro... yes
+checking whether mkstemps is declared without a macro... yes
+checking whether posix_openpt is declared without a macro... yes
+checking whether ptsname is declared without a macro... yes
+checking whether ptsname_r is declared without a macro... yes
+checking whether random is declared without a macro... yes
+checking whether random_r is declared without a macro... yes
+checking whether realpath is declared without a macro... yes
+checking whether rpmatch is declared without a macro... yes
+checking whether secure_getenv is declared without a macro... yes
+checking whether setenv is declared without a macro... yes
+checking whether setstate is declared without a macro... yes
+checking whether setstate_r is declared without a macro... yes
+checking whether srandom is declared without a macro... yes
+checking whether srandom_r is declared without a macro... yes
+checking whether strtod is declared without a macro... yes
+checking whether strtoll is declared without a macro... yes
+checking whether strtoull is declared without a macro... yes
+checking whether unlockpt is declared without a macro... yes
+checking whether unsetenv is declared without a macro... yes
+checking for strcasecmp... yes
+checking for strncasecmp... yes
+checking whether strncasecmp is declared... (cached) yes
+checking for working strndup... yes
+checking for working strnlen... yes
+checking for strtok_r... yes
+checking whether strtok_r works... yes
+checking for strverscmp... yes
+checking for nlink_t... (cached) yes
+checking whether fchmodat is declared without a macro... (cached) yes
+checking whether fstat is declared without a macro... (cached) yes
+checking whether fstatat is declared without a macro... (cached) yes
+checking whether futimens is declared without a macro... (cached) yes
+checking whether lchmod is declared without a macro... (cached) yes
+checking whether lstat is declared without a macro... (cached) yes
+checking whether mkdirat is declared without a macro... (cached) yes
+checking whether mkfifo is declared without a macro... (cached) yes
+checking whether mkfifoat is declared without a macro... (cached) yes
+checking whether mknod is declared without a macro... (cached) yes
+checking whether mknodat is declared without a macro... (cached) yes
+checking whether stat is declared without a macro... (cached) yes
+checking whether utimensat is declared without a macro... (cached) yes
+checking whether localtime_r is declared... yes
+checking whether localtime_r is compatible with its POSIX signature... yes
+checking whether chdir is declared without a macro... yes
+checking whether chown is declared without a macro... yes
+checking whether dup is declared without a macro... yes
+checking whether dup2 is declared without a macro... yes
+checking whether dup3 is declared without a macro... yes
+checking whether environ is declared without a macro... yes
+checking whether euidaccess is declared without a macro... yes
+checking whether faccessat is declared without a macro... yes
+checking whether fchdir is declared without a macro... yes
+checking whether fchownat is declared without a macro... yes
+checking whether fdatasync is declared without a macro... yes
+checking whether fsync is declared without a macro... yes
+checking whether ftruncate is declared without a macro... yes
+checking whether getcwd is declared without a macro... yes
+checking whether getdomainname is declared without a macro... yes
+checking whether getdtablesize is declared without a macro... yes
+checking whether getgroups is declared without a macro... yes
+checking whether gethostname is declared without a macro... yes
+checking whether getlogin is declared without a macro... yes
+checking whether getlogin_r is declared without a macro... yes
+checking whether getpagesize is declared without a macro... yes
+checking whether getusershell is declared without a macro... yes
+checking whether setusershell is declared without a macro... yes
+checking whether endusershell is declared without a macro... yes
+checking whether group_member is declared without a macro... yes
+checking whether isatty is declared without a macro... yes
+checking whether lchown is declared without a macro... yes
+checking whether link is declared without a macro... yes
+checking whether linkat is declared without a macro... yes
+checking whether lseek is declared without a macro... yes
+checking whether pipe is declared without a macro... yes
+checking whether pipe2 is declared without a macro... yes
+checking whether pread is declared without a macro... yes
+checking whether pwrite is declared without a macro... yes
+checking whether readlink is declared without a macro... yes
+checking whether readlinkat is declared without a macro... yes
+checking whether rmdir is declared without a macro... yes
+checking whether sethostname is declared without a macro... yes
+checking whether sleep is declared without a macro... yes
+checking whether symlink is declared without a macro... yes
+checking whether symlinkat is declared without a macro... yes
+checking whether ttyname_r is declared without a macro... yes
+checking whether unlink is declared without a macro... yes
+checking whether unlinkat is declared without a macro... yes
+checking whether usleep is declared without a macro... yes
+checking for valgrind... valgrind
+checking whether self tests are run under valgrind... yes
+checking for ptrdiff_t... yes
+checking for vasprintf... (cached) yes
+checking for vsnprintf... yes
+checking whether snprintf respects a size of 1... (cached) yes
+checking whether printf supports POSIX/XSI format strings with positions... (cached) yes
+checking whether btowc is declared without a macro... yes
+checking whether wctob is declared without a macro... yes
+checking whether mbsinit is declared without a macro... yes
+checking whether mbrtowc is declared without a macro... yes
+checking whether mbrlen is declared without a macro... yes
+checking whether mbsrtowcs is declared without a macro... yes
+checking whether mbsnrtowcs is declared without a macro... yes
+checking whether wcrtomb is declared without a macro... yes
+checking whether wcsrtombs is declared without a macro... yes
+checking whether wcsnrtombs is declared without a macro... yes
+checking whether wcwidth is declared without a macro... yes
+checking whether wmemchr is declared without a macro... yes
+checking whether wmemcmp is declared without a macro... yes
+checking whether wmemcpy is declared without a macro... yes
+checking whether wmemmove is declared without a macro... yes
+checking whether wmemset is declared without a macro... yes
+checking whether wcslen is declared without a macro... yes
+checking whether wcsnlen is declared without a macro... yes
+checking whether wcscpy is declared without a macro... yes
+checking whether wcpcpy is declared without a macro... yes
+checking whether wcsncpy is declared without a macro... yes
+checking whether wcpncpy is declared without a macro... yes
+checking whether wcscat is declared without a macro... yes
+checking whether wcsncat is declared without a macro... yes
+checking whether wcscmp is declared without a macro... yes
+checking whether wcsncmp is declared without a macro... yes
+checking whether wcscasecmp is declared without a macro... yes
+checking whether wcsncasecmp is declared without a macro... yes
+checking whether wcscoll is declared without a macro... yes
+checking whether wcsxfrm is declared without a macro... yes
+checking whether wcsdup is declared without a macro... yes
+checking whether wcschr is declared without a macro... yes
+checking whether wcsrchr is declared without a macro... yes
+checking whether wcscspn is declared without a macro... yes
+checking whether wcsspn is declared without a macro... yes
+checking whether wcspbrk is declared without a macro... yes
+checking whether wcsstr is declared without a macro... yes
+checking whether wcstok is declared without a macro... yes
+checking whether wcswidth is declared without a macro... yes
+checking for stdint.h... (cached) yes
+checking whether fcntl is declared without a macro... yes
+checking whether openat is declared without a macro... yes
+checking whether fdopen sets errno... yes
+checking for getpagesize... yes
+checking whether getpagesize is declared... (cached) yes
+checking whether INT32_MAX < INTMAX_MAX... yes
+checking whether INT64_MAX == LONG_MAX... yes
+checking whether UINT32_MAX < UINTMAX_MAX... yes
+checking whether UINT64_MAX == ULONG_MAX... yes
+checking for mmap... (cached) yes
+checking for MAP_ANONYMOUS... yes
+checking for mmap... (cached) yes
+checking for MAP_ANONYMOUS... yes
+checking for valgrind... (cached) valgrind
+checking whether self tests are run under valgrind... yes
+checking if environ is properly declared... yes
+checking whether strerror_r is declared... (cached) yes
+checking for strerror_r... yes
+checking whether strerror_r returns char *... yes
+checking whether fseeko is declared... (cached) yes
+checking for fseeko... yes
+checking for library containing gethostbyname... none required
+checking for gethostbyname... yes
+checking for library containing getservbyname... none required
+checking for getservbyname... yes
+checking for library containing inet_ntop... none required
+checking whether inet_ntop is declared... yes
+checking for IPv4 sockets... yes
+checking for IPv6 sockets... yes
+checking whether getpass is declared... yes
+checking whether fflush_unlocked is declared... yes
+checking whether flockfile is declared... yes
+checking whether fputs_unlocked is declared... yes
+checking whether funlockfile is declared... yes
+checking whether putc_unlocked is declared... yes
+checking for stdlib.h... (cached) yes
+checking for GNU libc compatible malloc... yes
+checking whether alarm is declared... yes
+checking for compound literals... yes
+checking whether struct tm is in sys/time.h or time.h... time.h
+checking for struct tm.tm_gmtoff... yes
+checking whether <sys/select.h> is self-contained... yes
+checking whether pselect is declared without a macro... yes
+checking whether select is declared without a macro... yes
+checking whether setenv is declared... (cached) yes
+checking search.h usability... yes
+checking search.h presence... yes
+checking for search.h... yes
+checking for tsearch... yes
+checking for sigset_t... yes
+checking for uid_t in sys/types.h... yes
+checking whether strdup is declared... (cached) yes
+checking whether strerror(0) succeeds... yes
+checking whether unsetenv is declared... (cached) yes
+checking for alloca as a compiler built-in... (cached) yes
+checking whether inet_ntop is declared without a macro... yes
+checking whether inet_pton is declared without a macro... yes
+checking for library containing clock_gettime... none required
+checking for clock_gettime... (cached) yes
+checking for clock_settime... yes
+checking whether dup2 works... yes
+checking for error_at_line... yes
+checking whether conversion from 'int' to 'long double' works... (cached) yes
+checking for fseeko... (cached) yes
+checking for ftello... (cached) yes
+checking whether ftello works... (cached) yes
+configure: checking how to do getaddrinfo, freeaddrinfo and getnameinfo
+checking for library containing getaddrinfo... none required
+checking for getaddrinfo... yes
+checking whether gai_strerror is declared... (cached) yes
+checking whether gai_strerrorA is declared... no
+checking for gai_strerror with POSIX signature... yes
+checking for struct sockaddr.sa_len... no
+checking whether getaddrinfo is declared... (cached) yes
+checking whether freeaddrinfo is declared... (cached) yes
+checking whether getnameinfo is declared... (cached) yes
+checking for struct addrinfo... yes
+checking for working getdelim function... (cached) yes
+checking for getline... (cached) yes
+checking for working getline function... (cached) yes
+checking for getpass... yes
+checking whether gettimeofday clobbers localtime buffer... (cached) no
+checking for gettimeofday with POSIX signature... (cached) almost
+checking for library containing gethostbyname... (cached) none required
+checking for gethostbyname... (cached) yes
+checking for library containing inet_ntop... (cached) none required
+checking whether inet_ntop is declared... (cached) yes
+checking for library containing inet_pton... none required
+checking whether inet_pton is declared... (cached) yes
+checking whether lseek detects pipes... (cached) yes
+checking for working mktime... yes
+checking whether getaddrinfo is declared without a macro... (cached) yes
+checking whether freeaddrinfo is declared without a macro... (cached) yes
+checking whether gai_strerror is declared without a macro... (cached) yes
+checking whether getnameinfo is declared without a macro... (cached) yes
+checking whether <netinet/in.h> is self-contained... (cached) yes
+checking for struct tm.tm_zone... yes
+checking whether program_invocation_name is declared... yes
+checking whether program_invocation_short_name is declared... yes
+checking whether select supports a 0 argument... yes
+checking whether select detects invalid fds... yes
+checking for library containing getservbyname... (cached) none required
+checking for getservbyname... (cached) yes
+checking whether setenv validates arguments... yes
+checking for volatile sig_atomic_t... yes
+checking for sighandler_t... yes
+checking whether pthread_sigmask is declared without a macro... yes
+checking whether sigaction is declared without a macro... yes
+checking whether sigaddset is declared without a macro... yes
+checking whether sigdelset is declared without a macro... yes
+checking whether sigemptyset is declared without a macro... yes
+checking whether sigfillset is declared without a macro... yes
+checking whether sigismember is declared without a macro... yes
+checking whether sigpending is declared without a macro... yes
+checking whether sigprocmask is declared without a macro... yes
+checking for stdint.h... (cached) yes
+checking for SIZE_MAX... (cached) yes
+checking for snprintf... (cached) yes
+checking whether snprintf respects a size of 1... (cached) yes
+checking whether printf supports POSIX/XSI format strings with positions... (cached) yes
+checking for socklen_t... (cached) yes
+checking for ssize_t... (cached) yes
+checking for working stdalign.h... (cached) yes
+checking for max_align_t... (cached) yes
+checking whether NULL can be used in arbitrary expressions... (cached) yes
+checking whether inttypes macros match system or gnu printf... (cached) system
+checking whether dprintf is declared without a macro... (cached) yes
+checking whether fpurge is declared without a macro... (cached) no
+checking whether fseeko is declared without a macro... (cached) yes
+checking whether ftello is declared without a macro... (cached) yes
+checking whether getdelim is declared without a macro... (cached) yes
+checking whether getline is declared without a macro... (cached) yes
+checking whether gets is declared without a macro... (cached) no
+checking whether pclose is declared without a macro... (cached) yes
+checking whether popen is declared without a macro... (cached) yes
+checking whether renameat is declared without a macro... (cached) yes
+checking whether snprintf is declared without a macro... (cached) yes
+checking whether tmpfile is declared without a macro... (cached) yes
+checking whether vdprintf is declared without a macro... (cached) yes
+checking whether vsnprintf is declared without a macro... (cached) yes
+checking whether _Exit is declared without a macro... (cached) yes
+checking whether atoll is declared without a macro... (cached) yes
+checking whether canonicalize_file_name is declared without a macro... (cached) yes
+checking whether getloadavg is declared without a macro... (cached) yes
+checking whether getsubopt is declared without a macro... (cached) yes
+checking whether grantpt is declared without a macro... (cached) yes
+checking whether initstate is declared without a macro... (cached) yes
+checking whether initstate_r is declared without a macro... (cached) yes
+checking whether mkdtemp is declared without a macro... (cached) yes
+checking whether mkostemp is declared without a macro... (cached) yes
+checking whether mkostemps is declared without a macro... (cached) yes
+checking whether mkstemp is declared without a macro... (cached) yes
+checking whether mkstemps is declared without a macro... (cached) yes
+checking whether posix_openpt is declared without a macro... (cached) yes
+checking whether ptsname is declared without a macro... (cached) yes
+checking whether ptsname_r is declared without a macro... (cached) yes
+checking whether random is declared without a macro... (cached) yes
+checking whether random_r is declared without a macro... (cached) yes
+checking whether realpath is declared without a macro... (cached) yes
+checking whether rpmatch is declared without a macro... (cached) yes
+checking whether secure_getenv is declared without a macro... (cached) yes
+checking whether setenv is declared without a macro... (cached) yes
+checking whether setstate is declared without a macro... (cached) yes
+checking whether setstate_r is declared without a macro... (cached) yes
+checking whether srandom is declared without a macro... (cached) yes
+checking whether srandom_r is declared without a macro... (cached) yes
+checking whether strtod is declared without a macro... (cached) yes
+checking whether strtoll is declared without a macro... (cached) yes
+checking whether strtoull is declared without a macro... (cached) yes
+checking whether unlockpt is declared without a macro... (cached) yes
+checking whether unsetenv is declared without a macro... (cached) yes
+checking for working strerror function... yes
+checking whether <sys/select.h> is self-contained... (cached) yes
+checking whether pselect is declared without a macro... (cached) yes
+checking whether select is declared without a macro... (cached) yes
+checking for nlink_t... (cached) yes
+checking whether fchmodat is declared without a macro... (cached) yes
+checking whether fstat is declared without a macro... (cached) yes
+checking whether fstatat is declared without a macro... (cached) yes
+checking whether futimens is declared without a macro... (cached) yes
+checking whether lchmod is declared without a macro... (cached) yes
+checking whether lstat is declared without a macro... (cached) yes
+checking whether mkdirat is declared without a macro... (cached) yes
+checking whether mkfifo is declared without a macro... (cached) yes
+checking whether mkfifoat is declared without a macro... (cached) yes
+checking whether mknod is declared without a macro... (cached) yes
+checking whether mknodat is declared without a macro... (cached) yes
+checking whether stat is declared without a macro... (cached) yes
+checking whether utimensat is declared without a macro... (cached) yes
+checking whether localtime_r is declared... (cached) yes
+checking whether localtime_r is compatible with its POSIX signature... (cached) yes
+checking whether chdir is declared without a macro... (cached) yes
+checking whether chown is declared without a macro... (cached) yes
+checking whether dup is declared without a macro... (cached) yes
+checking whether dup2 is declared without a macro... (cached) yes
+checking whether dup3 is declared without a macro... (cached) yes
+checking whether environ is declared without a macro... (cached) yes
+checking whether euidaccess is declared without a macro... (cached) yes
+checking whether faccessat is declared without a macro... (cached) yes
+checking whether fchdir is declared without a macro... (cached) yes
+checking whether fchownat is declared without a macro... (cached) yes
+checking whether fdatasync is declared without a macro... (cached) yes
+checking whether fsync is declared without a macro... (cached) yes
+checking whether ftruncate is declared without a macro... (cached) yes
+checking whether getcwd is declared without a macro... (cached) yes
+checking whether getdomainname is declared without a macro... (cached) yes
+checking whether getdtablesize is declared without a macro... (cached) yes
+checking whether getgroups is declared without a macro... (cached) yes
+checking whether gethostname is declared without a macro... (cached) yes
+checking whether getlogin is declared without a macro... (cached) yes
+checking whether getlogin_r is declared without a macro... (cached) yes
+checking whether getpagesize is declared without a macro... (cached) yes
+checking whether getusershell is declared without a macro... (cached) yes
+checking whether setusershell is declared without a macro... (cached) yes
+checking whether endusershell is declared without a macro... (cached) yes
+checking whether group_member is declared without a macro... (cached) yes
+checking whether isatty is declared without a macro... (cached) yes
+checking whether lchown is declared without a macro... (cached) yes
+checking whether link is declared without a macro... (cached) yes
+checking whether linkat is declared without a macro... (cached) yes
+checking whether lseek is declared without a macro... (cached) yes
+checking whether pipe is declared without a macro... (cached) yes
+checking whether pipe2 is declared without a macro... (cached) yes
+checking whether pread is declared without a macro... (cached) yes
+checking whether pwrite is declared without a macro... (cached) yes
+checking whether readlink is declared without a macro... (cached) yes
+checking whether readlinkat is declared without a macro... (cached) yes
+checking whether rmdir is declared without a macro... (cached) yes
+checking whether sethostname is declared without a macro... (cached) yes
+checking whether sleep is declared without a macro... (cached) yes
+checking whether symlink is declared without a macro... (cached) yes
+checking whether symlinkat is declared without a macro... (cached) yes
+checking whether ttyname_r is declared without a macro... (cached) yes
+checking whether unlink is declared without a macro... (cached) yes
+checking whether unlinkat is declared without a macro... (cached) yes
+checking whether usleep is declared without a macro... (cached) yes
+checking for unsetenv... yes
+checking for unsetenv() return type... int
+checking whether unsetenv obeys POSIX... yes
+checking for ptrdiff_t... (cached) yes
+checking whether btowc is declared without a macro... (cached) yes
+checking whether wctob is declared without a macro... (cached) yes
+checking whether mbsinit is declared without a macro... (cached) yes
+checking whether mbrtowc is declared without a macro... (cached) yes
+checking whether mbrlen is declared without a macro... (cached) yes
+checking whether mbsrtowcs is declared without a macro... (cached) yes
+checking whether mbsnrtowcs is declared without a macro... (cached) yes
+checking whether wcrtomb is declared without a macro... (cached) yes
+checking whether wcsrtombs is declared without a macro... (cached) yes
+checking whether wcsnrtombs is declared without a macro... (cached) yes
+checking whether wcwidth is declared without a macro... (cached) yes
+checking whether wmemchr is declared without a macro... (cached) yes
+checking whether wmemcmp is declared without a macro... (cached) yes
+checking whether wmemcpy is declared without a macro... (cached) yes
+checking whether wmemmove is declared without a macro... (cached) yes
+checking whether wmemset is declared without a macro... (cached) yes
+checking whether wcslen is declared without a macro... (cached) yes
+checking whether wcsnlen is declared without a macro... (cached) yes
+checking whether wcscpy is declared without a macro... (cached) yes
+checking whether wcpcpy is declared without a macro... (cached) yes
+checking whether wcsncpy is declared without a macro... (cached) yes
+checking whether wcpncpy is declared without a macro... (cached) yes
+checking whether wcscat is declared without a macro... (cached) yes
+checking whether wcsncat is declared without a macro... (cached) yes
+checking whether wcscmp is declared without a macro... (cached) yes
+checking whether wcsncmp is declared without a macro... (cached) yes
+checking whether wcscasecmp is declared without a macro... (cached) yes
+checking whether wcsncasecmp is declared without a macro... (cached) yes
+checking whether wcscoll is declared without a macro... (cached) yes
+checking whether wcsxfrm is declared without a macro... (cached) yes
+checking whether wcsdup is declared without a macro... (cached) yes
+checking whether wcschr is declared without a macro... (cached) yes
+checking whether wcsrchr is declared without a macro... (cached) yes
+checking whether wcscspn is declared without a macro... (cached) yes
+checking whether wcsspn is declared without a macro... (cached) yes
+checking whether wcspbrk is declared without a macro... (cached) yes
+checking whether wcsstr is declared without a macro... (cached) yes
+checking whether wcstok is declared without a macro... (cached) yes
+checking whether wcswidth is declared without a macro... (cached) yes
+checking for stdint.h... (cached) yes
+checking whether C compiler handles -Werror -Wunknown-warning-option... no
+checking whether C compiler handles -Wframe-larger-than=2048... yes
+checking whether -Wno-missing-field-initializers is supported... yes
+checking whether -Wno-missing-field-initializers is needed... no
+checking whether -Wuninitialized is supported... yes
+checking whether C compiler handles -W... yes
+checking whether C compiler handles -Wabi... yes
+checking whether C compiler handles -Waddress... yes
+checking whether C compiler handles -Waggressive-loop-optimizations... yes
+checking whether C compiler handles -Wall... yes
+checking whether C compiler handles -Warray-bounds... yes
+checking whether C compiler handles -Wattributes... yes
+checking whether C compiler handles -Wbad-function-cast... yes
+checking whether C compiler handles -Wbuiltin-macro-redefined... yes
+checking whether C compiler handles -Wcast-align... yes
+checking whether C compiler handles -Wchar-subscripts... yes
+checking whether C compiler handles -Wclobbered... yes
+checking whether C compiler handles -Wcomment... yes
+checking whether C compiler handles -Wcomments... yes
+checking whether C compiler handles -Wcoverage-mismatch... yes
+checking whether C compiler handles -Wcpp... yes
+checking whether C compiler handles -Wdate-time... yes
+checking whether C compiler handles -Wdeprecated... yes
+checking whether C compiler handles -Wdeprecated-declarations... yes
+checking whether C compiler handles -Wdisabled-optimization... yes
+checking whether C compiler handles -Wdiv-by-zero... yes
+checking whether C compiler handles -Wdouble-promotion... yes
+checking whether C compiler handles -Wempty-body... yes
+checking whether C compiler handles -Wendif-labels... yes
+checking whether C compiler handles -Wenum-compare... yes
+checking whether C compiler handles -Wextra... yes
+checking whether C compiler handles -Wformat-contains-nul... yes
+checking whether C compiler handles -Wformat-extra-args... yes
+checking whether C compiler handles -Wformat-security... yes
+checking whether C compiler handles -Wformat-zero-length... yes
+checking whether C compiler handles -Wfree-nonheap-object... yes
+checking whether C compiler handles -Wignored-qualifiers... yes
+checking whether C compiler handles -Wimplicit... yes
+checking whether C compiler handles -Wimplicit-function-declaration... yes
+checking whether C compiler handles -Wimplicit-int... yes
+checking whether C compiler handles -Winit-self... yes
+checking whether C compiler handles -Wint-to-pointer-cast... yes
+checking whether C compiler handles -Winvalid-memory-model... yes
+checking whether C compiler handles -Winvalid-pch... yes
+checking whether C compiler handles -Wjump-misses-init... yes
+checking whether C compiler handles -Wlogical-op... yes
+checking whether C compiler handles -Wmain... yes
+checking whether C compiler handles -Wmaybe-uninitialized... yes
+checking whether C compiler handles -Wmissing-braces... yes
+checking whether C compiler handles -Wmissing-declarations... yes
+checking whether C compiler handles -Wmissing-field-initializers... yes
+checking whether C compiler handles -Wmissing-include-dirs... yes
+checking whether C compiler handles -Wmissing-parameter-type... yes
+checking whether C compiler handles -Wmissing-prototypes... yes
+checking whether C compiler handles -Wmultichar... yes
+checking whether C compiler handles -Wnarrowing... yes
+checking whether C compiler handles -Wnested-externs... yes
+checking whether C compiler handles -Wnonnull... yes
+checking whether C compiler handles -Wold-style-declaration... yes
+checking whether C compiler handles -Wold-style-definition... yes
+checking whether C compiler handles -Wopenmp-simd... yes
+checking whether C compiler handles -Woverflow... yes
+checking whether C compiler handles -Woverride-init... yes
+checking whether C compiler handles -Wpacked... yes
+checking whether C compiler handles -Wpacked-bitfield-compat... yes
+checking whether C compiler handles -Wparentheses... yes
+checking whether C compiler handles -Wpointer-arith... yes
+checking whether C compiler handles -Wpointer-sign... yes
+checking whether C compiler handles -Wpointer-to-int-cast... yes
+checking whether C compiler handles -Wpragmas... yes
+checking whether C compiler handles -Wreturn-local-addr... yes
+checking whether C compiler handles -Wreturn-type... yes
+checking whether C compiler handles -Wsequence-point... yes
+checking whether C compiler handles -Wshadow... yes
+checking whether C compiler handles -Wsizeof-pointer-memaccess... yes
+checking whether C compiler handles -Wstrict-aliasing... yes
+checking whether C compiler handles -Wstrict-prototypes... yes
+checking whether C compiler handles -Wsuggest-attribute=format... yes
+checking whether C compiler handles -Wswitch... yes
+checking whether C compiler handles -Wsync-nand... yes
+checking whether C compiler handles -Wtrampolines... yes
+checking whether C compiler handles -Wtrigraphs... yes
+checking whether C compiler handles -Wtype-limits... yes
+checking whether C compiler handles -Wuninitialized... yes
+checking whether C compiler handles -Wunknown-pragmas... yes
+checking whether C compiler handles -Wunsafe-loop-optimizations... yes
+checking whether C compiler handles -Wunused... yes
+checking whether C compiler handles -Wunused-but-set-parameter... yes
+checking whether C compiler handles -Wunused-but-set-variable... yes
+checking whether C compiler handles -Wunused-function... yes
+checking whether C compiler handles -Wunused-label... yes
+checking whether C compiler handles -Wunused-local-typedefs... yes
+checking whether C compiler handles -Wunused-macros... yes
+checking whether C compiler handles -Wunused-parameter... yes
+checking whether C compiler handles -Wunused-result... yes
+checking whether C compiler handles -Wunused-value... yes
+checking whether C compiler handles -Wunused-variable... yes
+checking whether C compiler handles -Wvarargs... yes
+checking whether C compiler handles -Wvariadic-macros... yes
+checking whether C compiler handles -Wvector-operation-performance... yes
+checking whether C compiler handles -Wvolatile-register-var... yes
+checking whether C compiler handles -Wwrite-strings... yes
+checking whether C compiler handles -Wnormalized=nfc... yes
+checking whether C compiler handles -Wno-missing-field-initializers... yes
+checking whether C compiler handles -Wno-format-y2k... yes
+checking whether C compiler handles -Wno-unused-value... yes
+checking whether C compiler handles -Wno-unused-result... yes
+checking whether C compiler handles -Wno-unused-parameter... yes
+checking whether C compiler handles -Wno-stack-protector... yes
+checking whether C compiler handles -Wno-int-to-pointer-cast... yes
+checking whether C compiler handles -fdiagnostics-show-option... yes
+checking whether ln -s works... yes
+checking how to print strings... printf
+checking for a sed that does not truncate output... (cached) /bin/sed
+checking for fgrep... /bin/grep -F
+checking for ld used by gcc... /usr/bin/ld
+checking if the linker (/usr/bin/ld) is GNU ld... yes
+checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
+checking the name lister (/usr/bin/nm -B) interface... BSD nm
+checking the maximum length of command line arguments... 1572864
+checking whether the shell understands some XSI constructs... yes
+checking whether the shell understands "+="... yes
+checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
+checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
+checking for /usr/bin/ld option to reload object files... -r
+checking for objdump... objdump
+checking how to recognize dependent libraries... pass_all
+checking for dlltool... no
+checking how to associate runtime and link libraries... printf %s\n
+checking for archiver @FILE support... @
+checking for strip... strip
+checking for ranlib... (cached) ranlib
+checking command to parse /usr/bin/nm -B output from gcc object... ok
+checking for sysroot... no
+checking for mt... mt
+checking if mt is a manifest tool... no
+checking for dlfcn.h... yes
+checking for objdir... .libs
+checking if gcc supports -fno-rtti -fno-exceptions... yes
+checking for gcc option to produce PIC... -fPIC -DPIC
+checking if gcc PIC flag -fPIC -DPIC works... yes
+checking if gcc static flag -static works... yes
+checking if gcc supports -c -o file.o... yes
+checking if gcc supports -c -o file.o... (cached) yes
+checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
+checking whether -lc should be explicitly linked in... no
+checking dynamic linker characteristics... GNU/Linux ld.so
+checking how to hardcode library paths into programs... immediate
+checking whether stripping libraries is possible... yes
+checking if libtool supports shared libraries... yes
+checking whether to build shared libraries... yes
+checking whether to build static libraries... no
+checking how to run the C++ preprocessor... g++ -E
+checking for ld used by g++... /usr/bin/ld -m elf_x86_64
+checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
+checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
+checking for g++ option to produce PIC... -fPIC -DPIC
+checking if g++ PIC flag -fPIC -DPIC works... yes
+checking if g++ static flag -static works... yes
+checking if g++ supports -c -o file.o... yes
+checking if g++ supports -c -o file.o... (cached) yes
+checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
+checking dynamic linker characteristics... (cached) GNU/Linux ld.so
+checking how to hardcode library paths into programs... immediate
+checking for LIBIDN... yes
+checking whether to build libdane... no
+checking for tss library... yes
+checking for working stdnoreturn.h... yes
+checking for ssize_t... yes
+checking size of unsigned long int... 8
+checking size of unsigned int... 4
+checking whether to include zlib compression support... yes
+checking for libz... yes
+checking how to link with libz... -lz
+checking whether building Guile bindings... no
+***
+*** Checking dependencies for crywrap...
+
+checking for arpa/inet.h... (cached) yes
+checking for netinet/in.h... (cached) yes
+checking for sys/select.h... (cached) yes
+checking for sys/types.h... (cached) yes
+checking sys/wait.h usability... yes
+checking sys/wait.h presence... yes
+checking for sys/wait.h... yes
+checking return type of signal handlers... void
+checking for sys/select.h... (cached) yes
+checking for sys/socket.h... (cached) yes
+checking types of arguments for select... int,fd_set *,struct timeval *
+checking for alarm... yes
+checking for atexit... yes
+checking for dup2... yes
+checking for epoll_create... yes
+checking for kqueue... no
+checking for memchr... yes
+checking for memset... yes
+checking for munmap... yes
+checking for putenv... yes
+checking for regcomp... yes
+checking for scandir... yes
+checking for select... yes
+checking for socket... yes
+checking for strcasecmp... (cached) yes
+checking for strchr... yes
+checking for strdup... (cached) yes
+checking for strerror... yes
+checking for strncasecmp... (cached) yes
+checking for strrchr... yes
+checking for strstr... yes
+checking for strtoul... yes
+checking for uname... yes
+checking for argp_usage... yes
+checking that generated files are newer than configure... done
+configure: creating ./config.status
+config.status: creating guile/pre-inst-guile
+config.status: creating Makefile
+config.status: creating doc/Makefile
+config.status: creating doc/credentials/Makefile
+config.status: creating doc/credentials/openpgp/Makefile
+config.status: creating doc/credentials/srp/Makefile
+config.status: creating doc/credentials/x509/Makefile
+config.status: creating doc/cyclo/Makefile
+config.status: creating doc/doxygen/Doxyfile
+config.status: creating doc/examples/Makefile
+config.status: creating doc/latex/Makefile
+config.status: creating doc/manpages/Makefile
+config.status: creating doc/reference/Makefile
+config.status: creating doc/reference/version.xml
+config.status: creating doc/scripts/Makefile
+config.status: creating extra/Makefile
+config.status: creating extra/includes/Makefile
+config.status: creating libdane/Makefile
+config.status: creating libdane/includes/Makefile
+config.status: creating libdane/gnutls-dane.pc
+config.status: creating gl/Makefile
+config.status: creating gl/tests/Makefile
+config.status: creating guile/Makefile
+config.status: creating guile/modules/Makefile
+config.status: creating guile/src/Makefile
+config.status: creating guile/tests/Makefile
+config.status: creating lib/Makefile
+config.status: creating lib/accelerated/Makefile
+config.status: creating lib/accelerated/x86/Makefile
+config.status: creating lib/algorithms/Makefile
+config.status: creating lib/auth/Makefile
+config.status: creating lib/ext/Makefile
+config.status: creating lib/extras/Makefile
+config.status: creating lib/gnutls.pc
+config.status: creating lib/includes/Makefile
+config.status: creating lib/includes/gnutls/gnutls.h
+config.status: creating lib/minitasn1/Makefile
+config.status: creating lib/nettle/Makefile
+config.status: creating lib/opencdk/Makefile
+config.status: creating lib/openpgp/Makefile
+config.status: creating lib/x509/Makefile
+config.status: creating po/Makefile.in
+config.status: creating src/Makefile
+config.status: creating src/crywrap/Makefile
+config.status: creating src/gl/Makefile
+config.status: creating tests/Makefile
+config.status: creating tests/cert-tests/Makefile
+config.status: creating tests/dsa/Makefile
+config.status: creating tests/dtls/Makefile
+config.status: creating tests/srp/Makefile
+config.status: creating tests/ecdsa/Makefile
+config.status: creating tests/key-tests/Makefile
+config.status: creating tests/openpgp-certs/Makefile
+config.status: creating tests/pkcs1-padding/Makefile
+config.status: creating tests/pkcs12-decode/Makefile
+config.status: creating tests/pkcs8-decode/Makefile
+config.status: creating tests/rsa-md5-collision/Makefile
+config.status: creating tests/safe-renegotiation/Makefile
+config.status: creating tests/scripts/Makefile
+config.status: creating tests/sha2/Makefile
+config.status: creating tests/slow/Makefile
+config.status: creating tests/suite/Makefile
+config.status: creating tests/userid/Makefile
+config.status: creating config.h
+config.status: executing depfiles commands
+config.status: executing po-directories commands
+config.status: creating po/POTFILES
+config.status: creating po/Makefile
+config.status: executing libtool commands
+configure: summary of build options:
+
+ version: 3.4.1 shared 30:1:0
+ Host/Target system: x86_64-unknown-linux-gnu
+ Build system: x86_64-unknown-linux-gnu
+ Install prefix: /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.1
+ Compiler: gcc
+ CFlags: -g -Og -fpermissive -w
+ Library types: Shared=yes, Static=no
+ Local libopts: yes
+ Local libtasn1: yes
+ Use nettle-mini: no
+
+configure: External hardware support:
+
+ /dev/crypto: no
+ Hardware accel: x86-64
+ Padlock accel: yes
+ getrandom variant: no
+ PKCS#11 support: no
+ TPM support: yes
+
+configure: Optional features:
+(note that included applications might not compile properly
+if features are disabled)
+
+ DTLS-SRTP support: yes
+ ALPN support: yes
+ OCSP support: yes
+ Ses. ticket support: yes
+ OpenPGP support: yes
+ SRP support: yes
+ PSK support: yes
+ DHE support: yes
+ ECDHE support: yes
+ Anon auth support: yes
+ Heartbeat support: yes
+ IDNA support: yes
+ Unicode support: yes
+ Self checks: no
+ Non-SuiteB curves: yes
+ FIPS140 mode: no
+
+configure: Optional applications:
+
+ crywrap app: yes
+
+configure: Optional libraries:
+
+ Guile wrappers: no
+ C++ library: no
+ DANE library: no
+ OpenSSL compat: no
+
+configure: System files:
+
+ Trust store pkcs11:
+ Trust store dir:
+ Trust store file: /etc/ssl/certs/ca-certificates.crt
+ Blacklist file:
+ CRL file:
+ Priority file: /etc/gnutls/default-priorities
+ DNSSEC root key file: /usr/share/dns/root.key
+
+sed: can't read lib/gl/stdio.in.h: No such file or directory
+make[1]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1'
+make all-recursive
+make[2]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1'
+Making all in gl
+make[3]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/gl'
+ GEN alloca.h
+ GEN c++defs.h
+ GEN arg-nonnull.h
+ GEN warn-on-use.h
+ GEN netdb.h
+ GEN stdio.h
+ GEN stdlib.h
+ GEN string.h
+ GEN strings.h
+ GEN sys/socket.h
+ GEN sys/stat.h
+ GEN sys/time.h
+ GEN sys/types.h
+ GEN sys/uio.h
+ GEN time.h
+ GEN unistd.h
+ GEN wchar.h
+make all-recursive
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/gl'
+Making all in tests
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/gl/tests'
+ GEN c++defs.h
+ GEN arg-nonnull.h
+ GEN warn-on-use.h
+ GEN fcntl.h
+ GEN inttypes.h
+make all-recursive
+make[6]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/gl/tests'
+Making all in .
+make[7]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/gl/tests'
+make[7]: Nothing to be done for 'all-am'.
+make[7]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/gl/tests'
+make[6]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/gl/tests'
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/gl/tests'
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/gl'
+ CC base64.lo
+ CC c-ctype.lo
+ CC hash-pjw-bare.lo
+ CC read-file.lo
+ CC sys_socket.lo
+ CC unistd.lo
+ CC xsize.lo
+ CC asnprintf.lo
+ CC printf-args.lo
+ CC printf-parse.lo
+ CC vasnprintf.lo
+ CCLD libgnu.la
+ar: `u' modifier ignored since `D' is the default (see `U')
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/gl'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/gl'
+make[3]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/gl'
+Making all in lib
+make[3]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib'
+make all-recursive
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib'
+Making all in includes
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/includes'
+make[5]: Nothing to be done for 'all'.
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/includes'
+Making all in x509
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/x509'
+ CC common.lo
+ CC key_encode.lo
+ CC key_decode.lo
+ CC crl.lo
+ CC crl_write.lo
+ CC crq.lo
+ CC dn.lo
+ CC extensions.lo
+ CC mpi.lo
+ CC output.lo
+ CC pkcs12.lo
+ CC pkcs12_bag.lo
+ CC pkcs12_encr.lo
+ CC pkcs7.lo
+ CC privkey.lo
+ CC privkey_pkcs8.lo
+ CC privkey_openssl.lo
+ CC hostname-verify.lo
+ CC sign.lo
+ CC verify.lo
+ CC x509.lo
+ CC x509_dn.lo
+ CC x509_write.lo
+ CC name_constraints.lo
+ CC verify-high.lo
+ CC verify-high2.lo
+ CC x509_ext.lo
+ CC email-verify.lo
+ CC ocsp.lo
+ CC ocsp_output.lo
+ CCLD libgnutls_x509.la
+ar: `u' modifier ignored since `D' is the default (see `U')
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/x509'
+Making all in auth
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/auth'
+ CC anon.lo
+ CC cert.lo
+ CC dh_common.lo
+ CC dhe.lo
+ CC rsa_psk.lo
+ CC dhe_psk.lo
+ CC psk.lo
+ CC psk_passwd.lo
+ CC rsa.lo
+ CC srp.lo
+ CC srp_passwd.lo
+ CC srp_rsa.lo
+ CC srp_sb64.lo
+ CC anon_ecdh.lo
+ CC ecdhe.lo
+ CCLD libgnutls_auth.la
+ar: `u' modifier ignored since `D' is the default (see `U')
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/auth'
+Making all in ext
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/ext'
+ CC max_record.lo
+ CC cert_type.lo
+ CC server_name.lo
+ CC signature.lo
+ CC safe_renegotiation.lo
+ CC session_ticket.lo
+ CC srp.lo
+ CC ecc.lo
+ CC heartbeat.lo
+ CC status_request.lo
+ CC dumbfw.lo
+ CC ext_master_secret.lo
+ CC etm.lo
+ CC alpn.lo
+ CC srtp.lo
+ CCLD libgnutls_ext.la
+ar: `u' modifier ignored since `D' is the default (see `U')
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/ext'
+Making all in algorithms
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/algorithms'
+ CC cert_types.lo
+ CC ciphers.lo
+ CC ciphersuites.lo
+ CC ecc.lo
+ CC kx.lo
+ CC mac.lo
+ CC protocols.lo
+ CC publickey.lo
+ CC secparams.lo
+ CC sign.lo
+ CCLD libgnutls_alg.la
+ar: `u' modifier ignored since `D' is the default (see `U')
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/algorithms'
+Making all in extras
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/extras'
+ CC randomart.lo
+ CCLD libgnutls_extras.la
+ar: `u' modifier ignored since `D' is the default (see `U')
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/extras'
+Making all in accelerated
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/accelerated'
+Making all in x86
+make[6]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/accelerated/x86'
+ CC x86-common.lo
+ CC sha-x86-ssse3.lo
+ CC hmac-x86-ssse3.lo
+ CC aes-gcm-x86-ssse3.lo
+ CC aes-gcm-x86-aesni.lo
+ CC aes-cbc-x86-ssse3.lo
+ CC aes-cbc-x86-aesni.lo
+ CC aes-ccm-x86-aesni.lo
+ CC sha-padlock.lo
+ CC hmac-padlock.lo
+ CC aes-padlock.lo
+ CC aes-gcm-padlock.lo
+ CC aes-gcm-x86-pclmul.lo
+ CCAS elf/aesni-x86_64.lo
+ CCAS elf/cpuid-x86_64.lo
+ CCAS elf/ghash-x86_64.lo
+ CCAS elf/sha1-ssse3-x86_64.lo
+ CCAS elf/sha512-ssse3-x86_64.lo
+ CCAS elf/aes-ssse3-x86_64.lo
+ CCAS elf/e_padlock-x86_64.lo
+ CCLD libx86.la
+ar: `u' modifier ignored since `D' is the default (see `U')
+make[6]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/accelerated/x86'
+make[6]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/accelerated'
+ CC accelerated.lo
+ CC cryptodev.lo
+ CC cryptodev-gcm.lo
+ CCLD libaccelerated.la
+ar: `u' modifier ignored since `D' is the default (see `U')
+make[6]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/accelerated'
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/accelerated'
+Making all in minitasn1
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/minitasn1'
+ CC decoding.lo
+ CC gstr.lo
+ CC errors.lo
+ CC parser_aux.lo
+ CC structure.lo
+ CC element.lo
+ CC coding.lo
+ CC version.lo
+ CCLD libminitasn1.la
+ar: `u' modifier ignored since `D' is the default (see `U')
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/minitasn1'
+Making all in opencdk
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/opencdk'
+ CC armor.lo
+ CC kbnode.lo
+ CC sig-check.lo
+ CC keydb.lo
+ CC pubkey.lo
+ CC stream.lo
+ CC write-packet.lo
+ CC misc.lo
+ CC seskey.lo
+ CC literal.lo
+ CC new-packet.lo
+ CC read-packet.lo
+ CCLD libminiopencdk.la
+ar: `u' modifier ignored since `D' is the default (see `U')
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/opencdk'
+Making all in openpgp
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/openpgp'
+ CC pgp.lo
+ CC pgpverify.lo
+ CC extras.lo
+ CC compat.lo
+ CC privkey.lo
+ CC output.lo
+ CC gnutls_openpgp.lo
+ CCLD libgnutls_openpgp.la
+ar: `u' modifier ignored since `D' is the default (see `U')
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/openpgp'
+Making all in nettle
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/nettle'
+ CC pk.lo
+ CC mpi.lo
+ CC mac.lo
+ CC cipher.lo
+ CC init.lo
+ CC egd.lo
+ CC rnd-common.lo
+ CC rnd.lo
+ CCLD libcrypto.la
+ar: `u' modifier ignored since `D' is the default (see `U')
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/nettle'
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib'
+ CC gnutls_range.lo
+ CC gnutls_record.lo
+ CC gnutls_compress.lo
+ CC debug.lo
+ CC gnutls_cipher.lo
+ CC gnutls_mbuffers.lo
+ CC gnutls_buffers.lo
+ CC gnutls_handshake.lo
+ CC gnutls_num.lo
+ CC gnutls_errors.lo
+ CC gnutls_dh.lo
+ CC gnutls_kx.lo
+ CC gnutls_priority.lo
+ CC gnutls_hash_int.lo
+ CC gnutls_cipher_int.lo
+ CC gnutls_session.lo
+ CC gnutls_db.lo
+ CC x509_b64.lo
+ CC gnutls_extensions.lo
+ CC gnutls_auth.lo
+ CC gnutls_v2_compat.lo
+ CC gnutls_datum.lo
+ CC gnutls_session_pack.lo
+ CC gnutls_mpi.lo
+ CC gnutls_pk.lo
+ CC gnutls_cert.lo
+ CC gnutls_global.lo
+ CC gnutls_constate.lo
+ CC gnutls_anon_cred.lo
+ CC pkix_asn1_tab.lo
+ CC gnutls_asn1_tab.lo
+ CC gnutls_mem.lo
+ CC gnutls_ui.lo
+ CC vasprintf.lo
+ CC gnutls_sig.lo
+ CC gnutls_ecc.lo
+ CC gnutls_alert.lo
+ CC gnutls_privkey_raw.lo
+ CC system.lo
+ CC inet_ntop.lo
+ CC gnutls_str.lo
+ CC gnutls_state.lo
+ CC gnutls_x509.lo
+ CC gnutls_helper.lo
+ CC gnutls_supplemental.lo
+ CC random.lo
+ CC crypto-api.lo
+ CC gnutls_privkey.lo
+ CC gnutls_pcert.lo
+ CC gnutls_pubkey.lo
+ CC locks.lo
+ CC gnutls_dtls.lo
+ CC system_override.lo
+ CC crypto-backend.lo
+ CC verify-tofu.lo
+ CC pin.lo
+ CC tpm.lo
+ CC fips.lo
+ CC safe-memfuncs.lo
+ CC inet_pton.lo
+ CC atfork.lo
+ CC urls.lo
+ CC system-keys-dummy.lo
+ CC gnutls_srp.lo
+ CC gnutls_psk.lo
+ CCLD libgnutls.la
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib'
+make[3]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib'
+Making all in extra
+make[3]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/extra'
+Making all in includes
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/extra/includes'
+make[4]: Nothing to be done for 'all'.
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/extra/includes'
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/extra'
+make[4]: Nothing to be done for 'all-am'.
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/extra'
+make[3]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/extra'
+Making all in po
+make[3]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/po'
+make[3]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/po'
+Making all in src/gl
+make[3]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/src/gl'
+ GEN alloca.h
+ GEN c++defs.h
+ GEN warn-on-use.h
+ GEN arg-nonnull.h
+ GEN arpa/inet.h
+ GEN netdb.h
+ GEN signal.h
+ GEN stdio.h
+ GEN stdlib.h
+ GEN string.h
+ GEN sys/select.h
+ GEN sys/socket.h
+ GEN sys/stat.h
+ GEN sys/time.h
+ GEN sys/types.h
+ GEN sys/uio.h
+ GEN time.h
+ GEN unistd.h
+ GEN wchar.h
+make all-recursive
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/src/gl'
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/src/gl'
+ CC c-ctype.lo
+ CC exitfail.lo
+ CC fd-hook.lo
+ CC gettime.lo
+ CC malloca.lo
+ CC parse-datetime.lo
+ CC progname.lo
+ CC read-file.lo
+ CC sockets.lo
+ CC sys_socket.lo
+ CC timespec.lo
+ CC unistd.lo
+ CC xmalloc.lo
+ CC xalloc-die.lo
+ CC xsize.lo
+ CC asnprintf.lo
+ CC printf-args.lo
+ CC printf-parse.lo
+ CC vasnprintf.lo
+ CCLD libgnu_gpl.la
+ar: `u' modifier ignored since `D' is the default (see `U')
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/src/gl'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/src/gl'
+make[3]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/src/gl'
+make[3]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1'
+make[3]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1'
+make[2]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1'
+make[1]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1'
+make[1]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1'
+Making install in gl
+make[2]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/gl'
+make install-recursive
+make[3]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/gl'
+Making install in tests
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/gl/tests'
+make install-recursive
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/gl/tests'
+Making install in .
+make[6]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/gl/tests'
+make[7]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/gl/tests'
+make[7]: Nothing to be done for 'install-exec-am'.
+make[7]: Nothing to be done for 'install-data-am'.
+make[7]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/gl/tests'
+make[6]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/gl/tests'
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/gl/tests'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/gl/tests'
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/gl'
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/gl'
+make[5]: Nothing to be done for 'install-exec-am'.
+make[5]: Nothing to be done for 'install-data-am'.
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/gl'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/gl'
+make[3]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/gl'
+make[2]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/gl'
+Making install in lib
+make[2]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib'
+make install-recursive
+make[3]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib'
+Making install in includes
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/includes'
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/includes'
+make[5]: Nothing to be done for 'install-exec-am'.
+ /bin/mkdir -p '/home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.1/include'
+ /bin/mkdir -p '/home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.1/include/gnutls'
+ /usr/bin/install -c -m 644 gnutls/x509.h gnutls/pkcs12.h gnutls/compat.h gnutls/openpgp.h gnutls/crypto.h gnutls/pkcs11.h gnutls/abstract.h gnutls/dtls.h gnutls/ocsp.h gnutls/tpm.h gnutls/x509-ext.h gnutls/self-test.h gnutls/system-keys.h gnutls/urls.h '/home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.1/include/gnutls'
+ /bin/mkdir -p '/home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.1/include'
+ /bin/mkdir -p '/home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.1/include/gnutls'
+ /usr/bin/install -c -m 644 gnutls/gnutls.h '/home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.1/include/gnutls'
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/includes'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/includes'
+Making install in x509
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/x509'
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/x509'
+make[5]: Nothing to be done for 'install-exec-am'.
+make[5]: Nothing to be done for 'install-data-am'.
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/x509'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/x509'
+Making install in auth
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/auth'
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/auth'
+make[5]: Nothing to be done for 'install-exec-am'.
+make[5]: Nothing to be done for 'install-data-am'.
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/auth'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/auth'
+Making install in ext
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/ext'
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/ext'
+make[5]: Nothing to be done for 'install-exec-am'.
+make[5]: Nothing to be done for 'install-data-am'.
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/ext'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/ext'
+Making install in algorithms
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/algorithms'
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/algorithms'
+make[5]: Nothing to be done for 'install-exec-am'.
+make[5]: Nothing to be done for 'install-data-am'.
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/algorithms'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/algorithms'
+Making install in extras
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/extras'
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/extras'
+make[5]: Nothing to be done for 'install-exec-am'.
+make[5]: Nothing to be done for 'install-data-am'.
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/extras'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/extras'
+Making install in accelerated
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/accelerated'
+Making install in x86
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/accelerated/x86'
+make[6]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/accelerated/x86'
+make[6]: Nothing to be done for 'install-exec-am'.
+make[6]: Nothing to be done for 'install-data-am'.
+make[6]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/accelerated/x86'
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/accelerated/x86'
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/accelerated'
+make[6]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/accelerated'
+make[6]: Nothing to be done for 'install-exec-am'.
+make[6]: Nothing to be done for 'install-data-am'.
+make[6]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/accelerated'
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/accelerated'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/accelerated'
+Making install in minitasn1
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/minitasn1'
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/minitasn1'
+make[5]: Nothing to be done for 'install-exec-am'.
+make[5]: Nothing to be done for 'install-data-am'.
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/minitasn1'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/minitasn1'
+Making install in opencdk
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/opencdk'
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/opencdk'
+make[5]: Nothing to be done for 'install-exec-am'.
+make[5]: Nothing to be done for 'install-data-am'.
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/opencdk'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/opencdk'
+Making install in openpgp
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/openpgp'
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/openpgp'
+make[5]: Nothing to be done for 'install-exec-am'.
+make[5]: Nothing to be done for 'install-data-am'.
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/openpgp'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/openpgp'
+Making install in nettle
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/nettle'
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/nettle'
+make[5]: Nothing to be done for 'install-exec-am'.
+make[5]: Nothing to be done for 'install-data-am'.
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/nettle'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib/nettle'
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib'
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib'
+ /bin/mkdir -p '/home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.1/lib'
+ /bin/bash ../libtool --mode=install /usr/bin/install -c libgnutls.la '/home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.1/lib'
+libtool: install: /usr/bin/install -c .libs/libgnutls.so.30.0.1 /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.1/lib/libgnutls.so.30.0.1
+libtool: install: (cd /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.1/lib && { ln -s -f libgnutls.so.30.0.1 libgnutls.so.30 || { rm -f libgnutls.so.30 && ln -s libgnutls.so.30.0.1 libgnutls.so.30; }; })
+libtool: install: (cd /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.1/lib && { ln -s -f libgnutls.so.30.0.1 libgnutls.so || { rm -f libgnutls.so && ln -s libgnutls.so.30.0.1 libgnutls.so; }; })
+libtool: install: /usr/bin/install -c .libs/libgnutls.lai /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.1/lib/libgnutls.la
+libtool: finish: PATH="/home/nmav/perl5/bin:/opt/open64-5.0/bin:/home/nmav/cvs/gnulib:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/nmav/android/adt-bundle-linux-x86_64-20130917/sdk/tools:/sbin" ldconfig -n /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.1/lib
+----------------------------------------------------------------------
+Libraries have been installed in:
+ /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.1/lib
+
+If you ever happen to want to link against installed libraries
+in a given directory, LIBDIR, you must either use libtool, and
+specify the full pathname of the library, or use the `-LLIBDIR'
+flag during linking and do at least one of the following:
+ - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
+ during execution
+ - add LIBDIR to the `LD_RUN_PATH' environment variable
+ during linking
+ - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
+ - have your system administrator add LIBDIR to `/etc/ld.so.conf'
+
+See any operating system documentation about shared libraries for
+more information, such as the ld(1) and ld.so(8) manual pages.
+----------------------------------------------------------------------
+ /bin/mkdir -p '/home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.1/lib/pkgconfig'
+ /usr/bin/install -c -m 644 gnutls.pc '/home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.1/lib/pkgconfig'
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib'
+make[3]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib'
+make[2]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/lib'
+Making install in extra
+make[2]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/extra'
+Making install in includes
+make[3]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/extra/includes'
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/extra/includes'
+make[4]: Nothing to be done for 'install-exec-am'.
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/extra/includes'
+make[3]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/extra/includes'
+make[3]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/extra'
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/extra'
+make[4]: Nothing to be done for 'install-data-am'.
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/extra'
+make[3]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/extra'
+make[2]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/extra'
+Making install in po
+make[2]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/po'
+installing en@boldquot.gmo as /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.1/share/locale/en@boldquot/LC_MESSAGES/gnutls.mo
+installing en@quot.gmo as /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.1/share/locale/en@quot/LC_MESSAGES/gnutls.mo
+installing cs.gmo as /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.1/share/locale/cs/LC_MESSAGES/gnutls.mo
+installing de.gmo as /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.1/share/locale/de/LC_MESSAGES/gnutls.mo
+installing eo.gmo as /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.1/share/locale/eo/LC_MESSAGES/gnutls.mo
+installing fi.gmo as /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.1/share/locale/fi/LC_MESSAGES/gnutls.mo
+installing fr.gmo as /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.1/share/locale/fr/LC_MESSAGES/gnutls.mo
+installing it.gmo as /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.1/share/locale/it/LC_MESSAGES/gnutls.mo
+installing ms.gmo as /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.1/share/locale/ms/LC_MESSAGES/gnutls.mo
+installing nl.gmo as /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.1/share/locale/nl/LC_MESSAGES/gnutls.mo
+installing pl.gmo as /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.1/share/locale/pl/LC_MESSAGES/gnutls.mo
+installing sv.gmo as /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.1/share/locale/sv/LC_MESSAGES/gnutls.mo
+installing uk.gmo as /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.1/share/locale/uk/LC_MESSAGES/gnutls.mo
+installing vi.gmo as /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.1/share/locale/vi/LC_MESSAGES/gnutls.mo
+installing zh_CN.gmo as /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.1/share/locale/zh_CN/LC_MESSAGES/gnutls.mo
+if test "gnutls" = "gettext-tools"; then \
+ /bin/mkdir -p /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.1/share/gettext/po; \
+ for file in Makefile.in.in remove-potcdate.sin quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot Makevars.template; do \
+ /usr/bin/install -c -m 644 ./$file \
+ /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.1/share/gettext/po/$file; \
+ done; \
+ for file in Makevars; do \
+ rm -f /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.1/share/gettext/po/$file; \
+ done; \
+else \
+ : ; \
+fi
+make[2]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/po'
+Making install in src/gl
+make[2]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/src/gl'
+make install-recursive
+make[3]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/src/gl'
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/src/gl'
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/src/gl'
+make[5]: Nothing to be done for 'install-exec-am'.
+make[5]: Nothing to be done for 'install-data-am'.
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/src/gl'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/src/gl'
+make[3]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/src/gl'
+make[2]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1/src/gl'
+make[2]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1'
+make[3]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1'
+make[3]: Nothing to be done for 'install-exec-am'.
+make[3]: Nothing to be done for 'install-data-am'.
+make[3]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1'
+make[2]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1'
+make[1]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.1'
diff --git a/abi-tracker/build_logs/gnutls/3.4.10/build b/abi-tracker/build_logs/gnutls/3.4.10/build
new file mode 100644
index 0000000000..588d7c04e6
--- /dev/null
+++ b/abi-tracker/build_logs/gnutls/3.4.10/build
@@ -0,0 +1,1750 @@
+checking build system type... x86_64-unknown-linux-gnu
+checking host system type... x86_64-unknown-linux-gnu
+checking for a BSD-compatible install... /usr/bin/install -c
+checking whether build environment is sane... yes
+checking for a thread-safe mkdir -p... /bin/mkdir -p
+checking for gawk... gawk
+checking whether make sets $(MAKE)... yes
+checking whether make supports nested variables... yes
+checking whether make supports nested variables... (cached) yes
+***
+*** Checking for compilation programs...
+
+checking for pkg-config... /usr/bin/pkg-config
+checking pkg-config is at least version 0.9.0... yes
+checking for gcc... gcc
+checking whether the C compiler works... yes
+checking for C compiler default output file name... a.out
+checking for suffix of executables...
+checking whether we are cross compiling... no
+checking for suffix of object files... o
+checking whether we are using the GNU C compiler... yes
+checking whether gcc accepts -g... yes
+checking for gcc option to accept ISO C89... none needed
+checking whether gcc understands -c and -o together... yes
+checking for style of include used by make... GNU
+checking dependency style of gcc... gcc3
+checking how to run the C preprocessor... gcc -E
+checking for grep that handles long lines and -e... /bin/grep
+checking for egrep... /bin/grep -E
+checking for Minix Amsterdam compiler... no
+checking for ar... ar
+checking for ranlib... ranlib
+checking for ANSI C header files... yes
+checking for sys/types.h... yes
+checking for sys/stat.h... yes
+checking for stdlib.h... yes
+checking for string.h... yes
+checking for memory.h... yes
+checking for strings.h... yes
+checking for inttypes.h... yes
+checking for stdint.h... yes
+checking for unistd.h... yes
+checking minix/config.h usability... no
+checking minix/config.h presence... no
+checking for minix/config.h... no
+checking whether it is safe to define __EXTENSIONS__... yes
+checking whether _XOPEN_SOURCE should be defined... no
+checking for _LARGEFILE_SOURCE value needed for large files... no
+checking for special C compiler options needed for large files... no
+checking for _FILE_OFFSET_BITS value needed for large files... no
+checking dependency style of gcc... gcc3
+checking the archiver (ar) interface... ar
+checking for g++... g++
+checking whether we are using the GNU C++ compiler... yes
+checking whether g++ accepts -g... yes
+checking dependency style of g++... gcc3
+checking for bison... bison -y
+checking for a sed that does not truncate output... /bin/sed
+checking for inline... inline
+checking for ANSI C header files... (cached) yes
+checking cpuid.h usability... yes
+checking cpuid.h presence... yes
+checking for cpuid.h... yes
+checking for getrandom... no
+checking for getentropy... no
+checking for NETTLE... yes
+checking for HOGWEED... yes
+checking for __gmpz_cmp in -lgmp... yes
+checking whether to use the included minitasn1... yes
+checking whether C99 macros are supported... yes
+checking whether to disable DTLS-SRTP extension... no
+checking whether to disable ALPN extension... no
+checking whether to disable TLS heartbeat support... yes
+checking whether to disable SRP authentication support... no
+checking whether to disable PSK authentication support... no
+checking whether to disable anonymous authentication support... no
+checking whether to disable DHE support... no
+checking whether to disable ECDHE support... no
+checking whether to disable OpenPGP Certificate authentication support... no
+checking whether to add cryptodev support... no
+checking whether to disable OCSP support... no
+checking whether to disable session tickets support... no
+checking size of void *... 8
+checking size of long long... 8
+checking size of long... 8
+checking size of int... 4
+checking sys/socket.h usability... yes
+checking sys/socket.h presence... yes
+checking for sys/socket.h... yes
+checking for sys/stat.h... (cached) yes
+checking sys/time.h usability... yes
+checking sys/time.h presence... yes
+checking for sys/time.h... yes
+checking for unistd.h... (cached) yes
+checking sys/mman.h usability... yes
+checking sys/mman.h presence... yes
+checking for sys/mman.h... yes
+checking netdb.h usability... yes
+checking netdb.h presence... yes
+checking for netdb.h... yes
+checking netinet/in.h usability... yes
+checking netinet/in.h presence... yes
+checking for netinet/in.h... yes
+checking wchar.h usability... yes
+checking wchar.h presence... yes
+checking for wchar.h... yes
+checking for stdint.h... (cached) yes
+checking for strings.h... (cached) yes
+checking sys/uio.h usability... yes
+checking sys/uio.h presence... yes
+checking for sys/uio.h... yes
+checking features.h usability... yes
+checking features.h presence... yes
+checking for features.h... yes
+checking for inttypes.h... (cached) yes
+checking arpa/inet.h usability... yes
+checking arpa/inet.h presence... yes
+checking for arpa/inet.h... yes
+checking stdio_ext.h usability... yes
+checking stdio_ext.h presence... yes
+checking for stdio_ext.h... yes
+checking termios.h usability... yes
+checking termios.h presence... yes
+checking for termios.h... yes
+checking sys/select.h usability... yes
+checking sys/select.h presence... yes
+checking for sys/select.h... yes
+checking for library containing setsockopt... none needed
+checking whether to build OpenSSL compatibility layer... no
+checking for gtkdoc-check... /usr/bin/gtkdoc-check
+checking for gtkdoc-rebase... /usr/bin/gtkdoc-rebase
+checking for gtkdoc-mkpdf... /usr/bin/gtkdoc-mkpdf
+checking whether to build gtk-doc documentation... no
+checking whether NLS is requested... yes
+checking for msgfmt... /usr/bin/msgfmt
+checking for gmsgfmt... /usr/bin/msgfmt
+checking for xgettext... /usr/bin/xgettext
+checking for msgmerge... /usr/bin/msgmerge
+checking for ld used by GCC... /usr/bin/ld
+checking if the linker (/usr/bin/ld) is GNU ld... yes
+checking for shared library run path origin... done
+checking for CFPreferencesCopyAppValue... no
+checking for CFLocaleCopyCurrent... no
+checking for GNU gettext in libc... yes
+checking whether to use NLS... yes
+checking where the gettext function comes from... libc
+checking whether byte ordering is bigendian... no
+checking for fork... yes
+checking for inet_ntop... yes
+checking for inet_pton... yes
+checking for getrusage... yes
+checking for getpwuid_r... yes
+checking for nanosleep... yes
+checking for daemon... yes
+checking for getpid... yes
+checking for clock_gettime... yes
+checking for iconv... yes
+checking for localtime... yes
+checking for vasprintf... yes
+checking for __register_atfork... yes
+checking for librt... yes
+checking how to link with librt... -lrt
+checking for pthread_mutex_lock... yes
+checking for size_t... yes
+checking for working alloca.h... yes
+checking for alloca... yes
+checking for C/C++ restrict keyword... __restrict
+checking whether the preprocessor supports include_next... yes
+checking whether system header files limit the line length... no
+checking for complete errno.h... yes
+checking for _set_invalid_parameter_handler... no
+checking for getdelim... yes
+checking for gettimeofday... yes
+checking for mprotect... yes
+checking for snprintf... yes
+checking for strndup... yes
+checking for localtime_r... yes
+checking for vasnprintf... no
+checking for shutdown... yes
+checking for __fsetlocking... yes
+checking for tcgetattr... yes
+checking for tcsetattr... yes
+checking for nanotime... no
+checking for setenv... yes
+checking for strdup... yes
+checking whether stat file-mode macros are broken... no
+checking for mode_t... yes
+checking for nlink_t... yes
+checking whether fchmodat is declared without a macro... yes
+checking whether fstat is declared without a macro... yes
+checking whether fstatat is declared without a macro... yes
+checking whether futimens is declared without a macro... yes
+checking whether lchmod is declared without a macro... yes
+checking whether lstat is declared without a macro... yes
+checking whether mkdirat is declared without a macro... yes
+checking whether mkfifo is declared without a macro... yes
+checking whether mkfifoat is declared without a macro... yes
+checking whether mknod is declared without a macro... yes
+checking whether mknodat is declared without a macro... yes
+checking whether stat is declared without a macro... yes
+checking whether utimensat is declared without a macro... yes
+checking whether stdin defaults to large file offsets... yes
+checking for pid_t... yes
+checking whether ftello is declared... yes
+checking for ftello... yes
+checking whether ftello works... yes
+checking whether getdelim is declared... yes
+checking whether getline is declared... yes
+checking for struct timeval... yes
+checking for wide-enough struct timeval.tv_sec member... yes
+checking whether gettimeofday is declared without a macro... yes
+checking whether malloc, realloc, calloc are POSIX compliant... yes
+checking for mmap... yes
+checking for MAP_ANONYMOUS... yes
+checking whether memchr works... yes
+checking whether memmem is declared... yes
+checking whether <limits.h> defines MIN and MAX... no
+checking whether <sys/param.h> defines MIN and MAX... yes
+checking whether snprintf returns a byte count as in C99... yes
+checking whether snprintf is declared... yes
+checking for stdbool.h that conforms to C99... yes
+checking for _Bool... yes
+checking for wchar_t... yes
+checking for long long int... yes
+checking for unsigned long long int... yes
+checking whether stdint.h conforms to C99... yes
+checking whether ffsl is declared without a macro... yes
+checking whether ffsll is declared without a macro... yes
+checking whether memmem is declared without a macro... yes
+checking whether mempcpy is declared without a macro... yes
+checking whether memrchr is declared without a macro... yes
+checking whether rawmemchr is declared without a macro... yes
+checking whether stpcpy is declared without a macro... yes
+checking whether stpncpy is declared without a macro... yes
+checking whether strchrnul is declared without a macro... yes
+checking whether strdup is declared without a macro... yes
+checking whether strncat is declared without a macro... yes
+checking whether strndup is declared without a macro... yes
+checking whether strnlen is declared without a macro... yes
+checking whether strpbrk is declared without a macro... yes
+checking whether strsep is declared without a macro... yes
+checking whether strcasestr is declared without a macro... yes
+checking whether strtok_r is declared without a macro... yes
+checking whether strerror_r is declared without a macro... yes
+checking whether strsignal is declared without a macro... yes
+checking whether strverscmp is declared without a macro... yes
+checking whether ffs is declared without a macro... yes
+checking whether strcasecmp is declared without a macro... yes
+checking whether strncasecmp is declared without a macro... yes
+checking whether strndup is declared... (cached) yes
+checking whether strnlen is declared... (cached) yes
+checking whether strtok_r is declared... (cached) yes
+checking whether <sys/socket.h> is self-contained... yes
+checking for shutdown... (cached) yes
+checking whether <sys/socket.h> defines the SHUT_* macros... yes
+checking for struct sockaddr_storage... yes
+checking for sa_family_t... yes
+checking for struct sockaddr_storage.ss_family... yes
+checking whether socket is declared without a macro... yes
+checking whether connect is declared without a macro... yes
+checking whether accept is declared without a macro... yes
+checking whether bind is declared without a macro... yes
+checking whether getpeername is declared without a macro... yes
+checking whether getsockname is declared without a macro... yes
+checking whether getsockopt is declared without a macro... yes
+checking whether listen is declared without a macro... yes
+checking whether recv is declared without a macro... yes
+checking whether send is declared without a macro... yes
+checking whether recvfrom is declared without a macro... yes
+checking whether sendto is declared without a macro... yes
+checking whether setsockopt is declared without a macro... yes
+checking whether shutdown is declared without a macro... yes
+checking whether accept4 is declared without a macro... yes
+checking for struct timespec in <time.h>... yes
+checking for wint_t... yes
+checking for inttypes.h... yes
+checking for stdint.h... yes
+checking for intmax_t... yes
+checking where to find the exponent in a 'double'... word 1 bit 20
+checking for snprintf... (cached) yes
+checking for strnlen... yes
+checking for wcslen... yes
+checking for wcsnlen... yes
+checking for mbrtowc... yes
+checking for wcrtomb... yes
+checking whether _snprintf is declared... no
+checking whether vsnprintf is declared... yes
+checking whether <wchar.h> uses 'inline' correctly... yes
+checking for working fcntl.h... yes
+checking whether ungetc works on arbitrary bytes... yes
+checking whether imaxabs is declared without a macro... yes
+checking whether imaxdiv is declared without a macro... yes
+checking whether strtoimax is declared without a macro... yes
+checking whether strtoumax is declared without a macro... yes
+checking for inttypes.h... (cached) yes
+checking whether the inttypes.h PRIxNN macros are broken... no
+checking for alloca as a compiler built-in... yes
+checking byteswap.h usability... yes
+checking byteswap.h presence... yes
+checking for byteswap.h... yes
+checking whether conversion from 'int' to 'long double' works... yes
+checking for ftello... (cached) yes
+checking whether ftello works... (cached) yes
+checking whether __func__ is available... yes
+checking for working getdelim function... yes
+checking for getline... yes
+checking for working getline function... yes
+checking whether gettimeofday clobbers localtime buffer... no
+checking for gettimeofday with POSIX signature... almost
+checking for iconv... yes
+checking for working iconv... yes
+checking for iconv declaration...
+ extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
+checking if gcc/ld supports -Wl,--output-def... no
+checking if LD -Wl,--version-script works... yes
+checking whether lseek detects pipes... yes
+checking for memmem... yes
+checking whether memmem works... yes
+checking whether getaddrinfo is declared without a macro... yes
+checking whether freeaddrinfo is declared without a macro... yes
+checking whether gai_strerror is declared without a macro... yes
+checking whether getnameinfo is declared without a macro... yes
+checking whether <netinet/in.h> is self-contained... yes
+checking for pmccabe... false
+checking for stdint.h... (cached) yes
+checking for SIZE_MAX... yes
+checking for snprintf... (cached) yes
+checking whether snprintf respects a size of 1... yes
+checking whether printf supports POSIX/XSI format strings with positions... yes
+checking for socklen_t... yes
+checking for ssize_t... yes
+checking for working stdalign.h... yes
+checking for max_align_t... yes
+checking whether NULL can be used in arbitrary expressions... yes
+checking which flavor of printf attribute matches inttypes macros... system
+checking whether dprintf is declared without a macro... yes
+checking whether fpurge is declared without a macro... no
+checking whether fseeko is declared without a macro... yes
+checking whether ftello is declared without a macro... yes
+checking whether getdelim is declared without a macro... yes
+checking whether getline is declared without a macro... yes
+checking whether gets is declared without a macro... no
+checking whether pclose is declared without a macro... yes
+checking whether popen is declared without a macro... yes
+checking whether renameat is declared without a macro... yes
+checking whether snprintf is declared without a macro... yes
+checking whether tmpfile is declared without a macro... yes
+checking whether vdprintf is declared without a macro... yes
+checking whether vsnprintf is declared without a macro... yes
+checking whether _Exit is declared without a macro... yes
+checking whether atoll is declared without a macro... yes
+checking whether canonicalize_file_name is declared without a macro... yes
+checking whether getloadavg is declared without a macro... yes
+checking whether getsubopt is declared without a macro... yes
+checking whether grantpt is declared without a macro... yes
+checking whether initstate is declared without a macro... yes
+checking whether initstate_r is declared without a macro... yes
+checking whether mkdtemp is declared without a macro... yes
+checking whether mkostemp is declared without a macro... yes
+checking whether mkostemps is declared without a macro... yes
+checking whether mkstemp is declared without a macro... yes
+checking whether mkstemps is declared without a macro... yes
+checking whether posix_openpt is declared without a macro... yes
+checking whether ptsname is declared without a macro... yes
+checking whether ptsname_r is declared without a macro... yes
+checking whether random is declared without a macro... yes
+checking whether random_r is declared without a macro... yes
+checking whether realpath is declared without a macro... yes
+checking whether rpmatch is declared without a macro... yes
+checking whether secure_getenv is declared without a macro... yes
+checking whether setenv is declared without a macro... yes
+checking whether setstate is declared without a macro... yes
+checking whether setstate_r is declared without a macro... yes
+checking whether srandom is declared without a macro... yes
+checking whether srandom_r is declared without a macro... yes
+checking whether strtod is declared without a macro... yes
+checking whether strtoll is declared without a macro... yes
+checking whether strtoull is declared without a macro... yes
+checking whether unlockpt is declared without a macro... yes
+checking whether unsetenv is declared without a macro... yes
+checking for strcasecmp... yes
+checking for strncasecmp... yes
+checking whether strncasecmp is declared... (cached) yes
+checking for working strndup... yes
+checking for working strnlen... yes
+checking for strtok_r... yes
+checking whether strtok_r works... yes
+checking for strverscmp... yes
+checking for nlink_t... (cached) yes
+checking whether fchmodat is declared without a macro... (cached) yes
+checking whether fstat is declared without a macro... (cached) yes
+checking whether fstatat is declared without a macro... (cached) yes
+checking whether futimens is declared without a macro... (cached) yes
+checking whether lchmod is declared without a macro... (cached) yes
+checking whether lstat is declared without a macro... (cached) yes
+checking whether mkdirat is declared without a macro... (cached) yes
+checking whether mkfifo is declared without a macro... (cached) yes
+checking whether mkfifoat is declared without a macro... (cached) yes
+checking whether mknod is declared without a macro... (cached) yes
+checking whether mknodat is declared without a macro... (cached) yes
+checking whether stat is declared without a macro... (cached) yes
+checking whether utimensat is declared without a macro... (cached) yes
+checking whether localtime_r is declared... yes
+checking whether localtime_r is compatible with its POSIX signature... yes
+checking whether chdir is declared without a macro... yes
+checking whether chown is declared without a macro... yes
+checking whether dup is declared without a macro... yes
+checking whether dup2 is declared without a macro... yes
+checking whether dup3 is declared without a macro... yes
+checking whether environ is declared without a macro... yes
+checking whether euidaccess is declared without a macro... yes
+checking whether faccessat is declared without a macro... yes
+checking whether fchdir is declared without a macro... yes
+checking whether fchownat is declared without a macro... yes
+checking whether fdatasync is declared without a macro... yes
+checking whether fsync is declared without a macro... yes
+checking whether ftruncate is declared without a macro... yes
+checking whether getcwd is declared without a macro... yes
+checking whether getdomainname is declared without a macro... yes
+checking whether getdtablesize is declared without a macro... yes
+checking whether getgroups is declared without a macro... yes
+checking whether gethostname is declared without a macro... yes
+checking whether getlogin is declared without a macro... yes
+checking whether getlogin_r is declared without a macro... yes
+checking whether getpagesize is declared without a macro... yes
+checking whether getusershell is declared without a macro... yes
+checking whether setusershell is declared without a macro... yes
+checking whether endusershell is declared without a macro... yes
+checking whether group_member is declared without a macro... yes
+checking whether isatty is declared without a macro... yes
+checking whether lchown is declared without a macro... yes
+checking whether link is declared without a macro... yes
+checking whether linkat is declared without a macro... yes
+checking whether lseek is declared without a macro... yes
+checking whether pipe is declared without a macro... yes
+checking whether pipe2 is declared without a macro... yes
+checking whether pread is declared without a macro... yes
+checking whether pwrite is declared without a macro... yes
+checking whether readlink is declared without a macro... yes
+checking whether readlinkat is declared without a macro... yes
+checking whether rmdir is declared without a macro... yes
+checking whether sethostname is declared without a macro... yes
+checking whether sleep is declared without a macro... yes
+checking whether symlink is declared without a macro... yes
+checking whether symlinkat is declared without a macro... yes
+checking whether ttyname_r is declared without a macro... yes
+checking whether unlink is declared without a macro... yes
+checking whether unlinkat is declared without a macro... yes
+checking whether usleep is declared without a macro... yes
+checking for valgrind... valgrind
+checking whether self tests are run under valgrind... yes
+checking for ptrdiff_t... yes
+checking for vasprintf... (cached) yes
+checking for vsnprintf... yes
+checking whether snprintf respects a size of 1... (cached) yes
+checking whether printf supports POSIX/XSI format strings with positions... (cached) yes
+checking whether btowc is declared without a macro... yes
+checking whether wctob is declared without a macro... yes
+checking whether mbsinit is declared without a macro... yes
+checking whether mbrtowc is declared without a macro... yes
+checking whether mbrlen is declared without a macro... yes
+checking whether mbsrtowcs is declared without a macro... yes
+checking whether mbsnrtowcs is declared without a macro... yes
+checking whether wcrtomb is declared without a macro... yes
+checking whether wcsrtombs is declared without a macro... yes
+checking whether wcsnrtombs is declared without a macro... yes
+checking whether wcwidth is declared without a macro... yes
+checking whether wmemchr is declared without a macro... yes
+checking whether wmemcmp is declared without a macro... yes
+checking whether wmemcpy is declared without a macro... yes
+checking whether wmemmove is declared without a macro... yes
+checking whether wmemset is declared without a macro... yes
+checking whether wcslen is declared without a macro... yes
+checking whether wcsnlen is declared without a macro... yes
+checking whether wcscpy is declared without a macro... yes
+checking whether wcpcpy is declared without a macro... yes
+checking whether wcsncpy is declared without a macro... yes
+checking whether wcpncpy is declared without a macro... yes
+checking whether wcscat is declared without a macro... yes
+checking whether wcsncat is declared without a macro... yes
+checking whether wcscmp is declared without a macro... yes
+checking whether wcsncmp is declared without a macro... yes
+checking whether wcscasecmp is declared without a macro... yes
+checking whether wcsncasecmp is declared without a macro... yes
+checking whether wcscoll is declared without a macro... yes
+checking whether wcsxfrm is declared without a macro... yes
+checking whether wcsdup is declared without a macro... yes
+checking whether wcschr is declared without a macro... yes
+checking whether wcsrchr is declared without a macro... yes
+checking whether wcscspn is declared without a macro... yes
+checking whether wcsspn is declared without a macro... yes
+checking whether wcspbrk is declared without a macro... yes
+checking whether wcsstr is declared without a macro... yes
+checking whether wcstok is declared without a macro... yes
+checking whether wcswidth is declared without a macro... yes
+checking for stdint.h... (cached) yes
+checking whether fcntl is declared without a macro... yes
+checking whether openat is declared without a macro... yes
+checking whether fdopen sets errno... yes
+checking for getpagesize... yes
+checking whether getpagesize is declared... (cached) yes
+checking whether INT32_MAX < INTMAX_MAX... yes
+checking whether INT64_MAX == LONG_MAX... yes
+checking whether UINT32_MAX < UINTMAX_MAX... yes
+checking whether UINT64_MAX == ULONG_MAX... yes
+checking for mmap... (cached) yes
+checking for MAP_ANONYMOUS... yes
+checking for mmap... (cached) yes
+checking for MAP_ANONYMOUS... yes
+checking for valgrind... (cached) valgrind
+checking whether self tests are run under valgrind... yes
+checking if environ is properly declared... yes
+checking whether strerror_r is declared... (cached) yes
+checking for strerror_r... yes
+checking whether strerror_r returns char *... yes
+checking whether fseeko is declared... (cached) yes
+checking for fseeko... yes
+checking for library containing gethostbyname... none required
+checking for gethostbyname... yes
+checking for library containing getservbyname... none required
+checking for getservbyname... yes
+checking for library containing inet_ntop... none required
+checking whether inet_ntop is declared... yes
+checking for IPv4 sockets... yes
+checking for IPv6 sockets... yes
+checking whether getpass is declared... yes
+checking whether fflush_unlocked is declared... yes
+checking whether flockfile is declared... yes
+checking whether fputs_unlocked is declared... yes
+checking whether funlockfile is declared... yes
+checking whether putc_unlocked is declared... yes
+checking for stdlib.h... (cached) yes
+checking for GNU libc compatible malloc... yes
+checking whether alarm is declared... yes
+checking for compound literals... yes
+checking whether struct tm is in sys/time.h or time.h... time.h
+checking for struct tm.tm_gmtoff... yes
+checking whether <sys/select.h> is self-contained... yes
+checking whether pselect is declared without a macro... yes
+checking whether select is declared without a macro... yes
+checking whether setenv is declared... (cached) yes
+checking search.h usability... yes
+checking search.h presence... yes
+checking for search.h... yes
+checking for tsearch... yes
+checking for sigset_t... yes
+checking for uid_t in sys/types.h... yes
+checking whether strdup is declared... (cached) yes
+checking whether strerror(0) succeeds... yes
+checking whether unsetenv is declared... (cached) yes
+checking for alloca as a compiler built-in... (cached) yes
+checking whether inet_ntop is declared without a macro... yes
+checking whether inet_pton is declared without a macro... yes
+checking for library containing clock_gettime... none required
+checking for clock_gettime... (cached) yes
+checking for clock_settime... yes
+checking whether dup2 works... yes
+checking for error_at_line... yes
+checking whether conversion from 'int' to 'long double' works... (cached) yes
+checking for fseeko... (cached) yes
+checking for ftello... (cached) yes
+checking whether ftello works... (cached) yes
+configure: checking how to do getaddrinfo, freeaddrinfo and getnameinfo
+checking for library containing getaddrinfo... none required
+checking for getaddrinfo... yes
+checking whether gai_strerror is declared... (cached) yes
+checking whether gai_strerrorA is declared... no
+checking for gai_strerror with POSIX signature... yes
+checking for struct sockaddr.sa_len... no
+checking whether getaddrinfo is declared... (cached) yes
+checking whether freeaddrinfo is declared... (cached) yes
+checking whether getnameinfo is declared... (cached) yes
+checking for struct addrinfo... yes
+checking for working getdelim function... (cached) yes
+checking for getline... (cached) yes
+checking for working getline function... (cached) yes
+checking for getpass... yes
+checking whether gettimeofday clobbers localtime buffer... (cached) no
+checking for gettimeofday with POSIX signature... (cached) almost
+checking for library containing gethostbyname... (cached) none required
+checking for gethostbyname... (cached) yes
+checking for library containing inet_ntop... (cached) none required
+checking whether inet_ntop is declared... (cached) yes
+checking for library containing inet_pton... none required
+checking whether inet_pton is declared... (cached) yes
+checking whether lseek detects pipes... (cached) yes
+checking for working mktime... yes
+checking whether getaddrinfo is declared without a macro... (cached) yes
+checking whether freeaddrinfo is declared without a macro... (cached) yes
+checking whether gai_strerror is declared without a macro... (cached) yes
+checking whether getnameinfo is declared without a macro... (cached) yes
+checking whether <netinet/in.h> is self-contained... (cached) yes
+checking for struct tm.tm_zone... yes
+checking whether program_invocation_name is declared... yes
+checking whether program_invocation_short_name is declared... yes
+checking whether select supports a 0 argument... yes
+checking whether select detects invalid fds... yes
+checking for library containing getservbyname... (cached) none required
+checking for getservbyname... (cached) yes
+checking whether setenv validates arguments... yes
+checking for volatile sig_atomic_t... yes
+checking for sighandler_t... yes
+checking whether pthread_sigmask is declared without a macro... yes
+checking whether sigaction is declared without a macro... yes
+checking whether sigaddset is declared without a macro... yes
+checking whether sigdelset is declared without a macro... yes
+checking whether sigemptyset is declared without a macro... yes
+checking whether sigfillset is declared without a macro... yes
+checking whether sigismember is declared without a macro... yes
+checking whether sigpending is declared without a macro... yes
+checking whether sigprocmask is declared without a macro... yes
+checking for stdint.h... (cached) yes
+checking for SIZE_MAX... (cached) yes
+checking for snprintf... (cached) yes
+checking whether snprintf respects a size of 1... (cached) yes
+checking whether printf supports POSIX/XSI format strings with positions... (cached) yes
+checking for socklen_t... (cached) yes
+checking for ssize_t... (cached) yes
+checking for working stdalign.h... (cached) yes
+checking for max_align_t... (cached) yes
+checking whether NULL can be used in arbitrary expressions... (cached) yes
+checking which flavor of printf attribute matches inttypes macros... (cached) system
+checking whether dprintf is declared without a macro... (cached) yes
+checking whether fpurge is declared without a macro... (cached) no
+checking whether fseeko is declared without a macro... (cached) yes
+checking whether ftello is declared without a macro... (cached) yes
+checking whether getdelim is declared without a macro... (cached) yes
+checking whether getline is declared without a macro... (cached) yes
+checking whether gets is declared without a macro... (cached) no
+checking whether pclose is declared without a macro... (cached) yes
+checking whether popen is declared without a macro... (cached) yes
+checking whether renameat is declared without a macro... (cached) yes
+checking whether snprintf is declared without a macro... (cached) yes
+checking whether tmpfile is declared without a macro... (cached) yes
+checking whether vdprintf is declared without a macro... (cached) yes
+checking whether vsnprintf is declared without a macro... (cached) yes
+checking whether _Exit is declared without a macro... (cached) yes
+checking whether atoll is declared without a macro... (cached) yes
+checking whether canonicalize_file_name is declared without a macro... (cached) yes
+checking whether getloadavg is declared without a macro... (cached) yes
+checking whether getsubopt is declared without a macro... (cached) yes
+checking whether grantpt is declared without a macro... (cached) yes
+checking whether initstate is declared without a macro... (cached) yes
+checking whether initstate_r is declared without a macro... (cached) yes
+checking whether mkdtemp is declared without a macro... (cached) yes
+checking whether mkostemp is declared without a macro... (cached) yes
+checking whether mkostemps is declared without a macro... (cached) yes
+checking whether mkstemp is declared without a macro... (cached) yes
+checking whether mkstemps is declared without a macro... (cached) yes
+checking whether posix_openpt is declared without a macro... (cached) yes
+checking whether ptsname is declared without a macro... (cached) yes
+checking whether ptsname_r is declared without a macro... (cached) yes
+checking whether random is declared without a macro... (cached) yes
+checking whether random_r is declared without a macro... (cached) yes
+checking whether realpath is declared without a macro... (cached) yes
+checking whether rpmatch is declared without a macro... (cached) yes
+checking whether secure_getenv is declared without a macro... (cached) yes
+checking whether setenv is declared without a macro... (cached) yes
+checking whether setstate is declared without a macro... (cached) yes
+checking whether setstate_r is declared without a macro... (cached) yes
+checking whether srandom is declared without a macro... (cached) yes
+checking whether srandom_r is declared without a macro... (cached) yes
+checking whether strtod is declared without a macro... (cached) yes
+checking whether strtoll is declared without a macro... (cached) yes
+checking whether strtoull is declared without a macro... (cached) yes
+checking whether unlockpt is declared without a macro... (cached) yes
+checking whether unsetenv is declared without a macro... (cached) yes
+checking for working strerror function... yes
+checking whether <sys/select.h> is self-contained... (cached) yes
+checking whether pselect is declared without a macro... (cached) yes
+checking whether select is declared without a macro... (cached) yes
+checking for nlink_t... (cached) yes
+checking whether fchmodat is declared without a macro... (cached) yes
+checking whether fstat is declared without a macro... (cached) yes
+checking whether fstatat is declared without a macro... (cached) yes
+checking whether futimens is declared without a macro... (cached) yes
+checking whether lchmod is declared without a macro... (cached) yes
+checking whether lstat is declared without a macro... (cached) yes
+checking whether mkdirat is declared without a macro... (cached) yes
+checking whether mkfifo is declared without a macro... (cached) yes
+checking whether mkfifoat is declared without a macro... (cached) yes
+checking whether mknod is declared without a macro... (cached) yes
+checking whether mknodat is declared without a macro... (cached) yes
+checking whether stat is declared without a macro... (cached) yes
+checking whether utimensat is declared without a macro... (cached) yes
+checking whether localtime_r is declared... (cached) yes
+checking whether localtime_r is compatible with its POSIX signature... (cached) yes
+checking whether chdir is declared without a macro... (cached) yes
+checking whether chown is declared without a macro... (cached) yes
+checking whether dup is declared without a macro... (cached) yes
+checking whether dup2 is declared without a macro... (cached) yes
+checking whether dup3 is declared without a macro... (cached) yes
+checking whether environ is declared without a macro... (cached) yes
+checking whether euidaccess is declared without a macro... (cached) yes
+checking whether faccessat is declared without a macro... (cached) yes
+checking whether fchdir is declared without a macro... (cached) yes
+checking whether fchownat is declared without a macro... (cached) yes
+checking whether fdatasync is declared without a macro... (cached) yes
+checking whether fsync is declared without a macro... (cached) yes
+checking whether ftruncate is declared without a macro... (cached) yes
+checking whether getcwd is declared without a macro... (cached) yes
+checking whether getdomainname is declared without a macro... (cached) yes
+checking whether getdtablesize is declared without a macro... (cached) yes
+checking whether getgroups is declared without a macro... (cached) yes
+checking whether gethostname is declared without a macro... (cached) yes
+checking whether getlogin is declared without a macro... (cached) yes
+checking whether getlogin_r is declared without a macro... (cached) yes
+checking whether getpagesize is declared without a macro... (cached) yes
+checking whether getusershell is declared without a macro... (cached) yes
+checking whether setusershell is declared without a macro... (cached) yes
+checking whether endusershell is declared without a macro... (cached) yes
+checking whether group_member is declared without a macro... (cached) yes
+checking whether isatty is declared without a macro... (cached) yes
+checking whether lchown is declared without a macro... (cached) yes
+checking whether link is declared without a macro... (cached) yes
+checking whether linkat is declared without a macro... (cached) yes
+checking whether lseek is declared without a macro... (cached) yes
+checking whether pipe is declared without a macro... (cached) yes
+checking whether pipe2 is declared without a macro... (cached) yes
+checking whether pread is declared without a macro... (cached) yes
+checking whether pwrite is declared without a macro... (cached) yes
+checking whether readlink is declared without a macro... (cached) yes
+checking whether readlinkat is declared without a macro... (cached) yes
+checking whether rmdir is declared without a macro... (cached) yes
+checking whether sethostname is declared without a macro... (cached) yes
+checking whether sleep is declared without a macro... (cached) yes
+checking whether symlink is declared without a macro... (cached) yes
+checking whether symlinkat is declared without a macro... (cached) yes
+checking whether ttyname_r is declared without a macro... (cached) yes
+checking whether unlink is declared without a macro... (cached) yes
+checking whether unlinkat is declared without a macro... (cached) yes
+checking whether usleep is declared without a macro... (cached) yes
+checking for unsetenv... yes
+checking for unsetenv() return type... int
+checking whether unsetenv obeys POSIX... yes
+checking for ptrdiff_t... (cached) yes
+checking whether btowc is declared without a macro... (cached) yes
+checking whether wctob is declared without a macro... (cached) yes
+checking whether mbsinit is declared without a macro... (cached) yes
+checking whether mbrtowc is declared without a macro... (cached) yes
+checking whether mbrlen is declared without a macro... (cached) yes
+checking whether mbsrtowcs is declared without a macro... (cached) yes
+checking whether mbsnrtowcs is declared without a macro... (cached) yes
+checking whether wcrtomb is declared without a macro... (cached) yes
+checking whether wcsrtombs is declared without a macro... (cached) yes
+checking whether wcsnrtombs is declared without a macro... (cached) yes
+checking whether wcwidth is declared without a macro... (cached) yes
+checking whether wmemchr is declared without a macro... (cached) yes
+checking whether wmemcmp is declared without a macro... (cached) yes
+checking whether wmemcpy is declared without a macro... (cached) yes
+checking whether wmemmove is declared without a macro... (cached) yes
+checking whether wmemset is declared without a macro... (cached) yes
+checking whether wcslen is declared without a macro... (cached) yes
+checking whether wcsnlen is declared without a macro... (cached) yes
+checking whether wcscpy is declared without a macro... (cached) yes
+checking whether wcpcpy is declared without a macro... (cached) yes
+checking whether wcsncpy is declared without a macro... (cached) yes
+checking whether wcpncpy is declared without a macro... (cached) yes
+checking whether wcscat is declared without a macro... (cached) yes
+checking whether wcsncat is declared without a macro... (cached) yes
+checking whether wcscmp is declared without a macro... (cached) yes
+checking whether wcsncmp is declared without a macro... (cached) yes
+checking whether wcscasecmp is declared without a macro... (cached) yes
+checking whether wcsncasecmp is declared without a macro... (cached) yes
+checking whether wcscoll is declared without a macro... (cached) yes
+checking whether wcsxfrm is declared without a macro... (cached) yes
+checking whether wcsdup is declared without a macro... (cached) yes
+checking whether wcschr is declared without a macro... (cached) yes
+checking whether wcsrchr is declared without a macro... (cached) yes
+checking whether wcscspn is declared without a macro... (cached) yes
+checking whether wcsspn is declared without a macro... (cached) yes
+checking whether wcspbrk is declared without a macro... (cached) yes
+checking whether wcsstr is declared without a macro... (cached) yes
+checking whether wcstok is declared without a macro... (cached) yes
+checking whether wcswidth is declared without a macro... (cached) yes
+checking for stdint.h... (cached) yes
+checking whether C compiler handles -Werror -Wunknown-warning-option... no
+checking whether C compiler handles -Wframe-larger-than=2048... yes
+checking whether -Wno-missing-field-initializers is supported... yes
+checking whether -Wno-missing-field-initializers is needed... no
+checking whether -Wuninitialized is supported... yes
+checking whether C compiler handles -W... yes
+checking whether C compiler handles -Wabi... yes
+checking whether C compiler handles -Waddress... yes
+checking whether C compiler handles -Waggressive-loop-optimizations... yes
+checking whether C compiler handles -Wall... yes
+checking whether C compiler handles -Wattributes... yes
+checking whether C compiler handles -Wbad-function-cast... yes
+checking whether C compiler handles -Wbool-compare... yes
+checking whether C compiler handles -Wbuiltin-macro-redefined... yes
+checking whether C compiler handles -Wcast-align... yes
+checking whether C compiler handles -Wchar-subscripts... yes
+checking whether C compiler handles -Wchkp... yes
+checking whether C compiler handles -Wclobbered... yes
+checking whether C compiler handles -Wcomment... yes
+checking whether C compiler handles -Wcomments... yes
+checking whether C compiler handles -Wcoverage-mismatch... yes
+checking whether C compiler handles -Wcpp... yes
+checking whether C compiler handles -Wdate-time... yes
+checking whether C compiler handles -Wdeprecated... yes
+checking whether C compiler handles -Wdeprecated-declarations... yes
+checking whether C compiler handles -Wdesignated-init... yes
+checking whether C compiler handles -Wdisabled-optimization... yes
+checking whether C compiler handles -Wdiscarded-array-qualifiers... yes
+checking whether C compiler handles -Wdiscarded-qualifiers... yes
+checking whether C compiler handles -Wdiv-by-zero... yes
+checking whether C compiler handles -Wdouble-promotion... yes
+checking whether C compiler handles -Wempty-body... yes
+checking whether C compiler handles -Wendif-labels... yes
+checking whether C compiler handles -Wenum-compare... yes
+checking whether C compiler handles -Wextra... yes
+checking whether C compiler handles -Wformat-contains-nul... yes
+checking whether C compiler handles -Wformat-extra-args... yes
+checking whether C compiler handles -Wformat-security... yes
+checking whether C compiler handles -Wformat-zero-length... yes
+checking whether C compiler handles -Wfree-nonheap-object... yes
+checking whether C compiler handles -Wignored-qualifiers... yes
+checking whether C compiler handles -Wimplicit... yes
+checking whether C compiler handles -Wimplicit-function-declaration... yes
+checking whether C compiler handles -Wimplicit-int... yes
+checking whether C compiler handles -Wincompatible-pointer-types... yes
+checking whether C compiler handles -Winit-self... yes
+checking whether C compiler handles -Wint-conversion... yes
+checking whether C compiler handles -Wint-to-pointer-cast... yes
+checking whether C compiler handles -Winvalid-memory-model... yes
+checking whether C compiler handles -Winvalid-pch... yes
+checking whether C compiler handles -Wjump-misses-init... yes
+checking whether C compiler handles -Wlogical-not-parentheses... yes
+checking whether C compiler handles -Wlogical-op... yes
+checking whether C compiler handles -Wmain... yes
+checking whether C compiler handles -Wmaybe-uninitialized... yes
+checking whether C compiler handles -Wmemset-transposed-args... yes
+checking whether C compiler handles -Wmissing-braces... yes
+checking whether C compiler handles -Wmissing-declarations... yes
+checking whether C compiler handles -Wmissing-field-initializers... yes
+checking whether C compiler handles -Wmissing-include-dirs... yes
+checking whether C compiler handles -Wmissing-parameter-type... yes
+checking whether C compiler handles -Wmissing-prototypes... yes
+checking whether C compiler handles -Wmultichar... yes
+checking whether C compiler handles -Wnarrowing... yes
+checking whether C compiler handles -Wnested-externs... yes
+checking whether C compiler handles -Wnonnull... yes
+checking whether C compiler handles -Wodr... yes
+checking whether C compiler handles -Wold-style-declaration... yes
+checking whether C compiler handles -Wold-style-definition... yes
+checking whether C compiler handles -Wopenmp-simd... yes
+checking whether C compiler handles -Woverflow... yes
+checking whether C compiler handles -Woverride-init... yes
+checking whether C compiler handles -Wpacked... yes
+checking whether C compiler handles -Wpacked-bitfield-compat... yes
+checking whether C compiler handles -Wparentheses... yes
+checking whether C compiler handles -Wpointer-arith... yes
+checking whether C compiler handles -Wpointer-sign... yes
+checking whether C compiler handles -Wpointer-to-int-cast... yes
+checking whether C compiler handles -Wpragmas... yes
+checking whether C compiler handles -Wreturn-local-addr... yes
+checking whether C compiler handles -Wreturn-type... yes
+checking whether C compiler handles -Wsequence-point... yes
+checking whether C compiler handles -Wshadow... yes
+checking whether C compiler handles -Wshift-count-negative... yes
+checking whether C compiler handles -Wshift-count-overflow... yes
+checking whether C compiler handles -Wsizeof-array-argument... yes
+checking whether C compiler handles -Wsizeof-pointer-memaccess... yes
+checking whether C compiler handles -Wstrict-aliasing... yes
+checking whether C compiler handles -Wstrict-prototypes... yes
+checking whether C compiler handles -Wsuggest-attribute=format... yes
+checking whether C compiler handles -Wsuggest-final-methods... yes
+checking whether C compiler handles -Wsuggest-final-types... yes
+checking whether C compiler handles -Wswitch... yes
+checking whether C compiler handles -Wswitch-bool... yes
+checking whether C compiler handles -Wsync-nand... yes
+checking whether C compiler handles -Wtrampolines... yes
+checking whether C compiler handles -Wtrigraphs... yes
+checking whether C compiler handles -Wtype-limits... yes
+checking whether C compiler handles -Wuninitialized... yes
+checking whether C compiler handles -Wunknown-pragmas... yes
+checking whether C compiler handles -Wunsafe-loop-optimizations... yes
+checking whether C compiler handles -Wunused... yes
+checking whether C compiler handles -Wunused-but-set-parameter... yes
+checking whether C compiler handles -Wunused-but-set-variable... yes
+checking whether C compiler handles -Wunused-function... yes
+checking whether C compiler handles -Wunused-label... yes
+checking whether C compiler handles -Wunused-local-typedefs... yes
+checking whether C compiler handles -Wunused-macros... yes
+checking whether C compiler handles -Wunused-parameter... yes
+checking whether C compiler handles -Wunused-result... yes
+checking whether C compiler handles -Wunused-value... yes
+checking whether C compiler handles -Wunused-variable... yes
+checking whether C compiler handles -Wvarargs... yes
+checking whether C compiler handles -Wvariadic-macros... yes
+checking whether C compiler handles -Wvector-operation-performance... yes
+checking whether C compiler handles -Wvolatile-register-var... yes
+checking whether C compiler handles -Wwrite-strings... yes
+checking whether C compiler handles -Warray-bounds=2... yes
+checking whether C compiler handles -Wnormalized=nfc... yes
+checking whether C compiler handles -Wno-missing-field-initializers... yes
+checking whether C compiler handles -Wno-format-y2k... yes
+checking whether C compiler handles -Wno-unused-value... yes
+checking whether C compiler handles -Wno-unused-result... yes
+checking whether C compiler handles -Wno-unused-parameter... yes
+checking whether C compiler handles -Wno-stack-protector... yes
+checking whether C compiler handles -Wno-int-to-pointer-cast... yes
+checking whether C compiler handles -fdiagnostics-show-option... yes
+checking whether ln -s works... yes
+checking how to print strings... printf
+checking for a sed that does not truncate output... (cached) /bin/sed
+checking for fgrep... /bin/grep -F
+checking for ld used by gcc... /usr/bin/ld
+checking if the linker (/usr/bin/ld) is GNU ld... yes
+checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
+checking the name lister (/usr/bin/nm -B) interface... BSD nm
+checking the maximum length of command line arguments... 1572864
+checking whether the shell understands some XSI constructs... yes
+checking whether the shell understands "+="... yes
+checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
+checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
+checking for /usr/bin/ld option to reload object files... -r
+checking for objdump... objdump
+checking how to recognize dependent libraries... pass_all
+checking for dlltool... no
+checking how to associate runtime and link libraries... printf %s\n
+checking for archiver @FILE support... @
+checking for strip... strip
+checking for ranlib... (cached) ranlib
+checking command to parse /usr/bin/nm -B output from gcc object... ok
+checking for sysroot... no
+checking for mt... mt
+checking if mt is a manifest tool... no
+checking for dlfcn.h... yes
+checking for objdir... .libs
+checking if gcc supports -fno-rtti -fno-exceptions... yes
+checking for gcc option to produce PIC... -fPIC -DPIC
+checking if gcc PIC flag -fPIC -DPIC works... yes
+checking if gcc static flag -static works... yes
+checking if gcc supports -c -o file.o... yes
+checking if gcc supports -c -o file.o... (cached) yes
+checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
+checking whether -lc should be explicitly linked in... no
+checking dynamic linker characteristics... GNU/Linux ld.so
+checking how to hardcode library paths into programs... immediate
+checking whether stripping libraries is possible... yes
+checking if libtool supports shared libraries... yes
+checking whether to build shared libraries... yes
+checking whether to build static libraries... no
+checking how to run the C++ preprocessor... g++ -E
+checking for ld used by g++... /usr/bin/ld -m elf_x86_64
+checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
+checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
+checking for g++ option to produce PIC... -fPIC -DPIC
+checking if g++ PIC flag -fPIC -DPIC works... yes
+checking if g++ static flag -static works... yes
+checking if g++ supports -c -o file.o... yes
+checking if g++ supports -c -o file.o... (cached) yes
+checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
+checking dynamic linker characteristics... (cached) GNU/Linux ld.so
+checking how to hardcode library paths into programs... immediate
+checking for LIBIDN... yes
+checking whether to build libdane... no
+checking for tss library... yes
+checking for working stdnoreturn.h... yes
+checking for ssize_t... yes
+checking size of unsigned long int... 8
+checking size of unsigned int... 4
+checking whether to include zlib compression support... yes
+checking for libz... yes
+checking how to link with libz... -lz
+checking whether building Guile bindings... no
+***
+*** Checking dependencies for crywrap...
+
+checking for arpa/inet.h... (cached) yes
+checking for netinet/in.h... (cached) yes
+checking for sys/select.h... (cached) yes
+checking for sys/types.h... (cached) yes
+checking sys/wait.h usability... yes
+checking sys/wait.h presence... yes
+checking for sys/wait.h... yes
+checking return type of signal handlers... void
+checking for sys/select.h... (cached) yes
+checking for sys/socket.h... (cached) yes
+checking types of arguments for select... int,fd_set *,struct timeval *
+checking for alarm... yes
+checking for atexit... yes
+checking for dup2... yes
+checking for epoll_create... yes
+checking for kqueue... no
+checking for memchr... yes
+checking for memset... yes
+checking for munmap... yes
+checking for putenv... yes
+checking for regcomp... yes
+checking for scandir... yes
+checking for select... yes
+checking for socket... yes
+checking for strcasecmp... (cached) yes
+checking for strchr... yes
+checking for strdup... (cached) yes
+checking for strerror... yes
+checking for strncasecmp... (cached) yes
+checking for strrchr... yes
+checking for strstr... yes
+checking for strtoul... yes
+checking for uname... yes
+checking for argp_usage... yes
+checking that generated files are newer than configure... done
+configure: creating ./config.status
+config.status: creating guile/pre-inst-guile
+config.status: creating Makefile
+config.status: creating doc/Makefile
+config.status: creating doc/credentials/Makefile
+config.status: creating doc/credentials/openpgp/Makefile
+config.status: creating doc/credentials/srp/Makefile
+config.status: creating doc/credentials/x509/Makefile
+config.status: creating doc/cyclo/Makefile
+config.status: creating doc/doxygen/Doxyfile
+config.status: creating doc/examples/Makefile
+config.status: creating doc/latex/Makefile
+config.status: creating doc/manpages/Makefile
+config.status: creating doc/reference/Makefile
+config.status: creating doc/reference/version.xml
+config.status: creating doc/scripts/Makefile
+config.status: creating extra/Makefile
+config.status: creating extra/includes/Makefile
+config.status: creating libdane/Makefile
+config.status: creating libdane/includes/Makefile
+config.status: creating libdane/gnutls-dane.pc
+config.status: creating gl/Makefile
+config.status: creating gl/tests/Makefile
+config.status: creating guile/Makefile
+config.status: creating guile/modules/Makefile
+config.status: creating guile/src/Makefile
+config.status: creating guile/tests/Makefile
+config.status: creating lib/Makefile
+config.status: creating lib/accelerated/Makefile
+config.status: creating lib/accelerated/x86/Makefile
+config.status: creating lib/algorithms/Makefile
+config.status: creating lib/auth/Makefile
+config.status: creating lib/ext/Makefile
+config.status: creating lib/extras/Makefile
+config.status: creating lib/gnutls.pc
+config.status: creating lib/includes/Makefile
+config.status: creating lib/includes/gnutls/gnutls.h
+config.status: creating lib/minitasn1/Makefile
+config.status: creating lib/nettle/Makefile
+config.status: creating lib/opencdk/Makefile
+config.status: creating lib/openpgp/Makefile
+config.status: creating lib/x509/Makefile
+config.status: creating po/Makefile.in
+config.status: creating src/Makefile
+config.status: creating src/crywrap/Makefile
+config.status: creating src/gl/Makefile
+config.status: creating tests/Makefile
+config.status: creating tests/cert-tests/Makefile
+config.status: creating tests/dsa/Makefile
+config.status: creating tests/dtls/Makefile
+config.status: creating tests/srp/Makefile
+config.status: creating tests/ecdsa/Makefile
+config.status: creating tests/key-tests/Makefile
+config.status: creating tests/openpgp-certs/Makefile
+config.status: creating tests/pkcs1-padding/Makefile
+config.status: creating tests/pkcs12-decode/Makefile
+config.status: creating tests/pkcs8-decode/Makefile
+config.status: creating tests/rsa-md5-collision/Makefile
+config.status: creating tests/safe-renegotiation/Makefile
+config.status: creating tests/scripts/Makefile
+config.status: creating tests/sha2/Makefile
+config.status: creating tests/slow/Makefile
+config.status: creating tests/suite/Makefile
+config.status: creating tests/userid/Makefile
+config.status: creating config.h
+config.status: executing depfiles commands
+config.status: executing po-directories commands
+config.status: creating po/POTFILES
+config.status: creating po/Makefile
+config.status: executing libtool commands
+configure: summary of build options:
+
+ version: 3.4.10 shared 36:2:6
+ Host/Target system: x86_64-unknown-linux-gnu
+ Build system: x86_64-unknown-linux-gnu
+ Install prefix: /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.10
+ Compiler: gcc
+ CFlags: -g -Og -fpermissive -w
+ Library types: Shared=yes, Static=no
+ Local libopts: yes
+ Local libtasn1: yes
+ Use nettle-mini: no
+
+configure: External hardware support:
+
+ /dev/crypto: no
+ Hardware accel: x86-64
+ Padlock accel: yes
+ getrandom variant: no
+ PKCS#11 support: no
+ TPM support: yes
+
+configure:
+ TPM library: /usr/lib/libtspi.so.1
+
+configure: Optional features:
+(note that included applications might not compile properly
+if features are disabled)
+
+ DTLS-SRTP support: yes
+ ALPN support: yes
+ OCSP support: yes
+ Ses. ticket support: yes
+ OpenPGP support: yes
+ SRP support: yes
+ PSK support: yes
+ DHE support: yes
+ ECDHE support: yes
+ Anon auth support: yes
+ Heartbeat support: yes
+ IDNA support: yes
+ Unicode support: yes
+ Self checks: no
+ Non-SuiteB curves: yes
+ FIPS140 mode: no
+
+configure: Optional applications:
+
+ crywrap app: yes
+
+configure: Optional libraries:
+
+ Guile wrappers: no
+ C++ library: no
+ DANE library: no
+ OpenSSL compat: no
+
+configure: System files:
+
+ Trust store pkcs11:
+ Trust store dir:
+ Trust store file: /etc/ssl/certs/ca-certificates.crt
+ Blacklist file:
+ CRL file:
+ Priority file: /etc/gnutls/default-priorities
+ DNSSEC root key file: /usr/share/dns/root.key
+
+sed: can't read lib/gl/stdio.in.h: No such file or directory
+make[1]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10'
+make all-recursive
+make[2]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10'
+Making all in gl
+make[3]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/gl'
+ GEN alloca.h
+ GEN c++defs.h
+ GEN arg-nonnull.h
+ GEN warn-on-use.h
+ GEN netdb.h
+ GEN stdio.h
+ GEN stdlib.h
+ GEN string.h
+ GEN strings.h
+ GEN sys/socket.h
+ GEN sys/stat.h
+ GEN sys/time.h
+ GEN sys/types.h
+ GEN sys/uio.h
+ GEN time.h
+ GEN unistd.h
+ GEN wchar.h
+make all-recursive
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/gl'
+Making all in tests
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/gl/tests'
+ GEN c++defs.h
+ GEN arg-nonnull.h
+ GEN warn-on-use.h
+ GEN fcntl.h
+ GEN inttypes.h
+make all-recursive
+make[6]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/gl/tests'
+Making all in .
+make[7]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/gl/tests'
+make[7]: Nothing to be done for 'all-am'.
+make[7]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/gl/tests'
+make[6]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/gl/tests'
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/gl/tests'
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/gl'
+ CC base64.lo
+ CC c-ctype.lo
+ CC hash-pjw-bare.lo
+ CC read-file.lo
+ CC sys_socket.lo
+ CC unistd.lo
+ CC xsize.lo
+ CC asnprintf.lo
+ CC printf-args.lo
+ CC printf-parse.lo
+ CC vasnprintf.lo
+ CCLD libgnu.la
+ar: `u' modifier ignored since `D' is the default (see `U')
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/gl'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/gl'
+make[3]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/gl'
+Making all in lib
+make[3]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib'
+make all-recursive
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib'
+Making all in includes
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/includes'
+make[5]: Nothing to be done for 'all'.
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/includes'
+Making all in x509
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/x509'
+ CC common.lo
+ CC key_encode.lo
+ CC key_decode.lo
+ CC crl.lo
+ CC crl_write.lo
+ CC crq.lo
+ CC dn.lo
+ CC extensions.lo
+ CC mpi.lo
+ CC output.lo
+ CC pkcs12.lo
+ CC pkcs12_bag.lo
+ CC pkcs12_encr.lo
+ CC pkcs7.lo
+ CC pkcs7-attrs.lo
+ CC privkey.lo
+ CC privkey_pkcs8.lo
+ CC privkey_openssl.lo
+ CC hostname-verify.lo
+ CC sign.lo
+ CC verify.lo
+ CC x509.lo
+ CC x509_dn.lo
+ CC x509_write.lo
+ CC name_constraints.lo
+ CC verify-high.lo
+ CC verify-high2.lo
+ CC x509_ext.lo
+ CC email-verify.lo
+ CC pkcs7-output.lo
+ CC ocsp.lo
+ CC ocsp_output.lo
+ CCLD libgnutls_x509.la
+ar: `u' modifier ignored since `D' is the default (see `U')
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/x509'
+Making all in auth
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/auth'
+ CC anon.lo
+ CC cert.lo
+ CC dh_common.lo
+ CC dhe.lo
+ CC rsa_psk.lo
+ CC dhe_psk.lo
+ CC psk.lo
+ CC psk_passwd.lo
+ CC rsa.lo
+ CC srp.lo
+ CC srp_passwd.lo
+ CC srp_rsa.lo
+ CC srp_sb64.lo
+ CC anon_ecdh.lo
+ CC ecdhe.lo
+ CCLD libgnutls_auth.la
+ar: `u' modifier ignored since `D' is the default (see `U')
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/auth'
+Making all in ext
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/ext'
+ CC max_record.lo
+ CC cert_type.lo
+ CC server_name.lo
+ CC signature.lo
+ CC safe_renegotiation.lo
+ CC session_ticket.lo
+ CC srp.lo
+ CC ecc.lo
+ CC heartbeat.lo
+ CC status_request.lo
+ CC dumbfw.lo
+ CC ext_master_secret.lo
+ CC etm.lo
+ CC alpn.lo
+ CC srtp.lo
+ CCLD libgnutls_ext.la
+ar: `u' modifier ignored since `D' is the default (see `U')
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/ext'
+Making all in algorithms
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/algorithms'
+ CC cert_types.lo
+ CC ciphers.lo
+ CC ciphersuites.lo
+ CC ecc.lo
+ CC kx.lo
+ CC mac.lo
+ CC protocols.lo
+ CC publickey.lo
+ CC secparams.lo
+ CC sign.lo
+ CCLD libgnutls_alg.la
+ar: `u' modifier ignored since `D' is the default (see `U')
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/algorithms'
+Making all in extras
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/extras'
+ CC randomart.lo
+ CC hex.lo
+ CCLD libgnutls_extras.la
+ar: `u' modifier ignored since `D' is the default (see `U')
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/extras'
+Making all in accelerated
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/accelerated'
+Making all in x86
+make[6]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/accelerated/x86'
+ CC x86-common.lo
+ CC sha-x86-ssse3.lo
+ CC hmac-x86-ssse3.lo
+ CC aes-gcm-x86-ssse3.lo
+ CC aes-gcm-x86-aesni.lo
+ CC aes-cbc-x86-ssse3.lo
+ CC aes-cbc-x86-aesni.lo
+ CC aes-ccm-x86-aesni.lo
+ CC sha-padlock.lo
+ CC hmac-padlock.lo
+ CC aes-padlock.lo
+ CC aes-gcm-padlock.lo
+ CC aes-gcm-x86-pclmul.lo
+ CCAS elf/aesni-x86_64.lo
+ CCAS elf/cpuid-x86_64.lo
+ CCAS elf/ghash-x86_64.lo
+ CCAS elf/sha1-ssse3-x86_64.lo
+ CCAS elf/sha512-ssse3-x86_64.lo
+ CCAS elf/aes-ssse3-x86_64.lo
+ CCAS elf/e_padlock-x86_64.lo
+ CCLD libx86.la
+ar: `u' modifier ignored since `D' is the default (see `U')
+make[6]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/accelerated/x86'
+make[6]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/accelerated'
+ CC accelerated.lo
+ CC cryptodev.lo
+ CC cryptodev-gcm.lo
+ CCLD libaccelerated.la
+ar: `u' modifier ignored since `D' is the default (see `U')
+make[6]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/accelerated'
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/accelerated'
+Making all in minitasn1
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/minitasn1'
+ CC decoding.lo
+ CC gstr.lo
+ CC errors.lo
+ CC parser_aux.lo
+ CC structure.lo
+ CC element.lo
+ CC coding.lo
+ CC version.lo
+ CCLD libminitasn1.la
+ar: `u' modifier ignored since `D' is the default (see `U')
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/minitasn1'
+Making all in opencdk
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/opencdk'
+ CC armor.lo
+ CC kbnode.lo
+ CC sig-check.lo
+ CC keydb.lo
+ CC pubkey.lo
+ CC stream.lo
+ CC write-packet.lo
+ CC misc.lo
+ CC seskey.lo
+ CC literal.lo
+ CC new-packet.lo
+ CC read-packet.lo
+ CCLD libminiopencdk.la
+ar: `u' modifier ignored since `D' is the default (see `U')
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/opencdk'
+Making all in openpgp
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/openpgp'
+ CC pgp.lo
+ CC pgpverify.lo
+ CC extras.lo
+ CC compat.lo
+ CC privkey.lo
+ CC output.lo
+ CC gnutls_openpgp.lo
+ CCLD libgnutls_openpgp.la
+ar: `u' modifier ignored since `D' is the default (see `U')
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/openpgp'
+Making all in nettle
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/nettle'
+ CC pk.lo
+ CC mpi.lo
+ CC mac.lo
+ CC cipher.lo
+ CC init.lo
+ CC egd.lo
+ CC rnd-common.lo
+ CC rnd.lo
+ CCLD libcrypto.la
+ar: `u' modifier ignored since `D' is the default (see `U')
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/nettle'
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib'
+ CC gnutls_range.lo
+ CC gnutls_record.lo
+ CC gnutls_compress.lo
+ CC debug.lo
+ CC gnutls_cipher.lo
+ CC gnutls_mbuffers.lo
+ CC gnutls_buffers.lo
+ CC gnutls_handshake.lo
+ CC gnutls_num.lo
+ CC gnutls_errors.lo
+ CC gnutls_dh.lo
+ CC gnutls_kx.lo
+ CC gnutls_priority.lo
+ CC gnutls_hash_int.lo
+ CC gnutls_cipher_int.lo
+ CC gnutls_session.lo
+ CC gnutls_db.lo
+ CC x509_b64.lo
+ CC gnutls_extensions.lo
+ CC gnutls_auth.lo
+ CC gnutls_v2_compat.lo
+ CC gnutls_datum.lo
+ CC gnutls_session_pack.lo
+ CC gnutls_mpi.lo
+ CC gnutls_pk.lo
+ CC gnutls_cert.lo
+ CC gnutls_global.lo
+ CC gnutls_constate.lo
+ CC gnutls_anon_cred.lo
+ CC pkix_asn1_tab.lo
+ CC gnutls_asn1_tab.lo
+ CC gnutls_mem.lo
+ CC gnutls_ui.lo
+ CC vasprintf.lo
+ CC gnutls_sig.lo
+ CC gnutls_ecc.lo
+ CC gnutls_alert.lo
+ CC gnutls_privkey_raw.lo
+ CC system.lo
+ CC inet_ntop.lo
+ CC gnutls_str.lo
+ CC gnutls_state.lo
+ CC gnutls_x509.lo
+ CC gnutls_helper.lo
+ CC gnutls_supplemental.lo
+ CC random.lo
+ CC crypto-api.lo
+ CC gnutls_privkey.lo
+ CC gnutls_pcert.lo
+ CC gnutls_pubkey.lo
+ CC locks.lo
+ CC gnutls_dtls.lo
+ CC system_override.lo
+ CC crypto-backend.lo
+ CC verify-tofu.lo
+ CC pin.lo
+ CC tpm.lo
+ CC fips.lo
+ CC safe-memfuncs.lo
+ CC inet_pton.lo
+ CC atfork.lo
+ CC urls.lo
+ CC auto-verify.lo
+ CC system-keys-dummy.lo
+ CC gnutls_srp.lo
+ CC gnutls_psk.lo
+ CCLD libgnutls.la
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib'
+make[3]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib'
+Making all in extra
+make[3]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/extra'
+Making all in includes
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/extra/includes'
+make[4]: Nothing to be done for 'all'.
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/extra/includes'
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/extra'
+make[4]: Nothing to be done for 'all-am'.
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/extra'
+make[3]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/extra'
+Making all in po
+make[3]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/po'
+make[3]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/po'
+Making all in src/gl
+make[3]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/src/gl'
+ GEN alloca.h
+ GEN c++defs.h
+ GEN warn-on-use.h
+ GEN arg-nonnull.h
+ GEN arpa/inet.h
+ GEN netdb.h
+ GEN signal.h
+ GEN stdio.h
+ GEN stdlib.h
+ GEN string.h
+ GEN sys/select.h
+ GEN sys/socket.h
+ GEN sys/stat.h
+ GEN sys/time.h
+ GEN sys/types.h
+ GEN sys/uio.h
+ GEN time.h
+ GEN unistd.h
+ GEN wchar.h
+make all-recursive
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/src/gl'
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/src/gl'
+ CC c-ctype.lo
+ CC exitfail.lo
+ CC fd-hook.lo
+ CC gettime.lo
+ CC malloca.lo
+ CC parse-datetime.lo
+ CC progname.lo
+ CC read-file.lo
+ CC sockets.lo
+ CC sys_socket.lo
+ CC timespec.lo
+ CC unistd.lo
+ CC xmalloc.lo
+ CC xalloc-die.lo
+ CC xsize.lo
+ CC asnprintf.lo
+ CC printf-args.lo
+ CC printf-parse.lo
+ CC vasnprintf.lo
+ CCLD libgnu_gpl.la
+ar: `u' modifier ignored since `D' is the default (see `U')
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/src/gl'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/src/gl'
+make[3]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/src/gl'
+make[3]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10'
+make[3]: Nothing to be done for 'all-am'.
+make[3]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10'
+make[2]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10'
+make[1]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10'
+make[1]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10'
+Making install in gl
+make[2]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/gl'
+make install-recursive
+make[3]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/gl'
+Making install in tests
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/gl/tests'
+make install-recursive
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/gl/tests'
+Making install in .
+make[6]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/gl/tests'
+make[7]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/gl/tests'
+make[7]: Nothing to be done for 'install-exec-am'.
+make[7]: Nothing to be done for 'install-data-am'.
+make[7]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/gl/tests'
+make[6]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/gl/tests'
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/gl/tests'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/gl/tests'
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/gl'
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/gl'
+make[5]: Nothing to be done for 'install-exec-am'.
+make[5]: Nothing to be done for 'install-data-am'.
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/gl'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/gl'
+make[3]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/gl'
+make[2]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/gl'
+Making install in lib
+make[2]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib'
+make install-recursive
+make[3]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib'
+Making install in includes
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/includes'
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/includes'
+make[5]: Nothing to be done for 'install-exec-am'.
+ /bin/mkdir -p '/home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.10/include'
+ /bin/mkdir -p '/home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.10/include/gnutls'
+ /usr/bin/install -c -m 644 gnutls/x509.h gnutls/pkcs12.h gnutls/compat.h gnutls/openpgp.h gnutls/crypto.h gnutls/pkcs11.h gnutls/abstract.h gnutls/dtls.h gnutls/ocsp.h gnutls/tpm.h gnutls/x509-ext.h gnutls/self-test.h gnutls/system-keys.h gnutls/urls.h gnutls/pkcs7.h '/home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.10/include/gnutls'
+ /bin/mkdir -p '/home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.10/include'
+ /bin/mkdir -p '/home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.10/include/gnutls'
+ /usr/bin/install -c -m 644 gnutls/gnutls.h '/home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.10/include/gnutls'
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/includes'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/includes'
+Making install in x509
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/x509'
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/x509'
+make[5]: Nothing to be done for 'install-exec-am'.
+make[5]: Nothing to be done for 'install-data-am'.
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/x509'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/x509'
+Making install in auth
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/auth'
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/auth'
+make[5]: Nothing to be done for 'install-exec-am'.
+make[5]: Nothing to be done for 'install-data-am'.
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/auth'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/auth'
+Making install in ext
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/ext'
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/ext'
+make[5]: Nothing to be done for 'install-exec-am'.
+make[5]: Nothing to be done for 'install-data-am'.
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/ext'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/ext'
+Making install in algorithms
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/algorithms'
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/algorithms'
+make[5]: Nothing to be done for 'install-exec-am'.
+make[5]: Nothing to be done for 'install-data-am'.
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/algorithms'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/algorithms'
+Making install in extras
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/extras'
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/extras'
+make[5]: Nothing to be done for 'install-exec-am'.
+make[5]: Nothing to be done for 'install-data-am'.
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/extras'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/extras'
+Making install in accelerated
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/accelerated'
+Making install in x86
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/accelerated/x86'
+make[6]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/accelerated/x86'
+make[6]: Nothing to be done for 'install-exec-am'.
+make[6]: Nothing to be done for 'install-data-am'.
+make[6]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/accelerated/x86'
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/accelerated/x86'
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/accelerated'
+make[6]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/accelerated'
+make[6]: Nothing to be done for 'install-exec-am'.
+make[6]: Nothing to be done for 'install-data-am'.
+make[6]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/accelerated'
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/accelerated'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/accelerated'
+Making install in minitasn1
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/minitasn1'
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/minitasn1'
+make[5]: Nothing to be done for 'install-exec-am'.
+make[5]: Nothing to be done for 'install-data-am'.
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/minitasn1'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/minitasn1'
+Making install in opencdk
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/opencdk'
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/opencdk'
+make[5]: Nothing to be done for 'install-exec-am'.
+make[5]: Nothing to be done for 'install-data-am'.
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/opencdk'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/opencdk'
+Making install in openpgp
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/openpgp'
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/openpgp'
+make[5]: Nothing to be done for 'install-exec-am'.
+make[5]: Nothing to be done for 'install-data-am'.
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/openpgp'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/openpgp'
+Making install in nettle
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/nettle'
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/nettle'
+make[5]: Nothing to be done for 'install-exec-am'.
+make[5]: Nothing to be done for 'install-data-am'.
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/nettle'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib/nettle'
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib'
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib'
+ /bin/mkdir -p '/home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.10/lib'
+ /bin/bash ../libtool --mode=install /usr/bin/install -c libgnutls.la '/home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.10/lib'
+libtool: install: /usr/bin/install -c .libs/libgnutls.so.30.6.2 /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.10/lib/libgnutls.so.30.6.2
+libtool: install: (cd /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.10/lib && { ln -s -f libgnutls.so.30.6.2 libgnutls.so.30 || { rm -f libgnutls.so.30 && ln -s libgnutls.so.30.6.2 libgnutls.so.30; }; })
+libtool: install: (cd /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.10/lib && { ln -s -f libgnutls.so.30.6.2 libgnutls.so || { rm -f libgnutls.so && ln -s libgnutls.so.30.6.2 libgnutls.so; }; })
+libtool: install: /usr/bin/install -c .libs/libgnutls.lai /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.10/lib/libgnutls.la
+libtool: finish: PATH="/home/nmav/perl5/bin:/opt/open64-5.0/bin:/home/nmav/cvs/gnulib:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/nmav/android/adt-bundle-linux-x86_64-20130917/sdk/tools:/sbin" ldconfig -n /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.10/lib
+----------------------------------------------------------------------
+Libraries have been installed in:
+ /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.10/lib
+
+If you ever happen to want to link against installed libraries
+in a given directory, LIBDIR, you must either use libtool, and
+specify the full pathname of the library, or use the `-LLIBDIR'
+flag during linking and do at least one of the following:
+ - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
+ during execution
+ - add LIBDIR to the `LD_RUN_PATH' environment variable
+ during linking
+ - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
+ - have your system administrator add LIBDIR to `/etc/ld.so.conf'
+
+See any operating system documentation about shared libraries for
+more information, such as the ld(1) and ld.so(8) manual pages.
+----------------------------------------------------------------------
+ /bin/mkdir -p '/home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.10/lib/pkgconfig'
+ /usr/bin/install -c -m 644 gnutls.pc '/home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.10/lib/pkgconfig'
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib'
+make[3]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib'
+make[2]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/lib'
+Making install in extra
+make[2]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/extra'
+Making install in includes
+make[3]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/extra/includes'
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/extra/includes'
+make[4]: Nothing to be done for 'install-exec-am'.
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/extra/includes'
+make[3]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/extra/includes'
+make[3]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/extra'
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/extra'
+make[4]: Nothing to be done for 'install-data-am'.
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/extra'
+make[3]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/extra'
+make[2]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/extra'
+Making install in po
+make[2]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/po'
+installing en@boldquot.gmo as /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.10/share/locale/en@boldquot/LC_MESSAGES/gnutls.mo
+installing en@quot.gmo as /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.10/share/locale/en@quot/LC_MESSAGES/gnutls.mo
+installing cs.gmo as /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.10/share/locale/cs/LC_MESSAGES/gnutls.mo
+installing de.gmo as /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.10/share/locale/de/LC_MESSAGES/gnutls.mo
+installing eo.gmo as /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.10/share/locale/eo/LC_MESSAGES/gnutls.mo
+installing fi.gmo as /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.10/share/locale/fi/LC_MESSAGES/gnutls.mo
+installing fr.gmo as /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.10/share/locale/fr/LC_MESSAGES/gnutls.mo
+installing it.gmo as /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.10/share/locale/it/LC_MESSAGES/gnutls.mo
+installing ms.gmo as /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.10/share/locale/ms/LC_MESSAGES/gnutls.mo
+installing nl.gmo as /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.10/share/locale/nl/LC_MESSAGES/gnutls.mo
+installing pl.gmo as /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.10/share/locale/pl/LC_MESSAGES/gnutls.mo
+installing sv.gmo as /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.10/share/locale/sv/LC_MESSAGES/gnutls.mo
+installing uk.gmo as /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.10/share/locale/uk/LC_MESSAGES/gnutls.mo
+installing vi.gmo as /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.10/share/locale/vi/LC_MESSAGES/gnutls.mo
+installing zh_CN.gmo as /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.10/share/locale/zh_CN/LC_MESSAGES/gnutls.mo
+if test "gnutls" = "gettext-tools"; then \
+ /bin/mkdir -p /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.10/share/gettext/po; \
+ for file in Makefile.in.in remove-potcdate.sin quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot Makevars.template; do \
+ /usr/bin/install -c -m 644 ./$file \
+ /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.10/share/gettext/po/$file; \
+ done; \
+ for file in Makevars; do \
+ rm -f /home/nmav/cvs/gnutls-web/abi-tracker/installed/gnutls/3.4.10/share/gettext/po/$file; \
+ done; \
+else \
+ : ; \
+fi
+make[2]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/po'
+Making install in src/gl
+make[2]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/src/gl'
+make install-recursive
+make[3]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/src/gl'
+make[4]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/src/gl'
+make[5]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/src/gl'
+make[5]: Nothing to be done for 'install-exec-am'.
+make[5]: Nothing to be done for 'install-data-am'.
+make[5]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/src/gl'
+make[4]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/src/gl'
+make[3]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/src/gl'
+make[2]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10/src/gl'
+make[2]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10'
+make[3]: Entering directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10'
+make[3]: Nothing to be done for 'install-exec-am'.
+make[3]: Nothing to be done for 'install-data-am'.
+make[3]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10'
+make[2]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10'
+make[1]: Leaving directory '/tmp/zinbp9wpb_/build/gnutls-3.4.10'
diff --git a/abi-tracker/changelog/gnutls/3.4.10/log.html b/abi-tracker/changelog/gnutls/3.4.10/log.html
new file mode 100644
index 0000000000..7229a257a2
--- /dev/null
+++ b/abi-tracker/changelog/gnutls/3.4.10/log.html
@@ -0,0 +1,8726 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta name="keywords" content="GnuTLS, 3.4.10, changes, changelog" />
+ <meta name="description" content="Log of changes in the package" />
+ <link rel="stylesheet" type="text/css" href="../../../css/common.css" />
+ <link rel="stylesheet" type="text/css" href="../../../css/changelog.css" />
+
+
+ <title>
+ GnuTLS 3.4.10: changelog
+ </title>
+
+ </head>
+
+<body>
+<table cellpadding='0' cellspacing='0'><tr><td align='center'><h1 class='tool'><a title='Home: ABI tracker for GnuTLS' href='../../../timeline/gnutls/index.html' class='tool'>ABI<br/>Tracker</a></h1></td><td width='30px;'></td><td><h1>(GnuTLS)</h1></td></tr></table><hr/>
+<br/>
+<br/>
+<h1>Changelog for <span class='version'>3.4.10</span> version</h1><br/><br/>
+<div class='changelog'>
+<pre class='wrap'>GnuTLS NEWS -- History of user-visible changes. -*- outline -*-
+Copyright (C) 2000-2015 Free Software Foundation, Inc.
+Copyright (C) 2013-2015 Nikos Mavrogiannopoulos
+See the end for copying conditions.
+
+* Version 3.4.10 (released 2016-03-03)
+
+** libgnutls: Eliminated issues preventing buffers more than 2^32 bytes
+ to be used with hashing functions.
+
+** libgnutls: Corrected leaks and other issues in gnutls_x509_crt_list_import().
+
+** libgnutls: Fixes in DSA key handling for PKCS #11. Report and patches
+ by Jan Vcelak.
+
+** libgnutls: Several fixes to prevent relying on undefined behavior of C
+ (found with libubsan).
+
+** API and ABI modifications:
+No changes since last version.
+
+
+* Version 3.4.9 (released 2016-02-03)
+
+** libgnutls: Corrected ALPN protocol negotiation. Before GnuTLS would negotiate
+ the last commonly supported protocol, rather than the first. Reported by
+ Remi Denis-Courmont (#63).
+
+** libgnutls: Tolerate empty DN fields in informational output functions.
+
+** libgnutls: Corrected regression causes by incorrect fix in
+ gnutls_x509_ext_export_key_usage() at 3.4.8 release.
+
+** API and ABI modifications:
+No changes since last version.
+
+
+* Version 3.4.8 (released 2016-01-08)
+
+** libgnutls: Corrected memory leak in gnutls_pubkey_import_privkey() when
+ used with PKCS #11 keys.
+
+** libgnutls: For DSA and ECDSA keys in PKCS #11 objects, import
+ their public keys from either a public key object or a certificate.
+ That is, because private keys do not contain all the required
+ parameters for a direct import. Reported by Jan Vcelak.
+
+** libgnutls: Fixed issue when writing ECDSA private keys in PKCS #11
+ tokens.
+
+** libgnutls: Fixed out-of-bounds read in gnutls_x509_ext_export_key_usage(),
+ report and patch by Tim Kosse.
+
+** libgnutls: The CHACHA20-POLY1305 ciphersuites were updated to conform to
+ draft-ietf-tls-chacha20-poly1305-02.
+
+** libgnutls: Several fixes in PKCS #7 signing which improve compatibility
+ with the MacOSX tools. Reported by sskaje (#59).
+
+** libgnutls: The max-record extension not negotiated on DTLS. This resolves
+ issue with the max-record being negotiated but ignored.
+
+** certtool: Added the --p7-include-cert and --p7-show-data options.
+
+** API and ABI modifications:
+gnutls_pkcs7_get_embedded_data: Added
+
+
+* Version 3.4.7 (released 2015-11-22)
+
+** libgnutls: Properly require TLS 1.2 in all CBC-SHA256 and CBC-SHA384
+ ciphersuites. This solves an interoperability issue with openssl.
+ Reported by Viktor Dukhovni.
+
+** libgnutls: Corrected the setting of salt size in gnutls_pkcs12_mac_info().
+
+** libgnutls: On a rehandshake allow switching from anonymous to ECDHE and
+ DHE ciphersuites.
+
+** libgnutls: Corrected regression from 3.3.x which prevented ARCFOUR128
+ from using arbitrary key sizes. Reported by Andreas Schneider.
+
+** libgnutls: Added GNUTLS_SKIP_GLOBAL_INIT macro to allow programs skipping
+ the implicit global initialization.
+
+** gnutls.pc: Don't include libtool specific options to link flags.
+ Reported by Dan Kegel.
+
+** tools: Better support for FTP AUTH TLS negotiation
+
+** API and ABI modifications:
+gnutls_x509_crt_set_issuer_unique_id: Added
+gnutls_x509_crt_set_subject_unique_id: Added
+gnutls_certificate_set_flags: Added
+GNUTLS_CERTIFICATE_SKIP_KEY_CERT_MATCH: Added
+
+
+* Version 3.4.6 (released 2015-10-20)
+
+** libgnutls: Added new simple verification functions. That avoids the need
+ to install a callback to perform certificate verification. See
+ doc/examples/ex-client-x509.c for usage.
+
+** libgnutls: Introduced the security parameter 'future' which is at
+ the 256-bit level of security, and 'ultra' was aligned to its documented
+ size at 192-bits.
+
+** libgnutls: When writing a certificate into a PKCS #11 token, ensure
+ that CKA_SERIAL_NUMBER and CKA_ISSUER are written. Reported by Sumit
+ Bose.
+
+** libgnutls: Allow the presence of legacy ciphers and key exchanges in
+ priority strings and consider them a no-op.
+
+** libgnutls: Handle the extended master secret as a mandatory extension.
+ That fixes incompatibility issues with Chromium (#45). Reported by
+ Hubert Kario.
+
+** libgnutls: Added the ability to copy a public key into a PKCS #11
+ token.
+
+** tools: Added support for LDAP and XMPP negotiation for STARTTLS.
+
+** p11tool: Allow writing a public key into a PKCS #11 token.
+
+** certtool: Key generation security level was switched to HIGH. That
+ is, by default the tool generates 3072 bit keys for RSA and DSA.
+
+** API and ABI modifications:
+gnutls_session_set_verify_function: Added
+gnutls_session_set_verify_cert: Added
+gnutls_session_set_verify_cert2: Added
+gnutls_session_get_verify_cert_status: Added
+gnutls_pkcs11_copy_pubkey: Added
+
+
+* Version 3.4.5 (released 2015-09-12)
+
+** libgnutls: When re-importing CRLs to a trust list ensure that there
+ no duplicate entries.
+
+** certtool: Removed any arbitrary limits imposed on input file sizes
+ and maximum number of certificates imported.
+
+** certtool: Allow specifying fixed dates on CRL generation.
+
+** gnutls-cli-debug: Added check for inappropriate fallback support
+ (RFC7507).
+
+** API and ABI modifications:
+No changes since last version.
+
+
+* Version 3.4.4 (released 2015-08-10)
+
+** libgnutls: added high level API (gnutls_prf_rfc5705) to access
+ the PRF as specified by RFC5705. Suggestion and original patch
+ by Rick van Rein.
+
+** libgnutls: Link to trousers (TPM library) dynamically when this
+ functionality is requested.
+
+** libgnutls: Fix issue with server side sending the status request
+ extension even when not requested. Reported by Jeremy Harris.
+
+** libgnutls: Added support for RFC7507 by introducing the %FALLBACK_SCSV
+ priority string option. Patch by Alessandro Ghedini.
+
+** libgnutls: gnutls_pkcs11_privkey_generate2() will store the generated
+ public key, unless the GNUTLS_PKCS11_OBJ_FLAG_NO_STORE_PUBKEY flag is
+ specified.
+
+** libgnutls: Corrected regression from 3.4.3 in loading PKCS #8 keys as
+ fallback. Reported by Daniel Berrange.
+
+** libgnutls: Allow the parsing of very long DNs. Also fixes double free
+ in DN decoding [GNUTLS-SA-2015-3].
+
+** API and ABI modifications:
+gnutls_prf_rfc5705: Added
+gnutls_hex_encode2: Added
+gnutls_hex_decode2: Added
+
+
+* Version 3.4.3 (released 2015-07-12)
+
+** libgnutls: Follow closely RFC5280 recommendations and use UTCTime for
+ dates prior to 2050.
+
+** libgnutls: Force 16-byte alignment to all input to ciphers (previously it
+ was done only when cryptodev was enabled).
+
+** libgnutls: Removed support for pthread_atfork() as it has undefined
+ semantics when used with dlopen(), and may lead to a crash.
+
+** libgnutls: corrected failure when importing plain files
+ with gnutls_x509_privkey_import2(), and a password was provided.
+
+** libgnutls: Don't reject certificates if a CA has the URI or IP address
+ name constraints, and the end certificate doesn't have an IP address
+ name or a URI set.
+
+** libgnutls: set and read the hint in DHE-PSK and ECDHE-PSK ciphersuites.
+
+** p11tool: Added --list-token-urls option, and print the token module name
+ in list-tokens.
+
+** API and ABI modifications:
+gnutls_ecc_curve_get_oid: Added
+gnutls_digest_get_oid: Added
+gnutls_pk_get_oid: Added
+gnutls_sign_get_oid: Added
+gnutls_ecc_curve_get_id: Added
+gnutls_oid_to_digest: Added
+gnutls_oid_to_pk: Added
+gnutls_oid_to_sign: Added
+gnutls_oid_to_ecc_curve: Added
+gnutls_pkcs7_get_signature_count: Added
+
+
+* Version 3.4.2 (released 2015-06-16)
+
+** libgnutls: DTLS blocking API is more robust against infinite blocking,
+and will notify of more possible timeouts.
+
+** libgnutls: corrected regression with Camellia-256-GCM cipher. Reported
+by Manuel Pegourie-Gonnard.
+
+** libgnutls: Introduced the GNUTLS_NO_SIGNAL flag to gnutls_init(). That
+allows to disable SIGPIPE for writes done within gnutls.
+
+** libgnutls: Enhanced the PKCS #7 API to allow signing and verification
+of structures. API moved to gnutls/pkcs7.h header.
+
+** certtool: Added options to generate PKCS #7 bundles and signed
+structures.
+
+** API and ABI modifications:
+gnutls_x509_dn_get_str: Added
+gnutls_pkcs11_get_raw_issuer_by_subject_key_id: Added
+gnutls_x509_trust_list_get_issuer_by_subject_key_id: Added
+gnutls_x509_crt_verify_data2: Added
+gnutls_pkcs7_get_crt_raw2: Added
+gnutls_pkcs7_signature_info_deinit: Added
+gnutls_pkcs7_get_signature_info: Added
+gnutls_pkcs7_verify_direct: Added
+gnutls_pkcs7_verify: Added
+gnutls_pkcs7_get_crl_raw2: Added
+gnutls_pkcs7_sign: Added
+gnutls_pkcs7_attrs_deinit: Added
+gnutls_pkcs7_add_attr: Added
+gnutls_pkcs7_get_attr: Added
+gnutls_pkcs7_print: Added
+
+
+* Version 3.4.1 (released 2015-05-03)
+
+** libgnutls: gnutls_certificate_get_ours: will return the certificate even
+if a callback was used to send it.
+
+** libgnutls: Check for invalid length in the X.509 version field. Without
+the check certificates with invalid length would be detected as having an
+arbitrary version. Reported by Hanno Böck.
+
+** libgnutls: Handle DNS name constraints with a leading dot. Patch by
+Fotis Loukos.
+
+** libgnutls: Updated system-keys support for windows to compile in more
+versions of mingw. Patch by Tim Kosse.
+
+** libgnutls: Fix for MD5 downgrade in TLS 1.2 signatures. Reported by
+Karthikeyan Bhargavan [GNUTLS-SA-2015-2].
+
+** libgnutls: Reverted: The gnutls_handshake() process will enforce a timeout
+by default. That caused issues with non-blocking programs.
+
+** certtool: It can generate SHA256 key IDs.
+
+** gnutls-cli: fixed crash in --benchmark-ciphers. Reported by James Cloos.
+
+** configure: re-enabled the --enable-local-libopts flag
+
+** API and ABI modifications:
+gnutls_x509_crt_get_pk_ecc_raw: Added
+
+
+* Version 3.4.0 (released 2015-04-08)
+
+** libgnutls: Added support for AES-CCM and AES-CCM-8 (RFC6655 and RFC7251)
+ciphersuites. The former are enabled by default, the latter need to be
+explicitly enabled, since they reduce the overall security level.
+
+** libgnutls: Added support for Chacha20-Poly1305 ciphersuites following
+draft-mavrogiannopoulos-chacha-tls-05 and draft-irtf-cfrg-chacha20-poly1305-10.
+That is currently provided as technology preview and is not enabled by
+default, since there are no assigned ciphersuite points by IETF and there
+is no guarrantee of compatibility between draft versions. The ciphersuite
+priority string to enable it is "+CHACHA20-POLY1305".
+
+** libgnutls: Added support for encrypt-then-authenticate in CBC
+ciphersuites (RFC7366 -taking into account its errata text). This is
+enabled by default and can be disabled using the %NO_ETM priority
+string.
+
+** libgnutls: Added support for the extended master secret
+(triple-handshake fix) following draft-ietf-tls-session-hash-02.
+
+** libgnutls: Added a new simple and hard to misuse AEAD API (crypto.h).
+
+** libgnutls: SSL 3.0 is no longer included in the default priorities
+list. It has to be explicitly enabled, e.g., with a string like
+"NORMAL:+VERS-SSL3.0".
+
+** libgnutls: ARCFOUR (RC4) is no longer included in the default priorities
+list. It has to be explicitly enabled, e.g., with a string like
+"NORMAL:+ARCFOUR-128".
+
+** libgnutls: DSA signatures and DHE-DSS are no longer included in the
+default priorities list. They have to be explicitly enabled, e.g., with
+a string like "NORMAL:+DHE-DSS:+SIGN-DSA-SHA256:+SIGN-DSA-SHA1". The
+DSA ciphersuites were dropped because they had no deployment at all
+on the internet, to justify their inclusion.
+
+** libgnutls: The priority string EXPORT was completely removed. The string
+was already defunc as support for the EXPORT ciphersuites was removed in
+GnuTLS 3.2.0.
+
+** libgnutls: Added API to utilize system specific private keys in
+"gnutls/system-keys.h". It is currently provided as technology preview
+and is restricted to windows CNG keys.
+
+** libgnutls: gnutls_x509_crt_check_hostname() and friends will use
+RFC6125 comparison of hostnames. That introduces a dependency on libidn.
+
+** libgnutls: Depend on p11-kit 0.23.1 to comply with the final
+PKCS #11 URLs draft (draft-pechanec-pkcs11uri-21).
+
+** libgnutls: Depend on nettle 3.1.
+
+** libgnutls: Use getrandom() or getentropy() when available. That
+avoids the complexity of file descriptor handling and issues with
+applications closing all open file descriptors on startup.
+
+** libgnutls: Use pthread_atfork() to detect fork when available.
+
+** libgnutls: If a key purpose (extended key usage) is specified for verification,
+it is applied into intermediate certificates. The verification result
+GNUTLS_CERT_PURPOSE_MISMATCH is also introduced.
+
+** libgnutls: When gnutls_certificate_set_x509_key_file2() is used in
+combination with PKCS #11, or TPM URLs, it will utilize the provided
+password as PIN if required. That removes the requirement for the
+application to set a callback for PINs in that case.
+
+** libgnutls: priority strings VERS-TLS-ALL and VERS-DTLS-ALL are
+restricted to the corresponding protocols only, and the VERS-ALL
+string is introduced to catch all possible protocols.
+
+** libgnutls: Added helper functions to obtain information on PKCS #8
+structures.
+
+** libgnutls: Certificate chains which are provided to gnutls_certificate_credentials_t
+will automatically be sorted instead of failing with GNUTLS_E_CERTIFICATE_LIST_UNSORTED.
+
+** libgnutls: Added functions to export and set the record state. That
+allows for gnutls_record_send() and recv() to be offloaded (to kernel,
+hardware or any other subsystem).
+
+** libgnutls: Added the ability to register application specific URL
+types, which express certificates and keys using gnutls_register_custom_url().
+
+** libgnutls: Added API to override existing ciphers, digests and MACs, e.g.,
+to override AES-GCM using a system-specific accelerator. That is, (crypto.h)
+gnutls_crypto_register_cipher(), gnutls_crypto_register_aead_cipher(),
+gnutls_crypto_register_mac(), and gnutls_crypto_register_digest().
+
+** libgnutls: Added gnutls_ext_register() to register custom extensions.
+Contributed by Thierry Quemerais.
+
+** libgnutls: Added gnutls_supplemental_register() to register custom
+supplemental data handshake messages. Contributed by Thierry Quemerais.
+
+** libgnutls-openssl: it is no longer built by default.
+
+
+** certtool: Added --p8-info option, which will print PKCS #8 information
+even if the password is not available.
+
+** certtool: --key-info option will print PKCS #8 encryption information
+when available.
+
+** certtool: Added the --key-id and --fingerprint options.
+
+** certtool: Added the --verify-hostname, --verify-email and --verify-purpose
+options to be used in certificate chain verification, to simulate verification
+for specific hostname and key purpose (extended key usage).
+
+** certtool: --p12-info option will print PKCS #12 MAC and cipher information
+when available.
+
+** certtool: it will print the A-label (ACE) names in addition to UTF-8.
+
+** p11tool: added options --set-id and --set-label.
+
+** gnutls-cli: added options --priority-list and --save-cert.
+
+** guile: Deprecated priority API has been removed. The old priority API,
+which had been deprecated for some time, is now gone; use 'set-session-priorities!'
+instead.
+
+** guile: Remove RSA parameters and related procedures. This API had been
+deprecated.
+
+** guile: Fix compilation on MinGW. Previously only the static version of the
+'guile-gnutls-v-2' library would be built, preventing dynamic loading from Guile.
+
+** API and ABI modifications:
+gnutls_record_get_state: Added
+gnutls_record_set_state: Added
+gnutls_aead_cipher_init: Added
+gnutls_aead_cipher_decrypt: Added
+gnutls_aead_cipher_encrypt: Added
+gnutls_aead_cipher_deinit: Added
+gnutls_pkcs12_generate_mac2: Added
+gnutls_pkcs12_mac_info: Added
+gnutls_pkcs12_bag_enc_info: Added
+gnutls_pkcs8_info: Added
+gnutls_pkcs_schema_get_name: Added
+gnutls_pkcs_schema_get_oid: Added
+gnutls_pcert_export_x509: Added
+gnutls_pcert_export_openpgp: Added
+gnutls_pcert_import_x509_list: Added
+gnutls_pkcs11_privkey_cpy: Added
+gnutls_x509_crq_get_signature_algorithm: Added
+gnutls_x509_trust_list_iter_get_ca: Added
+gnutls_x509_trust_list_iter_deinit: Added
+gnutls_x509_trust_list_get_issuer_by_dn: Added
+gnutls_pkcs11_get_raw_issuer_by_dn: Added
+gnutls_certificate_get_trust_list: Added
+gnutls_privkey_export_x509: Added
+gnutls_privkey_export_pkcs11: Added
+gnutls_privkey_export_openpgp: Added
+gnutls_privkey_import_ext3: Added
+gnutls_certificate_get_x509_key: Added
+gnutls_certificate_get_x509_crt: Added
+gnutls_certificate_get_openpgp_key: Added
+gnutls_certificate_get_openpgp_crt: Added
+gnutls_record_discard_queued: Added
+gnutls_session_ext_master_secret_status: Added
+gnutls_priority_string_list: Added
+gnutls_dh_params_import_raw2: Added
+gnutls_memset: Added
+gnutls_memcmp: Added
+gnutls_pkcs12_bag_set_privkey: Added
+gnutls_ocsp_resp_get_responder_raw_id: Added
+gnutls_system_key_iter_deinit: Added
+gnutls_system_key_iter_get_info: Added
+gnutls_system_key_delete: Added
+gnutls_system_key_add_x509: Added
+gnutls_system_recv_timeout: Added
+gnutls_register_custom_url: Added
+gnutls_pkcs11_obj_list_import_url3: Added
+gnutls_pkcs11_obj_list_import_url4: Added
+gnutls_pkcs11_obj_set_info: Added
+gnutls_crypto_register_cipher: Added
+gnutls_crypto_register_aead_cipher: Added
+gnutls_crypto_register_mac: Added
+gnutls_crypto_register_digest: Added
+gnutls_ext_register: Added
+gnutls_supplemental_register: Added
+gnutls_supplemental_recv: Added
+gnutls_supplemental_send: Added
+gnutls_openpgp_crt_check_email: Added
+gnutls_x509_crt_check_email: Added
+gnutls_handshake_set_hook_function: Modified
+gnutls_pkcs11_privkey_generate3: Added
+gnutls_pkcs11_copy_x509_crt2: Added
+gnutls_pkcs11_copy_x509_privkey2: Added
+gnutls_pkcs11_obj_list_import_url: Removed
+gnutls_pkcs11_obj_list_import_url2: Removed
+gnutls_certificate_client_set_retrieve_function: Removed
+gnutls_certificate_server_set_retrieve_function: Removed
+gnutls_certificate_set_rsa_export_params: Removed
+gnutls_certificate_type_set_priority: Removed
+gnutls_cipher_set_priority: Removed
+gnutls_compression_set_priority: Removed
+gnutls_kx_set_priority: Removed
+gnutls_mac_set_priority: Removed
+gnutls_protocol_set_priority: Removed
+gnutls_rsa_export_get_modulus_bits: Removed
+gnutls_rsa_export_get_pubkey: Removed
+gnutls_rsa_params_cpy: Removed
+gnutls_rsa_params_deinit: Removed
+gnutls_rsa_params_export_pkcs1: Removed
+gnutls_rsa_params_export_raw: Removed
+gnutls_rsa_params_generate2: Removed
+gnutls_rsa_params_import_pkcs1: Removed
+gnutls_rsa_params_import_raw: Removed
+gnutls_rsa_params_init: Removed
+gnutls_sign_callback_get: Removed
+gnutls_sign_callback_set: Removed
+gnutls_x509_crt_verify_data: Removed
+gnutls_x509_crt_verify_hash: Removed
+gnutls_pubkey_get_verify_algorithm: Removed
+gnutls_x509_crt_get_verify_algorithm: Removed
+gnutls_pubkey_verify_hash: Removed
+gnutls_pubkey_verify_data: Removed
+gnutls_record_set_max_empty_records: Removed
+
+guile:
+set-session-cipher-priority!: Removed
+set-session-mac-priority!: Removed
+set-session-compression-method-priority!: Removed
+set-session-kx-priority!: Removed
+set-session-protocol-priority!: Removed
+set-session-certificate-type-priority!: Removed
+set-session-default-priority!: Removed
+set-session-default-export-priority!: Removed
+make-rsa-parameters: Removed
+rsa-parameters?: Removed
+set-certificate-credentials-rsa-export-parameters!: Removed
+pkcs1-import-rsa-parameters: Removed
+pkcs1-export-rsa-parameters: Removed
+
+
+
+* Version 3.3.6 (released 2014-07-23)
+
+** libgnutls: Use inet_ntop to print IP addresses when available
+
+** libgnutls: gnutls_x509_crt_check_hostname and friends will also check
+IP addresses, and match documented behavior. Reported by David Woodhouse.
+
+** libgnutls: DSA key generation in FIPS140-2 mode doesn't allow 1024
+bit parameters.
+
+** libgnutls: fixed issue in gnutls_pkcs11_reinit() which prevented tokens
+being usable after a reinitialization.
+
+** libgnutls: fixed PKCS #11 private key operations after a fork.
+
+** libgnutls: fixed PKCS #11 ECDSA key generation.
+
+** libgnutls: The GNUTLS_CPUID_OVERRIDE environment variable can be used to
+explicitly enable/disable the use of certain CPU capabilities. Note that CPU
+detection cannot be overriden, i.e., VIA options cannot be enabled on an Intel
+CPU. The currently available options are:
+ 0x1: Disable all run-time detected optimizations
+ 0x2: Enable AES-NI
+ 0x4: Enable SSSE3
+ 0x8: Enable PCLMUL
+ 0x100000: Enable VIA padlock
+ 0x200000: Enable VIA PHE
+ 0x400000: Enable VIA PHE SHA512
+
+** libdane: added dane_query_to_raw_tlsa(); patch by Simon Arlott.
+
+** p11tool: use GNUTLS_SO_PIN to read the security officer's PIN if set.
+
+** p11tool: ask for label when one isn't provided.
+
+** p11tool: added --batch parameter to disable any interactivity.
+
+** p11tool: will not implicitly enable so-login for certain types of
+objects. That avoids issues with tokens that require different login
+types.
+
+** certtool/p11tool: Added the --curve parameter which allows to explicitly
+specify the curve to use.
+
+** API and ABI modifications:
+gnutls_certificate_set_x509_trust_dir: Added
+gnutls_x509_trust_list_add_trust_dir: Added
+
+
+* Version 3.3.5 (released 2014-06-26)
+
+** libgnutls: Added gnutls_record_recv_packet() and gnutls_packet_deinit().
+These functions provide a variant of gnutls_record_recv() that avoids
+the final memcpy of data.
+
+** libgnutls: gnutls_x509_crl_iter_crt_serial() was added as a
+faster variant of gnutls_x509_crl_get_crt_serial() when coping with
+very large structures.
+
+** libgnutls: When the decoding of a printable DN element fails, then treat
+it as unknown and print its hex value rather than failing. That works around
+an issue in a TURKTRST root certificate which improperly encodes the
+X520countryName element.
+
+** libgnutls: gnutls_x509_trust_list_add_trust_file() will return the number
+of certificates present in a PKCS #11 token when loading it.
+
+** libgnutls: Allow the post client hello callback to put the handshake on
+hold, by returning GNUTLS_E_AGAIN or GNUTLS_E_INTERRUPTED.
+
+** certtool: option --to-p12 will now consider --load-ca-certificate
+
+** certtol: Added option to specify the PKCS #12 friendly name on command
+line.
+
+** p11tool: Allow marking a certificate copied to a token as a CA.
+
+** API and ABI modifications:
+GNUTLS_PKCS11_OBJ_FLAG_MARK_CA: Added
+gnutls_x509_crl_iter_deinit: Added
+gnutls_x509_crl_iter_crt_serial: Added
+gnutls_record_recv_packet: Added
+gnutls_packet_deinit: Added
+gnutls_packet_get: Added
+
+
+* Version 3.3.4 (released 2014-05-31)
+
+** libgnutls: Updated Andy Polyakov's assembly code. That prevents a
+crash on certain CPUs.
+
+** API and ABI modifications:
+No changes since last version.
+
+
+* Version 3.3.3 (released 2014-05-30)
+
+** libgnutls: Eliminated memory corruption issue in Server Hello parsing.
+Issue reported by Joonas Kuorilehto of Codenomicon.
+
+** libgnutls: gnutls_global_set_mutex() was modified to operate with the
+new initialization process.
+
+** libgnutls: Increased the maximum certificate size buffer
+in the PKCS #11 subsystem.
+
+** libgnutls: Check the return code of getpwuid_r() instead of relying
+on the result value. That avoids issue in certain systems, when using
+tofu authentication and the home path cannot be determined. Issue reported
+by Viktor Dukhovni.
+
+** libgnutls-dane: Improved dane_verify_session_crt(), which now attempts to
+create a full chain. This addresses points from https://savannah.gnu.org/support/index.php?108552
+
+** gnutls-cli: --dane will only check the end certificate if PKIX validation
+has been disabled.
+
+** gnutls-cli: --benchmark-soft-ciphers has been removed. That option cannot
+be emulated with the implicit initialization of gnutls.
+
+** certtool: Allow multiple organizations and organizational unit names to
+be specified in a template.
+
+** certtool: Warn when invalid configuration options are set to a template.
+
+** ocsptool: Include path in ocsp request. This resolves #108582
+(https://savannah.gnu.org/support/?108582), reported by Matt McCutchen.
+
+** API and ABI modifications:
+gnutls_credentials_get: Added
+
+
+* Version 3.3.2 (released 2014-05-06)
+
+** libgnutls: Added the 'very weak' certificate verification profile
+that corresponds to 64-bit security level.
+
+** libgnutls: Corrected file descriptor leak on random generator
+initialization.
+
+** libgnutls: Corrected file descriptor leak on PSK password file
+reading. Issue identified using the Codenomicon TLS test suite.
+
+** libgnutls: Avoid deinitialization if initialization has failed.
+
+** libgnutls: null-terminate othername alternative names.
+
+** libgnutls: gnutls_x509_trust_list_get_issuer() will operate correctly
+on a PKCS #11 trust list.
+
+** libgnutls: Several small bug fixes identified using valgrind and
+the Codenomicon TLS test suite.
+
+** libgnutls-dane: Accept a certificate using DANE if there is at least one
+entry that matches the certificate. Patch by simon [at] arlott.org.
+
+** libgnutls-guile: Fixed compilation issue.
+
+** certtool: Allow exporting a CRL on DER format.
+
+** certtool: The ECDSA keys generated by default use the SECP256R1 curve
+which is supported more widely than the previously used SECP224R1.
+
+** API and ABI modifications:
+GNUTLS_PROFILE_VERY_WEAK: Added
+
+
+* Version 3.3.1 (released 2014-04-19)
+
+** libgnutls: Enforce more strict checks to heartbeat messages
+concerning padding and payload. Suggested by Peter Dettman.
+
+** libgnutls: Allow decoding PKCS #8 files with ECC parameters
+from openssl.
+
+** libgnutls: Several small bug fixes found by coverity.
+
+** libgnutls: The conditionally available self-test functions
+were moved to self-test.h.
+
+** libgnutls: Fixed issue with the check of incoming data when two
+different recv and send pointers have been specified. Reported and
+investigated by JMRecio.
+
+** libgnutls: Fixed issue in the RSA-PSK key exchange, which would
+result to illegal memory access if a server hint was provided. Reported
+by André Klitzing.
+
+** libgnutls: Fixed client memory leak in the PSK key exchange, if a
+server hint was provided.
+
+** libgnutls: Corrected the *get_*_othername_oid() functions.
+
+** API and ABI modifications:
+No changes since last version.
+
+
+* Version 3.3.0 (released 2014-04-10)
+
+** libgnutls: The initialization of the library was moved to a
+constructor. That is, gnutls_global_init() is no longer required
+unless linking with a static library or a system that does not
+support library constructors.
+
+** libgnutls: static libraries are not built by default.
+
+** libgnutls: PKCS #11 initialization is delayed to first usage.
+That avoids long delays in gnutls initialization due to broken PKCS #11
+modules.
+
+** libgnutls: The PKCS #11 subsystem is re-initialized "automatically"
+on the first PKCS #11 API call after a fork.
+
+** libgnutls: certificate verification profiles were introduced
+that can be specified as flags to verification functions. They
+are enumerations in gnutls_certificate_verification_profiles_t
+and can be converted to flags for use in a verification function
+using GNUTLS_PROFILE_TO_VFLAGS().
+
+** libgnutls: Added the ability to read system-specific initial
+keywords, if they are prefixed with '@'. That allows a compile-time
+specified configuration file to be used to read pre-configured priority
+strings from. That can be used to impose system specific policies.
+
+** libgnutls: Increased the default security level of priority
+strings (NORMAL and PFS strings require at minimum a 1008 DH prime),
+and set a verification profile by default. The LEGACY keyword is
+introduced to set the old defaults.
+
+** libgnutls: Added support for the name constraints PKIX extension.
+Currently only DNS names and e-mails are supported (no URIs, IPs
+or DNs).
+
+** libgnutls: Security parameter SEC_PARAM_NORMAL was renamed to
+SEC_PARAM_MEDIUM to avoid confusion with the priority string NORMAL.
+
+** libgnutls: Added new API in x509-ext.h to handle X.509 extensions.
+This API handles the X.509 extensions in isolation, allowing to parse
+similarly formatted extensions stored in other structures.
+
+** libgnutls: When generating DSA keys the macro GNUTLS_SUBGROUP_TO_BITS
+can be used to specify a particular subgroup as the number of bits in
+gnutls_privkey_generate; e.g., GNUTLS_SUBGROUP_TO_BITS(2048, 256).
+
+** libgnutls: DH parameter generation is now delegated to nettle.
+That unfortunately has the side-effect that DH parameters longer than
+3072 bits, cannot be generated (not without a nettle update).
+
+** libgnutls: Separated nonce RNG from the main RNG. The nonce
+random number generator is based on salsa20/12.
+
+** libgnutls: The buffer alignment provided to crypto backend is
+enforced to be 16-byte aligned, when compiled with cryptodev
+support. That allows certain cryptodev drivers to operate more
+efficiently.
+
+** libgnutls: Return error when a public/private key pair that doesn't
+match is set into a credentials structure.
+
+** libgnutls: Depend on p11-kit 0.20.0 or later.
+
+** libgnutls: The new padding (%NEW_PADDING) experimental TLS extension has
+been removed. It was not approved by IETF.
+
+** libgnutls: The experimental xssl library is removed from the gnutls
+distribution.
+
+** libgnutls: Reduced the number of gnulib modules used in the main library.
+
+** libgnutls: Added priority string %DISABLE_WILDCARDS.
+
+** libgnutls: Added the more extensible verification function
+gnutls_certificate_verify_peers(), that allows checking, in addition
+to a peer's DNS hostname, for the key purpose of the end certificate
+(via PKIX extended key usage).
+
+** certtool: Timestamps for serial numbers were increased to 8 bytes,
+and in batch mode to 12 (appended with 4 random bytes).
+
+** certtool: When no CRL number is provided (or value set to -1), then
+a time-based number will be used, similarly to the serial generation
+number in certificates.
+
+** certtool: Print the SHA256 fingerprint of a certificate in addition
+to SHA1.
+
+** libgnutls: Added --enable-fips140-mode configuration option (unsupported).
+That option enables (when running on FIPS140-enabled system):
+ o RSA, DSA and DH key generation as in FIPS-186-4 (using provable primes)
+ o The DRBG-CTR-AES256 deterministic random generator from SP800-90A.
+ o Self-tests on initialization on ciphers/MACs, public key algorithms
+ and the random generator.
+ o HMAC-SHA256 verification of the library on load.
+ o MD5 is included for TLS purposes but cannot be used by the high level
+ hashing functions.
+ o All ciphers except AES are disabled.
+ o All MACs and hashes except GCM and SHA are disabled (e.g., HMAC-MD5).
+ o All keys (temporal and long term) are zeroized after use.
+ o Security levels are adjusted to the FIPS140-2 recommendations (rather
+ than ECRYPT).
+
+** API and ABI modifications:
+GNUTLS_VERIFY_DO_NOT_ALLOW_WILDCARDS: Added
+gnutls_certificate_verify_peers: Added
+gnutls_privkey_generate: Added
+gnutls_pkcs11_crt_is_known: Added
+gnutls_fips140_mode_enabled: Added
+gnutls_sec_param_to_symmetric_bits: Added
+gnutls_pubkey_export_ecc_x962: Added (replaces gnutls_pubkey_get_pk_ecc_x962)
+gnutls_pubkey_export_ecc_raw: Added (replaces gnutls_pubkey_get_pk_ecc_raw)
+gnutls_pubkey_export_dsa_raw: Added (replaces gnutls_pubkey_get_pk_dsa_raw)
+gnutls_pubkey_export_rsa_raw: Added (replaces gnutls_pubkey_get_pk_rsa_raw)
+gnutls_pubkey_verify_params: Added
+gnutls_privkey_export_ecc_raw: Added
+gnutls_privkey_export_dsa_raw: Added
+gnutls_privkey_export_rsa_raw: Added
+gnutls_privkey_import_ecc_raw: Added
+gnutls_privkey_import_dsa_raw: Added
+gnutls_privkey_import_rsa_raw: Added
+gnutls_privkey_verify_params: Added
+gnutls_x509_crt_check_hostname2: Added
+gnutls_openpgp_crt_check_hostname2: Added
+gnutls_x509_name_constraints_init: Added
+gnutls_x509_name_constraints_deinit: Added
+gnutls_x509_crt_get_name_constraints: Added
+gnutls_x509_name_constraints_add_permitted: Added
+gnutls_x509_name_constraints_add_excluded: Added
+gnutls_x509_crt_set_name_constraints: Added
+gnutls_x509_name_constraints_get_permitted: Added
+gnutls_x509_name_constraints_get_excluded: Added
+gnutls_x509_name_constraints_check: Added
+gnutls_x509_name_constraints_check_crt: Added
+gnutls_x509_crl_get_extension_data2: Added
+gnutls_x509_crt_get_extension_data2: Added
+gnutls_x509_crq_get_extension_data2: Added
+gnutls_subject_alt_names_init: Added
+gnutls_subject_alt_names_deinit: Added
+gnutls_subject_alt_names_get: Added
+gnutls_subject_alt_names_set: Added
+gnutls_x509_ext_import_subject_alt_names: Added
+gnutls_x509_ext_export_subject_alt_names: Added
+gnutls_x509_crl_dist_points_init: Added
+gnutls_x509_crl_dist_points_deinit: Added
+gnutls_x509_crl_dist_points_get: Added
+gnutls_x509_crl_dist_points_set: Added
+gnutls_x509_ext_import_crl_dist_points: Added
+gnutls_x509_ext_export_crl_dist_points: Added
+gnutls_x509_ext_import_name_constraints: Added
+gnutls_x509_ext_export_name_constraints: Added
+gnutls_x509_aia_init: Added
+gnutls_x509_aia_deinit: Added
+gnutls_x509_aia_get: Added
+gnutls_x509_aia_set: Added
+gnutls_x509_ext_import_aia: Added
+gnutls_x509_ext_export_aia: Added
+gnutls_x509_ext_import_subject_key_id: Added
+gnutls_x509_ext_export_subject_key_id: Added
+gnutls_x509_ext_export_authority_key_id: Added
+gnutls_x509_ext_import_authority_key_id: Added
+gnutls_x509_aki_init: Added
+gnutls_x509_aki_get_id: Added
+gnutls_x509_aki_get_cert_issuer: Added
+gnutls_x509_aki_set_id: Added
+gnutls_x509_aki_set_cert_issuer: Added
+gnutls_x509_aki_deinit: Added
+gnutls_x509_ext_import_private_key_usage_period: Added
+gnutls_x509_ext_export_private_key_usage_period: Added
+gnutls_x509_ext_import_basic_constraints: Added
+gnutls_x509_ext_export_basic_constraints: Added
+gnutls_x509_ext_import_key_usage: Added
+gnutls_x509_ext_export_key_usage: Added
+gnutls_x509_ext_import_proxy: Added
+gnutls_x509_ext_export_proxy: Added
+gnutls_x509_policies_init: Added
+gnutls_x509_policies_deinit: Added
+gnutls_x509_policies_get: Added
+gnutls_x509_policies_set: Added
+gnutls_x509_ext_import_policies: Added
+gnutls_x509_ext_export_policies: Added
+gnutls_x509_key_purpose_init: Added
+gnutls_x509_key_purpose_deinit: Added
+gnutls_x509_key_purpose_set: Added
+gnutls_x509_key_purpose_get: Added
+gnutls_x509_ext_import_key_purposes: Added
+gnutls_x509_ext_export_key_purposes: Added
+gnutls_digest_self_test: Added (conditionally)
+gnutls_mac_self_test: Added (conditionally)
+gnutls_pk_self_test: Added (conditionally)
+gnutls_cipher_self_test: Added (conditionally)
+gnutls_global_set_mem_functions: Deprecated
+
+
+* Version 3.2.6 (released 2013-10-31)
+
+** libgnutls: Support for TPM via trousers is now enabled by default.
+
+** libgnutls: Camellia in GCM mode has been added in default priorities, and
+GCM mode is prioritized over CBC in all of the default priority strings.
+
+** libgnutls: Added ciphersuite GNUTLS_ECDHE_RSA_AES_256_CBC_SHA384.
+
+** libgnutls: Fixed ciphersuites GNUTLS_ECDHE_ECDSA_CAMELLIA_256_CBC_SHA384,
+GNUTLS_ECDHE_RSA_CAMELLIA_256_CBC_SHA384 and GNUTLS_PSK_CAMELLIA_128_GCM_SHA256.
+Reported by Stefan Buehler.
+
+** libgnutls: Added support for ISO OID for RSA-SHA1 signatures.
+
+** libgnutls: Minimum acceptable DH group parameters were increased to 767
+bits from 727.
+
+** libgnutls: Added function to obtain random data from PKCS #11 tokens.
+Contributed by Wolfgang Meyer zu Bergsten.
+
+** gnulib: updated.
+
+** libdane: Fixed a one-off bug in dane_query_tlsa() introduced by the
+previous fix. Reported by Tomas Mraz.
+
+** p11tool: Added option generate-random.
+
+** API and ABI modifications:
+gnutls_pkcs11_token_get_random: Added
+
+
+* Version 3.2.5 (released 2013-10-23)
+
+** libgnutls: Documentation and build-time fixes.
+
+** libgnutls: Allow the generation of DH groups of less than 700 bits.
+
+** libgnutls: Added several combinations of ciphersuites with SHA256 and SHA384 as MAC,
+as well as Camellia with GCM.
+
+** libdane: Added interfaces to allow initialization of dane_query_t from
+external DNS resolutions, and to allow direct verification of a certificate
+chain against a dane_query_t. Contributed by Christian Grothoff.
+
+** libdane: Fixed a buffer overflow in dane_query_tlsa(). This could be
+triggered by a DNS server supplying more than 4 DANE records. Report and fix
+by Christian Grothoff.
+
+** srptool: Fixed index command line option. Patch by Attila Molnar.
+
+** gnutls-cli: Added support for inline commands, using the
+--inline-commands-prefix and --inline-commands options. Patch by Raj Raman.
+
+** certtool: pathlen constraint is now read correctly. Reported by
+Christoph Seitz.
+
+** API and ABI modifications:
+gnutls_certificate_get_crt_raw: Added
+dane_verify_crt_raw: Added
+dane_raw_tlsa: Added
+
+
+* Version 3.2.4 (released 2013-08-31)
+
+** libgnutls: Fixes when session tickets and session DB are used.
+Report and initial patch by Stefan Buehler.
+
+** libgnutls: Added the RSA-PSK key exchange. Patch by by Frank Morgner,
+based on previous patch by Bardenheuer GmbH and Bundesdruckerei GmbH.
+
+** libgnutls: Added ciphersuites that use ARCFOUR with ECDHE. Patch
+by Stefan Buehler.
+
+** libgnutls: Added the PFS priority string option.
+
+** libgnutls: Gnulib included files are strictly LGPLv2.
+
+** libgnutls: Corrected gnutls_certificate_server_set_request().
+Reported by Petr Pisar.
+
+** API and ABI modifications:
+gnutls_record_set_timeout: Exported
+
+
+* Version 3.2.3 (released 2013-07-30)
+
+** libgnutls: Fixes in parsing of priority strings. Patch by Stefan Buehler.
+
+** libgnutls: Solve issue with received TLS packets that exceed 2^14.
+(this fixes a bug that was accidentally introduced in 3.2.2)
+
+** libgnutls: Removed gnulib modules under LGPLv3 that could possibly be
+used by the library.
+
+** libgnutls: Fixes in gnutls_record_send_range(). Report and initial fix by
+Alfredo Pironti.
+
+** API and ABI modifications:
+gnutls_priority_kx_list: Added
+gnutls_priority_mac_list: Added
+gnutls_priority_cipher_list: Added
+
+
+* Version 3.2.2 (released 2013-07-14)
+
+** libgnutls: Several optimizations in the related to packet processing
+subsystems.
+
+** libgnutls: DTLS replay detection can now be disabled (to be used
+in certain transport layers like SCTP).
+
+** libgnutls: Fixes in SRTP extension generation when MKI is being
+used.
+
+** libgnutls: Added ability to set hooks before or after sending or receiving
+any handshake message with gnutls_handshake_set_hook_function().
+
+** API and ABI modifications:
+GNUTLS_NO_REPLAY_PROTECTION: Added
+gnutls_certificate_set_trust_list: Added
+gnutls_cipher_get_tag_size: Added
+gnutls_record_overhead_size: Added
+gnutls_est_record_overhead_size: Added
+gnutls_handshake_set_hook_function: Added
+gnutls_handshake_description_get_name: Added
+gnutls_digest_list: Added
+gnutls_digest_get_id: Added
+gnutls_digest_get_name: Added
+
+
+* Version 3.2.1 (released 2013-06-01)
+
+** libgnutls: Allow ECC when in SSL 3.0 to work-around a bug in certain
+openssl versions.
+
+** libgnutls: Fixes in interrupted function resumption. Report
+and patch by Tim Kosse.
+
+** libgnutls: Corrected issue when receiving client hello verify requests
+in DTLS.
+
+** libgnutls: Fixes in DTLS record overhead size calculations.
+
+** libgnutls: gnutls_handshake_get_last_in() was fixed. Reported
+by Mann Ern Kang.
+
+** API and ABI modifications:
+gnutls_session_set_id: Added
+
+
+* Version 3.2.0 (released 2013-05-10)
+
+** libgnutls: Use nettle's elliptic curve implementation.
+
+** libgnutls: Added Salsa20 cipher
+
+** libgnutls: Added UMAC-96 and UMAC-128
+
+** libgnutls: Added ciphersuites involving Salsa20 and UMAC-96.
+As they are not standardized they are defined using private ciphersuite
+numbers.
+
+** libgnutls: Added support for DTLS 1.2.
+
+** libgnutls: Added support for the Application Layer Protocol Negotiation
+(ALPN) extension.
+
+** libgnutls: Removed support for the RSA-EXPORT ciphersuites.
+
+** libgnutls: Avoid linking to librt (that also avoids unnecessary
+linking to pthreads if p11-kit isn't used).
+
+** API and ABI modifications:
+gnutls_cipher_get_iv_size: Added
+gnutls_hmac_set_nonce: Added
+gnutls_mac_get_nonce_size: Added
+
+
+* Version 3.1.10 (released 2013-03-22)
+
+** certtool: When generating PKCS #12 files use by default the
+ARCFOUR (RC4) cipher to be compatible with devices that don't
+support AES with PKCS #12.
+
+** libgnutls: Load CA certificates in android 4.x systems.
+
+** libgnutls: Optimized CA certificate loading.
+
+** libgnutls: Private keys are overwritten on deinitialization.
+
+** libgnutls: PKCS #11 slots are scanned only when needed, not
+on initialization. This speeds up gnutls initialization when smart
+cards are present.
+
+** libgnutls: Corrected issue in the (deprecated) external key
+signing interface, when used with TLS 1.2. Reported by Bjorn H. Christensen.
+
+** libgnutls: Fixes in openpgp handshake with fingerprints. Reported by
+Joke de Buhr.
+
+** libgnutls-dane: Updated DANE verification options.
+
+** configure: Trust store file must be explicitly set or unset when
+cross compiling.
+
+** API and ABI modifications:
+gnutls_x509_crt_get_issuer_dn2: Added
+gnutls_x509_crt_get_dn2: Added
+gnutls_x509_crl_get_issuer_dn2: Added
+gnutls_x509_crq_get_dn2: Added
+gnutls_x509_trust_list_remove_trust_mem: Added
+gnutls_x509_trust_list_remove_trust_file: Added
+gnutls_x509_trust_list_remove_cas: Added
+gnutls_session_get_desc: Added
+gnutls_privkey_sign_raw_data: Added
+gnutls_privkey_status: Added
+
+
+* Version 3.1.9 (released 2013-02-27)
+
+** certtool: Option --to-p12 will now ask for a password to generate
+a PKCS #12 file from an encrypted key file. Reported by Yan Fiz.
+
+** libgnutls: Corrected issue in gnutls_pubkey_verify_data().
+
+** libgnutls: Corrected parsing issue in XMPP within a subject
+alternative name. Reported by James Cloos.
+
+** libgnutls: gnutls_pkcs11_reinit() will reinitialize all PKCS #11
+modules, and not only the ones loaded via p11-kit.
+
+** libgnutls: Added function to check whether the private key is
+still available (inserted).
+
+** libgnutls: Try to detect fork even during nonce generation.
+
+** API and ABI modifications:
+gnutls_handshake_set_random: Added
+gnutls_transport_set_int2: Added
+gnutls_transport_get_int2: Added
+gnutls_transport_get_int: Added
+gnutls_record_cork: Exported
+gnutls_record_uncork: Exported
+gnutls_pkcs11_privkey_status: Added
+
+
+* Version 3.1.8 (released 2013-02-10)
+
+** libgnutls: Fixed issue in gnutls_x509_privkey_import2() which didn't return
+GNUTLS_E_DECRYPTION_FAILED in all cases, and affect certtool operation
+with encrypted keys. Reported by Yan Fiz.
+
+** libgnutls: The minimum DH bits accepted by priorities NORMAL and
+PERFORMANCE was set to previous defaults 727 bits. Reported by Diego
+Elio Petteno.
+
+** libgnutls: Corrected issue which prevented gnutls_pubkey_verify_hash()
+to operate with long keys. Reported by Erik A Jensen.
+
+** API and ABI modifications:
+No changes since last version.
+
+
+* Version 3.1.7 (released 2013-02-04)
+
+** certtool: Added option "dn" which allows to directly set the DN
+in a template from an RFC4514 string.
+
+** danetool: Added options: --dlv and --insecure. Suggested by Paul Wouters.
+
+** libgnutls-xssl: Added a new library to simplify GnuTLS usage.
+
+** libgnutls-dane: Added function to specify a DLV file.
+
+** libgnutls: Heartbeat code was made optional.
+
+** libgnutls: Fixes in server side of DTLS-0.9.
+
+** libgnutls: DN variable 'T' was expanded to 'title'.
+
+** libgnutls: Fixes in record padding parsing to prevent a timing attack.
+Issue reported by Kenny Paterson and Nadhem Alfardan.
+
+** libgnutls: Added functions to directly set the DN in a certificate
+or request from an RFC4514 string.
+
+** libgnutls: Optimizations in the random generator. The re-seeding of
+it is now explicitly done on every session deinit.
+
+** libgnutls: Simplified the DTLS sliding window implementation.
+
+** libgnutls: The minimum DH bits accepted by a client are now set
+by the specified priority string. The current values correspond to the
+previous defaults (727 bits), except for the SECURE128 and SECURE192
+strings which increase the minimum to 1248 and 1776 respectively.
+
+** libgnutls: Added the gnutls_record_cork() and uncork API to enable
+buffering in sending application data.
+
+** libgnutls: Removed default random padding, and added a length-hiding interface
+instead. Both the server and the client must support this extension. Whether
+length-hiding can be used on a given session can be checked using
+gnutls_record_can_use_length_hiding(). Contributed by Alfredo Pironti.
+
+** libgnutls: Added the experimental %NEW_PADDING priority string. It enables
+a new padding mechanism in TLS allowing arbitrary padding in TLS records
+in all ciphersuites, which makes length-hiding more efficient and solves
+the issues with timing attacks on CBC ciphersuites.
+
+** libgnutls: Corrected gnutls_cipher_decrypt2() when used with AEAD
+ciphers (i.e., AES-GCM). Reported by William McGovern.
+
+** API and ABI modifications:
+gnutls_db_check_entry_time: Added
+gnutls_record_set_timeout: Added
+gnutls_record_get_random_padding_status: Added
+gnutls_x509_crt_set_dn: Added
+gnutls_x509_crt_set_issuer_dn: Added
+gnutls_x509_crq_set_dn: Added
+gnutls_range_split: Added
+gnutls_record_send_range: Added
+gnutls_record_set_max_empty_records: Added
+gnutls_record_can_use_length_hiding: Added
+gnutls_rnd_refresh: Added
+xssl_deinit: Added
+xssl_flush: Added
+xssl_read: Added
+xssl_getdelim: Added
+xssl_write: Added
+xssl_printf: Added
+xssl_sinit: Added
+xssl_client_init: Added
+xssl_server_init: Added
+xssl_get_session: Added
+xssl_get_verify_status: Added
+xssl_cred_init: Added
+xssl_cred_deinit: Added
+dane_state_set_dlv_file: Added
+GNUTLS_SEC_PARAM_EXPORT: Added
+GNUTLS_SEC_PARAM_VERY_WEAK: Added
+
+
+* Version 3.1.6 (released 2013-01-02)
+
+** libgnutls: Fixed record padding parsing issue. Reported by Kenny
+Paterson and Nadhem Alfardan.
+
+** libgnutls: Several updates in the ASN.1 string handling subsystem.
+
+** libgnutls: gnutls_x509_crt_get_policy() allows for a list of zero
+policy qualifiers.
+
+** libgnutls: Ignore heartbeat messages when received out-of-order,
+instead of issuing an error.
+
+** libgnutls: Stricter RSA PKCS #1 1.5 encoding and decoding. Reported
+by Kikuchi Masashi.
+
+** libgnutls: TPM support is disabled by default because GPL programs
+cannot link with it. Use --with-tpm to enable it.
+
+** libgnutls-guile: Fixed parallel compilation issue.
+
+** gnutls-cli: It will try to connect to all possible returned addresses
+before failing.
+
+** API and ABI modifications:
+No changes since last version.
+
+
+* Version 3.1.5 (released 2012-11-24)
+
+** libgnutls: Added functions to parse the certificates policies
+extension.
+
+** libgnutls: Handle BMPString (UCS-2) encoding in the Distinguished
+Name by translating it to UTF-8 (works on windows or systems with iconv).
+
+** libgnutls: Added PKCS #11 key generation function that returns the
+public key on generation.
+
+** libgnutls: Corrected bug in priority string parsing, that mostly
+affected combined levels. Patch by Tim Kosse.
+
+** certtool: The --pubkey-info option can be combined with the
+--load-privkey or --load-request to print the corresponding public keys.
+
+** certtool: It is able to set certificate policies via a template.
+
+** certtool: Added --hex-numbers option which prints big numbers in
+an easier to parse format.
+
+** p11tool: After key generation, outputs the public key (useful in
+tokens that do not store the public key).
+
+** danetool: It is being built even without libgnutls-dane (the
+--check functionality is disabled though).
+
+** API and ABI modifications:
+gnutls_pkcs11_privkey_generate2: Added
+gnutls_x509_crt_get_policy: Added
+gnutls_x509_crt_set_policy: Added
+gnutls_x509_policy_release: Added
+gnutls_pubkey_import_x509_crq: Added
+gnutls_pubkey_print: Added
+GNUTLS_CRT_PRINT_FULL_NUMBERS: Added
+
+
+* Version 3.1.4 (released 2012-11-10)
+
+** libgnutls: gnutls_certificate_verify_peers2() will set flags depending on
+the available revocation data validity.
+
+** libgnutls: Added gnutls_certificate_verification_status_print(),
+a function to print the verification status code in human readable text.
+
+** libgnutls: Added priority string %VERIFY_DISABLE_CRL_CHECKS.
+
+** libgnutls: Simplified certificate verification by adding
+gnutls_certificate_verify_peers3().
+
+** libgnutls: Added support for extension to establish keys for SRTP.
+Contributed by Martin Storsjo.
+
+** libgnutls: The X.509 verification functions check the key
+usage bits and pathlen constraints and on failure output
+GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE.
+
+** libgnutls: gnutls_x509_crl_verify() includes the time checks.
+
+** libgnutls: Added verification flag GNUTLS_VERIFY_DO_NOT_ALLOW_UNSORTED_CHAIN
+and made GNUTLS_VERIFY_ALLOW_UNSORTED_CHAIN the default.
+
+** libgnutls: Always tolerate key usage violation errors from the side
+of the peer, but also notify via an audit message.
+
+** gnutls-cli: Added --local-dns option.
+
+** danetool: Corrected bug that prevented loading PEM files.
+
+** danetool: Added --check option to allow querying and verifying
+a site's DANE data.
+
+** libgnutls-dane: Added pkg-config file for the library.
+
+** API and ABI modifications:
+gnutls_session_get_id2: Added
+gnutls_sign_is_secure: Added
+gnutls_certificate_verify_peers3: Added
+gnutls_ocsp_status_request_is_checked: Added
+gnutls_certificate_verification_status_print: Added
+gnutls_srtp_set_profile: Added
+gnutls_srtp_set_profile_direct: Added
+gnutls_srtp_get_selected_profile: Added
+gnutls_srtp_get_profile_name: Added
+gnutls_srtp_get_profile_id: Added
+gnutls_srtp_get_keys: Added
+gnutls_srtp_get_mki: Added
+gnutls_srtp_set_mki: Added
+gnutls_srtp_profile_t: Added
+dane_cert_type_name: Added
+dane_match_type_name: Added
+dane_cert_usage_name: Added
+dane_verification_status_print: Added
+GNUTLS_CERT_REVOCATION_DATA_SUPERSEDED: Added
+GNUTLS_CERT_REVOCATION_DATA_ISSUED_IN_FUTURE: Added
+GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE: Added
+GNUTLS_CERT_UNEXPECTED_OWNER: Added
+GNUTLS_VERIFY_DO_NOT_ALLOW_UNSORTED_CHAIN: Added
+
+
+* Version 3.1.3 (released 2012-10-12)
+
+** libgnutls: Added support for the OCSP Certificate Status
+extension.
+
+** libgnutls: gnutls_certificate_verify_peers2() will use the OCSP
+certificate status extension in verification.
+
+** libgnutls: Bug fixes in gnutls_x509_privkey_import_openssl().
+
+** libgnutls: Increased maximum password length in the PKCS #12
+functions.
+
+** libgnutls: Fixed the receipt of session tickets during session resumption.
+Reported by danblack at http://savannah.gnu.org/support/?108146
+
+** libgnutls: Added functions to export structures in an allocated buffer.
+
+** libgnutls: Added gnutls_ocsp_resp_check_crt() to check whether the OCSP
+response corresponds to the given certificate.
+
+** libgnutls: In client side gnutls_init() enables the session ticket and
+OCSP certificate status request extensions by default. The flag
+GNUTLS_NO_EXTENSIONS can be used to prevent that.
+
+** libgnutls: Several updates in the OpenPGP code. The generating code
+is fully RFC6091 compliant and RFC5081 support is only supported in client
+mode.
+
+** libgnutls-dane: Added. It is a library to provide DANE with DNSSEC
+certificate verification.
+
+** gnutls-cli: Added --dane option to enable DANE certificate verification.
+
+** danetool: Added tool to generate DANE TLSA Resource Records (RR).
+
+** API and ABI modifications:
+gnutls_certificate_get_peers_subkey_id: Added
+gnutls_certificate_set_ocsp_status_request_function: Added
+gnutls_certificate_set_ocsp_status_request_file: Added
+gnutls_ocsp_status_request_enable_client: Added
+gnutls_ocsp_status_request_get: Added
+gnutls_ocsp_resp_check_crt: Added
+gnutls_dh_params_export2_pkcs3: Added
+gnutls_pubkey_export2: Added
+gnutls_x509_crt_export2: Added
+gnutls_x509_dn_export2: Added
+gnutls_x509_crl_export2: Added
+gnutls_pkcs7_export2: Added
+gnutls_x509_privkey_export2: Added
+gnutls_x509_privkey_export2_pkcs8: Added
+gnutls_x509_crq_export2: Added
+gnutls_openpgp_crt_export2: Added
+gnutls_openpgp_privkey_export2: Added
+gnutls_pkcs11_obj_export2: Added
+gnutls_pkcs12_export2: Added
+gnutls_pubkey_import_openpgp_raw: Added
+gnutls_pubkey_import_x509_raw: Added
+dane_state_init: Added
+dane_state_deinit: Added
+dane_query_tlsa: Added
+dane_query_status: Added
+dane_query_entries: Added
+dane_query_data: Added
+dane_query_deinit: Added
+dane_verify_session_crt: Added
+dane_verify_crt: Added
+dane_strerror: Added
+
+
+* Version 3.1.2 (released 2012-09-26)
+
+** libgnutls: Fixed bug in gnutls_x509_trust_list_add_system_trust()
+and gnutls_x509_trust_list_add_trust_mem() that prevented the loading
+of certificates in the windows platform.
+
+** libgnutls: Corrected bug in OpenPGP subpacket encoding.
+
+** libgnutls: Added support for DTLS/TLS heartbeats by Olga Smolenchuk.
+(the work was done during Google Summer of Code).
+
+** libgnutls: Added X.509 certificate verification flag
+GNUTLS_VERIFY_ALLOW_UNSORTED_CHAIN. This flag allows the verification
+of unsorted certificate chains and is enabled by default for
+TLS certificate verification (if gnutls_certificate_set_verify_flags()
+does not override it).
+
+** libgnutls: Prints warning on certificates that contain keys of
+an insecure level. If the %COMPAT priority flag is not specified
+the TLS connection fails.
+
+** libgnutls: Correctly restore gnutls_record_recv() in DTLS mode
+if interrupted during the retrasmition of handshake data.
+
+** libgnutls: Better mingw32 support (patch by LRN).
+
+** libgnutls: The %COMPAT keyword, if specified, will tolerate
+key usage violation errors (they are far too common to ignore).
+
+** libgnutls: Added GNUTLS_STATELESS_COMPRESSION flag to gnutls_init(),
+which provides a tool to counter compression-related attacks where
+parts of the data are controlled by the attacker _and_ are placed in
+separate records (use with care - do not use compression if not sure).
+
+** libgnutls: Depends on libtasn1 2.14 or later.
+
+** certtool: Prints the number of bits of the public key algorithm
+parameter in a private key.
+
+** API and ABI modifications:
+gnutls_x509_privkey_get_pk_algorithm2: Added
+gnutls_heartbeat_ping: Added
+gnutls_heartbeat_pong: Added
+gnutls_heartbeat_allowed: Added
+gnutls_heartbeat_enable: Added
+gnutls_heartbeat_set_timeouts: Added
+gnutls_heartbeat_get_timeout: Added
+GNUTLS_SEC_PARAM_WEAK: Added
+GNUTLS_SEC_PARAM_INSECURE: Added
+
+* Version 3.1.1 (released 2012-09-02)
+
+** gnutls-serv: Listens on IPv6. Patch by Bernhard R. Link.
+
+** certtool: Changes in password handling of certtool.
+Ask password when required and only if the '--password' option is not
+given. If the '--password' option is given during key generation then
+assume the PKCS #8 file format, instead of ignoring the password.
+
+** tpmtool: No longer asks for key password in registered keys.
+
+** libgnutls: Elliptic curve code was optimized by Ilya Tumaykin.
+wmNAF is now used for point multiplication and other optimizations.
+(the major part of the work was done during Google Summer of Code).
+
+** libgnutls: The default pull_timeout_function only uses select
+instead of a combination of select() and recv() to prevent issues
+when used in stream sockets in some systems.
+
+** libgnutls: Be tolerant in ECDSA signature violations (e.g. using
+SHA256 with a SECP384 curve instead of SHA-384), to interoperate with
+openssl.
+
+** libgnutls: Fixed DSA and ECDSA signature generation in smart
+cards. Thanks to Andreas Schwier from cardcontact.de for providing
+me with ECDSA capable smart cards.
+
+** API and ABI modifications:
+gnutls_sign_algorithm_get: Added
+gnutls_sign_get_hash_algorithm: Added
+gnutls_sign_get_pk_algorithm: Added
+
+
+* Version 3.1.0 (released 2012-08-15)
+
+** libgnutls: Added direct support for TPM as a cryptographic module
+in gnutls/tpm.h. TPM keys can be used in functions accepting files
+using URLs of the following types:
+ tpmkey:file=/path/to/file
+ tpmkey:uuid=7f468c16-cb7f-11e1-824d-b3a4f4b20343;storage=user
+
+** libgnutls: Priority string level keywords can be combined.
+For example the string "SECURE256:+SUITEB128" is now allowed.
+
+** libgnutls: requires libnettle 2.5.
+
+** libgnutls: Use the PKCS #1 1.5 encoding provided by nettle (2.5)
+for encryption and signatures.
+
+** libgnutls: Added GNUTLS_CERT_SIGNATURE_FAILURE to differentiate between
+generic errors and signature verification errors in the verification
+functions.
+
+** libgnutls: Added gnutls_pkcs12_simple_parse() as a helper function
+to simplify parsing in most PKCS #12 use cases.
+
+** libgnutls: gnutls_certificate_set_x509_simple_pkcs12_file() adds
+the whole certificate chain (if any) to the credentials structure, instead
+of only the end-user certificate.
+
+** libgnutls: Key import functions such as gnutls_pkcs12_simple_parse()
+and gnutls_x509_privkey_import_pkcs8(), return consistently
+GNUTLS_E_DECRYPTION_FAILED if the input structure is encrypted but no
+password was provided.
+
+** libgnutls: Added gnutls_handshake_set_timeout() a function that
+allows to set the maximum time spent in a handshake.
+
+** libgnutlsxx: Added session::set_transport_vec_push_function. Patch
+by Alexandre Bique.
+
+** tpmtool: Added. It is a tool to generate private keys in the
+TPM.
+
+** gnutls-cli: --benchmark-tls was split to --benchmark-tls-kx
+and --benchmark-tls-ciphers
+
+** certtool: generated PKCS #12 structures may hold more than one
+private key. Patch by Lucas Fisher.
+
+** certtool: Added option --null-password to generate/decrypt keys
+that use a NULL password (in schemas that distinguish between NULL
+an empty passwords).
+
+** minitasn1: Upgraded to libtasn1 version 2.13.
+
+** API and ABI modifications:
+GNUTLS_CERT_SIGNATURE_FAILURE: Added
+GNUTLS_CAMELLIA_192_CBC: Added
+GNUTLS_PKCS_NULL_PASSWORD: Added
+gnutls_url_is_supported: Added
+gnutls_pkcs11_obj_list_import_url2: Added
+gnutls_pkcs11_obj_set_pin_function: Added
+gnutls_pkcs11_privkey_set_pin_function: Added
+gnutls_pkcs11_get_pin_function: Added
+gnutls_privkey_import_tpm_raw: Added
+gnutls_privkey_import_tpm_url: Added
+gnutls_privkey_import_pkcs11_url: Added
+gnutls_privkey_import_openpgp_raw: Added
+gnutls_privkey_import_x509_raw: Added
+gnutls_privkey_import_ext2: Added
+gnutls_privkey_import_url: Added
+gnutls_privkey_set_pin_function: Added
+gnutls_tpm_privkey_generate: Added
+gnutls_tpm_key_list_deinit: Added
+gnutls_tpm_key_list_get_url: Added
+gnutls_tpm_get_registered: Added
+gnutls_tpm_privkey_delete: Added
+gnutls_pubkey_import_tpm_raw: Added
+gnutls_pubkey_import_tpm_url: Added
+gnutls_pubkey_import_url: Added
+gnutls_pubkey_verify_hash2: Added
+gnutls_pubkey_set_pin_function: Added
+gnutls_x509_privkey_import2: Added
+gnutls_x509_privkey_import_openssl: Added
+gnutls_x509_crt_set_pin_function: Added
+gnutls_load_file: Added
+gnutls_pkcs12_simple_parse: Added
+gnutls_certificate_set_x509_system_trust: Added
+gnutls_certificate_set_pin_function: Added
+gnutls_x509_trust_list_add_system_trust: Added
+gnutls_x509_trust_list_add_trust_file: Added
+gnutls_x509_trust_list_add_trust_mem: Added
+gnutls_pk_to_sign: Added
+gnutls_handshake_set_timeout: Added
+gnutls_pubkey_verify_hash: Deprecated (use gnutls_pubkey_verify_hash2)
+gnutls_pubkey_verify_data: Deprecated (use gnutls_pubkey_verify_data2)
+
+
+* Version 3.0.22 (released 2012-08-04)
+
+** libgnutls: gnutls_certificate_set_x509_system_trust()
+is now supported on OpenBSD.
+
+** libgnutls: When verifying a certificate chain make sure it is chain.
+If the chain is wronly interrupted at some point then truncate it,
+and only try to verify the correct part. Patch by David Woodhouse
+
+** libgnutls: Restored the behavior of gnutls_x509_privkey_import_pkcs8()
+which now may (again) accept a NULL password.
+
+** certtool: Allow the user to choose the hash algorithm
+when signing certificate request or certificate revocation list.
+Patch by Petr Písař.
+
+** API and ABI modifications:
+No changes since last version.
+
+
+* Version 3.0.21 (released 2012-07-02)
+
+** libgnutls: fixed bug in gnutls_x509_privkey_import()
+that prevented the loading of EC private keys when DER
+encoded. Reported by David Woodhouse.
+
+** libgnutls: In DTLS larger to mtu records result to
+GNUTLS_E_LARGE_PACKET instead of being truncated.
+
+** libgnutls: gnutls_dtls_get_data_mtu() is more precise. Based
+on patch by David Woodhouse.
+
+** libgnutls: Fixed memory leak in PKCS #8 key import.
+
+** libgnutls: Added support for an old version of the DTLS protocol
+used by openconnect vpn client for compatibility with Cisco's AnyConnect
+SSL VPN. It is marked as GNUTLS_DTLS0_9. Do not use it for newer protocols
+as it has issues.
+
+** libgnutls: Corrected bug that prevented resolving PKCS #11 URLs
+if only the label is specified. Patch by David Woodhouse.
+
+** libgnutls: When EMSGSIZE errno is seen then GNUTLS_E_LARGE_PACKET
+is returned.
+
+** API and ABI modifications:
+gnutls_dtls_set_data_mtu: Added
+gnutls_session_set_premaster: Added
+
+
+* Version 3.0.20 (released 2012-06-05)
+
+** libgnutls: Corrected bug which prevented the parsing of
+handshake packets spanning multiple records.
+
+** libgnutls: Check key identifiers when checking for an issuer.
+
+** libgnutls: Added gnutls_pubkey_verify_hash2()
+
+** libgnutls: Added gnutls_certificate_set_x509_system_trust()
+that loads the trusted CA certificates from system locations
+(e.g. trusted storage in windows and CA bundle files in other systems).
+
+** certtool: Added support for the URI subject alternative
+name type in certtool.
+
+** certtool: Increase to 128 the maximum number of distinct options
+(e.g. dns_names) allowed.
+
+** gnutls-cli: If --print-cert is given, print the certificate,
+even on verification failure.
+
+** API and ABI modifications:
+gnutls_pk_to_sign: Added
+gnutls_pubkey_verify_hash2: Added
+gnutls_certificate_set_x509_system_trust: Added
+
+
+* Version 3.0.19 (released 2012-04-22)
+
+** libgnutls: When decoding a PKCS #11 URL the pin-source field
+is assumed to be a file that stores the pin. Based on patch
+by David Smith.
+
+** libgnutls: gnutls_record_check_pending() no longer
+returns unprocessed data, and thus ensure the non-blocking
+of the next call to gnutls_record_recv().
+
+** libgnutls: Added strict tests in Diffie-Hellman and
+SRP key exchange public keys.
+
+** libgnutls: in ECDSA and DSA TLS 1.2 authentication be less
+strict in hash selection, and allow a stronger hash to
+be used than the appropriate, to improve interoperability
+with openssl.
+
+** tests: Disabled floating point test, and corrections
+in pkcs12 decoding tests.
+
+** API and ABI modifications:
+No changes since last version.
+
+
+* Version 3.0.18 (released 2012-04-02)
+
+** certtool: Avoid a Y2K38 bug when generating certificates.
+Patch by Robert Millan.
+
+** libgnutls: Make sure that GNUTLS_E_PREMATURE_TERMINATION
+is returned on premature termination (and added unit test).
+
+** libgnutls: Fixes for W64 API. Patch by B. Scott Michel.
+
+** libgnutls: Corrected VIA padlock detection for old
+VIA processors. Reported by Kris Karas.
+
+** libgnutls: Updated assembler files.
+
+** libgnutls: Time in generated certificates is stored
+as GeneralizedTime instead of UTCTime (which only stores
+2 digits of a year).
+
+** minitasn1: Upgraded to libtasn1 version 2.13 (pre-release).
+
+** API and ABI modifications:
+gnutls_x509_crt_set_private_key_usage_period: Added
+gnutls_x509_crt_get_private_key_usage_period: Added
+gnutls_x509_crq_set_private_key_usage_period: Added
+gnutls_x509_crq_get_private_key_usage_period: Added
+gnutls_session_get_random: Added
+
+
+* Version 3.0.17 (released 2012-03-17)
+
+** command line apps: Always link with local libopts.
+
+** API and ABI modifications:
+No changes since last version.
+
+
+* Version 3.0.16 (released 2012-03-16)
+
+** minitasn1: Upgraded to libtasn1 version 2.12 (pre-release).
+
+** libgnutls: Corrected SRP-RSA ciphersuites when used under TLS 1.2.
+
+** libgnutls: included assembler files for MacOSX.
+
+** p11tool: Small fixes in handling of the --private command
+line option.
+
+** certtool: The template option allows for setting the domain
+component (DC) option of the distinguished name, and the ocsp_uri
+as well as the ca_issuers_uri options.
+
+** API and ABI modifications:
+gnutls_x509_crt_set_authority_info_access: Added
+
+
+* Version 3.0.15 (released 2012-03-02)
+
+** test suite: Only run under valgrind in the development
+system (the full git repository)
+
+** command line apps: Link with local libopts if the
+installed is an old one.
+
+** libgnutls: Eliminate double free during SRP
+authentication. Reported by Peter Penzov.
+
+** libgnutls: Corrections in record packet parsing.
+Reported by Matthew Hall.
+
+** libgnutls: Cryptodev updates and fixes.
+
+** libgnutls: Corrected issue with select() that affected
+FreeBSD. This prevented establishing DTLS sessions.
+Reported by Andreas Metzler.
+
+** libgnutls: Corrected rehandshake and resumption
+operations in DTLS. Reported by Sean Buckheister.
+
+** libgnutls: PKCS #11 objects that do not have ID
+no longer crash listing. Reported by Sven Geggus.
+
+** API and ABI modifications:
+No changes since last version.
+
+
+* Version 3.0.14 (released 2012-02-24)
+
+** command line apps: Included libopts doesn't get installed
+by default.
+
+** libgnutls: Eliminate double free on wrongly formatted
+certificate list. Reported by Remi Gacogne.
+
+** libgnutls: cryptodev code corrected, updated to account
+for hashes and GCM mode.
+
+** libgnutls: Eliminated memory leak in PCKS #11 initialization.
+Report and fix by Sam Varshavchik.
+
+** API and ABI modifications:
+No changes since last version.
+
+
+* Version 3.0.13 (released 2012-02-18)
+
+** gnutls-cli: added the --ocsp option which will verify
+the peer's certificate with OCSP.
+
+** gnutls-cli: added the --tofu option and if specified, gnutls-cli
+will use an ssh-style authentication method.
+
+** gnutls-cli: if no --x509cafile is provided a default is
+assumed (/etc/ssl/certs/ca-certificates.crt), if it exists.
+
+** ocsptool: Added --ask parameter, to verify a certificate's
+status from an ocsp server.
+
+** command line apps: Use gnu autogen (libopts) to parse command
+line arguments and template files.
+
+** tests: Added stress test for DTLS packet losses and
+out-of-order receival. Contributed by Sean Buckheister.
+
+** libgnutls: Several updates and corrections in the DTLS
+DTLS lost packet handling and retransmission timeouts.
+Report and patches by Sean Buckheister.
+
+** libgnutls: Added new functions to easily allow the usage of
+a trust on first use (SSH-style) authentication.
+
+** libgnutls: SUITEB128 and SUITEB192 priority strings account
+for the RFC6460 requirements.
+
+** libgnutls: Added new security parameter GNUTLS_SEC_PARAM_LEGACY
+to account for security level of 96-bits.
+
+** libgnutls: In client side if server does not advertise any
+known CAs and only a single certificate is set in the credentials,
+sent that one.
+
+** libgnutls: Added functions to parse authority key identifiers
+when stored as a 'general name' and serial combo.
+
+** libgnutls: Added function to force explicit reinitialization
+of PKCS #11 modules. This is required on the child process after
+a fork (if PKCS #11 functionality is desirable).
+
+** libgnutls: Depend on p11-kit 0.11.
+
+** API and ABI modifications:
+gnutls_dtls_get_timeout: Added
+gnutls_verify_stored_pubkey: Added
+gnutls_store_pubkey: Added
+gnutls_store_commitment: Added
+gnutls_x509_crt_get_authority_key_gn_serial: Added
+gnutls_x509_crl_get_authority_key_gn_serial: Added
+gnutls_pkcs11_reinit: Added
+gnutls_ecc_curve_list: Added
+gnutls_priority_certificate_type_list: Added
+gnutls_priority_sign_list: Added
+gnutls_priority_protocol_list: Added
+gnutls_priority_compression_list: Added
+gnutls_priority_ecc_curve_list: Added
+gnutls_tdb_init: Added
+gnutls_tdb_set_store_func: Added
+gnutls_tdb_set_store_commitment_func: Added
+gnutls_tdb_set_verify_func: Added
+gnutls_tdb_deinit: Added
+
+
+* Version 3.0.12 (released 2012-01-20)
+
+** libgnutls: Added OCSP support.
+There is a new header file gnutls/ocsp.h and a set of new functions
+under the gnutls_ocsp namespace. Currently the functionality provided
+is to parse and extract information from OCSP requests/responses, to
+generate OCSP requests and to verify OCSP responses. See the manual
+for more information. Run ./configure with --disable-ocsp to build
+GnuTLS without OCSP support.
+
+This work was sponsored by Smoothwall &lt;http://smoothwall.net/&gt;.
+
+** ocsptool: Added new command line tool.
+The tool can parse OCSP request/responses, generate OCSP requests and
+verify OCSP responses. See the manual for more information.
+
+** certtool: --outder option now works for private
+and public keys as well.
+
+** libgnutls: Added error code GNUTLS_E_NO_PRIORITIES_WERE_SET
+to warn when no or insufficient priorities were set.
+
+** libgnutls: Corrected an alignment issue in ECDH
+key generation which prevented some keys from being
+correctly aligned in rare circumstances.
+
+** libgnutls: Corrected memory leaks in DH parameter
+generation and ecc_projective_check_point().
+
+** libgnutls: Added gnutls_x509_dn_oid_name() to
+return a descriptive name of a DN OID.
+
+** API and ABI modifications:
+gnutls_pubkey_encrypt_data: Added
+gnutls_x509_dn_oid_name: Added
+gnutls_session_resumption_requested: Added
+gnutls/ocsp.h: Added new header file.
+gnutls_ocsp_print_formats_t: Added new type.
+gnutls_ocsp_resp_status_t: Added new type.
+gnutls_ocsp_cert_status_t: Added new type.
+gnutls_x509_crl_reason_t: Added new type.
+gnutls_ocsp_req_add_cert: Added.
+gnutls_ocsp_req_add_cert_id: Added.
+gnutls_ocsp_req_deinit: Added.
+gnutls_ocsp_req_export: Added.
+gnutls_ocsp_req_get_cert_id: Added.
+gnutls_ocsp_req_get_extension: Added.
+gnutls_ocsp_req_get_nonce: Added.
+gnutls_ocsp_req_get_version: Added.
+gnutls_ocsp_req_import: Added.
+gnutls_ocsp_req_init: Added.
+gnutls_ocsp_req_print: Added.
+gnutls_ocsp_req_randomize_nonce: Added.
+gnutls_ocsp_req_set_extension: Added.
+gnutls_ocsp_req_set_nonce: Added.
+gnutls_ocsp_resp_deinit: Added.
+gnutls_ocsp_resp_export: Added.
+gnutls_ocsp_resp_get_certs: Added.
+gnutls_ocsp_resp_get_extension: Added.
+gnutls_ocsp_resp_get_nonce: Added.
+gnutls_ocsp_resp_get_produced: Added.
+gnutls_ocsp_resp_get_responder: Added.
+gnutls_ocsp_resp_get_response: Added.
+gnutls_ocsp_resp_get_signature: Added.
+gnutls_ocsp_resp_get_signature_algorithm: Added.
+gnutls_ocsp_resp_get_single: Added.
+gnutls_ocsp_resp_get_status: Added.
+gnutls_ocsp_resp_get_version: Added.
+gnutls_ocsp_resp_import: Added.
+gnutls_ocsp_resp_init: Added.
+gnutls_ocsp_resp_print: Added.
+gnutls_ocsp_resp_verify: Added.
+
+* Version 3.0.11 (released 2012-01-06)
+
+** libgnutls: Corrected functionality of
+gnutls_record_get_direction(). Reported by Philip Allison.
+
+** libgnutls: Provide less timing information when decoding
+TLS/DTLS record packets. Patch by Nadhem Alfardan.
+
+** API and ABI modifications:
+No changes since last version.
+
+
+* Version 3.0.10 (released 2012-01-04)
+
+** gnutls-cli/serv: Set don't fragment bit in DTLS sessions
+in Linux as well as in BSD.
+
+** gnutls-cli: Fixed reading from windows terminals.
+
+** libgnutls: When GNUTLS_OPENPGP_FMT_BASE64 is specified
+the stream is assumed to be base64 encoded (previously
+the encoding was auto-detected). This avoids a decoding
+issue in windows systems.
+
+** libgnutls: Corrected ciphersuite GNUTLS_ECDHE_PSK_AES_256_CBC_SHA384
+
+** libgnutls: Added ciphersuites: GNUTLS_PSK_WITH_AES_256_GCM_SHA384
+and GNUTLS_DHE_PSK_WITH_AES_256_GCM_SHA384.
+
+** libgnutls: Added function gnutls_random_art() to convert
+fingerprints to images (currently ascii-art).
+
+** libgnutls: Corrected bug in DSA private key parsing, which
+prevented the verification of the key.
+
+** API and ABI modifications:
+gnutls_random_art: Added
+
+
+* Version 3.0.9 (released 2011-12-13)
+
+** certtool: Added new parameter --dh-info.
+
+** certtool: -l option was overloaded so if combined with --priority
+it will only list the ciphersuites that are enabled by the given
+priority string.
+
+** libgnutls: Added new priority string %SERVER_PRECEDENCE, which
+changes the ciphersuite selection procedure. If specified the server
+priorities will be used for selection instead of the client's.
+
+** libgnutls: Optimizations in Diffie-Hellman parameters generation
+and key exchange.
+
+** libgnutls: When session tickets are negotiated and used in a
+session, a server will not store that session data into its cache.
+
+** libgnutls: Added the SECP192R1 curve.
+
+** libgnutls: Added gnutls_priority_get_cipher_suite_index() to
+allow listing the ciphersuites enabled in a priority structure.
+It outputs an index to be used in gnutls_get_cipher_suite_info().
+
+** libgnutls: Optimizations in the elliptic curve code --timing
+attacks resistant code is only used in ECDSA private key operations.
+
+** doc: man pages for API functions generation was fixed and are
+now added again in the distribution.
+
+** API and ABI modifications:
+GNUTLS_ECC_CURVE_SECP192R1: New curve definition
+gnutls_priority_get_cipher_suite_index: Added
+
+
+* Version 3.0.8 (released 2011-11-12)
+
+** certtool: Certtool -e returns error code on verification
+failure.
+
+** certtool: Verifies parameters of generated keys.
+
+** libgnutls: Corrected ECC key generation (introduced in 3.0.6)
+
+** libgnutls: Provide less timing information when decoding
+TLS/DTLS record packets.
+
+** doc: man pages for API functions were removed.
+The reason was that the code that auto-generated the man pages missed
+many APIs and we couldn't fix it (volunteers welcome). See the info
+manual or the GTK-DOC manual instead.
+
+** API and ABI modifications:
+gnutls_x509_privkey_verify_params: Added
+
+
+* Version 3.0.7 (released 2011-11-08)
+
+** libgnutls: Corrected fix in gnutls_session_get_data()
+to report the actual session size when the provided buffer
+is not enough.
+
+** libgnutls: Fixed ciphersuite GNUTLS_ECDHE_RSA_AES_128_CBC_SHA256,
+which was using a wrong MAC algorithm. Reported by Fabrice Gautier.
+
+** API and ABI modifications:
+No changes since last version.
+
+
+* Version 3.0.6 (released 2011-11-07)
+
+** gnutls-guile: Compilation fixes.
+
+** libgnutls: Fixed possible buffer overflow in
+gnutls_session_get_data(). Reported and fix by Alban Crequy.
+
+** libgnutls: Bug fixes in the ciphersuites with NULL cipher.
+Reported by Fabrice Gautier.
+
+** libgnutls: Bug fixes in ECC code for 64-bit MIPS systems.
+Thanks to Joseph Graham for providing access to such a system.
+
+** libgnutls: Correctly report ECC private key parsing errors.
+Reported by Fabrice Gautier.
+
+** libgnutls: In ECDHE verify that the received point lies on
+the selected curve. The ECDHE ciphersuites now take precendence
+to plain DHE.
+
+** API and ABI modifications:
+No changes since last version.
+
+
+* Version 3.0.5 (released 2011-10-27)
+
+** libgnutls-extra: is no more
+
+** libgnutls: Corrections in order to compile with mingw32.
+
+** libgnutls: Corrections in VIA padlock code for VIA C5 processor
+and new detection of PHE with support for partial hashing.
+
+** libgnutls: Corrected bug in gnutls_x509_data2hex. Report and fix
+by Vincent Untz.
+
+** minitasn1: Upgraded to libtasn1 version 2.10.
+
+** API and ABI modifications:
+No changes since last version.
+
+
+* Version 3.0.4 (released 2011-10-15)
+
+** libgnutls-extra: gnutls_register_md5_handler() was
+removed.
+
+** gnutls-cli-debug: Added more tests including AES-GCM,
+SHA256 and elliptic curves.
+
+** gnutls-cli: Added --benchmark-soft-ciphers to benchmark
+the software version of the ciphers instead of hw accelerated
+(where available)
+
+** libgnutls: Public key ID calculation is consistent among
+all structures. It uses a SHA-1 hash of the subjectPublicKeyInfo.
+
+** libgnutls: gnutls_privkey_t allows setting external callback
+to perform signing or decryption. Can be set using
+gnutls_privkey_import_ext()
+
+** libgnutls: A certificate credentials structure can be
+used with a gnutls_privkey_t and a gnutls_pcert_st
+structure using gnutls_certificate_set_key().
+
+** libgnutls: Fixes to enable external signing callback to
+operate with TLS 1.2.
+
+** libgnutls: Fixed crash when printing ECDSA certificate key
+ID. Reported by Erik Jensen.
+
+** libgnutls: Corrected VIA padlock code for C3. In C3 benchmarks
+show a 50x increase in AES speed and a 14x increase in VIA nano. Added
+support for hashes and HMACs.
+
+** libgnutls: Compilation fixed when p11-kit is not detected.
+
+** libgnutls: Fixed the deflate compression code.
+
+** libgnutls: Added gnutls_x509_crt_get_authority_info_access.
+Used to get the PKIX Authority Information Access (AIA) field.
+
+** libgnutls: gnutls_x509_crt_print supports printing AIA fields.
+
+** libgnutls: Added ability to gnutls_privkey_t to operate with
+signing callback function.
+
+** API and ABI modifications:
+gnutls_x509_crt_get_authority_info_access (x509.h): Added function.
+gnutls_privkey_import_ext: Added function.
+gnutls_certificate_set_key: Added function.
+gnutls_info_access_what_t (x509.h): Added enum.
+GNUTLS_OID_AIA (x509.h): Added symbol.
+GNUTLS_OID_AD_OCSP (x509.h): Added symbol.
+GNUTLS_OID_AD_CAISSUERS (x509.h): Added symbol.
+
+* Version 3.0.3 (released 2011-09-18)
+
+** libgnutls: Added gnutls_record_get_discarded() to return the
+number of discarded records in a DTLS session.
+
+** libgnutls: All functions related to RSA-EXPORT were deprecated.
+Support for RSA-EXPORT ciphersuites will be ceased in future versions.
+
+** libgnutls: Memory leak fixes in credentials private key
+deinitialization. Reported by Dan Winship.
+
+** libgnutls: Memory leak fixes in ECC ciphersuites.
+
+** libgnutls: Do not send an empty extension structure in server
+hello. This affected old implementations that do not support extensions.
+Reported by J. Cameijo Cerdeira.
+
+** libgnutls: Allow CA importing of 0 certificates to succeed.
+Reported by Jonathan Nieder &lt;jrnieder@gmail.com&gt; in
+&lt;http://bugs.debian.org/640639&gt;.
+
+** libgnutls: Added support for VIA padlock AES optimizations.
+(disabled by default)
+
+** libgnutls: Added support for elliptic curves in
+PKCS #11.
+
+** libgnutls: Added gnutls_pkcs11_privkey_generate()
+to allow generating a key in a token.
+
+** p11tool: Added generate-rsa, generate-dsa and
+generate-ecc options to allow generating private
+keys in the token.
+
+** libgnutls: gnutls_transport_set_lowat dummy macro was
+removed.
+
+** API and ABI modifications:
+gnutls_pkcs11_privkey_generate: Added
+gnutls_pubkey_import_ecc_raw: Added
+gnutls_pubkey_import_ecc_x962: Added
+gnutls_pubkey_get_pk_ecc_x962: Added
+gnutls_record_get_discarded: Added
+
+
+* Version 3.0.2 (released 2011-09-01)
+
+** libgnutls: OpenPGP certificate type is not enabled
+by default.
+
+** libgnutls: Added %NO_EXTENSIONS priority string.
+
+** libgnutls: Corrected issue in gnutls_record_recv()
+triggered on encryption or compression error.
+
+** libgnutls: Compatibility fixes in CPU ID detection
+for i386 and old GCC.
+
+** gnutls-cli: Benchmark applications were incorporated
+with it.
+
+** libgnutls: Corrected parsing of XMPP subject
+alternative names.
+
+** libgnutls: Allow for out-of-order ChangeCipherSpec
+message in DTLS.
+
+** libgnutls: gnutls_certificate_set_x509_key() and
+gnutls_certificate_set_openpgp_key() operate as in 2.10.x
+and allow the release of the private key during the
+lifetime of the certificate structure.
+
+** API and ABI modifications:
+GNUTLS_PRIVKEY_IMPORT_COPY: new gnutls_privkey_import() flag
+
+
+* Version 3.0.1 (released 2011-08-20)
+
+** libgnutls: gnutls_certificate_set_x509_key_file() and
+friends support server name indication. If multiple
+certificates are set using these functions the proper one
+will be selected during a handshake.
+
+** libgnutls: Added AES-256-GCM which was left out from
+the previous release. Reported by Benjamin Hof.
+
+** libgnutls: When asking for a PKCS# 11 PIN multiple
+times, the flags in the callback were not being updated
+to reflect for PIN low count or final try.
+
+** libgnutls: Do not allow second instances of PKCS #11
+modules.
+
+** libgnutls: fixed alignment issue in AES-NI code.
+
+** libgnutls: The config file at gnutls_pkcs11_init()
+is being read if provided.
+
+** libgnutls: Ensure that a certificate list specified
+using gnutls_certificate_set_x509_key() and friends, is
+sorted according to TLS specification (from subject to issuer).
+
+** libgnutls: Added GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED flag for
+gnutls_x509_crt_list_import. It checks whether the list to be
+imported is properly sorted.
+
+** crywrap: Added to the distribution. It is an application
+that proxies TLS session to a port using a plaintext service.
+
+** doc: Many GTK-DOC improvements.
+
+** i18n: Translations were updated.
+
+** API and ABI modifications:
+GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED: New element in gnutls_certificate_import_flags
+GNUTLS_PKCS11_PIN_WRONG: New flag for PIN callback
+
+
+* Version 3.0.0 (released 2011-07-29)
+
+** libgnutls: writev_emu: stop on the first incomplete write. Patch by
+Sjoerd Simons.
+
+** libgnutls: Fix zlib handling in gnutls.pc. Patch by Andreas
+Metzler.
+
+** certtool: bug fixes in certificate request generation. Patch
+by Petr Písař.
+
+** API and ABI modifications:
+gnutls_pcert_list_import_x509_raw: ADDED
+
+
+* Version 2.99.4 (released 2011-07-23)
+
+** doc: documentation updates.
+
+** libgnutls: gnutls_rsa_params_t is now identical to gnutls_x509_privkey_t
+to avoid thread-safety issues. Reported by Sam Varshavchik.
+
+** libgnutls: Added compatibility mode with /etc/gnutls/pkcs11.conf
+
+** libgnutls: license upgraded to LGPLv3
+
+** libgnutls: gnutls_srp_verifier() returns data allocated with gnutls_malloc()
+for consistency.
+
+** API and ABI modifications:
+No changes since last version.
+
+
+* Version 2.99.3 (released 2011-06-18)
+
+** libgnutls: Added new PKCS #11 flags to force an object being private or
+not. (GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE and GNUTLS_PKCS11_OBJ_FLAG_MARK_NOT_PRIVATE)
+
+** libgnutls: Added SUITEB128 and SUITEB192 priority
+strings to enable the NSA SuiteB cryptography ciphersuites.
+
+** libgnutls: Added gnutls_pubkey_verify_data2() that will
+verify data provided the signature algorithm.
+
+** libgnutls: Simplified the handling of handshake messages to
+be hashed. Instead of hashing during the handshake process we now
+keep the data until handshake is over and hash them on request.
+This uses more memory but eliminates issues with TLS 1.2 and
+simplifies code.
+
+** libgnutls: Added AES-GCM optimizations using the PCLMULQDQ
+instruction. Uses Andy Polyakov's assembly code.
+
+** libgnutls: Added gnutls_x509_trust_list_add_named_crt() and
+gnutls_x509_trust_list_verify_named_crt() that allow having a
+list of certificates in the trusted list that will be associated
+with a name (e.g. server name) and will not be used as CAs.
+
+** libgnutls: PKCS #11 back-end rewritten to use p11-kit
+http://p11-glue.freedesktop.org/p11-kit.html. Rewrite by
+Stef Walter.
+
+** libgnutls: Added ECDHE-PSK ciphersuites for TLS (RFC 5489).
+
+** API and ABI modifications:
+gnutls_pubkey_verify_data2: ADDED
+gnutls_ecc_curve_get: ADDED
+gnutls_x509_trust_list_add_named_crt: ADDED
+gnutls_x509_trust_list_verify_named_crt: ADDED
+gnutls_x509_privkey_verify_data: REMOVED
+gnutls_crypto_bigint_register: REMOVED
+gnutls_crypto_cipher_register: REMOVED
+gnutls_crypto_digest_register: REMOVED
+gnutls_crypto_mac_register: REMOVED
+gnutls_crypto_pk_register: REMOVED
+gnutls_crypto_rnd_register: REMOVED
+gnutls_crypto_single_cipher_register: REMOVED
+gnutls_crypto_single_digest_register: REMOVED
+gnutls_crypto_single_mac_register: REMOVED
+GNUTLS_KX_ECDHE_PSK: New key exchange method
+GNUTLS_VERIFY_DISABLE_CRL_CHECKS: New certificate verification flag.
+GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE: New PKCS#11 object flag.
+GNUTLS_PKCS11_OBJ_FLAG_MARK_NOT_PRIVATE: New PKCS#11 object flag.
+
+
+* Version 2.99.2 (released 2011-05-26)
+
+** libgnutls: Added Elliptic curve support. This is not
+enabled by default. Requires priority strings:
++CURVE-ALL: to add all supported curves
++ECDHE-RSA: to add ephemeral ECDHE with an RSA-signed certificate
++ECDHE-ECDSA: to add ephemeral ECDHE with an ECDSA-signed certificate
++ANON-ECDHE: to add anonymous ECDH
+
+** libgnutls: PKCS #11 URLs conform to the latest draft
+being http://tools.ietf.org/html/draft-pechanec-pkcs11uri-04.
+
+** certtool: Can now load private keys and public keys from PKCS #11 tokens
+via URLs.
+
+** libgnutls: Added gnutls_global_set_audit_log_function() that allows
+to get important auditing information including the corresponding session.
+That might be useful to block DoS or other attacker from specific IPs.
+
+** libgnutls: gnutls_pkcs11_privkey_import_url() will now correctly read
+the public key algorithm of the key.
+
+** libgnutls: Added gnutls_certificate_get_issuer() and
+gnutls_x509_trust_list_get_issuer() to compensate for the
+missing gnutls_certificate_get_x509_cas().
+
+** libgnutls: Added gnutls_x509_crq_verify() to allow
+verification of the self signature in a certificate request.
+This allows verifying whether the owner of the private key
+is the generator of the request.
+
+** libgnutls: gnutls_x509_crt_set_crq() implicitly verifies
+the self signature of the request.
+
+** API and ABI modifications:
+gnutls_certificate_get_issuer: ADDED
+gnutls_x509_trust_list_get_issuer: ADDED
+gnutls_x509_crq_verify: ADDED
+gnutls_global_set_audit_log_function: ADDED
+gnutls_ecc_curve_get_name: ADDED
+gnutls_ecc_curve_get_size: ADDED
+gnutls_x509_privkey_import_ecc_raw: ADDED
+gnutls_x509_privkey_export_ecc_raw: ADDED
+gnutls_global_set_time_function: ADDED
+
+GNUTLS_E_ECC_NO_SUPPORTED_CURVES: New error code
+GNUTLS_E_ECC_UNSUPPORTED_CURVE: New error code
+GNUTLS_KX_ECDHE_RSA: New key exchange method
+GNUTLS_KX_ECDHE_ECDSA: New key exchange method
+GNUTLS_KX_ANON_ECDH: New key exchange method
+GNUTLS_PK_ECC: New public key algorithm
+GNUTLS_SIGN_ECDSA_SHA1: New signature algorithm
+GNUTLS_SIGN_ECDSA_SHA256: New signature algorithm
+GNUTLS_SIGN_ECDSA_SHA384: New signature algorithm
+GNUTLS_SIGN_ECDSA_SHA512: New signature algorithm
+GNUTLS_SIGN_ECDSA_SHA224: New signature algorithm
+GNUTLS_ECC_CURVE_INVALID: New curve definition
+GNUTLS_ECC_CURVE_SECP224R1: New curve definition
+GNUTLS_ECC_CURVE_SECP256R1: New curve definition
+GNUTLS_ECC_CURVE_SECP384R1: New curve definition
+GNUTLS_ECC_CURVE_SECP521R1: New curve definition
+
+
+* Version 2.99.1 (released 2011-04-23)
+
+** libgnutls: LZO support was removed.
+
+** libgnutls: Corrections in SSLv2 client hello parsing.
+
+** libgnutls: Added support for AES-NI if detected. Uses
+Andy Polyakov's AES-NI code.
+
+** libgnutls: Restored HMAC-MD5 for compatibility. Although considered
+weak, several sites require it for connection. It is enabled for
+"NORMAL" and "PERFORMANCE" priority strings.
+
+** libgnutls: depend on libdl.
+
+** libgnutls-extra: Dropped support of LZO compression via liblzo.
+
+** libgnutls: gnutls_transport_set_global_errno() was removed. This
+function required GnuTLS to access system specific data, for no reason.
+Use gnutls_transport_set_errno(), or your system's errno fascility
+instead.
+
+** libgnutls: Added gnutls_certificate_set_retrieve_function2()
+to set a callback to retrieve a certificate. The certificate is
+received in a format that requires no processing from gnutls thus
+it is suitable when performance is required.
+
+** API and ABI modifications:
+gnutls_transport_set_global_errno: REMOVED
+gnutls_certificate_set_retrieve_function2: ADDED
+
+* Version 2.99.0 (released 2011-04-09)
+
+** libgnutls: Added Datagram TLS support.
+
+** libgnutls: Uses a single configure file and a single
+gnulib library to save space.
+
+** libgnutls: Several bug fixes.
+
+** libgnutls: gnutls_transport_set_lowat() is no more.
+
+** libgnutls-openssl: modified to use modern gnutls' functions.
+This introduces an ABI incompatibility with previous versions.
+
+** libgnutls: Corrected signature generation and verification
+in the Certificate Verify message when in TLS 1.2. Reported
+by Todd A. Ouska.
+
+** libgnutlsxx: The C++ interface returns exception on
+every error and not only on fatal ones. This allows easier
+handling of errors.
+
+** libgnutls: Corrected issue in DHE-PSK ciphersuites that ignored
+the PSK callback.
+
+** libgnutls: SRP and PSK are no longer set on the default priorities.
+They have to be explicitly set.
+
+** libgnutls: During handshake message verification using DSS
+use the hash algorithm required by it.
+
+** libgnutls: gnutls_recv() return GNUTLS_E_PREMATURE_TERMINATION
+on unexpected EOF, instead of GNUTLS_E_UNEXPECTED_PACKET_LENGTH.
+
+** libgnutls: Added GCM mode (interoperates with tls.secg.org)
+
+** libgnutls-extra: Inner application extension was removed.
+It was never standardized nor published as an RFC.
+
+** libgnutls: Added new certificate verification functions, that
+can provide more details and are more efficient. Check
+gnutls_x509_trust_list_*.
+
+** certtool: Uses the new certificate verification functions for
+--verify-chain.
+
+** certtool: Added new certificate verification functionality
+using the --verify option. Combined with --load-ca-certificate
+it can verify a certificate chain against a list of certificates.
+
+** Several files unnecessarily included &lt;gcrypt.h&gt;; this has been fixed.
+
+** API and ABI modifications:
+gnutls_dtls_set_timeouts: ADDED
+gnutls_dtls_get_mtu: ADDED
+gnutls_dtls_get_data_mtu: ADDED
+gnutls_dtls_set_mtu: ADDED
+gnutls_dtls_cookie_send: ADDED
+gnutls_dtls_cookie_verify: ADDED
+gnutls_dtls_prestate_set: ADDED
+gnutls_x509_trust_list_verify_crt: ADDED
+gnutls_x509_trust_list_add_crls: ADDED
+gnutls_x509_trust_list_add_cas: ADDED
+gnutls_x509_trust_list_init: ADDED
+gnutls_x509_trust_list_deinit: ADDED
+gnutls_cipher_add_auth: ADDED
+gnutls_cipher_tag: ADDED
+gnutls_psk_netconf_derive_key: REMOVED
+gnutls_certificate_verify_peers: REMOVED
+gnutls_session_set_finished_function: REMOVED
+gnutls_ext_register: REMOVED
+gnutls_certificate_get_x509_crls: REMOVED
+gnutls_certificate_get_x509_cas: REMOVED
+gnutls_certificate_get_openpgp_keyring: REMOVED
+gnutls_session_get_server_random: REMOVED
+gnutls_session_get_client_random: REMOVED
+gnutls_session_get_master_secret: REMOVED
+gnutls_ia_allocate_client_credentials: REMOVED
+gnutls_ia_allocate_server_credentials: REMOVED
+gnutls_ia_enable: REMOVED
+gnutls_ia_endphase_send: REMOVED
+gnutls_ia_extract_inner_secret: REMOVED
+gnutls_ia_free_client_credentials: REMOVED
+gnutls_ia_free_server_credentials: REMOVED
+gnutls_ia_generate_challenge: REMOVED
+gnutls_ia_get_client_avp_ptr: REMOVED
+gnutls_ia_get_server_avp_ptr: REMOVED
+gnutls_ia_handshake: REMOVED
+gnutls_ia_handshake_p: REMOVED
+gnutls_ia_permute_inner_secret: REMOVED
+gnutls_ia_recv: REMOVED
+gnutls_ia_send: REMOVED
+gnutls_ia_set_client_avp_function: REMOVED
+gnutls_ia_set_client_avp_ptr: REMOVED
+gnutls_ia_set_server_avp_function: REMOVED
+gnutls_ia_set_server_avp_ptr: REMOVED
+gnutls_ia_verify_endphase: REMOVED
+
+
+* Version 2.12.2 (released 2011-04-08)
+
+** libgnutls: Several updates and fixes for win32. Patches by LRN.
+
+** libgnutls: Several bug and memory leak fixes.
+
+** srptool: Accepts the -d option to enable debugging.
+
+** libgnutls: Corrected bug in gnutls_srp_verifier() that prevented
+the allocation of a verifier. Reported by Andrew Wiseman.
+
+** API and ABI modifications:
+No changes since last version.
+
+
+* Version 2.12.1 (released 2011-04-02)
+
+** certtool: Generated certificate request with stricter permissions.
+Reported by Luca Capello.
+
+** libgnutls: Bug fixes in opencdk code. Reported by Vitaly Kruglikov.
+
+** libgnutls: Corrected windows system_errno() function prototype.
+
+** libgnutls: C++ compatibility fix for compat.h. Reported by Mark Brand.
+
+** libgnutls: Fix size of gnutls_openpgp_keyid_t by using the
+GNUTLS_OPENPGP_KEYID_SIZE definition. Reported by Andreas Metzler.
+
+** API and ABI modifications:
+No changes since last version.
+
+
+
+
+* Version 2.12.0 (released 2011-03-24)
+
+** certtool: Warns on generation of DSA keys of over 1024 bits, about
+the incompatibility with TLS other than 1.2.
+
+** libgnutls: Modified signature algorithm selection in client
+certificate request, to avoid failures in DSA certificates.
+
+** libgnutls: Instead of failing with internal error, return
+GNUTLS_E_INCOMPAT_DSA_KEY_WITH_TLS_PROTOCOL if an incompatible DSA
+key with the negotiated protocol is encountered.
+
+** libgnutls: Bug fixes in the RSA ciphersuite behavior with openpgp keys.
+
+** libgnutls: Force state update when fork is detected in the nettle
+rng.
+
+** libgnutls: modified gnutls_pubkey_import_openpgp() to use the preferred
+subkey instead of setting explicitly one.
+
+** libgnutls: Corrected default behavior in record version of Client Hellos.
+
+** libgnutls-openssl: modified to use modern gnutls' functions.
+This introduces an ABI incompatibility with previous versions.
+
+** API and ABI modifications:
+gnutls_pubkey_import_openpgp: MODIFIED
+
+
+* Version 2.11.7
+
+** libgnutls: The deprecated gnutls_x509_privkey_sign_hash() was
+replaced by gnutls_privkey_sign_hash2().
+
+** libgnutls: gnutls_pubkey_verify_data, gnutls_pubkey_verify_hash,
+gnutls_x509_privkey_verify_data, gnutls_x509_crt_verify_data,
+gnutls_x509_crt_verify_hash return the negative error code
+GNUTLS_E_PK_SIG_VERIFY_FAILED if verification fails to simplify error
+checking.
+
+** libgnutls: Added helper functions for signature verification:
+gnutls_pubkey_verify_data() and gnutls_pubkey_import_privkey().
+
+** libgnutls: Modified gnutls_privkey_sign_data().
+
+** gnutls_x509_crl_privkey_sign2(), gnutls_x509_crq_sign2()
+gnutls_x509_privkey_sign_hash(), gnutls_x509_privkey_sign_data(),
+gnutls_x509_crt_verify_hash(), gnutls_x509_crt_verify_data(), were
+deprecated for gnutls_x509_crl_privkey_sign(),
+gnutls_x509_crq_privkey_sign(), gnutls_privkey_sign_hash(),
+gnutls_privkey_sign_data(), gnutls_pubkey_verify_hash()
+gnutls_pubkey_verify_data() respectively.
+
+** libgnutls: gnutls_*_export_raw() functions now add leading zero in
+integers.
+
+** libgnutls: Added convenience functions gnutls_x509_crl_list_import2()
+and gnutls_x509_crt_list_import2().
+
+** crypto.h: Fix use with C++.
+Reported by "Brendan Doherty" &lt;brendand@gentrack.com&gt;.
+
+** API and ABI modifications:
+gnutls_x509_crl_list_import: ADDED
+gnutls_x509_crl_list_import2: ADDED
+gnutls_x509_crt_list_import2: ADDED
+gnutls_x509_crl_get_raw_issuer_dn: ADDED
+gnutls_pubkey_import_privkey: ADDED
+gnutls_pubkey_verify_data: ADDED
+gnutls_privkey_sign_hash: MODIFIED (was added in 2.11.0)
+gnutls_privkey_sign_data: MODIFIED (was added in 2.11.0)
+gnutls_x509_crq_sign2: DEPRECATED (use: gnutls_x509_crq_privkey_sign)
+gnutls_x509_crq_sign: DEPRECATED (use: gnutls_x509_crq_privkey_sign)
+gnutls_x509_crq_get_preferred_hash_algorithm: REMOVED (was added in 2.11.0)
+gnutls_x509_crl_sign: DEPRECATED (use: gnutls_x509_crl_privkey_sign)
+gnutls_x509_crl_sign2: DEPRECATED (use: gnutls_x509_crl_privkey_sign)
+gnutls_x509_privkey_sign_data: DEPRECATED (use: gnutls_privkey_sign_data2)
+gnutls_x509_privkey_sign_hash: DEPRECATED (use: gnutls_privkey_sign_hash2)
+gnutls_x509_privkey_verify_data: DEPRECATED (use: gnutls_pubkey_verify_data)
+gnutls_session_set_finished_function: DEPRECATED
+gnutls_x509_crt_verify_hash: DEPRECATED (use: gnutls_pubkey_verify_hash)
+gnutls_x509_crt_verify_data: DEPRECATED (use: gnutls_pubkey_verify_data)
+gnutls_x509_crt_get_verify_algorithm: DEPRECATED (use: gnutls_pubkey_get_verify_algorithm)
+gnutls_x509_crt_get_preferred_hash_algorithm: DEPRECATED (use: gnutls_pubkey_get_preferred_hash_algorithm)
+gnutls_openpgp_privkey_sign_hash: DEPRECATED (use: gnutls_privkey_sign_hash2)
+gnutls_pkcs11_privkey_sign_hash: REMOVED (was added in 2.11.0)
+gnutls_pkcs11_privkey_decrypt_data: REMOVED (was added in 2.11.0)
+gnutls_privkey_sign_hash: REMOVED (was added in 2.11.0)
+
+* Version 2.11.6 (released 2010-12-06)
+
+** libgnutls: Record version of Client Hellos is now set by default to
+SSL 3.0. To restore the previous default behavior use %LATEST_RECORD_VERSION
+priority string.
+
+** libgnutls: Use ASN1_NULL when writing parameters for RSA signatures.
+This makes us comply with RFC3279. Reported by Michael Rommel.
+
+** gnutls-serv: Corrected a buffer overflow. Reported and patch by Tomas Mraz.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.11.5 (released 2010-12-01)
+
+** libgnutls: Reverted default behavior for verification and
+introduced GNUTLS_VERIFY_DO_NOT_ALLOW_X509_V1_CA_CRT. Thus by default
+V1 trusted CAs are allowed, unless the new flag is specified.
+
+** libgnutls: Correctly add leading zero to PKCS #8 encoded DSA key.
+Reported by Jeffrey Walton.
+
+** libgnutls: Added SIGN-ALL, CTYPE-ALL, COMP-ALL, and VERS-TLS-ALL
+as priority strings. Those allow to set all the supported algorithms
+at once.
+
+** p11tool: Introduced. It allows manipulating pkcs 11 tokens.
+
+** gnutls-cli: Print channel binding only in verbose mode.
+Before it printed it after the 'Compression:' output, thus breaking
+Emacs starttls.el string searches.
+
+** API and ABI modifications:
+gnutls_pkcs11_token_init: New function
+gnutls_pkcs11_token_set_pin: New function
+
+* Version 2.11.4 (released 2010-10-15)
+
+** libgnutls: Add new API gnutls_session_channel_binding.
+The function is used to get the channel binding data. Currently only
+the "tls-unique" (RFC 5929) channel binding type is supported, through
+the GNUTLS_CB_TLS_UNIQUE type. See new section "Channel Bindings" in
+the manual.
+
+** gnutls-cli, gnutls-serv: Print 'tls-unique' Channel Bindings.
+
+** doc: Added pkcs11.h header file to GTK-DOC manual.
+
+** build: Update gnulib files.
+
+** i18n: Update translations.
+
+** tests: Add self tests gendh.c. Speed up Guile self checks.
+
+** API and ABI modifications:
+gnutls_session_channel_binding: New function.
+gnutls_channel_binding_t: New enumeration.
+GNUTLS_CB_TLS_UNIQUE: New gnutls_channel_binding_t enum member.
+GNUTLS_E_CHANNEL_BINDING_NOT_AVAILABLE: New error code.
+
+* Version 2.11.3 (released 2010-10-14)
+
+** Indent code to follow the GNU Coding Standard.
+You should be able to unpack the 2.11.2 release and run 'make indent'
+twice to get exactly the same content as 2.11.3 except for generated
+files. Using GNU Indent 2.2.11.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.11.2 (released 2010-10-08)
+
+** libgnutls: Several bug fixes on session resumption
+and session tickets support.
+
+** libgnutls: Add new extended key usage ipsecIKE.
+
+** certtool: Renamed PKCS #11 options to: --p11-provider,
+--p11-export-url, --p11-list-certs, --p11-list-certs,
+--p11-list-privkeys, --p11-list-trusted, --p11-list-all-certs,
+--p11-list-all, --p11-list-tokens, --p11-login, --p11-write,
+--p11-write-label, --p11-write-trusted, --p11-detailed-url,
+--p11-delete-url
+
+** libgnutls: Corrected bug that caused importing DSA keys as RSA,
+introduced with the new nettle code.
+
+** libgnutls: Corrected advertizing issue for session tickets.
+
+** API and ABI modifications:
+gnutls_x509_crt_get_subject_unique_id: ADDED.
+gnutls_x509_crt_get_issuer_unique_id: ADDED.
+
+* Version 2.11.1 (released 2010-09-14)
+
+** libgnutls: Nettle is the default crypto back end. Use --with-libgcrypt
+to use the libgcrypt back end.
+
+** libgnutls: Depend on nettle 2.1. This makes nettle a fully working
+backend crypto library.
+
+** libgnutls: Added RSA_NULL_SHA1 and SHA256 ciphersuites.
+
+** libgnutls: Several updates in the buffering internal interface.
+
+** libgnutls: Is now more liberal in the PEM decoding. That is spaces and
+tabs are being skipped.
+
+** libgnutls: Added support for draft-pechanec-pkcs11uri-02.
+
+** libgnutls: The %COMPAT flag now allows larger records that violate the
+TLS spec.
+
+** libgnutls: by default lowat level has been set to zero to avoid unnecessary
+system calls. Applications that depended on it being 1 should explicitly call
+gnutls_transport_set_lowat().
+
+** libgnutls: Updated documentation and gnutls_pk_params_t mappings
+to ECRYPT II recommendations. Mappings were moved to a single location
+and DSA keys are handled differently (since DSA2 allows for 1024,2048
+and 3072 keys only).
+
+** libgnutls: gnutls_x509_privkey_import() will fallback to
+gnutls_x509_privkey_import_pkcs8() without a password, if it
+is unable to decode the key.
+
+** libgnutls: HMAC-MD5 no longer used by default.
+
+** API and ABI modifications:
+gnutls_openpgp_privkey_sec_param: ADDED
+gnutls_x509_privkey_sec_param: ADDED
+
+* Version 2.11.0 (released 2010-07-22)
+
+** libgnutls: support scattered write using writev(). This takes
+advantage of the new buffering layer and allows queuing of packets
+and flushing them. This is currently used for handshake messages
+only.
+
+** libgnutls: Added gnutls_global_set_mutex() to allow setting
+alternative locking procedures. By default the system available
+locking is used. In *NIX pthreads are used and in windows the
+critical section API. This follows a different approach than the
+previous versions that depended on libgcrypt initialization. The
+locks are now set by default in systems that support it. Programs
+that used gcry_control() to set thread locks should insert it into
+a block of
+#if GNUTLS_VERSION_NUMBER &lt;= 0x020b00
+ gcry_control(...)
+#endif
+
+** libgnutls: Added support for reading DN from EV-certificates.
+New DN values:
+jurisdictionOfIncorporationLocalityName,
+jurisdictionOfIncorporationStateOrProvinceName,
+jurisdictionOfIncorporationCountryName
+
+** libgnutls: Added support for DSA signing/verifying with bit
+length over 1024.
+
+** libgnutls-extra: When in FIPS mode gnutls_global_init_extra()
+has to be called to register any required md5 handlers.
+
+** libgnutls: Internal buffering code was replaced by simpler
+code contributed by Jonathan Bastien-Filiatrault.
+
+** libgnutls: Internal API for extensions augmented to allow
+safe storing and loading of data on resumption. This allows writing
+self-contained extensions (when possible). As a side effect
+the OPRFI extension was removed.
+
+** libgnutls: Added support for DSA-SHA256 and DSA-SHA224
+
+** libgnutls: Added PKCS #11 support and an API to access objects in
+gnutls/pkcs11.h. Currently certificates and public keys can be
+imported from tokens, and operations can be performed on private keys.
+
+** libgnutls: Added abstract gnutls_privkey_t and gnutls_pubkey_t
+
+** libgnutls: Added initial support for the nettle library. It uses
+the system's random generator for seeding. That is /dev/urandom in Linux,
+system calls in Win32 and EGD on other systems.
+
+** libgnutls: Corrected issue on the %SSL3_RECORD_VERSION priority string. It now
+ works even when resuming a session.
+
+** libgnutls: Added gnutls_certificate_set_retrieve_function() to replace the
+similar gnutls_certificate_set_server_retrieve_function() and
+gnutls_certificate_set_client_retrieve_function(). In addition it support
+PKCS #11 private keys.
+
+** libgnutls: Added gnutls_pkcs11_copy_x509_crt(), gnutls_pkcs11_copy_x509_privkey(),
+and gnutls_pkcs11_delete_url() to allow copying and deleting data in tokens.
+
+** libgnutls: Added gnutls_sec_param_to_pk_bits() et al. to allow select bit
+sizes for private keys using a human understandable scale.
+
+** certtool: Added new options: --pkcs11-list-tokens, --pkcs11-list-all
+--pkcs11-list-all-certs, --pkcs11-list-trusted, --pkcs11-list-certs,
+--pkcs11-delete-url, --pkcs11-write
+
+certtool: The --pkcs-cipher is taken into account when generating a
+private key. The default cipher used now is aes-128. The old behavior can
+be simulated by specifying "--pkcs-cipher 3des-pkcs12".
+
+certtool: Added --certificate-pubkey to print the public key of the
+certificate.
+
+** gnutls-cli/gnutls-serv: --x509cafile, --x509certfile and --x509keyfile
+can now accept a PKCS #11 URL in addition to a file. This will allow for
+example to use the Gnome-keyring trusted certificate list to verify
+connections using a url such as:
+pkcs11:token=Root%20CA%20Certificates;serial=1%3AROOTS%3ADEFAULT;model=1%2E0;manufacturer=Gnome%20Keyring
+
+** API and ABI modifications:
+gnutls_certificate_set_server_retrieve_function: DEPRECATED
+gnutls_certificate_set_client_retrieve_function: DEPRECATED
+gnutls_sign_callback_set: DEPRECATED
+gnutls_global_set_mutex: ADDED
+gnutls_pubkey_get_preferred_hash_algorithm: ADDED
+gnutls_x509_crt_get_preferred_hash_algorithm: ADDED
+gnutls_x509_privkey_export_rsa_raw2: ADDED
+gnutls_rnd: ADDED
+gnutls_sec_param_to_pk_bits: ADDED
+gnutls_pk_bits_to_sec_param: ADDED
+gnutls_sec_param_get_name: ADDED
+gnutls_pkcs11_type_get_name: ADDED
+gnutls_certificate_set_retrieve_function: ADDED
+gnutls_pkcs11_init: ADDED
+gnutls_pkcs11_deinit: ADDED
+gnutls_pkcs11_set_pin_function: ADDED
+gnutls_pkcs11_set_token_function: ADDED
+gnutls_pkcs11_add_provider: ADDED
+gnutls_pkcs11_obj_init: ADDED
+gnutls_pkcs11_obj_import_url: ADDED
+gnutls_pkcs11_obj_export_url: ADDED
+gnutls_pkcs11_obj_deinit: ADDED
+gnutls_pkcs11_obj_export: ADDED
+gnutls_pkcs11_obj_list_import_url: ADDED
+gnutls_pkcs11_obj_export: ADDED
+gnutls_x509_crt_import_pkcs11: ADDED
+gnutls_pkcs11_obj_get_type: ADDED
+gnutls_x509_crt_list_import_pkcs11: ADDED
+gnutls_x509_crt_import_pkcs11_url: ADDED
+gnutls_pkcs11_obj_get_info: ADDED
+gnutls_pkcs11_token_get_info: ADDED
+gnutls_pkcs11_token_get_url: ADDED
+gnutls_pkcs11_privkey_init: ADDED
+gnutls_pkcs11_privkey_deinit: ADDED
+gnutls_pkcs11_privkey_get_pk_algorithm: ADDED
+gnutls_pkcs11_privkey_get_info: ADDED
+gnutls_pkcs11_privkey_import_url: ADDED
+gnutls_pkcs11_privkey_sign_data: ADDED
+gnutls_pkcs11_privkey_sign_hash: ADDED
+gnutls_pkcs11_privkey_decrypt_data: ADDED
+gnutls_privkey_init: ADDED
+gnutls_privkey_deinit: ADDED
+gnutls_privkey_get_pk_algorithm: ADDED
+gnutls_privkey_get_type: ADDED
+gnutls_privkey_import_pkcs11: ADDED
+gnutls_privkey_import_x509: ADDED
+gnutls_privkey_import_openpgp: ADDED
+gnutls_privkey_sign_data: ADDED
+gnutls_privkey_sign_hash: ADDED
+gnutls_privkey_decrypt_data: ADDED
+gnutls_pkcs11_privkey_export_url: ADDED
+gnutls_x509_crq_privkey_sign: ADDED
+gnutls_x509_crl_privkey_sign: ADDED
+gnutls_x509_crt_privkey_sign: ADDED
+gnutls_pubkey_init: ADDED
+gnutls_pubkey_deinit: ADDED
+gnutls_pubkey_get_pk_algorithm: ADDED
+gnutls_pubkey_import_x509: ADDED
+gnutls_pubkey_import_openpgp: ADDED
+gnutls_pubkey_get_pk_rsa_raw: ADDED
+gnutls_pubkey_get_pk_dsa_raw: ADDED
+gnutls_pubkey_export: ADDED
+gnutls_pubkey_get_key_id: ADDED
+gnutls_pubkey_get_key_usage: ADDED
+gnutls_pubkey_verify_hash: ADDED
+gnutls_pubkey_get_verify_algorithm: ADDED
+gnutls_pkcs11_type_get_name: ADDED
+gnutls_pubkey_import_pkcs11_url: ADDED
+gnutls_pubkey_import: ADDED
+gnutls_pubkey_import_pkcs11: ADDED
+gnutls_pubkey_import_dsa_raw: ADDED
+gnutls_pubkey_import_rsa_raw: ADDED
+gnutls_x509_crt_set_pubkey: ADDED
+gnutls_x509_crq_set_pubkey: ADDED
+gnutls_pkcs11_copy_x509_crt: ADDED
+gnutls_pkcs11_copy_x509_privkey: ADDED
+gnutls_pkcs11_delete_url: ADDED
+
+* Version 2.10.1 (released 2010-07-25)
+
+** libgnutls: Added support for broken certificates that indicate RSA
+with strange OIDs.
+
+** gnutls-cli: Allow verification using V1 CAs.
+
+** libgnutls: gnutls_x509_privkey_import() will fallback to
+gnutls_x509_privkey_import_pkcs8() without a password, if it
+is unable to decode the key.
+
+** libgnutls: Correctly deinitialize crypto API functions to prevent
+a memory leak. Reported by Mads Kiilerich.
+
+** certtool: If asked to generate DSA keys of size more than 1024 bits,
+issue a warning, that the output key might not be working everywhere.
+
+** certtool: The --pkcs-cipher is taken into account when generating a
+private key. The default cipher used now is aes-128. The old behavior
+can be simulated by specifying "--pkcs-cipher 3des-pkcs12".
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.10.0 (released 2010-06-25)
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.9.12 (released 2010-06-17)
+
+** gnutls-cli: Make --starttls work again.
+Problem introduced in patch to use read() instead of fgets() committed
+on 2010-01-27.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.9.11 (released 2010-06-07)
+
+** libgnutls: Removed two APIs related to safe renegotiation.
+Use priority strings instead. The APIs were
+gnutls_safe_negotiation_set_initial and gnutls_safe_renegotiation_set.
+(Remember that we don't promise ABI stability during development
+series, so this doesn't cause an shared library ABI increment.)
+
+** tests: More self testing of safe renegotiation extension.
+See tests/safe-renegotiation/README for more information.
+
+** doc: a PDF version of the API reference manual (GTK-DOC) is now built.
+
+** doc: Terms 'GNUTLS' and 'GNU TLS' were changed to 'GnuTLS' for consistency.
+
+** API and ABI modifications:
+gnutls_safe_negotiation_set_initial: REMOVED.
+gnutls_safe_renegotiation_set: REMOVED.
+
+* Version 2.9.10 (released 2010-04-22)
+
+** libgnutls: Time verification extended to trusted certificate list.
+Unless new constant GNUTLS_VERIFY_DISABLE_TRUSTED_TIME_CHECKS flag is
+specified.
+
+** certtool: Display postalCode and Name X.509 DN attributes correctly.
+Based on patch by Pavan Konjarla. Adds new constant
+GNUTLS_OID_X520_POSTALCODE and GNUTLS_OID_X520_NAME.
+
+** libgnutls: Added Steve Dispensa's patch for safe renegotiation (RFC 5746)
+Solves the issue discussed in:
+&lt;http://www.ietf.org/mail-archive/web/tls/current/msg03928.html&gt; and
+&lt;http://www.ietf.org/mail-archive/web/tls/current/msg03948.html&gt;.
+Note that to allow connecting to unpatched servers the full protection
+is only enabled if the priority string %SAFE_RENEGOTIATION is
+specified. You can check whether protection is in place by querying
+gnutls_safe_renegotiation_status(). New error codes
+GNUTLS_E_SAFE_RENEGOTIATION_FAILED and
+GNUTLS_E_UNSAFE_RENEGOTIATION_DENIED added.
+
+** libgnutls: When checking openpgp self signature also check the signatures
+** of all subkeys.
+Ilari Liusvaara noticed and reported the issue and provided test
+vectors as well.
+
+** libgnutls: Added cryptodev support (/dev/crypto).
+Tested with http://www.logix.cz/michal/devel/cryptodev/. Added
+benchmark utility for AES. Adds new error codes
+GNUTLS_E_CRYPTODEV_IOCTL_ERROR and GNUTLS_E_CRYPTODEV_DEVICE_ERROR.
+
+** libgnutls: Exported API to access encryption and hash algorithms.
+The new API functions are gnutls_cipher_decrypt, gnutls_cipher_deinit,
+gnutls_cipher_encrypt, gnutls_cipher_get_block_size,
+gnutls_cipher_init, gnutls_hash, gnutls_hash_deinit, gnutls_hash_fast,
+gnutls_hash_get_len, gnutls_hash_init, gnutls_hash_output,
+gnutls_hmac, gnutls_hmac_deinit, gnutls_hmac_fast,
+gnutls_hmac_get_len, gnutls_hmac_init, gnutls_hmac_output. New API
+constants are GNUTLS_MAC_SHA224 and GNUTLS_DIG_SHA224.
+
+** libgnutls: Added gnutls_certificate_set_verify_function() to allow
+verification of certificate upon receipt rather than waiting until the
+end of the handshake.
+
+** libgnutls: Don't send alerts during handshake.
+Instead new error code GNUTLS_E_UNKNOWN_SRP_USERNAME is added.
+
+** certtool: Corrected two issues that affected certificate request generation.
+(1) Null padding is added on integers (found thanks to Wilankar Trupti),
+(2) In optional SignatureAlgorithm parameters field for DSA keys the DSA
+parameters were added. Those were rejected by Verisign. Gnutls no longer adds
+those parameters there since other implementations don't do either and having
+them does not seem to offer anything (anyway you need the signer's certificate
+to verify thus public key will be available). Found thanks to Boyan Kasarov.
+This however has the side-effect that public key IDs shown by certtool are
+now different than previous gnutls releases.
+(3) the option --pgp-certificate-info will verify self signatures
+
+** certtool: Allow exporting of Certificate requests on DER format.
+
+** certtool: New option --no-crq-extensions to avoid extensions in CSRs.
+
+** gnutls-cli: Handle reading binary data from server.
+Reported by and tiny patch from Vitaly Mayatskikh
+&lt;v.mayatskih@gmail.com&gt; in
+&lt;http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/4096&gt;.
+
+** minitasn1: Upgraded to libtasn1 version 2.6.
+
+** i18n: Updated Czech, Dutch, French, Polish, Swedish translation.
+** Added Italian and Simplified Chinese translation.
+Thanks to Petr Pisar, Erwin Poeze, Nicolas Provost, Jakub Bogusz,
+Daniel Nylander, Sergio Zanchetta, Tao Wei, and Aron Xu.
+
+** doc: The GTK-DOC manual is significantly improved.
+
+** API and ABI modifications:
+%DISABLE_SAFE_RENEGOTIATION: Added to priority strings (do not use).
+%INITIAL_SAFE_RENEGOTIATION: Added to priority strings.
+%UNSAFE_RENEGOTIATION: Added to priority strings.
+GNUTLS_DIG_SHA224: ADDED.
+GNUTLS_E_CRYPTODEV_DEVICE_ERROR: ADDED.
+GNUTLS_E_CRYPTODEV_IOCTL_ERROR: ADDED.
+GNUTLS_E_SAFE_RENEGOTIATION_FAILED: ADDED.
+GNUTLS_E_UNKNOWN_SRP_USERNAME: ADDED.
+GNUTLS_E_UNSAFE_RENEGOTIATION_DENIED: ADDED.
+GNUTLS_MAC_SHA224: ADDED.
+GNUTLS_OID_X520_NAME: ADDED.
+GNUTLS_OID_X520_POSTALCODE: ADDED.
+GNUTLS_VERIFY_DISABLE_TRUSTED_TIME_CHECKS: ADDED.
+GNUTLS_VERSION_MAX: ADDED.
+gnutls_certificate_set_verify_function: ADDED.
+gnutls_cipher_decrypt: ADDED.
+gnutls_cipher_deinit: ADDED.
+gnutls_cipher_encrypt: ADDED.
+gnutls_cipher_get_block_size: ADDED.
+gnutls_cipher_init: ADDED.
+gnutls_hash: ADDED.
+gnutls_hash_deinit: ADDED.
+gnutls_hash_fast: ADDED.
+gnutls_hash_get_len: ADDED.
+gnutls_hash_init: ADDED.
+gnutls_hash_output: ADDED.
+gnutls_hmac: ADDED.
+gnutls_hmac_deinit: ADDED.
+gnutls_hmac_fast: ADDED.
+gnutls_hmac_get_len: ADDED.
+gnutls_hmac_init: ADDED.
+gnutls_hmac_output: ADDED.
+gnutls_safe_negotiation_set_initial: ADDED.
+gnutls_safe_renegotiation_set: ADDED.
+gnutls_safe_renegotiation_status: ADDED.
+
+* Version 2.9.9 (released 2009-11-09)
+
+** libgnutls: Cleanups and several bug fixes.
+Found by Steve Grubb and Tomas Mraz.
+
+** Link libgcrypt explicitly to certtool, gnutls-cli, gnutls-serv.
+
+** Fix --disable-valgrind-tests.
+Reported by Ingmar Vanhassel in
+&lt;https://savannah.gnu.org/support/?107029&gt;.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.9.8 (released 2009-11-05)
+
+** libgnutls: Fix for memory leaks on interrupted handshake.
+Reported by Tang Tong.
+
+** libgnutls: Addition of support for TLS 1.2 signature algorithms
+** extension and certificate verify field.
+This requires changes for TLS 1.2 servers and clients that use
+callbacks for certificate retrieval. They are now required to check
+with gnutls_sign_algorithm_get_requested() whether the certificate
+they send complies with the peer's preferences in signature
+algorithms.
+
+** libgnutls: In server side when resuming a session do not overwrite the
+** initial session data with the resumed session data.
+
+** libgnutls: Added support for AES-128, AES-192 and AES-256 in PKCS #8
+** encryption.
+This affects also PKCS #12 encoded files. This adds the following new
+enums: GNUTLS_CIPHER_AES_192_CBC, GNUTLS_PKCS_USE_PBES2_AES_128,
+GNUTLS_PKCS_USE_PBES2_AES_192, GNUTLS_PKCS_USE_PBES2_AES_256.
+
+** libgnutls: Fix PKCS#12 encoding.
+The error you would get was "The OID is not supported.". Problem
+introduced for the v2.8.x branch in 2.7.6.
+
+** certtool: Added the --pkcs-cipher option.
+To explicitely specify the encryption algorithm to use.
+
+** tests: Added "pkcs12_encode" self-test to check PKCS#12 functions.
+
+** tests: Fix time bomb in chainverify self-test.
+Reported by Andreas Metzler &lt;ametzler@downhill.at.eu.org&gt; in
+&lt;http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3925&gt;.
+
+** tests: Fix expired cert in chainverify self-test.
+
+** i18n: Vietnamese translation updated.
+Thanks to Clytie Siddall.
+
+** API and ABI modifications:
+GNUTLS_CIPHER_AES_192_CBC: ADDED to gnutls/gnutls.h.
+GNUTLS_PKCS_USE_PBES2_AES_128: ADDED to gnutls/x509.h.
+GNUTLS_PKCS_USE_PBES2_AES_192: ADDED to gnutls/x509.h.
+GNUTLS_PKCS_USE_PBES2_AES_256: ADDED to gnutls/x509.h.
+GNUTLS_BAG_SECRET: ADDED to gnutls/pkcs12.h.
+GNUTLS_DIG_UNKNOWN: ADDED to gnutls/gnutls.h.
+gnutls_sign_algorithm_get_requested: ADDED.
+
+* Version 2.9.7 (released 2009-10-06)
+
+** libgnutls: TLS 1.2 server mode fixes.
+Now interoperates against Opera. Contributed by Daiki Ueno.
+
+** libgnutlsxx: Fix link problems.
+Tiny patch from Boyan Kasarov &lt;bkasarov@gmail.com&gt;.
+
+** guile: Compatibility with guile 2.x.
+By Ludovic Courtes &lt;ludovic.courtes@laas.fr&gt;.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.9.6 (released 2009-09-22)
+
+** libgnutls: Enable Camellia ciphers by default.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.9.5 (released 2009-09-10)
+
+** libgnutls: Add new functions to extract X.509 Issuer Alternative Names.
+The new functions are gnutls_x509_crt_get_issuer_alt_name2,
+gnutls_x509_crt_get_issuer_alt_name, and
+gnutls_x509_crt_get_issuer_alt_othername_oid. Contributed by Brad
+Hards &lt;bradh@frogmouth.net&gt;.
+
+** API and ABI modifications:
+gnutls_x509_crt_get_issuer_alt_name2: ADDED.
+gnutls_x509_crt_get_issuer_alt_name: ADDED.
+gnutls_x509_crt_get_issuer_alt_othername_oid: ADDED.
+
+* Version 2.9.4 (released 2009-09-03)
+
+** libgnutls: Client-side TLS 1.2 and SHA-256 ciphersuites now works.
+The new supported ciphersuites are AES-128/256 in CBC mode with
+ANON-DH/RSA/DHE-DSS/DHE-RSA. Contributed by Daiki Ueno. Further,
+SHA-256 is now the preferred default MAC (however it is only used with
+TLS 1.2).
+
+** libgnutls: Make OpenPGP hostname checking work again.
+The patch to resolve the X.509 CN/SAN issue accidentally broken
+OpenPGP hostname comparison.
+
+** libgnutls: When printing X.509 certificates, handle XMPP SANs better.
+Reported by Howard Chu &lt;hyc@symas.com&gt; in
+&lt;https://savannah.gnu.org/support/?106975&gt;.
+
+** Fix use of deprecated types internally.
+Use of deprecated types in GnuTLS from now on will lead to a compile
+error, to prevent this from happening again.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.9.3 (released 2009-08-19)
+
+** libgnutls: Support for TLS tickets was contributed by Daiki Ueno.
+The new APIs are gnutls_session_ticket_enable_client,
+gnutls_session_ticket_enable_server, and
+gnutls_session_ticket_key_generate.
+
+** gnutls-cli, gnutls-serv: New parameter --noticket to disable TLS tickets.
+
+** API and ABI modifications:
+gnutls_session_ticket_key_generate: ADDED.
+gnutls_session_ticket_enable_client: ADDED.
+gnutls_session_ticket_enable_server: ADDED.
+
+* Version 2.9.2 (released 2009-08-14)
+
+** libgnutls: Fix problem with NUL bytes in X.509 CN and SAN fields.
+By using a NUL byte in CN/SAN fields, it was possible to fool GnuTLS
+into 1) not printing the entire CN/SAN field value when printing a
+certificate and 2) cause incorrect positive matches when matching a
+hostname against a certificate. Some CAs apparently have poor
+checking of CN/SAN values and issue these (arguable invalid)
+certificates. Combined, this can be used by attackers to become a
+MITM on server-authenticated TLS sessions. The problem is mitigated
+since attackers needs to get one certificate per site they want to
+attack, and the attacker reveals his tracks by applying for a
+certificate at the CA. It does not apply to client authenticated TLS
+sessions. Research presented independently by Dan Kaminsky and Moxie
+Marlinspike at BlackHat09. Thanks to Tomas Hoger &lt;thoger@redhat.com&gt;
+for providing one part of the patch. [GNUTLS-SA-2009-4] [CVE-2009-2730].
+
+** libgnutls: Fix rare failure in gnutls_x509_crt_import.
+The function may fail incorrectly when an earlier certificate was
+imported to the same gnutls_x509_crt_t structure.
+
+** minitasn1: Internal copy updated to libtasn1 v2.3.
+
+** libgnutls: Fix return value of gnutls_certificate_client_get_request_status.
+Before it always returned false. Reported by Peter Hendrickson
+&lt;pdh@wiredyne.com&gt; in
+&lt;http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3668&gt;.
+
+** libgnutls: Fix off-by-one size computation error in unknown DN printing.
+The error resulted in truncated strings when printing unknown OIDs in
+X.509 certificate DNs. Reported by Tim Kosse
+&lt;tim.kosse@filezilla-project.org&gt; in
+&lt;http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3651&gt;.
+
+** libgnutls: Fix PKCS#12 decryption from password.
+The encryption key derived from the password was incorrect for (on
+average) 1 in every 128 input for random inputs. Reported by "Kukosa,
+Tomas" &lt;tomas.kukosa@siemens-enterprise.com&gt; in
+&lt;http://permalink.gmane.org/gmane.network.gnutls.general/1663&gt;.
+
+** libgnutls: Return correct bit lengths of some MPIs.
+gnutls_dh_get_prime_bits, gnutls_rsa_export_get_modulus_bits, and
+gnutls_dh_get_peers_public_bits. Before the reported value was
+overestimated. Reported by Peter Hendrickson &lt;pdh@wiredyne.com&gt; in
+&lt;http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3607&gt;.
+
+** libgnutls: Avoid internal error when invoked after GNUTLS_E_AGAIN.
+Report and patch by Tim Kosse &lt;tim.kosse@filezilla-project.org&gt; in
+&lt;http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3671&gt;
+and
+&lt;http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3670&gt;.
+
+** libgnutls: Relax checking of required libtasn1/libgcrypt versions.
+Before we required that the runtime library used the same (or more
+recent) libgcrypt/libtasn1 as it was compiled with. Now we just check
+that the runtime usage is above the minimum required. Reported by
+Marco d'Itri &lt;md@linux.it&gt; via Andreas Metzler
+&lt;ametzler@downhill.at.eu.org&gt; in &lt;http://bugs.debian.org/540449&gt;.
+
+** tests: Added new self-test pkcs12_s2k_pem to detect MPI bit length error.
+
+** tests: Improved test vectors in self-test pkcs12_s2k.
+
+** tests: Added new self-test dn2 to detect off-by-one size error.
+
+** tests: Fix failure in "chainverify" because a certificate have expired.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.9.1 (released 2009-06-08)
+
+** libgnutls: Fix crash in gnutls_global_init after earlier init/deinit cycle.
+Forwarded by Martin von Gagern &lt;Martin.vGagern@gmx.net&gt; from
+&lt;http://bugs.gentoo.org/272388&gt;.
+
+** tests: Added new self-tests init_roundtrip.c to detect previous problem.
+
+** Reduce stack usage for some CRQ functions.
+
+** Doc fixes for CRQ functions.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.9.0 (released 2009-05-28)
+
+** Doc fixes.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.8.6 (released 2010-03-15)
+
+** libgnutls: For CSRs, don't null pad integers for RSA/DSA value.
+VeriSign rejected CSRs with this padding. Reported by Wilankar Trupti
+&lt;trupti.wilankar@hp.com&gt; and Boyan Kasarov &lt;bkasarov@gmail.com&gt;.
+
+Note: As a side effect of this change, the "public key identifier"
+value computed for a certificate using this version of GnuTLS will be
+different from values computed using earlier versions of GnuTLS.
+
+** libgnutls: For CSRs on DSA keys, don't add DSA parameters to the
+** optional SignatureAlgorithm parameter field.
+VeriSign rejected these CSRs. They are stricly speaking not needed
+since you need the signer's certificate to verify the certificate
+signature anyway. Reported by Wilankar Trupti
+&lt;trupti.wilankar@hp.com&gt; and Boyan Kasarov &lt;bkasarov@gmail.com&gt;.
+
+** libgnutls: When checking openpgp self signature also check the signatures
+** of all subkeys.
+Ilari Liusvaara noticed and reported the issue and provided test
+vectors as well.
+
+** libgnutls: Cleanups and several bug fixes.
+Found by Steve Grubb and Tomas Mraz.
+
+** Link libgcrypt explicitly to certtool, gnutls-cli, gnutls-serv.
+
+** Fix --disable-valgrind-tests.
+Reported by Ingmar Vanhassel in
+&lt;https://savannah.gnu.org/support/?107029&gt;.
+
+** examples: Use the new APIs for printing X.509 certificate information.
+
+** Fix build failures on Solaris.
+Thanks to Dagobert Michelsen &lt;dam@opencsw.org&gt;.
+
+** i18n: Updated Czech, Dutch, French, Polish, Swedish and Vietnamese
+** translations. Added Simplified Chinese translation.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.8.5 (released 2009-11-02)
+
+** libgnutls: In server side when resuming a session do not overwrite the
+** initial session data with the resumed session data.
+
+** libgnutls: Fix PKCS#12 encoding.
+The error you would get was "The OID is not supported.". Problem
+introduced for the v2.8.x branch in 2.7.6.
+
+** guile: Compatibility with guile 2.x.
+By Ludovic Courtes &lt;ludovic.courtes@laas.fr&gt;.
+
+** tests: Fix expired cert in chainverify self-test.
+
+** tests: Fix time bomb in chainverify self-test.
+Reported by Andreas Metzler &lt;ametzler@downhill.at.eu.org&gt; in
+&lt;http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3925&gt;.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.8.4 (released 2009-09-18)
+
+** libgnutls: Enable Camellia ciphers by default.
+
+** libgnutls: Make OpenPGP hostname checking work again.
+The patch to resolve the X.509 CN/SAN issue accidentally broken
+OpenPGP hostname comparison.
+
+** libgnutls: When printing X.509 certificates, handle XMPP SANs better.
+Reported by Howard Chu &lt;hyc@symas.com&gt; in
+&lt;https://savannah.gnu.org/support/?106975&gt;.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.8.3 (released 2009-08-13)
+
+** libgnutls: Fix patch for NUL in CN/SAN in last release.
+Code intended to be removed would lead to an read-out-bound error in
+some situations. Reported by Tomas Hoger &lt;thoger@redhat.com&gt;. A CVE
+code have been allocated for the vulnerability: [CVE-2009-2730].
+
+** libgnutls: Fix rare failure in gnutls_x509_crt_import.
+The function may fail incorrectly when an earlier certificate was
+imported to the same gnutls_x509_crt_t structure.
+
+** libgnutls-extra, libgnutls-openssl: Fix MinGW cross-compiling build error.
+
+** tests: Made self-test mini-eagain take less time.
+
+** doc: Typo fixes.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.8.2 (released 2009-08-10)
+
+** libgnutls: Fix problem with NUL bytes in X.509 CN and SAN fields.
+By using a NUL byte in CN/SAN fields, it was possible to fool GnuTLS
+into 1) not printing the entire CN/SAN field value when printing a
+certificate and 2) cause incorrect positive matches when matching a
+hostname against a certificate. Some CAs apparently have poor
+checking of CN/SAN values and issue these (arguable invalid)
+certificates. Combined, this can be used by attackers to become a
+MITM on server-authenticated TLS sessions. The problem is mitigated
+since attackers needs to get one certificate per site they want to
+attack, and the attacker reveals his tracks by applying for a
+certificate at the CA. It does not apply to client authenticated TLS
+sessions. Research presented independently by Dan Kaminsky and Moxie
+Marlinspike at BlackHat09. Thanks to Tomas Hoger &lt;thoger@redhat.com&gt;
+for providing one part of the patch. [GNUTLS-SA-2009-4].
+
+** libgnutls: Fix return value of gnutls_certificate_client_get_request_status.
+Before it always returned false. Reported by Peter Hendrickson
+&lt;pdh@wiredyne.com&gt; in
+&lt;http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3668&gt;.
+
+** libgnutls: Fix off-by-one size computation error in unknown DN printing.
+The error resulted in truncated strings when printing unknown OIDs in
+X.509 certificate DNs. Reported by Tim Kosse
+&lt;tim.kosse@filezilla-project.org&gt; in
+&lt;http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3651&gt;.
+
+** libgnutls: Return correct bit lengths of some MPIs.
+gnutls_dh_get_prime_bits, gnutls_rsa_export_get_modulus_bits, and
+gnutls_dh_get_peers_public_bits. Before the reported value was
+overestimated. Reported by Peter Hendrickson &lt;pdh@wiredyne.com&gt; in
+&lt;http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3607&gt;.
+
+** libgnutls: Avoid internal error when invoked after GNUTLS_E_AGAIN.
+Report and patch by Tim Kosse &lt;tim.kosse@filezilla-project.org&gt; in
+&lt;http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3671&gt;
+and
+&lt;http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3670&gt;.
+
+** libgnutls: Relax checking of required libtasn1/libgcrypt versions.
+Before we required that the runtime library used the same (or more
+recent) libgcrypt/libtasn1 as it was compiled with. Now we just check
+that the runtime usage is above the minimum required. Reported by
+Marco d'Itri &lt;md@linux.it&gt; via Andreas Metzler
+&lt;ametzler@downhill.at.eu.org&gt; in &lt;http://bugs.debian.org/540449&gt;.
+
+** minitasn1: Internal copy updated to libtasn1 v2.3.
+
+** tests: Fix failure in "chainverify" because a certificate have expired.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.8.1 (released 2009-06-10)
+
+** libgnutls: Fix crash in gnutls_global_init after earlier init/deinit cycle.
+Forwarded by Martin von Gagern &lt;Martin.vGagern@gmx.net&gt; from
+&lt;http://bugs.gentoo.org/272388&gt;.
+
+** libgnutls: Fix PKCS#12 decryption from password.
+The encryption key derived from the password was incorrect for (on
+average) 1 in every 128 input for random inputs. Reported by "Kukosa,
+Tomas" &lt;tomas.kukosa@siemens-enterprise.com&gt; in
+&lt;http://permalink.gmane.org/gmane.network.gnutls.general/1663&gt;.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.8.0 (released 2009-05-27)
+
+** doc: Fix gnutls_dh_get_prime_bits. Fix error codes and algorithm lists.
+
+** Major changes compared to the v2.4 branch:
+
+*** lib: Linker version scripts reduces number of exported symbols.
+
+*** lib: Limit exported symbols on systems without LD linker scripts.
+
+*** libgnutls: Fix namespace issue with version symbols.
+
+*** libgnutls: Add functions to verify a hash against a certificate.
+gnutls_x509_crt_verify_hash: ADDED
+gnutls_x509_crt_get_verify_algorithm: ADDED
+
+*** gnutls-serv: Listen on all interfaces, including both IPv4 and IPv6.
+
+*** i18n: The GnuTLS gettext domain is now 'libgnutls' instead of 'gnutls'.
+
+*** certtool: Query for multiple dnsName subjectAltName in interactive mode.
+
+*** gnutls-cli: No longer accepts V1 CAs by default during X.509 chain verify.
+
+*** gnutls-serv: No longer disable MAC padding by default.
+
+*** gnutls-cli: Certificate information output format changed.
+
+*** libgnutls: New priority strings %VERIFY_ALLOW_SIGN_RSA_MD5
+*** and %VERIFY_ALLOW_X509_V1_CA_CRT.
+
+*** libgnutls: gnutls_x509_crt_print prints signature algorithm in oneline mode.
+
+*** libgnutls: gnutls_openpgp_crt_print supports oneline mode.
+
+*** libgnutls: gnutls_handshake when sending client hello during a
+rehandshake, will not offer a version number larger than the current.
+
+*** libgnutls: New interface to get key id for certificate requests.
+gnutls_x509_crq_get_key_id: ADDED.
+
+*** libgnutls: gnutls_x509_crq_print will now also print public key id.
+
+*** certtool: --verify-chain now prints results of using library verification.
+
+*** libgnutls: Libgcrypt initialization changed.
+
+*** libgnutls: Small byte reads via gnutls_record_recv() optimized.
+
+*** gnutls-cli: Return non-zero exit code on error conditions.
+
+*** gnutls-cli: Corrected bug which caused a rehandshake request to be ignored.
+
+*** certtool: allow setting arbitrary key purpose object identifiers.
+
+*** libgnutls: Change detection of when to use a linker version script.
+Use --enable-ld-version-script or --disable-ld-version-script to
+override auto-detection logic.
+
+*** Fix warnings and build GnuTLS with more warnings enabled.
+
+*** New API to set X.509 credentials from PKCS#12 memory structure.
+gnutls_certificate_set_x509_simple_pkcs12_mem: ADDED
+
+*** Old libgnutls.m4 and libgnutls-config scripts removed.
+Please use pkg-config instead.
+
+*** libgnutls: Added functions to handle CRL extensions.
+gnutls_x509_crl_get_authority_key_id: ADDED
+gnutls_x509_crl_get_number: ADDED
+gnutls_x509_crl_get_extension_oid: ADDED
+gnutls_x509_crl_get_extension_info: ADDED
+gnutls_x509_crl_get_extension_data: ADDED
+gnutls_x509_crl_set_authority_key_id: ADDED
+gnutls_x509_crl_set_number: ADDED
+
+*** libgnutls: Added functions to handle X.509 extensions in Certificate
+Requests.
+gnutls_x509_crq_get_key_rsa_raw: ADDED
+gnutls_x509_crq_get_attribute_info: ADDED
+gnutls_x509_crq_get_attribute_data: ADDED
+gnutls_x509_crq_get_extension_info: ADDED
+gnutls_x509_crq_get_extension_data: ADDED
+gnutls_x509_crq_get_key_usage: ADDED
+gnutls_x509_crq_get_basic_constraints: ADDED
+gnutls_x509_crq_get_subject_alt_name: ADDED
+gnutls_x509_crq_get_subject_alt_othername_oid: ADDED
+gnutls_x509_crq_get_extension_by_oid: ADDED
+gnutls_x509_crq_set_subject_alt_name: ADDED
+gnutls_x509_crq_set_basic_constraints: ADDED
+gnutls_x509_crq_set_key_usage: ADDED
+gnutls_x509_crq_get_key_purpose_oid: ADDED
+gnutls_x509_crq_set_key_purpose_oid: ADDED
+gnutls_x509_crq_print: ADDED
+gnutls_x509_crt_set_crq_extensions: ADDED
+
+*** certtool: Print and set CRL and CRQ extensions.
+
+*** minitasn1: Internal copy updated to libtasn1 v2.1.
+
+*** examples: Now released into the public domain.
+
+*** The Texinfo and GTK-DOC manuals were improved.
+
+*** Several self-tests were added and others improved.
+
+*** API/ABI changes in GnuTLS 2.8 compared to GnuTLS 2.6.x
+No offically supported interfaces have been modified or removed. The
+library should be completely backwards compatible on both the source
+and binary level.
+
+The shared library no longer exports some symbols that have never been
+officially supported, i.e., not mentioned in any of the header files.
+The symbols are:
+
+ _gnutls*
+ gnutls_asn1_tab
+
+Normally when symbols are removed, the shared library version has to
+be incremented. This leads to a significant cost for everyone using
+the library. Because none of the above symbols have ever been
+intended for use by well-behaved applications, we decided that the it
+would be better for those applications to pay the price rather than
+incurring problems on the majority of applications.
+
+If it turns out that applications have been using unofficial
+interfaces, we will need to release a follow-on release on the v2.8
+branch to exports additional interfaces. However, initial testing
+suggests that few if any applications have been using any of the
+internal symbols.
+
+Although not a new change compared to 2.6.x, we'd like to remind you
+interfaces have been modified so that X.509 chain verification now
+also checks activation/expiration times on certificates. The affected
+functions are:
+
+gnutls_x509_crt_list_verify: CHANGED, checks activation/expiration times.
+gnutls_certificate_verify_peers: Likewise.
+gnutls_certificate_verify_peers2: Likewise.
+GNUTLS_CERT_NOT_ACTIVATED: ADDED.
+GNUTLS_CERT_EXPIRED: ADDED.
+GNUTLS_VERIFY_DISABLE_TIME_CHECKS: ADDED.
+
+This change in behaviour was made during the GnuTLS 2.6.x cycle, and
+we gave our rationale for it in earlier release notes.
+
+The following symbols have been added to the library:
+
+gnutls_certificate_set_x509_simple_pkcs12_mem: ADDED
+gnutls_x509_crl_get_authority_key_id: ADDED
+gnutls_x509_crl_get_extension_data: ADDED
+gnutls_x509_crl_get_extension_info: ADDED
+gnutls_x509_crl_get_extension_oid: ADDED
+gnutls_x509_crl_get_number: ADDED
+gnutls_x509_crl_set_authority_key_id: ADDED
+gnutls_x509_crl_set_number: ADDED
+gnutls_x509_crq_get_attribute_data: ADDED
+gnutls_x509_crq_get_attribute_info: ADDED
+gnutls_x509_crq_get_basic_constraints: ADDED
+gnutls_x509_crq_get_extension_by_oid: ADDED
+gnutls_x509_crq_get_extension_data: ADDED
+gnutls_x509_crq_get_extension_info: ADDED
+gnutls_x509_crq_get_key_id: ADDED.
+gnutls_x509_crq_get_key_purpose_oid: ADDED
+gnutls_x509_crq_get_key_rsa_raw: ADDED
+gnutls_x509_crq_get_key_usage: ADDED
+gnutls_x509_crq_get_subject_alt_name: ADDED
+gnutls_x509_crq_get_subject_alt_othername_oid: ADDED
+gnutls_x509_crq_print: ADDED
+gnutls_x509_crq_set_basic_constraints: ADDED
+gnutls_x509_crq_set_key_purpose_oid: ADDED
+gnutls_x509_crq_set_key_usage: ADDED
+gnutls_x509_crq_set_subject_alt_name: ADDED
+gnutls_x509_crt_get_verify_algorithm: ADDED
+gnutls_x509_crt_set_crq_extensions: ADDED
+gnutls_x509_crt_verify_hash: ADDED
+
+The following interfaces have been added to the header files:
+
+GNUTLS_VERSION: ADDED, replaces LIBGNUTLS_VERSION.
+GNUTLS_VERSION_MAJOR: ADDED, replaces LIBGNUTLS_VERSION_MAJOR.
+GNUTLS_VERSION_MINOR: ADDED, replaces LIBGNUTLS_VERSION_MINOR.
+GNUTLS_VERSION_PATCH: ADDED, replaces LIBGNUTLS_VERSION_PATCH.
+GNUTLS_VERSION_NUMBER: ADDED, replaces LIBGNUTLS_VERSION_NUMBER.
+GNUTLS_EXTRA_VERSION: ADDED, replaces LIBGNUTLS_EXTRA_VERSION.
+
+The following interfaces have been deprecated:
+
+LIBGNUTLS_VERSION: DEPRECATED.
+LIBGNUTLS_VERSION_MAJOR: DEPRECATED.
+LIBGNUTLS_VERSION_MINOR: DEPRECATED.
+LIBGNUTLS_VERSION_PATCH: DEPRECATED.
+LIBGNUTLS_VERSION_NUMBER: DEPRECATED.
+LIBGNUTLS_EXTRA_VERSION: DEPRECATED.
+
+* Version 2.7.14 (released 2009-05-26)
+
+** libgnutls: Fix namespace issue with version symbol for libgnutls-extra.
+The symbol LIBGNUTLS_EXTRA_VERSION were renamed to
+GNUTLS_EXTRA_VERSION. The old symbol will continue to work but is
+deprecated.
+
+** Doc: Several typo fixes in documentation.
+Reported by Peter Hendrickson &lt;pdh@wiredyne.com&gt;.
+
+** API and ABI modifications:
+GNUTLS_VERSION: ADDED, replaces LIBGNUTLS_EXTRA_VERSION.
+LIBGNUTLS_EXTRA_VERSION: DEPRECATED.
+
+* Version 2.7.13 (released 2009-05-25)
+
+** libgnutls: Fix version of some exported symbols in the shared library.
+Reported by Andreas Metzler &lt;ametzler@downhill.at.eu.org&gt; in
+&lt;http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3576&gt;.
+
+** tests: Handle recently expired certificates in chainverify self-test.
+Reported by Andreas Metzler &lt;ametzler@downhill.at.eu.org&gt; in
+&lt;http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3580&gt;.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.7.12 (released 2009-05-20)
+
+** gnutls-serv, gnutls-cli-debug: Make them work on Windows.
+
+** tests/crq_key_id: Don't read entropy from /dev/random in self-test.
+Reported by Andreas Metzler &lt;ametzler@downhill.at.eu.org&gt; in
+&lt;http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3570&gt;.
+
+** Fix build failures.
+Missing sa_family_t and vsnprintf on IRIX. Reported by "Tom
+G. Christensen" &lt;tgc@jupiterrise.com&gt; in
+&lt;http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3571&gt;.
+
+** minitasn1: Internal copy updated to libtasn1 v2.2.
+GnuTLS should work fine with libtasn1 v1.x and that is still
+supported.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.7.11 (released 2009-05-18)
+
+** minitasn1: Fix build failure when using internal libtasn1.
+Reported by "Tom G. Christensen" &lt;tgc@jupiterrise.com&gt; in
+&lt;http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3548&gt;.
+
+** libgnutls: Fix build failure with --disable-cxx.
+Reported by Andreas Metzler &lt;ametzler@downhill.at.eu.org&gt; in
+&lt;http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3557&gt;.
+
+** gnutls-serv: Fix build failure for unportable NI_MAXHOST/NI_MAXSERV.
+Reported by "Tom G. Christensen" &lt;tgc@jupiterrise.com&gt; in
+&lt;http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3560&gt;
+
+** Building with many warning flags now requires --enable-gcc-warnings.
+This avoids crying wolf for normal compiles.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.7.10 (released 2009-05-13)
+
+** examples: Now released into the public domain.
+This makes the license of the example code compatible with more
+licenses, including the (L)GPL.
+
+** minitasn1: Internal copy updated to libtasn1 v2.1.
+GnuTLS should work fine with libtasn1 v1.x and that is still
+supported.
+
+** libgnutls: Fix crash in signature verification
+The fix for the CVE-2009-1415 problem wasn't merged completely.
+
+** doc: Fixes for GTK-DOC output.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.7.9 (released 2009-05-11)
+
+** doc: Fix strings in man page of gnutls_priority_init.
+
+** doc: Fix tables of error codes and supported algorithms.
+
+** Fix build failure when cross-compiled using MinGW.
+
+** Fix build failure when LZO is enabled.
+Reported by Arfrever Frehtes Taifersar Arahesis
+&lt;arfrever.fta@gmail.com&gt; in
+&lt;http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3522&gt;.
+
+** Fix build failure on systems without AF_INET6, e.g., Solaris 2.6.
+Reported by "Tom G. Christensen" &lt;tgc@jupiterrise.com&gt; in
+&lt;http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3524&gt;.
+
+** Fix warnings in self-tests.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.7.8 (released 2009-05-03)
+
+** libgnutls: Fix DSA key generation.
+Merged from stable branch. [GNUTLS-SA-2009-2] [CVE-2009-1416]
+
+** libgnutls: Check expiration/activation time on untrusted certificates.
+Merged from stable branch. Reported by Romain Francoise
+&lt;romain@orebokech.com&gt;. This changes the semantics of
+gnutls_x509_crt_list_verify, which in turn is used by
+gnutls_certificate_verify_peers and gnutls_certificate_verify_peers2.
+We add two new gnutls_certificate_status_t codes for reporting the new
+error condition, GNUTLS_CERT_NOT_ACTIVATED and GNUTLS_CERT_EXPIRED.
+We also add a new gnutls_certificate_verify_flags flag,
+GNUTLS_VERIFY_DISABLE_TIME_CHECKS, that can be used to disable the new
+behaviour. [GNUTLS-SA-2009-3] [CVE-2009-1417]
+
+** lib: Linker version scripts reduces number of exported symbols.
+The linker version script now lists all exported ABIs explicitly, to
+avoid accidentally exporting unintended functions. Compared to
+before, most symbols beginning with _gnutls* are no longer exported.
+These functions have never been intended for use by applications, and
+there were no prototypes for these function in the public header
+files. Thus we believe it is possible to do this without incrementing
+the library ABI version which normally has to be done when removing an
+interface.
+
+** lib: Limit exported symbols on systems without LD linker scripts.
+Before all symbols were exported. Now we limit the exported symbols
+to (for libgnutls and libgnutls-extra) gnutls* and (for libgnutls)
+_gnutls*. This is a superset of the actual supported ABI, but still
+an improvement compared to before. This is implemented using Libtool
+-export-symbols-regex. It is more portable than linker version
+scripts.
+
+** libgnutls: Incremented CURRENT/AGE libtool version to reflect new symbols.
+This should have been done in the last release.
+
+** gnutls-serv: Listen on all interfaces, including both IPv4 and IPv6.
+Reported by Peter Hendrickson &lt;pdh@wiredyne.com&gt; in
+&lt;http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3476&gt;.
+
+** doc: Improved sections for the info manual.
+We now follow the advice given by the texinfo manual on which
+directory categories to use. In particular, libgnutls moved from the
+'GNU Libraries' section to the 'Software libraries' and the command
+line tools moved from 'Network Applications' to 'System
+Administration'.
+
+** API and ABI modifications:
+gnutls_x509_crt_list_verify: CHANGED, checks activation/expiration times.
+gnutls_certificate_verify_peers: Likewise.
+gnutls_certificate_verify_peers2: Likewise.
+GNUTLS_CERT_NOT_ACTIVATED: ADDED.
+GNUTLS_CERT_EXPIRED: ADDED.
+GNUTLS_VERIFY_DISABLE_TIME_CHECKS: ADDED.
+
+* Version 2.7.7 (released 2009-04-20)
+
+** libgnutls: Applied patch by Cedric Bail to add functions
+gnutls_x509_crt_verify_hash() and gnutls_x509_crt_get_verify_algorithm().
+
+** gnutls.pc: Add -ltasn1 to 'pkg-config --libs --static gnutls' output.
+Reported by Andreas Metzler &lt;ametzler@downhill.at.eu.org&gt; in
+&lt;http://article.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3467&gt;.
+
+** minitasn1: Internal copy updated to libtasn1 v1.8.
+GnuTLS is also internally ready to be used with libtasn1 v2.0.
+
+** doc: Fix build failure of errcodes/printlist.
+Reported by Roman Bogorodskiy &lt;novel@FreeBSD.org&gt; in
+&lt;http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3435&gt;.
+
+** i18n: The GnuTLS gettext domain is now 'libgnutls' instead of 'gnutls'.
+It is currently only used by the core library. This will enable a new
+domain 'gnutls' for translations of the command line tools.
+
+** Corrected possible memory corruption on signature verification failure.
+Reported by Miroslav Kratochvil &lt;exa.exa@gmail.com&gt;
+
+** API and ABI modifications:
+gnutls_x509_crt_verify_hash: ADDED
+gnutls_x509_crt_get_verify_algorithm: ADDED
+
+* Version 2.7.6 (released 2009-02-27)
+
+** certtool: Query for multiple dnsName subjectAltName in interactive mode.
+This applies both to generating certificates and certificate requests.
+
+** pkix.asn: Removed unneeded definitions to reduce memory usage.
+
+** gnutls-cli: No longer accepts V1 CAs by default during X.509 chain verify.
+Use --priority NORMAL:%VERIFY_ALLOW_X509_V1_CA_CRT to permit V1 CAs to
+be used for chain verification.
+
+** gnutls-serv: No longer disable MAC padding by default.
+Use --priority NORMAL:%COMPAT to disable MAC padding again.
+
+** gnutls-cli: Certificate information output format changed.
+The tool now uses libgnutls' functions to print certificate
+information. This avoids code duplication.
+
+** libgnutls: New priority strings %VERIFY_ALLOW_SIGN_RSA_MD5
+** and %VERIFY_ALLOW_X509_V1_CA_CRT.
+They can be used to override the default certificate chain validation
+behaviour.
+
+** libgnutls: Added %SSL3_RECORD_VERSION priority string that allows to
+specify the client hello message record version. Used to overcome buggy
+TLS servers. Report by Martin von Gagern.
+
+** libgnutls: gnutls_x509_crt_print prints signature algorithm in oneline mode.
+
+** libgnutls: gnutls_openpgp_crt_print supports oneline mode.
+
+** doc: Update gnutls-cli and gnutls-serv --help output descriptions.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.7.5 (released 2009-02-06)
+
+** libgnutls: Accept chains where intermediary certs are trusted.
+Before GnuTLS needed to validate the entire chain back to a
+self-signed certificate. GnuTLS will now stop looking when it has
+found an intermediary trusted certificate. The new behaviour is
+useful when chains, for example, contains a top-level CA, an
+intermediary CA signed using RSA-MD5, and an end-entity certificate.
+To avoid chain validation errors due to the RSA-MD5 cert, you can
+explicitly add the intermediary RSA-MD5 cert to your trusted certs.
+The signature on trusted certificates are not checked, so the chain
+has a chance to validate correctly. Reported by "Douglas E. Engert"
+&lt;deengert@anl.gov&gt; in
+&lt;http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3351&gt;.
+
+** libgnutls: result_size in gnutls_hex_encode now holds
+the size of the result. Report by John Brooks &lt;special@dereferenced.net&gt;.
+
+** libgnutls: gnutls_handshake when sending client hello during a
+rehandshake, will not offer a version number larger than the current.
+Reported by Tristan Hill &lt;stan@saticed.me.uk&gt;.
+
+** libgnutls: Permit V1 Certificate Authorities properly.
+Before they were mistakenly rejected even though
+GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT and/or
+GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT were supplied. Reported by
+"Douglas E. Engert" &lt;deengert@anl.gov&gt; in
+&lt;http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3351&gt;.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.7.4 (released 2009-01-07)
+
+** libgnutls: deprecate X.509 validation chains using MD5 and MD2 signatures.
+This is a bugfix -- the previous attempt to do this from internal x509
+certificate verification procedures did not return the correct value
+for certificates using a weak hash. Reported by Daniel Kahn Gillmor
+&lt;dkg@fifthhorseman.net&gt; in
+&lt;http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3332&gt;,
+debugged and patch by Tomas Mraz &lt;tmraz@redhat.com&gt; and Daniel Kahn
+Gillmor &lt;dkg@fifthhorseman.net&gt;.
+
+** libgnutls: New interface to get key id for certificate requests.
+Patch from David Marín Carreño &lt;davefx@gmail.com&gt; in
+&lt;http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3321&gt;.
+
+** libgnutls: gnutls_x509_crq_print will now also print public key id.
+
+** certtool: --verify-chain now prints results of using library verification.
+Earlier, certtool --verify-chain used its own validation algorithm
+which wasn't guaranteed to give the same result as the libgnutls
+internal validation algorithm. Now this command print a new final
+line with header 'Chain verification output:' that contains the result
+from using the internal verification algorithm on the same chain.
+
+** tests: Add crq_key_id self-test of gnutls_x509_crq_get_key_id.
+
+** API and ABI modifications:
+gnutls_x509_crq_get_key_id: ADDED.
+
+* Version 2.7.3 (released 2008-12-10)
+
+** libgnutls: Fix chain verification for chains that ends with RSA-MD2 CAs.
+Reported by Michael Kiefer &lt;Michael-Kiefer@web.de&gt; in
+&lt;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507633&gt; forwarded by
+Andreas Metzler &lt;ametzler@downhill.at.eu.org&gt; in
+&lt;http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3309&gt;.
+
+** libgnutls: Libgcrypt initialization changed.
+If libgcrypt has not already been initialized, GnuTLS will now
+initialize libgcrypt with disabled secure memory. Initialize
+libgcrypt explicitly in your application if you want to enable secure
+memory. Before GnuTLS initialized libgcrypt to use GnuTLS's memory
+allocation functions, which doesn't use secure memory, so there is no
+real change in behaviour.
+
+** libgnutls: Fix memory leak in PSK authentication.
+Reported by Michael Weiser &lt;michael@weiser.dinsnail.net&gt; in
+&lt;http://permalink.gmane.org/gmane.network.gnutls.general/1465&gt;.
+
+** libgnutls: Small byte reads via gnutls_record_recv() optimized.
+
+** certtool: Move gcry_control(GCRYCTL_ENABLE_QUICK_RANDOM, 0) call earlier.
+It needs to be invoked before libgcrypt is initialized.
+
+** gnutls-cli: Return non-zero exit code on error conditions.
+
+** gnutls-cli: Corrected bug which caused a rehandshake request to be ignored.
+
+** tests: Added chainverify self-test that tests X.509 chain verifications.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.7.2 (released 2008-11-18)
+
+** libgnutls: Fix X.509 certificate chain validation error. [GNUTLS-SA-2008-3]
+The flaw makes it possible for man in the middle attackers (i.e.,
+active attackers) to assume any name and trick GnuTLS clients into
+trusting that name. Thanks for report and analysis from Martin von
+Gagern &lt;Martin.vGagern@gmx.net&gt;. [CVE-2008-4989]
+
+Any updates with more details about this vulnerability will be added
+to &lt;http://www.gnu.org/software/gnutls/security.html&gt;
+
+** libgnutls: Fix namespace issue with version symbols.
+The symbols LIBGNUTLS_VERSION, LIBGNUTLS_VERSION_MAJOR,
+LIBGNUTLS_VERSION_MINOR, LIBGNUTLS_VERSION_PATCH, and
+LIBGNUTLS_VERSION_NUMBER were renamed to GNUTLS_VERSION_NUMBER,
+GNUTLS_VERSION_MAJOR, GNUTLS_VERSION_MINOR, GNUTLS_VERSION_PATCH, and
+GNUTLS_VERSION_NUMBER respectively. The old symbols will continue to
+work but are deprecated.
+
+** certtool: allow setting arbitrary key purpose object identifiers.
+
+** libgnutls: Fix detection of C99 macros, to make debug logging work again.
+
+** libgnutls: Add missing prototype for gnutls_srp_set_prime_bits.
+Reported by Kevin Quick &lt;quick@sparq.org&gt; in
+&lt;https://savannah.gnu.org/support/index.php?106454&gt;.
+
+** libgnutls-extra: Make building with LZO compression work again.
+Build failure reported by Arfrever Frehtes Taifersar Arahesis
+&lt;arfrever.fta@gmail.com&gt; in
+&lt;http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3194&gt;.
+
+** libgnutls: Change detection of when to use a linker version script.
+Use --enable-ld-version-script or --disable-ld-version-script to
+override auto-detection logic.
+
+** doc: Change license on the manual to GFDLv1.3+.
+
+** doc: GTK-DOC fixes for new splitted configuration system.
+
+** doc: Texinfo stylesheet uses white background.
+
+** tests: Add cve-2008-4989.c self-test.
+Tests regressions of the GNUTLS-SA-2008-3 security problem, and the
+follow-on problem with crashes on length 1 certificate chains.
+
+** gnulib: Deprecated modules removed.
+Modules include memchr and memcmp.
+
+** Fix warnings and build GnuTLS with more warnings enabled.
+
+** minitasn1: Internal copy updated to libtasn1 v1.7.
+
+** API and ABI modifications:
+gnutls_certificate_set_x509_simple_pkcs12_mem: ADDED
+GNUTLS_VERSION: ADDED, replaces LIBGNUTLS_VERSION.
+GNUTLS_VERSION_MAJOR: ADDED, replaces LIBGNUTLS_VERSION_MAJOR.
+GNUTLS_VERSION_MINOR: ADDED, replaces LIBGNUTLS_VERSION_MINOR.
+GNUTLS_VERSION_PATCH: ADDED, replaces LIBGNUTLS_VERSION_PATCH.
+GNUTLS_VERSION_NUMBER: ADDED, replaces LIBGNUTLS_VERSION_NUMBER.
+LIBGNUTLS_VERSION: DEPRECATED.
+LIBGNUTLS_VERSION_MAJOR: DEPRECATED.
+LIBGNUTLS_VERSION_MINOR: DEPRECATED.
+LIBGNUTLS_VERSION_PATCH: DEPRECATED.
+LIBGNUTLS_VERSION_NUMBER: DEPRECATED.
+
+* Version 2.7.1 (released 2008-10-31)
+
+** certtool: print a PKCS #8 key even if it is not encrypted.
+
+** Old libgnutls.m4 and libgnutls-config scripts removed.
+Please use pkg-config instead.
+
+** Configuration system modified.
+There is now a configure script in lib/ and libextra/ as well, because
+gnulib works better with a config.h per gnulib directory.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.7.0 (released 2008-10-16)
+
+** libgnutls: Added functions to handle CRL extensions.
+
+** libgnutls: Added functions to handle X.509 extensions in Certificate
+Requests.
+
+** libgnutls: Improved error string for GNUTLS_E_AGAIN.
+Suggested by "Lavrentiev, Anton (NIH/NLM/NCBI) [C]" &lt;lavr@ncbi.nlm.nih.gov&gt;.
+
+** certtool: Print and set CRL and CRQ extensions.
+
+** libgnutls-extra: Protect internal symbols with static.
+Fixes problem when linking certtool statically. Tiny patch from Aaron
+Ucko &lt;ucko@ncbi.nlm.nih.gov&gt;.
+
+** libgnutls-openssl: fix out of bounds access.
+Problem in X509_get_subject_name and X509_get_issuer_name. Tiny patch
+from Thomas Viehmann &lt;tv@beamnet.de&gt;.
+
+** libgnutlsxx: Define server_session::get_srp_username even if no SRP.
+
+** tests: Make tests compile when using internal libtasn1.
+Patch by ludo@gnu.org (Ludovic Courtès).
+
+** Changed detection of libtasn1 and libgcrypt to avoid depending on *-config.
+We now require a libgcrypt that has Camellia constants declared in
+gcrypt.h, which means v1.3.0 or later.
+
+** API and ABI modifications:
+gnutls_x509_crl_get_authority_key_id: ADDED
+gnutls_x509_crl_get_number: ADDED
+gnutls_x509_crl_get_extension_oid: ADDED
+gnutls_x509_crl_get_extension_info: ADDED
+gnutls_x509_crl_get_extension_data: ADDED
+gnutls_x509_crl_set_authority_key_id: ADDED
+gnutls_x509_crl_set_number: ADDED
+gnutls_x509_crq_get_key_rsa_raw: ADDED
+gnutls_x509_crq_get_attribute_info: ADDED
+gnutls_x509_crq_get_attribute_data: ADDED
+gnutls_x509_crq_get_extension_info: ADDED
+gnutls_x509_crq_get_extension_data: ADDED
+gnutls_x509_crq_get_key_usage: ADDED
+gnutls_x509_crq_get_basic_constraints: ADDED
+gnutls_x509_crq_get_subject_alt_name: ADDED
+gnutls_x509_crq_get_subject_alt_othername_oid: ADDED
+gnutls_x509_crq_get_extension_by_oid: ADDED
+gnutls_x509_crq_set_subject_alt_name: ADDED
+gnutls_x509_crq_set_basic_constraints: ADDED
+gnutls_x509_crq_set_key_usage: ADDED
+gnutls_x509_crq_get_key_purpose_oid: ADDED
+gnutls_x509_crq_set_key_purpose_oid: ADDED
+gnutls_x509_crq_print: ADDED
+gnutls_x509_crt_set_crq_extensions: ADDED
+
+* Version 2.6.6 (released 2009-04-30)
+
+** libgnutls: Corrected double free on signature verification failure.
+Reported by Miroslav Kratochvil &lt;exa.exa@gmail.com&gt;. See the advisory
+for more details. [GNUTLS-SA-2009-1] [CVE-2009-1415]
+
+** libgnutls: Fix DSA key generation.
+Noticed when investigating the previous GNUTLS-SA-2009-1 problem. All
+DSA keys generated using GnuTLS 2.6.x are corrupt. See the advisory
+for more details. [GNUTLS-SA-2009-2] [CVE-2009-1416]
+
+** libgnutls: Check expiration/activation time on untrusted certificates.
+Reported by Romain Francoise &lt;romain@orebokech.com&gt;. Before the
+library did not check activation/expiration times on certificates, and
+was documented as not doing so. We have realized that many
+applications that use libgnutls, including gnutls-cli, fail to perform
+proper checks. Implementing similar logic in all applications leads
+to code duplication. Hence, we decided to check whether the current
+time (as reported by the time function) is within the
+activation/expiration period of certificates when verifying untrusted
+certificates.
+
+This changes the semantics of gnutls_x509_crt_list_verify, which in
+turn is used by gnutls_certificate_verify_peers and
+gnutls_certificate_verify_peers2. We add two new
+gnutls_certificate_status_t codes for reporting the new error
+condition, GNUTLS_CERT_NOT_ACTIVATED and GNUTLS_CERT_EXPIRED. We also
+add a new gnutls_certificate_verify_flags flag,
+GNUTLS_VERIFY_DISABLE_TIME_CHECKS, that can be used to disable the new
+behaviour.
+
+More details about the vulnerabilities will be posted at
+&lt;http://www.gnu.org/software/gnutls/security.html&gt;.
+
+** gnutls-cli, gnutls-cli-debug: Fix AIX build problem.
+Reported by LAUPRETRE François (P) &lt;francois.laupretre@ratp.fr&gt; in
+&lt;http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3468&gt;.
+
+** tests: Fix linking of tests/openpgp/keyring self-test.
+Reported by Daniel Black in &lt;https://savannah.gnu.org/support/?106543&gt;.
+
+** API and ABI modifications:
+gnutls_x509_crt_list_verify: CHANGED, checks activation/expiration times.
+gnutls_certificate_verify_peers: Likewise.
+gnutls_certificate_verify_peers2: Likewise.
+GNUTLS_CERT_NOT_ACTIVATED: ADDED.
+GNUTLS_CERT_EXPIRED: ADDED.
+GNUTLS_VERIFY_DISABLE_TIME_CHECKS: ADDED.
+
+* Version 2.6.5 (released 2009-04-11)
+
+** libgnutls: Added %SSL3_RECORD_VERSION priority string that allows to
+specify the client hello message record version. Used to overcome buggy
+TLS servers. Report by Martin von Gagern.
+
+** GnuTLS no longer uses the libtasn1-config script to find libtasn1.
+Libtasn1 0.3.4 or later is required. This is to align with the
+upcoming libtasn1 v2.0 release that doesn't have a libtasn1-script.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.6.4 (released 2009-02-06)
+
+** libgnutls: Accept chains where intermediary certs are trusted.
+Before GnuTLS needed to validate the entire chain back to a
+self-signed certificate. GnuTLS will now stop looking when it has
+found an intermediary trusted certificate. The new behaviour is
+useful when chains, for example, contains a top-level CA, an
+intermediary CA signed using RSA-MD5, and an end-entity certificate.
+To avoid chain validation errors due to the RSA-MD5 cert, you can
+explicitly add the intermediary RSA-MD5 cert to your trusted certs.
+The signature on trusted certificates are not checked, so the chain
+has a chance to validate correctly. Reported by "Douglas E. Engert"
+&lt;deengert@anl.gov&gt; in
+&lt;http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3351&gt;.
+
+** libgnutls: result_size in gnutls_hex_encode now holds
+the size of the result. Report by John Brooks &lt;special@dereferenced.net&gt;.
+
+** libgnutls: gnutls_handshake when sending client hello during a
+rehandshake, will not offer a version number larger than the current.
+Reported by Tristan Hill &lt;stan@saticed.me.uk&gt;.
+
+** libgnutls: Permit V1 Certificate Authorities properly.
+Before they were mistakenly rejected even though
+GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT and/or
+GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT were supplied. Reported by
+"Douglas E. Engert" &lt;deengert@anl.gov&gt; in
+&lt;http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3351&gt;.
+
+** libgnutls: deprecate X.509 validation chains using MD5 and MD2 signatures.
+This is a bugfix -- the previous attempt to do this from internal x509
+certificate verification procedures did not return the correct value
+for certificates using a weak hash. Reported by Daniel Kahn Gillmor
+&lt;dkg@fifthhorseman.net&gt; in
+&lt;http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3332&gt;,
+debugged and patch by Tomas Mraz &lt;tmraz@redhat.com&gt; and Daniel Kahn
+Gillmor &lt;dkg@fifthhorseman.net&gt;.
+
+** libgnutls: Fix compile error with Sun CC.
+Reported by Jeff Cai &lt;jeff.cai@sun.com&gt; in
+&lt;https://savannah.gnu.org/support/?106549&gt;.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.6.3 (released 2008-12-12)
+
+** libgnutls: Fix chain verification for chains that ends with RSA-MD2 CAs.
+Reported by Michael Kiefer &lt;Michael-Kiefer@web.de&gt; in
+&lt;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507633&gt; forwarded by
+Andreas Metzler &lt;ametzler@downhill.at.eu.org&gt; in
+&lt;http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3309&gt;.
+
+** libgnutls: Fix memory leak in PSK authentication.
+Reported by Michael Weiser &lt;michael@weiser.dinsnail.net&gt; in
+&lt;http://permalink.gmane.org/gmane.network.gnutls.general/1465&gt;.
+
+** certtool: Move gcry_control(GCRYCTL_ENABLE_QUICK_RANDOM, 0) call earlier.
+It needs to be invoked before libgcrypt is initialized.
+
+** gnutls-cli: Return non-zero exit code on error conditions.
+
+** gnutls-cli: Corrected bug which caused a rehandshake request to be ignored.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.6.2 (released 2008-11-12)
+
+** libgnutls: Fix crash in X.509 validation code for self-signed certificates.
+The patch to fix the security problem GNUTLS-SA-2008-3 introduced a
+problem for certificate chains that contained just one self-signed
+certificate. Reported by Michael Meskes &lt;meskes@debian.org&gt; in
+&lt;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=505279&gt;.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.6.1 (released 2008-11-10)
+
+** libgnutls: Fix X.509 certificate chain validation error. [GNUTLS-SA-2008-3]
+The flaw makes it possible for man in the middle attackers (i.e.,
+active attackers) to assume any name and trick GnuTLS clients into
+trusting that name. Thanks for report and analysis from Martin von
+Gagern &lt;Martin.vGagern@gmx.net&gt;. [CVE-2008-4989]
+
+Any updates with more details about this vulnerability will be added
+to &lt;http://www.gnu.org/software/gnutls/security.html&gt;
+
+** libgnutls: Add missing prototype for gnutls_srp_set_prime_bits.
+Reported by Kevin Quick &lt;quick@sparq.org&gt; in
+&lt;https://savannah.gnu.org/support/index.php?106454&gt;.
+
+** libgnutls-extra: Protect internal symbols with static.
+Fixes problem when linking certtool statically. Tiny patch from Aaron
+Ucko &lt;ucko@ncbi.nlm.nih.gov&gt;.
+
+** libgnutls-openssl: Fix patch against X509_get_issuer_name.
+It incorrectly returned the subject DN instead of issuer DN in v2.6.0.
+Thanks to Thomas Viehmann &lt;tv@beamnet.de&gt; for report.
+
+** certtool: Print a PKCS #8 key even if it is not encrypted.
+
+** tests: Make tests compile when using internal libtasn1.
+Patch by ludo@gnu.org (Ludovic Courtès).
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.6.0 (released 2008-10-06)
+
+** libgnutls: Correct printing and parsing of IPv6 addresses.
+
+** libgnutls-openssl: fix out of bounds access.
+Problem in X509_get_subject_name and X509_get_issuer_name. Tiny patch
+from Thomas Viehmann &lt;tv@beamnet.de&gt;.
+
+** certtool: Use inet_pton for parsing IPv6 addresses.
+
+** Major changes compared to the v2.4 branch:
+
+*** Added API to replace and update the crypto backend.
+
+*** certtool: can add several subject alternative names via template file.
+
+*** opencdk: Parse (but not decrypt) encrypted secret keys.
+
+*** libgnutls: gnutls_x509_crt_set_subject_alt_name() was added that can
+either set or append alternative names. It can also handle binary structures
+such as IP addresses.
+
+*** libgnutls: New function to set minimum acceptable SRP bits.
+The function is gnutls_srp_set_prime_bits.
+
+*** libgnutls: Add interface to deal with public key and signature algorithms.
+The functions are called gnutls_pk_list, gnutls_pk_get_id,
+gnutls_sign_list, and gnutls_sign_get_id.
+
+*** libgnutls: New interfaces to get name of public key and signing algorithms.
+The functions are gnutls_sign_get_name and gnutls_pk_get_name.
+
+*** libgnutls: New API to get a string corresponding to a error symbol.
+The function is gnutls_strerror_name.
+
+*** libgnutls: New API to set the public parameters in a certificate request
+*** from a private key.
+The function is gnutls_x509_crq_set_key_rsa_raw.
+
+*** libgnutls: New API to set a callback to extract TLS Finished data.
+The function to register is gnutls_session_set_finished_function and
+it takes a callback of the gnutls_finished_callback_func type.
+
+*** libgnutls: Fix namespace problem with TLS_MASTER_SIZE and TLS_RANDOM_SIZE.
+
+*** libgnutls: New interface to register a new TLS extension handler.
+The new function gnutls_ext_register can be used to register handlers
+for specific TLS extension types. The callback functions have the new
+types gnutls_ext_recv_func and gnutls_ext_send_func. A type to
+classify TLS extensions, gnutls_ext_parse_type_t, has been added as
+well.
+
+*** libgnutls-extra: Add function to work with Libgcrypt in FIPS mode.
+The function is gnutls_register_md5_handler. When libgcrypt is in
+FIPS mode, MD5 is disabled, but TLS normally requires use of MD5 in
+the PRF.
+
+*** API/ABI changes in GnuTLS 2.6
+No functions have been removed or modified. The library should be
+fully backwards compatible on both the source and binary level.
+
+A new header file &lt;gnutls/crypto.h&gt; have been added. It contains
+definitions related to replacing the internal crypto functionality.
+All definitions and the header itself is experimental but supported.
+
+We have realized that the symbols TLS_MASTER_SIZE and TLS_RANDOM_SIZE
+does not use the normal namespace. We have added GNUTLS_MASTER_SIZE
+and GNUTLS_RANDOM_SIZE, but the old symbols are still defined.
+
+The following functions have been added to libgnutls:
+
+GNUTLS_MASTER_SIZE
+GNUTLS_RANDOM_SIZE
+gnutls_crypto_bigint_register2
+gnutls_crypto_cipher_register2
+gnutls_crypto_digest_register2
+gnutls_crypto_mac_register2
+gnutls_crypto_pk_register2
+gnutls_crypto_rnd_register2
+gnutls_crypto_single_cipher_register2
+gnutls_crypto_single_digest_register2
+gnutls_crypto_single_mac_register2
+gnutls_ext_register
+gnutls_pk_get_id
+gnutls_pk_get_name
+gnutls_pk_list
+gnutls_session_set_finished_function
+gnutls_sign_get_id
+gnutls_sign_get_name
+gnutls_sign_list
+gnutls_srp_set_prime_bits:
+gnutls_strerror_name
+gnutls_x509_crq_set_key_rsa_raw
+gnutls_x509_crt_set_crl_dist_points2
+gnutls_x509_crt_set_subject_alt_name
+
+The following functions have been added to libgnutls-extra:
+
+gnutls_register_md5_handler
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.5.9 (released 2008-09-29)
+
+** libgnutls: Fix several memory leaks.
+Reported by Sam Varshavchik &lt;mrsam@courier-mta.com&gt;.
+
+** libgnutls: Fix buffer overrun in gnutls_x509_crt_list_import.
+Report and patch by Jonathan Manktelow.
+
+** libgnutls: crypto.h gnutls_pk_params_st changes allocation strategy.
+The parameters are now allocated in the structure itself.
+
+** doc: Texinfo HTML manual uses a stylesheet to improve readability.
+
+** tests: Scripts now use EXEEXT properly.
+Modern libtool doesn't create wrapper script, so the self tests need
+to invoke certtool.exe under MinGW32+Wine.
+
+** Uses autoconf 2.63, automake 1.10.1, libtool 2.2.6a.
+Automake warnings are now also enabled.
+
+** API and ABI modifications:
+gnutls_pk_params_st: MODIFIED
+
+* Version 2.5.8 (released 2008-09-21)
+
+** certtool: updated so it can add several subject alternative names using
+the template file.
+
+** libgnutls: gnutls_x509_crt_set_subject_alt_name() was added that can
+either set or append alternative names. It can also handle binary structures
+such as IP addresses.
+
+** libgnutls: Fix crash in hashing code when using non-libgcrypt handlers.
+
+** libgnutls: New function to set minimum acceptable SRP bits.
+The function is gnutls_srp_set_prime_bits. Tiny patch by Kevin Quick
+&lt;quick@sparq.org&gt; in &lt;https://savannah.gnu.org/support/index.php?106454&gt;.
+
+** libgnutls: Check for overflows in gnutls_calloc and gnutls_secure_calloc.
+Also fix overflows in calls to those functions. Reported by Werner
+Koch &lt;wk@gnupg.org&gt;.
+
+** libgnutls-extra: Add function to work with Libgcrypt in FIPS mode.
+The function is gnutls_register_md5_handler. When libgcrypt is in
+FIPS mode, MD5 is disabled, but TLS normally requires use of MD5 in
+the PRF.
+
+** Opencdk: Add calls to gnutls_assert to ease debugging.
+
+** Indent code.
+
+** API and ABI modifications:
+gnutls_srp_set_prime_bits: ADDED
+gnutls_register_md5_handler: ADDED
+gnutls_x509_crt_set_crl_dist_points2: ADDED
+gnutls_x509_crt_set_subject_alt_name: ADDED
+
+* Version 2.5.7 (released 2008-09-16)
+
+** libgnutls: New interfaces to get name of public key and signing algorithms.
+The functions are gnutls_sign_get_name and gnutls_pk_get_name.
+
+** libgnutls: Don't crash when gnutls_credentials_set is called twice.
+
+** libgnutls: Fix libgnutls shared library version.
+It wasn't properly incremented after adding symbols in the last
+release.
+
+** manual: Now mention supported public key and public key signing algorithms.
+
+** tests/openssl: initialize gnutls before use.
+
+** tests/setcredcrash: New test to catch regressions of gnutls_credentials_set.
+
+** GTK-DOC manual: mention new symbols in 2.6.x. Mention crypto.h functions.
+
+** API and ABI modifications:
+gnutls_sign_get_name: ADDED
+gnutls_pk_get_name: ADDED
+
+* Version 2.5.6 (released 2008-09-08)
+
+** libgnutls: Add interface to deal with public key and signature algorithms.
+The functions are called gnutls_pk_list, gnutls_pk_get_id,
+gnutls_sign_list, and gnutls_sign_get_id. Suggested by Sam
+Varshavchik &lt;mrsam@courier-mta.com&gt;.
+
+** libgnutls: Refactor and clean up some code.
+
+** libgnutls: Fix compile error with Sun CC.
+
+** gnutls-cli: Improve --list output to include public key and signature algs.
+
+** gnutls-cli, gnutls-serv: Remove --copyright parameter.
+Use standard --version to get license info.
+
+** gnutls-cli.1: Document all new parameters.
+Thanks to James Westby &lt;jw+debian@jameswestby.net&gt;.
+
+** tests: New self-test pgps2kgnu to test parsing of encrypted secrets.
+Contributed by Daniel Kahn Gillmor &lt;dkg-debian.org@fifthhorseman.net&gt;.
+
+** API and ABI modifications:
+gnutls_pk_list: ADDED
+gnutls_pk_get_id: ADDED
+gnutls_sign_list: ADDED
+gnutls_sign_get_id: ADDED
+
+* Version 2.5.5 (released 2008-08-29)
+
+** libgnutls: New API to get a string corresponding to a error symbol.
+The function is gnutls_strerror_name.
+
+** libgnutls: Fix include paths so that building with internal libtasn1 works.
+Reported by "jth.net ApS" &lt;info@jth.net&gt;.
+
+** libgnutls: Fix segmentation fault when generating private keys.
+Reported by Daniel Kahn Gillmor &lt;dkg-debian.org@fifthhorseman.net&gt;.
+
+** libgnutls: Remove code to import certificate chains in PKCS#7 format.
+The code has not worked since v0.9.0 and apparently nobody has missed
+it, so we decided to remove the code rather than fix it. If you have
+old certificate chains stored in PKCS#7 format, you can convert them
+to a list of PEM certificates by using 'certtool --p7-info'. Reported
+by Christian Grothoff &lt;christian@grothoff.org&gt;.
+
+** opencdk: Parse (but not decrypt) encrypted secret keys.
+Contributed by Daniel Kahn Gillmor &lt;dkg-debian.org@fifthhorseman.net&gt;.
+
+** libgnutls: Fix many warnings.
+
+** Included copy of libtasn1 is upgraded to version 1.5.
+
+** Add French translation, thanks to Nicolas Provost.
+
+** API and ABI modifications:
+gnutls_strerror_name: ADDED
+
+* Version 2.5.4 (released 2008-08-19)
+
+** Fix secure memory initialization of libgcrypt.
+Reported by Joe Orton &lt;joe@manyfish.co.uk&gt; in
+&lt;http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/2992&gt;.
+
+** Doc fixes.
+Reference to NIST SP 800-57 in the manual on key size recommendations.
+Added 'Since:' tags to new APIs for gtk-doc.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.5.3 (released 2008-08-14)
+
+** libgnutls: New API to set the public parameters in a certificate request
+** from a private key.
+The function is gnutls_x509_crq_set_key_rsa_raw. Inspired by
+discussion with "Zach C." &lt;fxchip@gmail.com&gt;.
+
+** libgnutls: New API to set a callback to extract TLS Finished data.
+The function to register is gnutls_session_set_finished_function and
+it takes a callback of the gnutls_finished_callback_func type.
+
+** libgnutls: Drop final comma after GNUTLS_CRT_PRINT_UNSIGNED_FULL in enum.
+Reported in &lt;https://savannah.gnu.org/support/?106453&gt;.
+
+** libgnutls: Fix namespace problem with TLS_MASTER_SIZE and TLS_RANDOM_SIZE.
+The new names are GNUTLS_MASTER_SIZE and GNUTLS_RANDOM_SIZE. The old
+names are mapped to the new names in compat.h. These mappings will
+likely be removed more quickly than other mappings in that file due to
+the namespace violation.
+
+** libgnutlsxx: Make it build when SRP is disabled.
+
+** doc: Add doxygen files in doc/doxygen/.
+
+** API and ABI modifications:
+gnutls_x509_crq_set_key_rsa_raw: ADDED
+gnutls_session_set_finished_function: ADDED
+gnutls_finished_callback_func: ADDED
+GNUTLS_MASTER_SIZE: ADDED
+GNUTLS_RANDOM_SIZE: ADDED
+TLS_MASTER_SIZE: DEPRECATED
+TLS_RANDOM_SIZE: DEPRECATED
+
+* Version 2.5.2 (released 2008-07-08)
+
+** libgnutls: Fix bug in gnutls_dh_params_generate2.
+The prime and generator was swapped.
+
+** libgnutls: New interface to register a new TLS extension handler.
+The new function gnutls_ext_register can be used to register handlers
+for specific TLS extension types. The callback functions have the new
+types gnutls_ext_recv_func and gnutls_ext_send_func. A type to
+classify TLS extensions, gnutls_ext_parse_type_t, has been added as
+well.
+
+** Move more code for TLS/IA extension from libgnutls to libgnutls-extra.
+This was made possible by using the new gnutls_ext_register interface.
+The TLS/IA functionality has only been supported through the
+libgnutls-extra library, so it makes sense for the code to belong
+there too.
+
+** API and ABI modifications:
+gnutls_ext_recv_func: ADDED
+gnutls_ext_send_func: ADDED
+gnutls_ext_parse_type_t: ADDED
+gnutls_ext_register: ADDED
+
+* Version 2.5.1 (released 2008-07-02)
+
+** Indent code.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.5.0 (released 2008-07-02)
+
+** Port fixes from v2.4.1 release, see below.
+
+** Added API to replace and update the crypto backend.
+The header gnutls/crypto.h is now officially supported, and declares
+the symbols below.
+
+** Rewritten opencdk crypto backend, to use the gnutls internal one.
+
+** Update gnulib and translations.
+The gnulib gc crypto code has been removed since it was never finished
+and is no longer even used. An internal non-libgcrypt crypto
+implementation may be added in the future, but we'll decide that later
+on.
+
+** API and ABI modifications:
+gnutls_crypto_bigint_register2: ADDED.
+gnutls_crypto_cipher_register2: ADDED.
+gnutls_crypto_digest_register2: ADDED.
+gnutls_crypto_mac_register2: ADDED.
+gnutls_crypto_pk_register2: ADDED.
+gnutls_crypto_rnd_register2: ADDED.
+gnutls_crypto_single_cipher_register2: ADDED.
+gnutls_crypto_single_digest_register2: ADDED.
+gnutls_crypto_single_mac_register2: ADDED.
+
+* Version 2.4.3 (released 2009-02-06)
+
+** libgnutls: Accept chains where intermediary certs are trusted.
+Before GnuTLS needed to validate the entire chain back to a
+self-signed certificate. GnuTLS will now stop looking when it has
+found an intermediary trusted certificate. The new behaviour is
+useful when chains, for example, contains a top-level CA, an
+intermediary CA signed using RSA-MD5, and an end-entity certificate.
+To avoid chain validation errors due to the RSA-MD5 cert, you can
+explicitly add the intermediary RSA-MD5 cert to your trusted certs.
+The signature on trusted certificates are not checked, so the chain
+has a chance to validate correctly. Reported by "Douglas E. Engert"
+&lt;deengert@anl.gov&gt; in
+&lt;http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3351&gt;.
+
+** libgnutls: Permit V1 Certificate Authorities properly.
+Before they were mistakenly rejected even though
+GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT and/or
+GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT were supplied. Reported by
+"Douglas E. Engert" &lt;deengert@anl.gov&gt; in
+&lt;http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3351&gt;.
+
+** libgnutls: deprecate X.509 validation chains using MD5 and MD2 signatures.
+This is a bugfix -- the previous attempt to do this from internal x509
+certificate verification procedures did not return the correct value
+for certificates using a weak hash. Reported by Daniel Kahn Gillmor
+&lt;dkg@fifthhorseman.net&gt; in
+&lt;http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3332&gt;,
+debugged and patch by Tomas Mraz &lt;tmraz@redhat.com&gt; and Daniel Kahn
+Gillmor &lt;dkg@fifthhorseman.net&gt;.
+
+** libgnutls: Fix chain verification for chains that ends with RSA-MD2 CAs.
+Reported by Michael Kiefer &lt;Michael-Kiefer@web.de&gt; in
+&lt;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507633&gt; forwarded by
+Andreas Metzler &lt;ametzler@downhill.at.eu.org&gt; in
+&lt;http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/3309&gt;.
+
+** libgnutls: Fix crash in X.509 validation code for self-signed certificates.
+The patch to fix the security problem GNUTLS-SA-2008-3 introduced a
+problem for certificate chains that contained just one self-signed
+certificate. Reported by Michael Meskes &lt;meskes@debian.org&gt; in
+&lt;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=505279&gt;.
+
+** libgnutls: Fix X.509 certificate chain validation error. [GNUTLS-SA-2008-3]
+The flaw makes it possible for man in the middle attackers (i.e.,
+active attackers) to assume any name and trick GnuTLS clients into
+trusting that name. Thanks for report and analysis from Martin von
+Gagern &lt;Martin.vGagern@gmx.net&gt;. [CVE-2008-4989]
+
+Any updates with more details about this vulnerability will be added
+to &lt;http://www.gnu.org/software/gnutls/security.html&gt;
+
+** libgnutls: Fix buffer overrun in gnutls_x509_crt_list_import.
+Report and patch by Jonathan Manktelow.
+
+** libgnutls: Avoid use of non-thread safe strerror.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.4.2 (released 2008-09-15)
+
+** libgnutls: Don't crash when gnutls_credentials_set is called twice.
+
+** libgnutls: Corrected memory leak in X.509 functions.
+Thanks to Colin Leroy &lt;colin@colino.net&gt;.
+
+** libgnutls: Fix compile error with Sun CC.
+
+** gnutls-cli.1: Document all new parameters.
+Thanks to James Westby &lt;jw+debian@jameswestby.net&gt;.
+
+** tests/openssl: initialize gnutls before use.
+Fixes crash with libgcrypt 1.4.2. Reported by Ludovic Courtes
+&lt;ludovic.courtes@laas.fr&gt;.
+
+** doc/: Fix texinfo markup for old texinfo versions.
+
+** Included copy of libtasn1 is upgraded to version 1.5.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.4.1 (released 2008-06-30)
+
+** libgnutls: Fix local crash in gnutls_handshake. [GNUTLS-SA-2008-2]
+If the gnutls_handshake function is called for a normal session, which
+can happen for re-handshakes, the library would crash because it tried
+to hash some data using a libgcrypt handle that had been deallocated.
+Report and tiny patch from Tomas Mraz &lt;tmraz@redhat.com&gt;. Any updates
+with more details about this vulnerability will be added to
+&lt;http://www.gnu.org/software/gnutls/security.html&gt;
+
+** libgnutls: Fix memory leaks when doing a re-handshake.
+Reported by Sam Varshavchik &lt;mrsam@courier-mta.com&gt; in
+&lt;http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/2928&gt;.
+
+** Fix compiler warnings.
+Reported by Massimo Gaspari &lt;massimo.gaspari@alice.it&gt; in
+&lt;http://thread.gmane.org/gmane.network.gnutls.general/1281&gt;.
+
+** Fix ordering of -I's to avoid opencdk.h conflict with system headers.
+Reported by Roman Bogorodskiy &lt;novel@FreeBSD.org&gt; in
+&lt;http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/2930&gt;.
+
+** srptool: Fix a problem where --verify check does not succeed.
+Report and tiny patch by Matthias Koenig &lt;mkoenig@suse.de&gt; in
+&lt;http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/2944&gt;.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.4.0 (released 2008-06-19)
+
+** Major changes compared to the v2.2 branch:
+
+*** The OpenPGP sub-system has been improved and now supports subkeys.
+
+*** The PSK sub-system has been improved and now supports password
+*** derivation and PSK identity hints.
+The password derivation algorithms support is documented in
+draft-ietf-netconf-tls-02.txt.
+
+*** The certtool --inder and --outder has been replaced by --inraw and --outraw.
+This aligns terminology with OpenPGP, which doesn't use DER encoding.
+The old parameters will continue to work for some time.
+
+*** Certtool now confirm passwords and changes permissions of private key files.
+
+*** The default handshake size limit has been increased to 48kb.
+It appears as if some valid handshakes are large due to sending many
+CA certificates. (The earlier limit was 16kb.)
+
+*** LZO compression is now disabled by default.
+The main reason is that LZO compression in TLS is not standardized,
+but license compatiblity issues with minilzo triggered us to make this
+decision now.
+
+*** Improvements for cross-compilation to Windows and OpenWRT.
+
+*** The look of the GTK-DOC manual has been improved.
+Major developer visible changes compared to the v2.2 branch:
+
+*** Full OpenPGP support is part of libgnutls, licensed under the LGPL.
+
+*** New APIs to access the raw X.509 Subject and Issuer DN's and
+*** elements from the certificate credentials structure.
+Thanks to Joe Orton.
+
+*** New APIs to improve working with username/passwords and PSK.
+
+*** Names of constants to affect certificate printing changed.
+The constants are used for OpenPGP too, which the names didn't
+reflect, so the following name change has been made:
+
+ Old name New name
+ GNUTLS_X509_CRT_FULL GNUTLS_CRT_PRINT_FULL
+ GNUTLS_X509_CRT_ONELINE GNUTLS_CRT_PRINT_ONELINE
+ GNUTLS_X509_CRT_UNSIGNED_FULL GNUTLS_CRT_PRINT_UNSIGNED_FULL
+
+The old names will be mapped to the new names for some time.
+
+*** The function gnutls_openpgp_privkey_get_id has been renamed to
+*** gnutls_openpgp_privkey_get_key_id.
+A compatibility mapping exists to avoid breaking API backwards
+compatibility.
+
+*** Replaced all uses of alloca with malloc and free.
+
+*** We no longer build with -D_REENTRANT -D_THREAD_SAFE.
+We have been unable to find a documented rationale for this practice.
+
+*** Of course, many smaller fixes have been made, see the ChangeLog file.
+
+*** API/ABI changes in GnuTLS 2.4
+All OpenPGP related functions have been moved from libgnutls-extra to
+libgnutls, and several new functions have been added (see below).
+Before making the release, we discussed whether moving functions from
+libgnutls-extra to libgnutls would require us to increment the ABI
+version, but the general opinion was that this would not be required.
+All older functions continue to work the same. We are open to the
+possibility that this decision will lead to problem on some platform,
+and if it turns out that the Right Thing should have been to increment
+the shared library version, we would need to release an update within
+the 2.4.x branch that increments the shared library version.
+
+This release adds the following functions:
+
+ gnutls_psk_client_get_hint
+ gnutls_psk_set_server_credentials_hint
+ gnutls_psk_netconf_derive_key
+
+ Used to get/set the PSK identity hint, and derive PSK keys from
+ passwords a'la netconf.
+
+ gnutls_x509_dn_deinit
+ gnutls_x509_dn_export
+ gnutls_x509_dn_import
+ gnutls_x509_dn_init
+
+ Used to handle X.509 Certificate DN's directly.
+
+ gnutls_hex2bin
+
+ Converts a data buffer to hex. Useful for handling PSK/SRP shared
+ secrets.
+
+ gnutls_certificate_get_x509_cas
+ gnutls_certificate_get_x509_crls
+ gnutls_certificate_get_openpgp_keyring
+
+ Functions for direct access to credential elements.
+
+ gnutls_openpgp_crt_get_auth_subkey
+ gnutls_openpgp_crt_get_key_id
+ gnutls_openpgp_crt_get_pk_dsa_raw
+ gnutls_openpgp_crt_get_pk_rsa_raw
+ gnutls_openpgp_crt_get_preferred_key_id
+ gnutls_openpgp_crt_get_revoked_status
+ gnutls_openpgp_crt_get_subkey_count
+ gnutls_openpgp_crt_get_subkey_creation_time
+ gnutls_openpgp_crt_get_subkey_expiration_time
+ gnutls_openpgp_crt_get_subkey_fingerprint
+ gnutls_openpgp_crt_get_subkey_id
+ gnutls_openpgp_crt_get_subkey_idx
+ gnutls_openpgp_crt_get_subkey_pk_algorithm
+ gnutls_openpgp_crt_get_subkey_pk_dsa_raw
+ gnutls_openpgp_crt_get_subkey_pk_rsa_raw
+ gnutls_openpgp_crt_get_subkey_revoked_status
+ gnutls_openpgp_crt_get_subkey_usage
+ gnutls_openpgp_crt_print
+ gnutls_openpgp_crt_set_preferred_key_id
+ gnutls_openpgp_keyring_get_crt
+ gnutls_openpgp_keyring_get_crt_count
+ gnutls_openpgp_privkey_export
+ gnutls_openpgp_privkey_export_dsa_raw
+ gnutls_openpgp_privkey_export_rsa_raw
+ gnutls_openpgp_privkey_export_subkey_dsa_raw
+ gnutls_openpgp_privkey_export_subkey_rsa_raw
+ gnutls_openpgp_privkey_get_fingerprint
+ gnutls_openpgp_privkey_get_key_id
+ gnutls_openpgp_privkey_get_pk_algorithm
+ gnutls_openpgp_privkey_get_preferred_key_id
+ gnutls_openpgp_privkey_get_revoked_status
+ gnutls_openpgp_privkey_get_subkey_count
+ gnutls_openpgp_privkey_get_subkey_creation_time
+ gnutls_openpgp_privkey_get_subkey_expiration_time
+ gnutls_openpgp_privkey_get_subkey_fingerprint
+ gnutls_openpgp_privkey_get_subkey_id
+ gnutls_openpgp_privkey_get_subkey_idx
+ gnutls_openpgp_privkey_get_subkey_pk_algorithm
+ gnutls_openpgp_privkey_get_subkey_revoked_status
+ gnutls_openpgp_privkey_set_preferred_key_id
+
+ New OpenPGP related functions.
+
+ The function gnutls_openpgp_crt_get_key_id is the same as the old
+ from gnutls_openpgp_crt_get_id, see above.
+
+The release also adds a new header file 'gnutls/crypto.h', however it
+is currently not used.
+
+** libgnutls [OpenPGP]: New APIs to retrieve fingerprint from OpenPGP subkeys.
+Contributed by Daniel Kahn Gillmor &lt;dkg-debian.org@fifthhorseman.net&gt;.
+
+** API and ABI modifications:
+gnutls_openpgp_crt_get_subkey_fingerprint: ADDED.
+gnutls_openpgp_privkey_get_subkey_fingerprint: ADDED.
+
+* Version 2.3.15 (released 2008-06-15)
+
+** Disable the openpgp-certs self-tests.
+It results in failure under Wine and doesn't work on Debian buildds.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.3.14 (released 2008-06-11)
+
+** libgnutls [OpenPGP]: Changed OpenPGP verification behaviour.
+An OpenPGP certificate is now only considered verified if all the user
+IDs are verified.
+
+** Examples: Make C++ example compile.
+Earlier it may have failed with an unresolved reference to strlen.
+
+** Documentation: Doc fix for gnutls_x509_crt_get_extension_oid.
+Reported by Sam Varshavchik &lt;mrsam@courier-mta.com&gt;.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.3.13 (released 2008-06-07)
+
+** libgnutls [OpenPGP]: Make OpenPGP handshakes work again.
+
+** doc/: Add psktool to info index. Some minor cleanups.
+
+** tests/: Added non-forking TLS handshake test, see tests/mini.c.
+
+** tests/: Added libgcrypt.supp which can be used with valgrind.
+The file suppresses the known libgcrypt memory leaks, so they aren't
+printed when you run valgrind on the gnutls self-tests. Use it as
+follows: valgrind --suppressions=libgcrypt.supp ./x509self or add
+'--suppressions=/home/you/src/gnutls/tests/libgcrypt.supp' to your
+~/.valgrindrc file.
+
+** tests/: Reduce amount of debugging output by default.
+Use --verbose for each test to get the full output.
+
+** tests/: Fix memory leaks in several self-tests.
+None of the self tests should be leaking memory when running valgrind
+or similar tools. (Known exceptions are dhepskself, pskself, and
+set_pkcs12_cred, which appear likely to be due to memory leaks in the
+library.)
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.3.12 (released 2008-06-04)
+
+** Merge gnutls_with_netconf branch.
+
+*** libgnutls [PSK]: New API to retrieve PSK identity hint in client.
+The function is gnutls_psk_client_get_hint.
+
+*** libgnutls [PSK]: New API to set PSK identity hint in server.
+The function is gnutls_psk_set_server_credentials_hint.
+
+*** libgnutls [PSK]: Support server key exchange with PSK identity hint.
+In the client, the message is parsed and the application can use
+gnutls_psk_client_get_hint to retrieve the hint. In the server, the
+message is sent if the application has specified a PSK identity hint
+using gnutls_psk_set_server_credentials_hint.
+
+*** libgnutls [PSK]: Support Netconf PSK key derivation.
+The function gnutls_psk_netconf_derive_key supports the PSK key
+derivation as specified in draft-ietf-netconf-tls-02.txt. New self
+test netconf-psk.c.
+
+*** psktool: Support new --netconf-hint to generate PSK key from password.
+Uses the Netconf algorithm to derive PSK key from password.
+
+*** gnutls-serv: Support new --pskhint parameter to set PSK identity hint.
+
+*** gnutls-cli: Always support PSK modes, through a callback.
+The callback will derive a PSK key using Netconf algorithm. It will
+print the PSK identity hint to help the user.
+
+*** New PSK example client and server.
+See doc/examples/ex-client-psk.c and doc/examples/ex-serv-psk.c.
+
+** libgnutls: Fix gnutls_x509_crl_set_version on arm platforms.
+The code didn't work properly on platforms where 'char' is unsigned,
+when you set version 0. Reported by Laurence Withers
+&lt;l@lwithers.me.uk&gt; in
+&lt;http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/2825&gt;.
+
+** libgnutls-openssl: added RAND_pseudo_bytes API.
+Patch from Robert Millan &lt;rmh@aybabtu.com&gt;.
+
+** API and ABI modifications:
+RAND_pseudo_bytes: ADDED to libgnutls-openssl.
+gnutls_psk_client_get_hint: ADDED.
+gnutls_psk_set_server_credentials_hint: ADDED.
+gnutls_psk_netconf_derive_key: ADDED
+
+* Version 2.3.11 (released 2008-05-20)
+
+** Fix flaw in fix for GNUTLS-SA-2008-1-3.
+The flaw would result in incorrectly terminated sessions with the
+error "Decryption has failed" when the server sends a small packet
+(typically when the session is closed). Reported by Andreas Metzler
+&lt;ametzler@downhill.at.eu.org&gt; in
+&lt;http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/2807&gt;.
+
+** Don't use gnulib headers when building C++ library.
+Fixes builds under Windows.
+
+** Make umask a requirement.
+We don't know of any system that lacks it, even GNU CoreUtils use it
+unconditionally.
+
+** Update gnulib files.
+Fixes a problem where it pulled in a replacement for memcmp under
+MinGW, which caused the C++ example to fail to build.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.3.10 (released 2008-05-19)
+
+** Added wide wildcard hostname matching.
+Tiny patch by Jean-Philippe Garcia Ballester.
+
+** Fix three security vulnerabilities. [GNUTLS-SA-2008-1]
+Thanks to CERT-FI for finding the bugs and providing detailed reports,
+which allowed the bugs to be reproduced and fixed easily. Patches
+developed by Simon Josefsson and Nikos Mavrogiannopoulos. Any updates
+with more details about these vulnerabilities will be added to
+&lt;http://www.gnu.org/software/gnutls/security.html&gt;
+
+*** [GNUTLS-SA-2008-1-1]
+*** libgnutls: Fix crash when sending invalid server name.
+The crash can be triggered remotely before authentication, which can
+lead to a Daniel of Service attack to disable the server. The bug
+cause gnutls to store more session resumption data than what was
+allocated for, thus overwriting unallocated memory.
+
+*** [GNUTLS-SA-2008-1-2]
+*** libgnutls: Fix crash when sending repeated client hellos.
+The crash can be triggered remotely before authentication, which can
+lead to a Daniel of Service attack to disable the server. The bug
+triggers a null-pointer dereference.
+
+*** [GNUTLS-SA-2008-1-3]
+*** libgnutls: Fix crash in cipher padding decoding for invalid record lengths.
+The crash can be triggered remotely before authentication, which can
+lead to a Daniel of Service attack to disable the server. The bug
+cause gnutls to read memory beyond the end of the received record.
+
+** libgnutlsxx: Updated API according to patches from Eduardo
+Villanueva Che (discussion at
+&lt;http://lists.gnu.org/archive/html/gnutls-devel/2007-02/msg00017.html&gt;)
+
+** Use umask to restrict permissions to owner before creating a file.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.3.9 (released 2008-05-16)
+
+** libgnutls: Fix build failures if SRP/OpenPGP is disabled.
+Based on report and tiny patches from
+&lt;jared.jennings.ctr@eglin.af.mil&gt;, see
+&lt;https://savannah.gnu.org/support/index.php?106342&gt;.
+
+** libgnutls: Translation fixes.
+
+** gnutls-cli: Fix so that PSK authentication works.
+Also improve manual to give example for gnutls-cli PSK authentication.
+
+** certtool: Encrypting a private key now require a confirmed password.
+Before './certtool -k -8' would merely ask for a password once.
+Reported by Daniel 'NebuchadnezzaR' Dehennin
+&lt;nebuchadnezzar@asgardr.info&gt; see
+&lt;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=364287&gt;.
+
+** certtool: When writing private keys to files, change permissions of file.
+Now the file which the private key is saved to is chmod'ed 0600.
+Reported by martin f krafft &lt;madduck@debian.org&gt; see
+&lt;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=373169&gt;.
+
+** guile: Fix -fgnu89-inline test.
+
+** Removed --enable-profile-mode.
+The code linked gnutls with the libfc project (Function Check) which
+appears to have been stalled since around 2002.
+
+** Clean up header file checks by ./configure.
+
+** Update of gnulib files.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.3.8 (released 2008-04-29)
+
+** libgnutls: Increase default handshake packet size limit to 48kb.
+The old limit was 16kb and some servers send huge list of trusted CAs,
+thus running into the limit. FYI, applications can further increase
+this limit using gnutls_handshake_set_max_packet_length. Thanks to
+Marc Haber &lt;mh+debian-bugs@zugschlus.de&gt; and "Marc F. Clemente"
+&lt;marc@mclemente.net&gt; for reporting and providing test servers.
+
+** libgnutls: Add new error code: GNUTLS_E_HANDSHAKE_TOO_LARGE
+Returned when the handshake data size is too large. Before
+GNUTLS_E_MEMORY_ERROR was used, which could be confused with other
+error situations.
+
+** libgnutls: Hide definitions in crypto.h.
+We have decided that the APIs defined in crypto.h are not stable
+enough for v2.4, so don't use any of those functions.
+
+** gnutls-cli: exit when hostname doesn't match certificate.
+Use --insecure to avoid hostname comparison.
+
+** certtool: --inder and --outder replaced by --inraw and --outraw.
+The reason is to align terminology with OpenPGP, which doesn't use
+DER. The old parameters will continue to work for some time.
+
+** doc: Add section 'Index of new symbols in 2.4.0' to the GTK-DOC manual.
+
+** doc: Many cosmetic fixes, to silence (most) gtk-doc warnings.
+
+** Mingw32: Revert libgcrypt vasprintf work-around added in last release.
+Use libgcrypt 1.4.1 or later when building on MinGW32, it removes the
+vasprintf symbol from the libgcrypt library which caused problems.
+
+** Update of gnulib files.
+
+** tests: New self-test of crypto.h RNG code tests/crypto_rng.
+
+** API and ABI modifications:
+GNUTLS_E_HANDSHAKE_TOO_LARGE: ADDED.
+
+* Version 2.3.7 (released 2008-04-21)
+
+** opencdk now properly sets the key usage bits into openpgp keys.
+
+** gnutls-cli: Fix crash on TLS handshake failures.
+Reported by "Marc F. Clemente" &lt;marc@mclemente.net&gt; in Debian BTS #466477.
+This is similar to &lt;http://bugs.debian.org/429183&gt;.
+
+** certtool: with --generate-request and newly generated keys, print the key.
+
+** Build fixes for MinGW.
+Missing rpl_fseeko symbol in lib/opencdk/. Better checks for linking
+with -lws2_32 when needed. Use ASCII only isprint() when printing
+X.509 certificate information, to avoid non-ASCII but printable
+characters. Thanks to Massimo Gaspari &lt;massimo.gaspari@alice.it&gt; for
+reports.
+
+** Update internal copy of libtasn1 to version 1.4.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.3.6 (released 2008-04-17)
+
+** Make gnutls_x509_crq_sign2 set certificate request version if not set.
+** Improve documentation for gnutls_x509_crq_sign2.
+Based on report from "John Brooks" &lt;aspecialj@gmail.com&gt; in
+&lt;http://permalink.gmane.org/gmane.network.gnutls.general/1154&gt;.
+
+** tests/pathlen: run diff without parameters to improve portability.
+Based on HPUX build hints in
+&lt;http://hpux.cs.utah.edu/hppd/cgi-bin/wwwtar?/hpux/Gnu/gnutls-2.3.4/gnutls-2.3.4-src-11.11.tar.gz+gnutls-2.3.4/HPUX.Install+text&gt;.
+
+** Don't use %e specifier with strftime, it doesn't work under Windows.
+Reported by Massimo Gaspari &lt;massimo.gaspari@alice.it&gt; in
+&lt;http://permalink.gmane.org/gmane.network.gnutls.general/1170&gt;.
+
+** Remove all uses of gnutls_alloca/gnutls_afree.
+Use normal gnutls_malloc instead. One reason is increased portability
+to Windows, the other is that several of the uses may be unsafe
+because the size of data allocated could be large. Reported by
+Massimo Gaspari &lt;massimo.gaspari@alice.it&gt; in
+&lt;http://permalink.gmane.org/gmane.network.gnutls.general/1170&gt;.
+
+** Build Guile code with -fgnu89-inline only when supported.
+Reported by Kris Karas &lt;ktk@enterprise.bidmc.harvard.edu&gt; in
+&lt;http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/2708&gt;.
+
+** Several GTK-DOC related fixes.
+
+** Clean up OpenCDK related code.
+GnuTLS now requires its internal OpenCDK code rather than the external
+GPL library OpenCDK. Unfortunately, we don't have resources to
+maintain an external library (help welcome).
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.3.5 (released 2008-04-14)
+
+** Build fix for MinGW and --disable-shared.
+Reported by Massimo Gaspari &lt;massimo.gaspari@alice.it&gt; in
+&lt;http://permalink.gmane.org/gmane.network.gnutls.general/1145&gt;.
+
+** Document how to generate CRLs.
+Suggested by "Rainer Gerhards" &lt;rgerhards@gmail.com&gt;.
+
+** Documented the --priority option to gnutls-cli and gnutls-serv.
+
+** Several minor fixes in the OpenPGP interface.
+Thanks to Daniel Kahn Gillmor.
+
+** Fix fopen file descriptor leak in PSK server code.
+Thanks to Laurence Withers &lt;l@lwithers.me.uk&gt;, see
+&lt;http://lists.gnu.org/archive/html/gnutls-devel/2008-04/msg00002.html&gt;.
+
+** Translations files not stored directly in git to avoid merge conflicts.
+
+** New APIs to let applications replace the RNG used.
+Update all RNG callers in the code to use the new interface.
+
+** Guile code now built with -fgnu89-inline to fix inline semantic problem.
+
+** Update gnulib files.
+
+** API and ABI modifications:
+gnutls_crypto_rnd_register: ADDED
+gnutls_rnd_level_t: ADDED
+GNUTLS_RND_KEY: ADDED, gnutls_rnd_level_t member
+GNUTLS_RND_RANDOM: ADDED, gnutls_rnd_level_t member
+GNUTLS_RND_NONCE: ADDED, gnutls_rnd_level_t member
+gnutls_crypto_rnd_st: ADDED
+GNUTLS_DIG_SHA224: ADDED
+GNUTLS_SIGN_RSA_SHA224: ADDED
+gnutls_openpgp_crt_get_auth_subkey: MODIFIED
+
+* Version 2.3.4 (released 2008-03-19)
+
+** Finish renaming of gnutls_certificate_export_x509_cas etc.
+They weren't renamed in the public header file.
+
+** Added functions to register a cipher/mac/digest. This allows to
+override the included ones.
+
+** Fix a bunch of compiler warnings.
+
+** API and ABI modifications:
+gnutls_crypto_cipher_st: ADDED
+gnutls_crypto_mac_st: ADDED
+gnutls_crypto_digest_st: ADDED
+gnutls_crypto_cipher_register: ADDED
+gnutls_crypto_mac_register: ADDED
+gnutls_crypto_digest_register: ADDED
+GNUTLS_E_CRYPTO_ALREADY_REGISTERED: ADDED
+
+* Version 2.3.3 (released 2008-03-10)
+
+** Fix build failure in libextra/gnutls_extra.c that needed opencdk.h.
+Reported by Roman Bogorodskiy &lt;novel@FreeBSD.org&gt;.
+
+** No longer compiled using -D_REENTRANT -D_THREAD_SAFE.
+We could not find any modern justification for enabling these flags by
+default. If you know of some platform that needs one of the flags to
+work properly, please let us know. (Actually introduced in v2.3.0 but
+not documented until now.)
+
+** Importing many CA certificates are now considerably faster.
+This affect gnutls_certificate_set_x509_trust_mem,
+gnutls_certificate_set_x509_trust, and
+gnutls_certificate_set_x509_trust_file. The complexity was reduced
+from O(2*n^2) to O(n). When adding 206 files containing 408
+certificates, using gnutls_certificate_set_x509_trust_file, the time
+dropped from 40 seconds to 0.3 seconds. Thanks to Edgar Fuß for code
+to trigger the problem. See also
+&lt;http://blog.josefsson.org/2008/02/27/real-world-performance-tuning-with-callgrind/&gt;.
+
+** Clarify documentation for gnutls_x509_crt_set_subject_alternative_name
+** to be explicit that it takes zero terminated data.
+
+** gnutls-cli --print-cert now print PKCS#3 format Diffie-Hellman parameters.
+
+** Documentation fixes for the GTK-DOC manual.
+
+** Fix compilation error related to __FUNCTION__ on some systems.
+Reported by Tim Mooney, see
+&lt;https://savannah.gnu.org/support/?106267&gt;.
+
+** Updated translations.
+
+** Update gnulib files.
+
+** API and ABI modifications:
+gnutls_hex2bin: MODIFIED, uses size_t instead of int for string length,
+ and char* instead of void* for output buffer.
+
+* Version 2.3.2 (released 2008-02-26)
+
+** Fix srcdir!=objdir failure in openpgpself test.
+
+** Improved API documentation output from GTK-DOC.
+
+** Added gnutls_x509_dn_export(). Patch by Joe Orton.
+
+** Renamed gnutls_certificate_export_x509_cas and friends.
+See &lt;http://lists.gnu.org/archive/html/gnutls-devel/2008-02/msg00043.html&gt;.
+
+** Internal header files cleanup.
+
+** API and ABI modifications:
+gnutls_certificate_export_x509_cas: RENAMED to gnutls_certificate_get_x509_cas
+gnutls_certificate_export_x509_crls: RENAMED to gnutls_certificate_get_x509_crls
+gnutls_certificate_export_openpgp_keyring: RENAMED to gnutls_certificate_get_openpgp_keyring
+gnutls_x509_dn_export: ADDED
+
+* Version 2.3.1 (released 2008-02-21)
+
+** OpenPGP support merged into libgnutls and is now licensed under LGPL.
+The included copy of OpenCDK has been stripped down and re-licensed
+under the LGPL.
+
+** Cipher priority string handling now handle strings that starts with NULL.
+Thanks to Laurence Withers &lt;l@lwithers.me.uk&gt;.
+
+** gnutls-cli: When -d is used, also prints RNG information from libgcrypt.
+
+** Corrected memory leaks in session resuming and DHE ciphersuites. Reported
+by Daniel Stenberg.
+
+** Increased the default certificate verification chain limits and allowed
+for checks without limitation.
+
+** Corrected the behaviour of gnutls_x509_crt_get_subject_alt_name()
+and gnutls_x509_crt_get_subject_alt_name() to not null terminate binary
+strings and return the proper size.
+
+** Add section 'On Record Padding' to the manual.
+This collects all problems related to record padding with
+Nokia/Sony-Ericsson phones that we know about.
+
+** Several improvements in the OpenPGP authentication.
+Now subkeys can be used for authentication, according to
+draft-mavrogiannopoulos-rfc5081bis-00.txt.
+
+** certtool can print information on OpenPGP certificates and keys.
+
+** Added gnutls_x509_dn_import/init/deinit() to access raw DER DN.
+Patch by Joe Orton.
+
+** Added gnutls_certificate_export_x509_cas and other functions to
+export elements from the certificate credentials structure. Based on
+suggestion from Joe Orton.
+
+** Doc fixes.
+Clarify that srp_base64 is not the same as normal base64.
+
+** Fix non-portable use of brace expansion in makefiles.
+
+** API and ABI modifications:
+gnutls_certificate_export_x509_cas: ADDED
+gnutls_certificate_export_x509_crls: ADDED
+gnutls_certificate_export_openpgp_keyring: ADDED
+gnutls_openpgp_keyid_t: ADDED, instead of hard-coded 'unsigned char[8]'.
+gnutls_openpgp_crt_get_key_id: ADDED, obsoletes gnutls_openpgp_crt_get_id.
+gnutls_openpgp_crt_get_revoked_status: ADDED
+gnutls_openpgp_crt_get_subkey_count: ADDED
+gnutls_openpgp_crt_get_subkey_idx: ADDED
+gnutls_openpgp_crt_get_subkey_revoked_status: ADDED
+gnutls_openpgp_crt_get_subkey_pk_algorithm: ADDED
+gnutls_openpgp_crt_get_subkey_creation_time: ADDED
+gnutls_openpgp_crt_get_subkey_expiration_time: ADDED
+gnutls_openpgp_crt_get_subkey_id: ADDED
+gnutls_openpgp_crt_get_subkey_usage: ADDED
+gnutls_openpgp_privkey_get_fingerprint: ADDED
+gnutls_openpgp_privkey_get_key_id: ADDED
+gnutls_openpgp_privkey_get_subkey_count: ADDED
+gnutls_openpgp_privkey_get_subkey_idx: ADDED
+gnutls_openpgp_privkey_get_subkey_revoked_status: ADDED
+gnutls_openpgp_privkey_get_revoked_status: ADDED
+gnutls_openpgp_privkey_get_subkey_pk_algorithm: ADDED
+gnutls_openpgp_privkey_get_subkey_expiration_time: ADDED
+gnutls_openpgp_privkey_get_subkey_id: ADDED
+gnutls_openpgp_privkey_get_subkey_creation_time: ADDED
+gnutls_openpgp_crt_get_subkey_pk_dsa_raw: ADDED
+gnutls_openpgp_crt_get_subkey_pk_rsa_raw: ADDED
+gnutls_openpgp_crt_get_pk_dsa_raw: ADDED
+gnutls_openpgp_crt_get_pk_rsa_raw: ADDED
+gnutls_openpgp_privkey_export_subkey_dsa_raw: ADDED
+gnutls_openpgp_privkey_export_subkey_rsa_raw: ADDED
+gnutls_openpgp_privkey_export_dsa_raw: ADDED
+gnutls_openpgp_privkey_export_rsa_raw: ADDED
+gnutls_openpgp_privkey_export: ADDED
+gnutls_certificate_set_openpgp_key_file2: ADDED
+gnutls_certificate_set_openpgp_key_mem2: ADDED
+gnutls_x509_dn_init: ADDED
+gnutls_x509_dn_import: ADDED
+gnutls_x509_dn_deinit: ADDED
+GNUTLS_E_OPENPGP_SUBKEY_ERROR: ADDED
+gnutls_hex2bin: ADDED
+GNUTLS_CRT_PRINT_FULL: ADDED, same as old GNUTLS_X509_CRT_FULL.
+GNUTLS_CRT_PRINT_ONELINE: ADDED, same as old GNUTLS_X509_CRT_ONELINE.
+GNUTLS_CRT_PRINT_UNSIGNED_FULL: ADDED, same as
+ old GNUTLS_X509_CRT_UNSIGNED_FULL.
+
+* Version 2.3.0 (released 2008-01-08)
+
+** LZO compression is now disabled by default.
+The reason is that LZO compression is not standardized in TLS. If you
+wish to experiment with it, you will have to supply --with-lzo when
+invoking ./configure. The internal copy of minilzo is no longer
+included with GnuTLS, so you will need to install liblzo or liblzo2 on
+your system to have --with-lzo to be effective.
+
+** More than one server name field is now sent to the server properly.
+Thanks to mark.phillips@virgin.net.
+
+** Fixes the post_client_hello_function(). The extensions are now parsed
+in a callback friendly way.
+
+** Fix for certificate selection in servers with certificate callbacks.
+
+** Updated translations.
+
+** Update gnulib files.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.2.5 (released 2008-05-19)
+
+** Fix flaw in fix for GNUTLS-SA-2008-1-3.
+The flaw would result in incorrectly terminated sessions with the
+error "Decryption has failed" when the server sends a small packet
+(typically when the session is closed). Reported by Andreas Metzler
+&lt;ametzler@downhill.at.eu.org&gt; in
+&lt;http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/2807&gt;.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.2.4 (released 2008-05-19)
+
+** Fix three security vulnerabilities. [GNUTLS-SA-2008-1]
+Thanks to CERT-FI for finding the bugs and providing detailed reports,
+which allowed the bugs to be reproduced and fixed easily. Patches
+developed by Simon Josefsson and Nikos Mavrogiannopoulos. Any updates
+with more details about these vulnerabilities will be added to
+&lt;http://www.gnu.org/software/gnutls/security.html&gt;
+
+*** [GNUTLS-SA-2008-1-1]
+*** libgnutls: Fix crash when sending invalid server name.
+The crash can be triggered remotely before authentication, which can
+lead to a Daniel of Service attack to disable the server. The bug
+cause gnutls to store more session resumption data than what was
+allocated for, thus overwriting unallocated memory.
+
+*** [GNUTLS-SA-2008-1-2]
+*** libgnutls: Fix crash when sending repeated client hellos.
+The crash can be triggered remotely before authentication, which can
+lead to a Daniel of Service attack to disable the server. The bug
+triggers a null-pointer dereference.
+
+*** [GNUTLS-SA-2008-1-3]
+*** libgnutls: Fix crash in cipher padding decoding for invalid record lengths.
+The crash can be triggered remotely before authentication, which can
+lead to a Daniel of Service attack to disable the server. The bug
+cause gnutls to read memory beyond the end of the received record.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.2.3 (released 2008-05-06)
+
+** Increase default handshake packet size limit to 48kb.
+The old limit was 16kb and some servers send huge list of trusted CAs,
+thus running into the limit. FYI, applications can further increase
+this limit using gnutls_handshake_set_max_packet_length. Thanks to
+Marc Haber &lt;mh+debian-bugs@zugschlus.de&gt; and "Marc F. Clemente"
+&lt;marc@mclemente.net&gt; for reporting and providing test servers.
+
+** Fix compilation error related to __FUNCTION__ on some systems.
+Reported by Tim Mooney, see
+&lt;https://savannah.gnu.org/support/?106267&gt;.
+
+** Documented the --priority option to gnutls-cli and gnutls-serv.
+
+** Fix fopen file descriptor leak in PSK server code.
+Thanks to Laurence Withers &lt;l@lwithers.me.uk&gt;, see
+&lt;http://lists.gnu.org/archive/html/gnutls-devel/2008-04/msg00002.html&gt;.
+
+** Build Guile code with -fgnu89-inline only when supported.
+Reported by Kris Karas &lt;ktk@enterprise.bidmc.harvard.edu&gt; in
+&lt;http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/2708&gt;.
+
+** Make Camellia encryption work.
+Reported by Yoshisato YANAGISAWA &lt;yanagisawa@csg.is.titech.ac.jp&gt; in
+&lt;http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/2746&gt;.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.2.2 (released 2008-02-21)
+
+** Cipher priority string handling now handle strings that starts with NULL.
+Thanks to Laurence Withers &lt;l@lwithers.me.uk&gt;.
+
+** Corrected memory leaks in session resuming and DHE ciphersuites. Reported
+by Daniel Stenberg.
+
+** Increased the default certificate verification chain limits and allowed
+for checks without limitation.
+
+** Corrected the behaviour of gnutls_x509_crt_get_subject_alt_name()
+and gnutls_x509_crt_get_subject_alt_name() to not null terminate binary
+strings and return the proper size.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.2.1 (released 2008-01-17)
+
+** Prevent linking libextra against previously installed libgnutls.
+Tiny patch from "Alon Bar-Lev" &lt;alon.barlev@gmail.com&gt;, see
+&lt;http://bugs.gentoo.org/show_bug.cgi?id=202269&gt;.
+
+** Fixes the post_client_hello_function(). The extensions are now parsed
+in a callback friendly way.
+
+** Fix for certificate selection in servers with certificate callbacks.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.2.0 (released 2007-12-14)
+
+** Update internal copy of libtasn1 to version 1.2.
+
+** Certtool --verify-chain now handle inputs larger than 64kb.
+This fixes the self-test "rsa-md5-collision" under MinGW+Wine with
+recent versions of libgcrypt. The problem was that Wine with the
+libgcrypt RNG generates huge amounts of debugging output.
+
+** Translation updates.
+Added Dutch translation. Updated Polish and Swedish translation.
+
+** Major changes compared to the v2.0 branch:
+
+*** SRP support aligned with newly published RFC 5054.
+
+*** OpenPGP support aligned with newly published RFC 5081.
+
+*** Support for DSA2 keys.
+
+*** Support for Camellia cipher.
+
+*** Support for Opaque PRF Input extension.
+
+*** PKCS#8 parser now handle DSA keys.
+
+*** Change from GPLv2 to GPLv3 for command-line tools, libgnutls-extra, etc.
+Notice that liblzo2 2.02 is licensed under GPLv2 only. Earlier
+versions, such as 2.01 which is included with GnuTLS, is available
+under GPLv2 or later. If this incompatibility causes problems, we
+recommend you to disable LZO using --without-lzo. LZO compression is
+not a standard TLS compression algorithm, so the impact should be
+minimal.
+
+*** Functions for disabling record protocol padding.
+Works around bugs on Nokia/Ericsson phones.
+
+*** New functions gnutls_priority_set() for setting cipher priorities easily.
+Priorities like "COMPAT" also enables other work arounds, such as
+disabling padding.
+
+*** Other minor improvements and bug fixes.
+
+** Backwards incompatible API/ABI changes in GnuTLS 2.2
+To adapt to changes in the TLS extension specifications for OpenPGP
+and SRP, the GnuTLS API had to be modified. This means breaking the
+API and ABI backwards compatibility. That is something we try to
+avoid unless it is necessary. We decided to also remove the already
+deprecated stub functions for X.509 to XML conversion and TLS
+authorization (see below) when we had the opportunity.
+
+Generally, most applications does not need to be modified. Just
+re-compile them against the latest GnuTLS release, and it should work
+fine.
+
+Applications that use the OpenPGP or SRP features needs to be
+modified. Below is a list of the modified APIs and discussion of what
+the minimal things you need to modify in your application to make it
+work with GnuTLS 2.2.
+
+Note that GnuTLS 2.2 also introduces new APIs -- such as
+gnutls_set_priority() that is superior to
+gnutls_set_default_priority() -- that you may want to start using.
+However, using those new APIs is not required to use GnuTLS 2.2 since
+the old functions continue are still supported. This text only
+discuss what you minimally have to modify.
+
+*** XML related changes
+The function `gnutls_x509_crt_to_xml' has been removed. It has been
+deprecated and only returned an error code since GnuTLS version
+1.2.11. Nobody has complained, so users doesn't seem to miss the
+functionality. We don't know of any other library to convert X.509
+certificates into XML format, but we decided (long ago) that GnuTLS
+isn't the right place for this kind of functionality. If you want
+help to find some other library to use here, please explain and
+discuss your use case on help-gnutls@gnu.org.
+
+*** TLS Authorization related changes
+Everything related to TLS authorizations have been removed, they were
+only stub functions that returned an error code:
+
+ GNUTLS_SUPPLEMENTAL_AUTHZ_DATA
+ gnutls_authz_data_format_type_t
+ gnutls_authz_recv_callback_func
+ gnutls_authz_send_callback_func
+ gnutls_authz_enable
+ gnutls_authz_send_x509_attr_cert
+ gnutls_authz_send_saml_assertion
+ gnutls_authz_send_x509_attr_cert_url
+ gnutls_authz_send_saml_assertion_url
+
+*** SRP related changes
+The callback gnutls_srp_client_credentials_function has a new
+prototype, and its semantic has changed. You need to rewrite the
+callback, see the updated function documentation and SRP example code
+(doc/examples/ex-client-srp.c and doc/examples/ex-serv-srp.c) for more
+information.
+
+The alert codes GNUTLS_A_MISSING_SRP_USERNAME and
+GNUTLS_A_UNKNOWN_SRP_USERNAME are no longer used by the SRP
+specification, instead the GNUTLS_A_UNKNOWN_PSK_IDENTITY alert is
+used. There are #define's to map the old names to the new. You may
+run into problems if you have a switch-case with cases for both SRP
+alerts, since they are now mapped to the same value. The solution is
+to drop the SRP alerts from such switch cases, as they are now
+deprecated in favor of GNUTLS_A_UNKNOWN_PSK_IDENTITY.
+
+*** OpenPGP related changes
+The function `gnutls_certificate_set_openpgp_keyserver' have been
+removed. There is no replacement functionality inside GnuTLS. If you
+need keyserver functionality, consider using the GnuPG tools.
+
+All functions, types, and error codes related to OpenPGP trustdb
+format have been removed. The trustdb format is a non-standard
+GnuPG-specific format, and we recommend you to use key rings instead.
+The following have been removed:
+
+ gnutls_certificate_set_openpgp_trustdb
+ gnutls_openpgp_trustdb_init
+ gnutls_openpgp_trustdb_deinit
+ gnutls_openpgp_trustdb_import
+ gnutls_openpgp_key_verify_trustdb
+ gnutls_openpgp_trustdb_t
+ GNUTLS_E_OPENPGP_TRUSTDB_VERSION_UNSUPPORTED
+
+The following functions has an added parameter of the (new) type
+`gnutls_openpgp_crt_fmt_t'. The type specify the format of the data
+(binary or base64). The functions are:
+ gnutls_certificate_set_openpgp_key_file
+ gnutls_certificate_set_openpgp_key_mem
+ gnutls_certificate_set_openpgp_keyring_mem
+ gnutls_certificate_set_openpgp_keyring_file
+
+To improve terminology and align with the X.509 interface, some
+functions have been renamed. Compatibility mappings exists. The old
+and new names of the affected functions and types are:
+
+ Old name New name
+ gnutls_openpgp_key_t gnutls_openpgp_crt_t
+ gnutls_openpgp_key_fmt_t gnutls_openpgp_crt_fmt_t
+ gnutls_openpgp_key_status_t gnutls_openpgp_crt_status_t
+ GNUTLS_OPENPGP_KEY GNUTLS_OPENPGP_CERT
+ GNUTLS_OPENPGP_KEY_FINGERPRINT GNUTLS_OPENPGP_CERT_FINGERPRINT
+ gnutls_openpgp_key_init gnutls_openpgp_crt_init
+ gnutls_openpgp_key_deinit gnutls_openpgp_crt_deinit
+ gnutls_openpgp_key_import gnutls_openpgp_crt_import
+ gnutls_openpgp_key_export gnutls_openpgp_crt_export
+ gnutls_openpgp_key_get_key_usage gnutls_openpgp_crt_get_key_usage
+ gnutls_openpgp_key_get_fingerprint gnutls_openpgp_crt_get_fingerprint
+ gnutls_openpgp_key_get_pk_algorithm gnutls_openpgp_crt_get_pk_algorithm
+ gnutls_openpgp_key_get_name gnutls_openpgp_crt_get_name
+ gnutls_openpgp_key_get_version gnutls_openpgp_crt_get_version
+ gnutls_openpgp_key_get_creation_time gnutls_openpgp_crt_get_creation_time
+ gnutls_openpgp_key_get_expiration_time gnutls_openpgp_crt_get_expiration_time
+ gnutls_openpgp_key_get_id gnutls_openpgp_crt_get_id
+ gnutls_openpgp_key_check_hostname gnutls_openpgp_crt_check_hostname
+ gnutls_openpgp_send_key gnutls_openpgp_send_cert
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.1.8 (released 2007-12-10)
+
+** The GPL version has been changed from version 2 to version 3.
+This affects the self-tests, command-line tools, the libgnutls-extra
+library, the relevant guile parts, and the build environment.
+
+** Added gnutls_x509_crt_get_subject_alt_name2().
+
+** Corrected a segfault when setting an empty gnutls_priority_t
+at gnutls_priority_set().
+
+** Use gettext 0.17 which updates m4/lib-*.m4 macros.
+Fixes a problem with spurious -L/usr/lib additions.
+
+** API and ABI modifications:
+gnutls_x509_crt_get_subject_alt_name2: ADD.
+
+* Version 2.1.7 (released 2007-11-29)
+
+** PKCS #8 parser can now encode/decode DSA keys.
+
+** Updated gnutls_set_default_priority2() now renamed to
+gnutls_priority_set() and gnutls_priority_set_direct() which
+accept a string to indicate preferences of ciphersuite parameters.
+
+** gnutls-cli and gnutls-serv now have a --priority option to set
+the priority string.
+
+** The gnutls_*_convert_priority() functions were deprecated by
+the gnutls_priority_set() and gnutls_priority_set_direct().
+
+** Internal copy of OpenCDK upgraded to version 0.6.6.
+
+** API and ABI modifications:
+gnutls_priority_init: ADD.
+gnutls_priority_deinit: ADD.
+gnutls_priority_set: ADD.
+gnutls_priority_set_direct: ADD.
+gnutls_set_default_priority2: RENAMED to gnutls_priority_set_direct()
+gnutls_mac_convert_priority: REMOVED
+gnutls_compression_convert_priority: REMOVED
+gnutls_protocol_convert_priority: REMOVED
+gnutls_kx_convert_priority: REMOVED
+gnutls_cipher_convert_priority: REMOVED
+gnutls_certificate_type_convert_priority: REMOVED
+gnutls_set_default_priority: UNDEPRECATED
+gnutls_set_default_priority_export: UNDEPRECATED
+
+** Undocumented API and ABI modifications earlier in the 2.1.x series:
+GNUTLS_CIPHER_UNKNOWN: ADD.
+GNUTLS_CIPHER_CAMELLIA_128_CBC: ADD.
+GNUTLS_CIPHER_CAMELLIA_256_CBC: ADD.
+GNUTLS_KX_UNKNOWN: ADD.
+GNUTLS_COMP_UNKNOWN: ADD.
+GNUTLS_CRT_UNKNOWN: ADD.
+gnutls_mac_get_id: ADD.
+gnutls_compression_get_id: ADD.
+gnutls_cipher_get_id: ADD.
+gnutls_kx_get_id: ADD.
+gnutls_protocol_get_id: ADD.
+gnutls_certificate_type_get_id: ADD.
+gnutls_handshake_post_client_hello_func: ADD.
+gnutls_certificate_send_x509_rdn_sequence: ADD prototype to gnutls.h.in.
+
+* Version 2.1.6 (released 2007-11-15)
+
+** Corrected bug in decompression of expanded compression data.
+
+** Added the --to-p8 option to certtool to convert private keys
+to PKCS #8 keys.
+
+** Introduced the GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR error code.
+
+** gnutls_certificate_set_x509_key_* can now read PKCS #8 unencrypted
+private keys.
+
+** Fixed GNUTLS_E_UNKNOWN_ALGORITHM vs GNUTLS_E_UNKNOWN_HASH_ALGORITHM.
+During the 2.1.x series the GNUTLS_E_UNKNOWN_HASH_ALGORITHM error code
+was renamed to GNUTLS_E_UNKNOWN_ALGORITHM, unfortunately without being
+documented. This caused some problems (e.g., debian #450854). To
+avoid backwards compatibility problems, this release revert this
+change, so that GNUTLS_E_UNKNOWN_HASH_ALGORITHM works just like it has
+done in GnuTLS 2.0.x and earlier, and add a new error code
+GNUTLS_E_UNKNOWN_ALGORITHM.
+
+** Fixes several gtk-doc warnings.
+
+** API and ABI modifications:
+GNUTLS_E_UNKNOWN_ALGORITHM: CHANGED.
+GNUTLS_E_UNKNOWN_HASH_ALGORITHM: CHANGED.
+GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR: ADD.
+
+* Version 2.1.5 (released 2007-11-01)
+
+** Fix PKCS#3 parameter export problem.
+
+** Improve certtool queries, they now print the default value.
+
+** Fix ABI version.
+
+** Update gnulib files.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.1.4 (released 2007-10-27)
+
+** Added the --v1 option to certtool, to allow generating X.509
+version 1 certificates.
+
+** certtool: Add option --disable-quick-random to enable the old behaviour
+of using /dev/random to generate keys.
+
+** Added priority functions that accept strings.
+
+** Added gnutls_set_default_priority2() which accepts a flag to indicate
+priorities preferences.
+
+** Added gnutls_record_disable_padding() to allow servers talking to
+buggy clients that complain if the TLS 1.0 record protocol padding is
+used.
+
+** Introduced gnutls_session_enable_compatibility_mode() to allow enabling
+all supported compatibility options (like disabling padding).
+
+** The gnutls_certificate_set_openpgp_* functions were modified to include
+the format. This makes the interface consistent with the x509 functions.
+
+** Internal copy of OpenCDK upgraded to version 0.6.5.
+
+** Update gnulib files.
+
+** API and ABI modifications:
+gnutls_certificate_set_openpgp_key_mem: MODIFIED
+gnutls_certificate_set_openpgp_key_file: MODIFIED
+gnutls_certificate_set_openpgp_keyring_mem: MODIFIED
+gnutls_certificate_set_openpgp_keyring_file: MODIFIED
+gnutls_set_default_priority: DEPRECATED
+gnutls_set_default_priority_export: DEPRECATED
+gnutls_set_default_priority2: ADDED
+gnutls_session_enable_compatibility_mode: ADDED
+gnutls_record_disable_padding: ADDED
+gnutls_mac_convert_priority: ADDED
+gnutls_compression_convert_priority: ADDED
+gnutls_protocol_convert_priority: ADDED
+gnutls_kx_convert_priority: ADDED
+gnutls_cipher_convert_priority: ADDED
+gnutls_certificate_type_convert_priority: ADDED
+gnutls_openpgp_key_t: RENAMED to gnutls_openpgp_crt_t
+gnutls_openpgp_key_status_t: RENAMED to gnutls_openpgp_crt_status_t
+gnutls_openpgp_send_key: RENAMED to gnutls_openpgp_send_cert
+gnutls_openpgp_key_init: RENAMED to gnutls_openpgp_crt_init
+gnutls_openpgp_key_import: RENAMED to gnutls_openpgp_crt_import
+gnutls_openpgp_key_export: RENAMED to gnutls_openpgp_crt_export
+gnutls_openpgp_key_check_hostname: RENAMED to gnutls_openpgp_crt_check_hostname
+gnutls_openpgp_key_get_creation_time: RENAMED to gnutls_openpgp_crt_get_creation_time
+gnutls_openpgp_key_get_expiration_time: RENAMED to gnutls_openpgp_crt_get_expiration_time
+gnutls_openpgp_key_get_fingerprint: RENAMED to gnutls_openpgp_crt_get_fingerprint
+gnutls_openpgp_key_get_version: RENAMED to gnutls_openpgp_crt_get_version
+gnutls_openpgp_key_get_pk_algorithm: RENAMED to gnutls_openpgp_crt_get_pk_algorithm
+gnutls_openpgp_key_get_name: RENAMED to gnutls_openpgp_crt_get_name
+gnutls_openpgp_key_deinit: RENAMED to gnutls_openpgp_crt_deinit
+gnutls_openpgp_key_get_id: RENAMED to gnutls_openpgp_crt_get_id
+gnutls_openpgp_key_get_key_usage: RENAMED to gnutls_openpgp_crt_get_key_usage
+gnutls_openpgp_key_verify_ring: RENAMED to gnutls_openpgp_crt_verify_ring
+gnutls_openpgp_key_verify_self: RENAMED to gnutls_openpgp_crt_verify_self
+
+* Version 2.1.3 (released 2007-10-17)
+
+** TLS authorization support removed.
+This technique may be patented in the future, and it is not of crucial
+importance for the Internet community. After deliberation we have
+concluded that the best thing we can do in this situation is to
+encourage society not to adopt this technique. We have decided to
+lead the way with our own actions.
+
+** Re-enabled the 256 bit ciphers in the default priorities.
+
+** Corrected bugs in openpgp key verification using a keyring (both in
+gnutls and opencdk)
+
+** API and ABI modifications:
+gnutls_certificate_set_openpgp_keyserver: REMOVED
+gnutls_authz_data_format_type_t,
+gnutls_authz_recv_callback_func,
+gnutls_authz_send_callback_func,
+gnutls_authz_enable,
+gnutls_authz_send_x509_attr_cert,
+gnutls_authz_send_saml_assertion,
+gnutls_authz_send_x509_attr_cert_url,
+gnutls_authz_send_saml_assertion_url: REMOVED.
+GNUTLS_SUPPLEMENTAL_USER_MAPPING_DATA: ADDED. To avoid that the
+ gnutls_supplemental_data_format_type_t enum type becomes empty.
+
+* Version 2.1.2 (released 2007-10-14)
+
+** Removed all the trustdb code from openpgp authentication.
+We now use only the well-specified keyrings.
+
+** The 256 bit ciphers are not enabled in the default priorities.
+
+** Added support for DSA2 using libgcrypt 1.3.0.
+
+** certtool: Fixed data corruption when using --outder.
+
+** Removed all the xml related stubs and functions.
+
+** Added capability to set a callback after the client hello is received
+by the server in order to adjust parameters before the handshake.
+
+** SRP was corrected to adhere to the latest draft (published soon as RFC)
+
+** Corrected bug which did not allow a server to run without supporting
+certificates.
+
+** Updated the DN parser which now prints wrongly decoded values as hex
+strings.
+
+** certtool: Add option --quick-random.
+For generating low security test credentials.
+
+** API and ABI modifications:
+gnutls_x509_crt_to_xml: REMOVED
+gnutls_openpgp_key_to_xml: REMOVED
+gnutls_openpgp_key_verify_trustdb: REMOVED
+gnutls_openpgp_trustdb_init: REMOVED
+gnutls_openpgp_trustdb_deinit: REMOVED
+gnutls_openpgp_trustdb_import: REMOVED
+gnutls_certificate_set_openpgp_trustdb: REMOVED
+gnutls_srp_client_credentials_function: CHANGED
+gnutls_handshake_set_post_client_hello_function: ADDED
+gnutls_mac_get_key_size: ADDED
+GNUTLS_E_OPENPGP_TRUSTDB_VERSION_UNSUPPORTED: DEPRECATED.
+GNUTLS_A_MISSING_SRP_USERNAME: DEPRECATED
+GNUTLS_A_UNKNOWN_SRP_USERNAME: DEPRECATED
+
+* Version 2.1.1 (released 2007-09-24)
+
+** Added support for Camellia cipher, thanks to Yoshisato YANAGISAWA.
+Camellia is only enabled in GnuTLS if the installed libgcrypt has been
+compiled with Camellia support. See the libgcrypt documentation on
+how to enable it. Unconditionally disable it using the configure
+option --disable-camellia. Fixes #1.
+
+** Properly document in the NEWS file the API change in the last release.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.1.0 (released 2007-09-20)
+
+** Support for draft-rescorla-tls-opaque-prf-input-00.txt.
+The support is disabled by default. Since no value has been allocated
+by the IANA for this extension yet, you will need to provide one
+yourself by invoking './configure --enable-opaque-prf-input=42'.
+Fixes #2.
+
+** Example code: Fix compilation flaw under MinGW.
+
+** API and ABI modifications:
+gnutls_oprfi_callback_func: ADD, new typedef function prototype.
+gnutls_oprfi_enable_client: ADD, new function.
+gnutls_oprfi_enable_server: ADD, new function.
+
+* Version 2.0.4 (released 2007-11-16)
+
+** Corrected bug in decompression of expanded compression data.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.0.3 (released 2007-11-10)
+
+** This version backports several fixes from the 2.1.x branch.
+
+** Fixed PKCS #3 parameter export.
+
+** Added gnutls_record_disable_padding() to allow servers talking to
+buggy clients that complain if the TLS 1.0 record protocol padding is
+used.
+
+** Introduced gnutls_session_enable_compatibility_mode() to allow enabling
+all supported compatibility options (like disabling padding).
+
+** Corrected bug which did not allow a server to run without supporting
+certificates.
+
+** API and ABI modifications:
+gnutls_session_enable_compatibility_mode: ADDED
+gnutls_record_disable_padding: ADDED
+
+* Version 2.0.2 (released 2007-10-17)
+
+** TLS authorization support removed.
+This technique may be patented in the future, and it is not of crucial
+importance for the Internet community. After deliberation we have
+concluded that the best thing we can do in this situation is to
+encourage society not to adopt this technique. We have decided to
+lead the way with our own actions.
+
+** certtool: Fixed data corruption when using --outder.
+
+** Fix configure-time Guile detection.
+
+** API and ABI modifications:
+GNUTLS_SUPPLEMENTAL_USER_MAPPING_DATA: ADDED. To avoid that the
+ gnutls_supplemental_data_format_type_t enum type becomes empty.
+
+* Version 2.0.1 (released 2007-09-20)
+
+** New directory doc/credentials/ with test credentials.
+This collects the test credentials from the web page and from src/.
+The script gnutls-http-serv has also been moved to that directory.
+
+** Update SRP extension type and cipher suite with official IANA values.
+This breaks backwards compatibility with SRP in older versions of
+GnuTLS, but this is intentional to speed up the adoption of the
+official values. The old values we used were incorrect.
+
+** Guile: Fix `x509-certificate-dn-oid'
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 2.0.0 (released 2007-09-04)
+
+** Included copy of Libtasn1 upgraded to version 1.1.
+
+** Disable building of some examples if anonymous ciphers are disabled.
+
+** Don't build examples for disabled features.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 1.7.19 (released 2007-08-27)
+
+** Fix gnutls_error_is_fatal so that positive "errors" are non-critical.
+This solves connection problems in mutt, see
+&lt;http://bugs.debian.org/439640&gt;.
+
+** Update gnulib files.
+In particular, the getpass module -- with its dependencies on getline,
+getdelim, fseeko etc -- where moved from the lgl/ (used by the core
+library) directory to the gl/ directory (only used by the command line
+tools). The reason is that getpass is now only used by the
+command-line tools, and reducing the number of gnulib modules linked
+to the core library helps portability and reduces size.
+
+** Fix warnings.
+
+** Disable building of PGP examples if PGP is disabled.
+
+** Included copy of OpenCDK upgraded to version 0.6.4.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 1.7.18 (released 2007-08-16)
+
+** Install images for the info manual.
+This has a side effect of renaming the images. See
+&lt;http://thread.gmane.org/gmane.comp.tex.texinfo.bugs/3533&gt; for
+discussions on the approach chosen.
+
+** Fix pointer mix to variables of different size.
+Patch extracted from
+&lt;http://cvs.fedora.redhat.com/viewcvs/devel/gnutls/gnutls-1.6.3-incompat-pointers.patch?rev=1.1&amp;view=auto&gt;.
+
+** Fix warnings during build.
+Thanks to Andreas Metzler &lt;ametzler@downhill.at.eu.org&gt;.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 1.7.17 (released 2007-08-15)
+
+** New functions to perform external signing.
+Set the signing callback function (of the gnutls_sign_func prototype)
+using the gnutls_sign_callback_set function. In the callback, you may
+find the new functions gnutls_x509_privkey_sign_hash and
+gnutls_openpgp_privkey_sign_hash useful. A new function
+gnutls_sign_callback_get is also added, to retrieve the function
+pointer. Thanks to "Alon Bar-Lev" &lt;alon.barlev@gmail.com&gt; for
+comments and testing.
+
+** New self test of client and server authenticated X.509 TLS sessions.
+See tests/x509self.c and tests/x509signself.c. The latter also tests
+the new external signing callback interface.
+
+** New errors GNUTLS_E_APPLICATION_ERROR_MIN..GNUTLS_E_APPLICATION_ERROR_MAX.
+These two actually describe the outer limits of a range of error codes
+reserved to the application. All of the errors are treated as fatal
+by the library (it has to since it doesn't know the semantics of the
+error codes). This can be useful in callbacks, to signal some
+application-specific error condition, which will usually eventually
+cause some gnutls API to return the same error code as the callback,
+which then can be inspected by the application. Note that error codes
+are negative.
+
+** gnutls_set_default_priority now disable TLS 1.2 by default.
+The RFC is not released yet, and we're approaching a major release so
+let's not enable it just yet.
+
+** Fix namespace so that gnutls_*_t is used consistently.
+Before, many places in the GnuTLS code used the old deprecated type
+names without the '_t' suffix.
+
+** Build fixes for Guile code.
+Patch from Ludovic Courtes &lt;ludovic.courtes@laas.fr&gt;.
+
+** More documentation fixes.
+In particular, the section headings were modified for casing. By
+Ludovic Courtes &lt;ludovic.courtes@laas.fr&gt;.
+
+** Updated Polish and Swedish translations.
+Thanks to Jakub Bogusz &lt;qboosh@pld-linux.org&gt; and Daniel Nylander
+&lt;po@danielnylander.se&gt;.
+
+** API and ABI modifications:
+gnutls_sign_func: ADD, new type for sign callback.
+gnutls_sign_callback_set: ADD, new function to set sign callback.
+gnutls_sign_callback_get: ADD, new function to retrieve sign callback.
+gnutls_x509_privkey_sign_hash,
+gnutls_openpgp_privkey_sign_hash: ADD, new functions useful in sign callback.
+GNUTLS_E_APPLICATION_ERROR_MIN,
+GNUTLS_E_APPLICATION_ERROR_MAX: ADD, new CPP #defines for error codes.
+
+* Version 1.7.16 (released 2007-08-07)
+
+** Fix sanity checks and return values in certificate selection.
+In some cases, GnuTLS omitted to report suitable error codes when no
+suitable certificate was found.
+
+** Fix gnutls-cli starttls EOF on Mac OS X.
+Thanks to Hal Eden &lt;n.mavrogiannopoulos@gmail.com&gt;.
+
+** Documentation fixes.
+In particular, the section headings were modified for casing. By
+Ludovic Courtes &lt;ludovic.courtes@laas.fr&gt;.
+
+** Update gnulib files.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 1.7.15 (released 2007-07-02)
+
+** Fix self-tests key-id under mingw32.
+
+** Test that the Guile header files are recent enough to work.
+Before we just tested that the command line tool 'guile' was recent
+enough, which may not be sufficient if you still have an old
+libguile.h header installed.
+
+** Guile bindings are now installed under $prefix by default.
+Use --without-guile-site-dir to install it under $pkgdatadir/site/
+where $pkgdatadir is as returned by "guile-config info pkgdatadir".
+Use --with-guile-site-dir=/your/own/path to specify the path manually.
+The default, --with-guile-site-dir, will install the Guile bindings
+under $datadir/guile/site. There is a new section 'Guile
+Preparations' in the manual that discuss these issues.
+
+** Fix run-time library path ordering in linking the Guile bindings.
+
+** Improved manual on downloading, installing, getting help, bug reports etc.
+Suggested by Ludovic Courtès &lt;ludovic.courtes@laas.fr&gt;.
+
+** Add Malay message translations.
+Thanks to Sharuzzaman Ahmat Raslan &lt;sharuzzaman@myrealbox.com&gt;.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 1.7.14 (released 2007-06-26)
+
+** Don't enable Guile bindings unless we have Guile 1.8 or later.
+Patch from Ludovic Courtès &lt;ludovic.courtes@laas.fr&gt;.
+
+** Fix memory leak during DSA signature verification.
+Patch from Ludovic Courtès &lt;ludovic.courtes@laas.fr&gt;.
+
+** Fix crash in gnutls-cli when TLS handshake fails.
+Reported by Marc Haber &lt;mh+debian-bugs@zugschlus.de&gt; and Andreas
+Metzler &lt;ametzler@downhill.at.eu.org&gt; via Debian BTS #429183, see
+&lt;http://bugs.debian.org/429183&gt;.
+
+** Minor OpenPGP fixes in stream_to_datum.
+Patch from Timo Schulz &lt;twoaday@freakmail.de&gt; and Ludovic Courtès
+&lt;ludovic.courtes@laas.fr&gt;.
+
+** Fix off-by-one in TLS 1.2 handshake.
+Patch from Ludovic Courtès &lt;ludovic.courtes@laas.fr&gt;.
+
+** Minor Guile binding self-test cleanup.
+Patch from Ludovic Courtès &lt;ludovic.courtes@laas.fr&gt;.
+
+** Update gnulib files.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 1.7.13 (released 2007-06-11)
+
+** OpenCDK copy updated to version 0.6.3.
+
+** Build fixes for GnuTLS Guile bindings.
+Patch from Ludovic Courtès &lt;ludovic.courtes@laas.fr&gt;.
+
+** Build fix for GTK-DOC manual.
+
+** Update gnulib files.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 1.7.12 (released 2007-06-08)
+
+** Guile bindings for GnuTLS have been included.
+Contributed by Ludovic Courtès &lt;ludovic.courtes@laas.fr&gt;. There is a
+new chapter 'Guile Bindings' in the manual.
+
+** Have PKCS8 parser return better error codes.
+Reported by Nate Nielsen &lt;nielsen-list@memberwebs.com&gt;, see
+&lt;http://lists.gnupg.org/pipermail/gnutls-dev/2007-May/001653.html&gt; and
+&lt;http://lists.gnupg.org/pipermail/gnutls-dev/2007-May/001654.html&gt;.
+
+** Fix mem leak for sessions with client authentication via certificates.
+Reported by Andrew W. Nosenko &lt;andrew.w.nosenko@gmail.com&gt;, see
+&lt;http://lists.gnupg.org/pipermail/gnutls-dev/2007-April/001539.html&gt;.
+
+** Fix mem leaks.
+Reported by Dennis Vshivkov &lt;walrus@amur.ru&gt;, see
+&lt;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=333050&gt;. Added
+self-test tests/parse_ca.c to test regressions.
+
+** Fix build failures related to missing images in manual.
+Reported by Andreas Metzler &lt;ametzler@downhill.at.eu.org&gt;.
+
+** Update gnulib files.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 1.7.11 (released 2007-05-26)
+
+** Include opencdk.h in the release.
+Reported by Roman Bogorodskiy &lt;novel@FreeBSD.org&gt;.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 1.7.10 (released 2007-05-25)
+
+** New API functions to extract DER encoded X.509 Subject/Issuer DN.
+Suggested by Nate Nielsen &lt;nielsen-list@memberwebs.com&gt;.
+
+** Update of gnulib files.
+
+** GnuTLS is now developed in GIT instead of CVS.
+See &lt;http://repo.or.cz/w/gnutls.git&gt; for a public repository.
+
+** API and ABI modifications:
+gnutls_x509_crt_get_raw_issuer_dn: ADD.
+gnutls_x509_crt_get_raw_dn: ADD.
+
+* Version 1.7.9 (released 2007-05-12)
+
+** X.509 certificates are preferred over OpenPGP keys.
+This is a change in the semantics of gnutls_set_default_priority.
+
+** The included copy of OpenCDK has been updated to 0.6.1.
+There has been some API changes in OpenCDK, and the GnuTLS layer have
+been modified as well. Note that while there are API/ABI incompatible
+changes in OpenCDK, this does not influence GnuTLS's API/ABI because
+its API/ABI have not changed. From this version on, GnuTLS requires
+OpenCDK 0.6.0 or later.
+
+** Fix build failure caused by missing doc/gnutls-logo.pdf.
+
+** Change certtool's default serial number from 0 to a time-based value.
+
+** Fix X.509 signing with RSA-PKCS#1 to set a NULL parameters fields.
+Before, we remove the parameters field, which resulted in a slightly
+different DER encoding which in turn caused signature verification
+failures of GnuTLS-generated RSA certificates in some other
+implementations (e.g., GnuPG 2.x's gpgsm). Depending on which RFCs
+you read, this may or may not be correct, but our new behaviour appear
+to be consistent with other widely used implementations.
+
+** Fix mem leaks in gnutls_x509_crt_print.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 1.7.8 (released 2007-04-16)
+
+** Added examples for the authorization extension.
+See doc/examples/ex-client-authz.c and doc/examples/ex-serv-authz.c.
+
+** The examples only use gnutls_set_default_priority().
+The exception is when DH_ANON is needed.
+
+** Improve gnutls_set_default_priority() priorities.
+The new approach is for it to try and negotiate all secure and
+standard mechanisms available. Currently, DH_ANON ciphersuites and
+LZO compressions are not enabled by default, because they are,
+respectively, insecure and non-standardized. Note that TLS 1.2 will
+not be enabled by default in non-experimental release until it has
+been approved by the IETF.
+
+** gnutls-cli and gnutls-serv now uses the library's default priorities.
+This means that to get DH_ANON and LZO compression, you'll need to
+specify that manually using '--kx anon' or '--comp lzo'.
+
+** Minor fixes to the human display format of X.509 certificates.
+
+** New APIs to extract Distinguished Name's from X.509 certificates.
+Based on patch from Howard Chu &lt;hyc@symas.com&gt;.
+
+** Improved library searching for opencdk.
+It will now add the appropriate -R or -Wl,-rpath flags as necessary.
+The deprecated opencdk.m4 is no longer used.
+
+** New APIs to list supported algorithms in the library.
+The APIs are gnutls_cipher_list, gnutls_mac_list,
+gnutls_compression_list, gnutls_protocol_list,
+gnutls_certificate_type_list, gnutls_kx_list, and
+gnutls_cipher_suite_info. Suggested by Howard Chu &lt;hyc@symas.com&gt;.
+
+** The gnutls_x509_crt_get_key_id API now handle non-RSA/DSA keys.
+
+** New configure option --disable-tls-authorization to disable tls-authz.
+
+** Fix prototype for `gnutls_psk_set_client_credentials'.
+The last parameter was renamed from 'flags' to 'format' and the type
+changed from 'unsigned int' to 'gnutls_psk_key_flags' (an enum type),
+which shouldn't cause any ABI changes. Reported by ludo@chbouib.org
+(Ludovic Courtès).
+
+** Fix allocation in gnutls_certificate_set_openpgp_key.
+Tiny patch from ludo@chbouib.org (Ludovic Courtès).
+
+** API and ABI modifications:
+gnutls_x509_dn_t: ADD.
+gnutls_x509_ava_st: ADD.
+gnutls_x509_crt_get_subject,
+gnutls_x509_crt_get_issuer: ADD.
+gnutls_x509_dn_get_rdn_ava: ADD.
+gnutls_cipher_list: ADD.
+gnutls_mac_list: ADD.
+gnutls_compression_list: ADD.
+gnutls_protocol_list: ADD.
+gnutls_certificate_type_list: ADD.
+gnutls_kx_list: ADD.
+gnutls_cipher_suite_info: ADD.
+
+* Version 1.7.7 (released 2007-02-22)
+
+** Support for supplemental handshake messages and authorization data.
+Supplemental data is described in RFC 4680 and the authorization
+extensions in draft-housley-tls-authz-extns-07.
+
+** Support for authorization data in gnutls-cli and gnutls-serv.
+New parameters --authz-x509-attr-cert and --authz-saml-assertion.
+
+** Fix for gnutls_x509_crt_check_hostname.
+Before it would have reported that the certificate matched a hostname
+when it did not have any dNSName or any CN field. Report and tiny
+patch from "Richard W.M. Jones" &lt;rjones@redhat.com&gt;.
+
+** New self test for RFC 2818 comparison in gnutls_x509_crt_check_hostname.
+Tests regressions of the bug, and several other features.
+
+** GnuTLS now matches URI's with IP Addresses against iPAddress SAN's.
+Before there were no support for iPAddress SAN's during comparison.
+
+** New API to print information about CRL's.
+The function is gnutls_x509_crl_print.
+
+** New API to extract signature value from CRL's.
+The function is gnutls_x509_crl_get_signature.
+
+** Support for directoryName Subject Alternative Name's.
+The gnutls_x509_crt_get_subject_alt_name function returns the DN as a
+string in the provided buffer.
+
+** Internal improvements to certtool.
+It uses gnutls_x509_crl_print to print CRL information. It uses some
+more gnulib modules to simplify error handling.
+
+** API and ABI modifications:
+GNUTLS_HANDSHAKE_SUPPLEMENTAL: ADD, new gnutls_handshake_description_t element.
+gnutls_supplemental_data_format_type_t: ADD.
+gnutls_authz_data_format_type_t: ADD.
+gnutls_supplemental_get_name: ADD.
+gnutls_authz_recv_callback_func,
+gnutls_authz_send_callback_func: ADD, callback prototypes.
+gnutls_authz_enable: ADD.
+gnutls_authz_send_x509_attr_cert,
+gnutls_authz_send_saml_assertion,
+gnutls_authz_send_x509_attr_cert_url,
+gnutls_authz_send_saml_assertion_url: ADD.
+GNUTLS_SAN_DN: ADD, new gnutls_x509_subject_alt_name_t element.
+gnutls_x509_crl_print: ADD.
+gnutls_x509_crl_get_signature: ADD.
+
+* Version 1.7.6 (released 2007-02-12)
+
+** Support for 'otherName' Subject Alternative Names.
+The existing API gnutls_x509_crt_get_subject_alt_name may now return
+the new type GNUTLS_SAN_OTHERNAME together with the otherName value.
+To find out the otherName OID (necessary for proper parsing of the
+value), use the new API gnutls_x509_crt_get_subject_alt_othername_oid.
+For known OIDs, gnutls_x509_crt_get_subject_alt_othername_oid will
+return "virtual" SAN values, e.g., GNUTLS_SAN_OTHERNAME_XMPP to
+simplify OID matching. Suggested by Matthias Wimmer &lt;m@tthias.eu&gt;.
+
+** Certtool can print otherName SAN values for certificates.
+For known otherName OIDs (currently only id-on-xmppAddr as defined by
+RFC 3920), it will also print the name.
+
+** Fix TLS 1.2 RSA signing in servers.
+Before it used the old-style MD5+SHA1 signature, but the TLS
+signatures should be normal PKCS#1 signatures. FYI, we use and
+require that DigestInfo parameters are present and NULL for TLS 1.2.
+
+** Add APIs to access X.509 extensions sequentially.
+The existing APIs gnutls_x509_crt_get_extension_oid() and
+gnutls_x509_crt_get_extension_by_oid() does not permit callers to
+inspect the extensions in the order defined by the certificate.
+
+** Add API to extract signature value from X.509 certificates.
+The function is gnutls_x509_crt_get_signature.
+
+** Fix crash when generating proxy certificates in batch mode.
+If you don't specify a proxy policy in batch mode, it will use
+id-ppl-inheritALL.
+
+** Add API to print information about X.509 certificates.
+The function is gnutls_x509_crt_print.
+
+** Certtool uses the new API gnutls_x509_crt_print to print certificate info.
+One consequence of this is that the output syntax has changed
+slightly. Some more fields are printed.
+
+** Doc fixes.
+
+** API and ABI modifications:
+gnutls_x509_crt_print: ADD
+gnutls_certificate_print_formats_t: ADD, new enum.
+gnutls_x509_crt_get_signature: ADD.
+gnutls_x509_crt_get_extension_data: ADD.
+gnutls_x509_crt_get_extension_info: ADD.
+gnutls_x509_crt_get_subject_alt_othername_oid: ADD.
+GNUTLS_SAN_OTHERNAME: ADD, new gnutls_x509_subject_alt_name_t element.
+GNUTLS_SAN_OTHERNAME_XMPP: ADD, new gnutls_x509_subject_alt_name_t element.
+
+* Version 1.7.5 (released 2007-02-06)
+
+** Servers won't negotiate SRP RSA/DSS cipher suites if no SRP credential
+** is set.
+
+** Default behaviour for the gnutls-cli and gnutls-serv tools improved.
+
+** Fix --list output for gnutls-cli and gnutls-serv.
+Mention TLS1.2, SHA512 etc.
+
+** Manual contains new section on setting up a test HTTP server.
+A server set up following those descriptions are available online via
+&lt;http://www.gnutls.org/server.html&gt;.
+
+** Update of gnulib files.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 1.7.4 (released 2007-02-05)
+
+** Support for RSA signing using SHA-256/384/512.
+A new self test "sha2" tries to build a long X.509 certificate chain
+testing all new hashes.
+
+** The gnutls-serv tool now use static DH parameters if none are supplied.
+
+** Discuss proxy certificates in the manual.
+
+** Improve bibliographical citations in the manual.
+
+** Update of gnulib files.
+
+** Fix certtool template handling of pathLenConstraints.
+It now defaults to -1 instead of 0, which causes the field to be
+missing unless the template specify it.
+
+** API and ABI modifications:
+GNUTLS_MAC_SHA256,
+GNUTLS_MAC_SHA384,
+GNUTLS_MAC_SHA512: New gnutls_mac_algorithm_t values.
+GNUTLS_DIG_SHA256,
+GNUTLS_DIG_SHA384,
+GNUTLS_DIG_SHA512: New gnutls_digest_algorithm_t values.
+GNUTLS_SIGN_RSA_SHA256,
+GNUTLS_SIGN_RSA_SHA384,
+GNUTLS_SIGN_RSA_SHA512: New gnutls_sign_algorithm_t values.
+
+* Version 1.7.3 (released 2007-02-01)
+
+** New option to certtool: --generate-proxy.
+This will generate a Proxy Certificate from an end entity certificate.
+Proxy Certificates are documented in RFC 3820. You will need to
+specify the proxy certificate's private key with --load-privkey, the
+user certificate with --load-certificate and the private key used to
+sign the new proxy certificate with --load-ca-privkey. Certtool will
+query for proxy path length and the policy language OID. Currently
+only OIDs that have an empty policy are supported (which includes the
+two OIDs defined by RFC 3820).
+
+** Certtool --certificate-info now prints information for Proxy Certificates.
+Before the proxy extension was just printed as DER encoded data.
+
+** New APIs to set proxy subject names and get/set proxy cert extension.
+
+** Fix parsing of pathLenConstraints in BasicConstraints with missing cA.
+
+** Added self-test to test for regressions of pathLenConstraint bug.
+Incidentally, this also test (some) other regressions or changes in
+the output from certtool --certificate-info.
+
+** When certtool generates CA certificates, pressing enter on the path
+** length constraint query will now remove the field.
+Before it set the path length constraint to 0, which is a rather poor
+default.
+
+** Certtool now print times in UTC when printing certificate/CRL info.
+
+** Add better fix to work around C++ compiler bug on Mac OS X.
+Reported and tiny patch provided by Matthias Scheler &lt;tron@NetBSD.org&gt;.
+
+** Fix import of ASCII armored OpenPGP keys.
+Patch by ludovic.courtes@laas.fr (Ludovic Courtès).
+
+** Update of gnulib files.
+
+** API and ABI modifications:
+gnutls_x509_crt_set_proxy_dn: ADD.
+gnutls_x509_crt_set_proxy: ADD.
+gnutls_x509_crt_get_proxy: ADD.
+
+* Version 1.7.2 (released 2007-01-14)
+
+** Certtool now print the value of the pathLenConstraints field for certs.
+
+** Certtool now query for path length constraints when generating CA certs.
+For batch uses, the certtool configuration name is "path_len".
+Suggested by Sascha Ziemann &lt;sascha.ziemann@secunet.com&gt;.
+
+** Add new API to get/set pathLenConstraint in the Basic Constraints.
+The new functions gnutls_x509_crt_get_basic_constraints and
+gnutls_x509_crt_set_basic_constraints provide a superset of the
+functionality in the old gnutls_x509_crt_get_ca_status and
+gnutls_x509_crt_set_ca_status (respectively), but the old functions
+will continue to be supported.
+
+** Add new API in OpenCDK to extract public/secret OpenPGP key to S-expr.
+The functions are cdk_pubkey_to_sexp and cdk_seckey_to_sexp. A proper
+OpenCDK release with this patch will be made soon, which should bump
+the OpenCDK version number. Patch by Mario Lenz &lt;mario.lenz@gmx.net&gt;.
+
+** Certtool --to-p12 can now store more than one certificate in the blob.
+Before it could only store one certificate, but now it will read and
+store as many certificate there are from the --load-certificate file.
+Suggested by Sascha Ziemann &lt;sascha.ziemann@secunet.com&gt;.
+
+** Clean up separation of gnutls and gnutls-extra for OpenPGP.
+In particular, the OpenPGP function variables are no longer part of
+the exported libgnutls interface, and no header files from
+libgnutls-extra (GPL) are needed by libgnutls (LGPL). The variables
+were never intended for non-internal purposes, and thus this does not
+imply a change in the external API/ABI.
+
+** Print URL to gaa when missing, and fix srcdir!=builddir for GAA files.
+Reported by ludovic.courtes@laas.fr (Ludovic Courtès).
+
+** GnuTLS no longer uses -mms-bitfields --enable-runtime-pseudo-reloc.
+Before these parameters were set to make GnuTLS build under mingw32,
+however, they appear to no longer be necessary.
+
+** A minor fix to the C++ library to make it build.
+Reported by Pavlov Konstantin &lt;thresh@altlinux.ru&gt;.
+
+** Update of gnulib files.
+
+** API and ABI modifications:
+gnutls_x509_crt_get_basic_constraints: ADD.
+gnutls_x509_crt_set_basic_constraints: ADD.
+cdk_pubkey_to_sexp: ADD (in opencdk).
+cdk_seckey_to_sexp: ADD (in opencdk).
+
+* Version 1.7.1 (released 2006-12-28)
+
+** TLS 1.2 server side fix.
+The Certificate Request sent did not contain the list of supported
+hashes field, thus violating the protocol. It will now contain an
+empty list. Reported by ludovic.courtes@laas.fr (Ludovic Courtès).
+
+** TLS 1.2 DSA signature verification fix.
+Reported by ludovic.courtes@laas.fr (Ludovic Courtès).
+
+** Fix the list of trusted CAs that server's send to clients.
+Before, the list contained issuer DN's instead of subject DN's of the
+trusted CAs. Reported by Max Kellermann &lt;max@duempel.org&gt;.
+
+** Fix gnutls_certificate_set_x509_crl to initialize the CRL before using it.
+Also added a self-test in tests/certificate_set_x509_crl.c to test the
+function. Reported by Max Kellermann &lt;max@duempel.org&gt;.
+
+** Encode UID fields in DN's as DirectoryString.
+Before GnuTLS encoded and parsed UID fields as IA5String. This was
+incorrect, it should have used DirectoryString. Now it will use
+DirectoryString for the UID field, but for backwards compatibility it
+will also accept IA5String UID's. Reported by Max Kellermann
+&lt;max@duempel.org&gt;.
+
+** Improve out-of-sourcedir builds from CVS.
+Reported by ludovic.courtes@laas.fr (Ludovic Courtès).
+
+** Bootstrap tools changed.
+We now require autoconf 2.61, automake 1.10, and gettext 0.16, when
+building GnuTLS from CVS. Libtool 1.5.22 is used.
+
+** Fixed a syntax error in lib/gnutls.asn.
+Reported by Paul Millar &lt;p.millar@physics.gla.ac.uk&gt;.
+
+** Added German translation of GnuTLS messages.
+
+** Update of gnulib files.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 1.7.0 (released 2006-11-29)
+
+** The default protocol priority try TLS 1.1 and TLS 1.2 too.
+The details is that the protocol priority set by
+`gnutls_set_default_priority' has been changed from TLS 1.0 and SSL
+3.0 to TLS 1.2, TLS 1.1, TLS 1.0 and SSL 3.0.
+
+** Preliminary support for TLS 1.2.
+The client has been successfully tested against
+https://www.mikestoolbox.org:4433/.
+
+** Anonself test now print a lot of debugging info, including TLS version.
+
+** Doc fixes in OpenCDK, to avoid some gtk-doc warnings.
+
+** Update of gnulib files.
+
+** API and ABI modifications:
+GNUTLS_TLS1_2: New gnutls_protocol_t enum member.
+
+*** Pulled up from stable 1.6.x branch:
+
+** Fix ./configure failure with non-GCC compilers.
+This fixes the following error message:
+configure: error: conditional "HAVE_LD_OUTPUT_DEF" was never defined.
+Reported by "Michael C. Vergallen" &lt;mvergall@telenet.be&gt;.
+
+* Version 1.6.3 (released 2007-05-26)
+
+** New API functions to extract DER encoded X.509 Subject/Issuer DN.
+Suggested by Nate Nielsen &lt;nielsen-list@memberwebs.com&gt;. Backported
+from the 1.7.x branch, see
+&lt;http://lists.gnu.org/archive/html/help-gnutls/2007-05/msg00029.html&gt;.
+
+** Have PKCS8 parser return better error codes.
+Reported by Nate Nielsen &lt;nielsen-list@memberwebs.com&gt;, see
+&lt;http://lists.gnupg.org/pipermail/gnutls-dev/2007-May/001653.html&gt; and
+&lt;http://lists.gnupg.org/pipermail/gnutls-dev/2007-May/001654.html&gt;.
+
+** Fix mem leak for sessions with client authentication via certificates.
+Reported by Andrew W. Nosenko &lt;andrew.w.nosenko@gmail.com&gt;, see
+&lt;http://lists.gnupg.org/pipermail/gnutls-dev/2007-April/001539.html&gt;.
+
+** Fix building of 'tlsia' self test.
+Earlier some gcc are known to build tlsia linking to
+$prefix/lib/libgnutls-extra.so rather than the libgnutls-extra.so in
+the build directory, even though command line parameters look OK.
+Changing order of some parameters fixes it.
+
+** API and ABI modifications:
+gnutls_x509_crt_get_raw_issuer_dn: ADD.
+gnutls_x509_crt_get_raw_dn: ADD.
+
+* Version 1.6.2 (released 2007-04-18)
+
+** Fix X.509 signing with RSA-PKCS#1 to set a NULL parameters fields.
+Before, we remove the parameters field, which resulted in a slightly
+different DER encoding which in turn caused signature verification
+failures of GnuTLS-generated RSA certificates in some other
+implementations (e.g., GnuPG 2.x's gpgsm). Depending on which RFCs
+you read, this may or may not be correct, but our new behaviour appear
+to be consistent with other widely used implementations.
+
+** Regenerate the PKIX ASN.1 syntax tree.
+For some reason, after changing the ASN.1 type of ldap-UID in the last
+release, the generated C file built from the ASN.1 schema was not
+refreshed. This can cause problems when reading/writing UID
+components inside X.500 Distinguished Names. Reported by devel
+&lt;dev001@pas-world.com&gt;.
+
+** Updated translations.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 1.6.1 (released 2006-12-28)
+
+** Fix the list of trusted CAs that server's send to clients.
+Before, the list contained issuer DN's instead of subject DN's of the
+trusted CAs. Reported by Max Kellermann &lt;max@duempel.org&gt;.
+
+** Fix gnutls_certificate_set_x509_crl to initialize the CRL before using it.
+Reported by Max Kellermann &lt;max@duempel.org&gt;.
+
+** Encode UID fields in DN's as DirectoryString.
+Before GnuTLS encoded and parsed UID fields as IA5String. This was
+incorrect, it should have used DirectoryString. Now it will use
+DirectoryString for the UID field, but for backwards compatibility it
+will also accept IA5String UID's. Reported by Max Kellermann
+&lt;max@duempel.org&gt;.
+
+** Fix ./configure failure with non-GCC compilers.
+This fixes the following error message:
+configure: error: conditional "HAVE_LD_OUTPUT_DEF" was never defined.
+Reported by "Michael C. Vergallen" &lt;mvergall@telenet.be&gt;.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 1.6.0 (released 2006-11-17)
+
+** No changes since 1.5.5.
+The major changes compared to the 1.4.x branch are:
+
+*** A GnuTLS C++ library is part of the official distribution.
+Currently there are no examples or documentation, but hopefully this
+will change. See gnutlsxx.h for the API.
+
+*** Windows is a supported platform.
+There are, however, two know bugs. One is related to select() in
+command line tools (not, nota bene, in the library), the other is a
+problem with libgcrypt that causes delays. Help is needed to resolve
+those issues, so we feel we can't delay the release because of this.
+
+*** New APIs for custom push/pull function error reporting.
+The new APIs are gnutls_transport_set_errno and
+gnutls_transport_set_global_errno. See the release notes for version
+1.5.4 for more information.
+
+*** Self tests are run under valgrind, if available. See --disable-valgrind.
+
+* Version 1.5.5 (released 2006-11-16)
+
+** Correctly bump shared library version after adding new APIs.
+This was forgotten in the last release.
+
+** Fix unsigned vs signed problem in ex-x509-info.c example.
+Reported by Tim Kosse &lt;tim.kosse@filezilla-project.org&gt;.
+
+** Fix the rsa-md5-collision self test to work for MinGW+Wine.
+
+** Update of gnulib files.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 1.5.4 (released 2006-11-07)
+
+** New API functions to set errno in push/pull functions.
+Under Windows, setting the errno variable in a push/pull replacement
+may end up setting the wrong errno variable, and GnuTLS send/recv
+functions become confused about the real errno returned from a failed
+push/pull function. Therefor, we have added two APIs to set the errno
+variable used by GnuTLS. The APIs can also help to keep things
+thread-safe, by avoiding potentially global variables. Typically,
+instead of setting errno in your push/pull function, you will call one
+of these functions. It is recommended to use
+gnutls_transport_set_errno, but if you don't have the session variable
+easily accessible in the push/pull replacement function, you can use
+gnutls_transport_set_global_errno. Suggested by Tim Kosse
+&lt;tim.kosse@filezilla-project.org&gt;.
+
+void gnutls_transport_set_errno (gnutls_session_t session, int err);
+void gnutls_transport_set_global_errno (int err);
+
+** When calling `recv' or `send' Windows errors are handled properly.
+The Windows recv/send functions doesn't use errno, and GnuTLS now use
+WSAGetLastError to access the error condition instead.
+
+** Several OpenPGP API fixes.
+All suggested by ludovic.courtes@laas.fr (Ludovic Courtès). The most
+important fix is to change the return value of
+gnutls_openpgp_privkey_get_pk_algorithm and
+gnutls_openpgp_key_get_pk_algorithm from 'int' to
+'gnutls_pk_algorithm_t', which is an enum type (and thus API/ABI
+compatible with 'int').
+
+** When a GnuTLS server receive a SSLv2 Client Hello for an unknown TLS
+** version, try to negotiate the highest version support by the GnuTLS server,
+** instead of the lowest.
+Reported by &lt;Pasi.Eronen@nokia.com&gt;.
+
+** Replace old constructs with use of gnulib modules.
+For example, we can now assume unistd.h, sys/stat.h, sys/socket.h in
+the code. If the headers doesn't exist on the target system, gnulib
+will make sure its replacement header files are used instead.
+
+** Fix SOVERSION computation for *.def files.
+This fixes build errors similar to "No rule to make target
+`libgnutls-`expr', needed by `all-am'." when building for Windows.
+
+** gnutls_check-version uses strverscmp from gnulib.
+
+** Update of gnulib files.
+
+** API and ABI modifications:
+gnutls_transport_set_errno: ADD
+gnutls_transport_set_global_errno: ADD
+
+* Version 1.5.3 (released 2006-10-26)
+
+** Add new self-test of RSA-MD5 signature chains.
+Note that we already, since GnuTLS 1.2.9, reject RSA-MD5 signatures
+when verifying X.509 chains. The code is in tests/rsa-md5-collision/
+and is based on the work by Marc Stevens et al, see
+&lt;http://www.win.tue.nl/hashclash/TargetCollidingCertificates/&gt;.
+
+** Re-factor self tests.
+
+** The include copy of Libtasn1 is updated to version 0.3.7.
+
+** The included copy of OpenCDK is updated to version 0.5.11.
+
+** Fix the filename of the *.def file on Windows after library version bump.
+
+** Separated the gnulib directory into one for LGPL modules and one for GPL.
+This allows the GPL'd part of GnuTLS to take advantage of the GPL'd
+gnulib modules. Earlier we could only use the LGPL'ed module from
+gnulib, because two gnulib directories in the same project didn't
+work.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 1.5.2 (released 2006-10-03)
+
+** Decrement the shared library version back to 13 (as in the 1.4.x branch).
+Note that if you installed 1.5.0 or 1.5.1, they will have a higher
+shared library version than this version, so you'll have to remove
+them and possibly relink your applications. The reason for this is
+that no API/ABI changes have been made since the 1.4.x branch, and
+that incrementing the shared library version was a mistake. Reported
+by Andreas Metzler &lt;ametzler@downhill.at.eu.org&gt;.
+
+** Fix off-by-one error when computing length to malloc.
+The code is used by gnutls_openpgp_add_keyring_file and
+gnutls_openpgp_add_keyring_mem. Reported by "Adam Langley"
+&lt;agl@imperialviolet.org&gt;.
+
+** Add version script for the GnuTLS C++ library.
+Reported by Andreas Metzler &lt;ametzler@downhill.at.eu.org&gt;.
+
+** Fix the C++ compiler detection logic.
+Reported by Andreas Metzler &lt;ametzler@downhill.at.eu.org&gt;.
+
+** Update of gnulib files.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 1.5.1 (released 2006-09-21)
+
+** Fix PKCS#1 verification to avoid a variant of Bleichenbacher's
+** Crypto 06 rump session attack.
+In particular, we check that the digestAlgorithm.parameters field is
+missing or empty, to avoid that it can contain "garbage" that may be
+used to alter the numeric properties of the signature. See
+&lt;http://www.imc.org/ietf-openpgp/mail-archive/msg14307.html&gt; (which is
+not exactly the same as the problem we fix here). Reported by Yutaka
+OIWA &lt;y.oiwa@aist.go.jp&gt;.
+
+See GNUTLS-SA-2006-4 on http://www.gnutls.org/security.html for more
+up to date information.
+
+** Add self test to test for above flaw.
+
+** Fix gnutls-cli-debug regarding resume support detection.
+Earlier, if the session-id from the server had a length of 0, it would
+indicate that the server supports resumption, which isn't the case.
+Reported by Kataja Kai &lt;kai.kataja@op.fi&gt;.
+
+** Fix building of examples on FreeBSD by including netinet/in.h.
+Reported by Roman Bogorodskiy &lt;novel@FreeBSD.org&gt;.
+
+** Fix certtool bug that caused the private key to not be loaded when
+generating a certificate with --load-request, which in turn triggered
+another unrelated bug in gnutls_x509_crt_sign2 (also fixed). Reported
+by Sascha Ziemann &lt;sascha.ziemann@secunet.com&gt;.
+
+** gnutls-cli and gnutls-serv works on Windows.
+The problem was the select() call that doesn't work on file
+descriptors (stdin) on Windows. We borrowed some code from plibc to
+solve this. It appears to be somewhat unreliable though.
+
+** Autoconf 2.60 is now used.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 1.5.0 (released 2006-08-13)
+
+** Change SRP and Cert-Type extensions to match IANA registry.
+
+** Fixed bug in OpenPGP authentication handshake.
+
+** Improvements for building under MinGW.
+Provides internal inet_ntop and inet_pton functions and arpa/inet.h
+header. Calls WSAStartup and WSACleanup in gnutls_global_init and
+gnutls_global_deinit, respectively. Loads getaddrinfo and getnameinfo
+at run-time from ws2_32.dll, and falls back on a simple replacement if
+it is not available. Builds the library with -mms-bitfields
+-Wl,--enable-runtime-pseudo-reloc. Links with --output-def, to
+create *.def files, which are installed.
+
+** The examples now (conditionally) include config.h and link to gnulib.
+No other source changes were necessary, so the examples should
+continue to be possible to use stand-alone without any autoconf or
+gnulib stuff.
+
+** Added C++ header "gnutlsxx.h" and library "libgnutlsxx".
+You may unconditionally disable it with --disable-cxx. See
+includes/gnutls/gnutlsxx.h and lib/gnutlsxx.cpp for the
+implementation.
+
+** Made command line tool '--version' behave according to GNU Standards.
+This enables 'make distcheck' to succeed.
+
+** OpenCDK updated to 0.5.9 to fix some problems with OpenPGP support.
+
+** Make --without-included-libtasn1 work.
+Reported by Daniel Black &lt;dragonheart@gentoo.org&gt;.
+
+** Fix a crash (strcmp() on a NULL value) in the certificate verification logic.
+See http://www.gnu.org/software/gnutls/security.html regardging
+GNUTLS-SA-2006-2 for more up to date information. Reported by
+satyakumar &lt;satyam_kkd@hyd.hellosoft.com&gt;.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 1.4.5 (released 2006-11-06)
+
+** When a GnuTLS server receive a SSLv2 Client Hello for an unknown TLS
+** version, try to negotiate the highest version support by the GnuTLS server,
+** instead of the lowest.
+Reported by &lt;Pasi.Eronen@nokia.com&gt;.
+
+** Fix typo in doc/examples/ex-serv-pgp.c.
+Reported by Adam Langley" &lt;agl@imperialviolet.org&gt;.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 1.4.4 (released 2006-09-12)
+
+** Relax the test that caught signatures that exploit the variant of
+** Bleichenbacher's Crypto 06 rump session attack on our
+** verification logic flaw.
+In particular, we now permit the digestAlgorithm.parameters field to
+be present but empty, whereas in 1.4.3 we actually checked that the
+field was absent.
+
+** Revert the removal of debug information for the GNUTLS-SA-2006-3 problem.
+The messages are only printed in debug mode, which is not recommended
+for normal use, and thus logging this situation cannot be abused as an
+oracle in typical recommended situations.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 1.4.3 (released 2006-09-08)
+
+** Fix PKCS#1 verification to avoid a variant of Bleichenbacher's
+** Crypto 06 rump session attack.
+In particular, we check that the digestAlgorithm.parameters field is
+empty, to avoid that it can contain "garbage" that may be used to
+alter the numeric properties of the signature. See
+&lt;http://www.imc.org/ietf-openpgp/mail-archive/msg14307.html&gt; (which is
+not exactly the same as the problem we fix here). Reported by Yutaka
+OIWA &lt;y.oiwa@aist.go.jp&gt;.
+
+See GNUTLS-SA-2006-4 on http://www.gnutls.org/security.html for more
+up to date information.
+
+** Fix PKCS#1 decryption to avoid Bleichenbacher's Crypto 98 attack.
+See &lt;http://www.bell-labs.com/user/bleichen/papers/pkcs.ps.gz&gt;.
+Reported by Werner Koch &lt;wk@gnupg.org&gt;.
+
+See GNUTLS-SA-2006-3 on http://www.gnutls.org/security.html for more
+up to date information.
+
+** Fix crash in gnutls_x509_crt_sign2 if passed a NULL issuer_key.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 1.4.2 (released 2006-08-12)
+
+** Fix a crash (strcmp() on a NULL value) in the certificate verification logic.
+This can happen if you call gnutls_certificate_verify_peers2 and have
+a certain mix of local CA certificates and the peer send special
+certificates, that together trigger certain behaviour. It is not
+known at this point whether the crash can be triggered without the
+special local CA certificate, and thus turn this into a remote crash
+of clients that verify server certificates when they talk to a server
+with the special server certificate. See GNUTLS-SA-2006-2 on
+http://www.gnu.org/software/gnutls/security.html for more up to date
+information. Reported by satyakumar &lt;satyam_kkd@hyd.hellosoft.com&gt;.
+
+** Change SRP and Cert-Type extensions to match IANA registry.
+
+** OpenCDK updated to 0.5.9 to fix some problems with OpenPGP support.
+
+** Make --without-included-libtasn1 work.
+Reported by Daniel Black &lt;dragonheart@gentoo.org&gt;.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 1.4.1 (released 2006-06-14)
+
+** Replaced inactive ifdefs to enable openpgp support in test programs.
+
+** Fixed bug in OpenPGP authentication handshake.
+
+** Fixed typographical in man pages.
+
+** Build fixes of the manual.
+
+** Added Swedish translation.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 1.4.0 (released 2006-05-15)
+
+** Remove GnuTLS 0.8.x compatibility functions.
+
+** The libgcrypt RNG is initialized in gnutls_global_init().
+
+** TLS/IA API changes from Emile van Bergen.
+A dummy credential structure is not needed now, if you wish to use the
+low-level TLS/IA API, simply call gnutls_ia_enable to enable TLS/IA on
+a session.
+
+** The self-tests are now run under valgrind, if it is installed.
+
+** Libtasn1 is updated to 0.3.4, and that version is now required.
+
+** The command line tools now use getaddrinfo and support IPv6.
+
+** API and ABI modifications:
+_gnutls_x509_get_raw_crt_activation_time,
+_gnutls_x509_get_raw_crt_expiration_time: Removed.
+gnutls_ia_require_inner_phase: Removed, replaced by gnutls_ia_enable.
+gnutls_ia_enable: Added.
+
+* Version 1.3.5 (released 2006-03-08)
+
+** Error messages are now translated using GNU Gettext.
+
+** The function gnutls_x509_crt_to_xml now return an internal error.
+This means that the code to convert X.509 certificates to XML format
+does not work any more. The reason is that the function called
+libtasn1 internal functions. It seems unclean for libtasn1 to export
+the APIs needed here. Instead it would be better to implement XML
+support inside libtasn1 properly. If you need this functionality
+strongly, please consider looking into implementing this suggested
+approach instead. As a workaround, you may also modify lib/x509/xml.c
+(change '#if 1' to '#if 0') and build using --with-included-libtasn1.
+
+** Libraries are now built with libtool's -no-undefined.
+This helps producing libraries for Windows using mingw32.
+
+** Doc fixes to explain that gnutls_record_send can block.
+
+** Libtasn1 0.3.1 or later is now required.
+The include copy has been updated too.
+
+** gnutls-cli can now recognize services and port numbers with the -p option.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 1.3.4 (released 2006-02-09)
+
+** Fix read of out bounds bug in DER parser.
+Reported by Evgeny Legerov &lt;admin@gleg.net&gt;, and debugging help from
+Protover SSL. Libtasn1 0.2.18 is now required, which contains the
+previous bug fix. The included libtasn1 version in GnuTLS has been
+updated.
+
+** Fixed bug in non-blocking gnutls_bye(). gnutls_record_send() will no
+longer invalidate a session if the underlying send fails, but it will
+prevent future writes. That is to allow reading the already received data.
+Patches and bug reports by Yoann Vandoorselaere &lt;yoann@prelude-ids.org&gt;
+
+** Corrected bugs in gnutls_certificate_set_x509_crl() and
+gnutls_certificate_set_x509_trust(), that caused memory corruption if
+more than one certificates were added. Report and patch by Max Kellermann.
+
+** Fix build problems of OpenCDK on AIX.
+Thanks to "Heiden, John" &lt;JHeiden@UTNet.UToledo.Edu&gt;.
+
+** API and ABI modifications:
+No changes since last version.
+
+* Version 1.3.3 (released 2006-01-12)
+
+** New API to access the TLS master secret.
+When possible, you should use the TLS PRF functions instead.
+Suggested by Jouni Malinen &lt;jkmaline@cc.hut.fi&gt;.
+
+** Improved handling when multiple libraries use GnuTLS at the same time.
+Now gnutls_global_init() can be called multiple times, and
+gnutls_global_deinit() will only deallocate the structure when it has
+been called as many times as gnutls_global_init() was called.
+
+** Added a self test of TLS resume functionality.
+
+** Fix crash in TLS resume code, caused by TLS/IA changes.
+
+** Documentation fixes about thread unsafety, prompted by
+** discussion with bryanh@giraffe-data.com (Bryan Henderson).
+In particular, gnutls_global_init() and gnutls_global_deinit() are not
+thread safe. Careful callers may want to protect the call using a
+mutex. The problem could also be ignored, which would cause a memory
+leak under rare conditions when two threads invoke the function
+roughly at the same time.
+
+** Add 'const' keywords in various places, from Frediano ZIGLIO.
+
+** The code was indented again, including the external header files.
+
+** API and ABI modifications:
+New functions to retrieve the master secret value:
+ gnutls_session_get_master_secret
+
+Add a 'const' keyword to existing API:
+ gnutls_x509_crq_get_challenge_password
+
+* Version 1.3.2 (released 2005-12-15)
+
+** GnuTLS now support TLS Inner application (TLS/IA).
+This is per draft-funk-tls-inner-application-extension-01. This
+functionality is added to libgnutls-extra, so it is licensed under the
+GNU General Public License.
+
+** New APIs to access the TLS Pseudo-Random-Function (PRF).
+The PRF is used by some protocols building on TLS, such as EAP-PEAP
+and EAP-TTLS. One function to access the raw PRF and one to access
+the PRF seeded with the client/server random fields are provided.
+Suggested by Jouni Malinen &lt;jkmaline@cc.hut.fi&gt;.
+
+** New APIs to acceess the client and server random fields in a session.
+These fields can be useful by protocols using TLS. Note that these
+fields are typically used as input to the TLS PRF, and if this is your
+intended use, you should use the TLS PRF API that use the
+client/server random field directly. Suggested by Jouni Malinen
+&lt;jkmaline@cc.hut.fi&gt;.
+
+** Internal type cleanups.
+The uint8, uint16, uint32 types have been replaced by uint8_t,
+uint16_t, uint32_t. Gnulib is used to guarantee the presence of
+correct types on platforms that lack them. The uint type have been
+replaced by unsigned.
+
+** API and ABI modifications:
+New functions to invoke the TLS Pseudo-Random-Function (PRF):
+ gnutls_prf
+ gnutls_prf_raw
+
+New functions to retrieve the session's client and server random values:
+ gnutls_session_get_server_random
+ gnutls_session_get_client_random
+
+New function, to perform TLS/IA handshake:
+ gnutls_ia_handshake
+
+New function to decide whether to do a TLS/IA handshake:
+ gnutls_ia_handshake_p
+
+New functions to allocate a TLS/IA credential:
+ gnutls_ia_allocate_client_credentials
+ gnutls_ia_free_client_credentials
+ gnutls_ia_allocate_server_credentials
+ gnutls_ia_free_server_credentials
+
+New functions to handle the AVP callback:
+ gnutls_ia_set_client_avp_function
+ gnutls_ia_set_client_avp_ptr
+ gnutls_ia_get_client_avp_ptr
+ gnutls_ia_set_server_avp_function
+ gnutls_ia_set_server_avp_ptr
+ gnutls_ia_get_server_avp_ptr
+
+New functions, to toggle TLS/IA application phases:
+ gnutls_ia_require_inner_phase
+
+New function to mix session keys with inner secret:
+ gnutls_ia_permute_inner_secret
+
+Low-level API (used internally by gnutls_ia_handshake):
+ gnutls_ia_endphase_send
+ gnutls_ia_send
+ gnutls_ia_recv
+
+New functions that can be used after successful TLS/IA negotiation:
+ gnutls_ia_generate_challenge
+ gnutls_ia_extract_inner_secret
+
+Enum type with TLS/IA modes:
+ gnutls_ia_mode_t
+
+Enum type with TLS/IA packet types:
+ gnutls_ia_apptype_t
+
+Enum values for TLS/IA alerts:
+ GNUTLS_A_INNER_APPLICATION_FAILURE
+ GNUTLS_A_INNER_APPLICATION_VERIFICATION
+
+New error codes, to signal when an application phase has finished:
+ GNUTLS_E_WARNING_IA_IPHF_RECEIVED
+ GNUTLS_E_WARNING_IA_FPHF_RECEIVED
+
+New error code to signal TLS/IA verify failure:
+ GNUTLS_E_IA_VERIFY_FAILED
+
+* Version 1.3.1 (released 2005-12-08)
+
+** Support for DHE-PSK cipher suites has been added.
+This method offers perfect forward secrecy.
+
+** Fix gnutls-cli STARTTLS hang when SIGINT is sent too quickly, thanks to
+Otto Maddox &lt;ottomaddox@fastmail.fm&gt; and Nozomu Ando &lt;nand@mac.com&gt;.
+
+** Corrected a bug in certtool for 64 bit machines. Reported
+by Max Kellermann &lt;max@duempel.org&gt;.
+
+** New function to set a X.509 private key and certificate pairs, and/or
+CRLs, from an PKCS#12 file, suggested by Emile van Bergen
+&lt;emile@e-advies.nl&gt;.
+
+The integrity of the PKCS#12 file is protected through a password
+based MAC; public-key based signatures for integrity protection are
+not supported. PKCS#12 bags may be encrypted using password derived
+symmetric keys, public-key based encryption is not supported. The
+PKCS#8 keys may be encrypted using passwords. The API use the same
+password for all operations. We believe that any more flexibility
+create too much complexity that would hurt overall security, but may
+add more PKCS#12 related APIs if real-world experience indicate
+otherwise.
+
+** gnutls_x509_privkey_import_pkcs8 now accept unencrypted PEM PKCS#8 keys,
+reported by Emile van Bergen &lt;emile@e-advies.nl&gt;.
+This will enable "certtool -k -8" to parse those keys.
+
+** Certtool now generate keys in unencrypted PKCS#8 format for empty passwords.
+Use "certtool -p -8" and press press enter at the prompt. Earlier,
+certtool would have encrypted the key using an empty password.
+
+** Certtool now accept --password for --key-info and encrypted PKCS#8 keys.
+Earlier it would have prompted the user for it, even if --password was
+supplied.
+
+** Added self test of PKCS#8 parsing.
+Unencrypted and encrypted (pbeWithSHAAnd3-KeyTripleDES-CBC and
+pbeWithSHAAnd40BitRC2-CBC) formats are tested. The test is in
+tests/pkcs8.
+
+** API and ABI modifications:
+New function to set X.509 credentials from a PKCS#12 file:
+ gnutls_certificate_set_x509_simple_pkcs12_file
+
+New gnutls_kx_algorithm_t enum type:
+ GNUTLS_KX_DHE_PSK
+
+New API to return session data (basically same as gnutls_session_get_data):
+ gnutls_session_get_data2
+
+New API to set PSK Diffie-Hellman parameters:
+ gnutls_psk_set_server_dh_params
+
+* Version 1.3.0 (2005-11-15)
+
+** Support for TLS Pre-Shared Key (TLS-PSK) ciphersuites have been added.
+This add several new APIs, see below. Read the updated manual for
+more information. A new self test "pskself" has been added, that will
+test this functionality.
+
+** The session resumption data are now system independent.
+
+** The code has been re-indented to conform to the GNU coding style.
+
+** Removed the RIPEMD ciphersuites.
+
+** Added a discussion of the internals of gnutls in manual.
+
+** Fixes for Tru64 UNIX 4.0D that lack MAP_FAILED, from Albert Chin.
+
+** Remove trailing comma in enums, for IBM C v6, from Albert Chin.
+
+** Make sure config.h is included first in a few files, from Albert Chin.
+
+** Don't use C++ comments ("//") as they are invalid, from Albert Chin.
+
+** Don't install SRP programs and man pages if --disable-srp-authentication,
+from Albert Chin.
+
+** API and ABI modifications:
+New gnutls_kx_algorithm_t key exchange type: GNUTLS_KX_PSK
+
+New gnutls_credentials_type_t credential type:
+ GNUTLS_CRD_PSK
+
+New credential types:
+ gnutls_psk_server_credentials_t
+ gnutls_psk_client_credentials_t
+
+New functions to allocate PSK credentials:
+ gnutls_psk_allocate_client_credentials
+ gnutls_psk_free_client_credentials
+ gnutls_psk_free_server_credentials
+ gnutls_psk_allocate_server_credentials
+
+New enum type for PSK key flags:
+ gnutls_psk_key_flags
+
+New function prototypes for credential callback:
+ gnutls_psk_client_credentials_function
+ gnutls_psk_server_credentials_function
+
+New function to set PSK username and key:
+ gnutls_psk_set_client_credentials
+
+New function to set PSK passwd file:
+ gnutls_psk_set_server_credentials_file
+
+New function to extract PSK user in server:
+ gnutls_psk_server_get_username
+
+New functions to set PSK callback:
+ gnutls_psk_set_server_credentials_function
+ gnutls_psk_set_client_credentials_function
+
+Use size_t instead of int for output size parameter:
+ gnutls_srp_base64_encode
+ gnutls_srp_base64_decode
+
+* Version 1.2.11 (2006-05-11)
+- The function gnutls_x509_crt_to_xml is not supported any more, and
+ return an internal error. The reason is that the function called
+ internal libtasn1 functions which are no longer exported from
+ libtasn1.
+- Updated libtasn1 requirement to 0.3.4 and refreshed internal mintiasn1.
+- Updated gnulib compatibility files.
+- Fixed _gnutls_x509_get_raw_crt_expiration_time and
+ _gnutls_x509_get_raw_crt_activation_time to return (time_t)-1 on errors.
+- API and ABI modifications:
+ No changes since last version.
+
+* Version 1.2.10 (2006-02-09)
+- Fix read out bounds bug in DER parser. Reported by Evgeny Legerov
+ &lt;admin@gleg.net&gt;, and debugging help from Protover SSL.
+- Libtasn1 0.2.18 is now required (contains the previous bug fix).
+ The included version has been updated too.
+- Fix gnutls-cli STARTTLS hang when SIGINT is sent too quickly, thanks to
+ Otto Maddox &lt;ottomaddox@fastmail.fm&gt; and Nozomu Ando &lt;nand@mac.com&gt;.
+- Corrected a bug in certtool for 64 bit machines. Reported
+ by Max Kellermann &lt;max@duempel.org&gt;.
+- Corrected bugs in gnutls_certificate_set_x509_crl() and
+ gnutls_certificate_set_x509_trust(), that caused memory corruption if
+ more than one certificates were added. Report and patch by Max Kellermann.
+- Fixed bug in non-blocking gnutls_bye(). gnutls_record_send() will no
+ longer invalidate a session if the underlying send fails, but it will
+ prevent future writes. That is to allow reading the already received data.
+ Patches and bug reports by Yoann Vandoorselaere &lt;yoann@prelude-ids.org&gt;
+
+* Version 1.2.9 (2005-11-07)
+- Documentation was updated and improved.
+- RSA-MD2 is now supported for verifying digital signatures.
+- Due to cryptographic advances, verifying untrusted X.509
+ certificates signed with RSA-MD2 or RSA-MD5 will now fail with a
+ GNUTLS_CERT_INSECURE_ALGORITHM verification output. For
+ applications that must remain interoperable, you can use the
+ GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD2 or GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5
+ flags when verifying certificates. Naturally, this is not
+ recommended default behaviour for applications. To enable the
+ broken algorithms, call gnutls_certificate_set_verify_flags with the
+ proper flag, to change the verification mode used by
+ gnutls_certificate_verify_peers2.
+- Make it possible to send empty data through gnutls_record_send,
+ to align with the send(2) API.
+- Some changes in the certificate receiving part of handshake to prevent
+ some possible errors with non-blocking servers.
+- Added numeric version symbols to permit simple CPP-based feature
+ tests, suggested by Daniel Stenberg &lt;daniel@haxx.se&gt;.
+- The (experimental) low-level crypto alternative to libgcrypt used
+ earlier (Nettle) has been replaced with crypto code from gnulib.
+ This leads to easier re-use of these components in other projects,
+ leading to more review and simpler maintenance. The new configure
+ parameter --with-builtin-crypto replace the old --with-nettle, and
+ must be used if you wish to enable this functionality. See README
+ under "Experimental" for more information. Internally, GnuTLS has
+ been updated to use the new "Generic Crypto" API in gl/gc.h. The
+ API is similar to the old crypto/gc.h, because the gnulib code were
+ based on GnuTLS's gc.h.
+- Fix compiler warning in the "anonself" self test.
+- API and ABI modifications:
+gnutls_x509_crt_list_verify: Added 'const' to prototype in &lt;gnutls/x509.h&gt;.
+ This doesn't reflect a change in behaviour,
+ so we don't break backwards compatibility.
+GNUTLS_MAC_MD2: New gnutls_mac_algorithm_t value.
+GNUTLS_DIG_MD2: New gnutls_digest_algorithm_t value.
+GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD2,
+GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5: New gnutls_certificate_verify_flags values.
+ Use when calling
+ gnutls_x509_crt_list_verify,
+ gnutls_x509_crt_verify, or
+ gnutls_certificate_set_verify_flags.
+GNUTLS_CERT_INSECURE_ALGORITHM: New gnutls_certificate_status_t value,
+ used when broken signature algorithms
+ is used (currently RSA-MD2/MD5).
+LIBGNUTLS_VERSION_MAJOR,
+LIBGNUTLS_VERSION_MINOR,
+LIBGNUTLS_VERSION_PATCH,
+LIBGNUTLS_VERSION_NUMBER: New CPP symbols, indicating the GnuTLS
+ version number, can be used for feature existence
+ tests.
+
+* Version 1.2.8 (2005-10-07)
+- Libgcrypt 1.2.2 is required to fix a bug for forking GnuTLS servers.
+- Don't install the auxilliary libexamples library used by the
+ examples in doc/examples/ on "make install", report and tiny patch
+ from Thomas Klausner &lt;tk@giga.or.at&gt;.
+- If you pass a X.509 CA or PGP trust database to the command line
+ tool, it will now abort the connection if the server certificate
+ validation fails. Use the parameter --insecure to continue even
+ after certificate validation failures. Inspired from discussion
+ with Alexander Kotelnikov &lt;sacha@myxomop.com&gt;.
+- The test for socklen_t has been moved to gnulib.
+- Link failures for duplicate or missing "program_name" symbol has been fixed,
+ patch from Martin Lambers &lt;marlam@marlam.de&gt;.
+- The command line tool and the examples no longer uses mmap or bzero,
+ to make them more portable, patch from Martin Lambers
+ &lt;marlam@marlam.de&gt;.
+- Made the PKCS #12 API handle null passwords. Based on patch by
+ Anton Altaparmakov &lt;aia21@cam.ac.uk&gt;.
+- The GTK-DOC manual should build with current released tools.
+ (But a copy of the output is included, so the tools are not required.)
+- The inet_ntop function is now used through gnulib.
+- API and ABI modifications:
+ No changes since last version.
+
+* Version 1.2.7 (2005-09-09)
+- The GnuTLS and GnuTLS-extra libraries are now built with versioned symbols.
+- Certtool now complains when reading out-of-range X.509 serial
+ numbers, suggested by Fran &lt;e_agf@yahoo.es&gt;.
+- Certtool now uses the readline library (when available) when reading
+ X.509 serial numbers.
+- Fixed build problems in getpass on uClibc and Mingw32 platforms.
+- Fixed compile warning regarding socklen_t on Mingw32, reported by
+ Martin Lambers &lt;marlam@marlam.de&gt;.
+- Fixed examples in doc/examples/, suggested by Fran &lt;e_agf@yahoo.es&gt;.
+- Gnulib is now used for the core library, enabling future code cleanups.
+- The gnutls-cli tool now use gnutls_certificate_verify_peers2,
+ suggested by Daniel Stenberg &lt;daniel@haxx.se&gt;.
+- Doc fixes for gnutls_transport_set_push and gnutls_transport_set_pull.
+- Minilibtasn1 is now 0.2.17 (removed optional use of C99 macros).
+- Disable zlib support if zlib.h is not present.
+- A number of internal cleanups.
+- API and ABI modifications:
+ No changes since last version.
+
+* Version 1.2.6 (2005-07-16)
+- MiniLZO updated to version 2.01 and moved to separate directory.
+- Collision between system LZO header files and MiniLZO header file
+ fixed, reported by Matthias Urlichs &lt;smurf@smurf.noris.de&gt;.
+- Will now test for liblzo functionality in liblzo2 too, reported by
+ Thomas Klausner &lt;tk@giga.or.at&gt;.
+- Minilibtasn1 is now 0.2.14 (no code changes).
+- Some code changes to avoid GTK-DOC warnings.
+- API and ABI modifications:
+ No changes since last version.
+
+* Version 1.2.5 (2005-07-03)
+- More builddir != srcdir fixes, reported by Mike Castle
+ &lt;dalgoda@ix.netcom.com&gt;.
+- Fixed off-by-one bug in the size parameter of gnutls_x509_crt_get*_dn,
+ reported by Adam Langley &lt;alangley@gmail.com&gt;.
+- Corrected some stuff in minilzo detection. Pointed out by
+ Sergey Lipnevich.
+- MiniLZO updated to version 2.00.
+- gnutls_x509_crt_list_import now accept a DER formatted CRL.
+- API and ABI modifications:
+ No changes since last version.
+
+* Version 1.2.4 (2005-05-28)
+- Corrected some bugs that could affect 64 bit systems.
+- Some corrections in the header files to include the prototype
+ of memmem properly (affected 64 bit systems). Report and patch
+ by Yoann Vandoorselaere &lt;yoann@prelude-ids.org&gt;.
+- Introduced the --fix-key option to certtool, which can be used to
+ regenerate the (optional) parameters in a private key. It should
+ be used together with --key-info.
+- Corrected a bug in certificate chain verification that could lead
+ to marking a trusted chain as non trusted, if the last certificate in
+ the chain was a self signed one.
+- Gnulib portability files were updated.
+- License were updated to reflect new FSF address.
+- API and ABI modifications:
+ No changes since last version.
+
+* Version 1.2.3 (2005-04-28)
+- Corrected bug in record packet parsing that could lead
+ to a denial of service attack.
+- Corrected bug in RSA key export. Previously exported keys
+ can be fixed using certtool. Use certtool -k &lt;infile &gt;outfile
+- API and ABI modifications:
+ gnutls_x509_privkey_fix(): Add.
+
+* Version 1.2.2 (2005-04-25)
+- gnutls_error_to_alert() now considers
+ GNUTLS_E_UNEXPECTED_HANDSHAKE_PACKET.
+- Fixed error in session resuming that could cause a crash in a session.
+- Fixed pkcs12 friendly name and local key identifier decoding.
+- Internal cleanups, removed duplicate typedef/struct definitions,
+ and made source code include external include file, to check
+ function prototypes during compile time.
+- API and ABI modifications:
+ No changes since last version. At least not intentional, but due
+ to the include header changes, there may be inadvertant changes,
+ please let us know if you find any.
+
+* Version 1.2.1 (2005-04-04)
+- gnutls_bye() will no longer fail when RDWR is used and application
+ data are available for reading.
+- Added more strict checks for the SRP parameters (g,n), when they
+ are not in the included list.
+- Added warning to certtool when MD5 is being used for digital
+ signatures.
+- Optimizations ("-O2 -finline-functions") are not enabled by default,
+ instead the standard autoconf defaults are used. Use `./configure
+ CFLAGS="-O2 -finline-functions"' to get the old optimizations.
+- Added the option --get-dh-params to certtool, in order to get the
+ parameters included in the library primes and generators.
+- Improved the semantics of GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT, to
+ allow only trusted Version 1 CAs and introduced
+ GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT which has the old semantics.
+- Nettle self tests now build properly, reported by Pierre
+ &lt;pierre42d@9online.fr&gt;.
+- Eliminated some memory leaks in DHE and RSA-EXPORT cipher suites.
+ Reported by Yoann Vandoorselaere &lt;yoann@prelude-ids.org&gt;.
+- If the library has been compiled with features disabled, a warning is
+ issued during the compilation of any program.
+- API and ABI modifications:
+ gnutls_x509_crt_list_import(): Add
+ gnutls_x509_crq_get_attribute_by_oid(): Add.
+ gnutls_x509_crq_set_attribute_by_oid(): Add
+ gnutls_x509_crt_set_extension_by_oid(): Add.
+ GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT: Modify semantics.
+ GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT: Add, old behaviour.
+
+* Version 1.2.0 (2005-01-27)
+- Added the definitions and OIDs for the RIPEMD-160 hash algorithm.
+- Introduced gnutls_x509_crt_sign2(), gnutls_x509_crq_sign2() and
+ gnutls_x509_crl_sign2().
+- Fixed license header in source code files.
+
+* Version 1.1.23 (2005-01-18)
+- It is now possible to generate PKCS#12 structures without private
+ keys using "certtool --to-p12", suggested by Fabian Fagerholm
+ &lt;fabbe@paniq.net&gt;.
+- Certtool now prints information for the RSA and DSA parameters of
+ certificates and private keys.
+- Corrected the write of CRL distribution points.
+- The certificate chain verification function now checks certificates
+ in the reverse order to minimize the spent resources.
+- Corrected several bugs found by Marcin Garski &lt;mgarski@post.pl&gt;
+- The functions gnutls_x509_crl_get_issuer_dn, gnutls_x509_crq_get_dn,
+ gnutls_x509_crt_get_issuer_dn, gnutls_x509_crt_get_dn, and
+ gnutls_x509_rdn_get now set *sizeof_buf to the buffer length that is
+ required, instead of the string length. That is, the value has been
+ incremented by 1 to account for the terminating zero. Reported by
+ Martin Lambers &lt;marlam@web.de&gt;.
+- Debug output shouldn't crash on platforms that doesn't handle NULL
+ printf %s values. Reported by Michael.Ringe@aachen.utimaco.de.
+- Sync included copy of libtasn1 with version 0.2.13.
+- Client X.509 authenticated connections via gnutls-cli should now work again.
+
+* Version 1.1.22 (2004-11-04)
+- Replace GNU LD version script with Libtool -export-symbols-regex,
+ from Joe Orton &lt;joe@manyfish.co.uk&gt;.
+- Documentation improvements.
+- Code indented using 'indent -i4 -kr'.
+- The API manual is included in Devhelp format. (Was in last release too,
+ but the NEWS entry was forgotten.)
+- The OpenSSL compatibility code now use the internal crypto interface.
+- Added simple self test of OpenSSL compatibility library.
+- Internally, libtool convenience libraries are used.
+- Cleanups to configure.ac.
+
+* Version 1.1.21 (2004-10-27)
+- Print DN of certificates with unknown characters in them, but in hexform
+ only.
+- Added second precision to the X.509 parsing and generation functions.
+- Corrected bug in _gnutls_x509_get_dn_oid(), and returns the
+ actual OID.
+- Add parameter --la-file to libgnutls-config and libgnutls-extra-config,
+ tiny patch contributed by Joe Orton &lt;joe@manyfish.co.uk&gt;.
+- Add pkg-config meta files, suggested by Stéphane LOEUILLET
+ &lt;stephane.loeuillet@tiscali.fr&gt;.
+- Fix memory initializaion bug in gnutls_certificate_set_x509_trust,
+ tiny patch by Aleix Conchillo Flaque &lt;aleix@member.fsf.org&gt;.
+- Add self test of PKCS#12 functionality in "certtool", based on test
+ vectors from Joe Orton &lt;joe@manyfish.co.uk&gt;.
+- Fix library order in libgnutls*-config --libs output, to permit
+ static linking, reported by Yoann Vandoorselaere
+ &lt;yoann@prelude-ids.org&gt;.
+
+* Version 1.1.20 (2004-10-12)
+- Fix compile problem in gl/getpass.c on some systems.
+
+* Version 1.1.19 (2004-10-07)
+- Fix memory leak in gnutls_certificate_verify_peers and
+ gnutls_certificate_free_credentials, report and patch by Simon
+ Posnjak &lt;simon.posnjak@cetrtapot.si&gt;.
+- Fix crash in `certtool --to-p12 --load-privkey foo', i.e. exporting
+ a key and no certificate to PKCS#12.
+- Fix objdir != srcdir builds, reported by "Gerrit P. Haase"
+ &lt;gp@familiehaase.de&gt;.
+- Fixes faulty getpass implementation in libextra/opencdk/, reported
+ by Yoann Vandoorselaere &lt;yoann@prelude-ids.org&gt;.
+- Uses memmem instead of strnstr in lib/.
+- Using more GNULib portability files, although not yet inside lib/.
+- Added gnutls_certificate_verify_peers to gnutls/compat.h.
+ Nikos deprecated gnutls_certificate_verify_peers in favor of
+ gnutls_certificate_verify_peers2 earlier in the 1.1 branch.
+- Improvements to the manual.
+- Add new example "ex-rfc2818" for certificate verification, from Nikos.
+- Known bug: the library require snprintf. This has not yet been
+ fixed, but will be handled via GNULib later on.
+
+* Version 1.1.18 (2004-08-24)
+- Corrected handling of certificate with dates after year 2038.
+- Corrected DER decoder which could incorrectly treat input as BER and fail.
+- Correct certtool --smime-to-p7 end of line character handling.
+- Added example client and server for anonymous authentication.
+- Added self test that tests anonymous TLS client and server.
+- Added self tests of Nettle and generic crypto layer.
+- Added API reference manual in HTML format in doc/reference/ using GTK-DOC.
+ Online version at &lt;http://www.gnu.org/software/gnutls/reference/&gt;.
+- Assume C89 or better; removed checks for size_t, ptrdiff_t and time_t.
+- Man pages for API functions are included.
+
+* Version 1.1.17 (2004-08-18)
+- Bug fix of padding string in RSA PKCS#1 v1.5 type 2 encryption,
+ reported by Robey Pointer &lt;robey@danger.com&gt;.
+- Generic crypto interface for secret key ciphers, hashes and randomness added.
+ See section "Experimental" within section "COMPILATION ISSUES" in README.
+- Removed length limit on passwords read by 'certtool'.
+- Documentation fixes.
+
+* Version 1.1.16 (2004-08-15)
+- Fix missing gnulib linker parameter when building certtool.
+- Add gnulib module 'progname', needed by module 'error'.
+- Improve building with srcdir != objdir.
+
+* Version 1.1.15 (2004-08-15)
+- Certtool has simplistic --smime-to-p7 to translate RFC 2633 messages into
+ PKCS #7 format.
+- Ported to Mac OS X / Darwin.
+- Ported to FreeBSD.
+
+* Version 1.1.14 (2004-08-09)
+- Documentation converted to Texinfo format.
+- Bug fix of test suite.
+- Configure now print build information, used by Autobuild.
+
+* Version 1.1.13 (2004-08-05)
+- Added simple self test suite.
+
+* Version 1.1.12 (2004-08-02)
+- Updated the SRP authentication to conform to the
+ latest (yet unreleased) draft. Unfortunately this breaks
+ compatibility with previous versions.
+- Changed the makefiles to be more portable.
+- SRP ciphersuites were moved to the gnutls library.
+- Added some default limits in the verification of certificate
+ chains, to avoid denial of service attacks. Also added
+ gnutls_certificate_set_verify_limits() to override them.
+ Issue pointed out by Patrik Hornik &lt;patrik@hornik.sk&gt;.
+- Added gnutls_certificate_verify_peers2().
+
+* Version 1.1.11 (2004-07-16)
+- Added the '_t' suffix to all exported symbols.
+- Fixed bug in RSA encryption, report and patch by Martijn Koster
+ &lt;mak@greenhills.co.uk&gt;.
+- Corrected a bug in certificate verification. Pointed out by
+ Yoann Vandoorselaere &lt;yoann@prelude-ids.org&gt;
+- Added the GNUTLS_VERIFY_DO_NOT_ALLOW_SAME flags to the
+ verification functions.
+- The ephemeral DH and RSA parameters are no longer stored in the
+ session resume DB.
+- Do not free the SRP (prime and generator) parameters obtained from the
+ callback if they are the static ones defined in extra.h
+- Eliminated some memory leaks. Reported by Yoann Vandoorselaere.
+
+* Version 1.1.10 (2004-06-12)
+- Added gnutls_sign_algorithm_get_name() and gnutls_pk_algorithm_get_name()
+- Corrected bug in TLS renegotiation.
+- Corrected bug in OpenPGP key loading using a callback.
+- gnutls-srpcrypt was renamed to srptool
+- Allow handshake requests by the client.
+- Automatically disable certificate types that do not have corresponding
+ certificates.
+- Added gnutls_auth_client_get_type() and gnutls_auth_server_get_type()
+- Opencdk library is being included if not found.
+- certtool can now add ip address SAN extension.
+- certtool has now support for more X.520 DN attribute types.
+- Better handling of EOF in gnutls_record_recv().
+- _gnutls_deinit() is no longer used. Sessions are not
+ automatically removed any more, on abnormal termination.
+- Corrected session resuming in SRP ciphersuites.
+- Updated to conform to the latest srp draft (draft-ietf-tls-srp-07)
+- Added new functions to allow access to the ephemeral
+ Diffie Hellman parameters.
+- Added the functions gnutls_x509_crt_get_pk_rsa_raw() and
+ gnutls_x509_crt_get_pk_dsa_raw() to retrieve parameters from certificates.
+- Added the functions gnutls_dh_get_group(), gnutls_dh_get_pubkey() and
+ gnutls_rsa_export_get_pubkey() to retrieve parameters of the DH or
+ RSA-EXPORT key exchange.
+- Some fixes in the session resuming code.
+- Added gnutls_openpgp_keyring_check_id().
+
+* Version 1.1.9 (2004-04-14)
+- Added support for authority key identifier and the extended key usage
+ X.509 extension fields. The certtoool was updated to support them.
+- The RC2 cipher is no more included. The one in libgcrypt is now used.
+- Added batch support to certtool. Now it can use templates.
+
+* Version 1.1.8 (2004-04-07)
+- Implemented all the tests for the SRP group parameters in
+ client side. This may lead to incompatibility with very
+ old gnutls servers.
+- Corrected bug in RSA parameters handling which could cause
+ unexpected crashes.
+- Optimized the copying of rsa_params.
+
+* Version 1.1.7 (2004-03-29)
+- Added gnutls_certificate_set_params_function() and
+ gnutls_anon_set_params_function() that set the RSA or DH
+ parameters using a callback.
+- Added functions gnutls_rsa_params_cpy(), gnutls_dh_params_cpy()
+ and gnutls_x509_privkey_cpy().
+- Corrected a compilation issue when opencdk was installed in a
+ non standard directory.
+- Deprecated: gnutls_srp_server_set_select_function(),
+ gnutls_certificate_client_set_select_function(), gnutls_srp_server_set_select_function().
+
+* Version 1.1.6 (2004-02-24)
+- Several bug fixes, by Arne Thomassen.
+- Fixed a bug where 'server name' extension was always sent.
+
+* Version 1.1.5 (2004-01-06)
+- Added the gnutls_sign_algorithm type.
+
+* Version 1.1.4 (2004-01-04)
+- Improved gnutls-cli's SRP behaviour in SRP ciphersuites.
+ If they are of highest priority then the abbreviated handshake
+ is used.
+- Removed all references of missing files.
+- Changed handshake behaviour to send the lowest TLS version
+ when an unsupported version was advertized. The current behaviour
+ is to send the maximum version we support.
+- Corrected problem printing the DC attributes in a DN.
+
+* Version 1.1.3 (2003-12-30)
+- Implemented TLS 1.1 (and also obsoleted the TLS 1.0 CBC protection
+ hack).
+
+* Version 1.1.2 (2003-12-28)
+- Added CRL verification functionality to certtool.
+- Corrected the CRL distribution point extension handling.
+
+* Version 1.1.1 (2003-12-26)
+- Added PKCS #7 support to certtool utility.
+- Added support for reading and generating CRL distribution
+ points extensions in certificates.
+- Added support for generating CRLs in the library and the
+ certtool utility.
+- Added support for the Subject Key ID PKIX extension.
+
+* Version 1.1.0 (2003-12-21)
+- The error codes GNUTLS_E_NO_TEMPORARY_DH_PARAMS and GNUTLS_E_NO_TEMPORARY_RSA_PARAMS
+ are no longer returned by the handshake function. Ciphersuites that
+ require temporary parameters are removed when such parameters do not exist.
+- Added the callbacks gnutls_certificate_client_retrieve_function() and
+ gnutls_certificate_server_retrieve_function(), to allow a client or a server
+ to specify certificates for the handshake without storing them to the
+ credentials structure.
+- Added support for generating and exporting DSA private keys.
+- Added gnutls_x509_crt_set_key_usage() and certtool can now set the
+ certificate's key usage.
+- Added gnutls_openpgp_key_get_key_usage().
+
+* Version 1.0.25 (2005-04-27)
+- Corrected bug in record packet parsing that could lead
+ to a denial of service attack.
+- Corrected bug in RSA key export.
+
+* Version 1.0.24 (2005-01-18)
+- Corrected several bugs found by Marcin Garski &lt;mgarski@post.pl&gt;
+
+* Version 1.0.23 (2004-11-13)
+- Replace GNU LD version script with Libtool -export-symbols-regex,
+ from Joe Orton &lt;joe@manyfish.co.uk&gt;.
+- Copy libtasn1 has been updated to version 0.2.11.
+- Corrected the write of CRL distribution points.
+- It is now possible to generate PKCS#12 structures without private
+ keys using "certtool --to-p12", suggested by Fabian Fagerholm
+ &lt;fabbe@paniq.net&gt;.
+
+* Version 1.0.22 (2004-10-28)
+- Print DN of certificates with unknown characters in them, but in hexform
+ only.
+- Corrected bug in _gnutls_x509_get_dn_oid(), and returns the
+ actual OID.
+- Added second precision to the X.509 parsing functions.
+- Add parameter --la-file to libgnutls-config and libgnutls-extra-config,
+ tiny patch contributed by Joe Orton &lt;joe@manyfish.co.uk&gt;.
+- Add pkg-config meta files, suggested by Stéphane LOEUILLET
+ &lt;stephane.loeuillet@tiscali.fr&gt;.
+- Fix memory initializaion bug in gnutls_certificate_set_x509_trust,
+ tiny patch by Aleix Conchillo Flaque &lt;aleix@member.fsf.org&gt;.
+- Fix certtool --password for PKCS #12, back ported from 1.1.x branch.
+- Fix library order in libgnutls*-config --libs output, to permit
+ static linking, reported by Yoann Vandoorselaere
+ &lt;yoann@prelude-ids.org&gt;.
+
+* Version 1.0.21 (2004-10-07)
+- Fix memory leak in gnutls_certificate_verify_peers and
+ gnutls_certificate_free_credentials, report and patch by Simon
+ Posnjak &lt;simon.posnjak@cetrtapot.si&gt;.
+- Fix crash in `certtool --to-p12 --load-privkey foo', i.e. exporting
+ a key and no certificate to PKCS#12.
+- Fix objdir != srcdir builds, reported by "Gerrit P. Haase"
+ &lt;gp@familiehaase.de&gt;.
+- Avoid redefining getpass if system already has it, reported by
+ Yoann Vandoorselaere &lt;yoann@prelude-ids.org&gt;.
+- Add new example "ex-rfc2818" for certificate verification, from Nikos.
+- Known bug: the library require snprintf.
+
+* Version 1.0.20 (2004-08-18)
+- Bug fix of padding string in RSA PKCS#1 v1.5 type 2 encryption,
+ reported by Robey Pointer &lt;robey@danger.com&gt;.
+
+* Version 1.0.19 (2004-08-09)
+- Bug fix of test suite.
+
+* Version 1.0.18 (2004-08-05)
+- Added simple self test suite.
+
+* Version 1.0.17 (2004-08-02)
+- Updated the SRP authentication to conform to the
+ latest (yet unreleased) draft. Unfortunately this breaks
+ compatibility with previous versions.
+- Changed the makefiles to be more portable.
+- Added some default limits in the verification of certificate
+ chains, to avoid denial of service attacks. Also added
+ gnutls_certificate_set_verify_limits() to override them.
+ Issue pointed out by Patrik Hornik &lt;patrik@hornik.sk&gt;.
+- Added gnutls_certificate_verify_peers2().
+
+* Version 1.0.16 (2004-07-10)
+- Do not free the SRP (prime and generator) parameters obtained from the
+ callback if they are the static ones defined in extra.h.
+- Eliminated some memory leaks. Reported by Yoann Vandoorselaere.
+- Some fixes in the makefiles.
+
+* Version 1.0.15 (2004-06-29)
+- Fixed bug in RSA encryption, report and patch by Martijn Koster
+ &lt;mak@greenhills.co.uk&gt;.
+- Corrected a bug in certificate verification. Pointed out by
+ Yoann Vandoorselaere &lt;yoann@prelude-ids.org&gt;.
+
+* Version 1.0.14 (2004-06-12)
+- Automatically disable certificate types that do not have corresponding
+ certificates.
+- Updates in the documentation.
+- certtool can now add ip address SAN extension.
+- certtool has now support for more X.520 DN attribute types.
+- Opencdk library is being included if not found.
+- Added gnutls_openpgp_keyring_check_id().
+- Corrected a serious bug in the included libtasn1 library.
+- Corrected session resuming in SRP ciphersuites.
+- Updated to conform to the latest srp draft (draft-ietf-tls-srp-07)
+- Added the functions gnutls_x509_crt_get_pk_rsa_raw() and
+ gnutls_x509_crt_get_pk_dsa_raw() to retrieve parameters from certificates.
+- Some fixes in the session resuming code.
+
+* Version 1.0.13 (2004-04-29)
+- Some complilation fixes.
+- Added the --xml parameter to the certtool utility.
+
+* Version 1.0.12 (2004-04-23)
+- Corrected bug in OpenPGP key loading using a callback.
+- Renamed gnutls-srpcrypt to srptool
+- Allow handshake requests by the client.
+* Things backported from the development branch:
+- Added support for authority key identifier and the extended key usage
+ X.509 extension fields. The certtoool was updated to support them.
+- Added batch support to certtool. Now it can use templates.
+- The RC2 cipher is no more included. The one in libgcrypt is now used.
+
+* Version 1.0.11 (2004-04-17)
+- Added gnutls_sign_algorithm_get_name() and gnutls_pk_algorithm_get_name()
+- Corrected bug in TLS renegotiation.
+
+* Version 1.0.10 (2004-04-03)
+- Corrected bug in RSA parameters handling which could cause
+ unexpected crashes.
+- Corrected bug in SSL 3.0 authentication.
+
+* Version 1.0.9 (2004-03-29)
+- Added gnutls_certificate_set_params_function() and
+ gnutls_anon_set_params_function() that set the RSA or DH
+ parameters using a callback.
+- Added functions gnutls_rsa_params_cpy(), gnutls_dh_params_cpy()
+ and gnutls_x509_privkey_cpy().
+- Corrected a compilation issue when opencdk was installed in a
+ non standard directory.
+- Documented the changes need in multi-threaded application due
+ to the new libgcrypt.
+
+* Version 1.0.8 (2004-02-28)
+- Corrected bug in mutual certificate authentication in SSL 3.0.
+
+* Version 1.0.7 (2004-02-25)
+- Implemented TLS 1.1 (and also obsoleted the TLS 1.0 CBC protection
+ hack).
+- Some updates in the documentation.
+
+* Version 1.0.6 (2004-02-12)
+* Backported things from the development branch (while maintaining
+ backwards compatibility):
+- Improved gnutls-cli's SRP behaviour in SRP ciphersuites.
+ If they are of highest priority then the abbreviated handshake
+ is used.
+- The error codes GNUTLS_E_NO_TEMPORARY_DH_PARAMS and GNUTLS_E_NO_TEMPORARY_RSA_PARAMS
+ are no longer returned by the handshake function. Ciphersuites that
+ require temporary parameters are removed when such parameters do not exist.
+- Added the callbacks gnutls_certificate_client_retrieve_function() and
+ gnutls_certificate_server_retrieve_function(), to allow a client or a server
+ to specify certificates for the handshake without storing them to the
+ credentials structure.
+- Added support for generating and exporting DSA private keys.
+
+* Version 1.0.5 (2004-02-11)
+- Fixed a bug where 'server name' extension was always sent.
+* Backported things from the development branch:
+- Added CRL verification functionality to certtool.
+- Corrected the CRL distribution point extension handling.
+- Added PKCS #7 support to certtool utility.
+- Added support for reading and generating CRL distribution
+ points extensions in certificates.
+- Added support for generating CRLs in the library and the
+ certtool utility.
+- Added support for the Subject Key ID PKIX extension.
+- Added the gnutls_sign_algorithm type.
+
+* Version 1.0.4 (2004-01-04)
+- Changed handshake behaviour to send the lowest TLS version
+ when an unsupported version was advertized. The current behaviour
+ is to send the maximum version we support.
+- certtool no longer asks the password in unencrypted private
+ keys.
+- The source is now compiled to use the reentrant libc functions.
+
+* Version 1.0.3 (2003-12-21)
+- Corrected bug in gnutls_bye() which made it return an error code
+ of INVALID_REQUEST instead of success.
+- Corrected a bug in the GNUTLS_KEY key usage definitions.
+
+* Version 1.0.2 (2003-12-18)
+- Corrected a bug in the RSA key generation. This was
+ generating unusable RSA keys.
+
+* Version 1.0.1 (2003-12-10)
+- Some minor fixes in the makefiles. They now include CFLAGS
+ from libgcrypt or opencdk if installed in a non standard directory.
+- Fixed the SRP detection test in gnutls-cli-debug.
+- Added gnutls_rsa_params_export_pkcs1() and gnutls_rsa_params_import_pkcs1().
+
+* Version 1.0.0 (2003-12-04)
+- Exported the static SRP group parameters.
+- Some fixes in the certificate authenticated SRP ciphersuites.
+- Improved the support for draft-ietf-tls-srp-05. The two-phase
+ handshake is now fully supported without any interaction with
+ the application layer (except for a callback).
+
+* Version 0.9.99 (2003-11-28)
+- Some fixes in the gnutls.h header for the gnutls_server_name_set()
+ and gnutls_server_name_get() prototypes.
+- Exported the gnutls_x509_privkey_sign_data(), gnutls_x509_privkey_verify_data()
+ and gnutls_x509_crt_verify_data().
+- Some fixes in the openpgp authentication.
+- Removed the Twofish cipher.
+
+* Version 0.9.98 (2003-11-16)
+- The openssl compatibility layer was moved to gnutls-openssl
+ library instead of being included in the gnutls-extra library.
+- Added the RIPEMD ciphersuites defined in draft-ietf-tls-openpgp-keys-04.
+- Building with openpgp support is now mandatory.
+- gnutls4 compatibility header is no longer included by default in
+ gnutls.h.
+- gnutls8 function usage yelds a deprecation warning in gcc3.
+- gnutls_x509_*_set_dn_by_oid() and gnutls_x509_*_get_*_dn_by_oid()
+ functions have a raw_flag parameter added.
+- Added gnutls_x509_*_get_dn_oid() and gnutls_x509_crt_get_extension_oid()
+ functions which return the available OIDs.
+
+* Version 0.9.97 (2003-11-11)
+- The certtool utility can now generate PKCS #12 structures
+ without specifying a certificate.
+- Added capability to read CRLs to certtool.
+- Corrected some functions which return GNUTLS_E_SHORT_MEMORY_BUFFER
+ to properly set the required buffer size.
+- Corrected a bug in libgcrypt detection.
+
+* Version 0.9.96 (2003-11-09)
+- Some changes to allow compilation with mingw32.
+- Several code cleanups.
+
+* Version 0.9.95 (2003-11-02)
+- Improved the verification functions. Added new verification
+ output flags and removed the unused and redundant ones.
+- Improved the OpenPGP key support.
+- The prime utility was removed, and its functionality was moved
+ to certtool.
+
+* Version 0.9.94 (2003-10-30)
+- Added manpages for the included programs.
+- Documented and improved the certtool utility.
+- Added PKCS #12 support to certtool utility.
+
+* Version 0.9.93 (2003-10-26)
+- Corrected some compilation issues.
+- Improved the certtool command line utility.
+
+* Version 0.9.92 (2003-10-25)
+- The RFC2818 hostname verification is now case insensitive.
+- Added support for generating X.509 certificates.
+- Added the certtool, a tool for generating X.509 certificates
+
+* Version 0.9.91 (2003-10-17)
+- Fixed a compilation issue in the openpgp authentication part.
+
+* Version 0.9.90 (2003-10-08)
+- Updated the openpgp key API (depends on the unreleased new
+ opencdk).
+
+* Version 0.9.8 (2003-10-02)
+- Updated the SRP implementation to follow the latest draft
+ (draft-ietf-tls-srp-05).
+- Improved the gnutls-cli behaviour in error handling,
+ and added a check for the peer's hostname.
+- Use versioned symbols in the library (where available).
+- RIJNDAEL ciphersuites were renamed to AES.
+
+* Version 0.9.7 (2003-08-25)
+- The tex files are now included in the distribution.
+- The library can now decrypt PKCS #12 files encrypted with
+ the RC2-40 cipher.
+- The missing rfc2818_hostname object is now included.
+- Several corrections and bug fixes in the library by
+ Arne Thomassen &lt;arne@arne-thomassen.de&gt;.
+- CR is now allowed in the base64 decoder.
+
+* Version 0.9.6 (2003-06-28)
+- Added gnutls_x509_privkey_get_key_id() and gnutls_x509_crt_get_key_id()
+ functions which return a unique (per public key) ID. These can
+ be used to check if the private key corresponds to a given certificate.
+- Corrections in the TLS layer openpgp certificate packet parser.
+- Corrected a bug in the record layer buffering, which affected
+ the case where external pull function was used. Report and patch
+ by Sergey Poznyakoff &lt;gray@Mirddin.farlep.net&gt;.
+- Corrected a bug in gnutls-srpcrypt where a non allocated variable
+ was freed.
+- SRP programs are now built by default.
+- Added API to read and write to PKCS #12 structures. Prototypes
+ in gnutls/pkcs12.h.
+- The gnutls_transport_ptr type was changed to a pointer type (void*).
+
+* Version 0.9.5 (2003-04-06)
+- Several improvements in the PKCS #7 handling
+- Eliminated several hard coded constants in MPI parameters.
+
+* Version 0.9.4 (2003-03-28)
+- Corrected a parsing error in the Certificate request message.
+- Corrected behaviour when a certificate request message is received.
+ Now a certificate packet is always sent, and in SSL 3.0 cipher suites
+ a no_certificate alert is sent instead.
+- Added functionality to generate PKCS #7 structures (with certificates).
+
+* Version 0.9.3 (2003-03-24)
+- Support for MD2 was dropped.
+- Improved the error logging functions, by adding a level, and
+ by allowing debugging messages just by increasing the level.
+- The diffie Hellman ciphersuites are now of higher priority than
+ the plain RSA.
+- The RSA premaster secret version check can no longer be disabled.
+- Implemented the counter measure discussed in the paper "Attacking
+ RSA-based Sessions in SSL/TLS", against the attack described in the
+ same paper.
+- Added the functions: gnutls_handshake_get_last_in(),
+ gnutls_handshake_get_last_out().
+- The gnutls_certificate_set_rsa_params() was renamed to
+ gnutls_certificate_set_rsa_export_params().
+- Added the new functions: gnutls_certificate_set_x509_key()
+ gnutls_certificate_set_x509_trust(), gnutls_certificate_set_x509_crl(),
+ gnutls_x509_crt_export(), gnutls_x509_crl_export().
+- Added support for encoding and decoding PKCS #8 2.0 encrypted
+ RSA private keys.
+
+* Version 0.9.2 (2003-03-15)
+- Some corrections in the memory mapping code (file is unmapped after
+ it is read).
+- Added support for PKCS#10 certificate requests generation.
+
+* Version 0.9.1 (2003-03-12)
+- Corrected a bug in 64 bit architectures, which affected the
+ serial number calculation in the record layer.
+- Added gnutls_certificate_free_keys() which deletes all the
+ private keys and certificates from the credentials structure.
+- Corrected a broken buffer check in _gnutls_io_read_buffered(),
+ which caused some unexpected packet length errors. Report and patch
+ by Ian Peters &lt;itp@ximian.com&gt;.
+- Added ability to generate RSA keys.
+- Increased the maximum parameter size in order to read some large keys
+ by some CAs. Patch by Ian Peters &lt;itp@ximian.com&gt;.
+- Added an strnstr() function and the requirement in some functions to
+ use null terminated PEM structures is no more.
+- Use mmap() if available to read files.
+- Fixed a memory leak in SRP code reported by Rupert Kittinger
+ &lt;r.kittinger@efkon.com&gt;.
+
+* Version 0.9.0 (2003-03-03)
+- This version is not binary compatible with the previous ones.
+- The library notifies the application on empty and illegal SRP usernames,
+ so that proper notification (via an alert) is sent to the peer.
+- Added ability to send some messages back to the application using
+ the gnutls_global_set_log_function().
+- gnutls_dh_params_generate() and gnutls_rsa_params_generate() now use
+ gnutls_malloc() to allocate the output parameters.
+- Added support for MD2 algorithm in certificate signature verification.
+- The RSA and DH parameter generation interface was changed. Added
+ ability to import and export from and to PKCS3 structures. This
+ was needed to read parameters generated using the openssl dhparam tool.
+- Several changes in the temporary (DH/RSA) parameter codebase. No DH
+ parameters are now included in the library. Also the credentials structure
+ can now hold only one temporary parameter of a kind.
+- Added a new Certificate, CRL, Private key and PKCS7 structures handling
+ API, defined in gnutls/x509.h
+- Added gnutls_certificate_set_verify_flags() function to allow setting the
+ verification flags in the credentials structure. They will be used in the
+ *verify_peers functions.
+- Added protection against the new TLS 1.0 record layer timing attack.
+- Added support for Certificate revocation lists. Functions defined
+ in gnutls/x509.h
+- The only functions that were removed are:
+ gnutls_x509_certificate_to_xml()
+ gnutls_x509_extract_dn_string()
+- Ported to libtasn1 0.2.x
+
+* Version 0.8.1 (2003-01-22)
+- Improved the SRP support, to prevent attackers guessing the
+ available usernames by brute force.
+- Improved the SRP detection in gnutls-cli-debug
+- Some fixes which now allow compilation.
+
+* Version 0.8.0 (2003-01-20)
+- Added gnutls_x509_extract_dn_string() which returns a
+ distinguished name in a single string.
+- Added gnutls_openpgp_extract_key_name_string() which returns
+ an openpgp user ID in a single string.
+- Added gnutls_x509_extract_certificate_ca_status() which returns
+ the CA status of the given certificate.
+- Added SRP-6 support. Follows draft-ietf-tls-srp-04.
+- If libtasn1 is not present in the system, it is included in
+ the main gnutls library.
+- If liblzo is present in the system, then the included minilzo
+ will not be used, and libgnutls-extra will depend on liblzo.
+- GNUTLS_E_PARSING_ERROR error code was replaced by GNUTLS_E_BASE64_DECODING_ERROR,
+ and GNUTLS_E_SRP_PWD_PARSING_ERROR. GNUTLS_E_ASCII_ARMOR_ERROR was also
+ replaced by GNUTLS_E_BASE64_DECODING_ERROR.
+
+* Version 0.6.0 (2002-12-08)
+- Added "gnutls/compat4.h" header. This is included in gnutls.h
+ to emulate the old 0.4.x API.
+- Example programs are now stored in doc/examples/
+- Several improvements and updates in the documentation.
+- Added the certificate authenticated SRP cipher suites.
+- gnutls_x509_extract_certificate_dn_string() was updated to return
+ an RFC2253 conforming string.
+- Added the SRP related functions:
+ gnutls_srp_verifier()
+ gnutls_srp_base64_encode()
+ gnutls_srp_base64_decode()
+- Added the function gnutls_srp_set_server_credentials_function()
+ to allow retrieving SRP parameters from an external backend - other
+ than password files.
+- Added the function gnutls_openpgp_set_recv_key_function()
+ which can be used to set a callback, to get OpenPGP keys.
+- Exported the functions:
+ gnutls_malloc()
+ gnutls_free()
+ which should be used by callback functions.
+- Changed the semantics of gnutls_pem_base64_encode_alloc()
+ and gnutls_pem_base64_decode_alloc(). In the default case
+ were the gnutls library is used with malloc/realloc/free,
+ these are binary compatible.
+
+* Version 0.5.11 (2002-11-05)
+- Some fixes in 'gnutls-cli' client program to prevent some segmentation
+ faults at exit.
+- Example programs found in the documentation can now be generated by
+ running "make examples" in doc/tex directory.
+- Added more descriptive error strings, to gnutls_strerror().
+- Documented error codes, and the function reference list is now sorted.
+- Optimized buffering code.
+- gnutls_x509_extract_certificate_dn_string() was rewritten.
+- Added GNUTLS_E_SHORT_MEMORY_BUFFER error code, which is returned in the
+ case where the memory buffer provided is not long enough.
+- Depends on the new OpenCDK 0.3.2.
+
+* Version 0.5.10 (2002-10-13)
+- Updated documentation.
+- Added server name extension. This allows clients to specify the
+ name of the server they connect to. Useful to HTTPS.
+- Several corrections in the code base, mostly in signed/unsigned,
+ checkings.
+
+* Version 0.5.9 (2002-10-10)
+- Corrected some code which worked fine in gcc 3.2, but not with any
+ other compiler.
+- Updated 'gnutls-cli' with the '--starttls' option, to allow testing
+ starttls implementations.
+- Added gnutls_x509_extract_key_pk_algorithm() function which extracts
+ the private key type, of a DER encoded key.
+- Added gnutls_x509_extract_certificate_dn_string() which returns the
+ certificate's distinguished name in a single string.
+- Added gnutls_set_default_priority() and gnutls_set_default_export_priority()
+ functions, to avoid calling all the *_priority() functions if the defaults
+ are acceptable.
+- Added int gnutls_x509_check_certificates_hostname() which check whether
+ the given hostname matches the owner of the given X.509 certificate.
+
+* Version 0.5.8 (2002-09-25)
+- Updated documentation.
+- Added gnutls_record_get_direction() which replaces the obsolete
+ gnutls_handshake_get_direction().
+- Added function to convert error codes to alert descriptions
+- Added LZO compression
+
+* Version 0.5.7 (2002-09-11)
+- Some fixes in the memory allocation functions (realloc).
+- Improved the string functions used in XML certificate generation.
+- Removed dependency on libgdbm.
+- Corrected bug in gnutls_dh_params_set() which affected
+ gnutls_dh_params_deinit().
+- Corrected bug in session resuming code in server side.
+
+* Version 0.5.6 (2002-09-06)
+- Corrected bugs in SRP implementation, which prevented gnutls
+ to interoperate with other implementations. (interoperability testing
+ was done by David Taylor)
+- Corrected bug in cert_type extension.
+- Corrected extension type checks which used an 8 bit extension size,
+ instead of 16 bits.
+- Added versioning in the XML output of certificate functions.
+- Removed the X.509 test suite.
+
+* Version 0.5.5 (2002-09-03)
+- Updated the SRP implementation to the latest draft. The blowfish
+ crypt implementation was removed, since the new draft does not allow
+ other hash algorithms except for the srpsha.
+- Renamed all the constructed types in order to have more consistent
+ names.
+- Improved the certificate and key read functions. Now they can read
+ the certificate and the private key from the same file.
+- Updated and corrected documentation.
+
+* Version 0.5.4 (2002-08-27)
+- Fixes in TLS 1.0 PRF and SSL3 random functions.
+- gnutls_handshake_set_exportable_detection() was obsoleted.
+- Added gnutls_openpgp_extract_key_id() which returns the key ID.
+- Corrected bug in DHE key exchange
+- Added support for temporary RSA keys which are needed for the
+ export cipher suites.
+- Added the TLS_RSA_EXPORT_ARCFOUR_40_MD5 ciphersuite.
+
+* Version 0.5.3 (2002-08-23)
+- No changes. Replaces the tarball of 0.5.2 which accidentally contained
+ code from the unstable branch.
+
+* Version 0.5.2 (2002-08-22)
+- Added an error code that is returned in clients which connect
+ to export only servers. This must be enabled using the
+ gnutls_handshake_set_exportable_detection() function.
+- Updated openssl compatibility layer.
+- Added gnutls_handshake_get_direction() function which returns
+ the state of the handshake when interrupted.
+
+* Version 0.5.1 (2002-07-17)
+- Corrected the m4 macros which used &lt;gnutls.h&gt; instead of
+ &lt;gnutls/gnutls.h&gt;
+- Documentation fixes
+- Added gnutls_transport_set_ptr2() function, which accepts two
+ different pointers, to be used while receiving, and
+ while sending data.
+- Semantic changes in gnutls_record_set_max_size(). The requested
+ size is now immediately enforced at the output buffers.
+- gnutls_global_init_extra() now fails if the library versions do
+ not match.
+- Fixes in client and server example programs. Null encryption can
+ be used in these programs, to assist in debuging.
+- Fixes in zlib compression code.
+
+* Version 0.5.0 (2002-07-06)
+- Added X.509 certificate tests in tests/ directory
+- Removed stubs for SRP and Anonymous authentication. They served
+ no purpose since they are always included, unless it was requested
+ not to do so.
+- Added gnutls_handshake_set_private_extensions() function. This
+ function can be used to enable private (gnutls specific) cipher suites
+ and compression algorithms.
+- Added check for C99 macro support by the compiler.
+- Added functions gnutls_b64_encode_fmt2() and gnutls_b64_decode_fmt2()
+- Added the new libtasn1 library.
+- Removed the gdbm backend. Applications are now responsible for the
+ session resuming backend. The gnutls-serv application contains an
+ simple example on how to use gdbm for resuming.
+- Headers for the gnutls library are now installed in $(includedir)/gnutls
+- Added an OpenSSL compatible interface (with some limitations).
+- Added functions to convert DER encoded certificates to XML format.
+
+* Version 0.4.4 (2002-06-24)
+- Corrected bug in PKCS-1 RSA encryption which prevented gnutls to encrypt
+ using keys of some specific size.
+
+* Version 0.4.3 (2002-05-23)
+- The gnutls-extra library now compiles fine, if the opencdk library is
+ not present.
+- Several bug fixes.
+- Added gnutls_global_set_mem_func() function, to set the memory allocation
+ functions, if other than the defaults are to be used.
+- The default memory allocation functions are now the ones in libc.
+
+* Version 0.4.2 (2002-05-21)
+- Separated ASN.1 structures parser documentation and TLS library
+ documentation.
+- Added gnutls_handshake_set_rsa_pms() function, which disables the
+ version check in RSA premaster secret.
+- Added gnutls_session_is_resumed() function, which reports if a session
+ is a resumed one.
+- Added gnutls_state_set_ptr() and gnutls_state_get_ptr() functions, to
+ assist in callback functions.
+- Replaced the included 1024 bit prime for Diffie Hellman, with a new
+ random one.
+- Relicensed the library under the GNU Lesser General Public License
+- Added gnutls-extra library which contains the GPL covered code of gnutls.
+
+* Version 0.4.1 (2002-04-07)
+- Now uses alloca() for temporary variables
+- Optimized RSA signing
+- Added functions to return the peer's certificate activation and
+ expiration time.
+- Corrected time function's behaviour (the time value returned no longer
+ relate to local timezone).
+
+* Version 0.4.0 (2002-04-01)
+- Added support for RFC2630 (PKCS7) X.509 certificate sets
+- Added new functions: gnutls_x509_extract_certificate_pk_algorithm(),
+ gnutls_openpgp_extract_key_pk_algorithm().
+- Several optimizations in the Handshake protocol
+- Several optimizations in RSA algorithm
+- Unified the return values because of small buffers.
+
+* Version 0.3.92 (2002-03-23)
+- Updated documentation
+- Combined error codes of ASN.1 parser and gnutls
+- Removed GNUTLS_CERT_TRUSTED from the CertificateStatus enumeration
+- Added protection against CBC chosen plaintext attack (disabled by default)
+- Improved and optimized compression support
+
+* Version 0.3.91 (2002-03-03)
+- Added gnutls-cli-debug program
+- Corrections in session resumption
+- Rehandshake can now handle negotiation of different authentication
+ type.
+- gnutls-cli, gnutls-serv, gnutls-srpcrypt and gnutls-cli-debug are
+ now being installed.
+
+* Version 0.3.90 (2002-02-24)
+- Handshake messages are not kept in memory any more. Now we use
+ less memory during a handshake
+- Added support for certificates with DSA parameters
+- Added DHE_DSS cipher suites
+- Key exchange methods changed so they do not depend on the
+ certificate type. Added certificate type negotiation TLS extension.
+- Added openpgp key support (EXPERIMENTAL)
+- Improved Diffie Hellman key exchange support.
+- Bug fixes in the RSA key exchange.
+- Added check for the requested TLS extensions
+- TLS extensions now use a 16 bit type field.
+- Added a minimal string library to assist in ASN.1 parsing
+- Changes in ASN.1 parser to work with the new bison
+- Added gnutls_x509_extract_subject_alt_name(), which deprecates
+ gnutls_x509_extract_subject_dns_name()
+- gnutls_x509_set_trust_(file/mem) can now be called multiple times
+- gnutls_srp_server_set_cred_file() can now be called multiple times
+
+* Version 0.3.5 (2002-01-25)
+- Corrected the RSA key exchange method, to avoid attacks against
+ PKCS-1 formating.
+
+* Version 0.3.4 (2002-01-20)
+- Corrected bugs in DHE_RSA key exchange method
+
+* Version 0.3.3 (2002-01-19)
+- Added gnutls_x509pki_verify_certificate()
+- Added gnutls_x509pki_set_trust_mem() and gnutls_x509pki_set_key_mem()
+- Bug fixes in srpcrypt (based on patch by Marc Huber)
+- Bug fixes in the Handshake protocol (based on patch by Guillaume Morin)
+- Corrected library versioning
+
+* Version 0.3.2 (2002-01-05)
+- Corrected bug which did not allow a client to accept multiple CA names
+- Added gnutls_fingerprint()
+- Added gnutls_x509pki_extract_certificate_serial()
+- Added gnutls_b64_encode_fmt() and gnutls_b64_decode_fmt()
+- Corrected behaviour in version advertizing
+- Updated documentation
+- Prefixed all types in gnutls.h with 'GNUTLS_' to avoid namespace collisions
+
+* Version 0.3.1 (2001-12-21)
+- Corrections in the configuration files
+- Fixes a bug in anonymous authentication
+
+* Version 0.3.0 (2001-12-17)
+- Corrected bug in new integer formatting (now we use the old format again)
+- Several corrections and usual cleanups
+
+* Version 0.2.91 (2001-12-10)
+- Fixes in MPI handling (fixes possible bug with signed integers)
+- Removed name indication extension
+- Added gnutls_transport_get_ptr() and gnutls_db_get_ptr()
+- Optimizations in server certificate callback.
+- Fixes in anonymous authentication
+- Corrections in client ciphersuite selection
+
+* Version 0.2.90 (2001-12-07)
+- gnutls_handshake(), gnutls_read() etc. functions no longer require
+ the 'SOCKET cd' argument. This argument is set using the function
+ gnutls_set_transport_ptr().
+- introduced gnutls_x509pki_get_peer_certificate_list(). This function returns
+ a list containing peer's certificate and issuers DER encoded.
+- Updated X.509 certificate handling API
+- Added callback to select the server certificate
+- More consistent function naming (changes in several function names)
+- Buffer overflow checking in ASN.1 structures parser
+- Updated documentation
+
+* Version 0.2.11 (2001-11-16)
+- Changed the meaning of GNUTLS_E_REHANDSHAKE value. If this value
+ is returned, then the caller should perform a handshake or send
+ an alert to the peer.
+- Made receive buffer dynamic. Normally if no large chunks are received
+ it occupies less space.
+- Added max_record_size extension
+- Bugfixes in session handling
+- Improved non blocking IO support in the Handshake Protocol
+- Usual bugfixes and cleanups
+- Documentation updated (includes ASN.1 documentation)
+
+* Version 0.2.10 (2001-11-05)
+- Corrected bugs and improved non blocking IO
+- Added hooks to use external database to store sessions
+- Usual cleanups
+
+* Version 0.2.9 (2001-10-27)
+- AUTH_INFO types and structures were moved to library internals
+- AUTH_FAILED is no longer returned in SRP authentication
+ (any fatal error in SRP means auth failed)
+- Introduced GNUTLS_E_INTERRUPTED
+- Added support for non blocking IO
+- gnutls_recv() and gnutls_send() are now obsolete
+- Changed semantics of gnutls_rehandshake()
+
+* Version 0.2.4 (2001-10-12)
+- Better handling of X.509 certificate extensions
+- Added DHE_RSA ciphersuites
+- Updated the Name Indication (dnsname) extension
+- Improvements in Diffie Hellman primes handling
+
+* Version 0.2.3 (2001-09-19)
+- Memory optimizations in gnutls_recv()
+- Fixed several memory leaks
+- Added ability to specify callback for x509 client certificate selection
+- Better documentation
+
+* Version 0.2.2 (2001-08-21)
+- Several bugfixes (library and documentation)
+
+* Version 0.2.1 (2001-08-07)
+- SRP fixes
+
+* Version 0.2.0 (2001-08-07)
+- Partial support for X.509v3 Certificate extensions.
+- Added Internal memory handlers
+- Removed gnutls_x509_set_cn()
+- Added X.509 client authentication
+- Several bug fixes and protocol fixes
+
+* Version 0.1.9 (2001-07-30)
+- Corrected bug(s) in ChangeCipherSpec packet (fixes renegotiate)
+- SRP is updated to conform to the newest draft.
+- Added support for DNSNAME extension.
+- Reentracy fixes in ASN.1 Parsing.
+- Optimizations in hash/hmac functions
+- (Error) message handling has changed
+- Better Protocol Version handling
+- Added X.509 Certificate Verification
+- gnutls_read() semantics are now closer to read(2) - added EOF
+- Documented some part of gnutls in doc/tex/ using Latex
+
+* Version 0.1.4 (2001-06-22)
+- Corrected (srp) base64 encoding.
+- Changed bcrypt algorithm to include username.
+- Added RSA Ciphersuites (no certificate checking).
+- Fixes in SSL 2.0 client hello parsing.
+- Added ASN.1 and DER parsers.
+- Bugfixes in session resuming
+- Updated Ciphersuite selection algorithm
+- Added internal representation of X.509 structures.
+- Added global state
+
+* Version 0.1.3 (2001-06-01)
+- Updated API (and the way it is documented - we use inline documentation)
+- Added function to access alert messages.
+- Added support for renegotiating parameters.
+- Better and Faster Resume Database handling.
+- Several bugfixes
+
+* Version 0.1.2 (2001-05-14)
+- Updated API
+- Fixes in extension handling
+
+* Version 0.1.1 (2001-05-13)
+- Added compatibility with Stanford's libsrp library
+
+* Version 0.1.0 (2001-05-09)
+- Added SSL 2.0 client hello support
+- GNUTLS is a gnu library
+- Added support for TLS extensions.
+- Added support for SRP
+
+* Version 0.0.7 (2001-01-11)
+- Added server side session resuming (using gdbm)
+- Added twofish algorithm
+
+* Version 0.0.6 (2000-12-20)
+- Added client side session resuming
+- Better documentation (check doc/API)
+- Better socket handling (gnutls can be used with select())
+- Some primitive support for non blocking IO and socket options has been added.
+
+* Version 0.0.5 (2000-12-07)
+- Added Compression (using ZLIB)
+- Added SSL 3.0 support
+
+----------------------------------------------------------------------
+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.
+</pre></div>
+
+</body>
+</html>
diff --git a/abi-tracker/changelog/gnutls/current/log.html b/abi-tracker/changelog/gnutls/current/log.html
index 84bda00418..b290bdb0dd 100644
--- a/abi-tracker/changelog/gnutls/current/log.html
+++ b/abi-tracker/changelog/gnutls/current/log.html
@@ -20,687 +20,763 @@
<br/>
<h1>Changelog for <span class='version'>current</span> version (Git)</h1><br/><br/>
<div class='changelog'>
-<pre class='wrap'>commit 0a00b26b20c2999f8509c31dc5f8b6e81260e048
+<pre class='wrap'>commit d2a4cc28c7adfd811779a1cb16ae920300457940
Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2016-02-03 09:20:05 +0100
+Date: 2016-03-13 11:39:22 +0100
- tests: pkcs11-pubkey-import-ecdsa will only work under softhsmv2
-
-commit c479799cb30d9c0951dd225d252b2e9de7646224
-Author: Andreas Metzler &lt;ametzler@bebt.de&gt;
-Date: 2016-01-31 17:59:37 +0100
-
- Fix some more typos.
+ abi-check: corrected type of gnutls_x509_crl_get_issuer_dn
- certifcate, funtion, withing, missmatch
+ That will avoid any accidental ABI breakage on that symbol.
-commit a912e666cc53c1289b567c2217964e93c3786508
+commit 069b0770eb2adf295d14c0059af088eb9c740f7a
Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2016-01-30 12:18:55 +0100
+Date: 2016-03-11 14:45:02 +0100
- tests: updated check to account for revert in 7d3caedb8df9d04eee9513cb5b3b417ae29927f5
+ .gitlab-ci.yml: added abi-checker rule
+
+ This allows to test ABI incompatibilities as soon as possible.
-commit 48cbd6fb2c597a251207e1186f213283867bc5ad
+commit 99b4b7bb53f6d36ee991e2a2679776faf433c9af
Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2016-01-30 12:15:07 +0100
+Date: 2016-03-11 14:36:39 +0100
- Revert "tests: updated to account for cert generation after 2adb9b2bfb31afebbdd9f990e2b74c9a3d4e5c57 fix"
+ Makefile: made abi-checks self-contained
- This reverts commit 735dbde324be6c8785a3dea5f09c82b6a8ad298b.
+ That is, they no longer assume a given directory structure to exist
+ outside git. It now includes a static dump of the symbols in 3.4.0
+ for x86_64 and we compare with it.
-commit 7d3caedb8df9d04eee9513cb5b3b417ae29927f5
+commit 1fcd82b7eee685bb77355e7386c525b915fc528b
Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2016-01-30 11:15:13 +0100
+Date: 2016-03-11 11:52:17 +0100
- Revert "Fix out-of-bounds read in gnutls_x509_ext_export_key_usage"
-
- This was not really an out-of-bounds check. Added documentation
- to make that clear.
-
- This reverts commit ffbc9aaea7dcf29c03784d128b83f0682357858d.
+ certtool: better error handling in file_size()
-commit 1b9b122830164059f6cab90d330c62adae840353
+commit 726c514201c0b843bfa88c6633cc7351f411780d
Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2016-01-28 13:14:14 +0100
+Date: 2016-03-11 11:47:12 +0100
- certtool: corrected email escaping in texinfo
+ gnutls-cli: fix invalid initialization in cert_verify_ocsp()
-commit f64fbce6e2ef574359b01ac6f89f5a6b9a125e28
+commit d50c05689de87a591b874d9349ac0f23c4040d69
Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2016-01-28 10:45:17 +0100
+Date: 2016-03-11 11:45:23 +0100
- Replaced select() system call with poll() on POSIX systems
+ gnutls-serv: human_addr always returns a non-null argument
- This allows to use the default gnutls functions with file descriptors
- over the maximum supported by select.
+ This addresses issue with libc's which don't support printf() with
+ a NULL argument.
-commit c58f4391ded0dc6ef282b6c6376fac3de25524c1
+commit 66b675c338479678b6e3f52d67551d97d5b28afa
Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2016-01-25 11:08:21 +0100
+Date: 2016-03-08 15:10:07 +0100
- tests: windows: fixed check-output call
+ tests: testpkcs11: the test will always fail in code path failures
-commit b927910880cff0a6cceca525f536df51e793a947
+commit b8555c09e80ec6211fbdbfc03de0e5fa401768e6
Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2016-01-22 16:34:29 +0100
+Date: 2016-03-08 10:12:22 +0100
- tests: added dummy functions used by CAPI32 implementation
+ README: list the main branches build status [ci skip]
-commit 4a516cbcd9b318effff6a1085e9536b870de606a
+commit 67777d01cd234a279fdfcf742f4c2689d41fbf98
Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2016-01-22 16:33:48 +0100
+Date: 2016-03-07 11:50:34 +0100
- tests: better checking for failure in windows cng check
+ gnutls_system_recv_timeout: restore poll on EINTR
-commit c0dc4556e8d2e80c4f04c1655ed33e3bb659aa67
+commit d6a82ff09e15d2e76674562d2a1ebf6301efd064
Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2016-01-22 12:59:47 +0100
-
- system-key-win: call CertFreeCertificateContext()
-
-commit fc1e62399a296e7beb7a79081c32a6e086105c37
-Author: Bjørn Christensen &lt;bhc@insight.dk&gt;
-Date: 2016-01-22 11:52:21 +0100
+Date: 2016-03-07 10:47:43 +0100
- system-key-win: added interface to CAPI, old style crypto api on windows
+ doc: corrected typo [ci skip]
-commit 7a109d053fef7cc95be30c16e10528c7ae86d167
+commit 56944b142dfc54c116cd40953294a4914ba47aa9
Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2016-01-21 14:45:56 +0100
+Date: 2016-03-07 10:42:14 +0100
- certtool: corrected texinfo output for krb5_principal
+ gnutls_ocsp_status_request_is_checked: document the version the flag was introduced at
+
+ Relates: #75
-commit b9d2c7466f1e23105a87dd133ead5911de7277f8
+commit c1947fe1174c8b8cde70b0763cf4eb80fd0560f2
Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2016-01-21 12:58:56 +0100
+Date: 2016-03-07 10:25:57 +0100
- tests: priorities: account for the addition of CHACHA20-POLY1305
+ doc: generate manpages for all functions
+
+ That addresses issue where certain manpages were created empty.
+ See https://bugzilla.redhat.com/show_bug.cgi?id=1306800
-commit 5b417325d4e9521490b55b6fdaf2ea3c7e99860c
+commit 7e894ecdb401fc566556de551145fc6858f7e068
Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2016-01-21 12:00:33 +0100
+Date: 2016-03-07 10:11:37 +0100
- CHACHA20_POLY1305 was added to the default priority strings
+ doc: mention gnutls_certificate_set_x509_trust_dir()
+
+ It was not mentioned in the "Client or server certificate verification"
+ section.
- That is the NORMAL and PERFORMANCE priority strings now will
- enable CHACHA20-POLY1305 by default.
+ Resolves #76
-commit a7109322b071e8e76ee7ae82835b1f40ff89be74
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2016-01-18 18:38:36 +0100
+commit bbfde250fbbac0ce65569f9be1d2bc88925dcd4e
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-03-07 09:30:44 +0100
- gnutls_global_init: log gnutls' version on initialization
+ tests: mini-loss-time: improved timeout detection
-commit 6856ffafa7b094d2db788a8213d8412f6421f803
+commit 58ca20e3d3a6eb4cd9dacd36f0c6e229c5bfcbb8
Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2016-01-18 15:56:02 +0100
+Date: 2016-03-04 10:16:51 +0100
- doc: corrected typo [ci skip]
+ corrected typo in comment [ci skip]
-commit 08612f4dc7c82fde791cf8d550e43f7e1b86f19f
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2016-01-16 20:54:20 +0100
+commit f5f37a8422ad869191e2c11f7a49cbd79f798365
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-03-01 16:23:55 +0100
- README: added trousers to list of dependencies [ci skip]
+ configure: silence clang's warnings
-commit 367928578b651bc3252e8440993c02913eca046d
+commit aa23adacd8b68124ef7fc055a2f05d2fb0a24220
Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2016-01-16 20:43:42 +0100
+Date: 2016-03-03 14:24:13 +0100
- tests: added check for KRB5Principal output
+ tests: added check for version negotiation default prio string
- Resolves #67
+ That verifies whether the support versions are negotiated.
-commit 92e140e074a77d9012119d81a6c6dd1da465203c
+commit c30154ce66b2d1ffecba35e5311cc16a7c27a28d
Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2016-01-14 17:16:00 +0100
+Date: 2016-03-03 09:05:32 +0100
- README.md -&gt; README-alpha.md
+ tests: include test-hash-large into dist
-commit 831d90e235eaf077a848b616dccd9c1bc7eed8d0
+commit 437571f00025c7bfcb8134de43bcb15a0129bb8b
Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2016-01-14 17:09:23 +0100
+Date: 2016-03-03 08:50:48 +0100
- updated copyright info
+ Sync with TP [ci skip]
-commit 08409b6a49569be125603ee58370452322213768
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2016-01-14 17:04:54 +0100
+commit 95504a934758b94d3daef69ef867314d86970971
+Author: Ludovic Courtès &lt;ludo@gnu.org&gt;
+Date: 2016-03-02 09:59:19 +0100
- README: auto-generated from README-install.md
+ Update NEWS.
-commit 912618905dc8eb6811e15aeff99b141ee0b680af
+commit ce074f55f8aa6891ad7dd57e5729d77686f96d93
Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2016-01-14 14:50:34 +0100
+Date: 2016-03-01 14:50:42 +0100
- gnutls_int.h: increased MAX_SERVER_NAME_SIZE to 256 bytes
+ Disable weak symbols for _gnutls_global_init_skip() under windows
+
+ That is to avoid an issue with running gnutls under windows;
+ that renders GNUTLS_SKIP_GLOBAL_INIT a no-op under windows.
+
+ Relates #74
-commit ecf3edb4e6b992b8df1bc9c878295c3daabe0369
+commit b8ce03e6db6ed13c021de69471fae332b1eadb11
Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2016-01-13 13:14:55 +0100
+Date: 2016-03-01 13:19:29 +0100
- gnutls_pubkey_import_x509_raw: fixed memory leak
+ .gitlab-ci.yml: asan, clang and valgrind builds were made arch-independent
-commit fccea4a3e84de3f4c52a9192efff413f6cc0e264
+commit 7c99351cf641abcf41f50c4e6392dbce627033c6
Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2016-01-08 16:26:21 +0100
+Date: 2016-02-29 20:49:09 +0100
- tests: added check for the krb5_principal template option
+ tests: pkcs12: allow multiple in-place builds
-commit 026f2445447cc4c56ec02adb5baf7ba552075b34
-Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2016-01-11 15:11:41 +0100
+commit 0a132efee4a5aa7802597a5e6e795ea3776fe8d4
+Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
+Date: 2016-02-29 19:41:33 +0100
- certtool: introduced the krb5_principal template option
+ tests: pkcs1-pad,rsa-md5-collision: allow multiple in-place builds
-commit 332475e9cf8cf7afe117e93555dfe24df898bc4b
-Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2016-01-11 15:09:23 +0100
+commit 145cb5b565e7f71063990a513779b656f91fd3a1
+Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
+Date: 2016-02-29 17:12:49 +0100
+
+ doc update
- x509: introduced GNUTLS_SAN_OTHERNAME_KRB5PRINCIPAL
+commit eccfe8b41227f7c96900f01b5e80b2a2966e847d
+Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
+Date: 2016-02-29 17:06:12 +0100
+
+ gnutls-cli: fail if gnutls is not compiled with DANE support and --dane is provided
- That allows to print and write KRB5PrincipalName othernames
- in subject alternative name.
+ Suggested by Bjorn Jacke.
-commit 0a92ec601c3d33d6b939e2cd2e22302584fe8eea
+commit b351bbf123586e0c115c201c0fc5aa9967d7571c
Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2016-01-11 15:19:24 +0100
+Date: 2016-02-29 13:23:25 +0100
- x509: place newline when printing unsupported othernames
+ tests: always used the slow (portable) version of get16bits
+
+ This prevents issues with misaligned addresses and undefined sanitizer.
-commit 8339cc1a7d89e6fea65069810f5aec91dabd3fdd
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2016-01-10 16:05:41 +0100
+commit 1010496d4a1c101ab759bbea6c010503398554b5
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-29 12:46:47 +0100
- x509: moved virtual subject alternative name othername support to virt-san.c
+ timespec_sub_ms: fixed operation in 32-bit systems
-commit a86c563a7a0033b5a1876c2f4969d62fae4fc5a6
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2016-01-10 14:46:16 +0100
+commit 8dfbfcb54f60401dc1e1d18b44ef7a4fa1e119f2
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-29 10:23:20 +0100
- gnutls_x509_crt_set_subject_alt_name: documented the version after which GNUTLS_SAN_OTHERNAME_XMPP is available
+ .gitlab-ci.yml: don't use the internal libtasn1 when compiling with libubsan
+
+ This prevents build failures due to issues in libtasn1
-commit 11da583a2261e148db733e4b6e1543a3bfca44a6
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2016-01-10 14:45:03 +0100
+commit ac6046edd396d98fd426f922b85c392864b34f32
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-29 10:22:13 +0100
- tests: added check for XMPP othername generation
+ tests: Fixes to prevent undefined behavior (found with libubsan)
-commit 32a1593c71b0aff90cd92ed0cea15fe9da2d2831
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2016-01-10 14:39:14 +0100
+commit 4bf89ef06091cd24d88fec19963b9c25b2e91e5e
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-29 10:18:58 +0100
- certtool: allow writing xmpp_name
+ pkcs11: Fixes to prevent undefined behavior (found with libubsan)
-commit b992776d1e77309e9c11a7a1d9a1321caab768f6
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2016-01-10 14:30:56 +0100
+commit 60f3560ba5f2ccf3adf5ebf7e2eea9907d555cff
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-29 09:58:40 +0100
- Allow assigning 'virtual' SAN types via *_set_subject_alt_name()
+ cipher.c: Fixes to prevent undefined behavior (found with libubsan)
-commit 66694906e6af8c606fb57d03a5ad0a3553baa47d
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2016-01-10 13:47:38 +0100
+commit c9a6fd2bf2c8e0b5efbc851460f7917be511d114
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-29 09:57:40 +0100
- NEWS: document newly added functions
+ ecc: optimized extension parsing
-commit d6041385123411ec5485237e0e766ed992d49dec
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2016-01-10 08:17:51 +0100
+commit 63ac0b64a55ee9cb0df77c4174f42cd2c9ee4429
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-29 09:48:12 +0100
- alpn: when parsing the list of protocols return at the first mutually common
-
- That resolves an issue where the server wouldn't select the first mutually supported.
-
- Resolves #63
+ opencdk: Fixes to prevent undefined behavior (found with libubsan)
-commit b8313db56227e53bb87190432f89fd566d836c76
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2016-01-10 08:17:07 +0100
+commit e896f47f9710c9b15b353c63c0e3a01ee4f44835
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-29 09:48:02 +0100
- tests: mini-alpn: corrected protocol selection order
+ gnutls.h: Fixes to prevent undefined behavior (found with libubsan)
-commit d2792c2079df4771403216812b4cb154fd997ed4
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2016-01-10 08:04:29 +0100
+commit 5bbe1ecbe4c6da8fd5015d0e4aceba580d16afa0
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-29 09:43:32 +0100
- tests: alpn: enhance the testing of ALPN negotiation
+ x509: Fixes to prevent undefined behavior (found with libubsan)
-commit 92de93fb0492f5a5d27615ca0f1dbe068f5e563f
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2016-01-09 21:42:11 +0100
+commit e99499b0d81717279b790dbb98a149726ab502c0
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-29 09:27:23 +0100
- alpn: document how the selected protocol is selected [ci skip]
+ x509: cleanup in privkey.c
-commit f7090ed8a9d80df08d03eff18c06e423fc4e0de7
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2016-01-09 21:20:00 +0100
+commit de39608309c03526d667a57ae77c2af84ddd0bbf
+Author: Andreas Metzler &lt;ametzler@bebt.de&gt;
+Date: 2016-02-28 15:35:01 +0100
- tests: verify that the selected ALPN protocol is the first advertised
+ Let p11tool --provider option accept filenames.
+
+ Drop 'file-exists = yes;' to allow specifying either an absolute pathname
+ or a file in P11_MODULE_PATH.
-commit 14becbb8f8a7aec87e049ab946705480fd929a92
+commit 0d897f1dd7e21891cefe04a146d83d045c7554b5
Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2016-01-08 16:52:44 +0100
+Date: 2016-02-28 13:01:11 +0100
- gnutls_aead_cipher_decrypt: removed misleading text
-
- Reported by Fridolin Pokorny.
+ .gitlab-ci.yml: abort on ubsan errors
-commit e2d69151e334946b0f67531a46c2cd89a58f9610
+commit 3bd37a4239769460c42f43ae932f304dd5132576
Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2016-01-08 12:16:29 +0100
+Date: 2016-02-28 12:12:09 +0100
- tests: added check for certtool's othername writing functionality
+ p11tool: addressed memory leaks
-commit 4a65b1a0ce58064b55c94c92dcc4445552827d37
+commit 4156885beac91ac45fc5853a8d034d0b7daab0c0
Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2016-01-08 11:16:58 +0100
+Date: 2016-02-28 10:45:02 +0100
- certtool: added ability to generate othernames via template files
+ tests: use 'datefudge -s' to avoid loops
- Relates #62
+ This avoids repeated loops of the same test as well as
+ random failures in the test suite.
-commit db6621c3a3ee626e4ccc9bade10e677c0fa3b318
+commit a7a5b886d38c5c2ffecbb7a5d1e3a62f397151ab
Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2016-01-08 12:05:18 +0100
+Date: 2016-02-27 22:37:21 +0100
- x509: added flags to enable the encoding of othername data
+ tests: krb5-test: increased the number of loops
+
+ This should prevent random failures in the test suite.
-commit 3e8ba29e3fa535e106fa3a3205dc7b3e04956489
+commit 0919e73e9a79c98ff9f2be1b4e9bf665fa928295
Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2016-01-08 11:05:36 +0100
+Date: 2016-02-27 22:23:34 +0100
- x509: introduced functions to set an othername alternative name
-
- That is, added, gnutls_x509_crt_set_subject_alt_othername,
- gnutls_x509_crt_set_issuer_alt_othername, gnutls_x509_crq_set_subject_alt_othername
-
- Relates #62
+ .gitlab-ci.yml: asan and ubsan include the suite/
-commit d1a9c629ace34bf715b590446ae83d82164e778e
+commit bbaef09e45b57c783e26793ba6eb6b2e6a8a5226
Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2016-01-07 14:35:59 +0100
+Date: 2016-02-23 10:35:14 +0100
- trust_list_get_issuer_by_dn: fixed check for DN or SPKI
+ .gitignore: more files to ignore
-commit e037d042acc91191fb2c1a9b7fe12abf8e795634
+commit 7b56c641567c91175bab06cbe76925cecb3b0853
Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2016-01-07 14:02:24 +0100
+Date: 2016-02-23 10:33:18 +0100
- configure: no longer distribute lzip tarballs
+ doc: documented false start functionality
-commit d188c580b287648fb5bf9aefcc735ea3e6088d25
+commit 70c357b25f4222db7f8da6f173757ca27035b879
Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2016-01-07 14:14:21 +0100
+Date: 2016-02-23 10:23:57 +0100
- symbols.last: don't include internal symbols into exported list
+ doc update
-commit 735dbde324be6c8785a3dea5f09c82b6a8ad298b
+commit 945f10c436922abe41441e1754d343ff8ea3cbd2
Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2016-01-05 11:21:43 +0100
+Date: 2016-02-23 10:14:53 +0100
- tests: updated to account for cert generation after 2adb9b2bfb31afebbdd9f990e2b74c9a3d4e5c57 fix
+ tests: Added checks for false start operation
-commit 2adb9b2bfb31afebbdd9f990e2b74c9a3d4e5c57
-Author: Tim Kosse &lt;tim.kosse@filezilla-project.org&gt;
-Date: 2016-01-04 16:40:26 +0100
+commit dd8fb0e3e104836d69654d208129f7c762e3cdc0
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-23 09:40:26 +0100
- Fix out-of-bounds read in gnutls_x509_ext_export_key_usage
+ Added gnutls_handshake_set_false_start_function()
+
+ This function allows to use TLS False-start, by using the provided
+ function to send data just after finished message.
-commit 1b6b0bd3d8149663992b5992b442d860ad62eefb
+commit 72fcf7dfe9f0388ea3ea9a03078b5ba1c183adcd
Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2015-12-31 20:16:37 +0200
+Date: 2016-02-27 21:54:51 +0100
- .gitlab-ci.yml: optimized build process
+ tests: enable softhsmv2 test suite by default
- That is, in slow asan and valgrind builds don't check the full test suite.
+ Also do not fatally fail with known softhsmv2 bugs.
-commit 9b278dcadc49065d844755bade15c873ace3b040
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2015-12-31 14:35:45 +0200
+commit 85196f9fc98dd1a1426da4d7fd84e9397df05bb4
+Author: Jan Vcelak &lt;jan.vcelak@nic.cz&gt;
+Date: 2016-02-26 16:17:48 +0100
- gnutls_pkcs11_copy_x509_privkey2: corrected the writing of ECC private key
+ pkcs11: tests for RSA, ECC, DSA private key import
+
+ Signed-off-by: Jan Vcelak &lt;jan.vcelak@nic.cz&gt;
-commit 17f2c8f7f3ad2010ecf143dad8b249b0f58f5299
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2015-12-31 13:38:34 +0200
+commit 1b573fc2d00f0884041e3a009539f7074d2adafa
+Author: Jan Vcelak &lt;jan.vcelak@nic.cz&gt;
+Date: 2016-02-26 16:17:47 +0100
- tests: pkcs11-pubkey-import will check both RSA and ECDSA keys
+ pkcs11: tests for DSA key generating
+
+ Signed-off-by: Jan Vcelak &lt;jan.vcelak@nic.cz&gt;
-commit 3eeec745046d6048bba74cc96d92056aa2c0aec5
+commit 3cd9f45d01a0a56ef68cc6817b75a3ddabaf0a7c
Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2015-12-31 13:35:30 +0200
+Date: 2016-02-27 17:56:36 +0100
- gnutls_pkcs11_copy_x509_privkey2: corrected the type of the written object
-
- Previously only RSA objects were correctly written.
+ added getpid() to the list of system calls used
-commit e55b21d36bd563c8182b84c8c8fdc1163ddb4753
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2015-12-31 13:10:37 +0200
+commit 506ada3459b8e162865bfd7bb89698a457aaaae6
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-26 14:41:12 +0100
- tests: added ECDSA key in cert-common.h
+ .gitlab-ci.yml: added compilation rule with libubsan
-commit 15a767133328601a5f10a759fd6e548c174d765f
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2015-12-31 12:20:41 +0200
+commit 7cf49a7e48a078e6c6a6cb1f1539621b7194742e
+Author: Jan Vcelak &lt;jan.vcelak@nic.cz&gt;
+Date: 2016-02-25 16:43:36 +0100
- pkcs11: moved default RSA public exponent out of stack
+ gnutls_x509_privkey_import: add missing algorithm setting for DSA keys
+
+ The algorithm number was set only in the private key structure, not in
+ the nested structure with parameters. This made certain operations to
+ fail (e.g., copying the key into a PKCS #11 token).
+
+ Signed-off-by: Jan Vcelak &lt;jan.vcelak@nic.cz&gt;
-commit 9c32cfeb453aa81a4af955e5e8cbcb9ce7db59ed
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2015-12-31 12:17:21 +0200
+commit f9840c85dcbf9c6ad1bf53dc943a860bdb819dfe
+Author: Jan Vcelak &lt;jan.vcelak@nic.cz&gt;
+Date: 2016-02-25 15:21:30 +0100
- pkcs11: import public keys from any available object
+ pkcs11: implement correct DSA key pair generating
- That is, load public keys from the public key object, or
- the certificate object if they are present. That affects
- non-RSA public keys which do not contain all required fields
- on the private key object.
+ Signed-off-by: Jan Vcelak &lt;jan.vcelak@nic.cz&gt;
-commit 0b28b3dde104d110d301a52ed8ed0f5c32a08361
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2015-12-31 01:02:30 +0200
+commit 88fbd274df32705424c2c752c3ac32b314ee2a94
+Author: Jan Vcelak &lt;jan.vcelak@nic.cz&gt;
+Date: 2016-02-25 15:21:29 +0100
- session DB: made the magic number depending on gnutls' version
+ pkcs11: add interface for C_GenerateKey
- That will make sure that sessions not stored by this version of
- gnutls will not be resumed by another (which may be incompatible).
+ Signed-off-by: Jan Vcelak &lt;jan.vcelak@nic.cz&gt;
-commit 6fcdc3db628adfb24f2d218dec7fd199dde1d3c9
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2015-12-31 00:46:12 +0200
+commit dd8c145c9073f30c4e61eb519c3965054e889568
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-26 12:00:55 +0100
- ui.c -&gt; fingerprint.c
+ better match with unknown_tls_aid
-commit 15f8fcafa86cc7174aa6b0db6ad400b260a18593
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2015-12-31 00:45:43 +0200
+commit aa1cec5a54b1faedc794e30bf6fc65a6420ca663
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-26 11:54:05 +0100
- split OCSP functionality from ui.c
+ x509: moved time-specific functions to time.c
-commit 879f5466fcb07e608825b59aac96c94e6954d24e
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2015-12-31 00:39:19 +0200
+commit 9a9a440efb2ae1808ebede141ba9909c58f4d2c6
+Author: Sebastian Dröge &lt;sebastian@centricular.com&gt;
+Date: 2016-02-24 12:42:26 +0200
- split anon credentials functionality from ui.c
+ configure: Android is ELF too
+
+ Without this, compiling Android for x86 or x86-64 fails because the assembly
+ optimizations are not compiled in.
-commit a95807e14727a1ad53d2a65f70a8e2d2ed53e6ec
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2015-12-31 00:38:31 +0200
+commit 69be7ad81abd9aced5bb5b2c75b1480aadfb1ebd
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-25 15:45:04 +0100
- split psk functionality from ui.c
+ mentioned the public git URL for cloning [ci skip]
-commit 1a776ff8c0ec1d1378295c231c46631cb8a0d536
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2015-12-31 00:37:22 +0200
+commit dee5a3158cf93f3c3d5ce930e2cac9d706961b59
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-24 15:12:23 +0100
- split session info functions from ui.c
+ doc update [ci skip]
-commit 3c60327d27f4d63c9c66f1813da31d0db9beb6b5
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2015-12-31 00:34:25 +0200
+commit 1e7a9c095f726f6f4a713df3fdff51719b46229e
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-24 14:55:19 +0100
- split certificate credentials functions from ui.c
+ doc update
-commit 4f27407b9bfcdc795db251dddfe610d5403e81f2
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2015-12-31 00:32:20 +0200
+commit 3fb514170d174aa4c98da99901d8431aee677b9c
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-24 14:53:59 +0100
- split dh API functions from ui.c
+ tests: check functions which export session parameters
+
+ That is gnutls_session_get_random() and gnutls_session_get_master_secret().
-commit f3051205bc647d96136d8ef0936905f1c75a03e8
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2015-12-31 00:28:46 +0200
+commit fa09df03ed1784ae29bcdd2bb2245be7666a72d4
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-24 14:43:17 +0100
- split randomart functionality from ui.c
+ Added gnutls_session_get_master_secret
+
+ This provides the ability to export all session parameters in various
+ formats.
+
+ Resolves #64
-commit d1428c0f9e87655c5bb8543b443bb54979bf53be
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2015-12-30 23:18:32 +0200
+commit d37442db4f99a446de40dfac1166e28978b87ccf
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-22 15:51:11 +0100
- helper.c -&gt; file.c
+ tests: gnutls_session_get_flags() is checked for extended master secret
-commit 63726a76cc5fa56c3045d674212106f55c77e0c8
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2015-12-30 11:26:30 +0200
+commit 58637b017059a823b74e05dd583e4d11fb5ecd5d
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-22 15:49:25 +0100
- certtool: doc update [skip ci]
+ tests: check gnutls_session_get_flags() for EtM
-commit 366260020123dc212dd776e05ff4f6220a6173e9
-Author: Andreas Metzler &lt;ametzler@bebt.de&gt;
-Date: 2015-12-26 18:24:56 +0100
+commit 215eaeb3f5aac4f0ac13a48ac084bb8f2668069e
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-22 15:46:33 +0100
- Fix some typos [ci skip]
+ tests: check gnutls_session_get_flags() for safe renegotiation
-commit 65002fce1c5cc68f90c898cd390189df6752da5c
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2015-12-24 11:54:21 +0200
+commit 59e256da3681b7a2ba61deef225589d045e07f7f
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-22 15:26:46 +0100
- NEWS: doc update [ci skip]
+ Added gnutls_session_get_flags()
+
+ This function would allow to simplify handling of future
+ flags which we may want to indicate, and would not require
+ API additions for new flags.
-commit eeb514a5b6b3be578ee779d6bfdaf4bf9521062f
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2015-12-24 11:44:00 +0200
+commit 9965ddc075df7033aa2786f921648d330cceb63f
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-22 11:57:30 +0100
- respect the max-record extension under DTLS
+ Revert ".gitlab-ci.yml: disable guile tests"
- This resolves issue with max-record being negotiated but
- ignored. Resolves #61
+ This reverts commit 50ce516eebaf011f041002ecbfdb61b113159282.
-commit 32f6aad0b09a4984f44b4219594fac0fa08e3197
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2015-12-24 11:42:58 +0200
+commit 3f98b1a874591c036675cce1f7380c5ad191ed1a
+Author: Ludovic Courtès &lt;ludo@gnu.org&gt;
+Date: 2016-02-21 18:58:35 +0100
- tests: added check for max-record extension in TLS
+ guile: Fix out-of-tree builds.
+
+ This fixes a regression introduced in 3045a96.
+
+ * guile/Makefile.am (.in.scm): Make the parent directory of $@.
-commit 421ee10a2156ada54763372444cbb21a4168054e
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2015-12-24 11:18:57 +0200
+commit f8a9d4248c8e1f2369358de9141483b01d70366f
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-18 17:04:24 +0100
- tests: check whether the max-record extension is usable with DTLS
+ Improved documentation in _gnutls_sort_clist
-commit 2fe1ce16b06e473932ca08608b522b138a529d0b
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2015-12-24 11:13:28 +0200
+commit b0e2be6a28c5638af4415158d033ad99b8947d02
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-18 16:43:51 +0100
- dtls: print the MTU in debugging messages
+ gnutls_x509_crt_list_import: corrected memory leak
+
+ This was triggered if GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED was specified
+ and a failure occurred.
-commit 66e31a847fcd13c0374fea719f1191c6411f2fa6
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2015-12-22 17:14:02 +0200
+commit 2408ca75d061856fd1d83389333e576df0e016b3
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-18 15:59:31 +0100
- updated documentation on supported algorithms [ci skip]
+ _gnutls_sort_clist: fixed issues when used with func option
+
+ This function would incorrectly call func() on elements that were
+ included in the list, and would not call func() if the size of the
+ final chain was one.
-commit 8d047c2551853717a65a2245b1b990f1c856e67b
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2015-12-22 11:30:52 +0200
+commit b9655b5f002ddd82d912b796a9db38be8771b8c5
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-18 15:10:54 +0100
- Added SHA384 to the list of TLS support MAC algorithms
+ tests: added tests for gnutls_pcert_list_import_x509_raw()
-commit 149ed253d880a0c9232f1635b4c14e48feb2b7e1
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2015-12-21 12:46:09 +0200
+commit 611121584119434214e8208289375ff9cf5397af
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-18 14:29:20 +0100
+
+ ext master secret: ensure we disable ext master secret if requested
+
+ That is, on rehandshakes, as on the standard handshakes it is disabled
+ by default.
- documented the gitlab ci runner tags
+commit 95537f79ba010a1b84e4f8eceee7a7b51a26f85a
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-18 14:18:04 +0100
-commit 8229a40c67294e56319c4687c2a19e3d14935418
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2015-12-20 11:11:38 +0200
+ tests: verify that we do not allow rehandshakes without ext master
+
+ That is, if we have an initial session which uses the extended master
+ secret do not allow subsequent rehandshakes to skip it.
- tests: added timeout in long-running checks
+commit dbe7970417c8c4eb3c1a6a3104df3dedb0f49a5c
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-18 11:53:20 +0100
-commit c71a1f2113d02cab604f10189197a0c9755bd03b
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2015-12-20 11:01:48 +0200
+ tests: sha3-test: use different dates for generation and validation
- certtool: eliminated various memory leaks
+commit f93df7ca5170a3e3d2f6049326bc0b273f378f05
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-18 10:55:32 +0100
-commit 7192e7a8dd680e674a354839159007aa01c89de3
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2015-12-20 10:48:27 +0200
+ certtool: eliminated memory leaks
- certtool: prevented memory leak in pkcs8-info cmd
+commit c79744971ff29ac4a367003a9d4c00095fb47627
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-18 10:28:33 +0100
-commit 70bbf4686f352a7ff557458b234bdeabe2749ac2
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2015-12-19 16:58:03 +0200
+ bumped the version of max algorithm num to account for new signing algorithms
- certtool: do not use signal() under win32
+commit 107e1df19715ffd4701bfcd3325c5cc80e5174b0
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-18 09:17:17 +0100
-commit 19758c412e50d444484b4483eec18848872ccf88
-Author: Alon Bar-Lev &lt;alon.barlev@gmail.com&gt;
-Date: 2015-12-18 17:34:01 +0200
+ src: added systemkey-args to BUILT_SOURCES
- build: configure.ac: manpages cleanups
-
- Signed-off-by: Alon Bar-Lev &lt;alon.barlev@gmail.com&gt;
+commit b7b8e3b521fb900bb9dd060b181dc0c241c21e84
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-17 15:19:08 +0100
-commit af385d1552c0d5854db6db03c82e1e9b89e80b94
-Author: Alon Bar-Lev &lt;alon.barlev@gmail.com&gt;
-Date: 2015-12-18 12:14:08 +0200
+ tests: simplified sha3-test
- build: allow installing man(1) even with --disable-doc
-
- Currently these man pages are installed only if --enable-doc
- is provided, while these are not actually docs, do not require any
- special dependency, nor consume large space.
-
- This adds --enable-manpages to enable/disable manpages installation, and
- install the man(1) regardless of --disable-doc.
-
- Signed-off-by: Alon Bar-Lev &lt;alon.barlev@gmail.com&gt;
- Signed-off-by: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+commit 8a8790fc65644b1c59e078048d0a67d481ed1c8b
+Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
+Date: 2016-02-17 05:43:24 +0100
+
+ cross.mk: updated for gnutls 3.4.9, nettle 3.2, gmp 6.1.0 and p11-kit 0.23.2 [ci skip]
-commit 15127ff7aa674b25827c4017a4584261613d4cc9
+commit 50ce516eebaf011f041002ecbfdb61b113159282
Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2015-12-18 14:32:25 +0100
+Date: 2016-02-16 16:46:54 +0100
- certtool: ignore sigpipe
+ .gitlab-ci.yml: disable guile tests
- This signal was observed under certain cirquimstances
+ This prevents the test suite from failing.
-commit ad7149073a68125cc56ddc8cba9642a4a93b0837
+commit a88ce61a36909bb087032e1e3725ff7f24efdcc7
Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2015-12-18 14:29:05 +0100
+Date: 2016-02-16 16:40:09 +0100
- certtool: don't close stdout on exit
+ doc update [ci skip]
-commit ec314874eabab1fbec551af826bd6d01b52fc735
+commit 4f083ddd0739c2aa6c295d14619b35ce71f75777
Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2015-12-18 14:24:23 +0100
+Date: 2016-02-11 16:18:00 +0100
- pkcs7: eliminated leak in gnutls_pkcs7_print
+ doc update
-commit af02825492b671a30e131f4a4e21b261b03c8b6b
+commit ca7885241de90a0e9e80456203f3f49d941ec1c2
Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2015-12-18 13:56:31 +0100
+Date: 2016-02-11 16:13:12 +0100
- gnutls_pubkey_import_privkey: document that this operation is not possible in certain keys
+ tests: resume: check whether the server does not resume in ext master secret mismatch
+
+ Relates #69
-commit 5a27aaf40fcefd4654ccc78044e59dbeaf028760
+commit 87de44f70d9d848b91f4a6b86fb12b7b8a8633ac
Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2015-12-18 11:40:59 +0100
+Date: 2016-02-11 16:10:31 +0100
- doc: replace writev with sendmsg in the list of system calls
+ Ensure that session resumption does not occur when ext master secret status changes
+
+ That is we make sure the server doesn't resume when:
+ 1. Original session had extended master secret but not advertised in resumed
+ 2. Original session did not have extended master secret but is advertised in resumed
+
+ Relates #69
-commit fad54f9abd90b8ef62a1bd6e8e06d4a3fa85ae2f
+commit b0f739c644b4182742bbb5f1485897aabeda6169
Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2015-12-18 10:23:22 +0100
+Date: 2016-02-11 14:45:40 +0100
- tests: don't run the no-signal test in systems which MSG_NOSIGNAL is not available
+ tests: resume: simplified structure assignment using C99 syntax
-commit 3c626a48251ae361ba9823145a6234841322e896
+commit cc82a0942b1866830541e6b0d874a7c95d091525
Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2015-12-18 10:15:10 +0100
+Date: 2016-02-15 10:52:55 +0100
- Reduce the number of used syscalls by using sendmsg() instead of writev()
-
- We relied on sendmsg() anyway for the MSG_NO_SIGNAL version of the calls,
- thus it is a good idea to avoid calling writev() and use sendmsg(). That
- way we reduce the number of calls required for seccomp.
+ tests: added certification generation tests with SHA-3 tests
-commit d0899dbc4344d84a71a3901c489624439fdbe15a
-Author: Alon Bar-Lev &lt;alon.barlev@gmail.com&gt;
-Date: 2015-12-17 19:57:53 +0200
+commit 2b6214dd440b50f4488741b186876e0e52d19c2f
+Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
+Date: 2016-02-15 10:37:57 +0100
- doc: manpages: remove generated tpmtool.1 page
+ Added NIST's OIDs for SHA3 signature algorithms
- Signed-off-by: Alon Bar-Lev &lt;alon.barlev@gmail.com&gt;
+ This allows to generate certificates signed with SHA3.
-commit 6670c53068567cc4ace79c2ce28448a11789e719
-Author: Alon Bar-Lev &lt;alon.barlev@gmail.com&gt;
-Date: 2015-12-17 19:57:52 +0200
+commit 72eed3e63486f756e4861febedf7050a786901ee
+Author: Ludovic Courtès &lt;ludo@gnu.org&gt;
+Date: 2016-02-11 23:04:38 +0100
- .gitignore: add m4/extern-inline.m4
+ guile: Work around lack of 'eval-when' on 1.8.
+
+ * guile/modules/gnutls.in (eval-when) [!guile-2]: New macro.
-commit 6f2dba875cab3b1ba209f4d23b6eb53be5c87016
-Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2015-12-17 14:19:04 +0100
+commit 3a93730169d7d4658ca1e788b17758a4356a0331
+Author: Ludovic Courtès &lt;ludo@gnu.org&gt;
+Date: 2016-02-11 23:04:37 +0100
- tests: added check to verify that the PKCS#7 embedded data are recovered as expected
+ guile: Install modules in versioned directory by default.
+
+ * configure.ac: Change default 'GUILE_SITE' value to include
+ $guile_effective_version.
-commit f49e359fab2bb63eee7a2308d0258b3e2e25a48d
-Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2015-12-17 14:18:17 +0100
+commit 10030021114f9eb52c8dc4f1369a441b6163241b
+Author: Ludovic Courtès &lt;ludo@gnu.org&gt;
+Date: 2016-02-11 23:04:36 +0100
- certtool: introduced the --p7-show-data option
+ guile: build: Make silent rules actually quiet.
- This option allows printing the embedded data in a PKCS#7 signed
- structure.
+ * guile/Makefile.am (.in.scm): Use $(AM_V_GEN) and $(AM_V_at).
+ * guile/src/Makefile.am (enums.h, enum-map.i.c)
+ (smobs.h, smob-types.i.c, %.x): Likewise.
-commit ed8fb55c01d18047c0b3a2e11cc43b965352fa01
-Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2015-12-17 14:17:23 +0100
+commit 3045a96d37f551f60482e9cc74513d60b0590600
+Author: Ludovic Courtès &lt;ludo@gnu.org&gt;
+Date: 2016-02-11 23:04:35 +0100
- gnutls_pkcs7_get_embedded_data: added function
+ guile: Build and install .go files on Guile 2.x.
- This function allows extracting the embedded data from a PKCS#7 signed
- structure.
+ * configure.ac: Check for 'guild' and substitute 'GUILD'. Define
+ 'HAVE_GUILD'. Substitute 'guileobjectdir'. Don't output
+ guile/modules/Makefile and guile/tests/Makefile.
+ * guile/modules/Makefile.am, guile/tests/Makefile.am: Remove. Move
+ contents to...
+ * guile/Makefile.am: ... here.
+ (SUBDIRS): Remove 'modules' and 'tests'.
-commit d7a42b3c5c2f5a346edeb8ad0986ea22d53dd389
-Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2015-12-16 16:13:41 +0100
+commit 92d471b8c10d09795737b695533a43dd08a6b693
+Author: Ludovic Courtès &lt;ludo@gnu.org&gt;
+Date: 2016-02-11 23:04:34 +0100
- tests: updated pkcs7-gen to account for content-type attribute
+ guile: doc: Change prompt in examples.
+
+ * doc/gnutls-guile.texi (Guile Preparations): Use the prompt found in
+ 2.0. Change "libguile-gnutls-v-0" to "guile-gnutls-v-2".
-commit d6f842d5f5b99a39149ffd296633492273680b73
-Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2015-12-16 14:52:39 +0100
+commit cb5b3a38e0c91f6b4c6b9ce9770649c6486c331a
+Author: Ludovic Courtès &lt;ludo@gnu.org&gt;
+Date: 2016-02-11 23:04:33 +0100
- tests: check whether the content-type attribute is set if we sign using time
+ guile: tests: Add Guile 2.2 compatibility layer.
+
+ This allows tests to run with Guile 2.1/2.2.
+
+ * guile/modules/gnutls/build/tests.scm (define-replacement) [guile-2]:
+ New macro.
+ (uniform-vector-read!, uniform-vector-write) [guile-2]: New procedures.
+ * doc/gnutls-guile.texi (Guile Preparations): Mention 2.2.
-commit 7551f1b9d9de2908ab7a4d12b953d9caec497fc2
-Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2015-12-16 14:28:23 +0100
+commit fcf6f8427c55e8b068ada8735098b46597dadc71
+Author: Ludovic Courtès &lt;ludo@gnu.org&gt;
+Date: 2016-02-11 23:04:32 +0100
- pkcs7: set by default the content type attribute
+ guile: tests: Make sure no processes are left behind.
+
+ Before that, child processes would be left behind and become zombies.
- That is a requirement of rfc5652. Relates #59
+ * guile/tests/anonymous-auth.scm, guile/tests/openpgp-auth.scm,
+ guile/tests/session-record-port.scm, guile/tests/x509-auth.scm:
+ Add (waitpid pid) call on the server side.
-commit 6cc022a099f3d13a8da59850a553a050703a01e7
-Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2015-12-16 14:02:56 +0100
+commit 53b7d41a26b3d61a62b2576e30d93f9f8c9aaef6
+Author: Ludovic Courtès &lt;ludo@gnu.org&gt;
+Date: 2016-02-11 23:04:31 +0100
- pkcs7: use the PK_PKIX1_RSA_OID when writing RSA signature OIDs for PKCS#7 structures
+ guile: tests: Add 'with-child-process'.
+
+ This makes sure that child processes always exit no matter what.
- That is because there are implementations which cannot cope with the
- normal RSA signature OIDs. Relates #59
+ * guile/modules/gnutls/build/tests.scm (define-syntax-rule) [!guile-2]:
+ New macro.
+ (call-with-child-process): New procedure.
+ (with-child-process): New macro.
+ * guile/tests/anonymous-auth.scm, guile/tests/openpgp-auth.scm,
+ guile/tests/session-record-port.scm, guile/tests/x509-auth.scm: Use it
+ instead of an explicit 'primitive-fork' call.
+ * guile/.dir-locals.el: New file.
+ * guile/Makefile.am (EXTRA_DIST): New variable.
-commit 0dd5c078ad6db71f60a107dc0cdf78637baeafe1
+commit e6dcb14dbbd3e9e40a1f193a7bf6657e82b88cb9
Author: Nikos Mavrogiannopoulos &lt;nmav@redhat.com&gt;
-Date: 2015-12-16 10:10:20 +0100
+Date: 2016-02-15 09:52:10 +0100
- pkcs7: Disable the optional fields prior to generating the PKCS#7 structure
+ tests: mini-loss-time: ensure client timeouts after the server is
- This resolves issue with our PKCS#7 structures not being parsed by
- MacOSX' tools. Relates #59
+ This addresses issue with the server detecting the client disconnection
+ prior to its timeout. Reported by Steven Chamberlain, Andreas Metzler.
-commit 20323a763bccb048090e9e343b9012361b08bc91
-Author: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
-Date: 2015-12-15 22:28:55 +0100
+commit 20ba8633d7c5f8795d4913a017c70cd6d73b45a1
+Author: Jaak Ristioja &lt;jaak.ristioja@cyber.ee&gt;
+Date: 2016-02-12 16:59:31 +0200
- certtool: corrected invalid free
+ Removed the invariant htype parameter of _gnutls_recv_int()
+
+ All uses of _gnutls_recv_int() passed -1 as the htype argument of type
+ gnutls_handshake_description_t, which had been used for SSLv2 client
+ hellos. Introduced in 2001 with dc1122e7b6.
...</pre></div>
diff --git a/abi-tracker/compat_report/gnutls/3.4.10/current/2455a/abi_compat_report.html b/abi-tracker/compat_report/gnutls/3.4.10/current/2455a/abi_compat_report.html
new file mode 100644
index 0000000000..0e06556d67
--- /dev/null
+++ b/abi-tracker/compat_report/gnutls/3.4.10/current/2455a/abi_compat_report.html
@@ -0,0 +1,442 @@
+<!-- verdict:incompatible;affected:0.1;added:10;removed:1;type_problems_high:0;type_problems_medium:0;type_problems_low:0;interface_problems_high:0;interface_problems_medium:0;interface_problems_low:0;changed_constants:0;tool_version:1.99.14 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta name="keywords" content="libgnutls, binary compatibility, API, report" />
+ <meta name="description" content="Binary compatibility report for the libgnutls object between 3.4.10 and current versions on x86_64" />
+ <title>
+ libgnutls: 3.4.10 to current binary compatibility report
+ </title>
+ <style type="text/css">
+ body {
+ font-family:Arial, sans-serif;
+ background-color:White;
+ color:Black;
+}
+hr {
+ color:Black;
+ background-color:Black;
+ height:1px;
+ border:0;
+}
+h1 {
+ margin-bottom:0px;
+ padding-bottom:0px;
+ font-size:1.625em;
+}
+h2 {
+ margin-bottom:0px;
+ padding-bottom:0px;
+ font-size:1.25em;
+ white-space:nowrap;
+}
+span.section {
+ font-weight:bold;
+ cursor:pointer;
+ color:#003E69;
+ white-space:nowrap;
+ margin-left:5px;
+}
+span.new_sign {
+ font-weight:bold;
+ margin-left:26px;
+ color:#003E69;
+}
+span.new_sign_lbl {
+ margin-left:28px;
+ font-size:0.875em;
+ color:Black;
+}
+span:hover.section {
+ color:#336699;
+}
+span.section_affected {
+ cursor:pointer;
+ margin-left:7px;
+ padding-left:15px;
+ font-size:0.875em;
+ color:#cc3300;
+}
+span.section_info {
+ cursor:pointer;
+ margin-left:7px;
+ padding-left:15px;
+ font-size:0.875em;
+ color:Black;
+}
+span.extendable {
+ font-weight:100;
+}
+span.h_name {
+ color:#cc3300;
+ font-size:0.875em;
+ font-weight:bold;
+}
+div.h_list, div.lib_list {
+ font-size:0.94em;
+ padding-left:5px;
+}
+span.ns {
+ color:#408080;
+ font-size:0.94em;
+}
+span.lib_name {
+ color:Green;
+ font-size:0.875em;
+ font-weight:bold;
+}
+span.iname {
+ font-weight:bold;
+ color:#003E69;
+ margin-left:5px;
+}
+span.iname_b {
+ font-weight:bold;
+ font-size:1.1em;
+}
+span.iname_a {
+ color:#333333;
+ font-weight:bold;
+ font-size:0.94em;
+}
+span.sym_p {
+ font-weight:normal;
+ white-space:normal;
+}
+div.affect {
+ padding-left:15px;
+ padding-bottom:10px;
+ font-size:0.87em;
+ font-style:italic;
+ line-height:0.75em;
+}
+div.affected {
+ padding-left:30px;
+ padding-top:10px;
+}
+table.ptable {
+ border-collapse:collapse;
+ border:1px outset black;
+ line-height:1em;
+ margin-left:15px;
+ margin-top:3px;
+ margin-bottom:3px;
+ width:900px;
+
+}
+table.ptable td {
+ border:1px solid gray;
+ padding: 3px;
+ font-size:0.875em;
+}
+table.vtable {
+ border-collapse:collapse;
+ border:1px outset black;
+ line-height:16px;
+ margin-left:30px;
+ margin-top:10px;
+}
+table.vtable td {
+ border:1px solid gray;
+ word-wrap:break-word;
+ padding: 3px;
+ font-size:0.875em;
+ max-width:450px;
+ vertical-align:top;
+}
+table.ptable th, table.vtable th {
+ background-color:#eeeeee;
+ font-weight:bold;
+ color:#333333;
+ font-family:Verdana, Arial;
+ font-size:0.81em;
+ border:1px solid gray;
+ text-align:center;
+ vertical-align:top;
+ white-space:nowrap;
+ padding: 3px;
+}
+table.summary {
+ border-collapse:collapse;
+ border:1px outset black;
+}
+table.summary th {
+ background-color:#eeeeee;
+ font-weight:100;
+ text-align:left;
+ font-size:0.94em;
+ white-space:nowrap;
+ border:1px inset gray;
+ padding: 3px;
+}
+table.summary td {
+ text-align:right;
+ white-space:nowrap;
+ border:1px inset gray;
+ padding: 3px 5px 3px 10px;
+}
+span.mangled {
+ padding-left:15px;
+ font-size:0.875em;
+ cursor:text;
+ color:#444444;
+}
+span.sym_ver {
+ color:#333333;
+ white-space:nowrap;
+ font-family:"DejaVu Sans Mono", Monospace;
+}
+span.attr {
+ color:#333333;
+ font-weight:100;
+}
+span.color_p {
+ font-style:italic;
+ color:Brown;
+}
+span.param {
+ font-style:italic;
+}
+span.focus_p {
+ font-style:italic;
+ /* color:Red; */
+ background-color:#FFCCCC;
+}
+span.ttype {
+ font-weight:100;
+}
+span.nowrap {
+ white-space:nowrap;
+}
+span.value {
+ white-space:nowrap;
+ font-weight:bold;
+}
+td.passed {
+ background-color:#CCFFCC;
+}
+td.warning {
+ background-color:#F4F4AF;
+}
+td.failed {
+ background-color:#FFCCCC;
+}
+td.new {
+ background-color:#C6DEFF;
+}
+.top_ref {
+ font-size:0.69em;
+}
+.footer {
+ font-size:0.75em;
+}
+
+ </style>
+ <script type="text/javascript" language="JavaScript">
+ <!--
+ function showContent(header, id)
+{
+ e = document.getElementById(id);
+ if(e.style.display == 'none')
+ {
+ e.style.display = 'block';
+ e.style.visibility = 'visible';
+ header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[&minus;]");
+ }
+ else
+ {
+ e.style.display = 'none';
+ e.style.visibility = 'hidden';
+ header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[+]");
+ }
+}
+ -->
+ </script>
+ </head>
+<body>
+<div><a name='Top'></a>
+<h1>Binary compatibility report for the <span style='color:Blue;'>libgnutls.so</span> object between <span style='color:Red;'>3.4.10</span> and <span style='color:Red;'>current</span> versions on <span style='color:Blue;'>x86_64</span></h1>
+
+<h2>Test Info</h2><hr/>
+<table class='summary'>
+<tr><th>Module Name</th><td>libgnutls</td></tr>
+<tr><th>Version #1</th><td>3.4.10</td></tr>
+<tr><th>Version #2</th><td>current</td></tr>
+<tr><th>CPU Type</th><td>x86_64</td></tr>
+</table>
+<h2>Test Results</h2><hr/>
+<table class='summary'><tr><th>Total Header Files</th><td><a href='#Headers' style='color:Blue;'>15</a></td></tr>
+<tr><th>Total Source Files</th><td><a href='#Sources' style='color:Blue;'>100</a></td></tr>
+<tr><th>Total Objects</th><td><a href='#Libs' style='color:Blue;'>1</a></td></tr>
+<tr><th>Total Symbols / Types</th><td>935 / 453</td></tr>
+<tr><th>Verdict</th><td><span style='color:Red;'><b>Incompatible<br/>(0.1%)</b></span></td></tr>
+</table>
+<h2>Problem Summary</h2><hr/>
+<table class='summary'><tr><th></th><th style='text-align:center;'>Severity</th><th style='text-align:center;'>Count</th></tr><tr><th>Added Symbols</th><td>-</td><td class='new'><a href='#Added' style='color:Blue;'>10</a></td></tr>
+<tr><th>Removed Symbols</th><td>High</td><td class='failed'><a href='#Removed' style='color:Blue;'>1</a></td></tr>
+<tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td>0</td></tr>
+<tr><td>Medium</td><td>0</td></tr>
+<tr><td>Low</td><td>0</td></tr>
+<tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td>0</td></tr>
+<tr><td>Medium</td><td>0</td></tr>
+<tr><td>Low</td><td>0</td></tr>
+<tr><th>Problems with<br/>Constants</th><td>Low</td><td>0</td></tr>
+</table>
+
+<a name='Added'></a><h2>Added Symbols (10)</h2><hr/>
+<span class='h_name'>abstract.h</span>, <span class='lib_name'>libgnutls.so.30.6.0</span><br/>
+<span class="iname">gnutls_privkey_generate2&#160;<span class='sym_p'>(&#160;gnutls_privkey_t <span class='color_p'>pkey</span>, gnutls_pk_algorithm_t <span class='color_p'>algo</span>, unsigned int <span class='color_p'>bits</span>, unsigned int <span class='color_p'>flags</span>, gnutls_keygen_data_st const* <span class='color_p'>data</span>, <span class='nowrap'>unsigned int <span class='color_p'>data_size</span> )</span></span><span class='sym_ver'>&#160;@@&#160;GNUTLS_3_4</span></span><br/>
+<span class="iname">gnutls_privkey_get_seed&#160;<span class='sym_p'>(&#160;gnutls_privkey_t <span class='color_p'>key</span>, gnutls_digest_algorithm_t* <span class='color_p'>digest</span>, <span class='nowrap'>void* <span class='color_p'>seed</span>,</span> <span class='nowrap'>size_t* <span class='color_p'>seed_size</span> )</span></span><span class='sym_ver'>&#160;@@&#160;GNUTLS_3_4</span></span><br/>
+<span class="iname">gnutls_privkey_set_flags&#160;<span class='sym_p'>(&#160;gnutls_privkey_t <span class='color_p'>key</span>, <span class='nowrap'>unsigned int <span class='color_p'>flags</span> )</span></span><span class='sym_ver'>&#160;@@&#160;GNUTLS_3_4</span></span><br/>
+<span class="iname">gnutls_privkey_verify_seed&#160;<span class='sym_p'>(&#160;gnutls_privkey_t <span class='color_p'>key</span>, gnutls_digest_algorithm_t <span class='color_p'>digest</span>, void const* <span class='color_p'>seed</span>, <span class='nowrap'>size_t <span class='color_p'>seed_size</span> )</span></span><span class='sym_ver'>&#160;@@&#160;GNUTLS_3_4</span></span><br/>
+<br/>
+<span class='h_name'>crypto.h</span>, <span class='lib_name'>libgnutls.so.30.6.0</span><br/>
+<span class="iname">gnutls_decode_ber_digest_info&#160;<span class='sym_p'>(&#160;gnutls_datum_t const* <span class='color_p'>info</span>, gnutls_digest_algorithm_t* <span class='color_p'>hash</span>, unsigned char* <span class='color_p'>digest</span>, <span class='nowrap'>unsigned int* <span class='color_p'>digest_size</span> )</span></span><span class='sym_ver'>&#160;@@&#160;GNUTLS_3_4</span></span><br/>
+<span class="iname">gnutls_encode_ber_digest_info&#160;<span class='sym_p'>(&#160;gnutls_digest_algorithm_t <span class='color_p'>hash</span>, gnutls_datum_t const* <span class='color_p'>digest</span>, <span class='nowrap'>gnutls_datum_t* <span class='color_p'>output</span> )</span></span><span class='sym_ver'>&#160;@@&#160;GNUTLS_3_4</span></span><br/>
+<br/>
+<span class='h_name'>x509.h</span>, <span class='lib_name'>libgnutls.so.30.6.0</span><br/>
+<span class="iname">gnutls_x509_privkey_generate2&#160;<span class='sym_p'>(&#160;gnutls_x509_privkey_t <span class='color_p'>key</span>, gnutls_pk_algorithm_t <span class='color_p'>algo</span>, unsigned int <span class='color_p'>bits</span>, unsigned int <span class='color_p'>flags</span>, gnutls_keygen_data_st const* <span class='color_p'>data</span>, <span class='nowrap'>unsigned int <span class='color_p'>data_size</span> )</span></span><span class='sym_ver'>&#160;@@&#160;GNUTLS_3_4</span></span><br/>
+<span class="iname">gnutls_x509_privkey_get_seed&#160;<span class='sym_p'>(&#160;gnutls_x509_privkey_t <span class='color_p'>key</span>, gnutls_digest_algorithm_t* <span class='color_p'>digest</span>, <span class='nowrap'>void* <span class='color_p'>seed</span>,</span> <span class='nowrap'>size_t* <span class='color_p'>seed_size</span> )</span></span><span class='sym_ver'>&#160;@@&#160;GNUTLS_3_4</span></span><br/>
+<span class="iname">gnutls_x509_privkey_set_flags&#160;<span class='sym_p'>(&#160;gnutls_x509_privkey_t <span class='color_p'>key</span>, <span class='nowrap'>unsigned int <span class='color_p'>flags</span> )</span></span><span class='sym_ver'>&#160;@@&#160;GNUTLS_3_4</span></span><br/>
+<span class="iname">gnutls_x509_privkey_verify_seed&#160;<span class='sym_p'>(&#160;gnutls_x509_privkey_t <span class='color_p'>key</span>, gnutls_digest_algorithm_t <span class='color_p'>digest</span>, void const* <span class='color_p'>seed</span>, <span class='nowrap'>size_t <span class='color_p'>seed_size</span> )</span></span><span class='sym_ver'>&#160;@@&#160;GNUTLS_3_4</span></span><br/>
+<br/>
+<a class='top_ref' href='#Top'>to the top</a><br/>
+<a name='Removed'></a><a name='Withdrawn'></a><h2>Removed Symbols (1)</h2><hr/>
+<span class='h_name'>pkcs7.h</span>, <span class='lib_name'>libgnutls.so.30.6.2</span><br/>
+<span class="iname">gnutls_pkcs7_get_embedded_data&#160;<span class='sym_p'>(&#160;gnutls_pkcs7_t <span class='color_p'>pkcs7</span>, unsigned int <span class='color_p'>idx</span>, <span class='nowrap'>gnutls_datum_t* <span class='color_p'>data</span> )</span></span><span class='sym_ver'>&#160;@@&#160;GNUTLS_3_4</span></span><br/>
+<br/>
+<a class='top_ref' href='#Top'>to the top</a><br/>
+<a name='Headers'></a><h2>Header Files (15)</h2><hr/>
+<div class='h_list'>
+abstract.h<br/>
+compat.h<br/>
+crypto.h<br/>
+dtls.h<br/>
+gnutls.h<br/>
+ocsp.h<br/>
+openpgp.h<br/>
+pkcs11.h<br/>
+pkcs12.h<br/>
+pkcs7.h<br/>
+system-keys.h<br/>
+tpm.h<br/>
+urls.h<br/>
+x509-ext.h<br/>
+x509.h<br/>
+</div>
+<br/><a class='top_ref' href='#Top'>to the top</a><br/>
+<a name='Sources'></a><h2>Source Files (100)</h2><hr/>
+<div class='h_list'>
+alpn.c<br/>
+auto-verify.c<br/>
+cert_types.c<br/>
+ciphers.c<br/>
+ciphersuites.c<br/>
+common.c<br/>
+crl.c<br/>
+crl_write.c<br/>
+crq.c<br/>
+crypto-api.c<br/>
+crypto-backend.c<br/>
+debug.c<br/>
+dn.c<br/>
+ecc.c<br/>
+email-verify.c<br/>
+etm.c<br/>
+ext_master_secret.c<br/>
+extensions.c<br/>
+extras.c<br/>
+fips.c<br/>
+gnutls_alert.c<br/>
+gnutls_anon_cred.c<br/>
+gnutls_auth.c<br/>
+gnutls_buffers.c<br/>
+gnutls_cert.c<br/>
+gnutls_compress.c<br/>
+gnutls_db.c<br/>
+gnutls_dh.c<br/>
+gnutls_dtls.c<br/>
+gnutls_errors.c<br/>
+gnutls_extensions.c<br/>
+gnutls_global.c<br/>
+gnutls_handshake.c<br/>
+gnutls_mem.c<br/>
+gnutls_openpgp.c<br/>
+gnutls_pcert.c<br/>
+gnutls_priority.c<br/>
+gnutls_privkey.c<br/>
+gnutls_privkey_raw.c<br/>
+gnutls_psk.c<br/>
+gnutls_pubkey.c<br/>
+gnutls_range.c<br/>
+gnutls_record.c<br/>
+gnutls_session.c<br/>
+gnutls_session_pack.c<br/>
+gnutls_srp.c<br/>
+gnutls_state.c<br/>
+gnutls_str.c<br/>
+gnutls_supplemental.c<br/>
+gnutls_ui.c<br/>
+gnutls_x509.c<br/>
+heartbeat.c<br/>
+hostname-verify.c<br/>
+kx.c<br/>
+locks.c<br/>
+mac.c<br/>
+max_record.c<br/>
+name_constraints.c<br/>
+ocsp.c<br/>
+ocsp_output.c<br/>
+output.c<br/>
+pgp.c<br/>
+pgpverify.c<br/>
+pin.c<br/>
+pkcs12.c<br/>
+pkcs12_bag.c<br/>
+pkcs7-attrs.c<br/>
+pkcs7-output.c<br/>
+pkcs7.c<br/>
+privkey.c<br/>
+privkey_openssl.c<br/>
+privkey_pkcs8.c<br/>
+protocols.c<br/>
+publickey.c<br/>
+random.c<br/>
+safe-memfuncs.c<br/>
+safe_renegotiation.c<br/>
+secparams.c<br/>
+server_name.c<br/>
+session_ticket.c<br/>
+sign.c<br/>
+signature.c<br/>
+srp.c<br/>
+srp_sb64.c<br/>
+srtp.c<br/>
+status_request.c<br/>
+system-keys-dummy.c<br/>
+system.c<br/>
+system_override.c<br/>
+tpm.c<br/>
+urls.c<br/>
+verify-high.c<br/>
+verify-high2.c<br/>
+verify-tofu.c<br/>
+verify.c<br/>
+x509.c<br/>
+x509_b64.c<br/>
+x509_dn.c<br/>
+x509_ext.c<br/>
+x509_write.c<br/>
+</div>
+<br/><a class='top_ref' href='#Top'>to the top</a><br/>
+<a name='Libs'></a><h2>Objects (1)</h2><hr/>
+<div class='lib_list'>
+libgnutls.so.30.6.2<br/>
+</div>
+<br/><a class='top_ref' href='#Top'>to the top</a><br/>
+</div>
+<br/><br/><br/>
+<hr/><div class='footer' align='right'><i>Generated by <a href='http://lvc.github.io/abi-compliance-checker/'>ABI Compliance Checker</a> 1.99.14 &#160;</i></div><br/>
+
+</body></html>
diff --git a/abi-tracker/compat_report/gnutls/3.4.10/current/2455a/meta.json b/abi-tracker/compat_report/gnutls/3.4.10/current/2455a/meta.json
new file mode 100644
index 0000000000..6c266a59ee
--- /dev/null
+++ b/abi-tracker/compat_report/gnutls/3.4.10/current/2455a/meta.json
@@ -0,0 +1,8 @@
+{
+ "Affected": "0.1",
+ "Added": 10,
+ "Removed": 1,
+ "TotalProblems": 0,
+ "Object1": "lib/libgnutls.so.30.6.2",
+ "Object2": "lib/libgnutls.so.30.6.0"
+} \ No newline at end of file
diff --git a/abi-tracker/compat_report/gnutls/3.4.9/3.4.10/ab52f/abi_compat_report.html b/abi-tracker/compat_report/gnutls/3.4.9/3.4.10/ab52f/abi_compat_report.html
new file mode 100644
index 0000000000..bf896630f9
--- /dev/null
+++ b/abi-tracker/compat_report/gnutls/3.4.9/3.4.10/ab52f/abi_compat_report.html
@@ -0,0 +1,419 @@
+<!-- verdict:compatible;affected:0;added:0;removed:0;type_problems_high:0;type_problems_medium:0;type_problems_low:0;interface_problems_high:0;interface_problems_medium:0;interface_problems_low:0;changed_constants:0;tool_version:1.99.14 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta name="keywords" content="libgnutls, binary compatibility, API, report" />
+ <meta name="description" content="Binary compatibility report for the libgnutls object between 3.4.9 and 3.4.10 versions on x86_64" />
+ <title>
+ libgnutls: 3.4.9 to 3.4.10 binary compatibility report
+ </title>
+ <style type="text/css">
+ body {
+ font-family:Arial, sans-serif;
+ background-color:White;
+ color:Black;
+}
+hr {
+ color:Black;
+ background-color:Black;
+ height:1px;
+ border:0;
+}
+h1 {
+ margin-bottom:0px;
+ padding-bottom:0px;
+ font-size:1.625em;
+}
+h2 {
+ margin-bottom:0px;
+ padding-bottom:0px;
+ font-size:1.25em;
+ white-space:nowrap;
+}
+span.section {
+ font-weight:bold;
+ cursor:pointer;
+ color:#003E69;
+ white-space:nowrap;
+ margin-left:5px;
+}
+span.new_sign {
+ font-weight:bold;
+ margin-left:26px;
+ color:#003E69;
+}
+span.new_sign_lbl {
+ margin-left:28px;
+ font-size:0.875em;
+ color:Black;
+}
+span:hover.section {
+ color:#336699;
+}
+span.section_affected {
+ cursor:pointer;
+ margin-left:7px;
+ padding-left:15px;
+ font-size:0.875em;
+ color:#cc3300;
+}
+span.section_info {
+ cursor:pointer;
+ margin-left:7px;
+ padding-left:15px;
+ font-size:0.875em;
+ color:Black;
+}
+span.extendable {
+ font-weight:100;
+}
+span.h_name {
+ color:#cc3300;
+ font-size:0.875em;
+ font-weight:bold;
+}
+div.h_list, div.lib_list {
+ font-size:0.94em;
+ padding-left:5px;
+}
+span.ns {
+ color:#408080;
+ font-size:0.94em;
+}
+span.lib_name {
+ color:Green;
+ font-size:0.875em;
+ font-weight:bold;
+}
+span.iname {
+ font-weight:bold;
+ color:#003E69;
+ margin-left:5px;
+}
+span.iname_b {
+ font-weight:bold;
+ font-size:1.1em;
+}
+span.iname_a {
+ color:#333333;
+ font-weight:bold;
+ font-size:0.94em;
+}
+span.sym_p {
+ font-weight:normal;
+ white-space:normal;
+}
+div.affect {
+ padding-left:15px;
+ padding-bottom:10px;
+ font-size:0.87em;
+ font-style:italic;
+ line-height:0.75em;
+}
+div.affected {
+ padding-left:30px;
+ padding-top:10px;
+}
+table.ptable {
+ border-collapse:collapse;
+ border:1px outset black;
+ line-height:1em;
+ margin-left:15px;
+ margin-top:3px;
+ margin-bottom:3px;
+ width:900px;
+
+}
+table.ptable td {
+ border:1px solid gray;
+ padding: 3px;
+ font-size:0.875em;
+}
+table.vtable {
+ border-collapse:collapse;
+ border:1px outset black;
+ line-height:16px;
+ margin-left:30px;
+ margin-top:10px;
+}
+table.vtable td {
+ border:1px solid gray;
+ word-wrap:break-word;
+ padding: 3px;
+ font-size:0.875em;
+ max-width:450px;
+ vertical-align:top;
+}
+table.ptable th, table.vtable th {
+ background-color:#eeeeee;
+ font-weight:bold;
+ color:#333333;
+ font-family:Verdana, Arial;
+ font-size:0.81em;
+ border:1px solid gray;
+ text-align:center;
+ vertical-align:top;
+ white-space:nowrap;
+ padding: 3px;
+}
+table.summary {
+ border-collapse:collapse;
+ border:1px outset black;
+}
+table.summary th {
+ background-color:#eeeeee;
+ font-weight:100;
+ text-align:left;
+ font-size:0.94em;
+ white-space:nowrap;
+ border:1px inset gray;
+ padding: 3px;
+}
+table.summary td {
+ text-align:right;
+ white-space:nowrap;
+ border:1px inset gray;
+ padding: 3px 5px 3px 10px;
+}
+span.mangled {
+ padding-left:15px;
+ font-size:0.875em;
+ cursor:text;
+ color:#444444;
+}
+span.sym_ver {
+ color:#333333;
+ white-space:nowrap;
+ font-family:"DejaVu Sans Mono", Monospace;
+}
+span.attr {
+ color:#333333;
+ font-weight:100;
+}
+span.color_p {
+ font-style:italic;
+ color:Brown;
+}
+span.param {
+ font-style:italic;
+}
+span.focus_p {
+ font-style:italic;
+ /* color:Red; */
+ background-color:#FFCCCC;
+}
+span.ttype {
+ font-weight:100;
+}
+span.nowrap {
+ white-space:nowrap;
+}
+span.value {
+ white-space:nowrap;
+ font-weight:bold;
+}
+td.passed {
+ background-color:#CCFFCC;
+}
+td.warning {
+ background-color:#F4F4AF;
+}
+td.failed {
+ background-color:#FFCCCC;
+}
+td.new {
+ background-color:#C6DEFF;
+}
+.top_ref {
+ font-size:0.69em;
+}
+.footer {
+ font-size:0.75em;
+}
+
+ </style>
+ <script type="text/javascript" language="JavaScript">
+ <!--
+ function showContent(header, id)
+{
+ e = document.getElementById(id);
+ if(e.style.display == 'none')
+ {
+ e.style.display = 'block';
+ e.style.visibility = 'visible';
+ header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[&minus;]");
+ }
+ else
+ {
+ e.style.display = 'none';
+ e.style.visibility = 'hidden';
+ header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[+]");
+ }
+}
+ -->
+ </script>
+ </head>
+<body>
+<div><a name='Top'></a>
+<h1>Binary compatibility report for the <span style='color:Blue;'>libgnutls.so</span> object between <span style='color:Red;'>3.4.9</span> and <span style='color:Red;'>3.4.10</span> versions on <span style='color:Blue;'>x86_64</span></h1>
+
+<h2>Test Info</h2><hr/>
+<table class='summary'>
+<tr><th>Module Name</th><td>libgnutls</td></tr>
+<tr><th>Version #1</th><td>3.4.9</td></tr>
+<tr><th>Version #2</th><td>3.4.10</td></tr>
+<tr><th>CPU Type</th><td>x86_64</td></tr>
+</table>
+<h2>Test Results</h2><hr/>
+<table class='summary'><tr><th>Total Header Files</th><td><a href='#Headers' style='color:Blue;'>15</a></td></tr>
+<tr><th>Total Source Files</th><td><a href='#Sources' style='color:Blue;'>100</a></td></tr>
+<tr><th>Total Objects</th><td><a href='#Libs' style='color:Blue;'>1</a></td></tr>
+<tr><th>Total Symbols / Types</th><td>986 / 473</td></tr>
+<tr><th>Verdict</th><td><span style='color:Green;'><b>Compatible</b></span></td></tr>
+</table>
+<h2>Problem Summary</h2><hr/>
+<table class='summary'><tr><th></th><th style='text-align:center;'>Severity</th><th style='text-align:center;'>Count</th></tr><tr><th>Added Symbols</th><td>-</td><td>0</td></tr>
+<tr><th>Removed Symbols</th><td>High</td><td>0</td></tr>
+<tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td>0</td></tr>
+<tr><td>Medium</td><td>0</td></tr>
+<tr><td>Low</td><td>0</td></tr>
+<tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td>0</td></tr>
+<tr><td>Medium</td><td>0</td></tr>
+<tr><td>Low</td><td>0</td></tr>
+<tr><th>Problems with<br/>Constants</th><td>Low</td><td>0</td></tr>
+</table>
+
+<a name='Headers'></a><h2>Header Files (15)</h2><hr/>
+<div class='h_list'>
+abstract.h<br/>
+compat.h<br/>
+crypto.h<br/>
+dtls.h<br/>
+gnutls.h<br/>
+ocsp.h<br/>
+openpgp.h<br/>
+pkcs11.h<br/>
+pkcs12.h<br/>
+pkcs7.h<br/>
+system-keys.h<br/>
+tpm.h<br/>
+urls.h<br/>
+x509-ext.h<br/>
+x509.h<br/>
+</div>
+<br/><a class='top_ref' href='#Top'>to the top</a><br/>
+<a name='Sources'></a><h2>Source Files (100)</h2><hr/>
+<div class='h_list'>
+alpn.c<br/>
+auto-verify.c<br/>
+cert_types.c<br/>
+ciphers.c<br/>
+ciphersuites.c<br/>
+common.c<br/>
+crl.c<br/>
+crl_write.c<br/>
+crq.c<br/>
+crypto-api.c<br/>
+crypto-backend.c<br/>
+debug.c<br/>
+dn.c<br/>
+ecc.c<br/>
+email-verify.c<br/>
+etm.c<br/>
+ext_master_secret.c<br/>
+extensions.c<br/>
+extras.c<br/>
+fips.c<br/>
+gnutls_alert.c<br/>
+gnutls_anon_cred.c<br/>
+gnutls_auth.c<br/>
+gnutls_buffers.c<br/>
+gnutls_cert.c<br/>
+gnutls_compress.c<br/>
+gnutls_db.c<br/>
+gnutls_dh.c<br/>
+gnutls_dtls.c<br/>
+gnutls_errors.c<br/>
+gnutls_extensions.c<br/>
+gnutls_global.c<br/>
+gnutls_handshake.c<br/>
+gnutls_mem.c<br/>
+gnutls_openpgp.c<br/>
+gnutls_pcert.c<br/>
+gnutls_priority.c<br/>
+gnutls_privkey.c<br/>
+gnutls_privkey_raw.c<br/>
+gnutls_psk.c<br/>
+gnutls_pubkey.c<br/>
+gnutls_range.c<br/>
+gnutls_record.c<br/>
+gnutls_session.c<br/>
+gnutls_session_pack.c<br/>
+gnutls_srp.c<br/>
+gnutls_state.c<br/>
+gnutls_str.c<br/>
+gnutls_supplemental.c<br/>
+gnutls_ui.c<br/>
+gnutls_x509.c<br/>
+heartbeat.c<br/>
+hostname-verify.c<br/>
+kx.c<br/>
+locks.c<br/>
+mac.c<br/>
+max_record.c<br/>
+name_constraints.c<br/>
+ocsp.c<br/>
+ocsp_output.c<br/>
+output.c<br/>
+pgp.c<br/>
+pgpverify.c<br/>
+pin.c<br/>
+pkcs12.c<br/>
+pkcs12_bag.c<br/>
+pkcs7-attrs.c<br/>
+pkcs7-output.c<br/>
+pkcs7.c<br/>
+privkey.c<br/>
+privkey_openssl.c<br/>
+privkey_pkcs8.c<br/>
+protocols.c<br/>
+publickey.c<br/>
+random.c<br/>
+safe-memfuncs.c<br/>
+safe_renegotiation.c<br/>
+secparams.c<br/>
+server_name.c<br/>
+session_ticket.c<br/>
+sign.c<br/>
+signature.c<br/>
+srp.c<br/>
+srp_sb64.c<br/>
+srtp.c<br/>
+status_request.c<br/>
+system-keys-dummy.c<br/>
+system.c<br/>
+system_override.c<br/>
+tpm.c<br/>
+urls.c<br/>
+verify-high.c<br/>
+verify-high2.c<br/>
+verify-tofu.c<br/>
+verify.c<br/>
+x509.c<br/>
+x509_b64.c<br/>
+x509_dn.c<br/>
+x509_ext.c<br/>
+x509_write.c<br/>
+</div>
+<br/><a class='top_ref' href='#Top'>to the top</a><br/>
+<a name='Libs'></a><h2>Objects (1)</h2><hr/>
+<div class='lib_list'>
+libgnutls.so.30.6.1<br/>
+</div>
+<br/><a class='top_ref' href='#Top'>to the top</a><br/>
+</div>
+<br/><br/><br/>
+<hr/><div class='footer' align='right'><i>Generated by <a href='http://lvc.github.io/abi-compliance-checker/'>ABI Compliance Checker</a> 1.99.14 &#160;</i></div><br/>
+
+</body></html>
diff --git a/abi-tracker/compat_report/gnutls/3.4.9/3.4.10/ab52f/meta.json b/abi-tracker/compat_report/gnutls/3.4.9/3.4.10/ab52f/meta.json
new file mode 100644
index 0000000000..a47fb139f9
--- /dev/null
+++ b/abi-tracker/compat_report/gnutls/3.4.9/3.4.10/ab52f/meta.json
@@ -0,0 +1,8 @@
+{
+ "Affected": "0",
+ "Added": 0,
+ "Removed": 0,
+ "TotalProblems": 0,
+ "Object1": "lib/libgnutls.so.30.6.1",
+ "Object2": "lib/libgnutls.so.30.6.2"
+} \ No newline at end of file
diff --git a/abi-tracker/gnutls.json b/abi-tracker/gnutls.json
index 4cc296dcda..6b231e8df9 100644
--- a/abi-tracker/gnutls.json
+++ b/abi-tracker/gnutls.json
@@ -22,6 +22,16 @@
"PublicTypes": "public_types/gnutls/current/list"
},
{
+ "Number": "3.4.10",
+ "Installed": "installed/gnutls/3.4.10",
+ "Source": "src/gnutls/3.4.10/gnutls-3.4.10.tar.xz",
+ "Changelog": "NEWS",
+ "HeadersDiff": "On",
+ "PkgDiff": "Off",
+ "ABIView": "Off",
+ "ABIDiff": "Off"
+ },
+ {
"Number": "3.4.9",
"Installed": "installed/gnutls/3.4.9",
"Source": "src/gnutls/3.4.9/gnutls-3.4.9.tar.xz",
diff --git a/abi-tracker/headers_diff/gnutls/3.4.10/current/diff.html b/abi-tracker/headers_diff/gnutls/3.4.10/current/diff.html
new file mode 100644
index 0000000000..6a6d094327
--- /dev/null
+++ b/abi-tracker/headers_diff/gnutls/3.4.10/current/diff.html
@@ -0,0 +1,912 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta name="keywords" content="GnuTLS, header, diff" />
+ <meta name="description" content="Diff for header files between 3.4.10 and current versions of gnutls" />
+ <link rel="stylesheet" type="text/css" href="../../../../css/common.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../css/headers_diff.css" />
+
+
+ <title>
+ GnuTLS: headers diff between 3.4.10 and current versions
+ </title>
+
+ </head>
+
+<body>
+<table width='100%' cellpadding='0' cellspacing='0'><tr><td><table cellpadding='0' cellspacing='0'><tr><td align='center'><h1 class='tool'><a title='Home: ABI tracker for GnuTLS' href='../../../../timeline/gnutls/index.html' class='tool'>ABI<br/>Tracker</a></h1></td><td width='30px;'></td><td><h1>(GnuTLS)</h1></td></tr></table><hr/>
+<br/>
+<br/>
+<h1>Headers diff: <span class='version'>3.4.10</span> vs <span class='version'>current</span></h1><br/><br/>
+ <table class='diff_tbl' border="0" cellpadding="0" cellspacing="0">
+ <tr bgcolor="orange"><th></th><th>&nbsp;abstract.h (3.4.10)&nbsp;</th><th> </th><th>&nbsp;abstract.h (current)&nbsp;</th><th></th></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr bgcolor="gray" ><td></td><th><a name="part-l1" /><small>skipping to change at</small><em> line 246</em></th><th> </th><th><a name="part-r1" /><small>skipping to change at</small><em> line 246</em></th><td></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * and gnutls_x509_privkey_generate() */</td><td> </td><td class="right"> * and gnutls_x509_privkey_generate() */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_SUBGROUP_TO_BITS(group, subgroup) (unsigned int)((subgroup&lt;&lt;
+16)|(group))</td><td> </td><td class="right">#define GNUTLS_SUBGROUP_TO_BITS(group, subgroup) (unsigned int)((subgroup&lt;&lt;
+16)|(group))</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_BITS_TO_SUBGROUP(bits) ((bits &gt;&gt; 16) &amp; 0xFFFF)</td><td> </td><td class="right">#define GNUTLS_BITS_TO_SUBGROUP(bits) ((bits &gt;&gt; 16) &amp; 0xFFFF)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_BITS_TO_GROUP(bits) (bits &amp; 0xFFFF)</td><td> </td><td class="right">#define GNUTLS_BITS_TO_GROUP(bits) (bits &amp; 0xFFFF)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_BITS_HAVE_SUBGROUP(bits) ((bits) &amp; 0xFFFF0000)</td><td> </td><td class="right">#define GNUTLS_BITS_HAVE_SUBGROUP(bits) ((bits) &amp; 0xFFFF0000)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int</td><td> </td><td class="right">int</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">gnutls_privkey_generate (gnutls_privkey_t key,</td><td> </td><td class="right">gnutls_privkey_generate (gnutls_privkey_t key,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> gnutls_pk_algorithm_t algo, unsigned int bits,</td><td> </td><td class="right"> gnutls_pk_algorithm_t algo, unsigned int bits,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> unsigned int flags);</td><td> </td><td class="right"> unsigned int flags);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0001" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">int</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">gnutls_privkey_generate2(gnutls_privkey_t pkey,</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> gnutls_pk_algorithm_t algo, unsigned int bits,</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> unsigned int flags, const gnutls_keygen_data_st *da</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">ta, unsigned data_size);</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">int gnutls_privkey_verify_seed(gnutls_privkey_t key, gnutls_digest_algorith</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">m_t, const void *seed, size_t seed_size);</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">int gnutls_privkey_get_seed(gnutls_privkey_t key, gnutls_digest_algorithm_t</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">*, void *seed, size_t *seed_size);</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_privkey_verify_params(gnutls_privkey_t key);</td><td> </td><td class="right">int gnutls_privkey_verify_params(gnutls_privkey_t key);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0002" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">void gnutls_privkey_set_flags(gnutls_privkey_t key, unsigned int flags);</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> </td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">void gnutls_privkey_set_pin_function (gnutls_privkey_t key,</td><td> </td><td class="right">void gnutls_privkey_set_pin_function (gnutls_privkey_t key,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> gnutls_pin_callback_t fn, void *userd
+ata);</td><td> </td><td class="right"> gnutls_pin_callback_t fn, void *userd
+ata);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_privkey_get_pk_algorithm(gnutls_privkey_t key,</td><td> </td><td class="right">int gnutls_privkey_get_pk_algorithm(gnutls_privkey_t key,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> unsigned int *bits);</td><td> </td><td class="right"> unsigned int *bits);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">gnutls_privkey_type_t gnutls_privkey_get_type(gnutls_privkey_t key);</td><td> </td><td class="right">gnutls_privkey_type_t gnutls_privkey_get_type(gnutls_privkey_t key);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_privkey_status(gnutls_privkey_t key);</td><td> </td><td class="right">int gnutls_privkey_status(gnutls_privkey_t key);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * gnutls_privkey_flags:</td><td> </td><td class="right"> * gnutls_privkey_flags:</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA: Make an RSA signature on the hashed
+data as in the TLS protocol.</td><td> </td><td class="right"> * @GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA: Make an RSA signature on the hashed
+data as in the TLS protocol.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE: When importing a private key, autom
+atically</td><td> </td><td class="right"> * @GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE: When importing a private key, autom
+atically</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * release it when the structure it was imported is released.</td><td> </td><td class="right"> * release it when the structure it was imported is released.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_PRIVKEY_IMPORT_COPY: Copy required values during import.</td><td> </td><td class="right"> * @GNUTLS_PRIVKEY_IMPORT_COPY: Copy required values during import.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_PRIVKEY_DISABLE_CALLBACKS: The following flag disables call to P
+IN callbacks etc.</td><td> </td><td class="right"> * @GNUTLS_PRIVKEY_DISABLE_CALLBACKS: The following flag disables call to P
+IN callbacks etc.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Only relevant to TPM keys.</td><td> </td><td class="right"> * Only relevant to TPM keys.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0003" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> <span class="insert">* @GNUTLS_PRIVKEY_FLAG_PROVABLE: When generating a key involving prime num</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">bers, use provable primes; a seed may be required.</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * @GNUTLS_PRIVKEY_FLAG_EXPORT_COMPAT: Keys generated or imported as provab</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">le require an extended format which cannot be read by previous versions</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * of gnutls or other applications. By setting this flag the key will be </span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">exported in a backwards compatible way,</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * even if the information about the seed used will be lost.</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Enumeration of different certificate import flags.</td><td> </td><td class="right"> * Enumeration of different certificate import flags.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef enum gnutls_privkey_flags {</td><td> </td><td class="right">typedef enum gnutls_privkey_flags {</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE = 1,</td><td> </td><td class="right"> GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE = 1,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_PRIVKEY_IMPORT_COPY = 1 &lt;&lt; 1,</td><td> </td><td class="right"> GNUTLS_PRIVKEY_IMPORT_COPY = 1 &lt;&lt; 1,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_PRIVKEY_DISABLE_CALLBACKS = 1 &lt;&lt; 2,</td><td> </td><td class="right"> GNUTLS_PRIVKEY_DISABLE_CALLBACKS = 1 &lt;&lt; 2,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0004" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA = 1 &lt;&lt; <span class="delete">4</span></td><td> </td><td class="rblock"> GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA = 1 &lt;&lt; <span class="insert">4,</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> GNUTLS_PRIVKEY_FLAG_PROVABLE = 1 &lt;&lt; 5,</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> GNUTLS_PRIVKEY_FLAG_EXPORT_COMPAT = 1 &lt;&lt; 6</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">} gnutls_privkey_flags_t;</td><td> </td><td class="right">} gnutls_privkey_flags_t;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_privkey_import_pkcs11(gnutls_privkey_t pkey,</td><td> </td><td class="right">int gnutls_privkey_import_pkcs11(gnutls_privkey_t pkey,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> gnutls_pkcs11_privkey_t key,</td><td> </td><td class="right"> gnutls_pkcs11_privkey_t key,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> unsigned int flags);</td><td> </td><td class="right"> unsigned int flags);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_privkey_import_x509(gnutls_privkey_t pkey,</td><td> </td><td class="right">int gnutls_privkey_import_x509(gnutls_privkey_t pkey,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> gnutls_x509_privkey_t key,</td><td> </td><td class="right"> gnutls_x509_privkey_t key,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> unsigned int flags);</td><td> </td><td class="right"> unsigned int flags);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_privkey_import_openpgp(gnutls_privkey_t pkey,</td><td> </td><td class="right">int gnutls_privkey_import_openpgp(gnutls_privkey_t pkey,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> gnutls_openpgp_privkey_t key,</td><td> </td><td class="right"> gnutls_openpgp_privkey_t key,</td><td class="lineno" valign="top"></td></tr>
+
+ <tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr>
+ <tr bgcolor="gray"><th colspan="5" align="center"><a name="end">&nbsp;End of changes. 4 change blocks.&nbsp;</a></th></tr>
+ <tr class="stats"><td></td><th><i>1 lines changed or deleted</i></th><th><i> </i></th><th><i>22 lines changed or added</i></th><td></td></tr>
+ <tr><td colspan="5" align="center" class="small"></td></tr>
+ </table>
+ <br/><br/>
+
+ <table class='diff_tbl' border="0" cellpadding="0" cellspacing="0">
+ <tr bgcolor="orange"><th></th><th>&nbsp;crypto.h (3.4.10)&nbsp;</th><th> </th><th>&nbsp;crypto.h (current)&nbsp;</th><th></th></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr bgcolor="gray" ><td></td><th><a name="part-l1" /><small>skipping to change at</small><em> line 59</em></th><th> </th><th><a name="part-r1" /><small>skipping to change at</small><em> line 59</em></th><td></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">void gnutls_cipher_set_iv(gnutls_cipher_hd_t handle, void *iv,</td><td> </td><td class="right">void gnutls_cipher_set_iv(gnutls_cipher_hd_t handle, void *iv,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> size_t ivlen);</td><td> </td><td class="right"> size_t ivlen);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_cipher_tag(gnutls_cipher_hd_t handle, void *tag,</td><td> </td><td class="right">int gnutls_cipher_tag(gnutls_cipher_hd_t handle, void *tag,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> size_t tag_size);</td><td> </td><td class="right"> size_t tag_size);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_cipher_add_auth(gnutls_cipher_hd_t handle,</td><td> </td><td class="right">int gnutls_cipher_add_auth(gnutls_cipher_hd_t handle,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> const void *text, size_t text_size);</td><td> </td><td class="right"> const void *text, size_t text_size);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">void gnutls_cipher_deinit(gnutls_cipher_hd_t handle);</td><td> </td><td class="right">void gnutls_cipher_deinit(gnutls_cipher_hd_t handle);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0001" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">int gnutls_cipher_get_block_size(gnutls_cipher_algorithm_t <span class="delete">algorithm);</span></td><td> </td><td class="rblock">int gnutls_cipher_get_block_size(gnutls_cipher_algorithm_t <span class="insert">algorithm) __GNU</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">int gnutls_cipher_get_iv_size(gnutls_cipher_algorithm_t <span class="delete">algorithm);</span></td><td> </td><td class="rblock"><span class="insert">TLS_CONST__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">int gnutls_cipher_get_tag_size(gnutls_cipher_algorithm_t <span class="delete">algorithm);</span></td><td> </td><td class="rblock">int gnutls_cipher_get_iv_size(gnutls_cipher_algorithm_t <span class="insert">algorithm) __GNUTLS</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">_CONST__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">int gnutls_cipher_get_tag_size(gnutls_cipher_algorithm_t <span class="insert">algorithm) __GNUTL</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">S_CONST__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* AEAD API</td><td> </td><td class="right">/* AEAD API</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef struct api_aead_cipher_hd_st *gnutls_aead_cipher_hd_t;</td><td> </td><td class="right">typedef struct api_aead_cipher_hd_st *gnutls_aead_cipher_hd_t;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_aead_cipher_init(gnutls_aead_cipher_hd_t * handle,</td><td> </td><td class="right">int gnutls_aead_cipher_init(gnutls_aead_cipher_hd_t * handle,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> gnutls_cipher_algorithm_t cipher,</td><td> </td><td class="right"> gnutls_cipher_algorithm_t cipher,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> const gnutls_datum_t * key);</td><td> </td><td class="right"> const gnutls_datum_t * key);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int</td><td> </td><td class="right">int</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">gnutls_aead_cipher_decrypt(gnutls_aead_cipher_hd_t handle,</td><td> </td><td class="right">gnutls_aead_cipher_decrypt(gnutls_aead_cipher_hd_t handle,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr bgcolor="gray" ><td></td><th><a name="part-l2" /><small>skipping to change at</small><em> line 92</em></th><th> </th><th><a name="part-r2" /><small>skipping to change at</small><em> line 92</em></th><td></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> const void *ptext, size_t ptext_len,</td><td> </td><td class="right"> const void *ptext, size_t ptext_len,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> void *ctext, size_t *ctext_len);</td><td> </td><td class="right"> void *ctext, size_t *ctext_len);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">void gnutls_aead_cipher_deinit(gnutls_aead_cipher_hd_t handle);</td><td> </td><td class="right">void gnutls_aead_cipher_deinit(gnutls_aead_cipher_hd_t handle);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* Hash - MAC API */</td><td> </td><td class="right">/* Hash - MAC API */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef struct hash_hd_st *gnutls_hash_hd_t;</td><td> </td><td class="right">typedef struct hash_hd_st *gnutls_hash_hd_t;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef struct hmac_hd_st *gnutls_hmac_hd_t;</td><td> </td><td class="right">typedef struct hmac_hd_st *gnutls_hmac_hd_t;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0002" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">size_t gnutls_mac_get_nonce_size(gnutls_mac_algorithm_t algorithm);</td><td> </td><td class="rblock">size_t gnutls_mac_get_nonce_size(gnutls_mac_algorithm_t algorithm)<span class="insert"> __GNUTLS
+_CONST__</span>;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_hmac_init(gnutls_hmac_hd_t * dig,</td><td> </td><td class="right">int gnutls_hmac_init(gnutls_hmac_hd_t * dig,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> gnutls_mac_algorithm_t algorithm,</td><td> </td><td class="right"> gnutls_mac_algorithm_t algorithm,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> const void *key, size_t keylen);</td><td> </td><td class="right"> const void *key, size_t keylen);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">void gnutls_hmac_set_nonce(gnutls_hmac_hd_t handle,</td><td> </td><td class="right">void gnutls_hmac_set_nonce(gnutls_hmac_hd_t handle,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> const void *nonce, size_t nonce_len);</td><td> </td><td class="right"> const void *nonce, size_t nonce_len);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_hmac(gnutls_hmac_hd_t handle, const void *text, size_t textlen);</td><td> </td><td class="right">int gnutls_hmac(gnutls_hmac_hd_t handle, const void *text, size_t textlen);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">void gnutls_hmac_output(gnutls_hmac_hd_t handle, void *digest);</td><td> </td><td class="right">void gnutls_hmac_output(gnutls_hmac_hd_t handle, void *digest);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">void gnutls_hmac_deinit(gnutls_hmac_hd_t handle, void *digest);</td><td> </td><td class="right">void gnutls_hmac_deinit(gnutls_hmac_hd_t handle, void *digest);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0003" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">int gnutls_hmac_get_len(gnutls_mac_algorithm_t algorithm);</td><td> </td><td class="rblock">int gnutls_hmac_get_len(gnutls_mac_algorithm_t algorithm)<span class="insert"> __GNUTLS_CONST__</span>;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_hmac_fast(gnutls_mac_algorithm_t algorithm,</td><td> </td><td class="right">int gnutls_hmac_fast(gnutls_mac_algorithm_t algorithm,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> const void *key, size_t keylen,</td><td> </td><td class="right"> const void *key, size_t keylen,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> const void *text, size_t textlen, void *digest);</td><td> </td><td class="right"> const void *text, size_t textlen, void *digest);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_hash_init(gnutls_hash_hd_t * dig,</td><td> </td><td class="right">int gnutls_hash_init(gnutls_hash_hd_t * dig,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> gnutls_digest_algorithm_t algorithm);</td><td> </td><td class="right"> gnutls_digest_algorithm_t algorithm);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_hash(gnutls_hash_hd_t handle, const void *text, size_t textlen);</td><td> </td><td class="right">int gnutls_hash(gnutls_hash_hd_t handle, const void *text, size_t textlen);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">void gnutls_hash_output(gnutls_hash_hd_t handle, void *digest);</td><td> </td><td class="right">void gnutls_hash_output(gnutls_hash_hd_t handle, void *digest);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">void gnutls_hash_deinit(gnutls_hash_hd_t handle, void *digest);</td><td> </td><td class="right">void gnutls_hash_deinit(gnutls_hash_hd_t handle, void *digest);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0004" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">int gnutls_hash_get_len(gnutls_digest_algorithm_t algorithm);</td><td> </td><td class="rblock">int gnutls_hash_get_len(gnutls_digest_algorithm_t algorithm)<span class="insert"> __GNUTLS_CONST
+__</span>;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_hash_fast(gnutls_digest_algorithm_t algorithm,</td><td> </td><td class="right">int gnutls_hash_fast(gnutls_digest_algorithm_t algorithm,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> const void *text, size_t textlen, void *digest);</td><td> </td><td class="right"> const void *text, size_t textlen, void *digest);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* register ciphers */</td><td> </td><td class="right">/* register ciphers */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * gnutls_rnd_level_t:</td><td> </td><td class="right"> * gnutls_rnd_level_t:</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_RND_NONCE: Non-predictable random number. Fatal in parts</td><td> </td><td class="right"> * @GNUTLS_RND_NONCE: Non-predictable random number. Fatal in parts</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * of session if broken, i.e., vulnerable to statistical analysis.</td><td> </td><td class="right"> * of session if broken, i.e., vulnerable to statistical analysis.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_RND_RANDOM: Pseudo-random cryptographic random number.</td><td> </td><td class="right"> * @GNUTLS_RND_RANDOM: Pseudo-random cryptographic random number.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr bgcolor="gray" ><td></td><th><a name="part-l3" /><small>skipping to change at</small><em> line 223</em></th><th> </th><th><a name="part-r3" /><small>skipping to change at</small><em> line 223</em></th><td></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int</td><td> </td><td class="right">int</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">gnutls_crypto_register_digest(gnutls_digest_algorithm_t digest,</td><td> </td><td class="right">gnutls_crypto_register_digest(gnutls_digest_algorithm_t digest,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> int priority,</td><td> </td><td class="right"> int priority,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> gnutls_digest_init_func init,</td><td> </td><td class="right"> gnutls_digest_init_func init,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> gnutls_digest_hash_func hash,</td><td> </td><td class="right"> gnutls_digest_hash_func hash,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> gnutls_digest_output_func output,</td><td> </td><td class="right"> gnutls_digest_output_func output,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> gnutls_digest_deinit_func deinit,</td><td> </td><td class="right"> gnutls_digest_deinit_func deinit,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> gnutls_digest_fast_func hash_fast);</td><td> </td><td class="right"> gnutls_digest_fast_func hash_fast);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0005" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">/* RSA-PKCS#1 1.5 helper functions */</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">int</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">gnutls_encode_ber_digest_info(gnutls_digest_algorithm_t hash,</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> const gnutls_datum_t * digest,</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> gnutls_datum_t * output);</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">int</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">gnutls_decode_ber_digest_info(const gnutls_datum_t * info,</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> gnutls_digest_algorithm_t *hash,</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> unsigned char *digest, unsigned int *digest_si</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">ze);</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> </td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* *INDENT-OFF* */</td><td> </td><td class="right">/* *INDENT-OFF* */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#ifdef __cplusplus</td><td> </td><td class="right">#ifdef __cplusplus</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">}</td><td> </td><td class="right">}</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#endif</td><td> </td><td class="right">#endif</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* *INDENT-ON* */</td><td> </td><td class="right">/* *INDENT-ON* */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#endif</td><td> </td><td class="right">#endif</td><td class="lineno" valign="top"></td></tr>
+
+ <tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr>
+ <tr bgcolor="gray"><th colspan="5" align="center"><a name="end">&nbsp;End of changes. 5 change blocks.&nbsp;</a></th></tr>
+ <tr class="stats"><td></td><th><i>6 lines changed or deleted</i></th><th><i> </i></th><th><i>21 lines changed or added</i></th><td></td></tr>
+ <tr><td colspan="5" align="center" class="small"></td></tr>
+ </table>
+ <br/><br/>
+
+ <table class='diff_tbl' border="0" cellpadding="0" cellspacing="0">
+ <tr bgcolor="orange"><th></th><th>&nbsp;gnutls.h (3.4.10)&nbsp;</th><th> </th><th>&nbsp;gnutls.h (current)&nbsp;</th><th></th></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr bgcolor="gray" ><td></td><th><a name="part-l1" /><small>skipping to change at</small><em> line 56</em></th><th> </th><th><a name="part-r1" /><small>skipping to change at</small><em> line 56</em></th><td></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#endif</td><td> </td><td class="right">#endif</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* Get time_t. */</td><td> </td><td class="right">/* Get time_t. */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#include &lt;time.h&gt;</td><td> </td><td class="right">#include &lt;time.h&gt;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* *INDENT-OFF* */</td><td> </td><td class="right">/* *INDENT-OFF* */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#ifdef __cplusplus</td><td> </td><td class="right">#ifdef __cplusplus</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">extern "C" {</td><td> </td><td class="right">extern "C" {</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#endif</td><td> </td><td class="right">#endif</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* *INDENT-ON* */</td><td> </td><td class="right">/* *INDENT-ON* */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0001" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">#define GNUTLS_VERSION "3.<span class="delete">4.1</span>0"</td><td> </td><td class="rblock">#define GNUTLS_VERSION "3.<span class="insert">5.</span>0"</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_VERSION_MAJOR 3</td><td> </td><td class="right">#define GNUTLS_VERSION_MAJOR 3</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0002" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">#define GNUTLS_VERSION_MINOR <span class="delete">4</span></td><td> </td><td class="rblock">#define GNUTLS_VERSION_MINOR <span class="insert">5</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">#define GNUTLS_VERSION_PATCH <span class="delete">10</span></td><td> </td><td class="rblock">#define GNUTLS_VERSION_PATCH <span class="insert">0</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0003" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">#define GNUTLS_VERSION_NUMBER 0x030<span class="delete">40a</span></td><td> </td><td class="rblock">#define GNUTLS_VERSION_NUMBER 0x030<span class="insert">500</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_CIPHER_RIJNDAEL_128_CBC GNUTLS_CIPHER_AES_128_CBC</td><td> </td><td class="right">#define GNUTLS_CIPHER_RIJNDAEL_128_CBC GNUTLS_CIPHER_AES_128_CBC</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_CIPHER_RIJNDAEL_256_CBC GNUTLS_CIPHER_AES_256_CBC</td><td> </td><td class="right">#define GNUTLS_CIPHER_RIJNDAEL_256_CBC GNUTLS_CIPHER_AES_256_CBC</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_CIPHER_RIJNDAEL_CBC GNUTLS_CIPHER_AES_128_CBC</td><td> </td><td class="right">#define GNUTLS_CIPHER_RIJNDAEL_CBC GNUTLS_CIPHER_AES_128_CBC</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_CIPHER_ARCFOUR GNUTLS_CIPHER_ARCFOUR_128</td><td> </td><td class="right">#define GNUTLS_CIPHER_ARCFOUR GNUTLS_CIPHER_ARCFOUR_128</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#if !defined(GNUTLS_INTERNAL_BUILD) &amp;&amp; defined(_WIN32)</td><td> </td><td class="right">#if !defined(GNUTLS_INTERNAL_BUILD) &amp;&amp; defined(_WIN32)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"># define _SYM_EXPORT __declspec(dllimport)</td><td> </td><td class="right"># define _SYM_EXPORT __declspec(dllimport)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#else</td><td> </td><td class="right">#else</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"># define _SYM_EXPORT</td><td> </td><td class="right"># define _SYM_EXPORT</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#endif</td><td> </td><td class="right">#endif</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0004" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#ifdef __GNUC__</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"># define __GNUTLS_CONST__ __attribute__((const))</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"># define __GNUTLS_PURE__ __attribute__((pure))</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#else</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"># define __GNUTLS_CONST__</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"># define __GNUTLS_PURE__</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#endif</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> </td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* Use the following definition globally in your program to disable</td><td> </td><td class="right">/* Use the following definition globally in your program to disable</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * implicit initialization of gnutls. */</td><td> </td><td class="right"> * implicit initialization of gnutls. */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_SKIP_GLOBAL_INIT int _gnutls_global_init_skip(void); \</td><td> </td><td class="right">#define GNUTLS_SKIP_GLOBAL_INIT int _gnutls_global_init_skip(void); \</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> int _gnutls_global_init_skip(void) {return 1;}</td><td> </td><td class="right"> int _gnutls_global_init_skip(void) {return 1;}</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * gnutls_cipher_algorithm_t:</td><td> </td><td class="right"> * gnutls_cipher_algorithm_t:</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0005" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @GNUTLS_CIPHER_UNKNOWN: <span class="delete">Value to identify an unknown/unsupported algorit</span></td><td> </td><td class="rblock"> * @GNUTLS_CIPHER_UNKNOWN: <span class="insert">Unknown algorithm.</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">hm.</span></td><td> </td><td class="rblock"> * @GNUTLS_CIPHER_NULL: NULL algorithm.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @GNUTLS_CIPHER_NULL: <span class="delete">The</span> NULL <span class="delete">(identity) encryption</span> algorithm.</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_CIPHER_ARCFOUR_128: ARCFOUR stream cipher with 128-bit keys.</td><td> </td><td class="right"> * @GNUTLS_CIPHER_ARCFOUR_128: ARCFOUR stream cipher with 128-bit keys.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_CIPHER_3DES_CBC: 3DES in CBC mode.</td><td> </td><td class="right"> * @GNUTLS_CIPHER_3DES_CBC: 3DES in CBC mode.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_CIPHER_AES_128_CBC: AES in CBC mode with 128-bit keys.</td><td> </td><td class="right"> * @GNUTLS_CIPHER_AES_128_CBC: AES in CBC mode with 128-bit keys.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_CIPHER_AES_192_CBC: AES in CBC mode with 192-bit keys.</td><td> </td><td class="right"> * @GNUTLS_CIPHER_AES_192_CBC: AES in CBC mode with 192-bit keys.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_CIPHER_AES_256_CBC: AES in CBC mode with 256-bit keys.</td><td> </td><td class="right"> * @GNUTLS_CIPHER_AES_256_CBC: AES in CBC mode with 256-bit keys.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_CIPHER_ARCFOUR_40: ARCFOUR stream cipher with 40-bit keys.</td><td> </td><td class="right"> * @GNUTLS_CIPHER_ARCFOUR_40: ARCFOUR stream cipher with 40-bit keys.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_CIPHER_CAMELLIA_128_CBC: Camellia in CBC mode with 128-bit keys.</td><td> </td><td class="right"> * @GNUTLS_CIPHER_CAMELLIA_128_CBC: Camellia in CBC mode with 128-bit keys.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_CIPHER_CAMELLIA_192_CBC: Camellia in CBC mode with 192-bit keys.</td><td> </td><td class="right"> * @GNUTLS_CIPHER_CAMELLIA_192_CBC: Camellia in CBC mode with 192-bit keys.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_CIPHER_CAMELLIA_256_CBC: Camellia in CBC mode with 256-bit keys.</td><td> </td><td class="right"> * @GNUTLS_CIPHER_CAMELLIA_256_CBC: Camellia in CBC mode with 256-bit keys.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_CIPHER_RC2_40_CBC: RC2 in CBC mode with 40-bit keys.</td><td> </td><td class="right"> * @GNUTLS_CIPHER_RC2_40_CBC: RC2 in CBC mode with 40-bit keys.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr bgcolor="gray" ><td></td><th><a name="part-l2" /><small>skipping to change at</small><em> line 106</em></th><th> </th><th><a name="part-r2" /><small>skipping to change at</small><em> line 114</em></th><td></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_CIPHER_AES_256_GCM: AES in GCM mode with 256-bit keys.</td><td> </td><td class="right"> * @GNUTLS_CIPHER_AES_256_GCM: AES in GCM mode with 256-bit keys.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_CIPHER_AES_128_CCM: AES in CCM mode with 128-bit keys.</td><td> </td><td class="right"> * @GNUTLS_CIPHER_AES_128_CCM: AES in CCM mode with 128-bit keys.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_CIPHER_AES_256_CCM: AES in CCM mode with 256-bit keys.</td><td> </td><td class="right"> * @GNUTLS_CIPHER_AES_256_CCM: AES in CCM mode with 256-bit keys.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_CIPHER_AES_128_CCM_8: AES in CCM mode with 64-bit tag and 128-bi
+t keys.</td><td> </td><td class="right"> * @GNUTLS_CIPHER_AES_128_CCM_8: AES in CCM mode with 64-bit tag and 128-bi
+t keys.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_CIPHER_AES_256_CCM_8: AES in CCM mode with 64-bit tag and 256-bi
+t keys.</td><td> </td><td class="right"> * @GNUTLS_CIPHER_AES_256_CCM_8: AES in CCM mode with 64-bit tag and 256-bi
+t keys.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_CIPHER_CAMELLIA_128_GCM: CAMELLIA in GCM mode with 128-bit keys.</td><td> </td><td class="right"> * @GNUTLS_CIPHER_CAMELLIA_128_GCM: CAMELLIA in GCM mode with 128-bit keys.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_CIPHER_CAMELLIA_256_GCM: CAMELLIA in GCM mode with 256-bit keys.</td><td> </td><td class="right"> * @GNUTLS_CIPHER_CAMELLIA_256_GCM: CAMELLIA in GCM mode with 256-bit keys.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_CIPHER_SALSA20_256: Salsa20 with 256-bit keys.</td><td> </td><td class="right"> * @GNUTLS_CIPHER_SALSA20_256: Salsa20 with 256-bit keys.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_CIPHER_ESTREAM_SALSA20_256: Estream's Salsa20 variant with 256-b
+it keys.</td><td> </td><td class="right"> * @GNUTLS_CIPHER_ESTREAM_SALSA20_256: Estream's Salsa20 variant with 256-b
+it keys.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_CIPHER_CHACHA20_POLY1305: The Chacha20 cipher with the Poly1305
+authenticator (AEAD).</td><td> </td><td class="right"> * @GNUTLS_CIPHER_CHACHA20_POLY1305: The Chacha20 cipher with the Poly1305
+authenticator (AEAD).</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0006" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @GNUTLS_CIPHER_IDEA_PGP_CFB: IDEA in CFB <span class="delete">mode (placeholder - unsupported</span></td><td> </td><td class="rblock"> * @GNUTLS_CIPHER_IDEA_PGP_CFB: IDEA in CFB <span class="insert">mode.</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">).</span></td><td> </td><td class="rblock"> * @GNUTLS_CIPHER_3DES_PGP_CFB: 3DES in CFB <span class="insert">mode.</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @GNUTLS_CIPHER_3DES_PGP_CFB: 3DES in CFB <span class="delete">mode (placeholder - unsupported</span></td><td> </td><td class="rblock"> * @GNUTLS_CIPHER_CAST5_PGP_CFB: CAST5 in CFB <span class="insert">mode.</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">).</span></td><td> </td><td class="rblock"> * @GNUTLS_CIPHER_BLOWFISH_PGP_CFB: Blowfish in CFB <span class="insert">mode.</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @GNUTLS_CIPHER_CAST5_PGP_CFB: CAST5 in CFB <span class="delete">mode (placeholder - unsupport</span></td><td> </td><td class="rblock"> * @GNUTLS_CIPHER_SAFER_SK128_PGP_CFB: Safer-SK in CFB mode with 128-bit ke</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">ed).</span></td><td> </td><td class="rblock"><span class="insert">ys.</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @GNUTLS_CIPHER_BLOWFISH_PGP_CFB: Blowfish in CFB <span class="delete">mode (placeholder - uns</span></td><td> </td><td class="rblock"> * @GNUTLS_CIPHER_AES128_PGP_CFB: AES in CFB mode with 128-bit <span class="insert">keys.</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">upported).</span></td><td> </td><td class="rblock"> * @GNUTLS_CIPHER_AES192_PGP_CFB: AES in CFB mode with 192-bit <span class="insert">keys.</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @GNUTLS_CIPHER_SAFER_SK128_PGP_CFB: Safer-SK in CFB mode with 128-bit ke</td><td> </td><td class="rblock"> * @GNUTLS_CIPHER_AES256_PGP_CFB: AES in CFB mode with 256-bit <span class="insert">keys.</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">ys (placeholder - unsupported).</span></td><td> </td><td class="rblock"> * @GNUTLS_CIPHER_TWOFISH_PGP_CFB: Twofish in CFB <span class="insert">mode.</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @GNUTLS_CIPHER_AES128_PGP_CFB: AES in CFB mode with 128-bit <span class="delete">keys (placeh</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">older - unsupported).</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @GNUTLS_CIPHER_AES192_PGP_CFB: AES in CFB mode with 192-bit <span class="delete">keys (placeh</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">older - unsupported).</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @GNUTLS_CIPHER_AES256_PGP_CFB: AES in CFB mode with 256-bit <span class="delete">keys (placeh</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">older - unsupported).</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> * @GNUTLS_CIPHER_TWOFISH_PGP_CFB: Twofish in CFB <span class="delete">mode (placeholder - unsup</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">ported).</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Enumeration of different symmetric encryption algorithms.</td><td> </td><td class="right"> * Enumeration of different symmetric encryption algorithms.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef enum gnutls_cipher_algorithm {</td><td> </td><td class="right">typedef enum gnutls_cipher_algorithm {</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_CIPHER_UNKNOWN = 0,</td><td> </td><td class="right"> GNUTLS_CIPHER_UNKNOWN = 0,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_CIPHER_NULL = 1,</td><td> </td><td class="right"> GNUTLS_CIPHER_NULL = 1,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_CIPHER_ARCFOUR_128 = 2,</td><td> </td><td class="right"> GNUTLS_CIPHER_ARCFOUR_128 = 2,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_CIPHER_3DES_CBC = 3,</td><td> </td><td class="right"> GNUTLS_CIPHER_3DES_CBC = 3,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_CIPHER_AES_128_CBC = 4,</td><td> </td><td class="right"> GNUTLS_CIPHER_AES_128_CBC = 4,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_CIPHER_AES_256_CBC = 5,</td><td> </td><td class="right"> GNUTLS_CIPHER_AES_256_CBC = 5,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr bgcolor="gray" ><td></td><th><a name="part-l3" /><small>skipping to change at</small><em> line 262</em></th><th> </th><th><a name="part-r3" /><small>skipping to change at</small><em> line 270</em></th><td></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_MAC_UNKNOWN = 0,</td><td> </td><td class="right"> GNUTLS_MAC_UNKNOWN = 0,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_MAC_NULL = 1,</td><td> </td><td class="right"> GNUTLS_MAC_NULL = 1,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_MAC_MD5 = 2,</td><td> </td><td class="right"> GNUTLS_MAC_MD5 = 2,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_MAC_SHA1 = 3,</td><td> </td><td class="right"> GNUTLS_MAC_SHA1 = 3,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_MAC_RMD160 = 4,</td><td> </td><td class="right"> GNUTLS_MAC_RMD160 = 4,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_MAC_MD2 = 5,</td><td> </td><td class="right"> GNUTLS_MAC_MD2 = 5,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_MAC_SHA256 = 6,</td><td> </td><td class="right"> GNUTLS_MAC_SHA256 = 6,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_MAC_SHA384 = 7,</td><td> </td><td class="right"> GNUTLS_MAC_SHA384 = 7,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_MAC_SHA512 = 8,</td><td> </td><td class="right"> GNUTLS_MAC_SHA512 = 8,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_MAC_SHA224 = 9,</td><td> </td><td class="right"> GNUTLS_MAC_SHA224 = 9,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0007" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> <span class="insert">GNUTLS_MAC_SHA3_224 = 10, /* reserved: no implementation */</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> GNUTLS_MAC_SHA3_256 = 11, /* reserved: no implementation */</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> GNUTLS_MAC_SHA3_384 = 12, /* reserved: no implementation */</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> GNUTLS_MAC_SHA3_512 = 13, /* reserved: no implementation */</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> /* If you add anything here, make sure you align with</td><td> </td><td class="right"> /* If you add anything here, make sure you align with</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> gnutls_digest_algorithm_t. */</td><td> </td><td class="right"> gnutls_digest_algorithm_t. */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_MAC_AEAD = 200, /* indicates that MAC is on the cipher */</td><td> </td><td class="right"> GNUTLS_MAC_AEAD = 200, /* indicates that MAC is on the cipher */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_MAC_UMAC_96 = 201,</td><td> </td><td class="right"> GNUTLS_MAC_UMAC_96 = 201,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_MAC_UMAC_128 = 202</td><td> </td><td class="right"> GNUTLS_MAC_UMAC_128 = 202</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">} gnutls_mac_algorithm_t;</td><td> </td><td class="right">} gnutls_mac_algorithm_t;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * gnutls_digest_algorithm_t:</td><td> </td><td class="right"> * gnutls_digest_algorithm_t:</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_DIG_UNKNOWN: Unknown hash algorithm.</td><td> </td><td class="right"> * @GNUTLS_DIG_UNKNOWN: Unknown hash algorithm.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_DIG_NULL: NULL hash algorithm (empty output).</td><td> </td><td class="right"> * @GNUTLS_DIG_NULL: NULL hash algorithm (empty output).</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_DIG_MD5: MD5 algorithm.</td><td> </td><td class="right"> * @GNUTLS_DIG_MD5: MD5 algorithm.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_DIG_SHA1: SHA-1 algorithm.</td><td> </td><td class="right"> * @GNUTLS_DIG_SHA1: SHA-1 algorithm.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_DIG_RMD160: RMD160 algorithm.</td><td> </td><td class="right"> * @GNUTLS_DIG_RMD160: RMD160 algorithm.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_DIG_MD2: MD2 algorithm.</td><td> </td><td class="right"> * @GNUTLS_DIG_MD2: MD2 algorithm.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_DIG_SHA256: SHA-256 algorithm.</td><td> </td><td class="right"> * @GNUTLS_DIG_SHA256: SHA-256 algorithm.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_DIG_SHA384: SHA-384 algorithm.</td><td> </td><td class="right"> * @GNUTLS_DIG_SHA384: SHA-384 algorithm.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_DIG_SHA512: SHA-512 algorithm.</td><td> </td><td class="right"> * @GNUTLS_DIG_SHA512: SHA-512 algorithm.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_DIG_SHA224: SHA-224 algorithm.</td><td> </td><td class="right"> * @GNUTLS_DIG_SHA224: SHA-224 algorithm.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0008" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> <span class="insert">* @GNUTLS_DIG_SHA3_224: SHA3-224 algorithm.</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * @GNUTLS_DIG_SHA3_256: SHA3-256 algorithm.</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * @GNUTLS_DIG_SHA3_384: SHA3-384 algorithm.</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * @GNUTLS_DIG_SHA3_512: SHA3-512 algorithm.</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * Enumeration of different digest (hash) algorithms.</td><td> </td><td class="right"> * Enumeration of different digest (hash) algorithms.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">typedef enum {</td><td> </td><td class="right">typedef enum {</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_DIG_UNKNOWN = GNUTLS_MAC_UNKNOWN,</td><td> </td><td class="right"> GNUTLS_DIG_UNKNOWN = GNUTLS_MAC_UNKNOWN,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_DIG_NULL = GNUTLS_MAC_NULL,</td><td> </td><td class="right"> GNUTLS_DIG_NULL = GNUTLS_MAC_NULL,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_DIG_MD5 = GNUTLS_MAC_MD5,</td><td> </td><td class="right"> GNUTLS_DIG_MD5 = GNUTLS_MAC_MD5,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_DIG_SHA1 = GNUTLS_MAC_SHA1,</td><td> </td><td class="right"> GNUTLS_DIG_SHA1 = GNUTLS_MAC_SHA1,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_DIG_RMD160 = GNUTLS_MAC_RMD160,</td><td> </td><td class="right"> GNUTLS_DIG_RMD160 = GNUTLS_MAC_RMD160,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_DIG_MD2 = GNUTLS_MAC_MD2,</td><td> </td><td class="right"> GNUTLS_DIG_MD2 = GNUTLS_MAC_MD2,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_DIG_SHA256 = GNUTLS_MAC_SHA256,</td><td> </td><td class="right"> GNUTLS_DIG_SHA256 = GNUTLS_MAC_SHA256,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_DIG_SHA384 = GNUTLS_MAC_SHA384,</td><td> </td><td class="right"> GNUTLS_DIG_SHA384 = GNUTLS_MAC_SHA384,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_DIG_SHA512 = GNUTLS_MAC_SHA512,</td><td> </td><td class="right"> GNUTLS_DIG_SHA512 = GNUTLS_MAC_SHA512,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0009" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> GNUTLS_DIG_SHA224 = <span class="delete">GNUTLS_MAC_SHA224</span></td><td> </td><td class="rblock"> GNUTLS_DIG_SHA224 = <span class="insert">GNUTLS_MAC_SHA224,</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> GNUTLS_DIG_SHA3_224 = GNUTLS_MAC_SHA3_224,</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> GNUTLS_DIG_SHA3_256 = GNUTLS_MAC_SHA3_256,</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> GNUTLS_DIG_SHA3_384 = GNUTLS_MAC_SHA3_384,</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> GNUTLS_DIG_SHA3_512 = GNUTLS_MAC_SHA3_512</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> /* If you add anything here, make sure you align with</td><td> </td><td class="right"> /* If you add anything here, make sure you align with</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> gnutls_mac_algorithm_t. */</td><td> </td><td class="right"> gnutls_mac_algorithm_t. */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">} gnutls_digest_algorithm_t;</td><td> </td><td class="right">} gnutls_digest_algorithm_t;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> /* exported for other gnutls headers. This is the maximum number of</td><td> </td><td class="right"> /* exported for other gnutls headers. This is the maximum number of</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * algorithms (ciphers, kx or macs).</td><td> </td><td class="right"> * algorithms (ciphers, kx or macs).</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_MAX_ALGORITHM_NUM 32</td><td> </td><td class="right">#define GNUTLS_MAX_ALGORITHM_NUM 32</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_MAX_SESSION_ID_SIZE 32</td><td> </td><td class="right">#define GNUTLS_MAX_SESSION_ID_SIZE 32</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr bgcolor="gray" ><td></td><th><a name="part-l4" /><small>skipping to change at</small><em> line 727</em></th><th> </th><th><a name="part-r4" /><small>skipping to change at</small><em> line 747</em></th><td></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_ECC_CURVE_INVALID = 0,</td><td> </td><td class="right"> GNUTLS_ECC_CURVE_INVALID = 0,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_ECC_CURVE_SECP224R1,</td><td> </td><td class="right"> GNUTLS_ECC_CURVE_SECP224R1,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_ECC_CURVE_SECP256R1,</td><td> </td><td class="right"> GNUTLS_ECC_CURVE_SECP256R1,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_ECC_CURVE_SECP384R1,</td><td> </td><td class="right"> GNUTLS_ECC_CURVE_SECP384R1,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_ECC_CURVE_SECP521R1,</td><td> </td><td class="right"> GNUTLS_ECC_CURVE_SECP521R1,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_ECC_CURVE_SECP192R1</td><td> </td><td class="right"> GNUTLS_ECC_CURVE_SECP192R1</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">} gnutls_ecc_curve_t;</td><td> </td><td class="right">} gnutls_ecc_curve_t;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* macros to allow specifying a specific curve in gnutls_privkey_generate()</td><td> </td><td class="right">/* macros to allow specifying a specific curve in gnutls_privkey_generate()</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * and gnutls_x509_privkey_generate() */</td><td> </td><td class="right"> * and gnutls_x509_privkey_generate() */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0010" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">#define GNUTLS_CURVE_TO_BITS(curve) (unsigned int)((<span class="delete">(unsigned int)1&lt;&lt;31)|((
+unsigned int)(</span>curve)))</td><td> </td><td class="rblock">#define GNUTLS_CURVE_TO_BITS(curve) (unsigned int)((<span class="insert">1&lt;&lt;31)|((unsigned int)(
+</span>curve)))</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_BITS_TO_CURVE(bits) (((unsigned int)(bits)) &amp; 0x7FFFFFFF)</td><td> </td><td class="right">#define GNUTLS_BITS_TO_CURVE(bits) (((unsigned int)(bits)) &amp; 0x7FFFFFFF)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_BITS_ARE_CURVE(bits) (((unsigned int)(bits)) &amp; 0x80000000)</td><td> </td><td class="right">#define GNUTLS_BITS_ARE_CURVE(bits) (((unsigned int)(bits)) &amp; 0x80000000)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * gnutls_sec_param_t:</td><td> </td><td class="right"> * gnutls_sec_param_t:</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_SEC_PARAM_UNKNOWN: Cannot be known</td><td> </td><td class="right"> * @GNUTLS_SEC_PARAM_UNKNOWN: Cannot be known</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_SEC_PARAM_INSECURE: Less than 42 bits of security</td><td> </td><td class="right"> * @GNUTLS_SEC_PARAM_INSECURE: Less than 42 bits of security</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_SEC_PARAM_EXPORT: 42 bits of security</td><td> </td><td class="right"> * @GNUTLS_SEC_PARAM_EXPORT: 42 bits of security</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_SEC_PARAM_VERY_WEAK: 64 bits of security</td><td> </td><td class="right"> * @GNUTLS_SEC_PARAM_VERY_WEAK: 64 bits of security</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_SEC_PARAM_WEAK: 72 bits of security</td><td> </td><td class="right"> * @GNUTLS_SEC_PARAM_WEAK: 72 bits of security</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr bgcolor="gray" ><td></td><th><a name="part-l5" /><small>skipping to change at</small><em> line 820</em></th><th> </th><th><a name="part-r5" /><small>skipping to change at</small><em> line 840</em></th><td></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_init(gnutls_session_t * session, unsigned int flags);</td><td> </td><td class="right">int gnutls_init(gnutls_session_t * session, unsigned int flags);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">void gnutls_deinit(gnutls_session_t session);</td><td> </td><td class="right">void gnutls_deinit(gnutls_session_t session);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define _gnutls_deinit(x) gnutls_deinit(x)</td><td> </td><td class="right">#define _gnutls_deinit(x) gnutls_deinit(x)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_bye(gnutls_session_t session, gnutls_close_request_t how);</td><td> </td><td class="right">int gnutls_bye(gnutls_session_t session, gnutls_close_request_t how);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_handshake(gnutls_session_t session);</td><td> </td><td class="right">int gnutls_handshake(gnutls_session_t session);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_DEFAULT_HANDSHAKE_TIMEOUT ((unsigned int)-1)</td><td> </td><td class="right">#define GNUTLS_DEFAULT_HANDSHAKE_TIMEOUT ((unsigned int)-1)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0011" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#define GNUTLS_INDEFINITE_TIMEOUT ((unsigned int)-2)</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">void gnutls_handshake_set_timeout(gnutls_session_t session,</td><td> </td><td class="right">void gnutls_handshake_set_timeout(gnutls_session_t session,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> unsigned int ms);</td><td> </td><td class="right"> unsigned int ms);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_rehandshake(gnutls_session_t session);</td><td> </td><td class="right">int gnutls_rehandshake(gnutls_session_t session);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">gnutls_alert_description_t gnutls_alert_get(gnutls_session_t session);</td><td> </td><td class="right">gnutls_alert_description_t gnutls_alert_get(gnutls_session_t session);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_alert_send(gnutls_session_t session,</td><td> </td><td class="right">int gnutls_alert_send(gnutls_session_t session,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> gnutls_alert_level_t level,</td><td> </td><td class="right"> gnutls_alert_level_t level,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> gnutls_alert_description_t desc);</td><td> </td><td class="right"> gnutls_alert_description_t desc);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_alert_send_appropriate(gnutls_session_t session, int err);</td><td> </td><td class="right">int gnutls_alert_send_appropriate(gnutls_session_t session, int err);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">const char *gnutls_alert_get_name(gnutls_alert_description_t alert);</td><td> </td><td class="right">const char *gnutls_alert_get_name(gnutls_alert_description_t alert);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">const char *gnutls_alert_get_strname(gnutls_alert_description_t alert);</td><td> </td><td class="right">const char *gnutls_alert_get_strname(gnutls_alert_description_t alert);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">gnutls_sec_param_t gnutls_pk_bits_to_sec_param(gnutls_pk_algorithm_t algo,</td><td> </td><td class="right">gnutls_sec_param_t gnutls_pk_bits_to_sec_param(gnutls_pk_algorithm_t algo,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> unsigned int bits);</td><td> </td><td class="right"> unsigned int bits);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">const char *gnutls_sec_param_get_name(gnutls_sec_param_t param);</td><td> </td><td class="right">const char *gnutls_sec_param_get_name(gnutls_sec_param_t param);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">unsigned int gnutls_sec_param_to_pk_bits(gnutls_pk_algorithm_t algo,</td><td> </td><td class="right">unsigned int gnutls_sec_param_to_pk_bits(gnutls_pk_algorithm_t algo,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> gnutls_sec_param_t param);</td><td> </td><td class="right"> gnutls_sec_param_t param);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">unsigned int</td><td> </td><td class="right">unsigned int</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0012" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">gnutls_sec_param_to_symmetric_bits(gnutls_sec_param_t param)</span>;</td><td> </td><td class="rblock"><span class="insert"> gnutls_sec_param_to_symmetric_bits(gnutls_sec_param_t param) __GNUTL
+S_CONST__</span>;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* Elliptic curves */</td><td> </td><td class="right">/* Elliptic curves */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0013" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">const char <span class="delete">*gnutls_ecc_curve_get_name(gnutls_ecc_curve_t curve);</span></td><td> </td><td class="rblock">const char <span class="insert">*</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">const char <span class="delete">*gnutls_ecc_curve_get_oid(gnutls_ecc_curve_t curve);</span></td><td> </td><td class="rblock"><span class="insert"> gnutls_ecc_curve_get_name(gnutls_ecc_curve_t curve) __GNUTLS_CONST__</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">const char <span class="insert">*</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> gnutls_ecc_curve_get_oid(gnutls_ecc_curve_t curve) __GNUTLS_CONST__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0014" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">int gnutls_ecc_curve_get_size(gnutls_ecc_curve_t <span class="delete">curve);</span></td><td> </td><td class="rblock">int</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> gnutls_ecc_curve_get_size(gnutls_ecc_curve_t <span class="insert">curve) __GNUTLS_CONST__</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">gnutls_ecc_curve_t gnutls_ecc_curve_get(gnutls_session_t session);</td><td> </td><td class="right">gnutls_ecc_curve_t gnutls_ecc_curve_get(gnutls_session_t session);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* get information on the current session */</td><td> </td><td class="right">/* get information on the current session */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">gnutls_cipher_algorithm_t gnutls_cipher_get(gnutls_session_t session);</td><td> </td><td class="right">gnutls_cipher_algorithm_t gnutls_cipher_get(gnutls_session_t session);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">gnutls_kx_algorithm_t gnutls_kx_get(gnutls_session_t session);</td><td> </td><td class="right">gnutls_kx_algorithm_t gnutls_kx_get(gnutls_session_t session);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">gnutls_mac_algorithm_t gnutls_mac_get(gnutls_session_t session);</td><td> </td><td class="right">gnutls_mac_algorithm_t gnutls_mac_get(gnutls_session_t session);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">gnutls_compression_method_t</td><td> </td><td class="right">gnutls_compression_method_t</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">gnutls_compression_get(gnutls_session_t session);</td><td> </td><td class="right">gnutls_compression_get(gnutls_session_t session);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">gnutls_certificate_type_t</td><td> </td><td class="right">gnutls_certificate_type_t</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">gnutls_certificate_type_get(gnutls_session_t session);</td><td> </td><td class="right">gnutls_certificate_type_get(gnutls_session_t session);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_sign_algorithm_get(gnutls_session_t session);</td><td> </td><td class="right">int gnutls_sign_algorithm_get(gnutls_session_t session);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_sign_algorithm_get_client(gnutls_session_t session);</td><td> </td><td class="right">int gnutls_sign_algorithm_get_client(gnutls_session_t session);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_sign_algorithm_get_requested(gnutls_session_t session,</td><td> </td><td class="right">int gnutls_sign_algorithm_get_requested(gnutls_session_t session,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> size_t indx,</td><td> </td><td class="right"> size_t indx,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> gnutls_sign_algorithm_t * algo);</td><td> </td><td class="right"> gnutls_sign_algorithm_t * algo);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* the name of the specified algorithms */</td><td> </td><td class="right">/* the name of the specified algorithms */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0015" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">const char <span class="delete">*gnutls_cipher_get_name(gnutls_cipher_algorithm_t algorithm);</span></td><td> </td><td class="rblock">const char <span class="insert">*</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">const char <span class="delete">*gnutls_mac_get_name(gnutls_mac_algorithm_t algorithm);</span></td><td> </td><td class="rblock"><span class="insert"> gnutls_cipher_get_name(gnutls_cipher_algorithm_t algorithm) __GNUTLS</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">_CONST__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">const char <span class="insert">*</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> gnutls_mac_get_name(gnutls_mac_algorithm_t algorithm) __GNUTLS_CONST</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0016" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">const char <span class="delete">*gnutls_digest_get_name(gnutls_digest_algorithm_t algorithm);</span></td><td> </td><td class="rblock">const char <span class="insert">*</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">const char <span class="delete">*gnutls_digest_get_oid(gnutls_digest_algorithm_t algorithm);</span></td><td> </td><td class="rblock"><span class="insert"> gnutls_digest_get_name(gnutls_digest_algorithm_t algorithm) __GNUTLS</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">_CONST__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">const char <span class="insert">*</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> gnutls_digest_get_oid(gnutls_digest_algorithm_t algorithm) __GNUTLS_</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">CONST__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0017" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">const char <span class="delete">*gnutls_compression_get_name(gnutls_compression_method_t</span></td><td> </td><td class="rblock">const char <span class="insert">*</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> algorithm);</span></td><td> </td><td class="rblock"><span class="insert">gnutls_compression_get_name(gnutls_compression_method_t</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">const char <span class="delete">*gnutls_kx_get_name(gnutls_kx_algorithm_t algorithm);</span></td><td> </td><td class="rblock"><span class="insert"> algorithm) __GNUTLS_CONST__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">const char <span class="delete">*gnutls_certificate_type_get_name(gnutls_certificate_type_t</span></td><td> </td><td class="rblock">const char <span class="insert">*</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> type);</span></td><td> </td><td class="rblock"><span class="insert"> gnutls_kx_get_name(gnutls_kx_algorithm_t algorithm) __GNUTLS_CONST__</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">const char <span class="delete">*gnutls_pk_get_name(gnutls_pk_algorithm_t algorithm);</span></td><td> </td><td class="rblock"><span class="insert">;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">const char <span class="delete">*gnutls_pk_get_oid(gnutls_pk_algorithm_t algorithm);</span></td><td> </td><td class="rblock">const char <span class="insert">*</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> gnutls_certificate_type_get_name(gnutls_certificate_type_t</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> type) __GNUTLS_CONST__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">const char <span class="insert">*</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> gnutls_pk_get_name(gnutls_pk_algorithm_t algorithm) __GNUTLS_CONST__</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">const char <span class="insert">*</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> gnutls_pk_get_oid(gnutls_pk_algorithm_t algorithm) __GNUTLS_CONST__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0018" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">const char <span class="delete">*gnutls_sign_get_name(gnutls_sign_algorithm_t algorithm);</span></td><td> </td><td class="rblock">const char <span class="insert">*</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">const char <span class="delete">*gnutls_sign_get_oid(gnutls_sign_algorithm_t algorithm);</span></td><td> </td><td class="rblock"><span class="insert"> gnutls_sign_get_name(gnutls_sign_algorithm_t algorithm) __GNUTLS_CON</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">ST__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">const char <span class="insert">*</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> gnutls_sign_get_oid(gnutls_sign_algorithm_t algorithm) __GNUTLS_CONS</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">T__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0019" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">size_t gnutls_cipher_get_key_size(gnutls_cipher_algorithm_t <span class="delete">algorithm);</span></td><td> </td><td class="rblock">size_t</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">size_t gnutls_mac_get_key_size(gnutls_mac_algorithm_t <span class="delete">algorithm);</span></td><td> </td><td class="rblock"> gnutls_cipher_get_key_size(gnutls_cipher_algorithm_t <span class="insert">algorithm) __GN</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">UTLS_CONST__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">size_t</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> gnutls_mac_get_key_size(gnutls_mac_algorithm_t <span class="insert">algorithm) __GNUTLS_C</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">ONST__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">int gnutls_sign_is_secure(gnutls_sign_algorithm_t algorithm) __GNUTLS_CONST</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0020" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">int gnutls_sign_is_secure(gnutls_sign_algorithm_t algorithm);</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">gnutls_digest_algorithm_t</td><td> </td><td class="right">gnutls_digest_algorithm_t</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0021" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">gnutls_sign_get_hash_algorithm(gnutls_sign_algorithm_t sign)</span>;</td><td> </td><td class="rblock"><span class="insert"> gnutls_sign_get_hash_algorithm(gnutls_sign_algorithm_t sign) __GNUTL
+S_CONST__</span>;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">gnutls_pk_algorithm_t</td><td> </td><td class="right">gnutls_pk_algorithm_t</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0022" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">gnutls_sign_get_pk_algorithm(gnutls_sign_algorithm_t sign)</span>;</td><td> </td><td class="rblock"><span class="insert"> gnutls_sign_get_pk_algorithm(gnutls_sign_algorithm_t sign) __GNUTLS_
+CONST__</span>;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">gnutls_sign_algorithm_t</td><td> </td><td class="right">gnutls_sign_algorithm_t</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0023" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">gnutls_pk_to_sign(gnutls_pk_algorithm_t pk,</td><td> </td><td class="rblock"> gnutls_pk_to_sign(gnutls_pk_algorithm_t pk,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> gnutls_digest_algorithm_t <span class="delete">hash);</span></td><td> </td><td class="rblock"> gnutls_digest_algorithm_t <span class="insert">hash) __GNUTLS_CONST__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define gnutls_sign_algorithm_get_name gnutls_sign_get_name</td><td> </td><td class="right">#define gnutls_sign_algorithm_get_name gnutls_sign_get_name</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0024" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">gnutls_mac_algorithm_t gnutls_mac_get_id(const char <span class="delete">*name);</span></td><td> </td><td class="rblock">gnutls_mac_algorithm_t gnutls_mac_get_id(const char <span class="insert">*name) __GNUTLS_CONST__</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">gnutls_digest_algorithm_t gnutls_digest_get_id(const char <span class="delete">*name);</span></td><td> </td><td class="rblock"><span class="insert">;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">gnutls_digest_algorithm_t gnutls_digest_get_id(const char <span class="insert">*name) __GNUTLS_C</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">ONST__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0025" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">gnutls_compression_method_t gnutls_compression_get_id(const char <span class="delete">*name);</span></td><td> </td><td class="rblock">gnutls_compression_method_t</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">gnutls_cipher_algorithm_t gnutls_cipher_get_id(const char <span class="delete">*name);</span></td><td> </td><td class="rblock"> gnutls_compression_get_id(const char <span class="insert">*name) __GNUTLS_CONST__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">gnutls_kx_algorithm_t gnutls_kx_get_id(const char *name);</span></td><td> </td><td class="rblock">gnutls_cipher_algorithm_t</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">gnutls_protocol_t gnutls_protocol_get_id(const char *name);</span></td><td> </td><td class="rblock"> gnutls_cipher_get_id(const char <span class="insert">*name) __GNUTLS_CONST__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">gnutls_certificate_type_t gnutls_certificate_type_get_id(const char *name);</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">gnutls_pk_algorithm_t gnutls_pk_get_id(const char *name);</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">gnutls_sign_algorithm_t gnutls_sign_get_id(const char *name);</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">gnutls_ecc_curve_t gnutls_ecc_curve_get_id(const char *name);</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0026" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">gnutls_digest_algorithm_t gnutls_oid_to_digest(const char <span class="delete">*oid);</span></td><td> </td><td class="rblock"><span class="insert">gnutls_kx_algorithm_t</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">gnutls_pk_algorithm_t gnutls_oid_to_pk(const char <span class="delete">*oid);</span></td><td> </td><td class="rblock"><span class="insert"> gnutls_kx_get_id(const char *name) __GNUTLS_CONST__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">gnutls_sign_algorithm_t gnutls_oid_to_sign(const char <span class="delete">*oid);</span></td><td> </td><td class="rblock"><span class="insert">gnutls_protocol_t</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">gnutls_ecc_curve_t gnutls_oid_to_ecc_curve(const char <span class="delete">*oid);</span></td><td> </td><td class="rblock"><span class="insert"> gnutls_protocol_get_id(const char *name) __GNUTLS_CONST__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">gnutls_certificate_type_t</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> gnutls_certificate_type_get_id(const char *name) __GNUTLS_CONST__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">gnutls_pk_algorithm_t</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> gnutls_pk_get_id(const char *name) __GNUTLS_CONST__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">gnutls_sign_algorithm_t</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> gnutls_sign_get_id(const char *name) __GNUTLS_CONST__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">gnutls_ecc_curve_t gnutls_ecc_curve_get_id(const char *name) __GNUTLS_CONS</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">T__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> </td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">gnutls_digest_algorithm_t</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> gnutls_oid_to_digest(const char <span class="insert">*oid) __GNUTLS_CONST__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">gnutls_pk_algorithm_t</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> gnutls_oid_to_pk(const char <span class="insert">*oid) __GNUTLS_CONST__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">gnutls_sign_algorithm_t</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> gnutls_oid_to_sign(const char <span class="insert">*oid) __GNUTLS_CONST__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">gnutls_ecc_curve_t</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> gnutls_oid_to_ecc_curve(const char <span class="insert">*oid) __GNUTLS_CONST__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> /* list supported algorithms */</td><td> </td><td class="right"> /* list supported algorithms */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0027" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">const gnutls_ecc_curve_t <span class="delete">*gnutls_ecc_curve_list(void);</span></td><td> </td><td class="rblock">const gnutls_ecc_curve_t <span class="insert">*</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">const gnutls_cipher_algorithm_t <span class="delete">*gnutls_cipher_list(void);</span></td><td> </td><td class="rblock"><span class="insert"> gnutls_ecc_curve_list(void) __GNUTLS_PURE__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">const gnutls_mac_algorithm_t <span class="delete">*gnutls_mac_list(void);</span></td><td> </td><td class="rblock">const gnutls_cipher_algorithm_t <span class="insert">*</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">const gnutls_digest_algorithm_t <span class="delete">*gnutls_digest_list(void);</span></td><td> </td><td class="rblock"><span class="insert"> gnutls_cipher_list(void) __GNUTLS_PURE__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">const gnutls_compression_method_t <span class="delete">*gnutls_compression_list(void);</span></td><td> </td><td class="rblock">const gnutls_mac_algorithm_t <span class="insert">*</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">const gnutls_protocol_t <span class="delete">*gnutls_protocol_list(void);</span></td><td> </td><td class="rblock"><span class="insert"> gnutls_mac_list(void) __GNUTLS_PURE__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">const gnutls_certificate_type_t <span class="delete">*gnutls_certificate_type_list(void);</span></td><td> </td><td class="rblock">const gnutls_digest_algorithm_t <span class="insert">*</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">const gnutls_kx_algorithm_t <span class="delete">*gnutls_kx_list(void);</span></td><td> </td><td class="rblock"><span class="insert"> gnutls_digest_list(void) __GNUTLS_PURE__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">const gnutls_pk_algorithm_t <span class="delete">*gnutls_pk_list(void);</span></td><td> </td><td class="rblock">const gnutls_compression_method_t <span class="insert">*</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">const gnutls_sign_algorithm_t <span class="delete">*gnutls_sign_list(void);</span></td><td> </td><td class="rblock"><span class="insert"> gnutls_compression_list(void) __GNUTLS_PURE__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">const char <span class="delete">*gnutls_cipher_suite_info(size_t</span> idx,</td><td> </td><td class="rblock">const gnutls_protocol_t <span class="insert">*</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> unsigned char *cs_id,</td><td> </td><td class="rblock"><span class="insert"> gnutls_protocol_list(void) __GNUTLS_PURE__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> gnutls_kx_algorithm_t * kx,</td><td> </td><td class="rblock">const gnutls_certificate_type_t <span class="insert">*</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> gnutls_cipher_algorithm_t * cipher,</td><td> </td><td class="rblock"><span class="insert"> gnutls_certificate_type_list(void) __GNUTLS_PURE__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> gnutls_mac_algorithm_t * mac,</td><td> </td><td class="rblock">const gnutls_kx_algorithm_t <span class="insert">*</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> gnutls_protocol_t * min_version);</td><td> </td><td class="rblock"><span class="insert"> gnutls_kx_list(void) __GNUTLS_PURE__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">const gnutls_pk_algorithm_t <span class="insert">*</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> gnutls_pk_list(void) __GNUTLS_PURE__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">const gnutls_sign_algorithm_t <span class="insert">*</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> gnutls_sign_list(void) __GNUTLS_PURE__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">const char <span class="insert">*</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> gnutls_cipher_suite_info(size_t</span> idx,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> unsigned char *cs_id,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> gnutls_kx_algorithm_t * kx,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> gnutls_cipher_algorithm_t * cipher,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> gnutls_mac_algorithm_t * mac,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> gnutls_protocol_t * min_version);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> /* error functions */</td><td> </td><td class="right"> /* error functions */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0028" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">int gnutls_error_is_fatal(int error);</td><td> </td><td class="rblock">int gnutls_error_is_fatal(int error)<span class="insert"> __GNUTLS_CONST__</span>;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_error_to_alert(int err, int *level);</td><td> </td><td class="right">int gnutls_error_to_alert(int err, int *level);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">void gnutls_perror(int error);</td><td> </td><td class="right">void gnutls_perror(int error);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0029" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">const char <span class="delete">*gnutls_strerror(int error);</span></td><td> </td><td class="rblock">const char <span class="insert">* gnutls_strerror(int error) __GNUTLS_CONST__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">const char <span class="delete">*gnutls_strerror_name(int error);</span></td><td> </td><td class="rblock">const char <span class="insert">* gnutls_strerror_name(int error) __GNUTLS_CONST__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* Semi-internal functions.</td><td> </td><td class="right">/* Semi-internal functions.</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">void gnutls_handshake_set_private_extensions(gnutls_session_t session,</td><td> </td><td class="right">void gnutls_handshake_set_private_extensions(gnutls_session_t session,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> int allow);</td><td> </td><td class="right"> int allow);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_handshake_set_random(gnutls_session_t session,</td><td> </td><td class="right">int gnutls_handshake_set_random(gnutls_session_t session,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> const gnutls_datum_t * random);</td><td> </td><td class="right"> const gnutls_datum_t * random);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">gnutls_handshake_description_t</td><td> </td><td class="right">gnutls_handshake_description_t</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">gnutls_handshake_get_last_out(gnutls_session_t session);</td><td> </td><td class="right">gnutls_handshake_get_last_out(gnutls_session_t session);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr bgcolor="gray" ><td></td><th><a name="part-l6" /><small>skipping to change at</small><em> line 1012</em></th><th> </th><th><a name="part-r6" /><small>skipping to change at</small><em> line 1073</em></th><td></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">void gnutls_packet_get(gnutls_packet_t packet, gnutls_datum_t *data, unsign
+ed char *sequence);</td><td> </td><td class="right">void gnutls_packet_get(gnutls_packet_t packet, gnutls_datum_t *data, unsign
+ed char *sequence);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">void gnutls_packet_deinit(gnutls_packet_t packet);</td><td> </td><td class="right">void gnutls_packet_deinit(gnutls_packet_t packet);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define gnutls_read gnutls_record_recv</td><td> </td><td class="right">#define gnutls_read gnutls_record_recv</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define gnutls_write gnutls_record_send</td><td> </td><td class="right">#define gnutls_write gnutls_record_send</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">ssize_t gnutls_record_recv_seq(gnutls_session_t session, void *data,</td><td> </td><td class="right">ssize_t gnutls_record_recv_seq(gnutls_session_t session, void *data,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> size_t data_size, unsigned char *seq);</td><td> </td><td class="right"> size_t data_size, unsigned char *seq);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">size_t gnutls_record_overhead_size(gnutls_session_t session);</td><td> </td><td class="right">size_t gnutls_record_overhead_size(gnutls_session_t session);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0030" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">size_t gnutls_est_record_overhead_size(gnutls_protocol_t version,</td><td> </td><td class="rblock">size_t</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> gnutls_cipher_algorithm_t cipher,</td><td> </td><td class="rblock"> gnutls_est_record_overhead_size(gnutls_protocol_t version,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> gnutls_mac_algorithm_t mac,</td><td> </td><td class="rblock"> gnutls_cipher_algorithm_t cipher,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> gnutls_compression_method_t comp,</td><td> </td><td class="rblock"> gnutls_mac_algorithm_t mac,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> unsigned int <span class="delete">flags);</span></td><td> </td><td class="rblock"> gnutls_compression_method_t comp,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> unsigned int <span class="insert">flags) __GNUTLS_CONST__</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">void gnutls_session_enable_compatibility_mode(gnutls_session_t session);</td><td> </td><td class="right">void gnutls_session_enable_compatibility_mode(gnutls_session_t session);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define gnutls_record_set_max_empty_records(session, x)</td><td> </td><td class="right">#define gnutls_record_set_max_empty_records(session, x)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_record_can_use_length_hiding(gnutls_session_t session);</td><td> </td><td class="right">int gnutls_record_can_use_length_hiding(gnutls_session_t session);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_record_get_direction(gnutls_session_t session);</td><td> </td><td class="right">int gnutls_record_get_direction(gnutls_session_t session);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">size_t gnutls_record_get_max_size(gnutls_session_t session);</td><td> </td><td class="right">size_t gnutls_record_get_max_size(gnutls_session_t session);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">ssize_t gnutls_record_set_max_size(gnutls_session_t session, size_t size);</td><td> </td><td class="right">ssize_t gnutls_record_set_max_size(gnutls_session_t session, size_t size);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr bgcolor="gray" ><td></td><th><a name="part-l7" /><small>skipping to change at</small><em> line 1199</em></th><th> </th><th><a name="part-r7" /><small>skipping to change at</small><em> line 1261</em></th><td></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_priority_cipher_list(gnutls_priority_t pcache,</td><td> </td><td class="right">int gnutls_priority_cipher_list(gnutls_priority_t pcache,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> const unsigned int **list);</td><td> </td><td class="right"> const unsigned int **list);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_priority_mac_list(gnutls_priority_t pcache,</td><td> </td><td class="right">int gnutls_priority_mac_list(gnutls_priority_t pcache,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> const unsigned int **list);</td><td> </td><td class="right"> const unsigned int **list);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> /* for compatibility</td><td> </td><td class="right"> /* for compatibility</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_set_default_priority(gnutls_session_t session);</td><td> </td><td class="right">int gnutls_set_default_priority(gnutls_session_t session);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* Returns the name of a cipher suite */</td><td> </td><td class="right">/* Returns the name of a cipher suite */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0031" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">const char <span class="delete">*gnutls_cipher_suite_get_name(gnutls_kx_algorithm_t</span></td><td> </td><td class="rblock">const char <span class="insert">*</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> kx_algorithm,</td><td> </td><td class="rblock"><span class="insert"> gnutls_cipher_suite_get_name(gnutls_kx_algorithm_t</span> kx_algorithm,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> gnutls_cipher_algorithm_t</td><td> </td><td class="rblock"> gnutls_cipher_algorithm_t <span class="insert">cipher_algori</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">cipher_algorithm,</span></td><td> </td><td class="rblock"><span class="insert">thm,</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> gnutls_mac_algorithm_t</td><td> </td><td class="rblock"> gnutls_mac_algorithm_t <span class="insert">mac_algorithm) _</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">mac_algorithm);</span></td><td> </td><td class="rblock"><span class="insert">_GNUTLS_CONST__;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* get the currently used protocol version */</td><td> </td><td class="right">/* get the currently used protocol version */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">gnutls_protocol_t gnutls_protocol_get_version(gnutls_session_t session);</td><td> </td><td class="right">gnutls_protocol_t gnutls_protocol_get_version(gnutls_session_t session);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0032" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">const char <span class="delete">*gnutls_protocol_get_name(gnutls_protocol_t version);</span></td><td> </td><td class="rblock">const char <span class="insert">*</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> gnutls_protocol_get_name(gnutls_protocol_t version) __GNUTLS_CONST__</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* get/set session</td><td> </td><td class="right">/* get/set session</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_session_set_data(gnutls_session_t session,</td><td> </td><td class="right">int gnutls_session_set_data(gnutls_session_t session,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> const void *session_data,</td><td> </td><td class="right"> const void *session_data,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> size_t session_data_size);</td><td> </td><td class="right"> size_t session_data_size);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_session_get_data(gnutls_session_t session, void *session_data,</td><td> </td><td class="right">int gnutls_session_get_data(gnutls_session_t session, void *session_data,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> size_t * session_data_size);</td><td> </td><td class="right"> size_t * session_data_size);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_session_get_data2(gnutls_session_t session,</td><td> </td><td class="right">int gnutls_session_get_data2(gnutls_session_t session,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> gnutls_datum_t * data);</td><td> </td><td class="right"> gnutls_datum_t * data);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr bgcolor="gray" ><td></td><th><a name="part-l8" /><small>skipping to change at</small><em> line 1354</em></th><th> </th><th><a name="part-r8" /><small>skipping to change at</small><em> line 1415</em></th><td></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">void</td><td> </td><td class="right">void</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">gnutls_handshake_set_post_client_hello_function(gnutls_session_t session,</td><td> </td><td class="right">gnutls_handshake_set_post_client_hello_function(gnutls_session_t session,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> gnutls_handshake_post_client
+_hello_func</td><td> </td><td class="right"> gnutls_handshake_post_client
+_hello_func</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> func);</td><td> </td><td class="right"> func);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">void gnutls_handshake_set_max_packet_length(gnutls_session_t session,</td><td> </td><td class="right">void gnutls_handshake_set_max_packet_length(gnutls_session_t session,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> size_t max);</td><td> </td><td class="right"> size_t max);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* returns libgnutls version (call it with a NULL argument)</td><td> </td><td class="right">/* returns libgnutls version (call it with a NULL argument)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0033" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">const char <span class="delete">*gnutls_check_version(const</span> char <span class="delete">*req_version);</span></td><td> </td><td class="rblock">const char <span class="insert">* gnutls_check_version(const</span> char <span class="insert">*req_version) __GNUTLS_CONST__</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">/* A macro which will allow optimizing out calls to gnutls_check_version()</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * when the version being compiled with is sufficient.</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * Used as:</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * if (gnutls_check_version_numerc(3,3,16)) {</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> */</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#define gnutls_check_version_numeric(a,b,c) \</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> ((GNUTLS_VERSION_MAJOR &gt;= (a)) &amp;&amp; \</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> ((GNUTLS_VERSION_NUMBER &gt;= ( ((a) &lt;&lt; 16) + ((b) &lt;&lt; 8) + (c) )) || \</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> gnutls_check_version(#a "." #b "." #c)))</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* Functions for setting/clearing credentials</td><td> </td><td class="right">/* Functions for setting/clearing credentials</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">void gnutls_credentials_clear(gnutls_session_t session);</td><td> </td><td class="right">void gnutls_credentials_clear(gnutls_session_t session);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* cred is a structure defined by the kx algorithm</td><td> </td><td class="right">/* cred is a structure defined by the kx algorithm</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_credentials_set(gnutls_session_t session,</td><td> </td><td class="right">int gnutls_credentials_set(gnutls_session_t session,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> gnutls_credentials_type_t type, void *cred);</td><td> </td><td class="right"> gnutls_credentials_type_t type, void *cred);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_credentials_get(gnutls_session_t session,</td><td> </td><td class="right">int gnutls_credentials_get(gnutls_session_t session,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr bgcolor="gray" ><td></td><th><a name="part-l9" /><small>skipping to change at</small><em> line 2559</em></th><th> </th><th><a name="part-r9" /><small>skipping to change at</small><em> line 2630</em></th><td></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_E_NO_CERTIFICATE_STATUS -340</td><td> </td><td class="right">#define GNUTLS_E_NO_CERTIFICATE_STATUS -340</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_E_OCSP_RESPONSE_ERROR -341</td><td> </td><td class="right">#define GNUTLS_E_OCSP_RESPONSE_ERROR -341</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_E_RANDOM_DEVICE_ERROR -342</td><td> </td><td class="right">#define GNUTLS_E_RANDOM_DEVICE_ERROR -342</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_E_AUTH_ERROR -343</td><td> </td><td class="right">#define GNUTLS_E_AUTH_ERROR -343</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_E_NO_APPLICATION_PROTOCOL -344</td><td> </td><td class="right">#define GNUTLS_E_NO_APPLICATION_PROTOCOL -344</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_E_SOCKETS_INIT_ERROR -345</td><td> </td><td class="right">#define GNUTLS_E_SOCKETS_INIT_ERROR -345</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_E_KEY_IMPORT_FAILED -346</td><td> </td><td class="right">#define GNUTLS_E_KEY_IMPORT_FAILED -346</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_E_INAPPROPRIATE_FALLBACK -347 /*GNUTLS_A_INAPPROPRIATE_FALLB
+ACK*/</td><td> </td><td class="right">#define GNUTLS_E_INAPPROPRIATE_FALLBACK -347 /*GNUTLS_A_INAPPROPRIATE_FALLB
+ACK*/</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_E_CERTIFICATE_VERIFICATION_ERROR -348</td><td> </td><td class="right">#define GNUTLS_E_CERTIFICATE_VERIFICATION_ERROR -348</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0034" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#define GNUTLS_E_PRIVKEY_VERIFICATION_ERROR -349</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#define GNUTLS_E_UNEXPECTED_EXTENSIONS_LENGTH -350 /*GNUTLS_A_DECODE_ERROR*</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">/</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_E_SELF_TEST_ERROR -400</td><td> </td><td class="right">#define GNUTLS_E_SELF_TEST_ERROR -400</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_E_NO_SELF_TEST -401</td><td> </td><td class="right">#define GNUTLS_E_NO_SELF_TEST -401</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_E_LIB_IN_ERROR_STATE -402</td><td> </td><td class="right">#define GNUTLS_E_LIB_IN_ERROR_STATE -402</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_E_PK_GENERATION_ERROR -403</td><td> </td><td class="right">#define GNUTLS_E_PK_GENERATION_ERROR -403</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_E_IDNA_ERROR -404</td><td> </td><td class="right">#define GNUTLS_E_IDNA_ERROR -404</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_E_NEED_FALLBACK -405</td><td> </td><td class="right">#define GNUTLS_E_NEED_FALLBACK -405</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_E_UNIMPLEMENTED_FEATURE -1250</td><td> </td><td class="right">#define GNUTLS_E_UNIMPLEMENTED_FEATURE -1250</td><td class="lineno" valign="top"></td></tr>
+
+ <tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr>
+ <tr bgcolor="gray"><th colspan="5" align="center"><a name="end">&nbsp;End of changes. 34 change blocks.&nbsp;</a></th></tr>
+ <tr class="stats"><td></td><th><i>97 lines changed or deleted</i></th><th><i> </i></th><th><i>183 lines changed or added</i></th><td></td></tr>
+ <tr><td colspan="5" align="center" class="small"></td></tr>
+ </table>
+ <br/><br/>
+
+ <table class='diff_tbl' border="0" cellpadding="0" cellspacing="0">
+ <tr bgcolor="orange"><th></th><th>&nbsp;pkcs7.h (3.4.10)&nbsp;</th><th> </th><th>&nbsp;pkcs7.h (current)&nbsp;</th><th></th></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr bgcolor="gray" ><td></td><th><a name="part-l1" /><small>skipping to change at</small><em> line 58</em></th><th> </th><th><a name="part-r1" /><small>skipping to change at</small><em> line 58</em></th><td></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> const gnutls_datum_t * data,</td><td> </td><td class="right"> const gnutls_datum_t * data,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> gnutls_x509_crt_fmt_t format);</td><td> </td><td class="right"> gnutls_x509_crt_fmt_t format);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_pkcs7_export(gnutls_pkcs7_t pkcs7,</td><td> </td><td class="right">int gnutls_pkcs7_export(gnutls_pkcs7_t pkcs7,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> gnutls_x509_crt_fmt_t format,</td><td> </td><td class="right"> gnutls_x509_crt_fmt_t format,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> void *output_data, size_t * output_data_size);</td><td> </td><td class="right"> void *output_data, size_t * output_data_size);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_pkcs7_export2(gnutls_pkcs7_t pkcs7,</td><td> </td><td class="right">int gnutls_pkcs7_export2(gnutls_pkcs7_t pkcs7,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> gnutls_x509_crt_fmt_t format,</td><td> </td><td class="right"> gnutls_x509_crt_fmt_t format,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> gnutls_datum_t * out);</td><td> </td><td class="right"> gnutls_datum_t * out);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_pkcs7_get_signature_count(gnutls_pkcs7_t pkcs7);</td><td> </td><td class="right">int gnutls_pkcs7_get_signature_count(gnutls_pkcs7_t pkcs7);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0001" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">int gnutls_pkcs7_get_embedded_data(gnutls_pkcs7_t pkcs7, unsigned idx, gnut
+ls_datum_t *data);</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_pkcs7_get_crt_count(gnutls_pkcs7_t pkcs7);</td><td> </td><td class="right">int gnutls_pkcs7_get_crt_count(gnutls_pkcs7_t pkcs7);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_pkcs7_get_crt_raw(gnutls_pkcs7_t pkcs7, int indx,</td><td> </td><td class="right">int gnutls_pkcs7_get_crt_raw(gnutls_pkcs7_t pkcs7, int indx,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> void *certificate, size_t * certificate_size);</td><td> </td><td class="right"> void *certificate, size_t * certificate_size);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_pkcs7_set_crt_raw(gnutls_pkcs7_t pkcs7,</td><td> </td><td class="right">int gnutls_pkcs7_set_crt_raw(gnutls_pkcs7_t pkcs7,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> const gnutls_datum_t * crt);</td><td> </td><td class="right"> const gnutls_datum_t * crt);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_pkcs7_set_crt(gnutls_pkcs7_t pkcs7, gnutls_x509_crt_t crt);</td><td> </td><td class="right">int gnutls_pkcs7_set_crt(gnutls_pkcs7_t pkcs7, gnutls_x509_crt_t crt);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_pkcs7_delete_crt(gnutls_pkcs7_t pkcs7, int indx);</td><td> </td><td class="right">int gnutls_pkcs7_delete_crt(gnutls_pkcs7_t pkcs7, int indx);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+
+ <tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr>
+ <tr bgcolor="gray"><th colspan="5" align="center"><a name="end">&nbsp;End of changes. 1 change blocks.&nbsp;</a></th></tr>
+ <tr class="stats"><td></td><th><i>1 lines changed or deleted</i></th><th><i> </i></th><th><i>0 lines changed or added</i></th><td></td></tr>
+ <tr><td colspan="5" align="center" class="small"></td></tr>
+ </table>
+ <br/><br/>
+
+ <table class='diff_tbl' border="0" cellpadding="0" cellspacing="0">
+ <tr bgcolor="orange"><th></th><th>&nbsp;x509.h (3.4.10)&nbsp;</th><th> </th><th>&nbsp;x509.h (current)&nbsp;</th><th></th></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr bgcolor="gray" ><td></td><th><a name="part-l1" /><small>skipping to change at</small><em> line 1060</em></th><th> </th><th><a name="part-r1" /><small>skipping to change at</small><em> line 1060</em></th><td></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_x509_privkey_get_pk_algorithm2(gnutls_x509_privkey_t</td><td> </td><td class="right">int gnutls_x509_privkey_get_pk_algorithm2(gnutls_x509_privkey_t</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> key, unsigned int *bits);</td><td> </td><td class="right"> key, unsigned int *bits);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_x509_privkey_get_key_id(gnutls_x509_privkey_t key,</td><td> </td><td class="right">int gnutls_x509_privkey_get_key_id(gnutls_x509_privkey_t key,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> unsigned int flags,</td><td> </td><td class="right"> unsigned int flags,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> unsigned char *output_data,</td><td> </td><td class="right"> unsigned char *output_data,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> size_t * output_data_size);</td><td> </td><td class="right"> size_t * output_data_size);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_x509_privkey_generate(gnutls_x509_privkey_t key,</td><td> </td><td class="right">int gnutls_x509_privkey_generate(gnutls_x509_privkey_t key,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> gnutls_pk_algorithm_t algo,</td><td> </td><td class="right"> gnutls_pk_algorithm_t algo,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> unsigned int bits, unsigned int flags);</td><td> </td><td class="right"> unsigned int bits, unsigned int flags);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0001" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> </td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">void gnutls_x509_privkey_set_flags(gnutls_x509_privkey_t key, unsigned int </span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">flags);</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">/**</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * gnutls_keygen_types_t:</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * @GNUTLS_KEYGEN_SEED: Specifies the seed to be used in key generation.</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * @GNUTLS_KEYGEN_DIGEST: The size field specifies the hash algorithm to be</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> used in key generation.</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> *</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * Enumeration of different key exchange algorithms.</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> */</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">typedef enum {</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> GNUTLS_KEYGEN_SEED = 1,</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> GNUTLS_KEYGEN_DIGEST = 2,</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">} gnutls_keygen_types_t;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">typedef struct {</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> gnutls_keygen_types_t type;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> unsigned char *data;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> unsigned int size;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">} gnutls_keygen_data_st;</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">int</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">gnutls_x509_privkey_generate2(gnutls_x509_privkey_t key,</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> gnutls_pk_algorithm_t algo, unsigned int bits,</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> unsigned int flags, const gnutls_keygen_data_s</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">t *data, unsigned data_size);</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">int gnutls_x509_privkey_verify_seed(gnutls_x509_privkey_t key, gnutls_diges</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">t_algorithm_t, const void *seed, size_t seed_size);</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">int gnutls_x509_privkey_get_seed(gnutls_x509_privkey_t key, gnutls_digest_a</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">lgorithm_t*, void *seed, size_t *seed_size);</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> </td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_x509_privkey_verify_params(gnutls_x509_privkey_t key);</td><td> </td><td class="right">int gnutls_x509_privkey_verify_params(gnutls_x509_privkey_t key);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_x509_privkey_export(gnutls_x509_privkey_t key,</td><td> </td><td class="right">int gnutls_x509_privkey_export(gnutls_x509_privkey_t key,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> gnutls_x509_crt_fmt_t format,</td><td> </td><td class="right"> gnutls_x509_crt_fmt_t format,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> void *output_data,</td><td> </td><td class="right"> void *output_data,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> size_t * output_data_size);</td><td> </td><td class="right"> size_t * output_data_size);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_x509_privkey_export2(gnutls_x509_privkey_t key,</td><td> </td><td class="right">int gnutls_x509_privkey_export2(gnutls_x509_privkey_t key,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> gnutls_x509_crt_fmt_t format,</td><td> </td><td class="right"> gnutls_x509_crt_fmt_t format,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> gnutls_datum_t * out);</td><td> </td><td class="right"> gnutls_datum_t * out);</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">int gnutls_x509_privkey_export_pkcs8(gnutls_x509_privkey_t key,</td><td> </td><td class="right">int gnutls_x509_privkey_export_pkcs8(gnutls_x509_privkey_t key,</td><td class="lineno" valign="top"></td></tr>
+
+ <tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr>
+ <tr bgcolor="gray"><th colspan="5" align="center"><a name="end">&nbsp;End of changes. 1 change blocks.&nbsp;</a></th></tr>
+ <tr class="stats"><td></td><th><i>0 lines changed or deleted</i></th><th><i> </i></th><th><i>34 lines changed or added</i></th><td></td></tr>
+ <tr><td colspan="5" align="center" class="small"></td></tr>
+ </table>
+ <br/><div style='width:100%;' align='left' class='small'>This html diff was produced by rfcdiff 1.41.The latest version is available from <a href='http://tools.ietf.org/tools/rfcdiff/'>http://tools.ietf.org/tools/rfcdiff/</a></div>
+</td></tr></table>
+</body>
+</html>
diff --git a/abi-tracker/headers_diff/gnutls/3.4.10/current/meta.json b/abi-tracker/headers_diff/gnutls/3.4.10/current/meta.json
new file mode 100644
index 0000000000..5dc8ef1245
--- /dev/null
+++ b/abi-tracker/headers_diff/gnutls/3.4.10/current/meta.json
@@ -0,0 +1,3 @@
+{
+ "Total": 5
+} \ No newline at end of file
diff --git a/abi-tracker/headers_diff/gnutls/3.4.9/3.4.10/diff.html b/abi-tracker/headers_diff/gnutls/3.4.9/3.4.10/diff.html
new file mode 100644
index 0000000000..c2c1dab7d9
--- /dev/null
+++ b/abi-tracker/headers_diff/gnutls/3.4.9/3.4.10/diff.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta name="keywords" content="GnuTLS, header, diff" />
+ <meta name="description" content="Diff for header files between 3.4.9 and 3.4.10 versions of gnutls" />
+ <link rel="stylesheet" type="text/css" href="../../../../css/common.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../css/headers_diff.css" />
+
+
+ <title>
+ GnuTLS: headers diff between 3.4.9 and 3.4.10 versions
+ </title>
+
+ </head>
+
+<body>
+<table width='100%' cellpadding='0' cellspacing='0'><tr><td><table cellpadding='0' cellspacing='0'><tr><td align='center'><h1 class='tool'><a title='Home: ABI tracker for GnuTLS' href='../../../../timeline/gnutls/index.html' class='tool'>ABI<br/>Tracker</a></h1></td><td width='30px;'></td><td><h1>(GnuTLS)</h1></td></tr></table><hr/>
+<br/>
+<br/>
+<h1>Headers diff: <span class='version'>3.4.9</span> vs <span class='version'>3.4.10</span></h1><br/><br/>
+ <table class='diff_tbl' border="0" cellpadding="0" cellspacing="0">
+ <tr bgcolor="orange"><th></th><th>&nbsp;gnutls.h (3.4.9)&nbsp;</th><th> </th><th>&nbsp;gnutls.h (3.4.10)&nbsp;</th><th></th></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr bgcolor="gray" ><td></td><th><a name="part-l1" /><small>skipping to change at</small><em> line 56</em></th><th> </th><th><a name="part-r1" /><small>skipping to change at</small><em> line 56</em></th><td></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#endif</td><td> </td><td class="right">#endif</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* Get time_t. */</td><td> </td><td class="right">/* Get time_t. */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#include &lt;time.h&gt;</td><td> </td><td class="right">#include &lt;time.h&gt;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* *INDENT-OFF* */</td><td> </td><td class="right">/* *INDENT-OFF* */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#ifdef __cplusplus</td><td> </td><td class="right">#ifdef __cplusplus</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">extern "C" {</td><td> </td><td class="right">extern "C" {</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#endif</td><td> </td><td class="right">#endif</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* *INDENT-ON* */</td><td> </td><td class="right">/* *INDENT-ON* */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0001" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">#define GNUTLS_VERSION "3.4.<span class="delete">9</span>"</td><td> </td><td class="rblock">#define GNUTLS_VERSION "3.4.<span class="insert">10</span>"</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_VERSION_MAJOR 3</td><td> </td><td class="right">#define GNUTLS_VERSION_MAJOR 3</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_VERSION_MINOR 4</td><td> </td><td class="right">#define GNUTLS_VERSION_MINOR 4</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0002" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">#define GNUTLS_VERSION_PATCH <span class="delete">9</span></td><td> </td><td class="rblock">#define GNUTLS_VERSION_PATCH <span class="insert">10</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0003" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">#define GNUTLS_VERSION_NUMBER 0x03040<span class="delete">9</span></td><td> </td><td class="rblock">#define GNUTLS_VERSION_NUMBER 0x03040<span class="insert">a</span></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_CIPHER_RIJNDAEL_128_CBC GNUTLS_CIPHER_AES_128_CBC</td><td> </td><td class="right">#define GNUTLS_CIPHER_RIJNDAEL_128_CBC GNUTLS_CIPHER_AES_128_CBC</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_CIPHER_RIJNDAEL_256_CBC GNUTLS_CIPHER_AES_256_CBC</td><td> </td><td class="right">#define GNUTLS_CIPHER_RIJNDAEL_256_CBC GNUTLS_CIPHER_AES_256_CBC</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_CIPHER_RIJNDAEL_CBC GNUTLS_CIPHER_AES_128_CBC</td><td> </td><td class="right">#define GNUTLS_CIPHER_RIJNDAEL_CBC GNUTLS_CIPHER_AES_128_CBC</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_CIPHER_ARCFOUR GNUTLS_CIPHER_ARCFOUR_128</td><td> </td><td class="right">#define GNUTLS_CIPHER_ARCFOUR GNUTLS_CIPHER_ARCFOUR_128</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#if !defined(GNUTLS_INTERNAL_BUILD) &amp;&amp; defined(_WIN32)</td><td> </td><td class="right">#if !defined(GNUTLS_INTERNAL_BUILD) &amp;&amp; defined(_WIN32)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"># define _SYM_EXPORT __declspec(dllimport)</td><td> </td><td class="right"># define _SYM_EXPORT __declspec(dllimport)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#else</td><td> </td><td class="right">#else</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"># define _SYM_EXPORT</td><td> </td><td class="right"># define _SYM_EXPORT</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
+ <tr bgcolor="gray" ><td></td><th><a name="part-l2" /><small>skipping to change at</small><em> line 727</em></th><th> </th><th><a name="part-r2" /><small>skipping to change at</small><em> line 727</em></th><td></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_ECC_CURVE_INVALID = 0,</td><td> </td><td class="right"> GNUTLS_ECC_CURVE_INVALID = 0,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_ECC_CURVE_SECP224R1,</td><td> </td><td class="right"> GNUTLS_ECC_CURVE_SECP224R1,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_ECC_CURVE_SECP256R1,</td><td> </td><td class="right"> GNUTLS_ECC_CURVE_SECP256R1,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_ECC_CURVE_SECP384R1,</td><td> </td><td class="right"> GNUTLS_ECC_CURVE_SECP384R1,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_ECC_CURVE_SECP521R1,</td><td> </td><td class="right"> GNUTLS_ECC_CURVE_SECP521R1,</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> GNUTLS_ECC_CURVE_SECP192R1</td><td> </td><td class="right"> GNUTLS_ECC_CURVE_SECP192R1</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">} gnutls_ecc_curve_t;</td><td> </td><td class="right">} gnutls_ecc_curve_t;</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/* macros to allow specifying a specific curve in gnutls_privkey_generate()</td><td> </td><td class="right">/* macros to allow specifying a specific curve in gnutls_privkey_generate()</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * and gnutls_x509_privkey_generate() */</td><td> </td><td class="right"> * and gnutls_x509_privkey_generate() */</td><td class="lineno" valign="top"></td></tr>
+ <tr><td><a name="diff0004" /></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="lblock">#define GNUTLS_CURVE_TO_BITS(curve) (unsigned int)((<span class="delete">1&lt;&lt;31)|((unsigned int)(
+</span>curve)))</td><td> </td><td class="rblock">#define GNUTLS_CURVE_TO_BITS(curve) (unsigned int)((<span class="insert">(unsigned int)1&lt;&lt;31)|((
+unsigned int)(</span>curve)))</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_BITS_TO_CURVE(bits) (((unsigned int)(bits)) &amp; 0x7FFFFFFF)</td><td> </td><td class="right">#define GNUTLS_BITS_TO_CURVE(bits) (((unsigned int)(bits)) &amp; 0x7FFFFFFF)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">#define GNUTLS_BITS_ARE_CURVE(bits) (((unsigned int)(bits)) &amp; 0x80000000)</td><td> </td><td class="right">#define GNUTLS_BITS_ARE_CURVE(bits) (((unsigned int)(bits)) &amp; 0x80000000)</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * gnutls_sec_param_t:</td><td> </td><td class="right"> * gnutls_sec_param_t:</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_SEC_PARAM_UNKNOWN: Cannot be known</td><td> </td><td class="right"> * @GNUTLS_SEC_PARAM_UNKNOWN: Cannot be known</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_SEC_PARAM_INSECURE: Less than 42 bits of security</td><td> </td><td class="right"> * @GNUTLS_SEC_PARAM_INSECURE: Less than 42 bits of security</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_SEC_PARAM_EXPORT: 42 bits of security</td><td> </td><td class="right"> * @GNUTLS_SEC_PARAM_EXPORT: 42 bits of security</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_SEC_PARAM_VERY_WEAK: 64 bits of security</td><td> </td><td class="right"> * @GNUTLS_SEC_PARAM_VERY_WEAK: 64 bits of security</td><td class="lineno" valign="top"></td></tr>
+ <tr><td class="lineno" valign="top"></td><td class="left"> * @GNUTLS_SEC_PARAM_WEAK: 72 bits of security</td><td> </td><td class="right"> * @GNUTLS_SEC_PARAM_WEAK: 72 bits of security</td><td class="lineno" valign="top"></td></tr>
+
+ <tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr>
+ <tr bgcolor="gray"><th colspan="5" align="center"><a name="end">&nbsp;End of changes. 4 change blocks.&nbsp;</a></th></tr>
+ <tr class="stats"><td></td><th><i>4 lines changed or deleted</i></th><th><i> </i></th><th><i>4 lines changed or added</i></th><td></td></tr>
+ <tr><td colspan="5" align="center" class="small"></td></tr>
+ </table>
+ <br/><div style='width:100%;' align='left' class='small'>This html diff was produced by rfcdiff 1.41.The latest version is available from <a href='http://tools.ietf.org/tools/rfcdiff/'>http://tools.ietf.org/tools/rfcdiff/</a></div>
+</td></tr></table>
+</body>
+</html>
diff --git a/abi-tracker/headers_diff/gnutls/3.4.9/3.4.10/meta.json b/abi-tracker/headers_diff/gnutls/3.4.9/3.4.10/meta.json
new file mode 100644
index 0000000000..82953d0507
--- /dev/null
+++ b/abi-tracker/headers_diff/gnutls/3.4.9/3.4.10/meta.json
@@ -0,0 +1,3 @@
+{
+ "Total": 1
+} \ No newline at end of file
diff --git a/abi-tracker/objects_report/gnutls/3.4.10/current/meta.json b/abi-tracker/objects_report/gnutls/3.4.10/current/meta.json
new file mode 100644
index 0000000000..25bae00ceb
--- /dev/null
+++ b/abi-tracker/objects_report/gnutls/3.4.10/current/meta.json
@@ -0,0 +1,9 @@
+{
+ "BC": "99.9",
+ "Added": 10,
+ "Removed": 1,
+ "ObjectsAdded": 0,
+ "ObjectsRemoved": 0,
+ "ChangedSoname": 0,
+ "TotalObjects": 1
+} \ No newline at end of file
diff --git a/abi-tracker/objects_report/gnutls/3.4.10/current/report.html b/abi-tracker/objects_report/gnutls/3.4.10/current/report.html
new file mode 100644
index 0000000000..5822843d07
--- /dev/null
+++ b/abi-tracker/objects_report/gnutls/3.4.10/current/report.html
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta name="keywords" content="GnuTLS, ABI, changes, compatibility, report" />
+ <meta name="description" content="ABI changes/compatibility report between 3.4.10 and current versions of the gnutls" />
+ <link rel="stylesheet" type="text/css" href="../../../../css/common.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../css/report.css" />
+
+
+ <title>
+ GnuTLS: Objects ABI report between 3.4.10 and current versions
+ </title>
+
+ </head>
+
+<body>
+<table cellpadding='0' cellspacing='0'><tr><td align='center'><h1 class='tool'><a title='Home: ABI tracker for GnuTLS' href='../../../../timeline/gnutls/index.html' class='tool'>ABI<br/>Tracker</a></h1></td><td width='30px;'></td><td><h1>(GnuTLS)</h1></td></tr></table><hr/>
+<br/>
+<br/>
+<h1>Objects ABI report: <span class='version'>3.4.10</span> vs <span class='version'>current</span></h1>
+<br/>
+<br/>
+<table class='summary'>
+<tr><th>Object</th>
+<th>Backward<br/>Compatibility</th>
+<th>Added<br/>Symbols</th>
+<th>Removed<br/>Symbols</th>
+</tr>
+<tr>
+<td class='object'>libgnutls.so.30.6.2</td>
+<td class='warning'><a href='../../../../compat_report/gnutls/3.4.10/current/2455a/abi_compat_report.html'>99.9%</a></td>
+<td class='added'><a class='num' href='../../../../compat_report/gnutls/3.4.10/current/2455a/abi_compat_report.html#Added'>10 new</td>
+<td class='removed'><a class='num' href='../../../../compat_report/gnutls/3.4.10/current/2455a/abi_compat_report.html#Removed'>1 removed</td>
+</tr>
+</table>
+<br/>
+<br/>
+<hr/>
+<div align='right'><a class='home' title="Andrey Ponomarenko's ABI laboratory" href='https://github.com/lvc'>github.com/lvc</a></div>
+<br/>
+
+</body>
+</html>
diff --git a/abi-tracker/objects_report/gnutls/3.4.9/3.4.10/meta.json b/abi-tracker/objects_report/gnutls/3.4.9/3.4.10/meta.json
new file mode 100644
index 0000000000..91022d4b42
--- /dev/null
+++ b/abi-tracker/objects_report/gnutls/3.4.9/3.4.10/meta.json
@@ -0,0 +1,9 @@
+{
+ "BC": "100",
+ "Added": 0,
+ "Removed": 0,
+ "ObjectsAdded": 0,
+ "ObjectsRemoved": 0,
+ "ChangedSoname": 0,
+ "TotalObjects": 1
+} \ No newline at end of file
diff --git a/abi-tracker/objects_report/gnutls/3.4.9/3.4.10/report.html b/abi-tracker/objects_report/gnutls/3.4.9/3.4.10/report.html
new file mode 100644
index 0000000000..d30ccfe895
--- /dev/null
+++ b/abi-tracker/objects_report/gnutls/3.4.9/3.4.10/report.html
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta name="keywords" content="GnuTLS, ABI, changes, compatibility, report" />
+ <meta name="description" content="ABI changes/compatibility report between 3.4.9 and 3.4.10 versions of the gnutls" />
+ <link rel="stylesheet" type="text/css" href="../../../../css/common.css" />
+ <link rel="stylesheet" type="text/css" href="../../../../css/report.css" />
+
+
+ <title>
+ GnuTLS: Objects ABI report between 3.4.9 and 3.4.10 versions
+ </title>
+
+ </head>
+
+<body>
+<table cellpadding='0' cellspacing='0'><tr><td align='center'><h1 class='tool'><a title='Home: ABI tracker for GnuTLS' href='../../../../timeline/gnutls/index.html' class='tool'>ABI<br/>Tracker</a></h1></td><td width='30px;'></td><td><h1>(GnuTLS)</h1></td></tr></table><hr/>
+<br/>
+<br/>
+<h1>Objects ABI report: <span class='version'>3.4.9</span> vs <span class='version'>3.4.10</span></h1>
+<br/>
+<br/>
+<table class='summary'>
+<tr><th>Object</th>
+<th>Backward<br/>Compatibility</th>
+<th>Added<br/>Symbols</th>
+<th>Removed<br/>Symbols</th>
+</tr>
+<tr>
+<td class='object'>libgnutls.so.30.6.1</td>
+<td class='ok'><a href='../../../../compat_report/gnutls/3.4.9/3.4.10/ab52f/abi_compat_report.html'>100%</a></td>
+<td class='ok'>0</td>
+<td class='ok'>0</td>
+</tr>
+</table>
+<br/>
+<br/>
+<hr/>
+<div align='right'><a class='home' title="Andrey Ponomarenko's ABI laboratory" href='https://github.com/lvc'>github.com/lvc</a></div>
+<br/>
+
+</body>
+</html>
diff --git a/abi-tracker/timeline/gnutls/index.html b/abi-tracker/timeline/gnutls/index.html
index fe06cae05e..5a0a06aa9b 100644
--- a/abi-tracker/timeline/gnutls/index.html
+++ b/abi-tracker/timeline/gnutls/index.html
@@ -31,13 +31,23 @@
<th>Package<br/>Diff</th>
</tr>
<tr><td>current</td>
-<td>2016-02-03<br/>09:20</td>
+<td>2016-03-13<br/>11:39</td>
<td>30</td>
<td><a href='../../changelog/gnutls/current/log.html'>changelog</a></td>
-<td class='warning'><a href='../../objects_report/gnutls/3.4.9/current/report.html'>99.9%</a></td>
-<td class='added'><a class='num' href='../../objects_report/gnutls/3.4.9/current/report.html'>10 new</a></td>
-<td class='removed'><a class='num' href='../../objects_report/gnutls/3.4.9/current/report.html'>1 removed</a></td>
-<td><a href='../../headers_diff/gnutls/3.4.9/current/diff.html'>5</a></td>
+<td class='warning'><a href='../../objects_report/gnutls/3.4.10/current/report.html'>99.9%</a></td>
+<td class='added'><a class='num' href='../../objects_report/gnutls/3.4.10/current/report.html'>10 new</a></td>
+<td class='removed'><a class='num' href='../../objects_report/gnutls/3.4.10/current/report.html'>1 removed</a></td>
+<td><a href='../../headers_diff/gnutls/3.4.10/current/diff.html'>5</a></td>
+<td>N/A</td>
+</tr>
+<tr><td>3.4.10</td>
+<td>2016-03-03</td>
+<td>30</td>
+<td><a href='../../changelog/gnutls/3.4.10/log.html'>changelog</a></td>
+<td class='ok'><a href='../../objects_report/gnutls/3.4.9/3.4.10/report.html'>100%</a></td>
+<td class='ok'>0</td>
+<td class='ok'>0</td>
+<td><a href='../../headers_diff/gnutls/3.4.9/3.4.10/diff.html'>1</a></td>
<td>N/A</td>
</tr>
<tr><td>3.4.9</td>
@@ -132,7 +142,7 @@
</tr>
<tr><td>3.4.1</td>
<td>2015-05-03</td>
-<td>N/A</td>
+<td>30</td>
<td><a href='../../changelog/gnutls/3.4.1/log.html'>changelog</a></td>
<td class='ok'><a href='../../objects_report/gnutls/3.4.0/3.4.1/report.html'>100%</a></td>
<td class='added'><a class='num' href='../../objects_report/gnutls/3.4.0/3.4.1/report.html'>1 new</a></td>
@@ -1231,7 +1241,7 @@
<td>N/A</td>
<td>N/A</td>
</tr>
-</table><br/>Maintained by <a href='http://www.gnutls.org/'>Nikos Mavrogiannopoulos</a>. Last updated on Wed Feb 3 09:33:48 2016.<br/>
+</table><br/>Maintained by <a href='http://www.gnutls.org/'>Nikos Mavrogiannopoulos</a>. Last updated on Sun Mar 13 18:16:25 2016.<br/>
<br/>
<hr/>
<div align='right'><a class='home' title="Andrey Ponomarenko's ABI laboratory" href='http://abi-laboratory.pro/'>abi-laboratory.pro</a></div>