=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/passwd/passwd.c,v retrieving revision 1.14 retrieving revision 1.15 diff -c -r1.14 -r1.15 *** src/usr.bin/passwd/passwd.c 2002/05/10 06:52:03 1.14 --- src/usr.bin/passwd/passwd.c 2002/06/28 22:28:17 1.15 *************** *** 1,4 **** ! /* $OpenBSD: passwd.c,v 1.14 2002/05/10 06:52:03 hugh Exp $ */ /* * Copyright (c) 1988 The Regents of the University of California. --- 1,4 ---- ! /* $OpenBSD: passwd.c,v 1.15 2002/06/28 22:28:17 deraadt Exp $ */ /* * Copyright (c) 1988 The Regents of the University of California. *************** *** 41,47 **** #ifndef lint /*static const char sccsid[] = "from: @(#)passwd.c 5.5 (Berkeley) 7/6/91";*/ ! static const char rcsid[] = "$OpenBSD: passwd.c,v 1.14 2002/05/10 06:52:03 hugh Exp $"; #endif /* not lint */ #include --- 41,47 ---- #ifndef lint /*static const char sccsid[] = "from: @(#)passwd.c 5.5 (Berkeley) 7/6/91";*/ ! static const char rcsid[] = "$OpenBSD: passwd.c,v 1.15 2002/06/28 22:28:17 deraadt Exp $"; #endif /* not lint */ #include *************** *** 66,91 **** int force_yp; #endif - extern int local_passwd(char *, int); extern int yp_passwd(char *); extern int krb_passwd(int, char **); extern int krb5_passwd(int, char **); extern int _yp_check(char **); ! void usage(int value); - int ! main(argc, argv) ! int argc; ! char **argv; { extern int optind; - int ch; char *username; #ifdef YP int status = 0; #endif #if defined(KERBEROS) || defined(KERBEROS5) extern char realm[]; --- 66,88 ---- int force_yp; #endif extern int local_passwd(char *, int); extern int yp_passwd(char *); extern int krb_passwd(int, char **); extern int krb5_passwd(int, char **); extern int _yp_check(char **); ! void usage(int retval); int ! main(int argc, char **argv) { extern int optind; char *username; + int ch; #ifdef YP int status = 0; #endif + #if defined(KERBEROS) || defined(KERBEROS5) extern char realm[]; *************** *** 116,125 **** case 'K': #ifdef KRB5 /* Skip programname and '-K' option */ ! argc-=2; ! argv+=2; exit(krb5_passwd(argc, argv)); ! #else errx(1, "KerberosV support not enabled"); break; #endif --- 113,122 ---- case 'K': #ifdef KRB5 /* Skip programname and '-K' option */ ! argc -= 2; ! argv += 2; exit(krb5_passwd(argc, argv)); ! #else errx(1, "KerberosV support not enabled"); break; #endif *************** *** 149,167 **** fprintf(stderr, "passwd: who are you ??\n"); exit(1); } ! ! switch(argc) { case 0: break; case 1: #if defined(KERBEROS) || defined(KERBEROS5) ! if (use_kerberos && strcmp(argv[0], username)) { ! (void)fprintf(stderr, "passwd: %s\n\t%s\n%s\n", ! "to change another user's Kerberos password, do", ! "\"passwd -k -u \";", ! "to change a user's local passwd, use \"passwd -l \""); ! exit(1); ! } #endif username = argv[0]; break; --- 146,164 ---- fprintf(stderr, "passwd: who are you ??\n"); exit(1); } ! ! switch (argc) { case 0: break; case 1: #if defined(KERBEROS) || defined(KERBEROS5) ! if (use_kerberos && strcmp(argv[0], username)) { ! (void)fprintf(stderr, "passwd: %s\n\t%s\n%s\n", ! "to change another user's Kerberos password, do", ! "\"passwd -k -u \";", ! "to change a user's local passwd, use \"passwd -l \""); ! exit(1); ! } #endif username = argv[0]; break; *************** *** 170,177 **** } #if defined(KERBEROS) || defined(KERBEROS5) ! if (use_kerberos) ! exit(krb_passwd(argc, argv)); #endif #ifdef YP --- 167,174 ---- } #if defined(KERBEROS) || defined(KERBEROS5) ! if (use_kerberos) ! exit(krb_passwd(argc, argv)); #endif #ifdef YP *************** *** 183,191 **** } void ! usage(retval) ! int retval; { ! fprintf(stderr, "usage: passwd [-l] [-y] [-k [-n name] [-i instance] [-r realm] [-u username[.instance][@realm]] [user]\n"); exit(retval); } --- 180,188 ---- } void ! usage(int retval) { ! fprintf(stderr, "usage: passwd [-l] [-y] [-k [-n name] [-i instance] " ! "[-r realm] [-u username[.instance][@realm]] [user]\n"); exit(retval); }