Line data Source code
1 : /* 2 : Unix SMB/CIFS implementation. 3 : 4 : Samba KDB plugin for MIT Kerberos 5 : 6 : Copyright (c) 2010 Simo Sorce <idra@samba.org>. 7 : Copyright (c) 2014 Andreas Schneider <asn@samba.org> 8 : 9 : This program is free software; you can redistribute it and/or modify 10 : it under the terms of the GNU General Public License as published by 11 : the Free Software Foundation; either version 3 of the License, or 12 : (at your option) any later version. 13 : 14 : This program is distributed in the hope that it will be useful, 15 : but WITHOUT ANY WARRANTY; without even the implied warranty of 16 : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 : GNU General Public License for more details. 18 : 19 : You should have received a copy of the GNU General Public License 20 : along with this program. If not, see <http://www.gnu.org/licenses/>. 21 : */ 22 : 23 : #include "includes.h" 24 : 25 : #include "system/kerberos.h" 26 : 27 : #include <profile.h> 28 : #include <kdb.h> 29 : 30 : #include "kdc/mit_samba.h" 31 : #include "kdb_samba.h" 32 : 33 : #undef DBGC_CLASS 34 : #define DBGC_CLASS DBGC_KERBEROS 35 : 36 0 : krb5_error_code kdb_samba_change_pwd(krb5_context context, 37 : krb5_keyblock *master_key, 38 : krb5_key_salt_tuple *ks_tuple, 39 : int ks_tuple_count, char *passwd, 40 : int new_kvno, krb5_boolean keepold, 41 : krb5_db_entry *db_entry) 42 : { 43 : struct mit_samba_context *mit_ctx; 44 : krb5_error_code code; 45 : 46 0 : mit_ctx = ks_get_context(context); 47 0 : if (mit_ctx == NULL) { 48 0 : return KRB5_KDB_DBNOTINITED; 49 : } 50 : 51 0 : code = mit_samba_kpasswd_change_password(mit_ctx, passwd, db_entry); 52 0 : if (code != 0) { 53 0 : goto cleanup; 54 : } 55 : 56 0 : cleanup: 57 : 58 0 : return code; 59 : }