summaryrefslogtreecommitdiff
path: root/auth/kerberos/pac_utils.h
diff options
context:
space:
mode:
authorSimo Sorce <idra@samba.org>2012-03-31 22:09:22 -0400
committerAndreas Schneider <asn@samba.org>2012-04-12 12:06:43 +0200
commit70c303a7f357b2c73955b24128ac8a72b656d4e6 (patch)
treef87c92753e56bee1b274a20444f80f53e64ee0c0 /auth/kerberos/pac_utils.h
parent3fd6deda7d440b579950ab6d0e2407d755ac70ad (diff)
downloadsamba-70c303a7f357b2c73955b24128ac8a72b656d4e6.tar.gz
samba-70c303a7f357b2c73955b24128ac8a72b656d4e6.tar.bz2
samba-70c303a7f357b2c73955b24128ac8a72b656d4e6.zip
auth-krb: Move pac related util functions in a single place.
Signed-off-by: Andreas Schneider <asn@samba.org>
Diffstat (limited to 'auth/kerberos/pac_utils.h')
-rw-r--r--auth/kerberos/pac_utils.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/auth/kerberos/pac_utils.h b/auth/kerberos/pac_utils.h
new file mode 100644
index 0000000000..9fe08de834
--- /dev/null
+++ b/auth/kerberos/pac_utils.h
@@ -0,0 +1,50 @@
+/*
+ Unix SMB/CIFS implementation.
+ kerberos authorization data (PAC) utility library
+ Copyright (C) Andrew Bartlett <abartlet@samba.org> 2011
+ Copyright (C) Simo Sorce 2010-2012
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef _PAC_UTILS_H
+#define _PAC_UTILS_H
+
+#include "libcli/auth/krb5_wrap.h"
+struct PAC_SIGNATURE_DATA;
+struct PAC_DATA;
+
+krb5_error_code check_pac_checksum(DATA_BLOB pac_data,
+ struct PAC_SIGNATURE_DATA *sig,
+ krb5_context context,
+ const krb5_keyblock *keyblock);
+
+NTSTATUS kerberos_decode_pac(TALLOC_CTX *mem_ctx,
+ DATA_BLOB pac_data_blob,
+ krb5_context context,
+ const krb5_keyblock *krbtgt_keyblock,
+ const krb5_keyblock *service_keyblock,
+ krb5_const_principal client_principal,
+ time_t tgs_authtime,
+ struct PAC_DATA **pac_data_out);
+
+NTSTATUS gssapi_obtain_pac_blob(TALLOC_CTX *mem_ctx,
+ gss_ctx_id_t gssapi_context,
+ gss_name_t gss_client_name,
+ DATA_BLOB *pac_data);
+NTSTATUS gssapi_get_session_key(TALLOC_CTX *mem_ctx,
+ gss_ctx_id_t gssapi_context,
+ DATA_BLOB *session_key,
+ uint32_t *keytype);
+#endif /* _PAC_UTILS_H */