Project team has sent an updated spec, it's now in the materials
directory as well as below. Timer extended to 10/24/2007.
Including Apache 2.2.6 with Solaris
October 16, 2007
Seema Alevoor <seema.alevoor at sun.com>
1. Summary and motivation
1.1. Introduction
This project delivers an updated version of the Apache 2 Web
Server [1], Apache 2.2.6. [2]
According to the HTTPD Home Page [4], "The Apache HTTP Server
Project is proud to announce the release of version 2.2.6 of
the Apache HTTP Server ("Apache"). This version is principally a
security and bugfix release.
This version of Apache is a major release and the start of a new
stable branch, and represents the best available version of Apache
HTTP Server. New features include Smart Filtering, Improved Caching,
AJP Proxy, Proxy Load Balancing, Graceful Shutdown support, Large
File Support, the Event MPM, and refactored Authentication and
Authorization."
This case also announces the EOL of the Apache 2.0.x APR Interface
[with an announcement to take place in a Solaris 10 Update], and
EOFs the Apache 2.0.x APR Interface in the next Minor Release of
Solaris.
This case seeks Minor Release Binding.
1.2. Previous Relevant ARC Cases
PSARC 2007/169 Apache 2.2.4 in Solaris (superseded)
PSARC 2004/676 Apache 2.x.x in Solaris
PSARC 2004/278 GSSAPI auth for Apache
PSARC 2001/266 Addition of Jakarta Tomcat for Apache
PSARC 2001/244 Apache moving to SFW Consolidation
PSARC 2000/040 Java Servlet Support in Apache
PSARC 1999/542 Apache for Solaris
PSARC/1998/138 Kerberos V5 clients and PAM module
PSARC/1996/060 GSS-KRB5 (Kerberos V5 GSS-API mechanism)
2. Technical description
2.1. API and ABI compatibility
The Apache 2.2.x Module API/ABI is NOT binary compatible with the
Apache 2.0.x Module API/ABI:
"Add-in modules for Apache 1.3 or 2.0 are not compatible with
Apache 2.2. If you are running third party add-in modules, you
must obtain modules compiled or updated for Apache 2.2 from that
third party, before you attempt to upgrade from these previous
versions. Modules compiled for Apache 2.2 should continue to work
for all 2.2.x releases." [5]
Based on these observations we conclude that while
compatibility of Apache httpd interfaces is generally good
within a minor release family (such as from 2.2.4 to 2.2.6),
compatibility from one minor release to the next (such as from
2.0.* to 2.2.* or in the future to 2.4.*) is unlikely.
In order to accommodate the development model of the Apache
community and to provide a mechanism for updating to future
minor releases of Apache (such as 2.4) in the lifetime of a
given minor release of [Open]Solaris, this project will
deliver a file layout where the string "[version]" is expanded to
"MAJOR.MINOR" (e.g. /usr/apache2/2.2/* - refer to Appendix 1 for
a complete file listing).
This project reclassifies most of the Apache exported interfaces
to Uncommitted. Refer to the Exported Interfaces table for details.
A Release Note will be submitted for the Solaris Updates documenting
that the interface may change incompatibly in a subsequent release of
Solaris.
2.2. Request Handling MPMs
Apache 2.0.x was delivered with the prefork-mpm request handler.
This project will deliver another popular request handler model,
the worker-mpm along with the default prefork-mpm request handler.
The binaries will be named
httpd (prefork-mpm, the default)
httpd.worker (worker-mpm)
The worker-mpm assumes that all Apache Modules have been written
thread-safe [thread-safety refers to the actual programmatic
implementation of the respective modules, and is not limited to
run-time binding to reentrant interfaces].
When worker-mpm model is used, Apache Modules not written with
concern for thread-safety will break at runtime. Release Notes
detailing the possibility of breakage will be included with this project.
All the modules provided by this project will work with both
prefork-mpm and worker-mpm.
2.3. Configuration and Environment Settings
Apache 2.0.x did not support out-of-the-box server startup.
This project will deliver httpd.conf, the default Apache
configuration file under /etc/apache2/[version] directory to support
out-of-the-box server startup.
This project will also provide a new configuration directory
/etc/apache2/[version]/conf.d which will contain server
configuration files. This directory name has become the accepted
standard for Apache .conf files across other distributions.
Apache 2 provides a configuration file, "envvars", for the user to
specify the environment variables which are passed to the server
during startup. Other scripts like apachectl and apxs source this
file. Apache 2 installs this file under /usr/apache2/[version]/bin
directory. In order to allow administrators to modify the
environment, this project will deliver a separate (empty by
default) /etc/apache2/[version]/envvars suitable for editing. The
/usr/apache2/[version]/bin/envvars will source this new file.
Apache2 modules are installed under /usr/apache2/[version]/libexec
directory. "apxs" is a tool for building and installing extension
modules for the Apache. This tool provides an option "-i", which
installs the user generated modules in the modules directory. In
order to support modules built by the user, this project will
deliver another user-writable directory
/var/apache2/[version]/libexec and apxs will be modified to
install the user module into this directory.
2.4. 64-bit Apache
This project also delivers 64-bit support in Apache.
Apache poses an interesting challenge to the coexistence of 32-
and 64-bit versions. Public scripts and include files are
generated at build time and these hardcode assumptions about the
bitness of that build. Appendix 2 shows a sample of such
differences.
Apache also provides a set of scripts which assist in the
compilation of 3rd party Apache modules:
- The 'apxs' script
- The supporting 'build' directory
- The supporting makefile includes [ *.mk ] files
The 'apxs' script is a Perl script which contains hardcoded
information about the particular Apache build. The apxs script
reads the makefile includes files from the 'build' directory produced
during the build which in turn is also specific to either 32- or
64-bitness.
2.4.1. Include [ header ] files.
Public Apache header files which are generated at ./configure time
will be merged to include both 32- and 64-bit definitions. The
differences between 32- and 64-bit datatypes will be guarded
either via the _LP64 macro, or via the appropriate ISA macros:
#if defined(_LP64)
#define APR_SIZEOF_VOIDP 8
#else
#define APR_SIZEOF_VOIDP 4
#endif
#if defined(__sparcv9)
#define APR_IS_BIGENDIAN 1
#else
#define APR_IS_BIGENDIAN 0
#endif
2.4.2. Supporting build directories and scripts [ apxs ].
Given the complexity and the number of bitness-specific support
objects created by the Apache build, this project will deliver
separate sets of these files for 32- and 64-bit environments. These
directories will follow the Solaris naming and location convention
already in existence.
/usr/apache2/
[version]/build/
[version]/build/${ISAINFO}/
The correct location of these supporting objects is hardcoded at
Apache configuration time by editing the appropriate
'config.layout' files delivered by the Apache distribution.
Separate versions of the 'config.layout' files will have to be
maintained in the source.
2.5. Directory Naming and Structure
The Apache 2 distribution will install objects under three
distinct directory hierarchies: /usr/apache2/[version],
/etc/apache2/[version] and /var/apache2/[version].
/usr/apache2/
[version]/bin/
[version]/bin/${ISAINFO}/
[version]/build/
[version]/build/${ISAINFO}/
[version]/include/
[version]/lib/
[version]/lib/${ISAINFO}/
[version]/libexec/
[version]/libexec/${ISAINFO}/
[version]/man/
[version]/manual/
/var/apache2/
[version]/cgi-bin/
[version]/error/
[version]/htdocs/
[version]/icons/
[version]/libexec/
[version]/libexec/${ISAINFO}/
[version]/logs/
[version]/proxy/
/etc/apache2/
[version]/conf.d/
[version]/original/extra/
The detailed directory and file layout for Apache 2 is provided in
Appendix 1.
2.6. Packaging and Delivery
The project allows for the coexistence of multiple versions of
Apache 2.MINOR by keeping each installation under a
version-specific subdirectory. The following package naming
convention will be followed:
SUNWapch22r Apache Web Server V2 [root]
SUNWapch22u Apache Web Server V2 [usr]
SUNWapch22d Apache Web Server V2 [Documentation]
3. Apache 2 Modules
Just as the previous versions of Apache, Apache 2.2.x supports
dynamically loadable modules. This integration will include all
the modules provided by the Apache canonical distribution.
This project will continue to deliver the following
additional modules [which are not part of the Apache canonical
distribution]:
/usr/apache2/[version]/libexec/mod_auth_gss.so [16]
/usr/apache2/[version]/libexec/${ISAINFO}/mod_auth_gss.so
/usr/apache2/[version]/libexec/mod_perl.so [12]
/usr/apache2/[version]/libexec/${ISAINFO}/mod_perl.so
and the Subversion modules:
/usr/apache2/[version]/libexec/mod_authz_svn.so
/usr/apache2/[version]/libexec/mod_dav_svn.so
Currently, Subversion delivers only 32-bit version of these modules.
Appendix 1 has the list of all the modules that will be delivered by
this project.
Additional modules will be delivered subsequent to this integration,
depending on customer requests, and on the availability of the
external dependencies required by these modules. These additional
modules will be covered in future ARC cases.
4. Apache Internationalization.
Apache2 provides GNU iconv compatible I18N support via
libaprutil-1.so.0.2.11. The project relies on the GNU iconv compatibility
layer available in Solaris' libc.so.
5. Apache Documentation
Apache 2.2.x provides a full and complete documentation set, in
UNIX manual format, as well as HTML. This project will deliver
both documentation sets.
6. Interfaces
6.1. Interface Stability
The Apache Project broke API and ABI compatibility between version
2.0.x and version 2.2.x of the canonical distribution. [3] We
will reclassify most of the Apache2 Interfaces as Uncommitted.
6.2. Imported Interfaces
Apache 2.2.x imports interfaces from the Standard C Library, the
Network Services Layer Library and the Pthreads Library. In addition,
the following Interfaces are imported:
NAME STABILITY NOTES
Apache 2 In Solaris Uncommitted PSARC/2004/676
OpenSSL External/Volatile PSARC/2003/500
PCRE Uncommitted PSARC/2007/164
Perl5 Standard PSARC/1999/192
Kerberos 5 External PSARC/2004/278
LibEXPAT Evolving LSARC/2004/324
LDAP Evolving PSARC/1997/276 et seq.
Java Stable PSARC/2003/696
GSSAPI auth for Apache External PSARC/2004/278
Kerberos V4 EOF PSARC/1999/199
Kerberos V5 clients and PAM Evolving PSARC/1998/138
Kerberos V5 GSS-API mechanism Stable PSARC/1996/060
6.3. Exported Interfaces
NAME STABILITY NOTES
/usr/apache2/[version]/
bin/ Uncommitted Executables and Scripts
location
bin/${ISAINFO}/ Uncommitted 64-bit Executables and
Scripts location
build/ Uncommitted location of the scripts
to build modules, libtool
build/${ISAINFO}/ Uncommitted location of the 64-bit
specific scripts to build
modules, libtool
include/ Uncommitted Include directory
lib/
lib/${ISAINFO}/
apr.exp Uncommitted Linker Map File
aprutil.exp Uncommitted Linker Map File
libapr-1.so.0.2.11 Volatile Shared Library
libapr-1.so -> libapr-1.so.0.2.11
Volatile Symbolic Link
libapr-1.so.0 -> libapr-1.so.0.2.11
Uncommitted Symbolic Link
libaprutil-1.so.0.2.11 Volatile Shared Library
libaprutil-1.so -> libaprutil-1.so.0.2.11
Volatile Symbolic Link
libaprutil-1.so.0 -> libaprutil-1.so.0.2.11
Uncommitted Symbolic Link
libexec/ Project Private Apache Modules location
libexec/${ISAINFO}/ Project Private 64-bit Apache Modules
location
man/ Uncommitted Manual Pages
manual/ Uncommitted HTML format Manual Pages
/etc/apache2/[version]/ Uncommitted Apache Configuration
/var/apache2/[version]/
cgi-bin/ Uncommitted Default CGI scripts
directory
error/ Uncommitted Error messages
htdocs/ Uncommitted Default Document Root
icons/ Uncommitted Default Set of Icons
libexec/ Uncommitted Location of User Modules
libexec/${ISAINFO}/ Uncommitted Location of 64-bit User
Modules
logs/ Uncommitted Location of Log Files
proxy/ Uncommitted Default Cache Root
(used by the proxy module)
/var/run/apache2/[version]/ Uncommitted Runtime Files
svc:/network/http:apache22 Committed FMRI
startup_options Committed SMF(5) Property for
startup options which
the apachectl script
passes on to httpd
executable
server_type Committed SMF(5) Property for
specifying the server
type (prefork or worker)
platform Committed SMF(5) Property determines
whether the server runs as
a 32-bit or 64-bit
process. The value can be
32 or 64
/lib/svc/method/http-apache2 Project Private SMF service method script
/var/svc/manifest/network/http-apache2.xml
Project Private SMF Manifest
7. References
[1] http://www.apache.org/
[2] http://sac.sfbay/PSARC/2007/169/
[3] http://sac.sfbay/PSARC/2004/676/
[4] http://httpd.apache.org/
[5] http://httpd.apache.org/download.cgi
[6] http://apr.apache.org/versioning.html
[7] http://apr.apache.org/docs/apr/1.2/index.html
[8] http://apr.apache.org/docs/apr-util/1.2/
[9] http://apr.apache.org/docs/apr-iconv/1.2/index.html
[10] http://www.pcre.org/
[11] http://www.openssl.org/
[12] http://www.perl.org/
[13] http://www.modsecurity.org/
[14] http://www.libexpat.org/
[15] http://tomcat.apache.org/download-connectors.cgi
[16] http://sac.sfbay/PSARC/2004/278/
------------------------------------------------------------------------------
Appendix 1: Apache 2 Integration Directory and File Structure.
/etc/apache2/2.2/
conf.d/
modules-32.load
modules-64.load
envvars
httpd.conf
magic
mime.types
original/
extra/
httpd-autoindex.conf
httpd-dav.conf
httpd-default.conf
httpd-info.conf
httpd-languages.conf
httpd-manual.conf
httpd-mpm.conf
httpd-multilang-errordoc.conf
httpd-ssl.conf
httpd-userdir.conf
httpd-vhosts.conf
httpd.conf
/lib/svc/method/http-apache2
/usr/apache2/2.2/
bin/
ab
apachectl
apr-1-config
apu-1-config
apxs
checkgid
dbmmanage
envvars
envvars-std
htcacheclean
htdbm
htdigest
htpasswd
httpd
httpd.worker
httxt2dbm
logresolve
rotatelogs
suexec.disabled
bin/${ISAINFO}/
ab
apachectl
apr-1-config
apu-1-config
apxs
checkgid
dbmmanage
envvars
envvars-std
htcacheclean
htdbm
htdigest
htpasswd
httpd
httpd.worker
httxt2dbm
logresolve
rotatelogs
suexec.disabled
build/
apr_rules.mk
config.nice
config_vars.mk
instdso.sh
library.mk
libtool
ltlib.mk
make_exports.awk
make_var_export.awk
mkdir.sh
program.mk
rules.mk
special.mk
build/${ISAINFO}/
apr_rules.mk
config.nice
config_vars.mk
instdso.sh
library.mk
libtool
ltlib.mk
make_exports.awk
make_var_export.awk
mkdir.sh
program.mk
rules.mk
special.mk
include/
ap_compat.h
ap_config.h
ap_config_auto.h
ap_config_layout.h
ap_listen.h
ap_mmn.h
ap_mpm.h
ap_provider.h
ap_regex.h
ap_regkey.h
ap_release.h
apr.h
apr_allocator.h
apr_anylock.h
apr_atomic.h
apr_base64.h
apr_buckets.h
apr_date.h
apr_dbd.h
apr_dbm.h
apr_dso.h
apr_env.h
apr_errno.h
apr_file_info.h
apr_file_io.h
apr_fnmatch.h
apr_general.h
apr_getopt.h
apr_global_mutex.h
apr_hash.h
apr_hooks.h
apr_inherit.h
apr_ldap.h
apr_ldap_init.h
apr_ldap_option.h
apr_ldap_url.h
apr_lib.h
apr_md4.h
apr_md5.h
apr_mmap.h
apr_network_io.h
apr_optional.h
apr_optional_hooks.h
apr_poll.h
apr_pools.h
apr_portable.h
apr_proc_mutex.h
apr_queue.h
apr_random.h
apr_reslist.h
apr_ring.h
apr_rmm.h
apr_sdbm.h
apr_sha1.h
apr_shm.h
apr_signal.h
apr_strings.h
apr_strmatch.h
apr_support.h
apr_tables.h
apr_thread_cond.h
apr_thread_mutex.h
apr_thread_proc.h
apr_thread_rwlock.h
apr_time.h
apr_uri.h
apr_user.h
apr_uuid.h
apr_version.h
apr_want.h
apr_xlate.h
apr_xml.h
apu.h
apu_version.h
apu_want.h
fdqueue.h
http_config.h
http_connection.h
http_core.h
http_log.h
http_main.h
http_protocol.h
http_request.h
http_vhost.h
httpd.h
mod_auth.h
mod_cgi.h
mod_core.h
mod_dav.h
mod_dbd.h
mod_include.h
mod_log_config.h
mod_proxy.h
mod_ssl.h
mod_status.h
mpm.h
mpm_common.h
mpm_default.h
os.h
pod.h
scoreboard.h
unixd.h
util_cfgtree.h
util_charset.h
util_ebcdic.h
util_filter.h
util_ldap.h
util_md5.h
util_script.h
util_time.h
util_xml.h
lib/
apr.exp
aprutil.exp
libapr-1.a
libapr-1.la
libapr-1.so -> libapr-1.so.0.2.11*
libapr-1.so.0 -> libapr-1.so.0.2.11*
libapr-1.so.0.2.11
libaprutil-1.a
libaprutil-1.la
libaprutil-1.so -> libaprutil-1.so.0.2.11*
lib2.11*
libaprutil-1.so.0.2.11
pkgconfig/
apr-1.pc
apr-util-1.pc
lib/${ISAINFO}/
apr.exp
aprutil.exp
libapr-1.a
libapr-1.la
libapr-1.so -> libapr-1.so.0.2.11*
libapr-1.so.0 -> libapr-1.so.0.2.11*
libapr-1.so.0.2.11
libaprutil-1.a
libaprutil-1.la
libaprutil-1.so -> libaprutil-1.so.0.2.11*
lib2.11*
libaprutil-1.so.0.2.11
pkgconfig/
apr-1.pc
apr-util-1.pc
libexec/
httpd.exp
mod_actions.so
mod_alias.so
mod_asis.so
mod_auth_basic.so
mod_auth_digest.so
mod_auth_gss.so
mod_authn_anon.so
mod_authn_dbd.so
mod_authn_dbm.so
mod_authn_default.so
mod_authn_file.so
mod_authnz_ldap.so
mod_authz_dbm.so
mod_authz_default.so
mod_authz_groupfile.so
mod_authz_host.so
mod_authz_owner.so
mod_authz_svn.so
mod_authz_user.so
mod_autoindex.so
mod_cache.so
mod_cern_meta.so
mod_cgi.so
mod_cgid.so
mod_dav.so
mod_dav_fs.so
mod_dav_svn.so
mod_dbd.so
mod_deflate.so
mod_dir.so
mod_disk_cache.so
mod_dumpio.so
mod_env.so
mod_expires.so
mod_ext_filter.so
mod_file_cache.so
mod_filter.so
mod_headers.so
mod_ident.so
mod_imagemap.so
mod_include.so
mod_info.so
mod_ldap.so
mod_log_config.so
mod_log_forensic.so
mod_logio.so
mod_mem_cache.so
mod_mime.so
mod_mime_magic.so
mod_negotiation.so
mod_perl.so
mod_proxy.so
mod_proxy_ajp.so
mod_proxy_balancer.so
mod_proxy_connect.so
mod_proxy_ftp.so
mod_proxy_http.so
mod_rewrite.so
mod_setenvif.so
mod_speling.so
mod_ssl.so
mod_status.so
mod_suexec.so
mod_unique_id.so
mod_userdir.so
mod_usertrack.so
mod_version.so
mod_vhost_alias.so
libexec/${ISAINFO}/
httpd.exp
mod_actions.so
mod_alias.so
mod_asis.so
mod_auth_basic.so
mod_auth_digest.so
mod_auth_gss.so
mod_authn_anon.so
mod_authn_dbd.so
mod_authn_dbm.so
mod_authn_default.so
mod_authn_file.so
mod_authnz_ldap.so
mod_authz_dbm.so
mod_authz_default.so
mod_authz_groupfile.so
mod_authz_host.so
mod_authz_owner.so
mod_authz_user.so
mod_autoindex.so
mod_cache.so
mod_cern_meta.so
mod_cgi.so
mod_cgid.so
mod_dav.so
mod_dav_fs.so
mod_dbd.so
mod_deflate.so
mod_dir.so
mod_disk_cache.so
mod_dumpio.so
mod_env.so
mod_expires.so
mod_ext_filter.so
mod_file_cache.so
mod_filter.so
mod_headers.so
mod_ident.so
mod_imagemap.so
mod_include.so
mod_info.so
mod_ldap.so
mod_log_config.so
mod_log_forensic.so
mod_logio.so
mod_mem_cache.so
mod_mime.so
mod_mime_magic.so
mod_negotiation.so
mod_perl.so
mod_proxy.so
mod_proxy_ajp.so
mod_proxy_balancer.so
mod_proxy_connect.so
mod_proxy_ftp.so
mod_proxy_http.so
mod_rewrite.so
mod_setenvif.so
mod_speling.so
mod_ssl.so
mod_status.so
mod_suexec.so
mod_unique_id.so
mod_userdir.so
mod_usertrack.so
mod_version.so
mod_vhost_alias.so
man/
man1/
dbmmanage.1
htdbm.1
htdigest.1
htpasswd.1
man3/
man8/
ab.8
apachectl.8
apxs.8
htcacheclean.8
httpd.8
logresolve.8
rotatelogs.8
suexec.8
manual/
LICENSE
bind.html
bind.html.de
bind.html.en
bind.html.fr
bind.html.ja.euc-jp
bind.html.ko.euc-kr
caching.html
caching.html.en
configuring.html
configuring.html.de
configuring.html.en
configuring.html.ja.euc-jp
configuring.html.ko.euc-kr
content-negotiation.html
content-negotiation.html.en
content-negotiation.html.ja.euc-jp
content-negotiation.html.ko.euc-kr
convenience.map
custom-error.html
custom-error.html.en
custom-error.html.es
custom-error.html.ja.euc-jp
custom-error.html.ko.euc-kr
developer/
API.html
API.html.en
debugging.html
debugging.html.en
documenting.html
documenting.html.en
filters.html
filters.html.en
hooks.html
hooks.html.en
index.html
index.html.en
modules.html
modules.html.en
modules.html.ja.euc-jp
request.html
request.html.en
thread_safety.html
thread_safety.html.en
dns-caveats.html
dns-caveats.html.en
dns-caveats.html.ja.euc-jp
dns-caveats.html.ko.euc-kr
dso.html
dso.html.en
dso.html.ja.euc-jp
dso.html.ko.euc-kr
env.html
env.html.en
env.html.ja.euc-jp
env.html.ko.euc-kr
faq/
index.html
index.html.en
filter.html
filter.html.en
filter.html.es
filter.html.fr
filter.html.ja.euc-jp
filter.html.ko.euc-kr
glossary.html
glossary.html.de
glossary.html.en
glossary.html.es
glossary.html.ko.euc-kr
handler.html
handler.html.en
handler.html.es
handler.html.fr
handler.html.ja.euc-jp
handler.html.ko.euc-kr
handler.html.ru.koi8-r
howto/
access.html
access.html.en
auth.html
auth.html.en
auth.html.ja.euc-jp
auth.html.ko.euc-kr
cgi.html
cgi.html.en
cgi.html.ja.euc-jp
cgi.html.ko.euc-kr
htaccess.html
htaccess.html.en
htaccess.html.ja.euc-jp
htaccess.html.ko.euc-kr
htaccess.html.pt-br
index.html
index.html.en
index.html.ja.euc-jp
index.html.ko.euc-kr
public_html.html
public_html.html.en
public_html.html.ja.euc-jp
public_html.html.ko.euc-kr
ssi.html
ssi.html.en
ssi.html.ja.euc-jp
ssi.html.ko.euc-kr
images/
apache_header.gif
caching_fig1.gif
caching_fig1.png
custom_errordocs.png
down.gif
favicon.ico
feather.gif
feather.png
filter_arch.png
home.gif
index.gif
left.gif
mod_filter_new.gif
mod_filter_new.png
mod_filter_old.gif
mod_rewrite_fig1.gif
mod_rewrite_fig1.png
mod_rewrite_fig2.gif
mod_rewrite_fig2.png
pixel.gif
right.gif
ssl_intro_fig1.gif
ssl_intro_fig1.png
ssl_intro_fig2.gif
ssl_intro_fig2.png
ssl_intro_fig3.gif
ssl_intro_fig3.png
sub.gif
up.gif
index.html
index.html.de
index.html.en
index.html.es
index.html.fr
index.html.ja.euc-jp
index.html.ko.euc-kr
index.html.pt-br
install.html
install.html.de
install.html.en
install.html.es
install.html.fr
install.html.ja.euc-jp
install.html.ko.euc-kr
invoking.html
invoking.html.de
invoking.html.en
invoking.html.es
invoking.html.fr
invoking.html.ja.euc-jp
invoking.html.ko.euc-kr
invoking.html.ru.koi8-r
license.html
license.html.en
logs.html
logs.html.en
logs.html.ja.euc-jp
logs.html.ko.euc-kr
misc/
index.html
index.html.en
index.html.ko.euc-kr
perf-tuning.html
perf-tuning.html.en
perf-tuning.html.ko.euc-kr
relevant_standards.html
relevant_standards.html.en
relevant_standards.html.ko.euc-kr
rewriteguide.html
rewriteguide.html.en
rewriteguide.html.ko.euc-kr
security_tips.html
security_tips.html.en
security_tips.html.ko.euc-kr
mod/
beos.html
beos.html.de
beos.html.en
beos.html.es
beos.html.ko.euc-kr
core.html
core.html.de
core.html.en
core.html.ja.euc-jp
directive-dict.html
directive-dict.html.en
directive-dict.html.ja.euc-jp
directive-dict.html.ko.euc-kr
directives.html
directives.html.de
directives.html.en
directives.html.es
directives.html.ja.euc-jp
directives.html.ko.euc-kr
directives.html.ru.koi8-r
event.html
event.html.en
index.html
index.html.de
index.html.en
index.html.es
index.html.ja.euc-jp
index.html.ko.euc-kr
mod_actions.html
mod_actions.html.de
mod_actions.html.en
mod_actions.html.ja.euc-jp
mod_actions.html.ko.euc-kr
mod_alias.html
mod_alias.html.en
mod_alias.html.ja.euc-jp
mod_alias.html.ko.euc-kr
mod_asis.html
mod_asis.html.en
mod_asis.html.ja.euc-jp
mod_asis.html.ko.euc-kr
mod_auth_basic.html
mod_auth_basic.html.en
mod_auth_basic.html.ja.euc-jp
mod_auth_basic.html.ko.euc-kr
mod_auth_digest.html
mod_auth_digest.html.en
mod_auth_digest.html.ko.euc-kr
mod_authn_alias.html
mod_authn_alias.html.en
mod_authn_anon.html
mod_authn_anon.html.en
mod_authn_anon.html.ja.euc-jp
mod_authn_anon.html.ko.euc-kr
mod_authn_dbd.html
mod_authn_dbd.html.en
mod_authn_dbm.html
mod_authn_dbm.html.en
mod_authn_dbm.html.ja.euc-jp
mod_authn_dbm.html.ko.euc-kr
mod_authn_default.html
mod_authn_default.html.en
mod_authn_default.html.ja.euc-jp
mod_authn_default.html.ko.euc-kr
mod_authn_file.html
mod_authn_file.html.en
mod_authn_file.html.ja.euc-jp
mod_authn_file.html.ko.euc-kr
mod_authnz_ldap.html
mod_authnz_ldap.html.en
mod_authz_dbm.html
mod_authz_dbm.html.en
mod_authz_dbm.html.ko.euc-kr
mod_authz_default.html
mod_authz_default.html.en
mod_authz_default.html.ja.euc-jp
mod_authz_default.html.ko.euc-kr
mod_authz_groupfile.html
mod_authz_groupfile.html.en
mod_authz_groupfile.html.ja.euc-jp
mod_authz_groupfile.html.ko.euc-kr
mod_authz_host.html
mod_authz_host.html.en
mod_authz_host.html.ja.euc-jp
mod_authz_host.html.ko.euc-kr
mod_authz_owner.html
mod_authz_owner.html.en
mod_authz_owner.html.ja.euc-jp
mod_authz_owner.html.ko.euc-kr
mod_authz_user.html
mod_authz_user.html.en
mod_authz_user.html.ja.euc-jp
mod_authz_user.html.ko.euc-kr
mod_autoindex.html
mod_autoindex.html.en
mod_autoindex.html.ja.euc-jp
mod_autoindex.html.ko.euc-kr
mod_cache.html
mod_cache.html.en
mod_cache.html.ja.euc-jp
mod_cache.html.ko.euc-kr
mod_cern_meta.html
mod_cern_meta.html.en
mod_cern_meta.html.ko.euc-kr
mod_cgi.html
mod_cgi.html.en
mod_cgi.html.ja.euc-jp
mod_cgi.html.ko.euc-kr
mod_cgid.html
mod_cgid.html.en
mod_cgid.html.ja.euc-jp
mod_cgid.html.ko.euc-kr
mod_charset_lite.html
mod_charset_lite.html.en
mod_charset_lite.html.ko.euc-kr
mod_dav.html
mod_dav.html.en
mod_dav.html.ja.euc-jp
mod_dav.html.ko.euc-kr
mod_dav_fs.html
mod_dav_fs.html.en
mod_dav_fs.html.ja.euc-jp
mod_dav_fs.html.ko.euc-kr
mod_dav_lock.html
mod_dav_lock.html.en
mod_dav_lock.html.ja.euc-jp
mod_dbd.html
mod_dbd.html.en
mod_deflate.html
mod_deflate.html.en
mod_deflate.html.ja.euc-jp
mod_deflate.html.ko.euc-kr
mod_dir.html
mod_dir.html.en
mod_dir.html.ja.euc-jp
mod_dir.html.ko.euc-kr
mod_disk_cache.html
mod_disk_cache.html.en
mod_disk_cache.html.ja.euc-jp
mod_disk_cache.html.ko.euc-kr
mod_dumpio.html
mod_dumpio.html.en
mod_dumpio.html.ja.euc-jp
mod_echo.html
mod_echo.html.en
mod_echo.html.ja.euc-jp
mod_echo.html.ko.euc-kr
mod_env.html
mod_env.html.en
mod_env.html.ja.euc-jp
mod_env.html.ko.euc-kr
mod_example.html
mod_example.html.en
mod_example.html.ko.euc-kr
mod_expires.html
mod_expires.html.en
mod_expires.html.ja.euc-jp
mod_expires.html.ko.euc-kr
mod_ext_filter.html
mod_ext_filter.html.en
mod_ext_filter.html.ja.euc-jp
mod_ext_filter.html.ko.euc-kr
mod_file_cache.html
mod_file_cache.html.en
mod_file_cache.html.ko.euc-kr
mod_filter.html
mod_filter.html.en
mod_headers.html
mod_headers.html.en
mod_headers.html.ja.euc-jp
mod_headers.html.ko.euc-kr
mod_ident.html
mod_ident.html.en
mod_ident.html.ko.euc-kr
mod_imagemap.html
mod_imagemap.html.en
mod_imagemap.html.ko.euc-kr
mod_include.html
mod_include.html.en
mod_include.html.ja.euc-jp
mod_info.html
mod_info.html.en
mod_info.html.ja.euc-jp
mod_info.html.ko.euc-kr
mod_isapi.html
mod_isapi.html.en
mod_isapi.html.ko.euc-kr
mod_ldap.html
mod_ldap.html.en
mod_log_config.html
mod_log_config.html.en
mod_log_config.html.ja.euc-jp
mod_log_config.html.ko.euc-kr
mod_log_forensic.html
mod_log_forensic.html.en
mod_log_forensic.html.ja.euc-jp
mod_logio.html
mod_logio.html.en
mod_logio.html.ja.euc-jp
mod_logio.html.ko.euc-kr
mod_mem_cache.html
mod_mem_cache.html.en
mod_mem_cache.html.ja.euc-jp
mod_mem_cache.html.ko.euc-kr
mod_mime.html
mod_mime.html.en
mod_mime.html.ja.euc-jp
mod_mime_magic.html
mod_mime_magic.html.en
mod_negotiation.html
mod_negotiation.html.en
mod_negotiation.html.ja.euc-jp
mod_nw_ssl.html
mod_nw_ssl.html.en
mod_proxy.html
mod_proxy.html.en
mod_proxy.html.ja.euc-jp
mod_proxy_ajp.html
mod_proxy_ajp.html.en
mod_proxy_ajp.html.ja.euc-jp
mod_proxy_balancer.html
mod_proxy_balancer.html.en
mod_proxy_balancer.html.ja.euc-jp
mod_proxy_connect.html
mod_proxy_connect.html.en
mod_proxy_ftp.html
mod_proxy_ftp.html.en
mod_proxy_http.html
mod_proxy_http.html.en
mod_rewrite.html
mod_rewrite.html.en
mod_setenvif.html
mod_setenvif.html.en
mod_setenvif.html.ja.euc-jp
mod_setenvif.html.ko.euc-kr
mod_so.html
mod_so.html.en
mod_so.html.ja.euc-jp
mod_so.html.ko.euc-kr
mod_speling.html
mod_speling.html.en
mod_speling.html.ja.euc-jp
mod_speling.html.ko.euc-kr
mod_ssl.html
mod_ssl.html.en
mod_status.html
mod_status.html.en
mod_status.html.ja.euc-jp
mod_status.html.ko.euc-kr
mod_suexec.html
mod_suexec.html.en
mod_suexec.html.ja.euc-jp
mod_suexec.html.ko.euc-kr
mod_unique_id.html
mod_unique_id.html.en
mod_unique_id.html.ja.euc-jp
mod_unique_id.html.ko.euc-kr
mod_userdir.html
mod_userdir.html.en
mod_userdir.html.ja.euc-jp
mod_userdir.html.ko.euc-kr
mod_usertrack.html
mod_usertrack.html.en
mod_version.html
mod_version.html.en
mod_version.html.ja.euc-jp
mod_version.html.ko.euc-kr
mod_vhost_alias.html
mod_vhost_alias.html.en
module-dict.html
module-dict.html.en
module-dict.html.ja.euc-jp
module-dict.html.ko.euc-kr
mpm_common.html
mpm_common.html.de
mpm_common.html.en
mpm_common.html.ja.euc-jp
mpm_netware.html
mpm_netware.html.en
mpm_winnt.html
mpm_winnt.html.de
mpm_winnt.html.en
mpm_winnt.html.ja.euc-jp
mpmt_os2.html
mpmt_os2.html.en
prefork.html
prefork.html.de
prefork.html.en
prefork.html.ja.euc-jp
quickreference.html
quickreference.html.de
quickreference.html.en
quickreference.html.es
quickreference.html.ja.euc-jp
quickreference.html.ko.euc-kr
quickreference.html.ru.koi8-r
worker.html
worker.html.de
worker.html.en
worker.html.ja.euc-jp
mpm.html
mpm.html.de
mpm.html.en
mpm.html.es
mpm.html.fr
mpm.html.ja.euc-jp
mpm.html.ko.euc-kr
new_features_2_0.html
new_features_2_0.html.de
new_features_2_0.html.en
new_features_2_0.html.fr
new_features_2_0.html.ja.euc-jp
new_features_2_0.html.ko.euc-kr
new_features_2_0.html.pt-br
new_features_2_0.html.ru.koi8-r
new_features_2_2.html
new_features_2_2.html.en
new_features_2_2.html.fr
new_features_2_2.html.ko.euc-kr
new_features_2_2.html.pt-br
platform/
ebcdic.html
ebcdic.html.en
ebcdic.html.ko.euc-kr
index.html
index.html.en
index.html.ko.euc-kr
netware.html
netware.html.en
netware.html.ko.euc-kr
perf-hp.html
perf-hp.html.en
perf-hp.html.ko.euc-kr
win_compiling.html
win_compiling.html.en
win_compiling.html.ko.euc-kr
windows.html
windows.html.en
windows.html.ko.euc-kr
programs/
ab.html
ab.html.en
ab.html.ko.euc-kr
apachectl.html
apachectl.html.en
apachectl.html.ko.euc-kr
apxs.html
apxs.html.en
apxs.html.ko.euc-kr
configure.html
configure.html.en
configure.html.ko.euc-kr
dbmmanage.html
dbmmanage.html.en
dbmmanage.html.ko.euc-kr
htcacheclean.html
htcacheclean.html.en
htcacheclean.html.ko.euc-kr
htdbm.html
htdbm.html.en
htdigest.html
htdigest.html.en
htdigest.html.ko.euc-kr
htpasswd.html
htpasswd.html.en
htpasswd.html.ko.euc-kr
httpd.html
httpd.html.en
httpd.html.ko.euc-kr
httxt2dbm.html
httxt2dbm.html.en
index.html
index.html.en
index.html.es
index.html.ko.euc-kr
index.html.ru.koi8-r
logresolve.html
logresolve.html.en
logresolve.html.ko.euc-kr
other.html
other.html.en
other.html.ko.euc-kr
rotatelogs.html
rotatelogs.html.en
rotatelogs.html.ko.euc-kr
suexec.html
suexec.html.en
suexec.html.ko.euc-kr
rewrite/
index.html
index.html.en
rewrite_guide.html
rewrite_guide.html.en
rewrite_guide_advanced.html
rewrite_guide_advanced.html.en
rewrite_intro.html
rewrite_intro.html.en
rewrite_tech.html
rewrite_tech.html.en
sections.html
sections.html.en
sections.html.ja.euc-jp
sections.html.ko.euc-kr
server-wide.html
server-wide.html.en
server-wide.html.ja.euc-jp
server-wide.html.ko.euc-kr
sitemap.html
sitemap.html.de
sitemap.html.en
sitemap.html.es
sitemap.html.ja.euc-jp
sitemap.html.ko.euc-kr
ssl/
index.html
index.html.en
index.html.ja.euc-jp
ssl_compat.html
ssl_compat.html.en
ssl_faq.html
ssl_faq.html.en
ssl_howto.html
ssl_howto.html.en
ssl_intro.html
ssl_intro.html.en
ssl_intro.html.ja.euc-jp
stopping.html
stopping.html.de
stopping.html.en
stopping.html.es
stopping.html.fr
stopping.html.ja.euc-jp
stopping.html.ko.euc-kr
style/
build.properties
common.dtd
css/
manual-chm.css
manual-loose-100pc.css
manual-print.css
manual-zip-100pc.css
manual-zip.css
manual.css
faq.dtd
lang/
lang.dtd
latex/
atbeginend.sty
common.xsl
directiveindex.xsl
faq.xsl
html.xsl
latex.xsl
manualpage.xsl
moduleindex.xsl
quickreference.xsl
synopsis.xsl
manual.de.xsl
manual.en.xsl
manual.es.xsl
manual.fr.xsl
manual.ja.xsl
manual.ko.xsl
manual.pt-br.xsl
manual.ru.xsl
manualpage.dtd
modulesynopsis.dtd
sitemap.dtd
version.ent
xsl/
common.xsl
convmap.xsl
directiveindex.xsl
faq.xsl
hhc.xsl
hhp.xsl
indexpage.xsl
language.xsl
maf.xsl
manualpage.xsl
moduleindex.xsl
nroff.xsl
quickreference.xsl
sitemap.xsl
synopsis.xsl
typemap.xsl
util/
modtrans.xsl
suexec.html
suexec.html.en
suexec.html.ja.euc-jp
suexec.html.ko.euc-kr
upgrading.html
upgrading.html.de
upgrading.html.en
upgrading.html.ja.euc-jp
upgrading.html.ko.euc-kr
upgrading.html.pt-br
upgrading.html.ru.koi8-r
urlmapping.html
urlmapping.html.en
urlmapping.html.ja.euc-jp
urlmapping.html.ko.euc-kr
vhosts/
details.html
details.html.en
details.html.fr
details.html.ko.euc-kr
examples.html
examples.html.en
examples.html.fr
examples.html.ja.euc-jp
examples.html.ko.euc-kr
fd-limits.html
fd-limits.html.en
fd-limits.html.fr
fd-limits.html.ja.euc-jp
fd-limits.html.ko.euc-kr
index.html
index.html.de
index.html.en
index.html.fr
index.html.ja.euc-jp
index.html.ko.euc-kr
index.html.ru.koi8-r
ip-based.html
ip-based.html.en
ip-based.html.fr
ip-based.html.ja.euc-jp
ip-based.html.ko.euc-kr
mass.html
mass.html.en
mass.html.ko.euc-kr
name-based.html
name-based.html.de
name-based.html.en
name-based.html.fr
name-based.html.ja.euc-jp
name-based.html.ko.euc-kr
/var/run/apache2/2.2/
/var/apache2/2.2/
cgi-bin/
printenv
test-cgi
error/
HTTP_BAD_GATEWAY.html.var
HTTP_BAD_REQUEST.html.var
HTTP_FORBIDDEN.html.var
HTTP_GONE.html.var
HTTP_INTERNAL_SERVER_ERROR.html.var
HTTP_LENGTH_REQUIRED.html.var
HTTP_METHOD_NOT_ALLOWED.html.var
HTTP_NOT_FOUND.html.var
HTTP_NOT_IMPLEMENTED.html.var
HTTP_PRECONDITION_FAILED.html.var
HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
HTTP_REQUEST_TIME_OUT.html.var
HTTP_REQUEST_URI_TOO_LARGE.html.var
HTTP_SERVICE_UNAVAILABLE.html.var
HTTP_UNAUTHORIZED.html.var
HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
HTTP_VARIANT_ALSO_VARIES.html.var
README
contact.html.var
include/
bottom.html
spacer.html
top.html
htdocs/
apache_pb.gif
apache_pb.png
apache_pb22.gif
apache_pb22.png
apache_pb22_ani.gif
index.html
icons/
README
README.html
a.gif
a.png
alert.black.gif
alert.black.png
alert.red.gif
alert.red.png
apache_pb.gif
apache_pb.png
apache_pb2.gif
apache_pb2.png
apache_pb2_ani.gif
back.gif
back.png
ball.gray.gif
ball.gray.png
ball.red.gif
ball.red.png
binary.gif
binary.png
binhex.gif
binhex.png
blank.gif
blank.png
bomb.gif
bomb.png
box1.gif
box1.png
box2.gif
box2.png
broken.gif
broken.png
burst.gif
burst.png
c.gif
c.png
comp.blue.gif
comp.blue.png
comp.gray.gif
comp.gray.png
compressed.gif
compressed.png
continued.gif
continued.png
dir.gif
dir.png
diskimg.gif
diskimg.png
down.gif
down.png
dvi.gif
dvi.png
f.gif
f.png
folder.gif
folder.open.gif
folder.open.png
folder.png
folder.sec.gif
folder.sec.png
forward.gif
forward.png
generic.gif
generic.png
generic.red.gif
generic.red.png
generic.sec.gif
generic.sec.png
hand.right.gif
hand.right.png
hand.up.gif
hand.up.png
icon.sheet.gif
icon.sheet.png
image1.gif
image1.png
image2.gif
image2.png
image3.gif
image3.png
index.gif
index.png
layout.gif
layout.png
left.gif
left.png
link.gif
link.png
movie.gif
movie.png
p.gif
p.png
patch.gif
patch.png
pdf.gif
pdf.png
pie0.gif
pie0.png
pie1.gif
pie1.png
pie2.gif
pie2.png
pie3.gif
pie3.png
pie4.gif
pie4.png
pie5.gif
pie5.png
pie6.gif
pie6.png
pie7.gif
pie7.png
pie8.gif
pie8.png
portal.gif
portal.png
ps.gif
ps.png
quill.gif
quill.png
right.gif
right.png
screw1.gif
screw1.png
screw2.gif
screw2.png
script.gif
script.png
small/
back.gif
back.png
binary.gif
binary.png
binhex.gif
binhex.png
blank.gif
blank.png
broken.gif
broken.png
burst.gif
burst.png
comp1.gif
comp1.png
comp2.gif
comp2.png
compressed.gif
compressed.png
continued.gif
continued.png
dir.gif
dir.png
dir2.gif
dir2.png
doc.gif
doc.png
forward.gif
forward.png
generic.gif
generic.png
generic2.gif
generic2.png
generic3.gif
generic3.png
image.gif
image.png
image2.gif
image2.png
index.gif
index.png
key.gif
key.png
movie.gif
movie.png
patch.gif
patch.png
ps.gif
ps.png
rainbow.gif
rainbow.png
sound.gif
sound.png
sound2.gif
sound2.png
tar.gif
tar.png
text.gif
text.png
transfer.gif
transfer.png
unknown.gif
unknown.png
uu.gif
uu.png
sound1.gif
sound1.png
sound2.gif
sound2.png
sphere1.gif
sphere1.png
sphere2.gif
sphere2.png
tar.gif
tar.png
tex.gif
tex.png
text.gif
text.png
transfer.gif
transfer.png
unknown.gif
unknown.png
up.gif
up.png
uu.gif
uu.png
uuencoded.gif
uuencoded.png
world1.gif
world1.png
world2.gif
world2.png
libexec/
libexec/${ISAINFO}/
logs/
proxy/
/var/svc/manifest/network/http-apache2.xml
------------------------------------------------------------------------------
Appendix 2: diff apr.h produced by 32- and 64-bit Apache builds
--- apr.h.32 2007-03-16 01:04:16.000000000 -0400
+++ apr.h.64 2007-03-13 23:36:57.000000000 -0400
@@ -262,15 +262,15 @@
typedef int apr_int32_t;
typedef unsigned int apr_uint32_t;
-typedef long long apr_int64_t;
-typedef unsigned long long apr_uint64_t;
+typedef long apr_int64_t;
+typedef unsigned long apr_uint64_t;
typedef size_t apr_size_t;
typedef ssize_t apr_ssize_t;
typedef off_t apr_off_t;
typedef socklen_t apr_socklen_t;
-#define APR_SIZEOF_VOIDP 4
+#define APR_SIZEOF_VOIDP 8
/* Are we big endian? */
#define APR_IS_BIGENDIAN 0
@@ -344,25 +344,25 @@
* to find the logic for this definition search for "ssize_t_fmt" in
* configure.in.
*/
-#define APR_SSIZE_T_FMT "d"
+#define APR_SSIZE_T_FMT "ld"
/* And APR_SIZE_T_FMT */
-#define APR_SIZE_T_FMT "d"
+#define APR_SIZE_T_FMT "ld"
/* And APR_OFF_T_FMT */
-#define APR_OFF_T_FMT APR_INT64_T_FMT
+#define APR_OFF_T_FMT "ld"
/* And APR_PID_T_FMT */
#define APR_PID_T_FMT "ld"
/* And APR_INT64_T_FMT */
-#define APR_INT64_T_FMT "lld"
+#define APR_INT64_T_FMT "ld"
/* And APR_UINT64_T_FMT */
-#define APR_UINT64_T_FMT "llu"
+#define APR_UINT64_T_FMT "lu"
/* And APR_UINT64_T_HEX_FMT */
-#define APR_UINT64_T_HEX_FMT "llx"
+#define APR_UINT64_T_HEX_FMT "lx"
--
Jyri J. Virkki - jyri.virkki at sun.com - Sun Microsystems