+libapache2-mod-authz-itkacl (0.7) unstable; urgency=medium
+
+ * Use the new context system, for increased performance.
+ * No longer depend on obsolete apache2-prefork-dev.
+
+ -- Steinar H. Gunderson <sesse@samfundet.no> Tue, 15 Mar 2022 22:46:53 +0100
+
libapache2-mod-authz-itkacl (0.6) unstable; urgency=medium
* Update to Apache 2.4.
Section: web
Priority: optional
Maintainer: Steinar H. Gunderson <sesse@samfundet.no>
-Build-Depends: debhelper (>= 7.0.0), apache2-prefork-dev, libitkacl-dev, dh-apache2 | apache2-dev
+Build-Depends: debhelper (>= 7.0.0), libitkacl-dev, dh-apache2 | apache2-dev
Standards-Version: 3.9.1
Package: libapache2-mod-authz-itkacl
/*
- * ITKACL module, (C) 2004-2015 Steinar H. Gunderson
+ * ITKACL module, (C) 2004-2022 Steinar H. Gunderson
*/
-#define MODAUTHITKACL_VERSION "0.6"
+#define MODAUTHITKACL_VERSION "0.7"
#include "apr_strings.h"
#include "http_protocol.h"
#include "http_request.h"
#include "mod_auth.h"
+#include "itkacl.h"
module AP_MODULE_DECLARE_DATA authz_itkacl_module;
-
-extern int itkacl_check(const char * const realm, const char * const user,
- char *errmsg, size_t errmsg_size);
+static struct itkacl_ctx *ctx = NULL;
static int handle_require(request_rec *r, const char *username, const char *acl_path)
{
char errmsg[1024];
int ret;
- ret = itkacl_check(acl_path, username, errmsg, 1024);
+ ret = itkacl_check_with_ctx(ctx, acl_path, username, errmsg, 1024);
if (ret == 0) {
return AUTHZ_GRANTED;
}
static int authz_itkacl_init_handler(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *s)
{
ap_add_version_component(p, "mod_auth_itkacl/" MODAUTHITKACL_VERSION);
+ if (ctx != NULL) {
+ itkacl_free_ctx(ctx);
+ }
+ {
+ char errmsg[1024];
+ ctx = itkacl_create_ctx(errmsg, sizeof(errmsg));
+ if (ctx == NULL) {
+ ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, "Error while initializing libitkacl: %s", errmsg);
+ return HTTP_INTERNAL_SERVER_ERROR;
+ }
+ }
return OK;
}