aboutsummaryrefslogtreecommitdiff
path: root/lib/gssapi.h
diff options
context:
space:
mode:
authorJulien Chaffraix <julien.chaffraix@gmail.com>2011-06-10 08:16:06 -0700
committerJulien Chaffraix <julien.chaffraix@gmail.com>2011-07-12 07:06:25 -0700
commit20485a48858ea35351ca69060f56353eace0521c (patch)
tree72331e802c6a61e7b768479af7e94887fd0c11c0 /lib/gssapi.h
parent6488e03f4421a039d0882561e8f96b2ae16ed7c4 (diff)
Added Curl_gss_init_sec_context.
This function wraps our calls to gss_init_sec_context so that we have a unified way to talk to GSSAPI.
Diffstat (limited to 'lib/gssapi.h')
-rw-r--r--lib/gssapi.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/lib/gssapi.h b/lib/gssapi.h
new file mode 100644
index 000000000..c2a079775
--- /dev/null
+++ b/lib/gssapi.h
@@ -0,0 +1,53 @@
+/***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at http://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+#include "setup.h"
+
+#ifdef HAVE_GSSGNU
+# include <gss.h>
+#elif defined HAVE_GSSMIT
+ /* MIT style */
+# include <gssapi/gssapi.h>
+# include <gssapi/gssapi_generic.h>
+# include <gssapi/gssapi_krb5.h>
+#else
+ /* Heimdal-style */
+# include <gssapi.h>
+#endif
+
+
+/* Common method for using gss api */
+
+OM_uint32 Curl_gss_init_sec_context(
+ OM_uint32 * minor_status,
+ gss_cred_id_t cred_handle,
+ gss_ctx_id_t * context,
+ gss_name_t target_name,
+ gss_OID, /* mech_type (used to be const) */
+ OM_uint32, /* req_flags */
+ OM_uint32, /* time_req */
+ gss_channel_bindings_t, /* input_chan_bindings */
+ gss_buffer_t, /* input_token */
+ gss_OID *, /* actual_mech_type */
+ gss_buffer_t, /* output_token */
+ OM_uint32 *, /* ret_flags */
+ OM_uint32 *); /* time_rec */