2 Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015
3 Ben Kibbey <bjk@luxsci.net>
5 This file is part of libpwmd.
7 Libpwmd is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 2 of the License, or
10 (at your option) any later version.
12 Libpwmd is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with Libpwmd. If not, see <http://www.gnu.org/licenses/>.
44 #define N_(msgid) dgettext("libpwmd", msgid)
46 #define N_(msgid) (msgid)
49 #define N_ARRAY(a) (sizeof(a)/sizeof(a[0]))
53 PWMD_IPV6
, PWMD_IPV4
, PWMD_IP_ANY
56 #if defined(WITH_SSH) || defined(WITH_GNUTLS)
63 struct addrinfo
*addrs
;
64 struct addrinfo
*addr
;
65 pthread_cond_t dns_cond
;
66 pthread_mutex_t dns_mutex
;
76 #define OPT_LOCK_ON_OPEN 0x0001
77 #define OPT_SIGPIPE 0x0002
82 #if defined(WITH_SSH) || defined(WITH_GNUTLS)
88 /* Options set with pwmd_setopt(). */
89 pwmd_ip_version_t prot
;
90 pwmd_knownhost_cb_t kh_cb
;
99 pid_t pinentry_pid
; // for local pinentry timeouts
100 assuan_context_t pctx
;
105 char *pinentry_display
;
106 char *pinentry_lcctype
;
107 char *pinentry_lcmessages
;
108 char *pinentry_error
;
109 char *pinentry_prompt
;
111 int pinentry_tries
; // local pinentry
112 int pinentry_try
; // local pinentry
113 char *passphrase_hint
;
114 char *passphrase_info
;
116 int pinentry_timeout
;
117 int current_pinentry_timeout
;
118 int disable_pinentry
;
120 int pinentry_disabled
; // for sending the disable command
121 pwmd_status_cb_t status_func
;
123 pwmd_inquire_cb_t inquire_func
;
125 size_t inquire_total
;
127 size_t inquire_maxlen
;
129 gpg_error_t (*_inquire_func
) (void *, const char *);
134 int override_inquire
;
136 unsigned version
; // of pwmd
139 gpg_error_t
_assuan_command (pwm_t
* pwm
, assuan_context_t ctx
,
140 char **result
, size_t * len
, const char *cmd
);
141 gpg_error_t
_connect_finalize (pwm_t
* pwm
);
142 #if defined(WITH_SSH) || defined(WITH_GNUTLS)
143 void free_tcp (pwm_t
*);
144 gpg_error_t
tcp_connect_common (pwm_t
* pwm
);