security/softether-devel: make LogFileList command[1] work
properly as well as r512198. Also config backup function should work now. [1] https://www.softether.org/4-docs/1-manual/6._Command_Line_Management_Utility_Manual/6.3_VPN_Server_%2F%2F_VPN_Bridge_Management_Command_Reference_(For_Entire_Server)#6.3.55_.22LogFileList.22:_Get_List_of_Log_Files Sponsored by: HAW International, Inc.
This commit is contained in:
parent
7fb2a6fe0a
commit
cdcf0a8cac
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=512253
6 changed files with 443 additions and 107 deletions
|
@ -2,7 +2,7 @@
|
|||
|
||||
PORTNAME= softether
|
||||
DISTVERSION= 4.30-9700-beta
|
||||
#PORTREVISION= 0
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= security net-vpn
|
||||
MASTER_SITES= https://www.softether-download.com/files/softether/v${DISTVERSION}-2019.07.13-tree/Source_Code/
|
||||
PKGNAMESUFFIX= -devel
|
||||
|
@ -42,8 +42,9 @@ PORTDOCS= AUTHORS.TXT ChangeLog LICENSE README THIRD_PARTY.TXT WARNING.TXT
|
|||
|
||||
SE_DBDIR?= /var/db/${PORTNAME}
|
||||
SE_LOGDIR?= /var/log/${PORTNAME}
|
||||
PLIST_SUB= SE_DBDIR="${SE_DBDIR}" SE_LOGDIR="${SE_LOGDIR}"
|
||||
SUB_LIST= SE_DBDIR="${SE_DBDIR}" SE_LOGDIR="${SE_LOGDIR}"
|
||||
SE_PIDDIR?= /var/run/${PORTNAME}
|
||||
PLIST_SUB= SE_DBDIR="${SE_DBDIR}" SE_LOGDIR="${SE_LOGDIR}" SE_PIDDIR="${SE_PIDDIR}"
|
||||
SUB_LIST= SE_DBDIR="${SE_DBDIR}" SE_LOGDIR="${SE_LOGDIR}" SE_PIDDIR="${SE_PIDDIR}"
|
||||
SUB_FILES= pkg-message vpncmd
|
||||
|
||||
CPPFLAGS+= -I${LOCALBASE}/include
|
||||
|
@ -59,49 +60,11 @@ ALL_TARGET= build
|
|||
post-patch:
|
||||
# SoftEther scatters logs, config files and PID files in PREFIX/libexec
|
||||
# directory. To write them in the right place, replace it.
|
||||
${REINPLACE_CMD} \
|
||||
-e "s|@vpn_server_template|${SE_DBDIR}/vpn_server_template|" \
|
||||
-e "s|@vpn_server|${SE_DBDIR}/vpn_server|" \
|
||||
-e "s|@vpn_bridge|${SE_DBDIR}/vpn_bridge|" \
|
||||
-e "s|@vpn_gate_svc|${SE_DBDIR}/vpn_gate_svc|" \
|
||||
-e "s|@vpn_gate_relay|${SE_DBDIR}/vpn_gate_relay|" \
|
||||
${WRKSRC}/src/Cedar/Server.c
|
||||
|
||||
${REINPLACE_CMD} \
|
||||
-e "s|@adminip|${SE_DBDIR}/adminip|" \
|
||||
-e "s|@etherlogger|${SE_DBDIR}/etherlogger|" \
|
||||
-e "s|@vpn_client|${SE_DBDIR}/vpn_client|" \
|
||||
-e "s|@vpn_router|${SE_DBDIR}/vpn_router|" \
|
||||
-e "s|@custom|${SE_DBDIR}/custom|" \
|
||||
-e "s|@backup|${SE_DBDIR}/backup|" \
|
||||
-e "s|@save_binary|${SE_DBDIR}/save_binary|" \
|
||||
-e "s|@lang|${SE_DBDIR}/lang|" \
|
||||
-e "s|@azureserver|${SE_DBDIR}/azureserver|" \
|
||||
-e "s|@server_log|${SE_LOGDIR}/server|" \
|
||||
-e "s|@security_log|${SE_LOGDIR}/security|" \
|
||||
-e "s|@packet_log|${SE_LOGDIR}/packet|" \
|
||||
-e "s|@secure_nat_log|${SE_LOGDIR}/secure_nat|" \
|
||||
-e "s|@client_log|${SE_LOGDIR}/client|" \
|
||||
-e "s|@tiny_log|${SE_LOGDIR}/tiny|" \
|
||||
-e "s|@carrier_log|${SE_LOGDIR}/carrier|" \
|
||||
-e "s|@etherlogger_log|${SE_LOGDIR}/etherlogger|" \
|
||||
${WRKSRC}/src/Cedar/Cedar.h \
|
||||
${WRKSRC}/src/Cedar/Client.h \
|
||||
${WRKSRC}/src/Cedar/Nat.h \
|
||||
${WRKSRC}/src/Cedar/Server.c \
|
||||
${WRKSRC}/src/Mayaqua/Cfg.c \
|
||||
${WRKSRC}/src/Mayaqua/Cfg.h \
|
||||
${WRKSRC}/src/Mayaqua/Table.h
|
||||
|
||||
${REINPLACE_CMD} \
|
||||
-e "s|abort_error_log\.txt|${SE_LOGDIR}/abort_error_log.txt|" \
|
||||
${WRKSRC}/src/Mayaqua/Kernel.c
|
||||
|
||||
${REINPLACE_CMD} \
|
||||
-e "s|%%SE_DBDIR%%|${SE_DBDIR}|g" \
|
||||
${WRKSRC}/src/Cedar/Protocol.c \
|
||||
${WRKSRC}/src/Mayaqua/Unix.c \
|
||||
${WRKSRC}/src/Mayaqua/Network.c
|
||||
-e "s|%%SE_LOGDIR%%|${SE_LOGDIR}|g" \
|
||||
-e "s|%%SE_PIDDIR%%|${SE_PIDDIR}|g" \
|
||||
${WRKSRC}/src/Mayaqua/FileIO.c
|
||||
|
||||
# skip configure at all and copy the corresponding Makefile in place
|
||||
.if ${ARCH} != "amd64"
|
||||
|
@ -126,9 +89,11 @@ do-install:
|
|||
.for i in vpnbridge vpnclient vpncmd vpnserver
|
||||
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/libexec/${PORTNAME}/${i}
|
||||
.endfor
|
||||
@${MKDIR} ${STAGEDIR}${DOCSDIR}
|
||||
@${MKDIR} ${STAGEDIR}${SE_DBDIR}
|
||||
@${MKDIR} ${STAGEDIR}${SE_LOGDIR}
|
||||
@${MKDIR} \
|
||||
${STAGEDIR}${DOCSDIR} \
|
||||
${STAGEDIR}${SE_DBDIR} \
|
||||
${STAGEDIR}${SE_LOGDIR} \
|
||||
${STAGEDIR}${SE_PIDDIR}
|
||||
.for doc in ${PORTDOCS}
|
||||
${INSTALL_DATA} ${WRKSRC}/${doc} ${STAGEDIR}${DOCSDIR}
|
||||
.endfor
|
||||
|
|
|
@ -1,31 +0,0 @@
|
|||
--- src/Cedar/Protocol.c.orig 2019-02-03 19:43:50 UTC
|
||||
+++ src/Cedar/Protocol.c
|
||||
@@ -58,7 +58,7 @@ bool TryGetRootCertChain(LIST *o, X *x, bool auto_save
|
||||
wchar_t exedir[MAX_SIZE];
|
||||
|
||||
GetExeDirW(exedir, sizeof(exedir));
|
||||
- CombinePathW(dirname, sizeof(dirname), exedir, L"chain_certs");
|
||||
+ CombinePathW(dirname, sizeof(dirname), L"%%SE_DBDIR%%", L"chain_certs");
|
||||
MakeDirExW(dirname);
|
||||
|
||||
if (auto_save)
|
||||
@@ -365,7 +365,7 @@ void AddAllChainCertsToCertList(LIST *o)
|
||||
|
||||
GetExeDirW(exedir, sizeof(exedir));
|
||||
|
||||
- CombinePathW(dirname, sizeof(dirname), exedir, L"chain_certs");
|
||||
+ CombinePathW(dirname, sizeof(dirname), L"%%SE_DBDIR%%", L"chain_certs");
|
||||
|
||||
MakeDirExW(dirname);
|
||||
|
||||
--- src/Mayaqua/Network.c.orig 2019-02-03 19:43:50 UTC
|
||||
+++ src/Mayaqua/Network.c
|
||||
@@ -11520,7 +11520,7 @@ void AddChainSslCertOnDirectory(struct ssl_ctx_st *ctx
|
||||
|
||||
GetExeDirW(exedir, sizeof(exedir));
|
||||
|
||||
- CombinePathW(dirname, sizeof(dirname), exedir, L"chain_certs");
|
||||
+ CombinePathW(dirname, sizeof(dirname), L"%%SE_DBDIR%%", L"chain_certs");
|
||||
|
||||
MakeDirExW(dirname);
|
||||
|
429
security/softether-devel/files/patch-log-db-pid-dir
Normal file
429
security/softether-devel/files/patch-log-db-pid-dir
Normal file
|
@ -0,0 +1,429 @@
|
|||
--- src/Cedar/Admin.c.orig 2019-09-18 01:40:24 UTC
|
||||
+++ src/Cedar/Admin.c
|
||||
@@ -11482,7 +11482,7 @@ void SiReadLocalLogFile(SERVER *s, char *filepath, UIN
|
||||
|
||||
Zero(t, sizeof(RPC_READ_LOG_FILE));
|
||||
|
||||
- GetExeDir(exe_dir, sizeof(exe_dir));
|
||||
+ GetLogDir(exe_dir, sizeof(exe_dir));
|
||||
Format(full_path, sizeof(full_path), "%s/%s", exe_dir, filepath);
|
||||
|
||||
// Read file
|
||||
--- src/Cedar/Cedar.h.orig 2019-09-18 01:40:24 UTC
|
||||
+++ src/Cedar/Cedar.h
|
||||
@@ -502,22 +502,26 @@
|
||||
#define LOG_ENGINE_BUFFER_CACHE_SIZE_MAX (10 * 1024 * 1024) // Write cache size
|
||||
|
||||
// Constant such as a file name
|
||||
-#define SERVER_LOG_DIR_NAME "@server_log"
|
||||
+#define SERVER_LOG_DIR "server"
|
||||
+#define SERVER_LOG_DIR_NAME "@"SERVER_LOG_DIR
|
||||
#define BRIDGE_LOG_DIR_NAME SERVER_LOG_DIR_NAME
|
||||
#define SERVER_LOG_PERFIX "vpn"
|
||||
|
||||
-#define HUB_SECURITY_LOG_DIR_NAME "@security_log"
|
||||
-#define HUB_SECURITY_LOG_FILE_NAME "@security_log/%s"
|
||||
+#define HUB_SECURITY_LOG_DIR "security"
|
||||
+#define HUB_SECURITY_LOG_DIR_NAME "@"HUB_SECURITY_LOG_DIR
|
||||
+#define HUB_SECURITY_LOG_FILE_NAME HUB_SECURITY_LOG_DIR_NAME"/%s"
|
||||
#define HUB_SECURITY_LOG_PREFIX "sec"
|
||||
-#define HUB_PACKET_LOG_DIR_NAME "@packet_log"
|
||||
-#define HUB_PACKET_LOG_FILE_NAME "@packet_log/%s"
|
||||
+#define HUB_PACKET_LOG_DIR "packet"
|
||||
+#define HUB_PACKET_LOG_DIR_NAME "@"HUB_PACKET_LOG_DIR
|
||||
+#define HUB_PACKET_LOG_FILE_NAME HUB_PACKET_LOG_DIR_NAME"/%s"
|
||||
#define HUB_PACKET_LOG_PREFIX "pkt"
|
||||
|
||||
-#define NAT_LOG_DIR_NAME "@secure_nat_log"
|
||||
-#define NAT_LOG_FILE_NAME "@secure_nat_log/%s"
|
||||
+#define NAT_LOG_DIR "secure_nat"
|
||||
+#define NAT_LOG_DIR_NAME "@"NAT_LOG_DIR
|
||||
+#define NAT_LOG_FILE_NAME NAT_LOG_DIR_NAME"/%s"
|
||||
#define NAT_LOG_PREFIX "snat"
|
||||
|
||||
-#define CLIENT_LOG_DIR_NAME "@client_log"
|
||||
+#define CLIENT_LOG_DIR_NAME "@client"
|
||||
#define CLIENT_LOG_PREFIX "client"
|
||||
|
||||
// Packet log settings
|
||||
@@ -583,7 +587,7 @@
|
||||
// Expiration date of random size cache
|
||||
#define RAND_SIZE_CACHE_EXPIRE (24 * 60 * 60 * 1000)
|
||||
// Management allowed IP address list file name
|
||||
-#define ADMINIP_TXT "@adminip.txt"
|
||||
+#define ADMINIP_TXT "$adminip.txt"
|
||||
|
||||
#define NON_SSL_MIN_COUNT 60
|
||||
#define NON_SSL_ENTRY_EXPIRES (10 * 60 * 1000)
|
||||
@@ -634,9 +638,10 @@
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
#define EL_ADMIN_PORT 22888
|
||||
-#define EL_CONFIG_FILENAME "@etherlogger.config"
|
||||
-#define EL_PACKET_LOG_DIR_NAME "@etherlogger_log"
|
||||
-#define EL_PACKET_LOG_FILE_NAME "@etherlogger_log/%s"
|
||||
+#define EL_CONFIG_FILENAME "$etherlogger.config"
|
||||
+#define EL_PACKET_LOG_DIR "etherlogger"
|
||||
+#define EL_PACKET_LOG_DIR_NAME "@"EL_PACKET_LOG_DIR
|
||||
+#define EL_PACKET_LOG_FILE_NAME EL_PACKET_LOG_DIR_NAME"/%s"
|
||||
#define EL_PACKET_LOG_PREFIX "pkt"
|
||||
#define EL_LICENSE_CHECK_SPAN (10 * 1000)
|
||||
|
||||
--- src/Cedar/Client.h.orig 2019-09-18 01:40:24 UTC
|
||||
+++ src/Cedar/Client.h
|
||||
@@ -116,7 +116,7 @@
|
||||
|
||||
|
||||
// Constants
|
||||
-#define CLIENT_CONFIG_FILE_NAME "@vpn_client.config"
|
||||
+#define CLIENT_CONFIG_FILE_NAME "$vpn_client.config"
|
||||
#define CLIENT_DEFAULT_KEEPALIVE_HOST "keepalive.softether.org"
|
||||
#define CLIENT_DEFAULT_KEEPALIVE_PORT 80
|
||||
#define CLIENT_DEFAULT_KEEPALIVE_INTERVAL KEEP_INTERVAL_DEFAULT
|
||||
@@ -136,7 +136,7 @@
|
||||
#define CLIENT_WIN32_EXE_FILENAME_X64 "vpnclient_x64.exe"
|
||||
#define CLIENT_WIN32_EXE_FILENAME_IA64 "vpnclient_ia64.exe"
|
||||
|
||||
-#define CLIENT_CUSTOM_INI_FILENAME "@custom.ini"
|
||||
+#define CLIENT_CUSTOM_INI_FILENAME "$custom.ini"
|
||||
|
||||
#define CLIENT_GLOBAL_PULSE_NAME "clientglobalpulse"
|
||||
|
||||
--- src/Cedar/Logging.c.orig 2019-09-18 01:40:24 UTC
|
||||
+++ src/Cedar/Logging.c
|
||||
@@ -111,11 +111,11 @@ static char *delete_targets[] =
|
||||
"backup.vpn_server.config",
|
||||
"backup.vpn_gate_svc.config",
|
||||
"backup.etherlogger.config",
|
||||
- "packet_log",
|
||||
- "etherlogger_log",
|
||||
+ HUB_PACKET_LOG_DIR,
|
||||
+ EL_PACKET_LOG_DIR,
|
||||
"secure_nat_log",
|
||||
- "security_log",
|
||||
- "server_log",
|
||||
+ HUB_SECURITY_LOG_DIR,
|
||||
+ SERVER_LOG_DIR,
|
||||
"bridge_log",
|
||||
"packet_log_archive",
|
||||
"azure_log",
|
||||
@@ -529,7 +529,7 @@ ERASER *NewEraser(LOG *log, UINT64 min_size)
|
||||
|
||||
e = ZeroMalloc(sizeof(ERASER));
|
||||
|
||||
- GetExeDir(dir, sizeof(dir));
|
||||
+ GetLogDir(dir, sizeof(dir));
|
||||
|
||||
e->Log = log;
|
||||
e->MinFreeSpace = min_size;
|
||||
--- src/Cedar/Nat.h.orig 2019-09-18 01:40:24 UTC
|
||||
+++ src/Cedar/Nat.h
|
||||
@@ -106,7 +106,7 @@
|
||||
#define NAT_H
|
||||
|
||||
// Constants
|
||||
-#define NAT_CONFIG_FILE_NAME "@vpn_router.config" // NAT configuration file
|
||||
+#define NAT_CONFIG_FILE_NAME "$vpn_router.config" // NAT configuration file
|
||||
#define DEFAULT_NAT_ADMIN_PORT 2828 // Default port number for management
|
||||
#define NAT_ADMIN_PORT_LISTEN_INTERVAL 1000 // Interval for trying to open a port for management
|
||||
#define NAT_FILE_SAVE_INTERVAL (30 * 1000) // Interval to save
|
||||
--- src/Cedar/Protocol.c.orig 2019-09-18 01:40:24 UTC
|
||||
+++ src/Cedar/Protocol.c
|
||||
@@ -874,7 +874,7 @@ bool TryGetRootCertChain(LIST *o, X *x, bool auto_save
|
||||
wchar_t dirname[MAX_SIZE];
|
||||
wchar_t exedir[MAX_SIZE];
|
||||
|
||||
- GetExeDirW(exedir, sizeof(exedir));
|
||||
+ GetDbDirW(exedir, sizeof(exedir));
|
||||
CombinePathW(dirname, sizeof(dirname), exedir, L"chain_certs");
|
||||
MakeDirExW(dirname);
|
||||
|
||||
@@ -1180,7 +1180,7 @@ void AddAllChainCertsToCertList(LIST *o)
|
||||
return;
|
||||
}
|
||||
|
||||
- GetExeDirW(exedir, sizeof(exedir));
|
||||
+ GetDbDirW(exedir, sizeof(exedir));
|
||||
|
||||
CombinePathW(dirname, sizeof(dirname), exedir, L"chain_certs");
|
||||
|
||||
--- src/Cedar/Server.c.orig 2019-09-18 01:40:24 UTC
|
||||
+++ src/Cedar/Server.c
|
||||
@@ -106,12 +106,12 @@
|
||||
|
||||
static SERVER *server = NULL;
|
||||
static LOCK *server_lock = NULL;
|
||||
-char *SERVER_CONFIG_FILE_NAME = "@vpn_server.config";
|
||||
-char *SERVER_CONFIG_FILE_NAME_IN_CLIENT = "@vpn_gate_svc.config";
|
||||
-char *SERVER_CONFIG_FILE_NAME_IN_CLIENT_RELAY = "@vpn_gate_relay.config";
|
||||
-char *BRIDGE_CONFIG_FILE_NAME = "@vpn_bridge.config";
|
||||
-char *SERVER_CONFIG_TEMPLATE_NAME = "@vpn_server_template.config";
|
||||
-char *BRIDGE_CONFIG_TEMPLATE_NAME = "@vpn_server_template.config";
|
||||
+char *SERVER_CONFIG_FILE_NAME = "$vpn_server.config";
|
||||
+char *SERVER_CONFIG_FILE_NAME_IN_CLIENT = "$vpn_gate_svc.config";
|
||||
+char *SERVER_CONFIG_FILE_NAME_IN_CLIENT_RELAY = "$vpn_gate_relay.config";
|
||||
+char *BRIDGE_CONFIG_FILE_NAME = "$vpn_bridge.config";
|
||||
+char *SERVER_CONFIG_TEMPLATE_NAME = "$vpn_server_template.config";
|
||||
+char *BRIDGE_CONFIG_TEMPLATE_NAME = "$vpn_server_template.config";
|
||||
|
||||
static bool server_reset_setting = false;
|
||||
|
||||
@@ -1105,16 +1105,16 @@ LIST *EnumLogFile(char *hubname)
|
||||
hubname = NULL;
|
||||
}
|
||||
|
||||
- GetExeDir(exe_dir, sizeof(exe_dir));
|
||||
+ GetLogDir(exe_dir, sizeof(exe_dir));
|
||||
|
||||
// Enumerate in the server_log
|
||||
if (hubname == NULL)
|
||||
{
|
||||
- EnumLogFileDir(o, "server_log");
|
||||
+ EnumLogFileDir(o, SERVER_LOG_DIR);
|
||||
}
|
||||
|
||||
// Enumerate in the packet_log
|
||||
- Format(tmp, sizeof(tmp), "%s/packet_log", exe_dir);
|
||||
+ Format(tmp, sizeof(tmp), "%s/"HUB_PACKET_LOG_DIR, exe_dir);
|
||||
|
||||
if (hubname == NULL)
|
||||
{
|
||||
@@ -1130,7 +1130,7 @@ LIST *EnumLogFile(char *hubname)
|
||||
{
|
||||
char dir_name[MAX_PATH];
|
||||
|
||||
- Format(dir_name, sizeof(dir_name), "packet_log/%s", e->FileName);
|
||||
+ Format(dir_name, sizeof(dir_name), HUB_PACKET_LOG_DIR"/%s", e->FileName);
|
||||
|
||||
EnumLogFileDir(o, dir_name);
|
||||
}
|
||||
@@ -1143,13 +1143,13 @@ LIST *EnumLogFile(char *hubname)
|
||||
{
|
||||
char dir_name[MAX_PATH];
|
||||
|
||||
- Format(dir_name, sizeof(dir_name), "packet_log/%s", hubname);
|
||||
+ Format(dir_name, sizeof(dir_name), HUB_PACKET_LOG_DIR"/%s", hubname);
|
||||
|
||||
EnumLogFileDir(o, dir_name);
|
||||
}
|
||||
|
||||
// Enumerate in the security_log
|
||||
- Format(tmp, sizeof(tmp), "%s/security_log", exe_dir);
|
||||
+ Format(tmp, sizeof(tmp), "%s/"HUB_SECURITY_LOG_DIR, exe_dir);
|
||||
|
||||
if (hubname == NULL)
|
||||
{
|
||||
@@ -1165,7 +1165,7 @@ LIST *EnumLogFile(char *hubname)
|
||||
{
|
||||
char dir_name[MAX_PATH];
|
||||
|
||||
- Format(dir_name, sizeof(dir_name), "security_log/%s", e->FileName);
|
||||
+ Format(dir_name, sizeof(dir_name), HUB_SECURITY_LOG_DIR"/%s", e->FileName);
|
||||
|
||||
EnumLogFileDir(o, dir_name);
|
||||
}
|
||||
@@ -1178,7 +1178,7 @@ LIST *EnumLogFile(char *hubname)
|
||||
{
|
||||
char dir_name[MAX_PATH];
|
||||
|
||||
- Format(dir_name, sizeof(dir_name), "security_log/%s", hubname);
|
||||
+ Format(dir_name, sizeof(dir_name), HUB_SECURITY_LOG_DIR"/%s", hubname);
|
||||
|
||||
EnumLogFileDir(o, dir_name);
|
||||
}
|
||||
@@ -1199,7 +1199,7 @@ void EnumLogFileDir(LIST *o, char *dirname)
|
||||
return;
|
||||
}
|
||||
|
||||
- GetExeDir(exe_dir, sizeof(exe_dir));
|
||||
+ GetLogDir(exe_dir, sizeof(exe_dir));
|
||||
Format(dir_full_path, sizeof(dir_full_path), "%s/%s", exe_dir, dirname);
|
||||
|
||||
dir = EnumDir(dir_full_path);
|
||||
--- src/Cedar/Server.h.orig 2019-09-18 01:40:24 UTC
|
||||
+++ src/Cedar/Server.h
|
||||
@@ -143,7 +143,7 @@ extern char *SERVER_CONFIG_FILE_NAME;
|
||||
|
||||
#define MAX_PUBLIC_PORT_NUM 128
|
||||
|
||||
-#define MEMBER_SELECTOR_TXT_FILENAME "@member_selector.config"
|
||||
+#define MEMBER_SELECTOR_TXT_FILENAME "$member_selector.config"
|
||||
#define MEMBER_SELECTOR_CONNECT_TIMEOUT 2000
|
||||
#define MEMBER_SELECTOR_DATA_TIMEOUT 5000
|
||||
|
||||
--- src/Mayaqua/Cfg.c.orig 2019-09-18 01:40:24 UTC
|
||||
+++ src/Mayaqua/Cfg.c
|
||||
@@ -130,12 +130,12 @@ void BackupCfgWEx(CFG_RW *rw, FOLDER *f, wchar_t *orig
|
||||
}
|
||||
|
||||
// Determine the directory name
|
||||
- UniFormat(dirname, sizeof(dirname), L"@backup.%s", original[0] == L'@' ? original + 1 : original);
|
||||
+ UniFormat(dirname, sizeof(dirname), L"$backup.%s", original[0] == L'$' ? original + 1 : original);
|
||||
|
||||
// Determine the file name
|
||||
LocalTime(&st);
|
||||
UniFormat(datestr, sizeof(datestr), L"%04u%02u%02u%02u_%s",
|
||||
- st.wYear, st.wMonth, st.wDay, st.wHour, original[0] == L'@' ? original + 1 : original);
|
||||
+ st.wYear, st.wMonth, st.wDay, st.wHour, original[0] == L'$' ? original + 1 : original);
|
||||
|
||||
if (revision_number == INFINITE)
|
||||
{
|
||||
@@ -144,7 +144,7 @@ void BackupCfgWEx(CFG_RW *rw, FOLDER *f, wchar_t *orig
|
||||
else
|
||||
{
|
||||
UniFormat(filename, sizeof(filename), L"%08u_%s",
|
||||
- revision_number, original[0] == L'@' ? original + 1 : original);
|
||||
+ revision_number, original[0] == L'$' ? original + 1 : original);
|
||||
}
|
||||
|
||||
// Don't save if the date and time has not been changed
|
||||
--- src/Mayaqua/Cfg.h.orig 2019-09-18 01:40:24 UTC
|
||||
+++ src/Mayaqua/Cfg.h
|
||||
@@ -108,7 +108,7 @@
|
||||
// Macro
|
||||
//#define CHECK_CFG_NAME_EXISTS // Check duplication of the existing name
|
||||
|
||||
-#define SAVE_BINARY_FILE_NAME_SWITCH L"@save_binary"
|
||||
+#define SAVE_BINARY_FILE_NAME_SWITCH L"$save_binary"
|
||||
|
||||
// Constants
|
||||
#define TAG_DECLARE "declare"
|
||||
--- src/Mayaqua/FileIO.c.orig 2019-09-18 01:40:24 UTC
|
||||
+++ src/Mayaqua/FileIO.c
|
||||
@@ -1460,6 +1460,36 @@ void GetExeNameW(wchar_t *name, UINT size)
|
||||
UniStrCpy(name, size, exe_file_name_w);
|
||||
}
|
||||
|
||||
+void GetLogDir(char *name, UINT size)
|
||||
+{
|
||||
+ Format(name, size, "%%SE_LOGDIR%%");
|
||||
+}
|
||||
+
|
||||
+void GetLogDirW(wchar_t *name, UINT size)
|
||||
+{
|
||||
+ UniFormat(name, size, L"%%SE_LOGDIR%%");
|
||||
+}
|
||||
+
|
||||
+void GetDbDir(char *name, UINT size)
|
||||
+{
|
||||
+ Format(name, size, "%%SE_DBDIR%%");
|
||||
+}
|
||||
+
|
||||
+void GetDbDirW(wchar_t *name, UINT size)
|
||||
+{
|
||||
+ UniFormat(name, size, L"%%SE_DBDIR%%");
|
||||
+}
|
||||
+
|
||||
+void GetPidDir(char *name, UINT size)
|
||||
+{
|
||||
+ Format(name, size, "%%SE_PIDDIR%%");
|
||||
+}
|
||||
+
|
||||
+void GetPidDirW(wchar_t *name, UINT size)
|
||||
+{
|
||||
+ UniFormat(name, size, L"%%SE_PIDDIR%%");
|
||||
+}
|
||||
+
|
||||
// Initialization of the aquisition of the EXE file name
|
||||
void InitGetExeName(char *arg)
|
||||
{
|
||||
@@ -2382,14 +2412,20 @@ void InnerFilePathW(wchar_t *dst, UINT size, wchar_t *
|
||||
return;
|
||||
}
|
||||
|
||||
- if (src[0] != L'@')
|
||||
+ if (src[0] != L'@' && src[0] != L'$')
|
||||
{
|
||||
NormalizePathW(dst, size, src);
|
||||
}
|
||||
+ else if (src[0] == L'$')
|
||||
+ {
|
||||
+ wchar_t dir[MAX_SIZE];
|
||||
+ GetDbDirW(dir, sizeof(dir));
|
||||
+ ConbinePathW(dst, size, dir, &src[1]);
|
||||
+ }
|
||||
else
|
||||
{
|
||||
wchar_t dir[MAX_SIZE];
|
||||
- GetExeDirW(dir, sizeof(dir));
|
||||
+ GetLogDirW(dir, sizeof(dir));
|
||||
ConbinePathW(dst, size, dir, &src[1]);
|
||||
}
|
||||
}
|
||||
--- src/Mayaqua/FileIO.h.orig 2019-09-18 01:40:24 UTC
|
||||
+++ src/Mayaqua/FileIO.h
|
||||
@@ -340,6 +340,12 @@ void GetExeName(char *name, UINT size);
|
||||
void GetExeNameW(wchar_t *name, UINT size);
|
||||
void GetExeDir(char *name, UINT size);
|
||||
void GetExeDirW(wchar_t *name, UINT size);
|
||||
+void GetLogDir(char *name, UINT size);
|
||||
+void GetLogDirW(wchar_t *name, UINT size);
|
||||
+void GetDbDir(char *name, UINT size);
|
||||
+void GetDbDirW(wchar_t *name, UINT size);
|
||||
+void GetPidDir(char *name, UINT size);
|
||||
+void GetPidDirW(wchar_t *name, UINT size);
|
||||
void BuildHamcore(char *dst_filename, char *src_dir, bool unix_only);
|
||||
int CompareHamcore(void *p1, void *p2);
|
||||
void InitHamcore();
|
||||
--- src/Mayaqua/Network.c.orig 2019-09-18 01:40:24 UTC
|
||||
+++ src/Mayaqua/Network.c
|
||||
@@ -13048,7 +13048,7 @@ void AddChainSslCertOnDirectory(struct ssl_ctx_st *ctx
|
||||
|
||||
o = NewListFast(NULL);
|
||||
|
||||
- GetExeDirW(exedir, sizeof(exedir));
|
||||
+ GetDbDirW(exedir, sizeof(exedir));
|
||||
|
||||
CombinePathW(dirname, sizeof(dirname), exedir, L"chain_certs");
|
||||
|
||||
--- src/Mayaqua/Network.h.orig 2019-09-18 01:40:24 UTC
|
||||
+++ src/Mayaqua/Network.h
|
||||
@@ -150,7 +150,7 @@ struct DYN_VALUE
|
||||
#define SSL_LOGGING_DIRNAME "@ssl_log"
|
||||
|
||||
// Private IP list file
|
||||
-#define PRIVATE_IP_TXT_FILENAME "@private_ip.txt"
|
||||
+#define PRIVATE_IP_TXT_FILENAME "$private_ip.txt"
|
||||
|
||||
// Start range of the random UDP port
|
||||
#define RAND_UDP_PORT_START 5000
|
||||
--- src/Mayaqua/Table.h.orig 2019-09-18 01:40:24 UTC
|
||||
+++ src/Mayaqua/Table.h
|
||||
@@ -110,7 +110,7 @@
|
||||
#define LANGLIST_FILENAME "|languages.txt"
|
||||
#define LANGLIST_FILENAME_WINE "|languages_wine.txt"
|
||||
|
||||
-#define LANG_CONFIG_FILENAME L"@lang.config"
|
||||
+#define LANG_CONFIG_FILENAME L"$lang.config"
|
||||
#define LANG_CONFIG_TEMPLETE "|lang.config"
|
||||
|
||||
// Language constant
|
||||
--- src/Mayaqua/Unix.c.orig 2019-09-18 01:40:24 UTC
|
||||
+++ src/Mayaqua/Unix.c
|
||||
@@ -915,7 +915,7 @@ void *UnixNewSingleInstance(char *instance_name)
|
||||
StrCpy(tmp, sizeof(tmp), instance_name);
|
||||
}
|
||||
|
||||
- GetExeDir(dir, sizeof(dir));
|
||||
+ GetPidDir(dir, sizeof(dir));
|
||||
|
||||
// File name generation
|
||||
Format(name, sizeof(name), "%s/.%s", dir, tmp);
|
||||
@@ -2367,7 +2367,7 @@ void UnixGenPidFileName(char *name, UINT size)
|
||||
return;
|
||||
}
|
||||
|
||||
- GetExeDir(dir, sizeof(dir));
|
||||
+ GetPidDir(dir, sizeof(dir));
|
||||
|
||||
GetExeName(exe_name, sizeof(exe_name));
|
||||
StrCat(exe_name, sizeof(exe_name), ":pid_hash");
|
||||
@@ -2412,7 +2412,7 @@ void UnixGenCtlFileName(char *name, UINT size)
|
||||
return;
|
||||
}
|
||||
|
||||
- GetExeDir(dir, sizeof(dir));
|
||||
+ GetPidDir(dir, sizeof(dir));
|
||||
|
||||
GetExeName(exe_name, sizeof(exe_name));
|
||||
StrCat(exe_name, sizeof(exe_name), ":pid_hash");
|
|
@ -1,29 +0,0 @@
|
|||
--- src/Mayaqua/Unix.c.orig 2019-02-03 19:43:50 UTC
|
||||
+++ src/Mayaqua/Unix.c
|
||||
@@ -774,7 +774,7 @@ void *UnixNewSingleInstance(char *instance_name)
|
||||
GetExeDir(dir, sizeof(dir));
|
||||
|
||||
// File name generation
|
||||
- Format(name, sizeof(name), "%s/.%s", dir, tmp);
|
||||
+ Format(name, sizeof(name), "%%SE_DBDIR%%/.%s", tmp);
|
||||
|
||||
fd = open(name, O_WRONLY);
|
||||
if (fd == -1)
|
||||
@@ -2194,7 +2194,7 @@ void UnixGenPidFileName(char *name, UINT size)
|
||||
Md5(hash, exe_name, StrLen(exe_name));
|
||||
BinToStr(tmp1, sizeof(tmp1), hash, sizeof(hash));
|
||||
|
||||
- Format(name, size, "%s/.pid_%s", dir, tmp1);
|
||||
+ Format(name, size, "%%SE_DBDIR%%/.pid_%s", tmp1);
|
||||
}
|
||||
|
||||
// Delete the PID file
|
||||
@@ -2239,7 +2239,7 @@ void UnixGenCtlFileName(char *name, UINT size)
|
||||
Md5(hash, exe_name, StrLen(exe_name));
|
||||
BinToStr(tmp1, sizeof(tmp1), hash, sizeof(hash));
|
||||
|
||||
- Format(name, size, "%s/.ctl_%s", dir, tmp1);
|
||||
+ Format(name, size, "%%SE_DBDIR%%/.ctl_%s", tmp1);
|
||||
}
|
||||
|
||||
// Write the CTL file
|
|
@ -20,6 +20,7 @@ When removing SoftEther VPN without the desire to reinstall, please
|
|||
ensure to remove the following dirctories as well:
|
||||
- %%SE_DBDIR%%
|
||||
- %%SE_LOGDIR%%
|
||||
- %%SE_PIDDIR%%
|
||||
EOM
|
||||
}
|
||||
]
|
||||
|
|
|
@ -7,3 +7,4 @@ sbin/vpncmd
|
|||
@dir libexec/softether
|
||||
@dir %%SE_DBDIR%%
|
||||
@dir %%SE_LOGDIR%%
|
||||
@dir %%SE_PIDDIR%%
|
||||
|
|
Loading…
Reference in a new issue