[745] | 1 | /*
|
---|
| 2 | Unix SMB/CIFS implementation.
|
---|
| 3 |
|
---|
| 4 | PAC Glue between Samba and the KDC
|
---|
| 5 |
|
---|
| 6 | Copyright (C) Andrew Bartlett <abartlet@samba.org> 2005-2009
|
---|
| 7 | Copyright (C) Simo Sorce <idra@samba.org> 2010
|
---|
| 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 |
|
---|
| 20 | You should have received a copy of the GNU General Public License
|
---|
| 21 | along with this program. If not, see <http://www.gnu.org/licenses/>.
|
---|
| 22 | */
|
---|
| 23 |
|
---|
| 24 | krb5_error_code samba_make_krb5_pac(krb5_context context,
|
---|
| 25 | DATA_BLOB *pac_blob,
|
---|
| 26 | krb5_pac *pac);
|
---|
| 27 |
|
---|
| 28 | bool samba_princ_needs_pac(struct hdb_entry_ex *princ);
|
---|
| 29 |
|
---|
| 30 | bool samba_krbtgt_was_untrusted_rodc(struct hdb_entry_ex *princ);
|
---|
| 31 |
|
---|
| 32 | NTSTATUS samba_kdc_get_pac_blob(TALLOC_CTX *mem_ctx,
|
---|
| 33 | struct hdb_entry_ex *client,
|
---|
| 34 | DATA_BLOB **_pac_blob);
|
---|
| 35 |
|
---|
| 36 | NTSTATUS samba_kdc_update_pac_blob(TALLOC_CTX *mem_ctx,
|
---|
| 37 | krb5_context context,
|
---|
| 38 | krb5_pac *pac, DATA_BLOB *pac_blob);
|
---|
| 39 |
|
---|
| 40 | void samba_kdc_build_edata_reply(NTSTATUS nt_status, DATA_BLOB *e_data);
|
---|
| 41 |
|
---|
| 42 | krb5_error_code samba_kdc_map_policy_err(NTSTATUS nt_status);
|
---|
| 43 |
|
---|
| 44 | NTSTATUS samba_kdc_check_client_access(struct samba_kdc_entry *kdc_entry,
|
---|
| 45 | const char *client_name,
|
---|
| 46 | const char *workstation,
|
---|
| 47 | bool password_change);
|
---|