summaryrefslogtreecommitdiffstats
path: root/pw/pw.c
diff options
context:
space:
mode:
authorBaptiste Daroussin <bapt@FreeBSD.org>2015-08-01 10:25:55 +0000
committerBaptiste Daroussin <bapt@FreeBSD.org>2015-08-01 10:25:55 +0000
commit0f8c2526cd0b74e7c575c9254be2e155c14ddf6b (patch)
treed864c49e9019e59946f3c1a4fb591dc7ae1a4894 /pw/pw.c
parentb3591c99a329ccaa6eb1c750cd56e5302278b288 (diff)
downloadpw-darwin-0f8c2526cd0b74e7c575c9254be2e155c14ddf6b.tar.gz
pw-darwin-0f8c2526cd0b74e7c575c9254be2e155c14ddf6b.tar.zst
pw-darwin-0f8c2526cd0b74e7c575c9254be2e155c14ddf6b.zip
Validate expiration days and password days from commmand line and pw.conf
Diffstat (limited to 'pw/pw.c')
-rw-r--r--pw/pw.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/pw/pw.c b/pw/pw.c
index 88c83db..bca6715 100644
--- a/pw/pw.c
+++ b/pw/pw.c
@@ -262,6 +262,11 @@ main(int argc, char *argv[])
case 'c':
conf.gecos = pw_checkname(optarg, 1);
break;
+ case 'e':
+ conf.expire_days = strtonum(optarg, 0, INT_MAX, &errstr);
+ if (errstr)
+ errx(EX_USAGE, "Invalid expired days: %s", optarg);
+ break;
case 'g':
if (which == 0) { /* for user* */
addarg(&arglist, 'g', optarg);
@@ -321,6 +326,11 @@ main(int argc, char *argv[])
case 'o':
conf.checkduplicate = false;
break;
+ case 'p':
+ conf.password_days = strtonum(optarg, 0, INT_MAX, &errstr);
+ if (errstr)
+ errx(EX_USAGE, "Invalid password days: %s", optarg);
+ break;
case 'q':
conf.quiet = true;
break;