version 1.14, 2019/01/20 22:57:45 |
version 1.15, 2019/01/21 12:53:35 |
|
|
|
|
/* borrows code from sftp-server and ssh-agent */ |
/* borrows code from sftp-server and ssh-agent */ |
|
|
int fd = -1; |
static int fd = -1; |
pid_t pid = -1; |
static pid_t pid = -1; |
|
|
static void |
static void |
send_msg(struct sshbuf *m) |
send_msg(struct sshbuf *m) |
|
|
pkcs11_start_helper(void) |
pkcs11_start_helper(void) |
{ |
{ |
int pair[2]; |
int pair[2]; |
char *helper; |
char *helper, *verbosity = NULL; |
|
|
|
if (log_level_get() >= SYSLOG_LEVEL_DEBUG1) |
|
verbosity = "-vvv"; |
|
|
if (pkcs11_start_helper_methods() == -1) { |
if (pkcs11_start_helper_methods() == -1) { |
error("pkcs11_start_helper_methods failed"); |
error("pkcs11_start_helper_methods failed"); |
return (-1); |
return (-1); |
|
|
helper = getenv("SSH_PKCS11_HELPER"); |
helper = getenv("SSH_PKCS11_HELPER"); |
if (helper == NULL || strlen(helper) == 0) |
if (helper == NULL || strlen(helper) == 0) |
helper = _PATH_SSH_PKCS11_HELPER; |
helper = _PATH_SSH_PKCS11_HELPER; |
execlp(helper, helper, (char *)NULL); |
debug("%s: starting %s %s", __func__, helper, |
|
verbosity == NULL ? "" : verbosity); |
|
execlp(helper, helper, verbosity, (char *)NULL); |
fprintf(stderr, "exec: %s: %s\n", helper, strerror(errno)); |
fprintf(stderr, "exec: %s: %s\n", helper, strerror(errno)); |
_exit(1); |
_exit(1); |
} |
} |