Blob Blame History Raw

Don't expose private symbols for the Apache modules DSO.

--- subversion-1.14.2/build/generator/gen_base.py.modsyms
+++ subversion-1.14.2/build/generator/gen_base.py
@@ -727,13 +727,17 @@
   def __init__(self, name, options, gen_obj):
     TargetLib.__init__(self, name, options, gen_obj)
 
+    if name[:4] != "mod_":
+      raise Exception("Apache module targets must be named mod_*")
+
     tfile = name + self.gen_obj._extension_map['lib', 'target']
     self.filename = build_path_join(self.path, tfile)
 
+    modsyms = name[4:] + '_[^_].*'
     # we have a custom linking rule
     ### hmm. this is Makefile-specific
     self.compile_cmd = '$(COMPILE_APACHE_MOD)'
-    self.link_cmd = '$(LINK_APACHE_MOD)'
+    self.link_cmd = '$(LINK_APACHE_MOD) -export-symbols-regex ' + modsyms
 
 class TargetSharedOnlyLib(TargetLib):