summaryrefslogtreecommitdiffstats
path: root/mod_auth_xradius-0.4.6-ha.patch
diff options
context:
space:
mode:
Diffstat (limited to 'mod_auth_xradius-0.4.6-ha.patch')
-rw-r--r--mod_auth_xradius-0.4.6-ha.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/mod_auth_xradius-0.4.6-ha.patch b/mod_auth_xradius-0.4.6-ha.patch
new file mode 100644
index 0000000..3658108
--- /dev/null
+++ b/mod_auth_xradius-0.4.6-ha.patch
@@ -0,0 +1,31 @@
+diff -Naur mod_auth_xradius-0.4.6.old/src/mod_auth_xradius.c mod_auth_xradius-0.4.6/src/mod_auth_xradius.c
+--- mod_auth_xradius-0.4.6.old/src/mod_auth_xradius.c 2012-05-14 16:52:32.687289979 +0200
++++ mod_auth_xradius-0.4.6/src/mod_auth_xradius.c 2012-05-14 16:55:13.251720474 +0200
+@@ -125,15 +125,15 @@
+ rctx = xrad_auth_open();
+
+ /* Loop through the array of RADIUS Servers, adding them to the rctx object */
+- sr = (xrad_server_info *) dc->servers->elts;
+ for (i = 0; i < dc->servers->nelts; ++i) {
+- rc = xrad_add_server(rctx, sr[i].hostname, sr[i].port, sr[i].secret,
++ sr = &(((xrad_server_info*)dc->servers->elts)[i]);
++ rc = xrad_add_server(rctx, sr->hostname, sr->port, sr->secret,
+ dc->timeout, dc->maxtries);
+
+ if (rc != 0) {
+ ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
+ "xradius: Failed to add server '%s:%d': (%d) %s",
+- sr[i].hostname, sr[i].port, rc, xrad_strerror(rctx));
++ sr->hostname, sr->port, rc, xrad_strerror(rctx));
+ goto run_cleanup;
+ }
+ }
+@@ -294,7 +294,7 @@
+ /* To properly use the Pools, this array is allocated from the here, instead of
+ inside the directory configuration creation function. */
+ if (dc->servers == NULL) {
+- dc->servers = apr_array_make(parms->pool, 4, sizeof(xrad_server_info*));
++ dc->servers = apr_array_make(parms->pool, 4, sizeof(xrad_server_info));
+ }
+
+ sr = apr_array_push(dc->servers);