1
0
mirror of https://github.com/fumiama/simple-dict.git synced 2026-06-12 06:00:31 +08:00

增加md5校验

This commit is contained in:
fumiama
2021-05-29 14:45:55 +08:00
parent f9f2bf0585
commit 2a3e5bfb45
5 changed files with 63 additions and 2 deletions

View File

@@ -72,6 +72,7 @@ int s1_get(THREADTIMER *timer);
int s2_set(THREADTIMER *timer);
int s3_set_data(THREADTIMER *timer);
int s4_del(THREADTIMER *timer);
int s5_md5(THREADTIMER *timer);
int bind_server(uint16_t port, u_int try_times) {
int fail_count = 0;
@@ -168,6 +169,7 @@ int s0_init(THREADTIMER *timer) {
if(!strcmp("get", timer->data)) timer->status = 1;
else if(!strcmp(setpass, timer->data)) timer->status = 2;
else if(!strcmp(delpass, timer->data)) timer->status = 4;
else if(!strcmp("md5", timer->data)) timer->status = 5;
else if(!strcmp("cat", timer->data)) return send_all(timer);
else if(!strcmp("quit", timer->data)) return 0;
return send_data(timer->accept_fd, timer->data, timer->numbytes);
@@ -280,6 +282,12 @@ int s4_del(THREADTIMER *timer) {
return close_and_send(timer, "null", 4);
}
int s5_md5(THREADTIMER *timer) {
timer->status = 0;
if(is_md5_equal(timer->data)) return send_data(timer->accept_fd, "null", 4);
else return send_data(timer->accept_fd, "nequ", 4);
}
int check_buffer(THREADTIMER *timer) {
printf("Status: %d\n", timer->status);
switch(timer->status) {
@@ -289,6 +297,7 @@ int check_buffer(THREADTIMER *timer) {
case 2: return s2_set(timer); break;
case 3: return s3_set_data(timer); break;
case 4: return s4_del(timer); break;
case 5: return s5_md5(timer); break;
default: return -1; break;
}
}
@@ -382,6 +391,7 @@ void handle_accept(void *p) {
puts("Check buffer");
take_word(p, cfg->pwd);
take_word(p, "cat");
take_word(p, "md5");
take_word(p, setpass);
take_word(p, delpass);
if(timer_pointer_of(p)->numbytes > 0) chkbuf(p);