Index: openacs-4/packages/acs-tcl/tcl/text-html-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/text-html-procs.tcl,v
diff -u -N -r1.109.2.50 -r1.109.2.51
--- openacs-4/packages/acs-tcl/tcl/text-html-procs.tcl 19 Mar 2024 10:46:18 -0000 1.109.2.50
+++ openacs-4/packages/acs-tcl/tcl/text-html-procs.tcl 19 Mar 2024 10:47:04 -0000 1.109.2.51
@@ -1795,28 +1795,35 @@
}
continue
}
- if {$proto ne ""} {
- if {$no_outer_urls_p} {
- # no external URLs allowed: we still
- # want to allow fully specified URLs
- # that refer to this server, but we'll
- # transform them in a local absolute
- # reference. For all others, attribute
- # will be just removed.
- # - This is ok, points to our system...
- if {[regsub ^($our_locations) $url {} url]} {
- set url /[string trimleft $url "/"]
- $node setAttribute $att $url
- # ...this is not, points elsewhere!
- } else {
- # invalid attribute!
- if {$validate_p} {
- return 0
- } else {
- $node removeAttribute $att
- }
- continue
- }
+
+ if {$proto ne "" && $no_outer_urls_p} {
+ #
+ # No external URLs allowed: we still want
+ # to allow fully specified URLs that refer
+ # to this server, but we'll transform them
+ # in a local absolute reference. For all
+ # others, attribute will be just removed.
+ #
+ if {[regsub ^($our_locations) $url {} url]} {
+ #
+ # This is ok, points to our system.
+ #
+ set url /[string trimleft $url "/"]
+ $node setAttribute $att $url
+ } elseif {$validate_p} {
+ #
+ # External URL and we are
+ # validating. This HTML is invalid.
+ #
+ return 0
+ } else {
+ #
+ # External URL and we are
+ # sanitizing. Remove it from the
+ # result.
+ #
+ $node removeAttribute $att
+ continue
}
}