]> jfr.im git - irc/quakenet/newserv.git/blob - trusts/trusts_api.c
Merge default.
[irc/quakenet/newserv.git] / trusts / trusts_api.c
1 #include <stdio.h>
2 #include <../nick/nick.h>
3 #include "../irc/irc.h"
4 #include "trusts.h"
5
6 int istrusted(nick *np) {
7 return gettrusthost(np) != NULL;
8 }
9
10 int trustgline(trustgroup *tg, const char *ident, int duration, const char *reason) {
11 trusthost *th;
12 int count = 0;
13
14 for(th=tg->hosts;th;th=th->next) {
15 char *cidrstr = trusts_cidr2str(&th->ip, th->bits);
16 irc_send("%s GL * +%s@%s %d %jd :%s", mynumeric->content, ident, cidrstr, duration, (intmax_t)getnettime(), reason);
17 count++;
18 }
19
20 return count;
21 }
22
23 int trustungline(trustgroup *tg, const char *ident, int duration, const char *reason) {
24 trusthost *th;
25 int count = 0;
26
27 for(th=tg->hosts;th;th=th->next) {
28 char *cidrstr = trusts_cidr2str(&th->ip, th->bits);
29 irc_send("%s GL * +%s@%s %d %jd :%s", mynumeric->content, ident, cidrstr, duration, (intmax_t)getnettime(), reason);
30 count++;
31 }
32
33 return count;
34 }
35
36 unsigned char getnodebits(struct irc_in_addr *ip) {
37 trusthost *th;
38
39 th = th_getbyhost(ip);
40
41 if(th)
42 return th->nodebits;
43
44 if(irc_in_addr_is_ipv4(ip))
45 return 128;
46 else
47 return 64;
48 }