1 |
/* Include file for data local to the NickServ module. |
2 |
* |
3 |
* IRC Services is copyright (c) 1996-2009 Andrew Church. |
4 |
* E-mail: <achurch@achurch.org> |
5 |
* Parts written by Andrew Kempe and others. |
6 |
* This program is free but copyrighted software; see the file GPL.txt for |
7 |
* details. |
8 |
*/ |
9 |
|
10 |
#ifndef NS_LOCAL_H |
11 |
#define NS_LOCAL_H |
12 |
|
13 |
/*************************************************************************/ |
14 |
/*************************************************************************/ |
15 |
|
16 |
/* User-configurable settings: */ |
17 |
|
18 |
|
19 |
/* Maximum number of tries to randomly select a new NickGroupInfo ID before |
20 |
* giving up. Assuming a sufficiently random random-number generator and a |
21 |
* database of one million nicknames, the default setting of 1000 gives |
22 |
* odds of approximately 10^3600 to 1 against an accidental failure. */ |
23 |
|
24 |
#define NEWNICKGROUP_TRIES 1000 |
25 |
|
26 |
|
27 |
/* Number of DROPEMAIL commands to buffer for DROPEMAIL-CONFIRM. */ |
28 |
|
29 |
#define DROPEMAIL_BUFSIZE 4 |
30 |
|
31 |
/*************************************************************************/ |
32 |
/*************************************************************************/ |
33 |
|
34 |
#define TO_COLLIDE 0 /* Collide the user with this nick */ |
35 |
#define TO_RELEASE 1 /* Release a collided nick */ |
36 |
#define TO_SEND_433 2 /* Send a 433 numeric */ |
37 |
|
38 |
/*************************************************************************/ |
39 |
|
40 |
/* External declarations: */ |
41 |
|
42 |
|
43 |
/**** collide.c ****/ |
44 |
|
45 |
E void introduce_enforcer(NickInfo *ni); |
46 |
E void collide_nick(NickInfo *ni, int from_timeout); |
47 |
E void release_nick(NickInfo *ni, int from_timeout); |
48 |
E void add_ns_timeout(NickInfo *ni, int type, time_t delay); |
49 |
E void rem_ns_timeout(NickInfo *ni, int type, int del_to); |
50 |
E int init_collide(void); |
51 |
E void exit_collide(void); |
52 |
|
53 |
|
54 |
/**** main.c ****/ |
55 |
|
56 |
E int cb_reglink_check; |
57 |
|
58 |
E char * s_NickServ; |
59 |
E int32 NSRegEmailMax; |
60 |
E int NSRequireEmail; |
61 |
E int NSRegDenyIfSuspended; |
62 |
E time_t NSRegDelay; |
63 |
E time_t NSInitialRegDelay; |
64 |
E time_t NSSetEmailDelay; |
65 |
E int32 NSDefFlags; |
66 |
E time_t NSExpire; |
67 |
E time_t NSExpireWarning; |
68 |
E int NSShowPassword; |
69 |
E char * NSEnforcerUser; |
70 |
E char * NSEnforcerHost; |
71 |
E int NSForceNickChange; |
72 |
E time_t NSReleaseTimeout; |
73 |
E int NSAllowKillImmed; |
74 |
E int NSListOpersOnly; |
75 |
E int NSSecureAdmins; |
76 |
E time_t NSSuspendExpire; |
77 |
E time_t NSSuspendGrace; |
78 |
|
79 |
|
80 |
/**** set.c ****/ |
81 |
|
82 |
/* Avoid conflicts with chanserv/set.c */ |
83 |
#define do_set do_set_ns |
84 |
#define do_unset do_unset_ns |
85 |
#define init_set init_set_ns |
86 |
#define exit_set exit_set_ns |
87 |
|
88 |
E void do_set(User *u); |
89 |
E void do_unset(User *u); |
90 |
E int init_set(void); |
91 |
E void exit_set(void); |
92 |
|
93 |
|
94 |
/**** util.c ****/ |
95 |
|
96 |
/* Avoid conflicts with chanserv/util.c */ |
97 |
#define init_util init_util_ns |
98 |
#define exit_util exit_util_ns |
99 |
|
100 |
E int reglink_check(User *u, const char *nick, char *password, char *email); |
101 |
E void update_userinfo(const User *u); |
102 |
E int validate_user(User *u); |
103 |
E void cancel_user(User *u); |
104 |
E void set_identified(User *u); |
105 |
|
106 |
E NickInfo *makenick(const char *nick, NickGroupInfo **nickgroup_ret); |
107 |
E int delnick(NickInfo *ni); |
108 |
E int delgroup(NickGroupInfo *ngi); |
109 |
E int drop_nickgroup(NickGroupInfo *ngi, const User *u, const char *dropemail); |
110 |
E void suspend_nick(NickGroupInfo *ngi, const char *reason, |
111 |
const char *who, const time_t expires); |
112 |
E void unsuspend_nick(NickGroupInfo *ngi, int set_time); |
113 |
|
114 |
E int nick_check_password(User *u, NickInfo *ni, const char *password, |
115 |
const char *command, int failure_msg); |
116 |
E int count_nicks_with_email(const char *email); |
117 |
|
118 |
E int init_util(void); |
119 |
E void exit_util(void); |
120 |
|
121 |
|
122 |
/*************************************************************************/ |
123 |
|
124 |
#endif |
125 |
|
126 |
/* |
127 |
* Local variables: |
128 |
* c-file-style: "stroustrup" |
129 |
* c-file-offsets: ((case-label . *) (statement-case-intro . *)) |
130 |
* indent-tabs-mode: nil |
131 |
* End: |
132 |
* |
133 |
* vim: expandtab shiftwidth=4: |
134 |
*/ |