summaryrefslogtreecommitdiffhomepage
path: root/cli-auth.c
diff options
context:
space:
mode:
authorMatt Johnston <matt@ucc.asn.au>2008-11-06 13:16:55 +0000
committerMatt Johnston <matt@ucc.asn.au>2008-11-06 13:16:55 +0000
commit800810a1816a0ac29ba2f5c77f8eed11a97566af (patch)
treedf044012cc8a0c94635a4469c3078d0e14497c3d /cli-auth.c
parent3301bad391f5792e9aa35a01d4e0aa0566fef303 (diff)
parente80f8e8c09dab7cece30660a33e2a2bfd5d5f571 (diff)
propagate from branch 'au.asn.ucc.matt.dropbear' (head cdcc3c729e29544e8b98a408e2dc60e4483dfd2a)
to branch 'au.asn.ucc.matt.dropbear.insecure-nocrypto' (head 0ca38a1cf349f7426ac9de34ebe4c3e3735effab) --HG-- branch : insecure-nocrypto extra : convert_revision : dbb093e087a68abf2e54ab0b711af70771ddb29d
Diffstat (limited to 'cli-auth.c')
-rw-r--r--cli-auth.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/cli-auth.c b/cli-auth.c
index 6be14ef..ac579dc 100644
--- a/cli-auth.c
+++ b/cli-auth.c
@@ -229,6 +229,8 @@ void recv_msg_userauth_failure() {
void recv_msg_userauth_success() {
TRACE(("received msg_userauth_success"))
+ /* Note: in delayed-zlib mode, setting authdone here
+ * will enable compression in the transport layer */
ses.authstate.authdone = 1;
cli_ses.state = USERAUTH_SUCCESS_RCVD;
cli_ses.lastauthtype = AUTH_TYPE_NONE;
@@ -236,8 +238,8 @@ void recv_msg_userauth_success() {
void cli_auth_try() {
- TRACE(("enter cli_auth_try"))
int finished = 0;
+ TRACE(("enter cli_auth_try"))
CHECKCLEARTOWRITE();
@@ -287,11 +289,20 @@ void cli_auth_try() {
/* A helper for getpass() that exits if the user cancels. The returned
* password is statically allocated by getpass() */
-char* getpass_or_cancel()
+char* getpass_or_cancel(char* prompt)
{
char* password = NULL;
+
+#ifdef DROPBEAR_PASSWORD_ENV
+ /* Password provided in an environment var */
+ password = getenv(DROPBEAR_PASSWORD_ENV);
+ if (password)
+ {
+ return password;
+ }
+#endif
- password = getpass("Password: ");
+ password = getpass(prompt);
/* 0x03 is a ctrl-c character in the buffer. */
if (password == NULL || strchr(password, '\3') != NULL) {