To: feedback@ml.delegate.org Subject: DeleGate/9.9.12 (STABLE) -- fixed access control and MIME header encoding From: feedback@delegate.org (Yutaka Sato) Reply-To: feedback@delegate.org Organization: The DeleGate Project Message-Id: <1KA0ZF.feedback@delegate.org> DeleGate/9.9.12 STABLE(beta) is released including fixes about access control for reverse proxy, MIME header encoding, improvement of SSI, and yysh on Windows. Access Control (REJECT parameter for reverse proxy or origin server) -- Fixed REJECT parameter not to unconditionally reject accesses to destination servers (as a reverse proxy) or local files (as an origin server) regardless of a specified protocol. -- The REJECT parameter is for rejecting specified access with the format as follows: REJECT=protocolList:serverList:clientList It is the antonym of PERMIT that allows specified access. -- A modification in version 8.4.0 (Sep. 2003!) made a bad side effect that if a REJECT parameter is given, protcolList part is neglected so that any access of any protocol other than the specified one is rejected unconditionally. For example, configure a reverse proxy with a MOUNT parameter: MOUNT="/* http://server/*" and then restrict this MOUNT point not to be accessible from hosts in "*.outer.domain" by a REJECT parameter as follows: REJECT="http:server:*.outer.domain" But it works as if specified as follows: REJECT="*:server:*.outer.domain" Thus if other MOUNT points that should be allowed like MOUNT="/anonftp/* ftp://server/*" is also rejected by the REJECT. -- Fortunately this has not been problematic for most users because this kind of configuration seems not used X-) -- There is no workaround for this problem in older versions. MIME header encoding (broken multi-bytes character and MIME header) -- Fixed 8bits multi-bytes character not to be split into two MIME-encoded words (since the original code in 1992). This will break the decoded text by inserting a white space in the middle of the character code of a multi-bytes character. This problem occurs in EUC-JP, Shift_JIS and UTF-8. -- Fixed concatenation of adjacent encoded-word makes broken continued line without leading space (since v9.9.9, July 2014). HTTP filter (extracting a part of HTML and generating hyper-link) -- Added a feature to generate hyper-link for words in HTML. -- DeleGate as an origin server has a feature to provide a part of HTML file. When a HTML file of name "xxx.html" is required by a client with URL as "xxx.html?partname", the part of the HTML file named with ... is extracted and returned to the client. An example: -- In an extracted HTML file, all of internal reference of format are converted to so that clicking the anchor becomes extracting the part again. -- In 9.9.12, a tentative feature to generate a hyper-link for a word of capital character only like "DGROOT". Such word is converted to a hyper-link as DGROOT automatically. -- This feature is very specialized to DeleGate Reference Manual including so many such words for parameter names because all of parameters of DeleGate are capital only :-) This feature might be generalized in future. yysh (default HOME directory of DeleGate remote shell) -- Modified to use appropriate default home directory if it is not specified explicitly by YYCONF="HOME:path" The default depends on where the DeleGate service for yysh is invoked. It follows HOME=path environment variable when invoked from Cygwin terminal while it is %HOMEDRIVE%%HOMEPATH% (as C:\Users\username) when invoked from the command prompt. -- When DeleGate is running in foreground, the default home directory is the current working directory where the DeleGate is invoked. Service on Windows (invocation of program of relative name) -- Fixed to get the path of the executable file of DeleGate appropriately so that a programs of which path is relative to the path of the executable of DeleGate running as a service. -- In the command prompt of Windows, a command can be invoked by the file name in the current directory even if the PATH environment does not include ".". Since older DeleGate did get the path of executable file of itself using a function common to Unix, based on PATH environment, it fails to get it. And the working directory of DeleGate as a service changes from it invocation time, a program of which path is relative to the working directory fails because DeleGate does not know the path of itself. It is fixed simply to use the provided function on Windows API. Cheers from Japan, Yutaka -- 9 9 Yutaka Sato { Do the more with the less -- B. Fuller } ( ~ ) National Institute of Advanced Industrial Science and Technology _< >_ 1-1-4 Umezono, Tsukuba, Ibaraki, 305-8568 Japan