-ssh_userauth(const char* local_user, const char* server_user, char *host,
- int host_key_valid, RSA *own_host_key);
+ssh_login(Sensitive *, const char *, struct sockaddr *, struct passwd *);
+
+int verify_host_key(char *, struct sockaddr *, Key *);
+
+void ssh_kex(char *, struct sockaddr *);
+void ssh_kex2(char *, struct sockaddr *);
+
+void ssh_userauth1(const char *, const char *, char *, Sensitive *);
+void ssh_userauth2(const char *, const char *, char *, Sensitive *);
+
+void ssh_put_password(char *);
+
+
+/*
+ * Macros to raise/lower permissions.
+ */
+#define PRIV_START do { \
+ int save_errno = errno; \
+ (void)seteuid(original_effective_uid); \
+ errno = save_errno; \
+} while (0)