init(8): set environment variables from the "daemon" class as well

Specifically, when running /etc/rc. This allows one to specify via
login.conf(5) an environment that should be used when running services to
ease, e.g., setting up env vars for an HTTP proxy consistently across cron
and services alike.

Future changes will extend cron(8)/service(8) to use environment vars
pecified in login.conf(5) as well to promote a more cohesive experience.

This is a part of D21481.

Submitted by:	Andrew Gierth <andrew_tao173.riddles.org.uk>
This commit is contained in:
Kyle Evans 2020-02-05 04:27:44 +00:00
parent ed6f64ff8a
commit 21c1a93c04
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=357562

View File

@ -2053,6 +2053,7 @@ setprocresources(const char *cname)
login_cap_t *lc; login_cap_t *lc;
if ((lc = login_getclassbyname(cname, NULL)) != NULL) { if ((lc = login_getclassbyname(cname, NULL)) != NULL) {
setusercontext(lc, (struct passwd*)NULL, 0, setusercontext(lc, (struct passwd*)NULL, 0,
LOGIN_SETENV |
LOGIN_SETPRIORITY | LOGIN_SETRESOURCES | LOGIN_SETPRIORITY | LOGIN_SETRESOURCES |
LOGIN_SETLOGINCLASS | LOGIN_SETCPUMASK); LOGIN_SETLOGINCLASS | LOGIN_SETCPUMASK);
login_close(lc); login_close(lc);