summaryrefslogtreecommitdiff
blob: c54a8bce9ff3e58fc2b3500da5a5005eb3aacc49 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
--- yp-tools-2.8/src/yppasswd.c	2002-12-05 14:49:20.000000000 +0100
+++ yp-tools-2.8/src/yppasswd.c	2005-03-11 13:13:45.700315296 +0100
@@ -117,6 +117,7 @@
   fputs (_("  -f             Change GECOS field information\n"), stdout);
   fputs (_("  -l             Change the login shell\n"), stdout);
   fputs (_("  -p             Change the password\n"), stdout);
+  fputs (_("  -b             Enable support for *BSD rpc.yppasswd daemon\n"), stdout);
   fputs (_("  -?, --help     Give this help list\n"), stdout);
   fputs (_("      --usage    Give a short usage message\n"), stdout);
   fputs (_("      --version  Print program version\n"), stdout);
@@ -440,7 +441,7 @@
 main (int argc, char **argv)
 {
   char *s, *progname, *domainname = NULL, *user = NULL, *master = NULL;
-  int f_flag = 0, l_flag = 0, p_flag = 0, error, status;
+  int f_flag = 0, l_flag = 0, p_flag = 0, error, status, bsd_flag = 0;
   struct yppasswd yppwd;
   struct passwd *pwd;
   CLIENT *clnt;
@@ -476,7 +477,7 @@
       };
 
       c = getopt_long (argc, argv,
-		       (l_flag == 0 && f_flag == 0) ? "flp?" : "?",
+		       (l_flag == 0 && f_flag == 0) ? "flpb?" : "?",
 		       long_options, &option_index);
       if (c == (-1))
         break;
@@ -491,6 +492,9 @@
 	case 'p':
 	  p_flag = 1;
 	  break;
+	case 'b':
+	  bsd_flag = 1;
+	  break;
 	case '?':
 	  if (l_flag)
 	    print_help_chsh ();
@@ -645,7 +649,7 @@
       /* We can't check the password with shadow passwords enabled. We
        * leave the checking to yppasswdd */
       if (uid != 0 && strcmp (pwd->pw_passwd, "x") != 0 &&
-	  strcmp (pwd->pw_passwd, hashpass ) != 0)
+	  strcmp (pwd->pw_passwd, hashpass ) != 0 && !bsd_flag)
 	{
 	  int passwdlen;
 	  char *sane_passwd;
--- yp-tools-2.8/man/yppasswd.1.in	2001-12-08 22:34:43.000000000 +0100
+++ yp-tools-2.8/man/yppasswd.1.in	2005-03-11 13:19:45.024689688 +0100
@@ -20,7 +20,7 @@
 .SH NAME
 yppasswd, ypchfn, ypchsh \- change your password in the NIS database
 .SH SYNOPSIS
-.B "yppasswd [-f] [-l] [-p] [user]"
+.B "yppasswd [-f] [-l] [-p] [-b] [user]"
 .br
 .B "ypchfn [user]"
 .br
@@ -48,6 +48,8 @@
 .BR \-l ,
 or your GECOS field
 .BR \-f ,
+interact with *BSD Server
+.BR \-b ,
 or a combination of them.
 .B yppasswd
 implies the