ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/vendor/ircservices-5.1.24/modules/nickserv/ns-local.h
Revision: 3389
Committed: Fri Apr 25 14:12:15 2014 UTC (11 years, 4 months ago) by michael
Content type: text/x-chdr
File size: 3841 byte(s)
Log Message:
- Imported ircservices-5.1.24

File Contents

# Content
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 */