mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
sm/
2008-06-12 Marcus Brinkmann <marcus@g10code.de> * gpgsm.h (struct keyserver_spec): New struct. (opt): Add member keyserver. * gpgsm.c (keyserver_list_free, parse_keyserver_line): New functions. (main): Implement --keyserver option. * call-dirmngr.c (prepare_dirmngr): Send LDAPSERVER commands. tools/ 2008-06-12 Marcus Brinkmann <marcus@g10code.de> * gpgconf-comp.c (gc_options_gpgsm): Add option keyserver.
This commit is contained in:
parent
8ed9eb4ac1
commit
04e965c7fc
6 changed files with 181 additions and 33 deletions
|
@ -140,6 +140,8 @@ get_membuf (struct membuf *mb, size_t *len)
|
|||
static void
|
||||
prepare_dirmngr (ctrl_t ctrl, assuan_context_t ctx, gpg_error_t err)
|
||||
{
|
||||
struct keyserver_spec *server;
|
||||
|
||||
if (!ctrl->dirmngr_seen)
|
||||
{
|
||||
ctrl->dirmngr_seen = 1;
|
||||
|
@ -152,6 +154,25 @@ prepare_dirmngr (ctrl_t ctrl, assuan_context_t ctx, gpg_error_t err)
|
|||
}
|
||||
audit_log_ok (ctrl->audit, AUDIT_DIRMNGR_READY, err);
|
||||
}
|
||||
|
||||
server = opt.keyserver;
|
||||
while (server)
|
||||
{
|
||||
char line[ASSUAN_LINELENGTH];
|
||||
char *user = server->user ? server->user : "";
|
||||
char *pass = server->pass ? server->pass : "";
|
||||
char *base = server->base ? server->base : "";
|
||||
|
||||
snprintf (line, DIM (line) - 1, "LDAPSERVER %s:%i:%s:%s:%s",
|
||||
server->host, server->port, user, pass, base);
|
||||
line[DIM (line) - 1] = 0;
|
||||
|
||||
err = assuan_transact (ctx, line, NULL, NULL, NULL, NULL, NULL, NULL);
|
||||
if (gpg_err_code (err) == GPG_ERR_UNKNOWN_OPTION)
|
||||
err = 0; /* Allow the use of old dirmngr versions. */
|
||||
|
||||
server = server->next;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue