1 /* 2 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 3 * Use is subject to license terms. 4 */ 5 6 #pragma ident "%Z%%M% %I% %E% SMI" 7 8 /* 9 * WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING 10 * 11 * Openvision retains the copyright to derivative works of 12 * this source code. Do *NOT* create a derivative of this 13 * source code before consulting with your legal department. 14 * Do *NOT* integrate *ANY* of this source code into another 15 * product before consulting with your legal department. 16 * 17 * For further information, read the top-level Openvision 18 * copyright which is contained in the top-level MIT Kerberos 19 * copyright. 20 * 21 * WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING 22 * 23 */ 24 25 26 /* 27 * Copyright 1993-1994 OpenVision Technologies, Inc., All Rights Reserved. 28 * 29 * $Header: /cvs/krbdev/krb5/src/kadmin/passwd/tty_kpasswd.c,v 1.7\ 30 * 1997/02/20 06:13:01 probe Exp $ 31 * 32 * 33 */ 34 35 static char rcsid[] = "$Id: tty_kpasswd.c,v 1.7 " 36 "1997/02/20 06:13:01 probe Exp $"; 37 38 #include <kadm5/admin.h> 39 #include <krb5.h> 40 41 #include "kpasswd_strings.h" 42 #define string_text error_message 43 44 #include <stdio.h> 45 #include <pwd.h> 46 #include <string.h> 47 #include <libintl.h> 48 #include <locale.h> 49 50 char *whoami; 51 52 void 53 display_intro_message(fmt_string, arg_string) 54 char *fmt_string; 55 char *arg_string; 56 { 57 com_err(whoami, 0, fmt_string, arg_string); 58 } 59 60 long 61 read_old_password(context, password, pwsize) 62 krb5_context context; 63 char *password; 64 unsigned int *pwsize; 65 { 66 long code = krb5_read_password(context, 67 (char *) string_text(KPW_STR_OLD_PASSWORD_PROMPT), 68 0, password, pwsize); 69 70 return (code); 71 } 72 73 long 74 read_new_password(server_handle, password, pwsize, 75 msg_ret, msg_len, princ) 76 void *server_handle; 77 char *password; 78 int *pwsize; 79 char *msg_ret; 80 int msg_len; 81 krb5_principal princ; 82 { 83 return (kadm5_chpass_principal_util(server_handle, princ, NULL, 84 NULL /* don't need new pw back */, 85 msg_ret, msg_len)); 86 } 87 88 89 /* 90 * main() for tty version of kpasswd.c 91 */ 92 int 93 main(argc, argv) 94 int argc; 95 char *argv[]; 96 { 97 krb5_context context; 98 int retval; 99 100 whoami = (whoami = strrchr(argv[0], '/')) ? whoami + 1 : argv[0]; 101 102 (void) setlocale(LC_ALL, ""); 103 104 #if !defined(TEXT_DOMAIN) /* Should be defined by cc -D */ 105 #define TEXT_DOMAIN "SYS_TEST" /* Use this only if it weren't */ 106 #endif 107 108 (void) textdomain(TEXT_DOMAIN); 109 110 if (retval = krb5_init_context(&context)) { 111 com_err(whoami, retval, gettext("initializing krb5 context")); 112 exit(retval); 113 } 114 /* initialize_kpws_error_table(); SUNWresync121 */ 115 retval = kpasswd(context, argc, argv); 116 117 if (!retval) 118 printf(string_text(KPW_STR_PASSWORD_CHANGED)); 119 120 exit(retval); 121 } 122