2 Commits

Author SHA1 Message Date
a2eefe411c Merge pull request 'Configuration file and CI' (#4) from configuration into main
All checks were successful
CI / build (push) Successful in 10s
CI / release (push) Successful in 8s
Reviewed-on: #4
2025-06-07 15:33:05 +02:00
f1b94cbfd8 Minor fixes
Some checks failed
CI / build (push) Successful in 10s
CI / release (push) Has been cancelled
2025-06-07 15:29:50 +02:00
2 changed files with 11 additions and 9 deletions

View File

@@ -5,6 +5,7 @@
#include <thread> #include <thread>
#include <vector> #include <vector>
#include <set> #include <set>
#include <unordered_set>
#include <array> #include <array>
#include <string> #include <string>
#include <mutex> #include <mutex>
@@ -68,7 +69,7 @@ void scannerThreadFunc()
cv.wait(lock, [] cv.wait(lock, []
{ return manager.isAnybodyFlagged(); }); { return manager.isAnybodyFlagged(); });
std::set<std::string> scanUsers = manager.getFlaggedUsers(); std::unordered_set<std::string> scanUsers = manager.getFlaggedUsers();
manager.unflagAllUsers(); manager.unflagAllUsers();
lock.unlock(); lock.unlock();
@@ -85,6 +86,7 @@ void scannerThreadFunc()
else if (child == 0) // child else if (child == 0) // child
{ {
std::string cmd = userManager::getScanCommandFromUser(user, cfm); std::string cmd = userManager::getScanCommandFromUser(user, cfm);
std::cout << "Run command: " << cmd << std::endl;
execl("/bin/sh", "sh", "-c", cmd.c_str(), static_cast<char *>(nullptr)); execl("/bin/sh", "sh", "-c", cmd.c_str(), static_cast<char *>(nullptr));
std::cerr << "Scan failed" << std::endl; std::cerr << "Scan failed" << std::endl;
_exit(EXIT_FAILURE); _exit(EXIT_FAILURE);

View File

@@ -4,7 +4,7 @@
#include <string> #include <string>
#include <map> #include <map>
#include <vector> #include <vector>
#include <set> #include <unordered_set>
#include <sstream> #include <sstream>
#include <mutex> #include <mutex>
#include <stdexcept> #include <stdexcept>
@@ -76,9 +76,9 @@ public:
} }
} }
std::set<std::string> getUsers() std::unordered_set<std::string> getUsers()
{ {
std::set<std::string> ret; std::unordered_set<std::string> ret;
std::lock_guard<std::mutex> lock(mtx); std::lock_guard<std::mutex> lock(mtx);
@@ -90,9 +90,9 @@ public:
return ret; return ret;
} }
std::set<std::string> getFlaggedUsers() std::unordered_set<std::string> getFlaggedUsers()
{ {
std::set<std::string> ret; std::unordered_set<std::string> ret;
std::lock_guard<std::mutex> lock(mtx); std::lock_guard<std::mutex> lock(mtx);
@@ -131,7 +131,7 @@ public:
addUser(user); addUser(user);
} }
} }
catch (std::exception e) catch (const std::exception &e)
{ {
std::cerr << "No user added from configuration file" << std::endl; std::cerr << "No user added from configuration file" << std::endl;
} }
@@ -145,10 +145,10 @@ public:
for (const std::string& id : allids) for (const std::string& id : allids)
{ {
addUser("__groupfolder/" + id); addUser("__groupfolders/" + id);
} }
} }
catch (std::exception e) catch (const std::exception &e)
{ {
std::cerr << "No groupfolder added from configuration file" << std::endl; std::cerr << "No groupfolder added from configuration file" << std::endl;
} }