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

--- src/modules/standard/mod_so.c.orig	2008-02-23 04:22:56.000000000 +0000
+++ src/modules/standard/mod_so.c
@@ -322,7 +322,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();
