diff options
author | login <login@tilde.team> | 2023-11-04 11:07:13 +0000 |
---|---|---|
committer | login <login@tilde.team> | 2023-11-04 11:07:13 +0000 |
commit | 95d61933b598ec219449ca350f39ca933a529560 (patch) | |
tree | 71af797db2244768dee401d867e897268e6396d4 | |
parent | eb23c73f2a9e96cefc485b122b94491ee109120a (diff) | |
download | tcoin-95d61933b598ec219449ca350f39ca933a529560.tar.gz |
Added the ability to block a user from running tcoin
This was added to prevent tcoin from being run by certain users
-rw-r--r-- | tcoin.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
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); |