mirror of
https://github.com/clearml/dropbear
synced 2025-01-31 10:57:01 +00:00
change DROPBEAR_DEFAULT_CLI_AUTHKEY to just prepend homedir
rather than doing ~ expansion
This commit is contained in:
parent
839e023ed8
commit
941c067765
@ -449,7 +449,7 @@ void cli_getopts(int argc, char ** argv) {
|
||||
|
||||
#if defined(DROPBEAR_DEFAULT_CLI_AUTHKEY) && defined(ENABLE_CLI_PUBKEY_AUTH)
|
||||
{
|
||||
char *expand_path = expand_tilde(DROPBEAR_DEFAULT_CLI_AUTHKEY);
|
||||
char *expand_path = expand_homedir_path(DROPBEAR_DEFAULT_CLI_AUTHKEY);
|
||||
loadidentityfile(expand_path, 0);
|
||||
m_free(expand_path);
|
||||
}
|
||||
|
11
dbutil.c
11
dbutil.c
@ -613,15 +613,16 @@ int m_str_to_uint(const char* str, unsigned int *val) {
|
||||
}
|
||||
}
|
||||
|
||||
/* Returns malloced path. Only expands ~ in first character */
|
||||
char * expand_tilde(const char *inpath) {
|
||||
/* Returns malloced path. inpath beginning with '/' is returned as-is,
|
||||
otherwise home directory is prepended */
|
||||
char * expand_homedir_path(const char *inpath) {
|
||||
struct passwd *pw = NULL;
|
||||
if (inpath[0] == '~') {
|
||||
if (inpath[0] != '/') {
|
||||
pw = getpwuid(getuid());
|
||||
if (pw && pw->pw_dir) {
|
||||
int len = strlen(inpath) + strlen(pw->pw_dir) + 1;
|
||||
int len = strlen(inpath) + strlen(pw->pw_dir) + 2;
|
||||
char *buf = m_malloc(len);
|
||||
snprintf(buf, len, "%s/%s", pw->pw_dir, &inpath[1]);
|
||||
snprintf(buf, len, "%s/%s", pw->pw_dir, inpath);
|
||||
return buf;
|
||||
}
|
||||
}
|
||||
|
2
dbutil.h
2
dbutil.h
@ -97,6 +97,6 @@ int constant_time_memcmp(const void* a, const void *b, size_t n);
|
||||
a real-world clock */
|
||||
time_t monotonic_now();
|
||||
|
||||
char * expand_tilde(const char *inpath);
|
||||
char * expand_homedir_path(const char *inpath);
|
||||
|
||||
#endif /* DROPBEAR_DBUTIL_H_ */
|
||||
|
@ -222,8 +222,8 @@ If you test it please contact the Dropbear author */
|
||||
#define ENABLE_CLI_INTERACT_AUTH
|
||||
|
||||
/* A default argument for dbclient -i <privatekey>.
|
||||
leading "~" is expanded */
|
||||
#define DROPBEAR_DEFAULT_CLI_AUTHKEY "~/.ssh/id_dropbear"
|
||||
Homedir is prepended unless path begins with / */
|
||||
#define DROPBEAR_DEFAULT_CLI_AUTHKEY ".ssh/id_dropbear"
|
||||
|
||||
/* This variable can be used to set a password for client
|
||||
* authentication on the commandline. Beware of platforms
|
||||
|
Loading…
Reference in New Issue
Block a user