X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=src%2Fban.h;fp=src%2Fban.h;h=dbc97d3f3020d9a475bcc1b3db9b310acb8ae8fb;hb=1f6407aa1a69c734dfeb202a967609c99403f947;hp=0000000000000000000000000000000000000000;hpb=4f5079fe2b925b52a21162267614f4f5ed8f5a6b;p=umurmur.git diff --git a/src/ban.h b/src/ban.h new file mode 100644 index 0000000..dbc97d3 --- /dev/null +++ b/src/ban.h @@ -0,0 +1,53 @@ +/* Copyright (C) 2009-2011, Martin Johansson + Copyright (C) 2005-2011, Thorvald Natvig + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + - Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + - Neither the name of the Developers nor the names of its contributors may + be used to endorse or promote products derived from this software without + specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef BAN_H_679468247 +#define BAN_H_679468247 + +#include "client.h" +#include "list.h" +#include "timer.h" + +typedef struct { + uint8_t hash[20]; + in_addr_t address; + char *reason; + char *name; + etimer_t startTime; + struct dlist node; +} 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); + +#endif