summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimo Sorce <simo@redhat.com>2014-07-10 05:43:55 -0400
committerSimo Sorce <simo@redhat.com>2014-07-10 06:40:00 -0400
commit342cea568dc94ed0d35dca27a90fc704d0424da1 (patch)
tree0ad34386c4b07c991b9fdc8e9e3eb82589fdb520
parent197cf29a4ed19e6ec3a3e73e4798d4c114b428b0 (diff)
downloadmod_auth_gssapi-342cea568dc94ed0d35dca27a90fc704d0424da1.tar.gz
mod_auth_gssapi-342cea568dc94ed0d35dca27a90fc704d0424da1.tar.xz
mod_auth_gssapi-342cea568dc94ed0d35dca27a90fc704d0424da1.zip
Add mod_auth_gssapi.h
Move all includes into it and also include config.h which was missing causing some ifdefed code not to be compiled. Also address includes conflict between httpd.h and config.h and the PACKAGE_* variables.
-rw-r--r--configure.ac2
-rw-r--r--src/mod_auth_gssapi.c22
-rw-r--r--src/mod_auth_gssapi.h32
3 files changed, 35 insertions, 21 deletions
diff --git a/configure.ac b/configure.ac
index fe3ce9e..aa429f8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4,7 +4,7 @@ AC_CONFIG_SRCDIR([src/mod_auth_gssapi.c])
AM_INIT_AUTOMAKE([-Wall foreign subdir-objects tar-pax])
m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
AC_CONFIG_MACRO_DIR([m4])
-AC_CONFIG_HEADERS([config.h])
+AC_CONFIG_HEADERS([src/config.h])
# Checks for programs.
AC_PROG_CC
diff --git a/src/mod_auth_gssapi.c b/src/mod_auth_gssapi.c
index 7f4077b..e8c1966 100644
--- a/src/mod_auth_gssapi.c
+++ b/src/mod_auth_gssapi.c
@@ -22,30 +22,12 @@
DEALINGS IN THE SOFTWARE.
*/
-#include <stdbool.h>
-#include <stdint.h>
-#include <gssapi/gssapi.h>
-#include <gssapi/gssapi_ext.h>
-
-#include <httpd.h>
-#include <http_core.h>
-#include <http_connection.h>
-#include <http_log.h>
-#include <http_request.h>
-#include <apr_strings.h>
-#include <apr_base64.h>
+#include "mod_auth_gssapi.h"
module AP_MODULE_DECLARE_DATA auth_gssapi_module;
APR_DECLARE_OPTIONAL_FN(int, ssl_is_https, (conn_rec *));
-struct mag_config {
- bool ssl_only;
- bool map_to_local;
- bool gss_conn_ctx;
- gss_key_value_set_desc cred_store;
-};
-
static char *mag_status(request_rec *req, int type, uint32_t err)
{
uint32_t maj_ret, min_ret;
@@ -243,7 +225,7 @@ static int mag_auth(request_rec *req)
}
#ifdef HAVE_GSS_STORE_CRED_INTO
- if (cfg->cred_store && delegated_cred != GSS_C_NO_CREDENTIAL) {
+ if (cfg->cred_store.count != 0 && delegated_cred != GSS_C_NO_CREDENTIAL) {
gss_key_value_set_desc store = {0, NULL};
/* FIXME: run substitutions */
diff --git a/src/mod_auth_gssapi.h b/src/mod_auth_gssapi.h
new file mode 100644
index 0000000..2022061
--- /dev/null
+++ b/src/mod_auth_gssapi.h
@@ -0,0 +1,32 @@
+/* Copyright (C) 2014 mod_auth_gssapi authors - See COPYING for (C) terms */
+
+#include <stdbool.h>
+#include <stdint.h>
+#include <gssapi/gssapi.h>
+#include <gssapi/gssapi_ext.h>
+
+#include <httpd.h>
+#include <http_core.h>
+#include <http_connection.h>
+#include <http_log.h>
+#include <http_request.h>
+#include <apr_strings.h>
+#include <apr_base64.h>
+
+/* apache's httpd.h drags in empty PACKAGE_* variables.
+ * undefine them to avoid annoying compile warnings as they
+ * are re-defined in config.h */
+#undef PACKAGE_BUGREPORT
+#undef PACKAGE_NAME
+#undef PACKAGE_STRING
+#undef PACKAGE_TARNAME
+#undef PACKAGE_VERSION
+#include "config.h"
+
+struct mag_config {
+ bool ssl_only;
+ bool map_to_local;
+ bool gss_conn_ctx;
+ gss_key_value_set_desc cred_store;
+};
+