safe_free (class_);
}
+static void
+copyResultsFromEntry(HttpRequest *req, external_acl_entry *entry)
+{
+ if (req) {
+#if USE_AUTH
+ if (entry->user.size())
+ req->extacl_user = entry->user;
+
+ if (entry->password.size())
+ req->extacl_passwd = entry->password;
+#endif
+ if (!req->tag.size())
+ req->tag = entry->tag;
+
+ if (entry->log.size())
+ req->extacl_log = entry->log;
+
+ if (entry->message.size())
+ req->extacl_message = entry->message;
+ }
+}
+
static allow_t
aclMatchExternal(external_acl_data *acl, ACLFilledChecklist *ch)
{
external_acl_message = entry->message.termedBuf();
debugs(82, 2, HERE << acl->def->name << " = " << entry->result);
-
- if (ch->request) {
-#if USE_AUTH
- if (entry->user.size())
- ch->request->extacl_user = entry->user;
-
- if (entry->password.size())
- ch->request->extacl_passwd = entry->password;
-#endif
- if (!ch->request->tag.size())
- ch->request->tag = entry->tag;
-
- if (entry->log.size())
- ch->request->extacl_log = entry->log;
-
- if (entry->message.size())
- ch->request->extacl_message = entry->message;
- }
-
+ copyResultsFromEntry(ch->request, entry);
return entry->result;
}
#if USE_AUTH
debugs(82, 4, "externalAclLookup: user=" << entry->user);
#endif
-
+ copyResultsFromEntry(ch->request, entry);
}
callback(callback_data, entry);