httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Greg Stein <>
Subject Re: cvs commit: apache-2.0/src/lib/apr/include apr.hw
Date Thu, 02 Nov 2000 17:15:19 GMT
On Thu, Nov 02, 2000 at 03:24:25PM -0000, wrote:
> wrowe       00/11/02 07:24:14
>   Modified:    src      CHANGES
>                src/lib/apr/file_io/unix fileacc.c
>                src/lib/apr/file_io/win32 dir.c filedup.c fileio.h
>                         filestat.c open.c pipe.c
>                src/lib/apr/include apr.hw
>   Log:
>     The Unicode/WinNT APR patch.  Note that this may even be faster than
>     MS's internal atow translation that always occurs.  Enabled now by
>     default.  Warning; it's probable that extended characters in existing
>     URL's are broken by the patch, since the URL semantic changes.  Also,
>     launching cgi's, loading modules, etc that use extended characters are
>     also broken.
>     Step 2 is to address the cgi/CreateProcess (spawn) aspects of the patch,
>     fix dso/LoadModule handling, and accept a Unicode'd httpd.conf file, as
>     utf-8 is already legal in httpd.conf path specs, but difficult to use.

Bill, where is the runtime query function to determine how APR was built?

As we discussed at ApacheCon, if you alter the semantics of the functions
(i.e. from native 8-bit encodings to UTF-8 encoding), then you must have a
runtime query function. This allows programs linked against APR to determine
how it was built (and what semantics it uses for apr_open).

Dropping that flag into apr.h is not enough. Consider a Linux distro with a
couple RPMs which have been built. What happens if they are built against an
APR with and an APR without the UTF-8 semantics? One of them is going to
break at install time.

The runtime function allows them to check.

Another alternative that we discussed at ApacheCon is to have different
entry points, each with fixed (non-compile-time-changable) semantics. At the
conference, I was pretty ambivalent about which to choose, but I'm not
leaning towards two entry point, rather than a single entry point that can
change semantics on people.

So... this Unicode stuff is incomplete until you have a runtime query (-0)
or separate entry points (+1).


Greg Stein,

View raw message