summaryrefslogtreecommitdiffstats
path: root/crypto/kerberosIV/appl/bsd/sysv_shadow.c
diff options
context:
space:
mode:
authormarkm <markm@FreeBSD.org>1997-09-04 06:04:33 +0000
committermarkm <markm@FreeBSD.org>1997-09-04 06:04:33 +0000
commita8a89cfaf983bc64f4b42f7c35209a5a36dd0fe8 (patch)
tree0b84977f19022a965f8c6145f067f951173f6290 /crypto/kerberosIV/appl/bsd/sysv_shadow.c
downloadFreeBSD-src-a8a89cfaf983bc64f4b42f7c35209a5a36dd0fe8.zip
FreeBSD-src-a8a89cfaf983bc64f4b42f7c35209a5a36dd0fe8.tar.gz
Initial import of KTH eBones. This has been cleaned up to only include
the "core" Kerberos functionality. The rest of the userland will get their own changes later.
Diffstat (limited to 'crypto/kerberosIV/appl/bsd/sysv_shadow.c')
-rw-r--r--crypto/kerberosIV/appl/bsd/sysv_shadow.c45
1 files changed, 45 insertions, 0 deletions
diff --git a/crypto/kerberosIV/appl/bsd/sysv_shadow.c b/crypto/kerberosIV/appl/bsd/sysv_shadow.c
new file mode 100644
index 0000000..6839441
--- /dev/null
+++ b/crypto/kerberosIV/appl/bsd/sysv_shadow.c
@@ -0,0 +1,45 @@
+/* Author: Wietse Venema <wietse@wzv.win.tue.nl> */
+
+#include "bsd_locl.h"
+
+RCSID("$Id: sysv_shadow.c,v 1.7 1997/03/23 04:56:05 assar Exp $");
+
+#ifdef SYSV_SHADOW
+
+#include <sysv_shadow.h>
+
+/* sysv_expire - check account and password expiration times */
+
+int
+sysv_expire(struct spwd *spwd)
+{
+ long today;
+
+ tzset();
+ today = time(0);
+
+ if (spwd->sp_expire > 0) {
+ if (today > spwd->sp_expire) {
+ printf("Your account has expired.\n");
+ sleepexit(1);
+ } else if (spwd->sp_expire - today < 14) {
+ printf("Your account will expire in %d days.\n",
+ (int)(spwd->sp_expire - today));
+ return (0);
+ }
+ }
+ if (spwd->sp_max > 0) {
+ if (today > (spwd->sp_lstchg + spwd->sp_max)) {
+ printf("Your password has expired. Choose a new one.\n");
+ return (1);
+ } else if (spwd->sp_warn > 0
+ && (today > (spwd->sp_lstchg + spwd->sp_max - spwd->sp_warn))) {
+ printf("Your password will expire in %d days.\n",
+ (int)(spwd->sp_lstchg + spwd->sp_max - today));
+ return (0);
+ }
+ }
+ return (0);
+}
+
+#endif /* SYSV_SHADOW */
OpenPOWER on IntegriCloud