ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/include/auth.h
Revision: 8431
Committed: Tue Mar 27 18:49:15 2018 UTC (7 years, 5 months ago) by michael
Content type: text/x-chdr
File size: 2178 byte(s)
Log Message:
- Stylistic changes

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 8279 * Copyright (c) 1997-2018 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 michael 4565 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
19 adx 30 * USA
20     */
21    
22 michael 3324 /*! \file auth.h
23 michael 8306 * \brief Interface for DNS and ident lookups.
24 michael 2865 * \version $Id$
25     */
26    
27 michael 6345 #ifndef INCLUDED_auth_h
28     #define INCLUDED_auth_h
29 adx 30
30 michael 6347 enum { RFC1413_BUFSIZ = 512 }; /**< rfc1413 says we MUST accept 512 bytes */
31     enum { RFC1413_PORT = 113 }; /**< As defined per rfc1413, IDENT server listens on TCP port 113 */
32 adx 30
33 michael 6315 enum
34     {
35 michael 8431 AM_DOING_AUTH = 1 << 0,
36     AM_DNS_PENDING = 1 << 1
37 michael 6315 };
38 michael 4309
39 adx 30 #define SetDNSPending(x) ((x)->flags |= AM_DNS_PENDING)
40     #define ClearDNSPending(x) ((x)->flags &= ~AM_DNS_PENDING)
41     #define IsDNSPending(x) ((x)->flags & AM_DNS_PENDING)
42    
43     #define SetDoingAuth(x) ((x)->flags |= AM_DOING_AUTH)
44     #define ClearAuth(x) ((x)->flags &= ~AM_DOING_AUTH)
45     #define IsDoingAuth(x) ((x)->flags & AM_DOING_AUTH)
46    
47 michael 1798 struct Client;
48    
49 michael 4309 /** Stores state of the DNS and RFC 1413 ident lookups for a client. */
50 michael 1798 struct AuthRequest
51     {
52 michael 4445 dlink_node node; /**< Doubly linked list node. */
53     unsigned int flags; /**< Current state of request. */
54     struct Client *client; /**< Pointer to Client structure for request. */
55 michael 8339 fde_t *fd; /**< File descriptor for identd queries. */
56 michael 7330 uintmax_t timeout; /**< Time when query expires. */
57 michael 1798 };
58    
59     extern void auth_init(void);
60 michael 7955 extern void auth_start(struct Client *);
61     extern void auth_delete(struct AuthRequest *);
62 michael 4309 #endif

Properties

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