1 /* vim:tw=78:ts=8:sw=4:set ft=c: */
3 Copyright (C) 2006-2009 Ben Kibbey <bjk@luxsci.net>
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02110-1301 USA
31 #ifndef DNS_USE_GETTIMEOFDAY_FOR_ID
32 #define DNS_USE_GETTIMEOFDAY_FOR_ID 1
35 #include <arpa/nameser.h>
47 #define N_(msgid) dgettext("libpwmd", msgid)
50 #define N_ARRAY(a) (sizeof(a)/sizeof(a[0]))
90 LIBSSH2_SESSION
*session
;
91 LIBSSH2_CHANNEL
*channel
;
92 LIBSSH2_KNOWNHOSTS
*kh
;
94 struct libssh2_agent_publickey
*agent_identity
;
95 struct libssh2_agent_publickey
*agent_identity_prev
;
96 struct libssh2_knownhost
*hostent
;
97 struct libssh2_knownhost
*hostent_ip
;
100 pwmd_ssh_async_t state
;
104 #define OPT_LOCK_ON_OPEN 0x01
105 #define OPT_BASE64 0x02
108 assuan_context_t ctx
;
110 pwmd_tcp_conn_t
*tcp_conn
;
111 pwmd_ip_version_t prot
;
112 pwmd_knownhost_cb_t kh_cb
;
118 pwmd_async_cmd_t cmd
;
119 pwmd_async_cmd_t lastcmd
;
120 char *result
; // not related to anything the client can see.
122 pid_t pid
; // for pinentry timeouts when used with ..async2().
123 assuan_context_t pctx
;
124 int nb_fd
; // for pwmd_open/save_async2().
133 char *pinentry_display
;
141 int pinentry_timeout
;
142 pwmd_passphrase_cb_t passfunc
;
144 pwmd_status_cb_t status_func
;
146 pwmd_inquire_cb_t inquire_func
;
148 size_t inquire_total
;
151 int (*_inquire_func
)(void *, const char *);
168 char password
[ASSUAN_LINELENGTH
+1];
171 gpg_error_t
_assuan_command(pwm_t
*pwm
, assuan_context_t ctx
,
172 char **result
, const char *cmd
)
173 __attribute__ ((visibility ("hidden")));
175 gpg_error_t
_connect_finalize(pwm_t
*pwm
)
176 __attribute__ ((visibility ("hidden")));