mirror of
https://github.com/clearml/dropbear
synced 2025-06-10 00:17:15 +00:00
Fix tilde expansion of paths
(Part was missed from previous series of commits)
This commit is contained in:
parent
0de8d44297
commit
85f56f438a
10
dbutil.c
10
dbutil.c
@ -633,11 +633,11 @@ int m_str_to_uint(const char* str, unsigned int *val) {
|
||||
}
|
||||
}
|
||||
|
||||
/* Returns malloced path. inpath beginning with '/' is returned as-is,
|
||||
otherwise home directory is prepended */
|
||||
/* Returns malloced path. inpath beginning with '~/' expanded,
|
||||
otherwise returned as-is */
|
||||
char * expand_homedir_path(const char *inpath) {
|
||||
struct passwd *pw = NULL;
|
||||
if (inpath[0] != '/') {
|
||||
if (strncmp(inpath, "~/", 2) == 0) {
|
||||
char *homedir = getenv("HOME");
|
||||
|
||||
if (!homedir) {
|
||||
@ -648,9 +648,9 @@ char * expand_homedir_path(const char *inpath) {
|
||||
}
|
||||
|
||||
if (homedir) {
|
||||
int len = strlen(inpath) + strlen(homedir) + 2;
|
||||
int len = strlen(inpath)-2 + strlen(homedir) + 2;
|
||||
char *buf = m_malloc(len);
|
||||
snprintf(buf, len, "%s/%s", homedir, inpath);
|
||||
snprintf(buf, len, "%s/%s", homedir, inpath+2);
|
||||
return buf;
|
||||
}
|
||||
}
|
||||
|
@ -19,7 +19,7 @@ IMPORTANT: Some options will require "make clean" after changes */
|
||||
#define DROPBEAR_DEFADDRESS ""
|
||||
|
||||
/* Default hostkey paths - these can be specified on the command line.
|
||||
* Homedir is prepended if path begins with ~
|
||||
* Homedir is prepended if path begins with ~/
|
||||
*/
|
||||
#define DSS_PRIV_FILENAME "/etc/dropbear/dropbear_dss_host_key"
|
||||
#define RSA_PRIV_FILENAME "/etc/dropbear/dropbear_rsa_host_key"
|
||||
@ -238,7 +238,7 @@ group1 in Dropbear server too */
|
||||
#define DROPBEAR_CLI_PUBKEY_AUTH 1
|
||||
|
||||
/* A default argument for dbclient -i <privatekey>.
|
||||
* Homedir is prepended if path begins with ~
|
||||
* Homedir is prepended if path begins with ~/
|
||||
*/
|
||||
#define DROPBEAR_DEFAULT_CLI_AUTHKEY "~/.ssh/id_dropbear"
|
||||
|
||||
@ -283,7 +283,7 @@ group1 in Dropbear server too */
|
||||
|
||||
/* The default file to store the daemon's process ID, for shutdown
|
||||
* scripts etc. This can be overridden with the -P flag.
|
||||
* Homedir is prepended if path begins with ~
|
||||
* Homedir is prepended if path begins with ~/
|
||||
*/
|
||||
#define DROPBEAR_PIDFILE "/var/run/dropbear.pid"
|
||||
|
||||
@ -295,7 +295,7 @@ group1 in Dropbear server too */
|
||||
/* If you want to enable running an sftp server (such as the one included with
|
||||
* OpenSSH), set the path below and set DROPBEAR_SFTPSERVER.
|
||||
* The sftp-server program is not provided by Dropbear itself.
|
||||
* Homedir is prepended if path begins with ~
|
||||
* Homedir is prepended if path begins with ~/
|
||||
*/
|
||||
#define DROPBEAR_SFTPSERVER 1
|
||||
#define SFTPSERVER_PATH "/usr/libexec/sftp-server"
|
||||
|
Loading…
Reference in New Issue
Block a user