From 41a8fb5810759118d93bee30a254ecf4863437b5 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Tue, 21 Jul 2009 10:34:21 +0200 Subject: Make the ssh_userauth_kbdint functions to get the prompts const. They shouldn't be modified or free'd by a user. --- include/libssh/libssh.h | 6 +++--- libssh/auth.c | 6 +++--- sample.c | 3 ++- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/include/libssh/libssh.h b/include/libssh/libssh.h index bc58eebf..2f1d2fc6 100644 --- a/include/libssh/libssh.h +++ b/include/libssh/libssh.h @@ -370,9 +370,9 @@ int ssh_userauth_agent_pubkey(SSH_SESSION *session, const char *username, int ssh_userauth_autopubkey(SSH_SESSION *session, const char *passphrase); int ssh_userauth_kbdint(SSH_SESSION *session, const char *user, const char *submethods); int ssh_userauth_kbdint_getnprompts(SSH_SESSION *session); -char *ssh_userauth_kbdint_getname(SSH_SESSION *session); -char *ssh_userauth_kbdint_getinstruction(SSH_SESSION *session); -char *ssh_userauth_kbdint_getprompt(SSH_SESSION *session, unsigned int i, char *echo); +const char *ssh_userauth_kbdint_getname(SSH_SESSION *session); +const char *ssh_userauth_kbdint_getinstruction(SSH_SESSION *session); +const char *ssh_userauth_kbdint_getprompt(SSH_SESSION *session, unsigned int i, char *echo); int ssh_userauth_kbdint_setanswer(SSH_SESSION *session, unsigned int i, const char *answer); diff --git a/libssh/auth.c b/libssh/auth.c index 752341dd..aadba0ba 100644 --- a/libssh/auth.c +++ b/libssh/auth.c @@ -1417,7 +1417,7 @@ int ssh_userauth_kbdint_getnprompts(SSH_SESSION *session) { * * @returns The name of the message block. Do not free it. */ -char *ssh_userauth_kbdint_getname(SSH_SESSION *session) { +const char *ssh_userauth_kbdint_getname(SSH_SESSION *session) { return session->kbdint->name; } @@ -1432,7 +1432,7 @@ char *ssh_userauth_kbdint_getname(SSH_SESSION *session) { * @returns The instruction of the message block. */ -char *ssh_userauth_kbdint_getinstruction(SSH_SESSION *session) { +const char *ssh_userauth_kbdint_getinstruction(SSH_SESSION *session) { return session->kbdint->instruction; } @@ -1452,7 +1452,7 @@ char *ssh_userauth_kbdint_getinstruction(SSH_SESSION *session) { * * @returns A pointer to the prompt. Do not free it. */ -char *ssh_userauth_kbdint_getprompt(SSH_SESSION *session, unsigned int i, +const char *ssh_userauth_kbdint_getprompt(SSH_SESSION *session, unsigned int i, char *echo) { if (i > session->kbdint->nprompts) { return NULL; diff --git a/sample.c b/sample.c index 3847f04d..fb6cf4b7 100644 --- a/sample.c +++ b/sample.c @@ -367,7 +367,8 @@ void do_sftp(SSH_SESSION *session){ static int auth_kbdint(SSH_SESSION *session){ int err=ssh_userauth_kbdint(session,NULL,NULL); - char *name,*instruction,*prompt,*ptr; + const char *name, *instruction, *prompt; + char *ptr; char buffer[128]; int i,n; char echo; -- cgit