diff --git a/src/client_backend/.vs/client_backend/FileContentIndex/0a773b04-27a0-4be0-a68b-891295f5c921.vsidx b/src/client_backend/.vs/client_backend/FileContentIndex/0a773b04-27a0-4be0-a68b-891295f5c921.vsidx new file mode 100644 index 0000000..55db4f3 Binary files /dev/null and b/src/client_backend/.vs/client_backend/FileContentIndex/0a773b04-27a0-4be0-a68b-891295f5c921.vsidx differ diff --git a/src/client_backend/.vs/client_backend/FileContentIndex/18708c7e-55f7-4d43-ab88-b5c01280155b.vsidx b/src/client_backend/.vs/client_backend/FileContentIndex/18708c7e-55f7-4d43-ab88-b5c01280155b.vsidx deleted file mode 100644 index 7f9db55..0000000 Binary files a/src/client_backend/.vs/client_backend/FileContentIndex/18708c7e-55f7-4d43-ab88-b5c01280155b.vsidx and /dev/null differ diff --git a/src/client_backend/.vs/client_backend/FileContentIndex/1bdfdbfc-a8c6-4258-9d5c-04e020ab41e3.vsidx b/src/client_backend/.vs/client_backend/FileContentIndex/1bdfdbfc-a8c6-4258-9d5c-04e020ab41e3.vsidx deleted file mode 100644 index 1e58b80..0000000 Binary files a/src/client_backend/.vs/client_backend/FileContentIndex/1bdfdbfc-a8c6-4258-9d5c-04e020ab41e3.vsidx and /dev/null differ diff --git a/src/client_backend/.vs/client_backend/FileContentIndex/28cbe01f-de87-4326-99b3-3ba35d4a6943.vsidx b/src/client_backend/.vs/client_backend/FileContentIndex/28cbe01f-de87-4326-99b3-3ba35d4a6943.vsidx new file mode 100644 index 0000000..b8c2a01 Binary files /dev/null and b/src/client_backend/.vs/client_backend/FileContentIndex/28cbe01f-de87-4326-99b3-3ba35d4a6943.vsidx differ diff --git a/src/client_backend/.vs/client_backend/FileContentIndex/2922cbe9-a711-40e2-b117-bdc69f70cec3.vsidx b/src/client_backend/.vs/client_backend/FileContentIndex/2922cbe9-a711-40e2-b117-bdc69f70cec3.vsidx new file mode 100644 index 0000000..ad17d7a Binary files /dev/null and b/src/client_backend/.vs/client_backend/FileContentIndex/2922cbe9-a711-40e2-b117-bdc69f70cec3.vsidx differ diff --git a/src/client_backend/.vs/client_backend/FileContentIndex/2c8f19af-bf1a-4bd2-afe7-80f6653936a4.vsidx b/src/client_backend/.vs/client_backend/FileContentIndex/2c8f19af-bf1a-4bd2-afe7-80f6653936a4.vsidx deleted file mode 100644 index 7fd90a3..0000000 Binary files a/src/client_backend/.vs/client_backend/FileContentIndex/2c8f19af-bf1a-4bd2-afe7-80f6653936a4.vsidx and /dev/null differ diff --git a/src/client_backend/.vs/client_backend/FileContentIndex/50bb45d2-3a30-469d-8fea-03a12c2755c9.vsidx b/src/client_backend/.vs/client_backend/FileContentIndex/50bb45d2-3a30-469d-8fea-03a12c2755c9.vsidx deleted file mode 100644 index ea4847e..0000000 Binary files a/src/client_backend/.vs/client_backend/FileContentIndex/50bb45d2-3a30-469d-8fea-03a12c2755c9.vsidx and /dev/null differ diff --git a/src/client_backend/.vs/client_backend/FileContentIndex/e24c7977-b6eb-42d8-a0b4-34deb626263c.vsidx b/src/client_backend/.vs/client_backend/FileContentIndex/e24c7977-b6eb-42d8-a0b4-34deb626263c.vsidx new file mode 100644 index 0000000..0a2245e Binary files /dev/null and b/src/client_backend/.vs/client_backend/FileContentIndex/e24c7977-b6eb-42d8-a0b4-34deb626263c.vsidx differ diff --git a/src/client_backend/.vs/client_backend/v17/.suo b/src/client_backend/.vs/client_backend/v17/.suo index c712ed5..ec2a649 100644 Binary files a/src/client_backend/.vs/client_backend/v17/.suo and b/src/client_backend/.vs/client_backend/v17/.suo differ diff --git a/src/client_backend/.vs/client_backend/v17/Browse.VC.db b/src/client_backend/.vs/client_backend/v17/Browse.VC.db index 2c7786c..df7f96e 100644 Binary files a/src/client_backend/.vs/client_backend/v17/Browse.VC.db and b/src/client_backend/.vs/client_backend/v17/Browse.VC.db differ diff --git a/src/client_backend/.vs/client_backend/v17/ipch/AutoPCH/2281dd451529c04a/SCAN.ipch b/src/client_backend/.vs/client_backend/v17/ipch/AutoPCH/2281dd451529c04a/SCAN.ipch index a4d6e67..9d6b330 100644 Binary files a/src/client_backend/.vs/client_backend/v17/ipch/AutoPCH/2281dd451529c04a/SCAN.ipch and b/src/client_backend/.vs/client_backend/v17/ipch/AutoPCH/2281dd451529c04a/SCAN.ipch differ diff --git a/src/client_backend/.vs/client_backend/v17/ipch/AutoPCH/29ce916351e49153/CLIENT_BACKEND.ipch b/src/client_backend/.vs/client_backend/v17/ipch/AutoPCH/29ce916351e49153/CLIENT_BACKEND.ipch index 68a9f24..c06854d 100644 Binary files a/src/client_backend/.vs/client_backend/v17/ipch/AutoPCH/29ce916351e49153/CLIENT_BACKEND.ipch and b/src/client_backend/.vs/client_backend/v17/ipch/AutoPCH/29ce916351e49153/CLIENT_BACKEND.ipch differ diff --git a/src/client_backend/.vs/client_backend/v17/ipch/AutoPCH/8ce2aa5b46ae584f/PERMISSIONS.ipch b/src/client_backend/.vs/client_backend/v17/ipch/AutoPCH/8ce2aa5b46ae584f/PERMISSIONS.ipch new file mode 100644 index 0000000..4521a1e Binary files /dev/null and b/src/client_backend/.vs/client_backend/v17/ipch/AutoPCH/8ce2aa5b46ae584f/PERMISSIONS.ipch differ diff --git a/src/client_backend/.vs/client_backend/v17/ipch/AutoPCH/c0a2da2aa9944f2e/APP_CTRL.ipch b/src/client_backend/.vs/client_backend/v17/ipch/AutoPCH/c0a2da2aa9944f2e/APP_CTRL.ipch new file mode 100644 index 0000000..6cdc037 Binary files /dev/null and b/src/client_backend/.vs/client_backend/v17/ipch/AutoPCH/c0a2da2aa9944f2e/APP_CTRL.ipch differ diff --git a/src/client_backend/.vs/client_backend/v17/ipch/AutoPCH/e0dbe51be343a028/QUEUE _CTRL.ipch b/src/client_backend/.vs/client_backend/v17/ipch/AutoPCH/e0dbe51be343a028/QUEUE _CTRL.ipch new file mode 100644 index 0000000..ac7b427 Binary files /dev/null and b/src/client_backend/.vs/client_backend/v17/ipch/AutoPCH/e0dbe51be343a028/QUEUE _CTRL.ipch differ diff --git a/src/client_backend/app_ctrl.cpp b/src/client_backend/app_ctrl.cpp new file mode 100644 index 0000000..213a830 --- /dev/null +++ b/src/client_backend/app_ctrl.cpp @@ -0,0 +1,7 @@ +#ifndef APP_CTRL_CPP +#define APP_CTRL_CPP +#include "app_ctrl.h" +int app_stop() { + return 0; +} +#endif \ No newline at end of file diff --git a/src/client_backend/app_ctrl.h b/src/client_backend/app_ctrl.h new file mode 100644 index 0000000..ceb76d8 --- /dev/null +++ b/src/client_backend/app_ctrl.h @@ -0,0 +1,4 @@ +#ifndef APP_CTRL_H +#define APP_CTRL_H +int app_stop(); +#endif \ No newline at end of file diff --git a/src/client_backend/client_backend.cpp b/src/client_backend/client_backend.cpp index b766d56..6b48c9b 100644 --- a/src/client_backend/client_backend.cpp +++ b/src/client_backend/client_backend.cpp @@ -1,20 +1,76 @@ #pragma warning(disable:4996) #include +#include #include #include #include #include "md5hash.h" #include "connect.h" #include "scan.h" +#include "app_ctrl.h" +#include "queue_ctrl.h" int main() { printf("welcome to the jakach security tool\n"); + //main loop, call queue function and so on. + char a[100] = "hello_from_queue0\n"; + char b[100] = "hello_from_queue1\n"; + char c[100] = "hello_from_queue2\n"; + printf("a:%s\n", a); + printf("b:%s\n", b); + printf("c:%s\n\n\n", c); + + + printf("pushing a:%d\n", queue_push(a)); + printf("size:%d\n", get_queue_size()); + printf("pushing b:%d\n", queue_push(b)); + printf("size:%d\n", get_queue_size()); + printf("pushing c:%d\n", queue_push(c)); + printf("size:%d\n", get_queue_size()); + printf("a:%s\n", a); + printf("b:%s\n", b); + printf("c: % s\n\n\n", c); + + printf("popping a:%d\n", queue_pop(a)); + printf("size:%d\n", get_queue_size()); + printf("popping b:%d\n", queue_pop(b)); + printf("size:%d\n", get_queue_size()); + printf("popping c:%d\n", queue_pop(c)); + printf("size:%d\n", get_queue_size()); + printf("a:%s\n", a); + printf("b:%s\n", b); + printf("c:%s\n", c); + + + /* + + + char md5Hash[2 * MD5_DIGEST_LENGTH + 1]; // +1 for null-terminator printf("Hash of the executable: "); md5_file("C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\x64\\Debug\\client_backend.exe", md5Hash); printf("%s", md5Hash); - char a[2000]; - printf("\nerror:%d\n",connect_to_srv("https://self-signed.badssl.com/", a, 2000,1)); //error 60: self signed => option für self-signed ignorieren aktivieren (bool ignore_invalid=true) - printf("%s", a); //error 6: not reachable + char a_[2000]; + printf("\nerror:%d\n",connect_to_srv("https://self-signed.badssl.com/", a_, 2000,1)); //error 60: self signed => option für self-signed ignorieren aktivieren (bool ignore_invalid=true) + printf("%s", a_); //error 6: not reachable + download_file_from_srv("https://jakach.duckdns.org/php/login/v3/login.php", "c:\\programdata\\jakach\\out12.txt"); + /* + const int numThreads = 12; + std::thread threads[numThreads]; + + for (int i = 0; i < numThreads; ++i) { + threads[i] = std::thread(ListFilesRecursive, "C:\\Users\\janis\\Documents\\ma_av_tests",i); + } + + // Join threads to wait for them to finish + for (int i = 0; i < numThreads; ++i) { + threads[i].join(); + } + + std::cout << "All threads have finished." << std::endl; + */ + + //printf("code:%d",scan_hash("C:\\Users\\janis\\Documents\\ma_av_tests\\OutputFile.txt", "1fddc13c02a79442c911a44b02ee0f58")); + //ListFilesRecursive("C:\\Users\\janis\\Documents\\ma_av_tests",0); return 0; } diff --git a/src/client_backend/client_backend.vcxproj b/src/client_backend/client_backend.vcxproj index 15fb846..2f97ffe 100644 --- a/src/client_backend/client_backend.vcxproj +++ b/src/client_backend/client_backend.vcxproj @@ -135,14 +135,20 @@ + + + + + + diff --git a/src/client_backend/client_backend.vcxproj.filters b/src/client_backend/client_backend.vcxproj.filters index a58fe61..cf805e0 100644 --- a/src/client_backend/client_backend.vcxproj.filters +++ b/src/client_backend/client_backend.vcxproj.filters @@ -27,6 +27,18 @@ Headerdateien + + Headerdateien + + + Headerdateien + + + Headerdateien + + + Headerdateien + @@ -38,5 +50,11 @@ Headerdateien + + Headerdateien + + + Headerdateien + \ No newline at end of file diff --git a/src/client_backend/connect.cpp b/src/client_backend/connect.cpp index d9fbe82..7113dac 100644 --- a/src/client_backend/connect.cpp +++ b/src/client_backend/connect.cpp @@ -32,4 +32,50 @@ int connect_to_srv(const char*url,char*out,int max_len, bool ignore_insecure) { } return 2; } +size_t write_callback(void* contents, size_t size, size_t nmemb, void* userp) { + size_t totalSize = size * nmemb; + FILE* file = (FILE*)userp; + if (file) { + fwrite(contents, 1, totalSize, file); + } + return totalSize; +} + +int download_file_from_srv(const char* url, const char* outputFileName) { + //use curl to download a file from a server + + CURL* curl; + CURLcode res; + FILE* output_file; + + curl = curl_easy_init(); + if (!curl) { + return 1; + } + + // Set the URL to download + curl_easy_setopt(curl, CURLOPT_URL, url); + + // Create a file to write the downloaded data + output_file = fopen(outputFileName, "wb"); + if (!output_file) { + curl_easy_cleanup(curl); + return 1; + } + + // Set the write callback function + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback); + curl_easy_setopt(curl, CURLOPT_WRITEDATA, output_file); + + // Perform the download + res = curl_easy_perform(curl); + if (res != CURLE_OK) { + return 1; + } + // Cleanup and close the file + curl_easy_cleanup(curl); + fclose(output_file); + + return 0; +} #endif \ No newline at end of file diff --git a/src/client_backend/connect.h b/src/client_backend/connect.h index 90b5bd1..f0d71c1 100644 --- a/src/client_backend/connect.h +++ b/src/client_backend/connect.h @@ -2,4 +2,5 @@ #include #include #include -int connect_to_srv(const char* url, char* out, int max_len, bool ignore_insecure); \ No newline at end of file +int connect_to_srv(const char* url, char* out, int max_len, bool ignore_insecure); +int download_file_from_srv(const char* url, const char* outputFileName); \ No newline at end of file diff --git a/src/client_backend/permissions.cpp b/src/client_backend/permissions.cpp new file mode 100644 index 0000000..3f44e4d --- /dev/null +++ b/src/client_backend/permissions.cpp @@ -0,0 +1,27 @@ +#ifndef PERMISSIONS_CPP +#define PERMISSIONS_CPP +#include "permissions.h" +/* +1 create file (as admin) +2 set file as read only (also as admin) +file cannot be deleted or modified by anyone. admin can delete + +*/ +/* +int main() { + FILE* fp; + fp = fopen("c:\\programdata\\jakach\\aa.txt", "w"); + fprintf(fp, "secure text"); + fclose(fp); + chmod("c:\\programdata\\jakach\\aa.txt", _S_IREAD); +} + +*/ +int protect_file(char* path) { + return _chmod(path, _S_IREAD); +} +int unprotect_file(char* path) { + return _chmod(path, _S_IWRITE | _S_IREAD); +} + +#endif \ No newline at end of file diff --git a/src/client_backend/permissions.h b/src/client_backend/permissions.h new file mode 100644 index 0000000..253cf1a --- /dev/null +++ b/src/client_backend/permissions.h @@ -0,0 +1,14 @@ +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +int protect_file(char* path); +int unprotect_file(char* path); \ No newline at end of file diff --git a/src/client_backend/queue _ctrl.cpp b/src/client_backend/queue _ctrl.cpp new file mode 100644 index 0000000..02329fc --- /dev/null +++ b/src/client_backend/queue _ctrl.cpp @@ -0,0 +1,45 @@ +#ifndef QUEUE_CTRL_CPP +#define QUEUE_CTRL_CPP +#include "queue_ctrl.h" +#include +#define queue_limit 1000 +#define command_limit 100 +char queue[1000][100]; +int queue_size = 0; +int queue_start = 0; +int queue_end = 0; +int queue_push(char* str) { + if (queue_size == queue_limit) { + return 1; + } + else if (strlen(str) >= command_limit) { + return 2; + } + else { + strcpy_s(queue[queue_end], str); + queue_end++; + queue_size++; + if (queue_end == queue_limit) { + queue_end = 0; + } + return 0; + } +} +int queue_pop(char* str) { + if (queue_size == 0) { + return 1; + } + else { + strcpy_s(str, 100, queue[queue_start]); + queue_start++; + queue_size--; + if (queue_start == queue_limit) { + queue_start = 0; + } + return 0; + } +} +int get_queue_size() { + return queue_size; +} +#endif // !QUEUE_CTRL_CPP diff --git a/src/client_backend/queue_ctrl.h b/src/client_backend/queue_ctrl.h new file mode 100644 index 0000000..662e93a --- /dev/null +++ b/src/client_backend/queue_ctrl.h @@ -0,0 +1,9 @@ +#pragma once +#ifndef QUEUE_CTRL_H +#define QUEUE_CTRL_H + +int queue_push(char* str); +int queue_pop(char* str); +int get_queue_size(); + +#endif // !QUEUE_CTRL_H diff --git a/src/client_backend/scan.cpp b/src/client_backend/scan.cpp index 5e18854..e2ffcdd 100644 --- a/src/client_backend/scan.cpp +++ b/src/client_backend/scan.cpp @@ -1,14 +1,15 @@ #include "scan.h" #include #include - +#include #include #include +#include "md5hash.h" +#include #ifndef SCAN_CPP #define SCAN_CPP -#include int cnt = 0; -void ListFilesRecursive(const std::string& directory) { +void ListFilesRecursive(const std::string& directory, int thread_id) { std::string search_path = directory + "\\*.*"; WIN32_FIND_DATA find_file_data; HANDLE hFind = FindFirstFile(search_path.c_str(), &find_file_data); @@ -27,17 +28,66 @@ void ListFilesRecursive(const std::string& directory) { std::string full_path = directory + "\\" + find_file_data.cFileName; if (find_file_data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { // If it's a directory, recurse into it - ListFilesRecursive(full_path); + ListFilesRecursive(full_path,thread_id); } else { // If it's a file, print its name + /*char md5Hash[2 * MD5_DIGEST_LENGTH + 1]; + + md5_file(full_path.c_str(), md5Hash); + printf("%s\n", md5Hash); + printf("%d\n", scan_hash("C:\\Users\\janis\\Documents\\ma_av_tests\\OutputFile.txt", "96be95b122c2b9b8bb5765c312ca4f73")); + if (scan_hash("C:\\Users\\janis\\Documents\\ma_av_tests\\OutputFile.txt", md5Hash) == 1) { + printf("virus found"); + + }*/ cnt++; if (cnt % 1000 == 0) { - printf("Processed %d files\n", cnt); + printf("Processed %d files; sent from thread %d\n", cnt,thread_id); } } } while (FindNextFile(hFind, &find_file_data) != 0); FindClose(hFind); } +int scan_hash(const std::string& filename, const std::string& searchString) {//!!!! does not work with e.g. utf-16 or something like that. either ascii or utf8!! + HANDLE hFile = CreateFile(filename.c_str(), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); + if (hFile == INVALID_HANDLE_VALUE) { + std::cerr << "Error: Unable to open the file." << std::endl; + return 2; + } + + HANDLE hMapping = CreateFileMapping(hFile, NULL, PAGE_READONLY, 0, 0, NULL); + if (hMapping == NULL) { + std::cerr << "Error: Unable to create file mapping." << std::endl; + CloseHandle(hFile); + return 2; + } + + char* fileData = static_cast(MapViewOfFile(hMapping, FILE_MAP_READ, 0, 0, 0)); + if (fileData == NULL) { + std::cerr << "Error: Unable to map the file into memory." << std::endl; + CloseHandle(hMapping); + CloseHandle(hFile); + return 2; + } + + DWORD fileSize = GetFileSize(hFile, NULL); + std::string fileContent(fileData, fileSize); + + // Search for the specific string in the file content + size_t foundPos = fileContent.find(searchString); + if (foundPos != std::string::npos) { + UnmapViewOfFile(fileData); + CloseHandle(hMapping); + CloseHandle(hFile); + return 1;//found + } + + // Unmap the memory and close the handles + UnmapViewOfFile(fileData); + CloseHandle(hMapping); + CloseHandle(hFile); + return 0; +} #endif \ No newline at end of file diff --git a/src/client_backend/scan.h b/src/client_backend/scan.h index 01c659c..f4bb40a 100644 --- a/src/client_backend/scan.h +++ b/src/client_backend/scan.h @@ -1,3 +1,4 @@ #pragma once #include -void ListFilesRecursive(const std::string& directory); \ No newline at end of file +void ListFilesRecursive(const std::string& directory,int thread_id); +int scan_hash(const std::string& filename, const std::string& searchString); \ No newline at end of file diff --git a/src/client_backend/x64/Debug/client_backend.ilk b/src/client_backend/x64/Debug/client_backend.ilk index 64da2b3..31296f7 100644 Binary files a/src/client_backend/x64/Debug/client_backend.ilk and b/src/client_backend/x64/Debug/client_backend.ilk differ diff --git a/src/client_backend/x64/Debug/client_backend.log b/src/client_backend/x64/Debug/client_backend.log index 3754042..319402b 100644 --- a/src/client_backend/x64/Debug/client_backend.log +++ b/src/client_backend/x64/Debug/client_backend.log @@ -1,2 +1,3 @@  client_backend.cpp +x64\Debug\app_ctrl.obj : warning LNK4042: Objekt mehrmals angegeben; zusätzliche Objekte werden ignoriert. client_backend.vcxproj -> C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\x64\Debug\client_backend.exe diff --git a/src/client_backend/x64/Debug/client_backend.pdb b/src/client_backend/x64/Debug/client_backend.pdb index 4d5b8f2..da3097d 100644 Binary files a/src/client_backend/x64/Debug/client_backend.pdb and b/src/client_backend/x64/Debug/client_backend.pdb differ diff --git a/src/client_backend/x64/Debug/client_backend.tlog/CL.command.1.tlog b/src/client_backend/x64/Debug/client_backend.tlog/CL.command.1.tlog index 2153d70..529a24c 100644 Binary files a/src/client_backend/x64/Debug/client_backend.tlog/CL.command.1.tlog and b/src/client_backend/x64/Debug/client_backend.tlog/CL.command.1.tlog differ diff --git a/src/client_backend/x64/Debug/client_backend.tlog/CL.read.1.tlog b/src/client_backend/x64/Debug/client_backend.tlog/CL.read.1.tlog index 9c23006..2c0b926 100644 Binary files a/src/client_backend/x64/Debug/client_backend.tlog/CL.read.1.tlog and b/src/client_backend/x64/Debug/client_backend.tlog/CL.read.1.tlog differ diff --git a/src/client_backend/x64/Debug/client_backend.tlog/CL.write.1.tlog b/src/client_backend/x64/Debug/client_backend.tlog/CL.write.1.tlog index da6a64a..168a332 100644 Binary files a/src/client_backend/x64/Debug/client_backend.tlog/CL.write.1.tlog and b/src/client_backend/x64/Debug/client_backend.tlog/CL.write.1.tlog differ diff --git a/src/client_backend/x64/Debug/client_backend.tlog/Cl.items.tlog b/src/client_backend/x64/Debug/client_backend.tlog/Cl.items.tlog index 7187567..6f60b1c 100644 --- a/src/client_backend/x64/Debug/client_backend.tlog/Cl.items.tlog +++ b/src/client_backend/x64/Debug/client_backend.tlog/Cl.items.tlog @@ -1,4 +1,8 @@ +C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\app_ctrl.cpp;C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\x64\Debug\app_ctrl.obj +C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\app_ctrl.h;C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\x64\Debug\app_ctrl.obj C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend.cpp;C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\x64\Debug\client_backend.obj C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\connect.cpp;C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\x64\Debug\connect.obj C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\md5hash.cpp;C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\x64\Debug\md5hash.obj +C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\permissions.cpp;C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\x64\Debug\permissions.obj +C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\queue _ctrl.cpp;C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\x64\Debug\queue _ctrl.obj C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\scan.cpp;C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\x64\Debug\scan.obj diff --git a/src/client_backend/x64/Debug/client_backend.tlog/client_backend.write.1u.tlog b/src/client_backend/x64/Debug/client_backend.tlog/client_backend.write.1u.tlog index f46f17b..6c58a4a 100644 Binary files a/src/client_backend/x64/Debug/client_backend.tlog/client_backend.write.1u.tlog and b/src/client_backend/x64/Debug/client_backend.tlog/client_backend.write.1u.tlog differ diff --git a/src/client_backend/x64/Debug/client_backend.tlog/link.command.1.tlog b/src/client_backend/x64/Debug/client_backend.tlog/link.command.1.tlog index 98322bf..50f8137 100644 Binary files a/src/client_backend/x64/Debug/client_backend.tlog/link.command.1.tlog and b/src/client_backend/x64/Debug/client_backend.tlog/link.command.1.tlog differ diff --git a/src/client_backend/x64/Debug/client_backend.tlog/link.read.1.tlog b/src/client_backend/x64/Debug/client_backend.tlog/link.read.1.tlog index 56060fa..7f7848b 100644 Binary files a/src/client_backend/x64/Debug/client_backend.tlog/link.read.1.tlog and b/src/client_backend/x64/Debug/client_backend.tlog/link.read.1.tlog differ diff --git a/src/client_backend/x64/Debug/client_backend.tlog/link.write.1.tlog b/src/client_backend/x64/Debug/client_backend.tlog/link.write.1.tlog index 04fd86c..1f230c2 100644 Binary files a/src/client_backend/x64/Debug/client_backend.tlog/link.write.1.tlog and b/src/client_backend/x64/Debug/client_backend.tlog/link.write.1.tlog differ diff --git a/src/client_backend/x64/Debug/vc143.idb b/src/client_backend/x64/Debug/vc143.idb index 1ef3d8a..28e32e1 100644 Binary files a/src/client_backend/x64/Debug/vc143.idb and b/src/client_backend/x64/Debug/vc143.idb differ diff --git a/src/client_backend/x64/Debug/vc143.pdb b/src/client_backend/x64/Debug/vc143.pdb index bf07ced..f0ca64f 100644 Binary files a/src/client_backend/x64/Debug/vc143.pdb and b/src/client_backend/x64/Debug/vc143.pdb differ