Index: openacs-4/packages/acs-tcl/tcl/cluster-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/Attic/cluster-procs.tcl,v diff -u -r1.1.2.9 -r1.1.2.10 --- openacs-4/packages/acs-tcl/tcl/cluster-procs.tcl 27 Nov 2023 18:32:57 -0000 1.1.2.9 +++ openacs-4/packages/acs-tcl/tcl/cluster-procs.tcl 28 Nov 2023 15:55:08 -0000 1.1.2.10 @@ -521,7 +521,7 @@ # dict set d host [ns_addrbyhost [dict get $d host]] dict with d { - set result [util::join_location -proto $proto -hostname $host -port $port] + set result [util::join_location -noabbrev -proto $proto -hostname $host -port $port] } return $result } Index: openacs-4/packages/acs-tcl/tcl/utilities-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/utilities-procs.tcl,v diff -u -r1.189.2.170 -r1.189.2.171 --- openacs-4/packages/acs-tcl/tcl/utilities-procs.tcl 24 Jul 2023 12:59:24 -0000 1.189.2.170 +++ openacs-4/packages/acs-tcl/tcl/utilities-procs.tcl 28 Nov 2023 15:55:08 -0000 1.189.2.171 @@ -1923,9 +1923,12 @@ return $success } -ad_proc util::join_location {{-proto ""} {-hostname} {-port ""}} { +ad_proc util::join_location {{-noabbrev:boolean} {-proto ""} {-hostname} {-port ""}} { Join hostname and port and use IP-literal notation when necessary. The function is the inverse function of util::split_location. + + @param noabbrev when specified, the location is joined as requested. + Otherwise, default ports are omitted from the result. @return location consisting of hostname and optionally port @author Gustaf Neumann @see util::split_location @@ -1937,7 +1940,10 @@ # When the specified port is equal to the default port, omit # it from the result. # - if {$port ne "" && $port eq [dict get {http 80 https 443 udp "" smtp ""} $proto]} { + if {!$noabbrev_p + && $port ne "" + && $port eq [dict get {http 80 https 443 udp "" smtp ""} $proto] + } { set port "" } }