status response
This commit is contained in:
parent
209c3e8bdb
commit
4ee7f7a1e9
34
main.c
34
main.c
|
@ -3,6 +3,7 @@
|
|||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <time.h>
|
||||
#include <arpa/inet.h>
|
||||
|
||||
#define PORT 6969
|
||||
|
@ -145,9 +146,22 @@ void write_String(int client_fd, const char* str, int len)
|
|||
}
|
||||
}
|
||||
|
||||
void write_Long(int client_fd, int64_t value)
|
||||
{
|
||||
(void) client_fd;
|
||||
request[req_current_byte] = value;
|
||||
req_current_byte += 8;
|
||||
}
|
||||
|
||||
void send_request(int client_fd)
|
||||
{
|
||||
write(client_fd, request, req_current_byte);
|
||||
|
||||
printf("[INFO] %d byte request sent: ", req_current_byte);
|
||||
print_hex((const char*) request, req_current_byte > 10 ? 10 : req_current_byte);
|
||||
printf("...\n");
|
||||
|
||||
req_current_byte = 0;
|
||||
}
|
||||
|
||||
File read_entire_file(const char *filename)
|
||||
|
@ -155,7 +169,7 @@ File read_entire_file(const char *filename)
|
|||
FILE *f = fopen(filename, "r");
|
||||
fseek(f, 0, SEEK_END);
|
||||
long fsize = ftell(f);
|
||||
fseek(f, 0, SEEK_SET); /* same as rewind(f); */
|
||||
fseek(f, 0, SEEK_SET);
|
||||
|
||||
char *string = malloc(fsize);
|
||||
fread(string, fsize, 1, f);
|
||||
|
@ -246,12 +260,24 @@ int main()
|
|||
write_String(client_fd, status_rep.data, status_rep.len);
|
||||
|
||||
send_request(client_fd);
|
||||
printf("[INFO] %d byte request sent: ", req_current_byte);
|
||||
print_hex((const char*) request, 10);
|
||||
printf("...\n");
|
||||
|
||||
file_free(status_rep);
|
||||
|
||||
int request_status_len = read_VarInt(client_fd);
|
||||
int request_status_id = read_VarInt(client_fd);
|
||||
printf("[MCPACKET %d] packet length: %d\n", request_status_id, request_status_len);
|
||||
if (request_status_id != 0 || request_status_len != 1) {
|
||||
printf("[ERR] client not in the status state\n");
|
||||
close_connection(client_fd);
|
||||
continue;
|
||||
}
|
||||
|
||||
write_VarInt(client_fd, 1 /*packet id*/ + 8 /*Long len*/);
|
||||
write_VarInt(client_fd, 1); // protocol id
|
||||
write_Long(client_fd, (long)time(NULL));
|
||||
|
||||
send_request(client_fd);
|
||||
|
||||
close_connection(client_fd);
|
||||
}
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"online": 1,
|
||||
"sample": [
|
||||
{
|
||||
"name": "caca player 69 ?",
|
||||
"name": "Le caca est cuit ?",
|
||||
"id": "83e2e372-1df3-485d-a360-d9c4caf8b8c4"
|
||||
}
|
||||
]
|
||||
|
@ -16,6 +16,6 @@
|
|||
"description": {
|
||||
"text": "caca serveur minecraft en \u00a72C"
|
||||
},
|
||||
"favicon": "data:image/png;base64,<data>",
|
||||
"favicon": "data:image/png;base64,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",
|
||||
"enforcesSecureChat": false
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue