From 95d61933b598ec219449ca350f39ca933a529560 Mon Sep 17 00:00:00 2001 From: login Date: Sat, 4 Nov 2023 11:07:13 +0000 Subject: Added the ability to block a user from running tcoin This was added to prevent tcoin from being run by certain users --- tcoin.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/tcoin.cpp b/tcoin.cpp index 56a976c..a015f7f 100644 --- a/tcoin.cpp +++ b/tcoin.cpp @@ -84,7 +84,7 @@ #define ERR_SEND_MESSAGE_RECEIVER_MSG_FILE_UNABLE_TO_BE_UPDATED_FATAL 101 #define ERR_SEND_MESSAGE_PROGRAM_RECEIVER_MSG_FILE_UNABLE_TO_BE_UPDATED_FATAL 103 #define ERR_SEND_MESSAGE_SENDER_MSG_FILE_UNABLE_TO_BE_UPDATED_FATAL 102 - +#define ERR_USER_IS_BLOCKED 105 void exit_program(const int error_number) { @@ -1324,6 +1324,14 @@ bool user_is_locked(const char* username) return true; } +bool user_is_blocked(const char* username) +{ + std::ifstream fin((std::string(TCOIN_PATH_W_SLASH) + std::string(username) + std::string("_blocked.txt")).c_str()); + if(!fin) + return false; + return true; +} + int send(const char* sender_username, const char* receiver_username, const long long int &amount_to_send, const long long int &base_amount, const char* option) { int final_return_value = 0; @@ -1619,6 +1627,11 @@ bool message_is_long(const char* test_string) int main(int argc, char *argv[]) { + //quick exit if user is blocked + if(user_is_blocked(get_username().c_str())) + { + return ERR_USER_IS_BLOCKED; + } //sneaky scrypt magic (process overlaying to maintain suid) { std::ifstream codefin(TCOIN_CODEZ_PATH); -- cgit 1.4.1-2-gfad0