summaryrefslogtreecommitdiff
path: root/auth.h
diff options
context:
space:
mode:
authorMatt Johnston <matt@ucc.asn.au>2006-03-10 06:31:29 +0000
committerMatt Johnston <matt@ucc.asn.au>2006-03-10 06:31:29 +0000
commit85491713ebc8d52c61e9d83c9dfa3c28acdfb4b1 (patch)
tree92fe73bc4b7e79d1524e3b69b240fa17ab024fe7 /auth.h
parent90546d5218e58dfa543b547c2066987058627534 (diff)
parent60ae0d366440dd449f1bc4c392cfe84b7318b191 (diff)
downloaddropbear-contrib-blacklist.tar.gz
propagate from branch 'au.asn.ucc.matt.dropbear' (head 7ad1775ed65e75dbece27fe6b65bf1a234db386a)contrib-blacklist
to branch 'au.asn.ucc.matt.dropbear.contrib.blacklist' (head 1d86a4f0a401cc68c2670d821a2f6366c37af143)
Diffstat (limited to 'auth.h')
-rw-r--r--auth.h22
1 files changed, 17 insertions, 5 deletions
diff --git a/auth.h b/auth.h
index 548e017..c407ad5 100644
--- a/auth.h
+++ b/auth.h
@@ -41,28 +41,37 @@ void svr_auth_pam();
/* Client functions */
void recv_msg_userauth_failure();
void recv_msg_userauth_success();
+void recv_msg_userauth_specific_60();
void recv_msg_userauth_pk_ok();
+void recv_msg_userauth_info_request();
void cli_get_user();
void cli_auth_getmethods();
void cli_auth_try();
void recv_msg_userauth_banner();
void cli_pubkeyfail();
-int cli_auth_password();
+void cli_auth_password();
int cli_auth_pubkey();
+void cli_auth_interactive();
+char* getpass_or_cancel();
#define MAX_USERNAME_LEN 25 /* arbitrary for the moment */
-#define AUTH_TYPE_PUBKEY 1 << 0
-#define AUTH_TYPE_PASSWORD 1 << 1
+#define AUTH_TYPE_NONE 1
+#define AUTH_TYPE_PUBKEY 1 << 1
+#define AUTH_TYPE_PASSWORD 1 << 2
+#define AUTH_TYPE_INTERACT 1 << 3
-/* auth types, "none" means we should return list of acceptable types */
-#define AUTH_METHOD_NONE "none"
+#define AUTH_METHOD_NONE "none"
#define AUTH_METHOD_NONE_LEN 4
#define AUTH_METHOD_PUBKEY "publickey"
#define AUTH_METHOD_PUBKEY_LEN 9
#define AUTH_METHOD_PASSWORD "password"
#define AUTH_METHOD_PASSWORD_LEN 8
+#define AUTH_METHOD_INTERACT "keyboard-interactive"
+#define AUTH_METHOD_INTERACT_LEN 20
+
+
/* This structure is shared between server and client - it contains
* relatively little extraneous bits when used for the client rather than the
@@ -77,6 +86,9 @@ struct AuthState {
unsigned authdone : 1; /* 0 if we haven't authed, 1 if we have. Applies for
client and server (though has differing [obvious]
meanings). */
+ unsigned perm_warn : 1; /* Server only, set if bad permissions on
+ ~/.ssh/authorized_keys have already been
+ logged. */
/* These are only used for the server */
char *printableuser; /* stripped of control chars, used for logs etc */