OpenBSD CVS

CVS log for src/usr.bin/doas/parse.y


[BACK] Up to [local] / src / usr.bin / doas

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.31 / (download) - annotate - [select for diffs], Tue Mar 22 20:36:49 2022 UTC (2 years, 1 month ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5, OPENBSD_7_4_BASE, OPENBSD_7_4, OPENBSD_7_3_BASE, OPENBSD_7_3, OPENBSD_7_2_BASE, OPENBSD_7_2, OPENBSD_7_1_BASE, OPENBSD_7_1, HEAD
Changes since 1.30: +3 -1 lines
Diff to previous 1.30 (colored)

minor KNF cleanups during a re-read

Revision 1.30 / (download) - annotate - [select for diffs], Tue Nov 30 20:08:15 2021 UTC (2 years, 5 months ago) by tobias
Branch: MAIN
Changes since 1.29: +21 -16 lines
Diff to previous 1.29 (colored)

Improved error handling in config parser.

- Escaped newlines confused column counter
- An unclosed quote could have been logged multiple times
- Signed data types could overflow, which is undefined behavior

ok tedu

Revision 1.29 / (download) - annotate - [select for diffs], Wed Jan 27 17:02:50 2021 UTC (3 years, 3 months ago) by millert
Branch: MAIN
CVS Tags: OPENBSD_7_0_BASE, OPENBSD_7_0, OPENBSD_6_9_BASE, OPENBSD_6_9
Changes since 1.28: +10 -9 lines
Diff to previous 1.28 (colored)

Promote nrules/maxrules to size_t and make sure they can't overflow.
reallocarray(3) will fail if nmemb * size would overflow.
OK tb@ martijn@

Revision 1.28 / (download) - annotate - [select for diffs], Fri Oct 9 07:43:38 2020 UTC (3 years, 7 months ago) by kn
Branch: MAIN
Changes since 1.27: +6 -2 lines
Diff to previous 1.27 (colored)

Add nolog option to avoid syslog(3)

doas(1) unconditionally logs all executions but syslog.conf(5) provides no
means to filter messages by user, target or command.

Add the "nolog" option to doas.conf(5) such that syslog becomes an opt-out
feature;  this keeps configuration simple enough yet powerful since rule
definition is the best place to decide whether to log commands or not on a
per rule basis - this also aoids duplicating information or logic in any
other log processing tool.

OK tedu martijn

Revision 1.27 / (download) - annotate - [select for diffs], Wed Jul 11 07:39:22 2018 UTC (5 years, 10 months ago) by krw
Branch: MAIN
CVS Tags: OPENBSD_6_8_BASE, OPENBSD_6_8, OPENBSD_6_7_BASE, OPENBSD_6_7, OPENBSD_6_6_BASE, OPENBSD_6_6, OPENBSD_6_5_BASE, OPENBSD_6_5, OPENBSD_6_4_BASE, OPENBSD_6_4
Changes since 1.26: +2 -2 lines
Diff to previous 1.26 (colored)

Do for most running out of memory err() what was done for most running
out of memory log_warn(). i.e. ("%s", __func__) instead of manual
function names and redundant verbiage about which wrapper detected the
out of memory condition.

ok henning@

Revision 1.26 / (download) - annotate - [select for diffs], Mon Jan 2 01:40:20 2017 UTC (7 years, 4 months ago) by tedu
Branch: MAIN
CVS Tags: OPENBSD_6_3_BASE, OPENBSD_6_3, OPENBSD_6_2_BASE, OPENBSD_6_2, OPENBSD_6_1_BASE, OPENBSD_6_1
Changes since 1.25: +15 -26 lines
Diff to previous 1.25 (colored)

envlist and arglist are both string lists; simplify
ok benno

Revision 1.25 / (download) - annotate - [select for diffs], Thu Dec 29 19:12:42 2016 UTC (7 years, 4 months ago) by tedu
Branch: MAIN
Changes since 1.24: +1 -9 lines
Diff to previous 1.24 (colored)

it has been six months and two days... remove keepenv { obsolete } syntax

Revision 1.24 / (download) - annotate - [select for diffs], Thu Nov 10 16:00:40 2016 UTC (7 years, 6 months ago) by tedu
Branch: MAIN
Changes since 1.23: +2 -2 lines
Diff to previous 1.23 (colored)

missing semicolon at end of rule. yacc doesn't seem to mind, though.
from Edakawa

Revision 1.23 / (download) - annotate - [select for diffs], Wed Oct 5 17:36:53 2016 UTC (7 years, 7 months ago) by tedu
Branch: MAIN
Changes since 1.22: +13 -1 lines
Diff to previous 1.22 (colored)

as a result of the env rework, arraylen() is only used in parse.y.
move it there and make it static.

Revision 1.22 / (download) - annotate - [select for diffs], Thu Sep 15 00:58:23 2016 UTC (7 years, 8 months ago) by deraadt
Branch: MAIN
Changes since 1.21: +8 -7 lines
Diff to previous 1.21 (colored)

use static in the right places to seperate modules better
ok tedu

Revision 1.21 / (download) - annotate - [select for diffs], Sun Sep 4 15:11:13 2016 UTC (7 years, 8 months ago) by tedu
Branch: MAIN
Changes since 1.20: +5 -1 lines
Diff to previous 1.20 (colored)

don't allow combining nopass and persist in a single rule

Revision 1.20 / (download) - annotate - [select for diffs], Fri Sep 2 18:12:30 2016 UTC (7 years, 8 months ago) by tedu
Branch: MAIN
Changes since 1.19: +6 -2 lines
Diff to previous 1.19 (colored)

add support for the verified auth ioctls using 'persist' rules.
ok deraadt henning

Revision 1.19 / (download) - annotate - [select for diffs], Mon Jun 27 15:41:17 2016 UTC (7 years, 10 months ago) by tedu
Branch: MAIN
CVS Tags: OPENBSD_6_0_BASE, OPENBSD_6_0
Changes since 1.18: +21 -6 lines
Diff to previous 1.18 (colored)

revise environment handling.
Add a setenv keyword for manipulating the environment. keepenv now means
only retain everything. (for one release, the old use of keepenv will still
work.)
Allow setting variables to new or existing values, and also removing vars
when keepenv is used.
ok djm martijn tb

Revision 1.18 / (download) - annotate - [select for diffs], Tue Jun 7 16:49:23 2016 UTC (7 years, 11 months ago) by tedu
Branch: MAIN
Changes since 1.17: +2 -21 lines
Diff to previous 1.17 (colored)

revert recent changes to allow setenv. everybody now has an idea about
how to do things better, so let's take a step back and reconsider.

Revision 1.17 / (download) - annotate - [select for diffs], Tue Jun 7 14:11:16 2016 UTC (7 years, 11 months ago) by tedu
Branch: MAIN
Changes since 1.16: +8 -29 lines
Diff to previous 1.16 (colored)

merge setenv feature into keepenv. less grammar, more better.
minimal changes to implementation for now, but some refinement to the way
in which the new environment is constructed would be nice.
ok djm

Revision 1.16 / (download) - annotate - [select for diffs], Sun Jun 5 00:46:34 2016 UTC (7 years, 11 months ago) by djm
Branch: MAIN
Changes since 1.15: +42 -2 lines
Diff to previous 1.15 (colored)

add a doas.conf setenv directive that allows setting environment
variables explicitly and by copying existing environment variables
of a different name. E.g.

permit nopass setenv { PS1=$SUDO_PS1 FOO=bar } keepenv :wheel

ok tedu@ benno@

Revision 1.15 / (download) - annotate - [select for diffs], Wed Apr 27 02:35:55 2016 UTC (8 years ago) by gsoares
Branch: MAIN
Changes since 1.14: +2 -1 lines
Diff to previous 1.14 (colored)

adjust yyerror() to precede with "progname: " the error message string
OK tedu@ phessler@

Revision 1.14 / (download) - annotate - [select for diffs], Fri Dec 4 09:41:49 2015 UTC (8 years, 5 months ago) by tedu
Branch: MAIN
CVS Tags: OPENBSD_5_9_BASE, OPENBSD_5_9
Changes since 1.13: +9 -4 lines
Diff to previous 1.13 (colored)

espie reminds me that EOF can happen for errors as well, so check for that
happening and print a message.

Revision 1.13 / (download) - annotate - [select for diffs], Fri Nov 27 21:10:17 2015 UTC (8 years, 5 months ago) by tedu
Branch: MAIN
Changes since 1.12: +4 -2 lines
Diff to previous 1.12 (colored)

after reading a too long line, restart at the beginning of the buffer so
we don't keep writing past the end. (the perils of trying to recover from
parse errors.)
noticed by Jan Schreiber

