ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/include/auth.h
Revision: 4309
Committed: Tue Jul 29 17:24:25 2014 UTC (11 years, 1 month ago) by michael
Content type: text/x-chdr
File size: 2395 byte(s)
Log Message:
- Backported auth code related cleanups from newio branch

File Contents

# User Rev Content
1 adx 30 /*
2 michael 2865 * ircd-hybrid: an advanced, lightweight Internet Relay Chat Daemon (ircd)
3 adx 30 *
4 michael 2865 * Copyright (c) 1997-2014 ircd-hybrid development team
5 adx 30 *
6     * This program is free software; you can redistribute it and/or modify
7     * it under the terms of the GNU General Public License as published by
8     * the Free Software Foundation; either version 2 of the License, or
9     * (at your option) any later version.
10     *
11     * This program is distributed in the hope that it will be useful,
12     * but WITHOUT ANY WARRANTY; without even the implied warranty of
13     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14     * GNU General Public License for more details.
15     *
16     * You should have received a copy of the GNU General Public License
17     * along with this program; if not, write to the Free Software
18     * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
19     * USA
20     */
21    
22 michael 3324 /*! \file auth.h
23 michael 2865 * \brief A header for the ident functions.
24     * \version $Id$
25     */
26    
27 adx 30 #ifndef INCLUDED_s_auth_h
28     #define INCLUDED_s_auth_h
29    
30 michael 4309 #define RFC1413_BUFSIZ 512 /*!< rfc1413 says we MUST accept 512 bytes */
31     #define RFC1413_PORT 113 /*!< As defined per rfc1413, IDENT server listens on TCP port 113 */
32 adx 30
33 michael 4309 #define AM_IN_AUTH 0x00000001U
34     #define AM_DOING_AUTH 0x00000002U
35     #define AM_DNS_PENDING 0x00000004U
36    
37 michael 2929 #define SetInAuth(x) ((x)->flags |= AM_IN_AUTH)
38     #define ClearInAuth(x) ((x)->flags &= ~AM_IN_AUTH)
39     #define IsInAuth(x) ((x)->flags & AM_IN_AUTH)
40    
41 adx 30 #define SetDNSPending(x) ((x)->flags |= AM_DNS_PENDING)
42     #define ClearDNSPending(x) ((x)->flags &= ~AM_DNS_PENDING)
43     #define IsDNSPending(x) ((x)->flags & AM_DNS_PENDING)
44    
45     #define SetDoingAuth(x) ((x)->flags |= AM_DOING_AUTH)
46     #define ClearAuth(x) ((x)->flags &= ~AM_DOING_AUTH)
47     #define IsDoingAuth(x) ((x)->flags & AM_DOING_AUTH)
48    
49 michael 1798 struct Client;
50    
51 michael 4309 /** Stores state of the DNS and RFC 1413 ident lookups for a client. */
52 michael 1798 struct AuthRequest
53     {
54 michael 4309 dlink_node node; /*!< auth_doing_list */
55     unsigned int flags; /*!< Current state of request */
56     struct Client *client; /*!< Pointer to Client structure for request */
57     fde_t fd; /*!< File descriptor for auth queries */
58     time_t timeout; /*!< Time when query expires */
59 michael 1798 };
60    
61     extern void auth_init(void);
62 michael 2181 extern void start_auth(struct Client *);
63 michael 992 extern void delete_auth(struct AuthRequest *);
64     extern void release_auth_client(struct AuthRequest *);
65 michael 4309 #endif

Properties

Name Value
svn:eol-style native
svn:keywords Id Revision