diff --git a/CyberCP/settings.pyc b/CyberCP/settings.pyc
index bd8226e4a..3e0c0bc0c 100644
Binary files a/CyberCP/settings.pyc and b/CyberCP/settings.pyc differ
diff --git a/filemanager/static/filemanager/js/fileManager.js b/filemanager/static/filemanager/js/fileManager.js
index 74ef0675f..3579f6501 100755
--- a/filemanager/static/filemanager/js/fileManager.js
+++ b/filemanager/static/filemanager/js/fileManager.js
@@ -1252,7 +1252,7 @@ fileManager.controller('fileManagerCtrl', function($scope,$http,FileUploader) {
$scope.addFileOrFolderToListForRightClick(trNode);
- }
+ };
$scope.addFileOrFolderToListForRightClick = function(nodeName){
@@ -1292,7 +1292,7 @@ fileManager.controller('fileManagerCtrl', function($scope,$http,FileUploader) {
$scope.buttonActivator();
- }
+ };
// rename
@@ -1425,6 +1425,192 @@ fileManager.controller('fileManagerCtrl', function($scope,$http,FileUploader) {
};
+ // Change permissions
+
+ $scope.changePermissionsLoading = true;
+
+ $scope.userPermissions = 0;
+ $scope.groupPermissions = 0;
+ $scope.wordlPermissions = 0;
+
+
+ $scope.showPermissionsModal = function () {
+ $('#showPermissions').modal('show');
+ $scope.permissionsPath = allFilesAndFolders[0];
+ };
+
+
+
+ $scope.updateReadPermissions = function (value) {
+
+ switch (value) {
+
+ case 'userRead':
+
+ if($scope.userRead === true)
+ {
+ $scope.userPermissions = $scope.userPermissions + 4;
+ }
+ else
+ {
+ if ($scope.userRead !== undefined) {
+ $scope.userPermissions = $scope.userPermissions - 4;
+ }
+ }
+ break;
+
+
+ case 'groupRead':
+ if ($scope.groupRead === true) {
+ $scope.groupPermissions = $scope.groupPermissions + 4;
+ } else {
+ if ($scope.groupRead !== undefined) {
+ $scope.groupPermissions = $scope.groupPermissions - 4;
+ }
+ }
+ break;
+
+
+ case 'worldRead':
+ if ($scope.worldRead === true) {
+ $scope.wordlPermissions = $scope.wordlPermissions + 4;
+ } else {
+ if ($scope.worldRead !== undefined) {
+ $scope.wordlPermissions = $scope.wordlPermissions - 4;
+ }
+ }
+ break;
+ }
+ };
+
+ $scope.updateWritePermissions = function (value) {
+
+ switch (value) {
+
+ case 'userWrite':
+
+ if($scope.userWrite === true)
+ {
+ $scope.userPermissions = $scope.userPermissions + 2;
+ }
+ else
+ {
+ if ($scope.userWrite !== undefined) {
+ $scope.userPermissions = $scope.userPermissions - 2;
+ }
+ }
+ break;
+
+
+ case 'groupWrite':
+ if ($scope.groupWrite === true) {
+ $scope.groupPermissions = $scope.groupPermissions + 2;
+ } else {
+ if ($scope.groupWrite !== undefined) {
+ $scope.groupPermissions = $scope.groupPermissions - 2;
+ }
+ }
+ break;
+
+
+ case 'worldWrite':
+ if ($scope.worldWrite === true) {
+ $scope.wordlPermissions = $scope.wordlPermissions + 2;
+ } else {
+ if ($scope.worldWrite !== undefined) {
+ $scope.wordlPermissions = $scope.wordlPermissions - 2;
+ }
+ }
+ break;
+ }
+ };
+
+ $scope.updateExecutePermissions = function (value) {
+
+ switch (value) {
+
+ case 'userExecute':
+
+ if($scope.userExecute === true)
+ {
+ $scope.userPermissions = $scope.userPermissions + 1;
+ }
+ else
+ {
+ if ($scope.userExecute !== undefined) {
+ $scope.userPermissions = $scope.userPermissions - 1;
+ }
+ }
+ break;
+
+
+ case 'groupExecute':
+ if ($scope.groupExecute === true) {
+ $scope.groupPermissions = $scope.groupPermissions + 1;
+ } else {
+ if ($scope.groupExecute !== undefined) {
+ $scope.groupPermissions = $scope.groupPermissions - 1;
+ }
+ }
+ break;
+
+
+ case 'worldExecute':
+ if ($scope.worldExecute === true) {
+ $scope.wordlPermissions = $scope.wordlPermissions + 1;
+ } else {
+ if ($scope.worldExecute !== undefined) {
+ $scope.wordlPermissions = $scope.wordlPermissions - 1;
+ }
+ }
+ break;
+ }
+ };
+
+
+ $scope.changePermissionsRecursively = function () {
+ $scope.changePermissions(1);
+ };
+
+
+ $scope.changePermissions = function (recursive) {
+
+ $scope.changePermissionsLoading = false;
+ var newPermissions = String($scope.userPermissions) + String($scope.groupPermissions) + String($scope.wordlPermissions);
+
+ var data = {
+ basePath : $scope.currentPath,
+ permissionsPath: $scope.permissionsPath,
+ method: 'changePermissions',
+ domainRandomSeed:domainRandomSeed,
+ recursive: recursive,
+ newPermissions: newPermissions,
+ domainName: domainName
+ };
+
+
+ $http.post(url, data).then(ListInitialDatas, cantLoadInitialDatas);
+
+ function ListInitialDatas(response) {
+
+ $scope.changePermissionsLoading = true;
+ $('#showPermissions').modal('hide');
+
+ if (response.data.permissionsChanged === 1) {
+ var notification = alertify.notify('Permissions Successfully Changed!', 'success', 5, function(){ console.log('dismissed'); });
+ $scope.fetchForTableSecondary(null,'refresh');
+ }
+ else {
+ var notification = alertify.notify(response.data.error_message, 'error', 5, function(){ console.log('dismissed'); });
+ }
+
+ }
+ function cantLoadInitialDatas(response) {
+ }
+
+ };
+
+
diff --git a/filemanager/templates/filemanager/index.html b/filemanager/templates/filemanager/index.html
index f1758c9a9..fba76f066 100644
--- a/filemanager/templates/filemanager/index.html
+++ b/filemanager/templates/filemanager/index.html
@@ -572,35 +572,69 @@
-
+
-
+
-
+
+
+
+
@@ -637,6 +671,7 @@
Download
Copy
Rename
+
Change Permissions
Delete
Compress
diff --git a/install/FileManager/.idea/workspace.xml b/install/FileManager/.idea/workspace.xml
index aa6cc2c80..15d96b1e2 100644
--- a/install/FileManager/.idea/workspace.xml
+++ b/install/FileManager/.idea/workspace.xml
@@ -14,12 +14,13 @@
-
-
+
+
-
-
+
+
+
@@ -94,10 +95,10 @@
-
+
-
-
+
+
@@ -114,6 +115,8 @@
+
+
@@ -130,8 +133,6 @@
-
-
@@ -173,18 +174,20 @@
-
+
+
+
-
+
-
+
-
+
@@ -221,9 +224,10 @@
-
-
+
+
+
@@ -252,9 +256,10 @@
-
-
+
+
+
@@ -283,9 +288,10 @@
-
-
+
+
+
@@ -314,9 +320,10 @@
-
-
+
+
+
@@ -345,9 +352,10 @@
-
-
+
+
+
@@ -376,9 +384,10 @@
-
-
+
+
+
@@ -407,9 +416,10 @@
-
-
+
+
+
@@ -438,9 +448,74 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -461,9 +536,10 @@
-
-
+
+
+
@@ -499,12 +575,13 @@
-
-
+
+
-
-
+
+
+
diff --git a/install/FileManager/php/fileManager.php b/install/FileManager/php/fileManager.php
index 5185da12f..d57668452 100755
--- a/install/FileManager/php/fileManager.php
+++ b/install/FileManager/php/fileManager.php
@@ -76,10 +76,50 @@ class fileManager
$newFileName = $this->cleanInput($request->newFileName);
$this->renameFileOrFolder($request->basePath,$request->existingName,$newFileName);
break;
+ case 'changePermissions':
+ $this->changePermissions($request->basePath, $request->permissionsPath, $request->newPermissions, $request->recursive);
+ break;
}
}
}
+ private function changePermissions($basePath, $permissionsPath, $newPermissions, $recursive)
+ {
+ try {
+
+ $completePath = $basePath . DIRECTORY_SEPARATOR . $permissionsPath;
+
+ if($recursive == 1){
+
+ $commandToExecute = 'chmod -R ' . $newPermissions . " '". $completePath . "'";
+ $programOutput = fopen('temp.txt', 'a');
+
+ }else{
+ $commandToExecute = 'chmod ' . $newPermissions . " '". $completePath . "'";
+ $programOutput = fopen('temp.txt', 'a');
+ }
+
+
+ exec($commandToExecute, $programOutput);
+
+ $json_data = array(
+ "error_message" => "None",
+ "permissionsChanged" => 1,
+ );
+ $json = json_encode($json_data);
+ echo $json;
+
+ } catch (Exception $e) {
+ $json_data = array(
+ "error_message" => $e->getMessage(),
+ "permissionsChanged" => 0,
+ );
+ $json = json_encode($json_data);
+ echo $json;
+ }
+
+ }
+
private function listDir($basePath)
{
try {
diff --git a/plogical/vhost.py b/plogical/vhost.py
index 1c248fda7..6215dd566 100644
--- a/plogical/vhost.py
+++ b/plogical/vhost.py
@@ -271,7 +271,7 @@ class vhost:
address = " address UDS://tmp/lshttpd/"+virtualHostUser+".sock\n"
maxConns = " maxConns 10\n"
env = " env LSAPI_CHILDREN=10\n"
- initTimeout = " initTimeout 60\n"
+ initTimeout = " initTimeout 600\n"
retryTimeout = " retryTimeout 0\n"
persistConn = " persistConn 1\n"
persistConnTimeout = " pcKeepAliveTimeout 1\n"
diff --git a/postfixSenderPolicy/accept_traffic.py b/postfixSenderPolicy/accept_traffic.py
index 37b09dbbe..5d0b1837d 100755
--- a/postfixSenderPolicy/accept_traffic.py
+++ b/postfixSenderPolicy/accept_traffic.py
@@ -87,7 +87,8 @@ class HandleRequest(multi.Thread):
emailObj = newDomain.findEmailOBJ(emailAddress)
except:
- raise BaseException
+ self.connection.sendall('action=dunno\n\n')
+ return
#logging.writeToFile('Domain Limit Status: ' + str(domainObj.limitStatus))
#logging.writeToFile('Email Limit Status: ' + str(domainObj.limitStatus))
diff --git a/static/filemanager/js/fileManager.js b/static/filemanager/js/fileManager.js
index 74ef0675f..3579f6501 100644
--- a/static/filemanager/js/fileManager.js
+++ b/static/filemanager/js/fileManager.js
@@ -1252,7 +1252,7 @@ fileManager.controller('fileManagerCtrl', function($scope,$http,FileUploader) {
$scope.addFileOrFolderToListForRightClick(trNode);
- }
+ };
$scope.addFileOrFolderToListForRightClick = function(nodeName){
@@ -1292,7 +1292,7 @@ fileManager.controller('fileManagerCtrl', function($scope,$http,FileUploader) {
$scope.buttonActivator();
- }
+ };
// rename
@@ -1425,6 +1425,192 @@ fileManager.controller('fileManagerCtrl', function($scope,$http,FileUploader) {
};
+ // Change permissions
+
+ $scope.changePermissionsLoading = true;
+
+ $scope.userPermissions = 0;
+ $scope.groupPermissions = 0;
+ $scope.wordlPermissions = 0;
+
+
+ $scope.showPermissionsModal = function () {
+ $('#showPermissions').modal('show');
+ $scope.permissionsPath = allFilesAndFolders[0];
+ };
+
+
+
+ $scope.updateReadPermissions = function (value) {
+
+ switch (value) {
+
+ case 'userRead':
+
+ if($scope.userRead === true)
+ {
+ $scope.userPermissions = $scope.userPermissions + 4;
+ }
+ else
+ {
+ if ($scope.userRead !== undefined) {
+ $scope.userPermissions = $scope.userPermissions - 4;
+ }
+ }
+ break;
+
+
+ case 'groupRead':
+ if ($scope.groupRead === true) {
+ $scope.groupPermissions = $scope.groupPermissions + 4;
+ } else {
+ if ($scope.groupRead !== undefined) {
+ $scope.groupPermissions = $scope.groupPermissions - 4;
+ }
+ }
+ break;
+
+
+ case 'worldRead':
+ if ($scope.worldRead === true) {
+ $scope.wordlPermissions = $scope.wordlPermissions + 4;
+ } else {
+ if ($scope.worldRead !== undefined) {
+ $scope.wordlPermissions = $scope.wordlPermissions - 4;
+ }
+ }
+ break;
+ }
+ };
+
+ $scope.updateWritePermissions = function (value) {
+
+ switch (value) {
+
+ case 'userWrite':
+
+ if($scope.userWrite === true)
+ {
+ $scope.userPermissions = $scope.userPermissions + 2;
+ }
+ else
+ {
+ if ($scope.userWrite !== undefined) {
+ $scope.userPermissions = $scope.userPermissions - 2;
+ }
+ }
+ break;
+
+
+ case 'groupWrite':
+ if ($scope.groupWrite === true) {
+ $scope.groupPermissions = $scope.groupPermissions + 2;
+ } else {
+ if ($scope.groupWrite !== undefined) {
+ $scope.groupPermissions = $scope.groupPermissions - 2;
+ }
+ }
+ break;
+
+
+ case 'worldWrite':
+ if ($scope.worldWrite === true) {
+ $scope.wordlPermissions = $scope.wordlPermissions + 2;
+ } else {
+ if ($scope.worldWrite !== undefined) {
+ $scope.wordlPermissions = $scope.wordlPermissions - 2;
+ }
+ }
+ break;
+ }
+ };
+
+ $scope.updateExecutePermissions = function (value) {
+
+ switch (value) {
+
+ case 'userExecute':
+
+ if($scope.userExecute === true)
+ {
+ $scope.userPermissions = $scope.userPermissions + 1;
+ }
+ else
+ {
+ if ($scope.userExecute !== undefined) {
+ $scope.userPermissions = $scope.userPermissions - 1;
+ }
+ }
+ break;
+
+
+ case 'groupExecute':
+ if ($scope.groupExecute === true) {
+ $scope.groupPermissions = $scope.groupPermissions + 1;
+ } else {
+ if ($scope.groupExecute !== undefined) {
+ $scope.groupPermissions = $scope.groupPermissions - 1;
+ }
+ }
+ break;
+
+
+ case 'worldExecute':
+ if ($scope.worldExecute === true) {
+ $scope.wordlPermissions = $scope.wordlPermissions + 1;
+ } else {
+ if ($scope.worldExecute !== undefined) {
+ $scope.wordlPermissions = $scope.wordlPermissions - 1;
+ }
+ }
+ break;
+ }
+ };
+
+
+ $scope.changePermissionsRecursively = function () {
+ $scope.changePermissions(1);
+ };
+
+
+ $scope.changePermissions = function (recursive) {
+
+ $scope.changePermissionsLoading = false;
+ var newPermissions = String($scope.userPermissions) + String($scope.groupPermissions) + String($scope.wordlPermissions);
+
+ var data = {
+ basePath : $scope.currentPath,
+ permissionsPath: $scope.permissionsPath,
+ method: 'changePermissions',
+ domainRandomSeed:domainRandomSeed,
+ recursive: recursive,
+ newPermissions: newPermissions,
+ domainName: domainName
+ };
+
+
+ $http.post(url, data).then(ListInitialDatas, cantLoadInitialDatas);
+
+ function ListInitialDatas(response) {
+
+ $scope.changePermissionsLoading = true;
+ $('#showPermissions').modal('hide');
+
+ if (response.data.permissionsChanged === 1) {
+ var notification = alertify.notify('Permissions Successfully Changed!', 'success', 5, function(){ console.log('dismissed'); });
+ $scope.fetchForTableSecondary(null,'refresh');
+ }
+ else {
+ var notification = alertify.notify(response.data.error_message, 'error', 5, function(){ console.log('dismissed'); });
+ }
+
+ }
+ function cantLoadInitialDatas(response) {
+ }
+
+ };
+
+