X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=src%2Fban.h;h=a8e6532fcadf298b8939814aeb6d73db586c861f;hb=HEAD;hp=dbc97d3f3020d9a475bcc1b3db9b310acb8ae8fb;hpb=1f6407aa1a69c734dfeb202a967609c99403f947;p=umurmur.git diff --git a/src/ban.h b/src/ban.h index dbc97d3..a8e6532 100644 --- a/src/ban.h +++ b/src/ban.h @@ -1,5 +1,5 @@ -/* Copyright (C) 2009-2011, Martin Johansson - Copyright (C) 2005-2011, Thorvald Natvig +/* Copyright (C) 2009-2014, Martin Johansson + Copyright (C) 2005-2014, Thorvald Natvig All rights reserved. @@ -37,17 +37,25 @@ #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