Add Minh and Ander
-----Original Message-----
From: khanh.h.dang <[email protected]>
Sent: Thursday, February 21, 2019 9:46 AM
To: [email protected]
Cc: [email protected]; khanh.h.dang
<[email protected]>
Subject: [PATCH 1/1] log: Allow hyphen character "-" in trace file name
[#3009]
Allow hyphen character when naming trace file as this satisfies
ValidateLogName method rule.
---
src/dtm/transport/log_server.cc | 4 ++--
src/dtm/transport/log_server.h | 5 +++--
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/dtm/transport/log_server.cc
b/src/dtm/transport/log_server.cc
index bef1f07..43fa86a 100644
--- a/src/dtm/transport/log_server.cc
+++ b/src/dtm/transport/log_server.cc
@@ -186,12 +186,12 @@ bool LogServer::ReadConfig(const char
*transport_config_file) {
bool LogServer::ValidateLogName(const char* msg_id, size_t msg_id_size) {
if (msg_id_size < 1 || msg_id_size > LogStream::kMaxLogNameSize) return
false;
- if (msg_id[0] == '.') return false;
+ if (msg_id[0] == '.' || msg_id[0] == '-') return false;
size_t no_of_dots = 0;
for (size_t i = 0; i != msg_id_size; ++i) {
char c = msg_id[i];
if (!((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') ||
- (c >= '0' && c <= '9') || (c == '.' || c == '_')))
+ (c >= '0' && c <= '9') || (c == '.' || c == '_' || c == '-')))
return false;
if (c == '.') ++no_of_dots;
}
diff --git a/src/dtm/transport/log_server.h b/src/dtm/transport/log_server.h
index bbc3af8..283509c 100644
--- a/src/dtm/transport/log_server.h
+++ b/src/dtm/transport/log_server.h
@@ -81,8 +81,9 @@ class LogServer {
// Validate the log stream name, for security reasons. This method will
check
// that the string, when used as a file name, does not traverse the
directory
// structure (e.g. ../../../etc/passwd would be an illegal log stream
- // name). File names starting with a dot are also disallowed, since they
would
- // result in hidden files.
+ // name). File names starting with a dot or a hyphen are also disallowed,
+ // since they would result in hidden files and the hyphen can be
+ // interpreted as an command line option.
static bool ValidateLogName(const char* msg_id, size_t msg_id_size);
void ExecuteCommand(const char* command, size_t size,
const struct sockaddr_un& addr, socklen_t addrlen);
--
2.7.4
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel