2 * Copyright (c) 2011-2013 Todd C. Miller <Todd.Miller@courtesan.com>
4 * Permission to use, copy, modify, and distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18 * Major sudoers grammar changes are documented here.
19 * Note that minor changes such as added Defaults options are not listed here.
20 * This file placed in the public domain by Todd C. Miller on Apr 5, 2011.
23 * 2 sudo 1.3, adds support specifying a directory instead of a command.
24 * 3 sudo 1.3.2, new parser, Aliases have to be upper case
25 * 4 sudo 1.3.2, adds User_Alias
26 * 5 sudo 1.3.4, netgroup support
27 * 6 sudo 1.3.5, support for escaping special chars
28 * 7 sudo 1.3.7, unix group support
29 * 8 sudo 1.4.1, wildcard support
30 * 9 sudo 1.4.2, double quote support in sudoers command line args
31 * 10 sudo 1.4.3, added NOPASSWD tag
32 * 11 sudo 1.4.3, added Runas_Spec
33 * 12 sudo 1.4.3, wildcards may be used in the pathname
34 * 13 sudo 1.4.3, command args of "" means no args allowed
35 * 14 sudo 1.4.4, '(' in command args no longer are a syntax error.
36 * 15 sudo 1.4.4, '!command' works in the presence of runas user or NOPASSWD.
37 * 16 sudo 1.4.4, all-caps user and host names are now handled properly.
38 * 17 sudo 1.5.0, usernames may now begin with a digit
39 * 18 sudo 1.5.3, adds Runas_Alias
40 * 19 sudo 1.5.7, %group may be used in a Runas_List
41 * 20 sudo 1.6.0, The runas user and NOPASSWD tags are now persistent across entries in a command list. A PASSWD tag has been added to reverse NOPASSWD
42 * 21 sudo 1.6.0, The '!' operator can be used in a Runas_Spec or an *_Alias
43 * 22 sudo 1.6.0, a list of hosts may be used in a Host_Spec
44 * 23 sudo 1.6.0, a list of users may be used in a User_Spec
45 * 24 sudo 1.6.0, It is now possible to escape "special" characters in usernames, hostnames, etc with a backslash.
46 * 25 sudo 1.6.0, Added Defaults run-time settings in sudoers.
47 * 26 sudo 1.6.0, relaxed the regexp for matching user, host, group names.
48 * 27 sudo 1.6.1, #uid is now allowed in a Runas_Alias.
49 * 28 sudo 1.6.2, Wildcards are now allowed in hostnames.
50 * 29 sudo 1.6.3p7, escaped special characters may be included in pathnames.
51 * 30 sudo 1.6.8, added NOEXEC and EXEC tags.
52 * 31 sudo 1.6.9, added SETENV and NOSETENV tags.
53 * 32 sudo 1.6.9p4, support for IPv6 address matching.
54 * 33 sudo 1.7.0, #include support.
55 * 34 sudo 1.7.0, Runas_Group support.
56 * 35 sudo 1.7.0, uid may now be used anywhere a username is valid.
57 * 36 sudo 1.7.2, #includedir support.
58 * 37 sudo 1.7.4, per-command Defaults support.
59 * 38 sudo 1.7.4, added LOG_INPUT/LOG_OUTPUT and NOLOG_INPUT/NOLOG_OUTPUT tags
60 * 39 sudo 1.7.6/1.8.1, White space is now permitted within a User_List in a per-user Defaults definition.
61 * 40 sudo 1.7.6/1.8.1, A group ID is now allowed in a User_List or Runas_List.
62 * 41 sudo 1.7.6/1.8.4, Support for relative paths in #include and #includedir
63 * 42 sudo 1.8.6, Support for empty Runas_List (with or without a colon) to mean the invoking user. Support for Solaris Privilege Sets (PRIVS= and LIMITPRIVS=).
64 * 43 sudo 1.8.7, Support for specifying a digest along with the command.
67 #ifndef _SUDOERS_VERSION_H
68 #define _SUDOERS_VERSION_H
70 #define SUDOERS_GRAMMAR_VERSION 43
72 #endif /* _SUDOERS_VERSION_H */