+#ifdef STANDARD20_MODULE_STUFF
+#define command(name, func, var, type, usage) \
+ AP_INIT_ ## type (name, func, \
+ (void*)APR_XtOffsetOf(kerb_auth_config, var), \
+ OR_AUTHCFG | RSRC_CONF, usage)
+#else
+#define command(name, func, var, type, usage) \
+ { name, func, \
+ (void*)XtOffsetOf(kerb_auth_config, var), \
+ OR_AUTHCFG | RSRC_CONF, type, usage }
+#endif
+
+static const command_rec kerb_auth_cmds[] = {
+ command("KrbAuthRealms", krb5_save_realms, krb_auth_realms,
+ RAW_ARGS, "Realms to attempt authentication against (can be multiple)."),
+
+ command("KrbAuthRealm", krb5_save_realms, krb_auth_realms,
+ RAW_ARGS, "Alias for KrbAuthRealms."),
+
+ command("KrbSaveCredentials", ap_set_flag_slot, krb_save_credentials,
+ FLAG, "Save and store credentials/tickets retrieved during auth."),
+
+ command("KrbVerifyKDC", ap_set_flag_slot, krb_verify_kdc,
+ FLAG, "Verify tickets against keytab to prevent KDC spoofing attacks."),
+
+ command("KrbServiceName", ap_set_string_slot, krb_service_name,
+ TAKE1, "Service name to be used by Apache for authentication."),
+
+ command("KrbAuthoritative", ap_set_flag_slot, krb_authoritative,
+ FLAG, "Set to 'off' to allow access control to be passed along to lower modules iff the UserID is not known to this module."),
+
+ command("KrbDelegateBasic", ap_set_flag_slot, krb_delegate_basic,
+ FLAG, "Always offer Basic authentication regardless of KrbMethodK5Pass and pass on authentication to lower modules if Basic headers arrive."),
+
+#ifdef KRB5
+ command("Krb5Keytab", ap_set_file_slot, krb_5_keytab,
+ TAKE1, "Location of Kerberos V5 keytab file."),
+
+ command("KrbMethodNegotiate", ap_set_flag_slot, krb_method_gssapi,
+ FLAG, "Enable Negotiate authentication method."),
+
+ command("KrbMethodK5Passwd", ap_set_flag_slot, krb_method_k5pass,
+ FLAG, "Enable Kerberos V5 password authentication."),
+#endif
+
+#ifdef KRB4
+ command("Krb4Srvtab", ap_set_file_slot, krb_4_srvtab,
+ TAKE1, "Location of Kerberos V4 srvtab file."),
+
+ command("KrbMethodK4Passwd", ap_set_flag_slot, krb_method_k4pass,
+ FLAG, "Enable Kerberos V4 password authentication."),
+#endif
+
+ { NULL }
+};
+
+#ifdef WIN32
+int
+mkstemp(char *template)