svn commit: r339369 - head/usr.sbin/pw
Yuri Pankov
yuripv at FreeBSD.org
Mon Oct 15 20:11:54 UTC 2018
Author: yuripv
Date: Mon Oct 15 20:11:53 2018
New Revision: 339369
URL: https://svnweb.freebsd.org/changeset/base/339369
Log:
pw: respect path specified using -V when writing pw.conf, and -C is not
explicitly specified. -V path is already used to determine which file
to read default values from, so it's only logical to write them to the
same file.
PR: 231653
Reviewed by: eugen, bapt
Approved by: re (gjb), kib (mentor)
Differential Revision: https://reviews.freebsd.org/D17566
Modified:
head/usr.sbin/pw/pw.h
head/usr.sbin/pw/pw_conf.c
head/usr.sbin/pw/pw_utils.c
Modified: head/usr.sbin/pw/pw.h
==============================================================================
--- head/usr.sbin/pw/pw.h Mon Oct 15 19:48:36 2018 (r339368)
+++ head/usr.sbin/pw/pw.h Mon Oct 15 20:11:53 2018 (r339369)
@@ -64,6 +64,7 @@ enum _which
};
#define _DEF_DIRMODE (S_IRWXU | S_IRWXG | S_IRWXO)
+#define _PW_CONF "pw.conf"
#define _PATH_PW_CONF "/etc/pw.conf"
#define _UC_MAXLINE 1024
#define _UC_MAXSHELLS 32
Modified: head/usr.sbin/pw/pw_conf.c
==============================================================================
--- head/usr.sbin/pw/pw_conf.c Mon Oct 15 19:48:36 2018 (r339368)
+++ head/usr.sbin/pw/pw_conf.c Mon Oct 15 20:11:53 2018 (r339369)
@@ -417,9 +417,13 @@ write_userconfig(struct userconf *cnf, const char *fil
int i, j;
struct sbuf *buf;
FILE *fp;
+ char cfgfile[MAXPATHLEN];
- if (file == NULL)
- file = _PATH_PW_CONF;
+ if (file == NULL) {
+ snprintf(cfgfile, sizeof(cfgfile), "%s/" _PW_CONF,
+ conf.etcpath);
+ file = cfgfile;
+ }
if ((fd = open(file, O_CREAT|O_RDWR|O_TRUNC|O_EXLOCK, 0644)) == -1)
return (0);
Modified: head/usr.sbin/pw/pw_utils.c
==============================================================================
--- head/usr.sbin/pw/pw_utils.c Mon Oct 15 19:48:36 2018 (r339368)
+++ head/usr.sbin/pw/pw_utils.c Mon Oct 15 20:11:53 2018 (r339369)
@@ -71,7 +71,7 @@ get_userconfig(const char *config)
if (config != NULL)
return (read_userconfig(config));
- snprintf(defaultcfg, sizeof(defaultcfg), "%s/pw.conf", conf.etcpath);
+ snprintf(defaultcfg, sizeof(defaultcfg), "%s/" _PW_CONF, conf.etcpath);
return (read_userconfig(defaultcfg));
}
More information about the svn-src-all
mailing list