Add GnuTLS support for W32 and certificate and hostname verification in GnuTLS.
authorTed Zlatanov <tzz@lifelogs.com>
Mon, 25 Apr 2011 01:30:51 +0000 (20:30 -0500)
committerTed Zlatanov <tzz@lifelogs.com>
Mon, 25 Apr 2011 01:30:51 +0000 (20:30 -0500)
commite061a11b5a59f02fac66184e991f01a433f6dc8d
treeccff6a6012dbc1ed4ce247b9e4e84a38c5eb34af
parent33630d51504adc5b2a0289f356c0a1a49f0bd10a
Add GnuTLS support for W32 and certificate and hostname verification in GnuTLS.

* src/gnutls.c: Renamed global_initialized to
gnutls_global_initialized.  Added internals for the
:verify-hostname-error, :verify-error, and :verify-flags
parameters of `gnutls-boot' and documented those parameters in the
docstring.  Start callback support.
(emacs_gnutls_handshake): Add Woe32 support. Retry handshake
unless a fatal error occured. Call gnutls_alert_send_appropriate
on error. Return error code.
(emacs_gnutls_write): Call emacs_gnutls_handle_error.
(emacs_gnutls_read): Likewise.
(Fgnutls_boot): Return handshake error code.
(emacs_gnutls_handle_error): New function.
(wsaerror_to_errno): Likewise.

* src/gnutls.h: Add GNUTLS_STAGE_CALLBACKS enum to denote we're in the
callbacks stage.

* src/w32.c (emacs_gnutls_pull): New function for GnuTLS on Woe32.
(emacs_gnutls_push): Likewise.

* src/w32.h (emacs_gnutls_pull): Add prototype.
(emacs_gnutls_push): Likewise.
src/ChangeLog
src/gnutls.c
src/gnutls.h
src/makefile.w32-in
src/process.c
src/w32.c
src/w32.h