change webdav url scheme to webdav:// and webdavs://
This commit is contained in:
+1
-1
@@ -1118,7 +1118,7 @@ namespace Actions
|
||||
else if (strcmp(remote_settings->http_server_type, HTTP_SERVER_NPX_SERVE) == 0)
|
||||
remoteclient = new NpxServeClient();
|
||||
}
|
||||
else if (strncmp(remote_settings->server, "davs://", 7) == 0 || strncmp(remote_settings->server, "dav://", 6) == 0)
|
||||
else if (strncmp(remote_settings->server, "webdavs://", 10) == 0 || strncmp(remote_settings->server, "webdav://", 9) == 0)
|
||||
{
|
||||
remoteclient = new WebDAV::WebDavClient();
|
||||
}
|
||||
|
||||
+17
-1
@@ -2,6 +2,7 @@
|
||||
#include <cstring>
|
||||
#include <map>
|
||||
#include <vector>
|
||||
#include <regex>
|
||||
#include <stdlib.h>
|
||||
#include "config.h"
|
||||
#include "fs.h"
|
||||
@@ -41,7 +42,7 @@ namespace CONFIG
|
||||
{
|
||||
setting->type = CLIENT_TYPE_FTP;
|
||||
}
|
||||
else if (strncmp(setting->server, "dav://", 6) == 0 || strncmp(setting->server, "davs://", 7) == 0)
|
||||
else if (strncmp(setting->server, "webdav://", 9) == 0 || strncmp(setting->server, "webdavs://", 10) == 0)
|
||||
{
|
||||
setting->type = CLIENT_TYPE_WEBDAV;
|
||||
}
|
||||
@@ -69,6 +70,14 @@ namespace CONFIG
|
||||
|
||||
OpenIniFile(CONFIG_INI_FILE);
|
||||
|
||||
int version = ReadInt(CONFIG_GLOBAL, CONFIG_VERSION, 0);
|
||||
bool conversion_needed = false;
|
||||
if (version < CONFIG_VERSION_NUM)
|
||||
{
|
||||
conversion_needed = true;
|
||||
}
|
||||
WriteInt(CONFIG_GLOBAL, CONFIG_VERSION, CONFIG_VERSION_NUM);
|
||||
|
||||
// Load global config
|
||||
sprintf(language, "%s", ReadString(CONFIG_GLOBAL, CONFIG_LANGUAGE, ""));
|
||||
WriteString(CONFIG_GLOBAL, CONFIG_LANGUAGE, language);
|
||||
@@ -88,6 +97,13 @@ namespace CONFIG
|
||||
sprintf(setting.site_name, "%s", sites[i].c_str());
|
||||
|
||||
sprintf(setting.server, "%s", ReadString(sites[i].c_str(), CONFIG_REMOTE_SERVER_URL, ""));
|
||||
if (conversion_needed && strlen(setting.server)>0)
|
||||
{
|
||||
std::string tmp = std::string(setting.server);
|
||||
tmp = std::regex_replace(tmp, std::regex("http://"), "webdav://");
|
||||
tmp = std::regex_replace(tmp, std::regex("https://"), "webdavs://");
|
||||
sprintf(setting.server, "%s", tmp.c_str());
|
||||
}
|
||||
WriteString(sites[i].c_str(), CONFIG_REMOTE_SERVER_URL, setting.server);
|
||||
|
||||
sprintf(setting.username, "%s", ReadString(sites[i].c_str(), CONFIG_REMOTE_SERVER_USER, ""));
|
||||
|
||||
@@ -23,6 +23,9 @@
|
||||
#define CONFIG_ENABLE_RPI "remote_server_enable_rpi"
|
||||
#define CONFIG_REMOTE_HTTP_SERVER_TYPE "remote_server_http_server_type"
|
||||
|
||||
#define CONFIG_VERSION "config_version"
|
||||
#define CONFIG_VERSION_NUM 1
|
||||
|
||||
#define CONFIG_FAVORITE_URLS "favorite_urls"
|
||||
#define MAX_FAVORITE_URLS 30
|
||||
|
||||
|
||||
@@ -13,8 +13,8 @@ namespace WebDAV
|
||||
{
|
||||
inline std::string GetHttpUrl(std::string url)
|
||||
{
|
||||
std::string http_url = std::regex_replace(url, std::regex("dav://"), "http://");
|
||||
http_url = std::regex_replace(http_url, std::regex("davs://"), "https://");
|
||||
std::string http_url = std::regex_replace(url, std::regex("webdav://"), "http://");
|
||||
http_url = std::regex_replace(http_url, std::regex("webdavs://"), "https://");
|
||||
return http_url;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user