summaryrefslogtreecommitdiff
path: root/sshconnect.h
diff options
context:
space:
mode:
Diffstat (limited to 'sshconnect.h')
-rw-r--r--sshconnect.h50
1 files changed, 16 insertions, 34 deletions
diff --git a/sshconnect.h b/sshconnect.h
index 0ea6e99f..7c091e2b 100644
--- a/sshconnect.h
+++ b/sshconnect.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: sshconnect.h,v 1.28 2013/10/16 02:31:47 djm Exp $ */
+/* $OpenBSD: sshconnect.h,v 1.40 2020/01/25 07:17:18 djm Exp $ */
/*
* Copyright (c) 2000 Markus Friedl. All rights reserved.
@@ -26,50 +26,32 @@
typedef struct Sensitive Sensitive;
struct Sensitive {
- Key **keys;
- int nkeys;
- int external_keysign;
+ struct sshkey **keys;
+ int nkeys;
};
struct addrinfo;
-int ssh_connect(const char *, struct addrinfo *, struct sockaddr_storage *,
- u_short, int, int, int *, int, int);
-void ssh_kill_proxy_command(void);
+struct ssh;
-void ssh_login(Sensitive *, const char *, struct sockaddr *, u_short,
- struct passwd *, int);
+int ssh_connect(struct ssh *, const char *, const char *,
+ struct addrinfo *, struct sockaddr_storage *, u_short,
+ int, int, int *, int);
+void ssh_kill_proxy_command(void);
-void ssh_exchange_identification(int);
+void ssh_login(struct ssh *, Sensitive *, const char *,
+ struct sockaddr *, u_short, struct passwd *, int);
-int verify_host_key(char *, struct sockaddr *, Key *);
+int verify_host_key(char *, struct sockaddr *, struct sshkey *);
void get_hostfile_hostname_ipaddr(char *, struct sockaddr *, u_short,
char **, char **);
-void ssh_kex(char *, struct sockaddr *);
-void ssh_kex2(char *, struct sockaddr *, u_short);
+void ssh_kex2(struct ssh *ssh, char *, struct sockaddr *, u_short);
-void ssh_userauth1(const char *, const char *, char *, Sensitive *);
-void ssh_userauth2(const char *, const char *, char *, Sensitive *);
+void ssh_userauth2(struct ssh *ssh, const char *, const char *,
+ char *, Sensitive *);
-void ssh_put_password(char *);
int ssh_local_cmd(const char *);
-/*
- * Macros to raise/lower permissions.
- */
-#define PRIV_START do { \
- int save_errno = errno; \
- if (seteuid(original_effective_uid) != 0) \
- fatal("PRIV_START: seteuid: %s", \
- strerror(errno)); \
- errno = save_errno; \
-} while (0)
-
-#define PRIV_END do { \
- int save_errno = errno; \
- if (seteuid(original_real_uid) != 0) \
- fatal("PRIV_END: seteuid: %s", \
- strerror(errno)); \
- errno = save_errno; \
-} while (0)
+void maybe_add_key_to_agent(const char *, struct sshkey *,
+ const char *, const char *);