-/* Copyright (C) 2009-2011, Martin Johansson <martin@fatbob.nu>
- Copyright (C) 2005-2011, Thorvald Natvig <thorvald@natvig.com>
+/* Copyright (C) 2009-2014, Martin Johansson <martin@fatbob.nu>
+ Copyright (C) 2005-2014, Thorvald Natvig <thorvald@natvig.com>
All rights reserved.
#include "timer.h"
typedef struct {
- uint8_t hash[20];
- in_addr_t address;
+ struct dlist node;
+ struct sockaddr_storage address;
char *reason;
char *name;
- etimer_t startTime;
- struct dlist node;
+ time_t time;
+ uint32_t duration;
+ uint32_t mask;
+ uint8_t hash[20];
} ban_t;
void Ban_UserBan(client_t *client, char *reason);
void Ban_pruneBanned();
bool_t Ban_isBanned(client_t *client);
-bool_t Ban_isBannedAddr(in_addr_t *addr);
+bool_t Ban_isBannedAddr(struct sockaddr_storage *address);
+int Ban_getBanCount(void);
+message_t *Ban_getBanList(void);
+void Ban_putBanList(message_t *msg, int n_bans);
+void Ban_clearBanList(void);
+void Ban_init(void);
+void Ban_deinit(void);
#endif