$NetBSD: patch-af,v 1.10 2004/10/29 13:48:31 abs Exp $

--- src/modules/standard/mod_so.c.orig	2004-10-29 14:44:35.000000000 +0100
+++ src/modules/standard/mod_so.c
@@ -321,7 +321,15 @@ static const char *load_file(cmd_parms *
         return err;
     }
     
-    file = ap_server_root_relative(cmd->pool, filename);
+    /*
+     * If the filename starts with '!', then just dlopen() it without
+     * translating it to a pathname relative to ServerRoot.
+     */
+    if (filename[0] == '!') {
+	file = filename + 1;
+    } else {
+	file = ap_server_root_relative(cmd->pool, filename);
+    }
     
     if (!(handle = ap_os_dso_load(file))) {
 	const char *my_error = ap_os_dso_error();