Revision 1.12 / (download) - annotate - [select for diffs], Tue Sep 1 16:20:55 2015 UTC (8 years, 8 months ago) by mikeb
Branch: MAIN
Changes since 1.11: +3 -1 lines
Diff to previous 1.11 (colored)

increment the line number after the line continuation; ok tedu

Revision 1.11 / (download) - annotate - [select for diffs], Tue Jul 28 21:36:03 2015 UTC (8 years, 9 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_5_8_BASE, OPENBSD_5_8
Changes since 1.10: +8 -5 lines
Diff to previous 1.10 (colored)

wrap some exceedingly long lines

Revision 1.10 / (download) - annotate - [select for diffs], Fri Jul 24 06:36:42 2015 UTC (8 years, 9 months ago) by zhuk
Branch: MAIN
Changes since 1.9: +31 -25 lines
Diff to previous 1.9 (colored)

Further improve syntax error reporting in doas:

  - teach parser to recover after error, allowing to report many errors
    instead of the first one only;
  - fix remaining error printouts without exact position.

Some ideas were taken from diff sent by dlg@ earlier, thanks!

okay tedu@, dlg@

Revision 1.9 / (download) - annotate - [select for diffs], Wed Jul 22 20:15:24 2015 UTC (8 years, 9 months ago) by zhuk
Branch: MAIN
Changes since 1.8: +86 -31 lines
Diff to previous 1.8 (colored)

Implement quoting support in doas.conf. Now you can pass environment
variables and arguments with almost any values.

As a bonus, doas will now point to exact place where syntax error occured
most of times; there is some room for improvement, though.

okay tedu@

Revision 1.8 / (download) - annotate - [select for diffs], Tue Jul 21 16:12:04 2015 UTC (8 years, 10 months ago) by tedu
Branch: MAIN
Changes since 1.7: +21 -21 lines
Diff to previous 1.7 (colored)

cases should line up with switch, from Dimitris Papastamos

Revision 1.7 / (download) - annotate - [select for diffs], Tue Jul 21 11:04:06 2015 UTC (8 years, 10 months ago) by zhuk
Branch: MAIN
Changes since 1.6: +29 -6 lines
Diff to previous 1.6 (colored)

Add argument matching support to doas.

Input and generic support from many. Final okay from tedu@.

Revision 1.6 / (download) - annotate - [select for diffs], Sun Jul 19 22:11:41 2015 UTC (8 years, 10 months ago) by benno
Branch: MAIN
Changes since 1.5: +6 -4 lines
Diff to previous 1.5 (colored)

wrap long lines and kill some whitespace

Revision 1.5 / (download) - annotate - [select for diffs], Sun Jul 19 22:09:08 2015 UTC (8 years, 10 months ago) by benno
Branch: MAIN
Changes since 1.4: +13 -4 lines
Diff to previous 1.4 (colored)

In the config file allow line continuations with backslashes.
Document this, and comments and environment variables.
ok tedu@

Revision 1.4 / (download) - annotate - [select for diffs], Thu Jul 16 23:02:56 2015 UTC (8 years, 10 months ago) by nicm
Branch: MAIN
Changes since 1.3: +6 -6 lines
Diff to previous 1.3 (colored)

Prototype yy* functions, and use verrx in yyerror(). ok tedu

Revision 1.3 / (download) - annotate - [select for diffs], Thu Jul 16 22:33:01 2015 UTC (8 years, 10 months ago) by zhuk
Branch: MAIN
Changes since 1.2: +13 -8 lines
Diff to previous 1.2 (colored)

Allow (almost) any non-space character to be a part of "word" in doas.conf.
This allows weird commands like /bin/echo to be used for real. No command
arguments handling yet, though, as well as quoting.

okay tedu@

Revision 1.2 / (download) - annotate - [select for diffs], Thu Jul 16 22:11:01 2015 UTC (8 years, 10 months ago) by nicm
Branch: MAIN
Changes since 1.1: +3 -1 lines
Diff to previous 1.1 (colored)

Missing reallocarray check in doas.c (ok tedu) and a calloc in parse.y
as well.

Revision 1.1 / (download) - annotate - [select for diffs], Thu Jul 16 20:44:21 2015 UTC (8 years, 10 months ago) by tedu
Branch: MAIN

import doas. still subject to changes, large and small.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.