Global update of doas utility with breaking backwards compatibility.
commit56f0f9bfd3431d28980aab69abd0a5db1bef54bf
authorSerge <sergeysushilin@protonmail.com>
Mon, 1 Nov 2021 04:09:04 +0000 (1 04:09 +0000)
committerSerge <sergeysushilin@protonmail.com>
Mon, 1 Nov 2021 04:09:04 +0000 (1 04:09 +0000)
tree2e15e2e33718c2143a2e10e46c36193650c06a46
parent3b7c2c26c8c3731f2358fc69e197a88e910b4883
Global update of doas utility with breaking backwards compatibility.

attribute.h:
  New header, which allows use gcc's and clang's attributes
  when they are available.

compat.h:
  Moved from compat/compat.h and now contains much more
  different compatibility code.

compat/*.c:
  Just little modifications.

doas.c:
  Add new -c option (see doas(1)).  Too much refactored.

env.c:
  Add action field in struct envnode which explains which action
  will be applied to the environ this struct contains.
  Also too must refactored.

parse.y:
  Add new keywords: inheritenv, unsetenv, execute and "..." (ellipsis).
  Usage of keepenv keyword a bit changed.
  Also now you can specify how many seconds you prefer to persist after
  last password authentication.
  Add string lists which allow to do not rewrite same rule many times and
  allow to permit user to execute some different commands in one rule.

scan.l:
  New file.  Lex description for the doas's lexer for parser.
  The hand-written one will be removed someday or rewritten to be
  more readable and reliable.

rule.h:
  New header which contains the description of the struct rule.

timestamp.c:
  Add support for FreeBSD.  Use *at() functions for more safety.

wrappers.h:
  New header which contains wrappers for some of the functions.

yystype.h:
  New header which contains struct yystype description for parse.y
  and scan.l
55 files changed:
.dir-locals.el [new file with mode: 0644]
LICENSE
Makefile
README.md
attributes.h [new file with mode: 0644]
bsd-auth.c [new file with mode: 0644]
compat.h [new file with mode: 0644]
compat/bsd-closefrom.c
compat/closefrom.c
compat/compat.h [deleted file]
compat/errc.c
compat/execvpe.c
compat/explicit_bzero.c [new file with mode: 0644]
compat/full-rw.c [new file with mode: 0644]
compat/getprogname.c
compat/pam.conf.linux [new file with mode: 0644]
compat/pm_pam_conv.c
compat/pm_pam_conv.h
compat/readpassphrase.c [new file with mode: 0644]
compat/readpassphrase.h [new file with mode: 0644]
compat/reallocarray.c
compat/setprogname.c
compat/setresuid.c
compat/strchrnul.c [new file with mode: 0644]
compat/strlcat.c
compat/strlcpy.c
compat/strtonum.c
compat/strtotyp.c [copied from compat/strtonum.c with 66% similarity]
compat/strtounum.c [new file with mode: 0644]
compat/sys/time.h [copied from compat/errc.c with 62% similarity]
compat/sys/tree.h
compat/verrc.c
compat/vwarnc.c [new file with mode: 0644]
compat/warnc.c [new file with mode: 0644]
doas.1
doas.c
doas.conf.5
doas.conf.sample
doas.h [deleted file]
env.c
env.h [new file with mode: 0644]
pam.c [new file with mode: 0644]
parse.y
rule.h [new file with mode: 0644]
scan.l [new file with mode: 0644]
shadow.c [new file with mode: 0644]
timestamp.c [new file with mode: 0644]
timestamp.h [copied from compat/getprogname.c with 73% similarity]
token-table.awk [new file with mode: 0644]
token-table.def [new file with mode: 0644]
token-table.gperf.in [new file with mode: 0644]
vidoas.8
vidoas.sh [moved from vidoas with 100% similarity]
wrappers.h [new file with mode: 0644]
yystype.h [new file with mode: 0644]