From ed8f0da039a3d46f8981c10b10c56412fc936fe3 Mon Sep 17 00:00:00 2001
From: allegroai <none@none>
Date: Wed, 24 Jul 2024 03:53:55 +0300
Subject: [PATCH] Add SFTPSERVER_PATH to override the default location of
 /usr/libexec/sftp-server

---
 src/svr-chansession.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/svr-chansession.c b/src/svr-chansession.c
index 2ca6fc1..5c88be8 100644
--- a/src/svr-chansession.c
+++ b/src/svr-chansession.c
@@ -682,7 +682,12 @@ static int sessioncommand(struct Channel *channel, struct ChanSess *chansess,
 		if (issubsys) {
 #if DROPBEAR_SFTPSERVER
 			if ((cmdlen == 4) && strncmp(chansess->cmd, "sftp", 4) == 0) {
-				char *expand_path = expand_homedir_path(SFTPSERVER_PATH);
+				char *expand_path = getenv("SFTPSERVER_PATH");
+				if ((expand_path) && (strlen(expand_path)>0)) {
+					expand_path = expand_homedir_path(expand_path);
+				} else {
+					expand_path = expand_homedir_path(SFTPSERVER_PATH);
+				}
 				m_free(chansess->cmd);
 				chansess->cmd = m_strdup(expand_path);
 				m_free(expand_path);