2 Copyright (C) 2006-2016, 2017 Ben Kibbey <bjk@luxsci.net>
4 This file is part of libpwmd.
6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
11 This library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
16 You should have received a copy of the GNU Lesser General Public
17 License along with this library; if not, write to the Free Software
18 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
26 #include <sys/types.h>
34 LIBSSH2_SESSION
*session
;
35 LIBSSH2_CHANNEL
*channel
;
36 LIBSSH2_KNOWNHOSTS
*kh
;
38 struct libssh2_knownhost
*hostent
;
42 struct timeval elapsed
;
45 void _free_ssh_conn (struct ssh_s
*conn
);
46 gpg_error_t
_setup_ssh_session (pwm_t
* pwm
);
47 gpg_error_t
_do_ssh_connect (pwm_t
* pwm
, const char *host
, int port
,
48 const char *identity
, const char *user
,
49 const char *known_hosts
);
50 gpg_error_t
_parse_ssh_url (const char *str
, char **host
, int *port
,
52 ssize_t
write_hook_ssh (struct ssh_s
*, assuan_fd_t fd
, const void *data
,
54 ssize_t
read_hook_ssh (struct ssh_s
*, assuan_fd_t fd
, void *data
,