Improvement: Support authorize master online
This commit is contained in:
@@ -75,6 +75,10 @@ typedef void* LPVOID, * HANDLE;
|
||||
// <20><><EFBFBD>س<EFBFBD><D8B3><EFBFBD>Ψһ<CEA8><D2BB>ʶ
|
||||
#define MASTER_HASH "61f04dd637a74ee34493fc1025de2c131022536da751c29e3ff4e9024d8eec43"
|
||||
|
||||
#ifndef GET_FILEPATH
|
||||
#define GET_FILEPATH(dir,file) [](char*d,const char*f){char*p=d;while(*p)++p;while('\\'!=*p&&p!=d)--p;strcpy(p+1,f);return d;}(dir,file)
|
||||
#endif
|
||||
|
||||
inline int isValid() {
|
||||
static time_t tm = time(nullptr);
|
||||
return time(nullptr) - tm <= 60;
|
||||
@@ -228,6 +232,7 @@ enum
|
||||
CMD_RUNASADMIN=214, // ADMIN <20><><EFBFBD><EFBFBD>
|
||||
CMD_MASTERSETTING = 215, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
CMD_HEARTBEAT_ACK = 216, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ
|
||||
CMD_AUTHORIZATION = 222, // <20><>Ȩ
|
||||
CMD_SERVER_ADDR = 229, // <20><><EFBFBD>ص<EFBFBD>ַ
|
||||
TOKEN_ERROR = 230, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
||||
TOKEN_SHELL_DATA = 231, // <20>ն˽<D5B6><CBBD><EFBFBD>
|
||||
@@ -473,7 +478,8 @@ public:
|
||||
int iMultiOpen;
|
||||
int iStartup; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
|
||||
int iHeaderEnc; // <20><><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
char szReserved[126]; // ռλ<D5BC><CEBB>ʹ<EFBFBD>ṹ<EFBFBD><E1B9B9>ռ<EFBFBD><D5BC>300<30>ֽ<EFBFBD>
|
||||
char szReserved[62]; // ռλ<D5BC><CEBB>ʹ<EFBFBD>ṹ<EFBFBD><E1B9B9>ռ<EFBFBD><D5BC>300<30>ֽ<EFBFBD>
|
||||
char pwdHash[64];
|
||||
|
||||
public:
|
||||
void SetType(int typ) {
|
||||
@@ -749,6 +755,28 @@ inline std::string ToPekingTimeAsString(const time_t* t) {
|
||||
return buffer;
|
||||
}
|
||||
|
||||
typedef struct Validation {
|
||||
char From[20]; // <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
||||
char To[20]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
char Admin[100]; // <20><><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD>صĹ<D8B5><C4B9><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>
|
||||
int Port; // <20><><EFBFBD><EFBFBD>Ա<EFBFBD>˿ڣ<CBBF>Ĭ<EFBFBD>ϵ<EFBFBD>ǰ<EFBFBD>˿ڣ<CBBF>
|
||||
char Reserved[16]; // Ԥ<><D4A4><EFBFBD>ֶ<EFBFBD>
|
||||
Validation(float days, const char* admin, int port) {
|
||||
time_t from = time(NULL), to = from + time_t(86400 * days);
|
||||
memset(this, 0, sizeof(Validation));
|
||||
std::string fromStr = ToPekingTimeAsString(&from);
|
||||
std::string toStr = ToPekingTimeAsString(&to);
|
||||
strcpy_s(From, fromStr.c_str());
|
||||
strcpy_s(To, toStr.c_str());
|
||||
strcpy_s(Admin, admin);
|
||||
Port = port;
|
||||
}
|
||||
bool IsValid() const {
|
||||
std::string now = ToPekingTimeAsString(NULL);
|
||||
return From <= now && now <= To;
|
||||
}
|
||||
}Validation;
|
||||
|
||||
#ifdef _DEBUG
|
||||
// Ϊ<>˽<EFBFBD><CBBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ꣬<C4BA><EAA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱʹ<CAB1>ã<EFBFBD><C3A3><EFBFBD>ʽ<EFBFBD>汾û<E6B1BE><C3BB>
|
||||
#define SCREENYSPY_IMPROVE 0
|
||||
|
||||
Reference in New Issue
Block a user