xref: /freebsd/lib/libpam/modules/pam_login_access/pam_login_access.h (revision b3e7694832e81d7a904a10f525f8797b753bf0d3)
1ac569969SMark Murray /*-
25e53a4f9SPedro F. Giffuni  * SPDX-License-Identifier: BSD-3-Clause
35e53a4f9SPedro F. Giffuni  *
4ac569969SMark Murray  * Copyright (c) 2001 Mark R V Murray
5ac569969SMark Murray  * All rights reserved.
6f03a4b81SDag-Erling Smørgrav  * Copyright (c) 2001 Networks Associates Technology, Inc.
7ac569969SMark Murray  * All rights reserved.
8ac569969SMark Murray  *
9ac569969SMark Murray  * Portions of this software were developed for the FreeBSD Project by
10ac569969SMark Murray  * ThinkSec AS and NAI Labs, the Security Research Division of Network
11ac569969SMark Murray  * Associates, Inc.  under DARPA/SPAWAR contract N66001-01-C-8035
12ac569969SMark Murray  * ("CBOSS"), as part of the DARPA CHATS research program.
13ac569969SMark Murray  *
14ac569969SMark Murray  * Redistribution and use in source and binary forms, with or without
15ac569969SMark Murray  * modification, are permitted provided that the following conditions
16ac569969SMark Murray  * are met:
17ac569969SMark Murray  * 1. Redistributions of source code must retain the above copyright
18ac569969SMark Murray  *    notice, this list of conditions and the following disclaimer.
19ac569969SMark Murray  * 2. Redistributions in binary form must reproduce the above copyright
20ac569969SMark Murray  *    notice, this list of conditions and the following disclaimer in the
21ac569969SMark Murray  *    documentation and/or other materials provided with the distribution.
22ac569969SMark Murray  * 3. The name of the author may not be used to endorse or promote
23ac569969SMark Murray  *    products derived from this software without specific prior written
24ac569969SMark Murray  *    permission.
25ac569969SMark Murray  *
26ac569969SMark Murray  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
27ac569969SMark Murray  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28ac569969SMark Murray  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
29ac569969SMark Murray  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
30ac569969SMark Murray  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
31ac569969SMark Murray  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
32ac569969SMark Murray  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
33ac569969SMark Murray  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
34ac569969SMark Murray  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
35ac569969SMark Murray  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
36ac569969SMark Murray  * SUCH DAMAGE.
37ac569969SMark Murray  */
38ac569969SMark Murray 
39*e8c4b9d4SCy Schubert #include <stdbool.h>
40*e8c4b9d4SCy Schubert 
41*e8c4b9d4SCy Schubert struct pam_login_access_options {
42*e8c4b9d4SCy Schubert 	bool		defgroup;
43*e8c4b9d4SCy Schubert 	bool		audit;
44*e8c4b9d4SCy Schubert 	const char	*accessfile;
45*e8c4b9d4SCy Schubert 	/* Delimiters for fields and for lists of users, ttys or hosts. */
46*e8c4b9d4SCy Schubert 	const char	*fieldsep; /* field separator */
47*e8c4b9d4SCy Schubert 	const char	*listsep; /* list-element separator */
48*e8c4b9d4SCy Schubert };
49*e8c4b9d4SCy Schubert 
50*e8c4b9d4SCy Schubert extern int login_access(const char *, const char *, struct pam_login_access_options *);
51