mirror of
https://git.libssh.org/projects/libssh.git
synced 2026-02-11 02:38:09 +09:00
Improve ssh_options_set_username().
git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/libssh/trunk@349 7dcaeef0-15fb-0310-b436-a5af3365683c
This commit is contained in:
@@ -308,7 +308,7 @@ SSH_OPTIONS *ssh_options_new(void);
|
|||||||
SSH_OPTIONS *ssh_options_copy(SSH_OPTIONS *opt);
|
SSH_OPTIONS *ssh_options_copy(SSH_OPTIONS *opt);
|
||||||
void ssh_options_free(SSH_OPTIONS *opt);
|
void ssh_options_free(SSH_OPTIONS *opt);
|
||||||
int ssh_options_set_wanted_algos(SSH_OPTIONS *opt, int algo, const char *list);
|
int ssh_options_set_wanted_algos(SSH_OPTIONS *opt, int algo, const char *list);
|
||||||
void ssh_options_set_username(SSH_OPTIONS *opt, const char *username);
|
int ssh_options_set_username(SSH_OPTIONS *opt, const char *username);
|
||||||
void ssh_options_set_port(SSH_OPTIONS *opt, unsigned int port);
|
void ssh_options_set_port(SSH_OPTIONS *opt, unsigned int port);
|
||||||
int ssh_options_getopt(SSH_OPTIONS *options, int *argcptr, char **argv);
|
int ssh_options_getopt(SSH_OPTIONS *options, int *argcptr, char **argv);
|
||||||
int ssh_options_set_host(SSH_OPTIONS *opt, const char *host);
|
int ssh_options_set_host(SSH_OPTIONS *opt, const char *host);
|
||||||
|
|||||||
@@ -257,15 +257,28 @@ int ssh_options_set_host(SSH_OPTIONS *opt, const char *hostname){
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** \brief set username for authentication
|
/**
|
||||||
* \bug this should not be set at options time
|
* @brief Set the username for authentication
|
||||||
* \param opt options structure
|
*
|
||||||
* \param username user name to authenticate
|
* @param opt The options structure to use.
|
||||||
|
*
|
||||||
|
* @param username The username to authenticate.
|
||||||
|
*
|
||||||
|
* @return 0 on success, -1 on error.
|
||||||
|
*
|
||||||
|
* @bug this should not be set at options time
|
||||||
*/
|
*/
|
||||||
void ssh_options_set_username(SSH_OPTIONS *opt, const char *username){
|
int ssh_options_set_username(SSH_OPTIONS *opt, const char *username) {
|
||||||
if(opt->username)
|
if (opt->username) {
|
||||||
free(opt->username);
|
SAFE_FREE(opt->username);
|
||||||
|
}
|
||||||
|
|
||||||
opt->username = strdup(username);
|
opt->username = strdup(username);
|
||||||
|
if (opt->username == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** If you wish to open the socket yourself for a reason
|
/** If you wish to open the socket yourself for a reason
|
||||||
|
|||||||
10
sample.c
10
sample.c
@@ -420,8 +420,14 @@ int main(int argc, char **argv){
|
|||||||
}
|
}
|
||||||
opts(argc,argv);
|
opts(argc,argv);
|
||||||
signal(SIGTERM, do_exit);
|
signal(SIGTERM, do_exit);
|
||||||
if(user)
|
|
||||||
ssh_options_set_username(options,user);
|
if (user) {
|
||||||
|
if (ssh_options_set_username(options,user) < 0) {
|
||||||
|
ssh_options_free(options);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (ssh_options_set_host(options,host) < 0) {
|
if (ssh_options_set_host(options,host) < 0) {
|
||||||
ssh_options_free(options);
|
ssh_options_free(options);
|
||||||
return 1;
|
return 1;
|
||||||
|
|||||||
Reference in New Issue
Block a user