Skip to content
Snippets Groups Projects
Commit 86650569 authored by deuce's avatar deuce
Browse files

If the SSH password is blank, prompt for it during connection.

parent 74470573
Branches
Tags
No related merge requests found
......@@ -294,8 +294,10 @@ int conn_connect(struct bbslist *bbs)
case CONN_TYPE_SSH: {
int off=1;
int status;
char password[MAX_PASSWD_LEN+1];
ssh_active=FALSE;
status=cl.CreateSession(&ssh_session, CRYPT_UNUSED, CRYPT_SESSION_SSH);
if(cryptStatusError(status)) {
char str[1024];
......@@ -307,6 +309,8 @@ int conn_connect(struct bbslist *bbs)
/* we need to disable Nagle on the socket. */
setsockopt(conn_socket, IPPROTO_TCP, TCP_NODELAY, ( char * )&off, sizeof ( off ) );
SAFECOPY(password,bbs->password);
/* Pass socket to cryptlib */
status=cl.SetAttribute(ssh_session, CRYPT_SESSINFO_NETWORKSOCKET, conn_socket);
if(cryptStatusError(status)) {
......@@ -324,6 +328,10 @@ int conn_connect(struct bbslist *bbs)
uifcmsg("Error setting username",str);
return(-1);
}
if(!password[0])
uifcinput("Password",MAX_PASSWD_LEN,password,K_PASSWORD,"Incorrect password. Try again.");
status=cl.SetAttributeString(ssh_session, CRYPT_SESSINFO_PASSWORD, passwd, strlen(passwd));
if(cryptStatusError(status)) {
char str[1024];
......@@ -336,9 +344,12 @@ int conn_connect(struct bbslist *bbs)
status=cl.SetAttribute(ssh_session, CRYPT_SESSINFO_ACTIVE, 1);
if(cryptStatusError(status)) {
char str[1024];
sprintf(str,"Error %d activating session",status);
uifcmsg("Error activating session",str);
return(-1);
}
break;
}
ssh_active=TRUE;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment