History log of /openbsd-current/usr.bin/doas/env.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.10 07-Jul-2019 tedu

fix one last edge case regarding PATH, allows simpler config.


# 1.9 17-Jun-2019 tedu

setusercontext resets PATH (which we want). but then it becomes
impossible to access the old PATH. save a copy in case we need it later.
bug report from espie.


# 1.8 17-Jun-2019 tedu

always reset the "su" variables, which is more consistent and predictable.
ok martijn millert


# 1.7 16-Jun-2019 tedu

redo the environment inheritance to not inherit. it was intended to make
life easier, but it can be surprising or even unsafe. instead, reset just
about everything to the target user's values.
ok deraadt martijn
Thanks to Sander Bos in particular for pointing out some nasty edge cases.


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.6 06-Apr-2017 tedu

prepenv can take a const rule


Revision tags: OPENBSD_6_1_BASE
# 1.5 15-Sep-2016 deraadt

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


Revision tags: OPENBSD_6_0_BASE
# 1.4 10-Jul-2016 tedu

rename variable for consistency


# 1.3 27-Jun-2016 tedu

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


# 1.2 19-Jun-2016 martijn

Move the RB_ code from doas.h to env.c, and limit the environment interface to a
simple prepenv function.

OK tedu@


# 1.1 16-Jun-2016 tedu

the environment handling code was showing its age. just because environ
is a char** array doesn't mean we must exclusively operate on such.
convert to a red-black tree, manipulate as desired, then flatten to array.
potentially overkill for the current operations, but reading the tea leaves
i see that more manipulations are desired.
ok tb
(and some thought provoking disagreement from martijn)


# 1.9 17-Jun-2019 tedu

setusercontext resets PATH (which we want). but then it becomes
impossible to access the old PATH. save a copy in case we need it later.
bug report from espie.


# 1.8 17-Jun-2019 tedu

always reset the "su" variables, which is more consistent and predictable.
ok martijn millert


# 1.7 16-Jun-2019 tedu

redo the environment inheritance to not inherit. it was intended to make
life easier, but it can be surprising or even unsafe. instead, reset just
about everything to the target user's values.
ok deraadt martijn
Thanks to Sander Bos in particular for pointing out some nasty edge cases.


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.6 06-Apr-2017 tedu

prepenv can take a const rule


Revision tags: OPENBSD_6_1_BASE
# 1.5 15-Sep-2016 deraadt

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


Revision tags: OPENBSD_6_0_BASE
# 1.4 10-Jul-2016 tedu

rename variable for consistency


# 1.3 27-Jun-2016 tedu

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


# 1.2 19-Jun-2016 martijn

Move the RB_ code from doas.h to env.c, and limit the environment interface to a
simple prepenv function.

OK tedu@


# 1.1 16-Jun-2016 tedu

the environment handling code was showing its age. just because environ
is a char** array doesn't mean we must exclusively operate on such.
convert to a red-black tree, manipulate as desired, then flatten to array.
potentially overkill for the current operations, but reading the tea leaves
i see that more manipulations are desired.
ok tb
(and some thought provoking disagreement from martijn)


# 1.7 16-Jun-2019 tedu

redo the environment inheritance to not inherit. it was intended to make
life easier, but it can be surprising or even unsafe. instead, reset just
about everything to the target user's values.
ok deraadt martijn
Thanks to Sander Bos in particular for pointing out some nasty edge cases.


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.6 06-Apr-2017 tedu

prepenv can take a const rule


Revision tags: OPENBSD_6_1_BASE
# 1.5 15-Sep-2016 deraadt

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


Revision tags: OPENBSD_6_0_BASE
# 1.4 10-Jul-2016 tedu

rename variable for consistency


# 1.3 27-Jun-2016 tedu

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


# 1.2 19-Jun-2016 martijn

Move the RB_ code from doas.h to env.c, and limit the environment interface to a
simple prepenv function.

OK tedu@


# 1.1 16-Jun-2016 tedu

the environment handling code was showing its age. just because environ
is a char** array doesn't mean we must exclusively operate on such.
convert to a red-black tree, manipulate as desired, then flatten to array.
potentially overkill for the current operations, but reading the tea leaves
i see that more manipulations are desired.
ok tb
(and some thought provoking disagreement from martijn)


Revision tags: OPENBSD_6_2_BASE
# 1.6 06-Apr-2017 tedu

prepenv can take a const rule


Revision tags: OPENBSD_6_1_BASE
# 1.5 15-Sep-2016 deraadt

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


Revision tags: OPENBSD_6_0_BASE
# 1.4 10-Jul-2016 tedu

rename variable for consistency


# 1.3 27-Jun-2016 tedu

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


# 1.2 19-Jun-2016 martijn

Move the RB_ code from doas.h to env.c, and limit the environment interface to a
simple prepenv function.

OK tedu@


# 1.1 16-Jun-2016 tedu

the environment handling code was showing its age. just because environ
is a char** array doesn't mean we must exclusively operate on such.
convert to a red-black tree, manipulate as desired, then flatten to array.
potentially overkill for the current operations, but reading the tea leaves
i see that more manipulations are desired.
ok tb
(and some thought provoking disagreement from martijn)