diff --git a/index.html b/index.html
index 59d89f4c..bc8a4875 100644
--- a/index.html
+++ b/index.html
@@ -339,13 +339,13 @@
success: function(data){
$("#statusBar").html('
' +
'' +
- 'Successfully saved config for: ' + clientId + '
');
+ 'Successfully saved config for: ' + clientId + ' - You need push the config to the client to apply the config.');
window.setTimeout(function() {
$(".alert-success").fadeTo(500, 0).slideUp(500, function(){
$(".alert-success").alert('close');
});
- }, 2500);
+ }, 5000);
},
error: function (data) {
$("#statusBar").html('' +
@@ -379,13 +379,13 @@
success: function(data){
$("#statusBar").html('
' +
'' +
- 'Successfully send ' + action + '
');
+ 'Successfully send ' + action + '
- It can take up to 30s until the command is processed. ');
window.setTimeout(function() {
$(".alert-success").fadeTo(500, 0).slideUp(500, function(){
$(".alert-success").alert('close');
});
- }, 2500);
+ }, 5000);
},
error: function (data) {
$("#statusBar").html('' +
diff --git a/src/cc/Httpd.cpp b/src/cc/Httpd.cpp
index ecee7e3f..396d42fa 100644
--- a/src/cc/Httpd.cpp
+++ b/src/cc/Httpd.cpp
@@ -79,33 +79,43 @@ unsigned Httpd::tokenAuth(struct MHD_Connection* connection)
unsigned Httpd::basicAuth(struct MHD_Connection* connection, std::string& resp)
{
+ unsigned result = MHD_HTTP_OK;
+
if (!m_options->ccAdminUser() || !m_options->ccAdminPass()) {
resp = std::string(""
"Please configure admin user and pass to view this Page."
"");
LOG_WARN("Admin user/password not set. Access Forbidden!");
- return MHD_HTTP_FORBIDDEN;
+ result = MHD_HTTP_FORBIDDEN;
+ }
+ else {
+ const char* header = MHD_lookup_connection_value(connection, MHD_HEADER_KIND, MHD_HTTP_HEADER_AUTHORIZATION);
+ if (header) {
+ char* user;
+ char* pass;
+
+ user = MHD_basic_auth_get_username_password(connection, &pass);
+ if (user == nullptr || strcmp(user, m_options->ccAdminUser()) != 0 ||
+ pass == nullptr || strcmp(pass, m_options->ccAdminPass()) != 0) {
+
+ LOG_WARN("Admin user/password wrong. Access Unauthorized!");
+ result = MHD_HTTP_UNAUTHORIZED;
+ }
+
+ if (user) {
+ free(user);
+ }
+
+ if (pass) {
+ free(pass);
+ }
+ } else {
+ result = MHD_HTTP_UNAUTHORIZED;
+ }
}
- const char* header = MHD_lookup_connection_value(connection, MHD_HEADER_KIND, MHD_HTTP_HEADER_AUTHORIZATION);
- if (!header) {
- return MHD_HTTP_UNAUTHORIZED;
- }
-
- char* user;
- char* pass;
-
- user = MHD_basic_auth_get_username_password(connection, &pass);
-
- if (user == nullptr || strcmp(user, m_options->ccAdminUser()) != 0 ||
- pass == nullptr || strcmp(pass, m_options->ccAdminPass()) != 0) {
-
- LOG_WARN("Admin user/password wrong. Access Unauthorized!");
- return MHD_HTTP_UNAUTHORIZED;
- }
-
- return MHD_HTTP_OK;
+ return result;
}
int Httpd::sendResponse(MHD_Connection* connection, unsigned status, MHD_Response* rsp, const char* contentType)
diff --git a/src/cc/Service.cpp b/src/cc/Service.cpp
index 75607525..ba234bad 100644
--- a/src/cc/Service.cpp
+++ b/src/cc/Service.cpp
@@ -139,7 +139,7 @@ unsigned Service::getClientConfig(const Options* options, const std::string& cli
writer.SetMaxDecimalPlaces(10);
document.Accept(writer);
- resp = strdup(buffer.GetString());
+ resp = buffer.GetString();
resultCode = MHD_HTTP_OK;
} else {
@@ -203,7 +203,7 @@ unsigned Service::getClientStatusList(std::string& resp)
writer.SetMaxDecimalPlaces(10);
document.Accept(writer);
- resp = strdup(buffer.GetString());
+ resp = buffer.GetString();
return MHD_HTTP_OK;
}
@@ -253,7 +253,7 @@ unsigned Service::getClientCommand(const std::string& clientId, std::string& res
writer.SetMaxDecimalPlaces(10);
respDocument.Accept(writer);
- resp = strdup(buffer.GetString());
+ resp = buffer.GetString();
return MHD_HTTP_OK;
}