mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
dirmngr: First take on ntbtls cert verification.
* dirmngr/http-ntbtls.c: New. * dirmngr/Makefile.am (dirmngr_SOURCES): Add file. * dirmngr/dirmngr.h (SERVER_CONTROL_MAGIC): New. (server_conrol_s): Add field 'magic', * dirmngr/dirmngr.c (dirmngr_init_default_ctrl): Set MAGIC. (dirmngr_deinit_default_ctrl): Set MAGIC to deadbeef. * dirmngr/http.c (my_ntbtls_verify_cb): New. (http_session_new) [HTTP_USE_NTBTLS]: Remove all CA setting code. (send_request) [HTTP_USE_NTBTLS]: Set the verify callback. Do not call the verify callback after the handshake. * dirmngr/ks-engine-hkp.c (send_request): Pass gnupg_http_tls_verify_cb to http_session_new. * dirmngr/ks-engine-http.c (ks_http_fetch): Ditto. * dirmngr/t-http.c (my_http_tls_verify_cb): New. (main): Rename option --gnutls-debug to --tls-debug. (main) [HTTP_USE_NTBTLS]: Create a session. Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
parent
a74902cccd
commit
64fffd0ce2
8 changed files with 233 additions and 93 deletions
|
@ -168,12 +168,19 @@ typedef struct cert_ref_s *cert_ref_t;
|
|||
/* Forward references; access only through server.c. */
|
||||
struct server_local_s;
|
||||
|
||||
#if SIZEOF_UNSIGNED_LONG == 8
|
||||
# define SERVER_CONTROL_MAGIC 0x6469726d6e677220
|
||||
#else
|
||||
# define SERVER_CONTROL_MAGIC 0x6469726d
|
||||
#endif
|
||||
|
||||
/* Connection control structure. */
|
||||
struct server_control_s
|
||||
{
|
||||
int refcount; /* Count additional references to this object. */
|
||||
int no_server; /* We are not running under server control. */
|
||||
int status_fd; /* Only for non-server mode. */
|
||||
unsigned long magic;/* Always has SERVER_CONTROL_MAGIC. */
|
||||
int refcount; /* Count additional references to this object. */
|
||||
int no_server; /* We are not running under server control. */
|
||||
int status_fd; /* Only for non-server mode. */
|
||||
struct server_local_s *server_local;
|
||||
int force_crl_refresh; /* Always load a fresh CRL. */
|
||||
|
||||
|
@ -213,6 +220,15 @@ gpg_error_t dirmngr_status (ctrl_t ctrl, const char *keyword, ...);
|
|||
gpg_error_t dirmngr_status_help (ctrl_t ctrl, const char *text);
|
||||
gpg_error_t dirmngr_tick (ctrl_t ctrl);
|
||||
|
||||
/*-- http-ntbtls.c --*/
|
||||
/* Note that we don't use a callback for gnutls. */
|
||||
|
||||
gpg_error_t gnupg_http_tls_verify_cb (void *opaque,
|
||||
http_t http,
|
||||
http_session_t session,
|
||||
unsigned int flags,
|
||||
void *tls_context);
|
||||
|
||||
|
||||
/*-- loadswdb.c --*/
|
||||
gpg_error_t dirmngr_load_swdb (ctrl_t ctrl, int force);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue