|
|
@ -3,29 +3,12 @@ |
|
|
|
|
|
|
|
|
|
|
|
#include <sys/uio.h> |
|
|
|
#include <sys/uio.h> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#include "commands.h" |
|
|
|
|
|
|
|
|
|
|
|
#define DATA_LEN_MAX 1476 /* 1500 - (16 bytes of cmsg header + 8 bytes of udp) */ |
|
|
|
#define DATA_LEN_MAX 1476 /* 1500 - (16 bytes of cmsg header + 8 bytes of udp) */ |
|
|
|
#define DATA_ARGS_MAX 6 /* number of args in data */ |
|
|
|
#define DATA_ARGS_MAX 6 /* number of args in data */ |
|
|
|
#define F2B_PROTO_VER 1 |
|
|
|
#define F2B_PROTO_VER 1 |
|
|
|
|
|
|
|
|
|
|
|
enum f2b_cmsg_type { |
|
|
|
|
|
|
|
CMD_NONE = 0, |
|
|
|
|
|
|
|
CMD_RESP, |
|
|
|
|
|
|
|
CMD_HELP, |
|
|
|
|
|
|
|
CMD_PING = 8, |
|
|
|
|
|
|
|
CMD_STATUS, |
|
|
|
|
|
|
|
CMD_ROTATE, |
|
|
|
|
|
|
|
CMD_RELOAD, |
|
|
|
|
|
|
|
CMD_SHUTDOWN, |
|
|
|
|
|
|
|
CMD_JAIL_STATUS = 16, |
|
|
|
|
|
|
|
CMD_JAIL_SET, |
|
|
|
|
|
|
|
CMD_JAIL_IP_SHOW, |
|
|
|
|
|
|
|
CMD_JAIL_IP_BAN, |
|
|
|
|
|
|
|
CMD_JAIL_IP_RELEASE, |
|
|
|
|
|
|
|
CMD_JAIL_REGEX_STATS, |
|
|
|
|
|
|
|
CMD_JAIL_REGEX_ADD, |
|
|
|
|
|
|
|
CMD_MAX_NUMBER, |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define CMSG_FLAG_NEED_REPLY 0x01 |
|
|
|
#define CMSG_FLAG_NEED_REPLY 0x01 |
|
|
|
#define CMSG_FLAG_AUTH_PASS 0x02 |
|
|
|
#define CMSG_FLAG_AUTH_PASS 0x02 |
|
|
|
|
|
|
|
|
|
|
@ -38,7 +21,7 @@ typedef struct f2b_cmsg_t { |
|
|
|
char magic[3]; /**< magic string "F2B" */ |
|
|
|
char magic[3]; /**< magic string "F2B" */ |
|
|
|
uint8_t version; /**< protocol version */ |
|
|
|
uint8_t version; /**< protocol version */ |
|
|
|
/* 4 bytes */ |
|
|
|
/* 4 bytes */ |
|
|
|
uint8_t type; /**< command type, cast from enum f2b_cmsg_type */ |
|
|
|
uint8_t type; /**< command type, cast from enum f2b_cmd_type */ |
|
|
|
uint8_t flags; /**< CMSG_FLAG_* */ |
|
|
|
uint8_t flags; /**< CMSG_FLAG_* */ |
|
|
|
uint16_t size; /**< payload length */ |
|
|
|
uint16_t size; /**< payload length */ |
|
|
|
/* 8 bytes */ |
|
|
|
/* 8 bytes */ |
|
|
|