• Ted Zlatanov's avatar
    Add GnuTLS support for W32 and certificate and hostname verification in GnuTLS. · e061a11b
    Ted Zlatanov authored
    * 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.
    e061a11b
gnutls.c 26.6 KB