Merge ~ahasenack/ubuntu/+source/apache2:cosmic-merge-apache-2.4.34-1 into ubuntu/+source/apache2:debian/sid

Proposed by Andreas Hasenack on 2018-08-03
Status: Merged
Approved by: Robie Basak on 2018-08-06
Approved revision: f8172108ee63c9c1806453fe22352f81156c5808
Merge reported by: Andreas Hasenack
Merged at revision: f8172108ee63c9c1806453fe22352f81156c5808
Proposed branch: ~ahasenack/ubuntu/+source/apache2:cosmic-merge-apache-2.4.34-1
Merge into: ubuntu/+source/apache2:debian/sid
Diff against target: 443421 lines (+434287/-33)
1422 files modified
debian/apache2-bin.install (+1/-0)
debian/apache2-utils.ufw.profile (+14/-0)
debian/apache2.dirs (+1/-0)
debian/apache2.install (+1/-0)
debian/apache2.postrm (+1/-0)
debian/apache2.py (+48/-0)
debian/changelog (+1375/-0)
debian/control (+7/-19)
debian/index.html (+19/-12)
debian/patches/086_svn_cross_compiles (+118/-0)
debian/patches/series (+3/-0)
debian/rules (+2/-1)
debian/source/include-binaries (+1/-0)
debian/tests/check-http2 (+41/-0)
debian/tests/control (+4/-0)
dev/null (+0/-1)
docs/manual/style/latex/atbeginend.sty (+80/-0)
docs/manual/style/manualpage.dtd (+29/-0)
docs/manual/style/modulesynopsis.dtd (+92/-0)
docs/manual/style/scripts/MINIFY (+5/-0)
docs/manual/style/scripts/prettify.js (+1622/-0)
docs/manual/style/scripts/prettify.min.js (+124/-0)
docs/manual/style/sitemap.dtd (+42/-0)
docs/manual/style/version.ent (+24/-0)
docs/manual/suexec.html (+21/-0)
docs/manual/suexec.html.en (+643/-0)
docs/manual/suexec.html.fr (+689/-0)
docs/manual/suexec.html.ja.utf8 (+643/-0)
docs/manual/suexec.html.ko.euc-kr (+564/-0)
docs/manual/suexec.html.tr.utf8 (+583/-0)
docs/manual/upgrading.html (+9/-0)
docs/manual/upgrading.html.en (+537/-0)
docs/manual/upgrading.html.fr (+598/-0)
docs/manual/urlmapping.html (+21/-0)
docs/manual/urlmapping.html.en (+379/-0)
docs/manual/urlmapping.html.fr (+402/-0)
docs/manual/urlmapping.html.ja.utf8 (+318/-0)
docs/manual/urlmapping.html.ko.euc-kr (+277/-0)
docs/manual/urlmapping.html.tr.utf8 (+365/-0)
docs/manual/vhosts/details.html (+17/-0)
docs/manual/vhosts/details.html.en (+348/-0)
docs/manual/vhosts/details.html.fr (+369/-0)
docs/manual/vhosts/details.html.ko.euc-kr (+412/-0)
docs/manual/vhosts/details.html.tr.utf8 (+319/-0)
docs/manual/vhosts/examples.html (+21/-0)
docs/manual/vhosts/examples.html.en (+566/-0)
docs/manual/vhosts/examples.html.fr (+586/-0)
docs/manual/vhosts/examples.html.ja.utf8 (+680/-0)
docs/manual/vhosts/examples.html.ko.euc-kr (+657/-0)
docs/manual/vhosts/examples.html.tr.utf8 (+562/-0)
docs/manual/vhosts/fd-limits.html (+21/-0)
docs/manual/vhosts/fd-limits.html.en (+155/-0)
docs/manual/vhosts/fd-limits.html.fr (+167/-0)
docs/manual/vhosts/fd-limits.html.ja.utf8 (+157/-0)
docs/manual/vhosts/fd-limits.html.ko.euc-kr (+152/-0)
docs/manual/vhosts/fd-limits.html.tr.utf8 (+150/-0)
docs/manual/vhosts/index.html (+29/-0)
docs/manual/vhosts/index.html.de (+124/-0)
docs/manual/vhosts/index.html.en (+126/-0)
docs/manual/vhosts/index.html.fr (+127/-0)
docs/manual/vhosts/index.html.ja.utf8 (+120/-0)
docs/manual/vhosts/index.html.ko.euc-kr (+119/-0)
docs/manual/vhosts/index.html.tr.utf8 (+123/-0)
docs/manual/vhosts/index.html.zh-cn.utf8 (+105/-0)
docs/manual/vhosts/ip-based.html (+21/-0)
docs/manual/vhosts/ip-based.html.en (+210/-0)
docs/manual/vhosts/ip-based.html.fr (+213/-0)
docs/manual/vhosts/ip-based.html.ja.utf8 (+190/-0)
docs/manual/vhosts/ip-based.html.ko.euc-kr (+180/-0)
docs/manual/vhosts/ip-based.html.tr.utf8 (+211/-0)
docs/manual/vhosts/mass.html (+17/-0)
docs/manual/vhosts/mass.html.en (+348/-0)
docs/manual/vhosts/mass.html.fr (+363/-0)
docs/manual/vhosts/mass.html.ko.euc-kr (+453/-0)
docs/manual/vhosts/mass.html.tr.utf8 (+334/-0)
docs/manual/vhosts/name-based.html (+25/-0)
docs/manual/vhosts/name-based.html.de (+299/-0)
docs/manual/vhosts/name-based.html.en (+224/-0)
docs/manual/vhosts/name-based.html.fr (+267/-0)
docs/manual/vhosts/name-based.html.ja.utf8 (+303/-0)
docs/manual/vhosts/name-based.html.ko.euc-kr (+266/-0)
docs/manual/vhosts/name-based.html.tr.utf8 (+238/-0)
docs/server-status/README.md (+40/-0)
docs/server-status/server-status.lua (+1901/-0)
emacs-style (+12/-0)
httpd.dep (+68/-0)
httpd.dsp (+111/-0)
httpd.mak (+344/-0)
httpd.spec (+493/-0)
include/.indent.pro (+54/-0)
include/ap_compat.h (+30/-0)
include/ap_config.h (+206/-0)
include/ap_config_auto.h.in (+319/-0)
include/ap_config_layout.h.in (+64/-0)
include/ap_expr.h (+353/-0)
include/ap_hooks.h (+162/-0)
include/ap_listen.h (+163/-0)
include/ap_mmn.h (+557/-0)
include/ap_mpm.h (+235/-0)
include/ap_provider.h (+100/-0)
include/ap_regex.h (+275/-0)
include/ap_regkey.h (+219/-0)
include/ap_release.h (+83/-0)
include/ap_slotmem.h (+199/-0)
include/ap_socache.h (+230/-0)
include/apache_noprobes.h (+344/-0)
include/heartbeat.h (+60/-0)
include/http_config.h (+1416/-0)
include/http_connection.h (+168/-0)
include/http_core.h (+1049/-0)
include/http_log.h (+836/-0)
include/http_main.h (+88/-0)
include/http_protocol.h (+1023/-0)
include/http_request.h (+630/-0)
include/http_vhost.h (+119/-0)
include/httpd.h (+2405/-0)
include/mod_auth.h (+141/-0)
include/mod_core.h (+103/-0)
include/mod_request.h (+64/-0)
include/mpm_common.h (+470/-0)
include/scoreboard.h (+246/-0)
include/util_cfgtree.h (+98/-0)
include/util_charset.h (+72/-0)
include/util_cookies.h (+146/-0)
include/util_ebcdic.h (+92/-0)
include/util_fcgi.h (+280/-0)
include/util_filter.h (+639/-0)
include/util_ldap.h (+398/-0)
include/util_md5.h (+72/-0)
include/util_mutex.h (+223/-0)
include/util_script.h (+233/-0)
include/util_time.h (+117/-0)
include/util_varbuf.h (+197/-0)
include/util_xml.h (+51/-0)
libhttpd.dep (+2421/-0)
libhttpd.dsp (+846/-0)
libhttpd.mak (+1366/-0)
modules/Makefile.in (+6/-0)
modules/NWGNUmakefile (+121/-0)
modules/README (+67/-0)
modules/aaa/.indent.pro (+54/-0)
modules/aaa/Makefile.in (+3/-0)
modules/aaa/NWGNUaccesscompat (+248/-0)
modules/aaa/NWGNUallowmethods (+248/-0)
modules/aaa/NWGNUauthbasc (+248/-0)
modules/aaa/NWGNUauthdigt (+248/-0)
modules/aaa/NWGNUauthform (+250/-0)
modules/aaa/NWGNUauthnano (+248/-0)
modules/aaa/NWGNUauthndbd (+249/-0)
modules/aaa/NWGNUauthndbm (+248/-0)
modules/aaa/NWGNUauthnfil (+248/-0)
modules/aaa/NWGNUauthnsocache (+248/-0)
modules/aaa/NWGNUauthnzldap (+264/-0)
modules/aaa/NWGNUauthzdbd (+249/-0)
modules/aaa/NWGNUauthzdbm (+248/-0)
modules/aaa/NWGNUauthzgrp (+247/-0)
modules/aaa/NWGNUauthzusr (+247/-0)
modules/aaa/NWGNUmakefile (+270/-0)
modules/aaa/config.m4 (+84/-0)
modules/aaa/mod_access_compat.c (+377/-0)
modules/aaa/mod_access_compat.dep (+59/-0)
modules/aaa/mod_access_compat.dsp (+111/-0)
modules/aaa/mod_access_compat.mak (+353/-0)
modules/aaa/mod_allowmethods.c (+158/-0)
modules/aaa/mod_allowmethods.dep (+56/-0)
modules/aaa/mod_allowmethods.dsp (+111/-0)
modules/aaa/mod_allowmethods.mak (+353/-0)
modules/aaa/mod_auth_basic.c (+512/-0)
modules/aaa/mod_auth_basic.dep (+63/-0)
modules/aaa/mod_auth_basic.dsp (+111/-0)
modules/aaa/mod_auth_basic.mak (+353/-0)
modules/aaa/mod_auth_digest.c (+1976/-0)
modules/aaa/mod_auth_digest.dep (+68/-0)
modules/aaa/mod_auth_digest.dsp (+111/-0)
modules/aaa/mod_auth_digest.mak (+353/-0)
modules/aaa/mod_auth_form.c (+1333/-0)
modules/aaa/mod_auth_form.dep (+66/-0)
modules/aaa/mod_auth_form.dsp (+111/-0)
modules/aaa/mod_auth_form.mak (+353/-0)
modules/aaa/mod_authn_anon.c (+215/-0)
modules/aaa/mod_authn_anon.dep (+58/-0)
modules/aaa/mod_authn_anon.dsp (+111/-0)
modules/aaa/mod_authn_anon.mak (+381/-0)
modules/aaa/mod_authn_core.c (+386/-0)
modules/aaa/mod_authn_core.dep (+58/-0)
modules/aaa/mod_authn_core.dsp (+111/-0)
modules/aaa/mod_authn_core.mak (+381/-0)
modules/aaa/mod_authn_dbd.c (+309/-0)
modules/aaa/mod_authn_dbd.dep (+56/-0)
modules/aaa/mod_authn_dbd.dsp (+115/-0)
modules/aaa/mod_authn_dbd.mak (+409/-0)
modules/aaa/mod_authn_dbm.c (+208/-0)
modules/aaa/mod_authn_dbm.dep (+61/-0)
modules/aaa/mod_authn_dbm.dsp (+111/-0)
modules/aaa/mod_authn_dbm.mak (+381/-0)
modules/aaa/mod_authn_file.c (+194/-0)
modules/aaa/mod_authn_file.dep (+60/-0)
modules/aaa/mod_authn_file.dsp (+111/-0)
modules/aaa/mod_authn_file.mak (+381/-0)
modules/aaa/mod_authn_socache.c (+475/-0)
modules/aaa/mod_authn_socache.dep (+62/-0)
modules/aaa/mod_authn_socache.dsp (+111/-0)
modules/aaa/mod_authn_socache.mak (+353/-0)
modules/aaa/mod_authnz_fcgi.c (+1363/-0)
modules/aaa/mod_authnz_fcgi.dep (+61/-0)
modules/aaa/mod_authnz_fcgi.dsp (+119/-0)
modules/aaa/mod_authnz_fcgi.mak (+353/-0)
modules/aaa/mod_authnz_ldap.c (+1962/-0)
modules/aaa/mod_authnz_ldap.dep (+70/-0)
modules/aaa/mod_authnz_ldap.dsp (+111/-0)
modules/aaa/mod_authnz_ldap.mak (+381/-0)
modules/aaa/mod_authz_core.c (+1175/-0)
modules/aaa/mod_authz_core.dep (+60/-0)
modules/aaa/mod_authz_core.dsp (+111/-0)
modules/aaa/mod_authz_core.mak (+381/-0)
modules/aaa/mod_authz_dbd.c (+409/-0)
modules/aaa/mod_authz_dbd.dep (+61/-0)
modules/aaa/mod_authz_dbd.dsp (+119/-0)
modules/aaa/mod_authz_dbd.h (+44/-0)
modules/aaa/mod_authz_dbd.mak (+409/-0)
modules/aaa/mod_authz_dbm.c (+336/-0)
modules/aaa/mod_authz_dbm.dep (+62/-0)
modules/aaa/mod_authz_dbm.dsp (+111/-0)
modules/aaa/mod_authz_dbm.mak (+381/-0)
modules/aaa/mod_authz_groupfile.c (+331/-0)
modules/aaa/mod_authz_groupfile.dep (+61/-0)
modules/aaa/mod_authz_groupfile.dsp (+111/-0)
modules/aaa/mod_authz_groupfile.mak (+381/-0)
modules/aaa/mod_authz_host.c (+410/-0)
modules/aaa/mod_authz_host.dep (+60/-0)
modules/aaa/mod_authz_host.dsp (+111/-0)
modules/aaa/mod_authz_host.mak (+381/-0)
modules/aaa/mod_authz_owner.c (+189/-0)
modules/aaa/mod_authz_owner.dep (+59/-0)
modules/aaa/mod_authz_owner.dsp (+111/-0)
modules/aaa/mod_authz_owner.h (+27/-0)
modules/aaa/mod_authz_owner.mak (+381/-0)
modules/aaa/mod_authz_user.c (+146/-0)
modules/aaa/mod_authz_user.dep (+58/-0)
modules/aaa/mod_authz_user.dsp (+111/-0)
modules/aaa/mod_authz_user.mak (+381/-0)
modules/arch/netware/libprews.c (+79/-0)
modules/arch/netware/mod_netware.c (+206/-0)
modules/arch/netware/mod_nw_ssl.c (+1285/-0)
modules/arch/unix/Makefile.in (+3/-0)
modules/arch/unix/config5.m4 (+24/-0)
modules/arch/unix/mod_privileges.c (+588/-0)
modules/arch/unix/mod_unixd.c (+433/-0)
modules/arch/unix/mod_unixd.h (+41/-0)
modules/arch/win32/Makefile.in (+3/-0)
modules/arch/win32/config.m4 (+9/-0)
modules/arch/win32/mod_isapi.c (+1727/-0)
modules/arch/win32/mod_isapi.dep (+61/-0)
modules/arch/win32/mod_isapi.dsp (+115/-0)
modules/arch/win32/mod_isapi.h (+271/-0)
modules/arch/win32/mod_isapi.mak (+353/-0)
modules/arch/win32/mod_win32.c (+563/-0)
modules/cache/.indent.pro (+54/-0)
modules/cache/Makefile.in (+3/-0)
modules/cache/NWGNUcach_dsk (+262/-0)
modules/cache/NWGNUcach_socache (+263/-0)
modules/cache/NWGNUmakefile (+250/-0)
modules/cache/NWGNUmod_cach (+265/-0)
modules/cache/NWGNUsocachdbm (+261/-0)
modules/cache/NWGNUsocachmem (+261/-0)
modules/cache/NWGNUsocachshmcb (+261/-0)
modules/cache/cache_common.h (+56/-0)
modules/cache/cache_disk_common.h (+68/-0)
modules/cache/cache_socache_common.h (+57/-0)
modules/cache/cache_storage.c (+791/-0)
modules/cache/cache_storage.h (+76/-0)
modules/cache/cache_util.c (+1344/-0)
modules/cache/cache_util.h (+341/-0)
modules/cache/config.m4 (+142/-0)
modules/cache/mod_cache.c (+2720/-0)
modules/cache/mod_cache.dep (+194/-0)
modules/cache/mod_cache.dsp (+131/-0)
modules/cache/mod_cache.h (+192/-0)
modules/cache/mod_cache.mak (+370/-0)
modules/cache/mod_cache_disk.c (+1584/-0)
modules/cache/mod_cache_disk.dep (+59/-0)
modules/cache/mod_cache_disk.dsp (+115/-0)
modules/cache/mod_cache_disk.h (+91/-0)
modules/cache/mod_cache_disk.mak (+381/-0)
modules/cache/mod_cache_socache.c (+1543/-0)
modules/cache/mod_cache_socache.dep (+67/-0)
modules/cache/mod_cache_socache.dsp (+115/-0)
modules/cache/mod_cache_socache.mak (+381/-0)
modules/cache/mod_file_cache.c (+414/-0)
modules/cache/mod_file_cache.dep (+56/-0)
modules/cache/mod_file_cache.dsp (+111/-0)
modules/cache/mod_file_cache.exp (+1/-0)
modules/cache/mod_file_cache.mak (+353/-0)
modules/cache/mod_socache_dbm.c (+595/-0)
modules/cache/mod_socache_dbm.dep (+60/-0)
modules/cache/mod_socache_dbm.dsp (+111/-0)
modules/cache/mod_socache_dbm.mak (+353/-0)
modules/cache/mod_socache_dc.c (+198/-0)
modules/cache/mod_socache_dc.dep (+55/-0)
modules/cache/mod_socache_dc.dsp (+111/-0)
modules/cache/mod_socache_dc.mak (+353/-0)
modules/cache/mod_socache_memcache.c (+431/-0)
modules/cache/mod_socache_memcache.dep (+59/-0)
modules/cache/mod_socache_memcache.dsp (+111/-0)
modules/cache/mod_socache_memcache.mak (+353/-0)
modules/cache/mod_socache_shmcb.c (+1072/-0)
modules/cache/mod_socache_shmcb.dep (+56/-0)
modules/cache/mod_socache_shmcb.dsp (+111/-0)
modules/cache/mod_socache_shmcb.mak (+353/-0)
modules/cluster/Makefile.in (+3/-0)
modules/cluster/NWGNUmakefile (+246/-0)
modules/cluster/NWGNUmodheartbeat (+257/-0)
modules/cluster/NWGNUmodheartmonitor (+257/-0)
modules/cluster/README.heartbeat (+33/-0)
modules/cluster/README.heartmonitor (+30/-0)
modules/cluster/config5.m4 (+17/-0)
modules/cluster/mod_heartbeat.c (+228/-0)
modules/cluster/mod_heartbeat.dep (+55/-0)
modules/cluster/mod_heartbeat.dsp (+123/-0)
modules/cluster/mod_heartbeat.mak (+380/-0)
modules/cluster/mod_heartmonitor.c (+918/-0)
modules/cluster/mod_heartmonitor.dep (+63/-0)
modules/cluster/mod_heartmonitor.dsp (+123/-0)
modules/cluster/mod_heartmonitor.mak (+380/-0)
modules/config7.m4 (+56/-0)
modules/core/Makefile.in (+3/-0)
modules/core/NWGNUmakefile (+257/-0)
modules/core/config.m4 (+60/-0)
modules/core/mod_macro.c (+950/-0)
modules/core/mod_macro.dep (+45/-0)
modules/core/mod_macro.dsp (+111/-0)
modules/core/mod_macro.mak (+353/-0)
modules/core/mod_so.c (+442/-0)
modules/core/mod_so.h (+38/-0)
modules/core/mod_watchdog.c (+723/-0)
modules/core/mod_watchdog.dep (+59/-0)
modules/core/mod_watchdog.dsp (+115/-0)
modules/core/mod_watchdog.h (+213/-0)
modules/core/mod_watchdog.mak (+353/-0)
modules/core/test/Makefile (+67/-0)
modules/core/test/conf/inc63_1.conf (+5/-0)
modules/core/test/conf/inc63_2.conf (+3/-0)
modules/core/test/conf/test01.conf (+3/-0)
modules/core/test/conf/test02.conf (+3/-0)
modules/core/test/conf/test03.conf (+5/-0)
modules/core/test/conf/test04.conf (+5/-0)
modules/core/test/conf/test05.conf (+5/-0)
modules/core/test/conf/test06.conf (+6/-0)
modules/core/test/conf/test07.conf (+3/-0)
modules/core/test/conf/test08.conf (+3/-0)
modules/core/test/conf/test09.conf (+6/-0)
modules/core/test/conf/test10.conf (+10/-0)
modules/core/test/conf/test11.conf (+15/-0)
modules/core/test/conf/test12.conf (+12/-0)
modules/core/test/conf/test13.conf (+18/-0)
modules/core/test/conf/test14.conf (+23/-0)
modules/core/test/conf/test15.conf (+9/-0)
modules/core/test/conf/test16.conf (+11/-0)
modules/core/test/conf/test17.conf (+10/-0)
modules/core/test/conf/test18.conf (+10/-0)
modules/core/test/conf/test19.conf (+26/-0)
modules/core/test/conf/test20.conf (+11/-0)
modules/core/test/conf/test21.conf (+11/-0)
modules/core/test/conf/test22.conf (+11/-0)
modules/core/test/conf/test23.conf (+15/-0)
modules/core/test/conf/test24.conf (+23/-0)
modules/core/test/conf/test25.conf (+27/-0)
modules/core/test/conf/test26.conf (+19/-0)
modules/core/test/conf/test27.conf (+22/-0)
modules/core/test/conf/test28.conf (+13/-0)
modules/core/test/conf/test29.conf (+10/-0)
modules/core/test/conf/test30.conf (+12/-0)
modules/core/test/conf/test31.conf (+16/-0)
modules/core/test/conf/test32.conf (+7/-0)
modules/core/test/conf/test33.conf (+3/-0)
modules/core/test/conf/test34.conf (+14/-0)
modules/core/test/conf/test35.conf (+10/-0)
modules/core/test/conf/test36.conf (+12/-0)
modules/core/test/conf/test37.conf (+7/-0)
modules/core/test/conf/test38.conf (+10/-0)
modules/core/test/conf/test39.conf (+23/-0)
modules/core/test/conf/test40.conf (+33/-0)
modules/core/test/conf/test41.conf (+20/-0)
modules/core/test/conf/test42.conf (+13/-0)
modules/core/test/conf/test43.conf (+29/-0)
modules/core/test/conf/test44.conf (+19/-0)
modules/core/test/conf/test45.conf (+7/-0)
modules/core/test/conf/test46.conf (+11/-0)
modules/core/test/conf/test47.conf (+15/-0)
modules/core/test/conf/test48.conf (+23/-0)
modules/core/test/conf/test49.conf (+2/-0)
modules/core/test/conf/test50.conf (+5/-0)
modules/core/test/conf/test51.conf (+9/-0)
modules/core/test/conf/test52.conf (+8/-0)
modules/core/test/conf/test53.conf (+2/-0)
modules/core/test/conf/test54.conf (+6/-0)
modules/core/test/conf/test55.conf (+11/-0)
modules/core/test/conf/test56.conf (+18/-0)
modules/core/test/conf/test57.conf (+4/-0)
modules/core/test/conf/test58.conf (+4/-0)
modules/core/test/conf/test59.conf (+4/-0)
modules/core/test/conf/test60.conf (+17/-0)
modules/core/test/conf/test61.conf (+18/-0)
modules/core/test/conf/test62.conf (+25/-0)
modules/core/test/conf/test63.conf (+9/-0)
modules/core/test/conf/test64.conf (+5/-0)
modules/core/test/conf/test65.conf (+11/-0)
modules/core/test/conf/test66.conf (+7/-0)
modules/core/test/conf/test67.conf (+1/-0)
modules/core/test/conf/test68.conf (+5/-0)
modules/core/test/conf/test69.conf (+14/-0)
modules/core/test/ref/test01.out (+3/-0)
modules/core/test/ref/test02.out (+3/-0)
modules/core/test/ref/test03.out (+3/-0)
modules/core/test/ref/test04.out (+3/-0)
modules/core/test/ref/test05.out (+3/-0)
modules/core/test/ref/test06.out (+3/-0)
modules/core/test/ref/test07.out (+3/-0)
modules/core/test/ref/test08.out (+3/-0)
modules/core/test/ref/test09.out (+3/-0)
modules/core/test/ref/test10.out (+3/-0)
modules/core/test/ref/test11.out (+6/-0)
modules/core/test/ref/test12.out (+7/-0)
modules/core/test/ref/test13.out (+8/-0)
modules/core/test/ref/test14.out (+14/-0)
modules/core/test/ref/test15.out (+6/-0)
modules/core/test/ref/test16.out (+5/-0)
modules/core/test/ref/test17.out (+7/-0)
modules/core/test/ref/test18.out (+7/-0)
modules/core/test/ref/test19.out (+9/-0)
modules/core/test/ref/test20.out (+4/-0)
modules/core/test/ref/test21.out (+5/-0)
modules/core/test/ref/test22.out (+6/-0)
modules/core/test/ref/test23.out (+7/-0)
modules/core/test/ref/test24.out (+8/-0)
modules/core/test/ref/test25.out (+9/-0)
modules/core/test/ref/test26.out (+11/-0)
modules/core/test/ref/test27.out (+8/-0)
modules/core/test/ref/test28.out (+6/-0)
modules/core/test/ref/test29.out (+4/-0)
modules/core/test/ref/test30.out (+7/-0)
modules/core/test/ref/test31.out (+23/-0)
modules/core/test/ref/test32.out (+3/-0)
modules/core/test/ref/test33.out (+3/-0)
modules/core/test/ref/test34.out (+13/-0)
modules/core/test/ref/test35.out (+13/-0)
modules/core/test/ref/test36.out (+20/-0)
modules/core/test/ref/test37.out (+3/-0)
modules/core/test/ref/test38.out (+6/-0)
modules/core/test/ref/test39.out (+7/-0)
modules/core/test/ref/test40.out (+18/-0)
modules/core/test/ref/test41.out (+9/-0)
modules/core/test/ref/test42.out (+15/-0)
modules/core/test/ref/test43.out (+8/-0)
modules/core/test/ref/test44.out (+5/-0)
modules/core/test/ref/test45.out (+19/-0)
modules/core/test/ref/test46.out (+9/-0)
modules/core/test/ref/test47.out (+8/-0)
modules/core/test/ref/test48.out (+20/-0)
modules/core/test/ref/test49.out (+3/-0)
modules/core/test/ref/test50.out (+3/-0)
modules/core/test/ref/test51.out (+3/-0)
modules/core/test/ref/test52.out (+6/-0)
modules/core/test/ref/test53.out (+3/-0)
modules/core/test/ref/test54.out (+6/-0)
modules/core/test/ref/test55.out (+8/-0)
modules/core/test/ref/test56.out (+12/-0)
modules/core/test/ref/test57.out (+3/-0)
modules/core/test/ref/test58.out (+3/-0)
modules/core/test/ref/test59.out (+3/-0)
modules/core/test/ref/test60.out (+15/-0)
modules/core/test/ref/test61.out (+9/-0)
modules/core/test/ref/test62.out (+15/-0)
modules/core/test/ref/test63.out (+10/-0)
modules/core/test/ref/test64.out (+7/-0)
modules/core/test/ref/test65.out (+7/-0)
modules/core/test/ref/test66.out (+7/-0)
modules/core/test/ref/test67.out (+5/-0)
modules/core/test/ref/test68.out (+6/-0)
modules/core/test/ref/test69.out (+10/-0)
modules/database/Makefile.in (+3/-0)
modules/database/NWGNUmakefile (+262/-0)
modules/database/config.m4 (+8/-0)
modules/database/mod_dbd.c (+992/-0)
modules/database/mod_dbd.dep (+58/-0)
modules/database/mod_dbd.dsp (+115/-0)
modules/database/mod_dbd.h (+123/-0)
modules/database/mod_dbd.mak (+353/-0)
modules/dav/fs/Makefile.in (+3/-0)
modules/dav/fs/NWGNUmakefile (+269/-0)
modules/dav/fs/config6.m4 (+23/-0)
modules/dav/fs/dbm.c (+771/-0)
modules/dav/fs/lock.c (+1445/-0)
modules/dav/fs/mod_dav_fs.c (+108/-0)
modules/dav/fs/mod_dav_fs.dep (+203/-0)
modules/dav/fs/mod_dav_fs.dsp (+135/-0)
modules/dav/fs/mod_dav_fs.mak (+407/-0)
modules/dav/fs/repos.c (+2254/-0)
modules/dav/fs/repos.h (+84/-0)
modules/dav/lock/Makefile.in (+3/-0)
modules/dav/lock/NWGNUmakefile (+259/-0)
modules/dav/lock/config6.m4 (+17/-0)
modules/dav/lock/locks.c (+1211/-0)
modules/dav/lock/locks.h (+33/-0)
modules/dav/lock/mod_dav_lock.c (+104/-0)
modules/dav/lock/mod_dav_lock.dep (+100/-0)
modules/dav/lock/mod_dav_lock.dsp (+127/-0)
modules/dav/lock/mod_dav_lock.mak (+389/-0)
modules/dav/main/Makefile.in (+3/-0)
modules/dav/main/NWGNUmakefile (+268/-0)
modules/dav/main/config5.m4 (+21/-0)
modules/dav/main/liveprop.c (+140/-0)
modules/dav/main/mod_dav.c (+4946/-0)
modules/dav/main/mod_dav.dep (+354/-0)
modules/dav/main/mod_dav.dsp (+147/-0)
modules/dav/main/mod_dav.h (+2553/-0)
modules/dav/main/mod_dav.mak (+406/-0)
modules/dav/main/props.c (+1125/-0)
modules/dav/main/providers.c (+58/-0)
modules/dav/main/std_liveprop.c (+226/-0)
modules/dav/main/util.c (+2152/-0)
modules/dav/main/util_lock.c (+798/-0)
modules/debugging/Makefile.in (+3/-0)
modules/debugging/NWGNUmakefile (+246/-0)
modules/debugging/NWGNUmodbucketeer (+248/-0)
modules/debugging/NWGNUmoddumpio (+248/-0)
modules/debugging/README (+1/-0)
modules/debugging/config.m4 (+7/-0)
modules/debugging/mod_bucketeer.c (+187/-0)
modules/debugging/mod_bucketeer.dep (+53/-0)
modules/debugging/mod_bucketeer.dsp (+111/-0)
modules/debugging/mod_bucketeer.mak (+353/-0)
modules/debugging/mod_dumpio.c (+255/-0)
modules/debugging/mod_dumpio.dep (+50/-0)
modules/debugging/mod_dumpio.dsp (+111/-0)
modules/debugging/mod_dumpio.mak (+353/-0)
modules/echo/.indent.pro (+54/-0)
modules/echo/Makefile.in (+3/-0)
modules/echo/NWGNUmakefile (+257/-0)
modules/echo/config.m4 (+9/-0)
modules/echo/mod_echo.c (+218/-0)
modules/echo/mod_echo.dep (+56/-0)
modules/echo/mod_echo.dsp (+111/-0)
modules/echo/mod_echo.mak (+353/-0)
modules/examples/Makefile.in (+3/-0)
modules/examples/NWGNUcase_flt (+256/-0)
modules/examples/NWGNUcase_flt_in (+256/-0)
modules/examples/NWGNUexample_hooks (+257/-0)
modules/examples/NWGNUexample_ipc (+257/-0)
modules/examples/NWGNUmakefile (+257/-0)
modules/examples/README (+54/-0)
modules/examples/config.m4 (+9/-0)
modules/examples/mod_case_filter.c (+139/-0)
modules/examples/mod_case_filter.dep (+46/-0)
modules/examples/mod_case_filter.dsp (+111/-0)
modules/examples/mod_case_filter.mak (+353/-0)
modules/examples/mod_case_filter_in.c (+160/-0)
modules/examples/mod_case_filter_in.dep (+46/-0)
modules/examples/mod_case_filter_in.dsp (+111/-0)
modules/examples/mod_case_filter_in.mak (+353/-0)
modules/examples/mod_example_hooks.c (+1534/-0)
modules/examples/mod_example_hooks.dep (+62/-0)
modules/examples/mod_example_hooks.dsp (+111/-0)
modules/examples/mod_example_hooks.mak (+353/-0)
modules/examples/mod_example_ipc.c (+356/-0)
modules/examples/mod_example_ipc.dep (+56/-0)
modules/examples/mod_example_ipc.dsp (+111/-0)
modules/examples/mod_example_ipc.mak (+353/-0)
modules/experimental/.indent.pro (+54/-0)
modules/experimental/Makefile.in (+3/-0)
modules/experimental/NWGNUmakefile (+253/-0)
modules/experimental/config.m4 (+4/-0)
modules/filters/.indent.pro (+54/-0)
modules/filters/Makefile.in (+3/-0)
modules/filters/NWGNUcharsetl (+257/-0)
modules/filters/NWGNUdeflate (+279/-0)
modules/filters/NWGNUextfiltr (+248/-0)
modules/filters/NWGNUmakefile (+273/-0)
modules/filters/NWGNUmod_data (+248/-0)
modules/filters/NWGNUmod_filter (+248/-0)
modules/filters/NWGNUmod_request (+248/-0)
modules/filters/NWGNUmodbuffer (+256/-0)
modules/filters/NWGNUmodsed (+259/-0)
modules/filters/NWGNUproxyhtml (+261/-0)
modules/filters/NWGNUratelimit (+256/-0)
modules/filters/NWGNUreflector (+256/-0)
modules/filters/NWGNUreqtimeout (+256/-0)
modules/filters/NWGNUsubstitute (+256/-0)
modules/filters/NWGNUxml2enc (+258/-0)
modules/filters/config.m4 (+197/-0)
modules/filters/libsed.h (+172/-0)
modules/filters/mod_brotli.c (+592/-0)
modules/filters/mod_brotli.dep (+45/-0)
modules/filters/mod_brotli.dsp (+111/-0)
modules/filters/mod_brotli.mak (+353/-0)
modules/filters/mod_buffer.c (+353/-0)
modules/filters/mod_buffer.dep (+48/-0)
modules/filters/mod_buffer.dsp (+111/-0)
modules/filters/mod_buffer.mak (+353/-0)
modules/filters/mod_charset_lite.c (+1142/-0)
modules/filters/mod_charset_lite.dep (+60/-0)
modules/filters/mod_charset_lite.dsp (+111/-0)
modules/filters/mod_charset_lite.exp (+1/-0)
modules/filters/mod_charset_lite.mak (+353/-0)
modules/filters/mod_data.c (+255/-0)
modules/filters/mod_data.dep (+55/-0)
modules/filters/mod_data.dsp (+111/-0)
modules/filters/mod_data.mak (+353/-0)
modules/filters/mod_deflate.c (+1912/-0)
modules/filters/mod_deflate.dep (+52/-0)
modules/filters/mod_deflate.dsp (+111/-0)
modules/filters/mod_deflate.exp (+1/-0)
modules/filters/mod_deflate.mak (+353/-0)
modules/filters/mod_ext_filter.c (+956/-0)
modules/filters/mod_ext_filter.dep (+58/-0)
modules/filters/mod_ext_filter.dsp (+111/-0)
modules/filters/mod_ext_filter.exp (+1/-0)
modules/filters/mod_ext_filter.mak (+353/-0)
modules/filters/mod_filter.c (+767/-0)
modules/filters/mod_filter.dep (+50/-0)
modules/filters/mod_filter.dsp (+111/-0)
modules/filters/mod_filter.mak (+353/-0)
modules/filters/mod_include.c (+4237/-0)
modules/filters/mod_include.dep (+63/-0)
modules/filters/mod_include.dsp (+115/-0)
modules/filters/mod_include.exp (+1/-0)
modules/filters/mod_include.h (+120/-0)
modules/filters/mod_include.mak (+353/-0)
modules/filters/mod_proxy_html.c (+1334/-0)
modules/filters/mod_proxy_html.dep (+58/-0)
modules/filters/mod_proxy_html.dsp (+123/-0)
modules/filters/mod_proxy_html.mak (+352/-0)
modules/filters/mod_ratelimit.c (+341/-0)
modules/filters/mod_ratelimit.dep (+45/-0)
modules/filters/mod_ratelimit.dsp (+115/-0)
modules/filters/mod_ratelimit.h (+51/-0)
modules/filters/mod_ratelimit.mak (+353/-0)
modules/filters/mod_reflector.c (+226/-0)
modules/filters/mod_reflector.dep (+57/-0)
modules/filters/mod_reflector.dsp (+111/-0)
modules/filters/mod_reflector.mak (+353/-0)
modules/filters/mod_reqtimeout.c (+657/-0)
modules/filters/mod_reqtimeout.dep (+58/-0)
modules/filters/mod_reqtimeout.dsp (+111/-0)
modules/filters/mod_reqtimeout.mak (+353/-0)
modules/filters/mod_request.c (+397/-0)
modules/filters/mod_request.dep (+55/-0)
modules/filters/mod_request.dsp (+115/-0)
modules/filters/mod_request.mak (+353/-0)
modules/filters/mod_sed.c (+537/-0)
modules/filters/mod_sed.dep (+109/-0)
modules/filters/mod_sed.dsp (+135/-0)
modules/filters/mod_sed.mak (+380/-0)
modules/filters/mod_substitute.c (+763/-0)
modules/filters/mod_substitute.dep (+53/-0)
modules/filters/mod_substitute.dsp (+111/-0)
modules/filters/mod_substitute.mak (+353/-0)
modules/filters/mod_xml2enc.c (+657/-0)
modules/filters/mod_xml2enc.dep (+54/-0)
modules/filters/mod_xml2enc.dsp (+123/-0)
modules/filters/mod_xml2enc.h (+55/-0)
modules/filters/mod_xml2enc.mak (+352/-0)
modules/filters/regexp.c (+599/-0)
modules/filters/regexp.h (+112/-0)
modules/filters/sed.h (+61/-0)
modules/filters/sed0.c (+1026/-0)
modules/filters/sed1.c (+1020/-0)
modules/generators/.indent.pro (+54/-0)
modules/generators/Makefile.in (+3/-0)
modules/generators/NWGNUautoindex (+249/-0)
modules/generators/NWGNUinfo (+248/-0)
modules/generators/NWGNUmakefile (+249/-0)
modules/generators/NWGNUmod_asis (+249/-0)
modules/generators/NWGNUmod_cgi (+249/-0)
modules/generators/NWGNUstatus (+248/-0)
modules/generators/config5.m4 (+81/-0)
modules/generators/mod_asis.c (+128/-0)
modules/generators/mod_asis.dep (+56/-0)
modules/generators/mod_asis.dsp (+111/-0)
modules/generators/mod_asis.exp (+1/-0)
modules/generators/mod_asis.mak (+353/-0)
modules/generators/mod_autoindex.c (+2348/-0)
modules/generators/mod_autoindex.dep (+61/-0)
modules/generators/mod_autoindex.dsp (+111/-0)
modules/generators/mod_autoindex.exp (+1/-0)
modules/generators/mod_autoindex.mak (+353/-0)
modules/generators/mod_cgi.c (+1281/-0)
modules/generators/mod_cgi.dep (+64/-0)
modules/generators/mod_cgi.dsp (+115/-0)
modules/generators/mod_cgi.exp (+1/-0)
modules/generators/mod_cgi.h (+67/-0)
modules/generators/mod_cgi.mak (+353/-0)
modules/generators/mod_cgid.c (+1980/-0)
modules/generators/mod_cgid.exp (+1/-0)
modules/generators/mod_info.c (+1011/-0)
modules/generators/mod_info.dep (+66/-0)
modules/generators/mod_info.dsp (+111/-0)
modules/generators/mod_info.exp (+1/-0)
modules/generators/mod_info.mak (+353/-0)
modules/generators/mod_status.c (+1014/-0)
modules/generators/mod_status.dep (+60/-0)
modules/generators/mod_status.dsp (+111/-0)
modules/generators/mod_status.exp (+1/-0)
modules/generators/mod_status.h (+64/-0)
modules/generators/mod_status.mak (+353/-0)
modules/generators/mod_suexec.c (+139/-0)
modules/generators/mod_suexec.h (+33/-0)
modules/http/.indent.pro (+54/-0)
modules/http/Makefile.in (+3/-0)
modules/http/byterange_filter.c (+611/-0)
modules/http/chunk_filter.c (+196/-0)
modules/http/config.m4 (+20/-0)
modules/http/http_core.c (+328/-0)
modules/http/http_etag.c (+220/-0)
modules/http/http_filters.c (+1907/-0)
modules/http/http_protocol.c (+1690/-0)
modules/http/http_request.c (+862/-0)
modules/http/mod_mime.c (+1026/-0)
modules/http/mod_mime.dep (+55/-0)
modules/http/mod_mime.dsp (+111/-0)
modules/http/mod_mime.exp (+1/-0)
modules/http/mod_mime.mak (+353/-0)
modules/http2/.gitignore (+35/-0)
modules/http2/Makefile.in (+20/-0)
modules/http2/NWGNUmakefile (+246/-0)
modules/http2/NWGNUmod_http2 (+395/-0)
modules/http2/NWGNUproxyht2 (+288/-0)
modules/http2/README.h2 (+70/-0)
modules/http2/config2.m4 (+235/-0)
modules/http2/h2.h (+166/-0)
modules/http2/h2_alt_svc.c (+131/-0)
modules/http2/h2_alt_svc.h (+40/-0)
modules/http2/h2_bucket_beam.c (+1283/-0)
modules/http2/h2_bucket_beam.h (+406/-0)
modules/http2/h2_bucket_eos.c (+127/-0)
modules/http2/h2_bucket_eos.h (+32/-0)
modules/http2/h2_config.c (+702/-0)
modules/http2/h2_config.h (+106/-0)
modules/http2/h2_conn.c (+361/-0)
modules/http2/h2_conn.h (+77/-0)
modules/http2/h2_conn_io.c (+389/-0)
modules/http2/h2_conn_io.h (+77/-0)
modules/http2/h2_ctx.c (+121/-0)
modules/http2/h2_ctx.h (+78/-0)
modules/http2/h2_filter.c (+568/-0)
modules/http2/h2_filter.h (+73/-0)
modules/http2/h2_from_h1.c (+867/-0)
modules/http2/h2_from_h1.h (+50/-0)
modules/http2/h2_h2.c (+765/-0)
modules/http2/h2_h2.h (+79/-0)
modules/http2/h2_headers.c (+179/-0)
modules/http2/h2_headers.h (+79/-0)
modules/http2/h2_mplx.c (+1278/-0)
modules/http2/h2_mplx.h (+330/-0)
modules/http2/h2_ngn_shed.c (+392/-0)
modules/http2/h2_ngn_shed.h (+79/-0)
modules/http2/h2_private.h (+28/-0)
modules/http2/h2_proxy_session.c (+1584/-0)
modules/http2/h2_proxy_session.h (+128/-0)
modules/http2/h2_proxy_util.c (+1335/-0)
modules/http2/h2_proxy_util.h (+256/-0)
modules/http2/h2_push.c (+1060/-0)
modules/http2/h2_push.h (+120/-0)
modules/http2/h2_request.c (+339/-0)
modules/http2/h2_request.h (+48/-0)
modules/http2/h2_session.c (+2292/-0)
modules/http2/h2_session.h (+225/-0)
modules/http2/h2_stream.c (+1078/-0)
modules/http2/h2_stream.h (+309/-0)
modules/http2/h2_switch.c (+194/-0)
modules/http2/h2_switch.h (+30/-0)
modules/http2/h2_task.c (+769/-0)
modules/http2/h2_task.h (+127/-0)
modules/http2/h2_util.c (+2011/-0)
modules/http2/h2_util.h (+544/-0)
modules/http2/h2_version.h (+41/-0)
modules/http2/h2_workers.c (+383/-0)
modules/http2/h2_workers.h (+82/-0)
modules/http2/mod_http2.c (+393/-0)
modules/http2/mod_http2.dep (+1433/-0)
modules/http2/mod_http2.dsp (+195/-0)
modules/http2/mod_http2.h (+101/-0)
modules/http2/mod_http2.mak (+542/-0)
modules/http2/mod_proxy_http2.c (+674/-0)
modules/http2/mod_proxy_http2.dep (+208/-0)
modules/http2/mod_proxy_http2.dsp (+119/-0)
modules/http2/mod_proxy_http2.h (+21/-0)
modules/http2/mod_proxy_http2.mak (+427/-0)
modules/ldap/Makefile.in (+3/-0)
modules/ldap/NWGNUmakefile (+264/-0)
modules/ldap/README.ldap (+47/-0)
modules/ldap/config.m4 (+25/-0)
modules/ldap/mod_ldap.dep (+192/-0)
modules/ldap/mod_ldap.dsp (+127/-0)
modules/ldap/mod_ldap.mak (+371/-0)
modules/ldap/util_ldap.c (+3221/-0)
modules/ldap/util_ldap_cache.c (+467/-0)
modules/ldap/util_ldap_cache.h (+206/-0)
modules/ldap/util_ldap_cache_mgr.c (+901/-0)
modules/loggers/.indent.pro (+54/-0)
modules/loggers/Makefile.in (+3/-0)
modules/loggers/NWGNUforensic (+258/-0)
modules/loggers/NWGNUlogdebug (+258/-0)
modules/loggers/NWGNUmakefile (+247/-0)
modules/loggers/NWGNUmodlogio (+258/-0)
modules/loggers/config.m4 (+20/-0)
modules/loggers/mod_log_config.c (+1858/-0)
modules/loggers/mod_log_config.dep (+62/-0)
modules/loggers/mod_log_config.dsp (+111/-0)
modules/loggers/mod_log_config.exp (+1/-0)
modules/loggers/mod_log_config.h (+74/-0)
modules/loggers/mod_log_config.mak (+353/-0)
modules/loggers/mod_log_debug.c (+287/-0)
modules/loggers/mod_log_debug.dep (+54/-0)
modules/loggers/mod_log_debug.dsp (+111/-0)
modules/loggers/mod_log_debug.mak (+325/-0)
modules/loggers/mod_log_forensic.c (+289/-0)
modules/loggers/mod_log_forensic.dep (+53/-0)
modules/loggers/mod_log_forensic.dsp (+111/-0)
modules/loggers/mod_log_forensic.exp (+1/-0)
modules/loggers/mod_log_forensic.mak (+353/-0)
modules/loggers/mod_logio.c (+284/-0)
modules/loggers/mod_logio.dep (+59/-0)
modules/loggers/mod_logio.dsp (+111/-0)
modules/loggers/mod_logio.mak (+353/-0)
modules/lua/Makefile.in (+3/-0)
modules/lua/NWGNUmakefile (+287/-0)
modules/lua/README (+54/-0)
modules/lua/config.m4 (+121/-0)
modules/lua/docs/README (+12/-0)
modules/lua/docs/basic-configuration.txt (+141/-0)
modules/lua/docs/building-from-subversion.txt (+72/-0)
modules/lua/docs/running-developer-tests.txt (+16/-0)
modules/lua/docs/writing-handlers.txt (+49/-0)
modules/lua/lua_apr.c (+104/-0)
modules/lua/lua_apr.h (+36/-0)
modules/lua/lua_config.c (+277/-0)
modules/lua/lua_config.h (+31/-0)
modules/lua/lua_dbd.c (+843/-0)
modules/lua/lua_dbd.h (+66/-0)
modules/lua/lua_passwd.c (+178/-0)
modules/lua/lua_passwd.h (+90/-0)
modules/lua/lua_request.c (+3024/-0)
modules/lua/lua_request.h (+58/-0)
modules/lua/lua_vmprep.c (+551/-0)
modules/lua/lua_vmprep.h (+147/-0)
modules/lua/mod_lua.c (+2174/-0)
modules/lua/mod_lua.dep (+418/-0)
modules/lua/mod_lua.dsp (+163/-0)
modules/lua/mod_lua.h (+177/-0)
modules/lua/mod_lua.mak (+407/-0)
modules/lua/test/helpers.lua (+36/-0)
modules/lua/test/htdocs/config_tests.lua (+37/-0)
modules/lua/test/htdocs/filters.lua (+7/-0)
modules/lua/test/htdocs/find_me.txt (+1/-0)
modules/lua/test/htdocs/headers.lua (+6/-0)
modules/lua/test/htdocs/hooks.lua (+29/-0)
modules/lua/test/htdocs/other.lua (+21/-0)
modules/lua/test/htdocs/simple.lua (+4/-0)
modules/lua/test/htdocs/test.lua (+129/-0)
modules/lua/test/lib/kangaroo.lua (+19/-0)
modules/lua/test/moonunit.lua (+52/-0)
modules/lua/test/test.lua (+126/-0)
modules/lua/test/test_httpd.conf (+31/-0)
modules/mappers/.indent.pro (+54/-0)
modules/mappers/Makefile.in (+3/-0)
modules/mappers/NWGNUactions (+248/-0)
modules/mappers/NWGNUimagemap (+249/-0)
modules/mappers/NWGNUmakefile (+250/-0)
modules/mappers/NWGNUrewrite (+250/-0)
modules/mappers/NWGNUspeling (+248/-0)
modules/mappers/NWGNUuserdir (+249/-0)
modules/mappers/NWGNUvhost (+249/-0)
modules/mappers/config9.m4 (+19/-0)
modules/mappers/mod_actions.c (+230/-0)
modules/mappers/mod_actions.dep (+58/-0)
modules/mappers/mod_actions.dsp (+111/-0)
modules/mappers/mod_actions.exp (+1/-0)
modules/mappers/mod_actions.mak (+353/-0)
modules/mappers/mod_alias.c (+726/-0)
modules/mappers/mod_alias.dep (+51/-0)
modules/mappers/mod_alias.dsp (+111/-0)
modules/mappers/mod_alias.exp (+1/-0)
modules/mappers/mod_alias.mak (+353/-0)
modules/mappers/mod_dir.c (+417/-0)
modules/mappers/mod_dir.dep (+60/-0)
modules/mappers/mod_dir.dsp (+111/-0)
modules/mappers/mod_dir.exp (+1/-0)
modules/mappers/mod_dir.mak (+353/-0)
modules/mappers/mod_imagemap.c (+897/-0)
modules/mappers/mod_imagemap.dep (+60/-0)
modules/mappers/mod_imagemap.dsp (+111/-0)
modules/mappers/mod_imagemap.exp (+1/-0)
modules/mappers/mod_imagemap.mak (+353/-0)
modules/mappers/mod_negotiation.c (+3228/-0)
modules/mappers/mod_negotiation.dep (+58/-0)
modules/mappers/mod_negotiation.dsp (+111/-0)
modules/mappers/mod_negotiation.exp (+1/-0)
modules/mappers/mod_negotiation.mak (+353/-0)
modules/mappers/mod_rewrite.c (+5328/-0)
modules/mappers/mod_rewrite.dep (+65/-0)
modules/mappers/mod_rewrite.dsp (+111/-0)
modules/mappers/mod_rewrite.exp (+1/-0)
modules/mappers/mod_rewrite.h (+42/-0)
modules/mappers/mod_rewrite.mak (+353/-0)
modules/mappers/mod_speling.c (+533/-0)
modules/mappers/mod_speling.dep (+51/-0)
modules/mappers/mod_speling.dsp (+111/-0)
modules/mappers/mod_speling.exp (+1/-0)
modules/mappers/mod_speling.mak (+353/-0)
modules/mappers/mod_userdir.c (+390/-0)
modules/mappers/mod_userdir.dep (+46/-0)
modules/mappers/mod_userdir.dsp (+111/-0)
modules/mappers/mod_userdir.exp (+1/-0)
modules/mappers/mod_userdir.mak (+353/-0)
modules/mappers/mod_vhost_alias.c (+457/-0)
modules/mappers/mod_vhost_alias.dep (+50/-0)
modules/mappers/mod_vhost_alias.dsp (+111/-0)
modules/mappers/mod_vhost_alias.exp (+1/-0)
modules/mappers/mod_vhost_alias.mak (+353/-0)
modules/md/Makefile.in (+20/-0)
modules/md/config2.m4 (+297/-0)
modules/md/md.h (+290/-0)
modules/md/md_acme.c (+529/-0)
modules/md/md_acme.h (+267/-0)
modules/md/md_acme_acct.c (+670/-0)
modules/md/md_acme_acct.h (+49/-0)
modules/md/md_acme_authz.c (+723/-0)
modules/md/md_acme_authz.h (+104/-0)
modules/md/md_acme_drive.c (+1021/-0)
modules/md/md_core.c (+428/-0)
modules/md/md_crypt.c (+1323/-0)
modules/md/md_crypt.h (+135/-0)
modules/md/md_curl.c (+307/-0)
modules/md/md_curl.h (+24/-0)
modules/md/md_http.c (+245/-0)
modules/md/md_http.h (+102/-0)
modules/md/md_json.c (+1037/-0)
modules/md/md_json.h (+122/-0)
modules/md/md_jws.c (+106/-0)
modules/md/md_jws.h (+30/-0)
modules/md/md_log.c (+78/-0)
modules/md/md_log.h (+56/-0)
modules/md/md_reg.c (+996/-0)
modules/md/md_reg.h (+177/-0)
modules/md/md_store.c (+319/-0)
modules/md/md_store.h (+157/-0)
modules/md/md_store_fs.c (+883/-0)
modules/md/md_store_fs.h (+65/-0)
modules/md/md_util.c (+1254/-0)
modules/md/md_util.h (+148/-0)
modules/md/md_version.h (+42/-0)
modules/md/mod_md.c (+1460/-0)
modules/md/mod_md.dep (+5/-0)
modules/md/mod_md.dsp (+180/-0)
modules/md/mod_md.h (+50/-0)
modules/md/mod_md.mak (+520/-0)
modules/md/mod_md_config.c (+950/-0)
modules/md/mod_md_config.h (+102/-0)
modules/md/mod_md_os.c (+89/-0)
modules/md/mod_md_os.h (+37/-0)
modules/md/mod_md_private.h (+24/-0)
modules/metadata/.indent.pro (+54/-0)
modules/metadata/Makefile.in (+3/-0)
modules/metadata/NWGNUcernmeta (+248/-0)
modules/metadata/NWGNUexpires (+248/-0)
modules/metadata/NWGNUheaders (+249/-0)
modules/metadata/NWGNUmakefile (+254/-0)
modules/metadata/NWGNUmimemagi (+248/-0)
modules/metadata/NWGNUmodident (+248/-0)
modules/metadata/NWGNUmodversion (+248/-0)
modules/metadata/NWGNUremoteip (+248/-0)
modules/metadata/NWGNUuniqueid (+257/-0)
modules/metadata/NWGNUusertrk (+248/-0)
modules/metadata/config.m4 (+24/-0)
modules/metadata/mod_cern_meta.c (+371/-0)
modules/metadata/mod_cern_meta.dep (+55/-0)
modules/metadata/mod_cern_meta.dsp (+111/-0)
modules/metadata/mod_cern_meta.exp (+1/-0)
modules/metadata/mod_cern_meta.mak (+353/-0)
modules/metadata/mod_env.c (+189/-0)
modules/metadata/mod_env.dep (+47/-0)
modules/metadata/mod_env.dsp (+111/-0)
modules/metadata/mod_env.exp (+1/-0)
modules/metadata/mod_env.mak (+353/-0)
modules/metadata/mod_expires.c (+571/-0)
modules/metadata/mod_expires.dep (+54/-0)
modules/metadata/mod_expires.dsp (+111/-0)
modules/metadata/mod_expires.exp (+1/-0)
modules/metadata/mod_expires.mak (+353/-0)
modules/metadata/mod_headers.c (+1020/-0)
modules/metadata/mod_headers.dep (+57/-0)
modules/metadata/mod_headers.dsp (+111/-0)
modules/metadata/mod_headers.exp (+1/-0)
modules/metadata/mod_headers.mak (+353/-0)
modules/metadata/mod_ident.c (+344/-0)
modules/metadata/mod_ident.dep (+52/-0)
modules/metadata/mod_ident.dsp (+111/-0)
modules/metadata/mod_ident.exp (+1/-0)
modules/metadata/mod_ident.mak (+353/-0)
modules/metadata/mod_mime_magic.c (+2471/-0)
modules/metadata/mod_mime_magic.dep (+58/-0)
modules/metadata/mod_mime_magic.dsp (+111/-0)
modules/metadata/mod_mime_magic.exp (+1/-0)
modules/metadata/mod_mime_magic.mak (+353/-0)
modules/metadata/mod_remoteip.c (+1249/-0)
modules/metadata/mod_remoteip.dep (+53/-0)
modules/metadata/mod_remoteip.dsp (+111/-0)
modules/metadata/mod_remoteip.mak (+353/-0)
modules/metadata/mod_setenvif.c (+648/-0)
modules/metadata/mod_setenvif.dep (+56/-0)
modules/metadata/mod_setenvif.dsp (+111/-0)
modules/metadata/mod_setenvif.exp (+1/-0)
modules/metadata/mod_setenvif.mak (+353/-0)
modules/metadata/mod_unique_id.c (+316/-0)
modules/metadata/mod_unique_id.dep (+50/-0)
modules/metadata/mod_unique_id.dsp (+111/-0)
modules/metadata/mod_unique_id.exp (+1/-0)
modules/metadata/mod_unique_id.mak (+353/-0)
modules/metadata/mod_usertrack.c (+459/-0)
modules/metadata/mod_usertrack.dep (+51/-0)
modules/metadata/mod_usertrack.dsp (+111/-0)
modules/metadata/mod_usertrack.exp (+1/-0)
modules/metadata/mod_usertrack.mak (+353/-0)
modules/metadata/mod_version.c (+313/-0)
modules/metadata/mod_version.dep (+45/-0)
modules/metadata/mod_version.dsp (+111/-0)
modules/metadata/mod_version.exp (+1/-0)
modules/metadata/mod_version.mak (+353/-0)
modules/proxy/.indent.pro (+58/-0)
modules/proxy/CHANGES (+223/-0)
modules/proxy/Makefile.in (+4/-0)
modules/proxy/NWGNUmakefile (+259/-0)
modules/proxy/NWGNUproxy (+337/-0)
modules/proxy/NWGNUproxyajp (+264/-0)
modules/proxy/NWGNUproxybalancer (+260/-0)
modules/proxy/NWGNUproxycon (+251/-0)
modules/proxy/NWGNUproxyexpress (+256/-0)
modules/proxy/NWGNUproxyfcgi (+261/-0)
modules/proxy/NWGNUproxyftp (+260/-0)
modules/proxy/NWGNUproxyhcheck (+254/-0)
modules/proxy/NWGNUproxyhtp (+260/-0)
modules/proxy/NWGNUproxylbm_busy (+250/-0)
modules/proxy/NWGNUproxylbm_hb (+251/-0)
modules/proxy/NWGNUproxylbm_req (+251/-0)
modules/proxy/NWGNUproxylbm_traf (+251/-0)
modules/proxy/NWGNUproxyscgi (+260/-0)
modules/proxy/NWGNUproxywstunnel (+250/-0)
modules/proxy/ajp.h (+520/-0)
modules/proxy/ajp_header.c (+885/-0)
modules/proxy/ajp_header.h (+195/-0)
modules/proxy/ajp_link.c (+115/-0)
modules/proxy/ajp_msg.c (+641/-0)
modules/proxy/ajp_utils.c (+137/-0)
modules/proxy/balancers/Makefile.in (+3/-0)
modules/proxy/balancers/config2.m4 (+8/-0)
modules/proxy/balancers/mod_lbmethod_bybusyness.c (+98/-0)
modules/proxy/balancers/mod_lbmethod_bybusyness.dep (+76/-0)
modules/proxy/balancers/mod_lbmethod_bybusyness.dsp (+123/-0)
modules/proxy/balancers/mod_lbmethod_bybusyness.mak (+408/-0)
modules/proxy/balancers/mod_lbmethod_byrequests.c (+143/-0)
modules/proxy/balancers/mod_lbmethod_byrequests.dep (+76/-0)
modules/proxy/balancers/mod_lbmethod_byrequests.dsp (+123/-0)
modules/proxy/balancers/mod_lbmethod_byrequests.mak (+408/-0)
modules/proxy/balancers/mod_lbmethod_bytraffic.c (+113/-0)
modules/proxy/balancers/mod_lbmethod_bytraffic.dep (+76/-0)
modules/proxy/balancers/mod_lbmethod_bytraffic.dsp (+123/-0)
modules/proxy/balancers/mod_lbmethod_bytraffic.mak (+408/-0)
modules/proxy/balancers/mod_lbmethod_heartbeat.c (+467/-0)
modules/proxy/balancers/mod_lbmethod_heartbeat.dep (+77/-0)
modules/proxy/balancers/mod_lbmethod_heartbeat.dsp (+123/-0)
modules/proxy/balancers/mod_lbmethod_heartbeat.mak (+408/-0)
modules/proxy/config.m4 (+79/-0)
modules/proxy/libproxy.exp (+1/-0)
modules/proxy/mod_proxy.c (+3089/-0)
modules/proxy/mod_proxy.dep (+153/-0)
modules/proxy/mod_proxy.dsp (+127/-0)
modules/proxy/mod_proxy.h (+1269/-0)
modules/proxy/mod_proxy.mak (+361/-0)
modules/proxy/mod_proxy_ajp.c (+829/-0)
modules/proxy/mod_proxy_ajp.dep (+356/-0)
modules/proxy/mod_proxy_ajp.dsp (+151/-0)
modules/proxy/mod_proxy_ajp.mak (+416/-0)
modules/proxy/mod_proxy_balancer.c (+1941/-0)
modules/proxy/mod_proxy_balancer.dep (+76/-0)
modules/proxy/mod_proxy_balancer.dsp (+123/-0)
modules/proxy/mod_proxy_balancer.mak (+380/-0)
modules/proxy/mod_proxy_connect.c (+486/-0)
modules/proxy/mod_proxy_connect.dep (+73/-0)
modules/proxy/mod_proxy_connect.dsp (+123/-0)
modules/proxy/mod_proxy_connect.mak (+380/-0)
modules/proxy/mod_proxy_express.c (+221/-0)
modules/proxy/mod_proxy_express.dep (+74/-0)
modules/proxy/mod_proxy_express.dsp (+123/-0)
modules/proxy/mod_proxy_express.mak (+380/-0)
modules/proxy/mod_proxy_fcgi.c (+1200/-0)
modules/proxy/mod_proxy_fcgi.dep (+75/-0)
modules/proxy/mod_proxy_fcgi.dsp (+123/-0)
modules/proxy/mod_proxy_fcgi.mak (+380/-0)
modules/proxy/mod_proxy_fdpass.c (+241/-0)
modules/proxy/mod_proxy_fdpass.h (+41/-0)
modules/proxy/mod_proxy_ftp.c (+2125/-0)
modules/proxy/mod_proxy_ftp.dep (+74/-0)
modules/proxy/mod_proxy_ftp.dsp (+123/-0)
modules/proxy/mod_proxy_ftp.mak (+380/-0)
modules/proxy/mod_proxy_hcheck.c (+1224/-0)
modules/proxy/mod_proxy_hcheck.dep (+5/-0)
modules/proxy/mod_proxy_hcheck.dsp (+123/-0)
modules/proxy/mod_proxy_hcheck.mak (+380/-0)
modules/proxy/mod_proxy_http.c (+2070/-0)
modules/proxy/mod_proxy_http.dep (+73/-0)
modules/proxy/mod_proxy_http.dsp (+123/-0)
modules/proxy/mod_proxy_http.mak (+380/-0)
modules/proxy/mod_proxy_scgi.c (+674/-0)
modules/proxy/mod_proxy_scgi.dep (+75/-0)
modules/proxy/mod_proxy_scgi.dsp (+123/-0)
modules/proxy/mod_proxy_scgi.mak (+380/-0)
modules/proxy/mod_proxy_uwsgi.c (+551/-0)
modules/proxy/mod_proxy_uwsgi.dep (+75/-0)
modules/proxy/mod_proxy_uwsgi.dsp (+123/-0)
modules/proxy/mod_proxy_uwsgi.mak (+380/-0)
modules/proxy/mod_proxy_wstunnel.c (+391/-0)
modules/proxy/mod_proxy_wstunnel.dep (+73/-0)
modules/proxy/mod_proxy_wstunnel.dsp (+123/-0)
modules/proxy/mod_proxy_wstunnel.mak (+380/-0)
modules/proxy/proxy_util.c (+4031/-0)
modules/proxy/proxy_util.h (+45/-0)
modules/proxy/scgi.h (+36/-0)
modules/session/Makefile.in (+4/-0)
modules/session/NWGNUmakefile (+257/-0)
modules/session/NWGNUsession (+254/-0)
modules/session/NWGNUsession_cookie (+253/-0)
modules/session/NWGNUsession_crypto (+255/-0)
modules/session/NWGNUsession_dbd (+253/-0)
modules/session/config.m4 (+68/-0)
modules/session/mod_session.c (+671/-0)
modules/session/mod_session.dep (+56/-0)
modules/session/mod_session.dsp (+115/-0)
modules/session/mod_session.h (+186/-0)
modules/session/mod_session.mak (+353/-0)
modules/session/mod_session_cookie.c (+284/-0)
modules/session/mod_session_cookie.dep (+49/-0)
modules/session/mod_session_cookie.dsp (+111/-0)
modules/session/mod_session_cookie.mak (+381/-0)
modules/session/mod_session_crypto.c (+805/-0)
modules/session/mod_session_crypto.dep (+57/-0)
modules/session/mod_session_crypto.dsp (+111/-0)
modules/session/mod_session_crypto.mak (+381/-0)
modules/session/mod_session_dbd.c (+640/-0)
modules/session/mod_session_dbd.dep (+60/-0)
modules/session/mod_session_dbd.dsp (+111/-0)
modules/session/mod_session_dbd.mak (+409/-0)
modules/slotmem/Makefile.in (+3/-0)
modules/slotmem/NWGNUmakefile (+246/-0)
modules/slotmem/NWGNUslotmem_plain (+250/-0)
modules/slotmem/NWGNUslotmem_shm (+250/-0)
modules/slotmem/config.m4 (+10/-0)
modules/slotmem/mod_slotmem_plain.c (+343/-0)
modules/slotmem/mod_slotmem_plain.dep (+51/-0)
modules/slotmem/mod_slotmem_plain.dsp (+111/-0)
modules/slotmem/mod_slotmem_plain.mak (+353/-0)
modules/slotmem/mod_slotmem_shm.c (+789/-0)
modules/slotmem/mod_slotmem_shm.dep (+57/-0)
modules/slotmem/mod_slotmem_shm.dsp (+111/-0)
modules/slotmem/mod_slotmem_shm.mak (+353/-0)
modules/ssl/Makefile.in (+20/-0)
modules/ssl/NWGNUmakefile (+327/-0)
modules/ssl/README (+106/-0)
modules/ssl/README.dsov.fig (+346/-0)
modules/ssl/README.dsov.ps (+1138/-0)
modules/ssl/config.m4 (+57/-0)
modules/ssl/mod_ssl.c (+760/-0)
modules/ssl/mod_ssl.dep (+1086/-0)
modules/ssl/mod_ssl.dsp (+195/-0)
modules/ssl/mod_ssl.h (+91/-0)
modules/ssl/mod_ssl.mak (+500/-0)
modules/ssl/mod_ssl_openssl.h (+73/-0)
modules/ssl/ssl_engine_config.c (+2111/-0)
modules/ssl/ssl_engine_init.c (+2152/-0)
modules/ssl/ssl_engine_io.c (+2217/-0)
modules/ssl/ssl_engine_kernel.c (+2500/-0)
modules/ssl/ssl_engine_log.c (+238/-0)
modules/ssl/ssl_engine_mutex.c (+111/-0)
modules/ssl/ssl_engine_ocsp.c (+311/-0)
modules/ssl/ssl_engine_pphrase.c (+621/-0)
modules/ssl/ssl_engine_rand.c (+177/-0)
modules/ssl/ssl_engine_vars.c (+1252/-0)
modules/ssl/ssl_private.h (+1093/-0)
modules/ssl/ssl_scache.c (+239/-0)
modules/ssl/ssl_util.c (+465/-0)
modules/ssl/ssl_util_ocsp.c (+419/-0)
modules/ssl/ssl_util_ssl.c (+538/-0)
modules/ssl/ssl_util_ssl.h (+80/-0)
modules/ssl/ssl_util_stapling.c (+873/-0)
modules/test/.indent.pro (+54/-0)
modules/test/Makefile.in (+3/-0)
modules/test/NWGNUmakefile (+257/-0)
modules/test/NWGNUoptfnexport (+256/-0)
modules/test/NWGNUoptfnimport (+256/-0)
modules/test/NWGNUopthookexport (+256/-0)
modules/test/NWGNUopthookimport (+256/-0)
modules/test/README (+1/-0)
modules/test/config.m4 (+13/-0)
modules/test/mod_dialup.c (+306/-0)
modules/test/mod_optional_fn_export.c (+48/-0)
modules/test/mod_optional_fn_export.h (+19/-0)
modules/test/mod_optional_fn_import.c (+55/-0)
modules/test/mod_optional_hook_export.c (+44/-0)
modules/test/mod_optional_hook_export.h (+24/-0)
modules/test/mod_optional_hook_import.c (+45/-0)
os/.indent.pro (+54/-0)
os/Makefile.in (+4/-0)
os/bs2000/ebcdic.c (+210/-0)
os/bs2000/ebcdic.h (+33/-0)
os/bs2000/os.c (+136/-0)
os/bs2000/os.h (+40/-0)
os/config.m4 (+26/-0)
os/netware/modules.c (+117/-0)
os/netware/netware_config_layout.h (+31/-0)
os/netware/os.h (+57/-0)
os/netware/pre_nw.h (+70/-0)
os/netware/util_nw.c (+112/-0)
os/os2/Makefile.in (+5/-0)
os/os2/config.m4 (+3/-0)
os/os2/core.mk (+7/-0)
os/os2/core_header.def (+19/-0)
os/os2/os.h (+40/-0)
os/os2/util_os2.c (+39/-0)
os/unix/Makefile.in (+5/-0)
os/unix/config.m4 (+7/-0)
os/unix/os.h (+52/-0)
os/unix/unixd.c (+733/-0)
os/unix/unixd.h (+142/-0)
os/win32/BaseAddr.ref (+134/-0)
os/win32/Makefile.in (+5/-0)
os/win32/ap_regkey.c (+642/-0)
os/win32/modules.c (+56/-0)
os/win32/os.h (+139/-0)
os/win32/util_win32.c (+148/-0)
os/win32/win32_config_layout.h (+31/-0)
server/.indent.pro (+54/-0)
server/Makefile.in (+105/-0)
server/NWGNUmakefile (+261/-0)
server/buildmark.c (+29/-0)
server/config.c (+2738/-0)
server/config.m4 (+19/-0)
server/connection.c (+221/-0)
server/core.c (+5470/-0)
server/core_filters.c (+889/-0)
server/eoc_bucket.c (+55/-0)
server/eor_bucket.c (+102/-0)
server/error_bucket.c (+77/-0)
server/gen_test_char.c (+173/-0)
server/gen_test_char.dep (+7/-0)
server/gen_test_char.dsp (+94/-0)
server/gen_test_char.mak (+234/-0)
server/listen.c (+938/-0)
server/log.c (+1957/-0)
server/main.c (+851/-0)
server/mpm/MPM.NAMING (+14/-0)
server/mpm/Makefile.in (+4/-0)
server/mpm/config.m4 (+128/-0)
server/mpm/config2.m4 (+89/-0)
server/mpm/event/Makefile.in (+1/-0)
server/mpm/event/config.m4 (+15/-0)
server/mpm/event/config3.m4 (+7/-0)
server/mpm/event/event.c (+3876/-0)
server/mpm/event/mpm_default.h (+56/-0)
server/mpm/mpmt_os2/Makefile.in (+1/-0)
server/mpm/mpmt_os2/config.m4 (+10/-0)
server/mpm/mpmt_os2/config5.m4 (+3/-0)
server/mpm/mpmt_os2/mpm_default.h (+57/-0)
server/mpm/mpmt_os2/mpmt_os2.c (+614/-0)
server/mpm/mpmt_os2/mpmt_os2_child.c (+488/-0)
server/mpm/netware/mpm_default.h (+78/-0)
server/mpm/netware/mpm_netware.c (+1363/-0)
server/mpm/prefork/Makefile.in (+1/-0)
server/mpm/prefork/config.m4 (+7/-0)
server/mpm/prefork/config3.m4 (+1/-0)
server/mpm/prefork/mpm_default.h (+51/-0)
server/mpm/prefork/prefork.c (+1513/-0)
server/mpm/winnt/Makefile.in (+1/-0)
server/mpm/winnt/child.c (+1266/-0)
server/mpm/winnt/config.m4 (+10/-0)
server/mpm/winnt/config3.m4 (+2/-0)
server/mpm/winnt/mpm_default.h (+60/-0)
server/mpm/winnt/mpm_winnt.c (+1785/-0)
server/mpm/winnt/mpm_winnt.h (+96/-0)
server/mpm/winnt/nt_eventlog.c (+171/-0)
server/mpm/winnt/service.c (+1241/-0)
server/mpm/worker/Makefile.in (+2/-0)
server/mpm/worker/config.m4 (+11/-0)
server/mpm/worker/config3.m4 (+5/-0)
server/mpm/worker/mpm_default.h (+55/-0)
server/mpm/worker/worker.c (+2378/-0)
server/mpm_common.c (+571/-0)
server/mpm_fdqueue.c (+530/-0)
server/mpm_fdqueue.h (+110/-0)
server/mpm_unix.c (+1107/-0)
server/protocol.c (+2456/-0)
server/provider.c (+197/-0)
server/request.c (+2511/-0)
server/scoreboard.c (+672/-0)
server/util.c (+3309/-0)
server/util_cfgtree.c (+46/-0)
server/util_charset.c (+28/-0)
server/util_cookies.c (+290/-0)
server/util_debug.c (+236/-0)
server/util_ebcdic.c (+117/-0)
server/util_expr_eval.c (+1822/-0)
server/util_expr_parse.c (+2130/-0)
server/util_expr_parse.h (+104/-0)
server/util_expr_parse.y (+217/-0)
server/util_expr_private.h (+141/-0)
server/util_expr_scan.c (+2669/-0)
server/util_expr_scan.l (+400/-0)
server/util_fcgi.c (+290/-0)
server/util_filter.c (+732/-0)
server/util_md5.c (+166/-0)
server/util_mutex.c (+561/-0)
server/util_pcre.c (+343/-0)
server/util_regex.c (+210/-0)
server/util_script.c (+900/-0)
server/util_time.c (+306/-0)
server/util_xml.c (+140/-0)
server/vhost.c (+1267/-0)
srclib/Makefile.in (+5/-0)
support/.indent.pro (+54/-0)
support/Makefile.in (+89/-0)
support/NWGNUab (+330/-0)
support/NWGNUhtcacheclean (+253/-0)
support/NWGNUhtdbm (+252/-0)
support/NWGNUhtdigest (+251/-0)
support/NWGNUhtpasswd (+252/-0)
support/NWGNUhttxt2dbm (+251/-0)
support/NWGNUlogres (+258/-0)
support/NWGNUmakefile (+51/-0)
support/NWGNUrotlogs (+250/-0)
support/README (+65/-0)
support/SHA1/README.sha1 (+34/-0)
support/SHA1/convert-sha1.pl (+36/-0)
support/SHA1/htpasswd-sha1.pl (+22/-0)
support/SHA1/ldif-sha1.example (+19/-0)
support/ab.c (+2623/-0)
support/ab.dep (+37/-0)
support/ab.dsp (+106/-0)
support/ab.mak (+317/-0)
support/abs.dep (+37/-0)
support/abs.dsp (+144/-0)
support/abs.mak (+374/-0)
support/apachectl.in (+106/-0)
support/apxs.in (+791/-0)
support/check_forensic (+51/-0)
support/checkgid.c (+110/-0)
support/config.m4 (+151/-0)
support/dbmmanage.in (+312/-0)
support/envvars-std.in (+28/-0)
support/fcgistarter.c (+220/-0)
support/fcgistarter.dep (+29/-0)
support/fcgistarter.dsp (+106/-0)
support/fcgistarter.mak (+317/-0)
support/htcacheclean.c (+1829/-0)
support/htcacheclean.dep (+37/-0)
support/htcacheclean.dsp (+106/-0)
support/htcacheclean.mak (+317/-0)
support/htdbm.c (+472/-0)
support/htdbm.dep (+58/-0)
support/htdbm.dsp (+110/-0)
support/htdbm.mak (+326/-0)
support/htdigest.c (+303/-0)
support/htdigest.dep (+27/-0)
support/htdigest.dsp (+106/-0)
support/htdigest.mak (+317/-0)
support/htpasswd.c (+524/-0)
support/htpasswd.dep (+57/-0)
support/htpasswd.dsp (+110/-0)
support/htpasswd.mak (+326/-0)
support/httxt2dbm.c (+335/-0)
support/httxt2dbm.dep (+26/-0)
support/httxt2dbm.dsp (+106/-0)
support/httxt2dbm.mak (+317/-0)
support/list_hooks.pl (+101/-0)
support/log_server_status.in (+76/-0)
support/logresolve.c (+329/-0)
support/logresolve.dep (+26/-0)
support/logresolve.dsp (+106/-0)
support/logresolve.mak (+317/-0)
support/logresolve.pl.in (+225/-0)
support/passwd_common.c (+344/-0)
support/passwd_common.h (+128/-0)
support/phf_abuse_log.cgi.in (+38/-0)
support/rotatelogs.c (+781/-0)
support/rotatelogs.dep (+28/-0)
support/rotatelogs.dsp (+106/-0)
support/rotatelogs.mak (+317/-0)
support/split-logfile.in (+69/-0)
support/suexec.c (+685/-0)
support/suexec.h (+109/-0)
support/win32/ApacheMonitor.c (+1671/-0)
support/win32/ApacheMonitor.dep (+18/-0)
support/win32/ApacheMonitor.dsp (+143/-0)
support/win32/ApacheMonitor.h (+78/-0)
support/win32/ApacheMonitor.mak (+309/-0)
support/win32/ApacheMonitor.manifest (+10/-0)
support/win32/ApacheMonitor.rc (+103/-0)
support/win32/wintty.c (+374/-0)
support/win32/wintty.dep (+5/-0)
support/win32/wintty.dsp (+106/-0)
support/win32/wintty.mak (+317/-0)
test/.indent.pro (+54/-0)
test/Makefile.in (+20/-0)
test/README (+3/-0)
test/check_chunked (+58/-0)
test/cls.c (+182/-0)
test/make_sni.sh (+396/-0)
test/tcpdumpscii.txt (+50/-0)
test/test-writev.c (+101/-0)
test/test_find.c (+78/-0)
test/test_limits.c (+200/-0)
test/test_parser.c (+75/-0)
test/test_select.c (+46/-0)
test/time-sem.c (+591/-0)
Reviewer Review Type Date Requested Status
Robie Basak 2018-08-03 Approve on 2018-08-06
Canonical Server Team 2018-08-03 Pending
Review via email: mp+352331@code.launchpad.net

Description of the change

Please use local git for the review, as the LP diff is incorrect. It's correct until it reaches docs/manual, where it breaks. Probably because of the empty-dir-in-git problem.

Merge from debian's 2.4.34-1. The tricky part here was to recover the rich history from the previous uploads to ubuntu: 2.4.33-3ubuntu1, 3ubuntu2 and 3ubuntu3, as the upload tag didn't match what was expected due to the empty directories in the apache2 orig tarball.

I think I recovered that just fine, and wrote up what I did in my tips & tricks doc at https://docs.google.com/document/d/1uS-Ci89VWnl_M7DqqOuj5yM6_hx13EwNI86a0n25qVw/edit#bookmark=id.w6zg30wxw10h

Besides that, of note in this merge is that you can see in the 3ubuntu2 and 3ubuntu3 uploads that I first dropped both mod_md and mod_uwsgi_proxy, and later restored uwsgi, so I squashed all that together which resulted in just the removal of mod_md.

This upload is also fixing #1782806, which I will link to the MP and close manually later.

I can make the google doc public, or better yet, update our wiki.

PPA with test packages: ppa:ahasenack/apache2-merge-2.4.34-1

To post a comment you must log in.
Andreas Hasenack (ahasenack) wrote :

I'm still going to run the lp:qa-regression-testing apache test script.

Andreas Hasenack (ahasenack) wrote :
Download full text (3.3 KiB)

qa-regression-testing tests are fine:
(master)ubuntu@cosmic-apache-merge:~/qa-regression-testing/scripts$ sudo ./test-apache2.py 2>&1 | tee ~/test-apache2.log
test_basic_rewrite (__main__.BasicTest)
Test basic rewrite functionality ... ok
test_cve_2007_6203 (__main__.BasicTest)
Test CVE-2007-6203 ... ok
test_cve_2007_6420 (__main__.BasicTest)
Test CVE-2007-6420 ... ok
test_cve_2008_2168 (__main__.BasicTest)
Test CVE-2008-2168 ... ok
test_cve_2008_2939 (__main__.BasicTest)
Test CVE-2008-2939 ... ok
test_cve_2009_1890 (__main__.BasicTest)
Test CVE-2009-1890 ... ok
test_cve_2011_0419 (__main__.BasicTest)
Test CVE-2011-0419 ... ok
test_cve_2011_3192 (__main__.BasicTest)
Test CVE-2011-3192 ... ok
test_cve_2011_3192_gzip (__main__.BasicTest)
Test CVE-2011-3192 (gzip) ... ok
test_cve_2011_3192_regression_1 (__main__.BasicTest)
Test CVE-2011-3192 regression 1 ... ok
test_cve_2011_3192_regression_2 (__main__.BasicTest)
Test CVE-2011-3192 regression 2 ... ok
test_cve_2011_3192_request_range (__main__.BasicTest)
Test CVE-2011-3192 (Request-Range) ... ok
test_cve_2011_3368 (__main__.BasicTest)
Test CVE-2011-3368 ... ok
test_cve_2011_3368_proto_09 (__main__.BasicTest)
Test CVE-2011-3368 w/http protocol 0.9 ... ok
test_cve_2011_4317 (__main__.BasicTest)
Test CVE-2011-4317 ... ok
test_cve_2012_4929_default (__main__.BasicTest)
Test CVE-2012-4929 (compression default setting) ... ok
test_cve_2012_4929_off (__main__.BasicTest)
Test CVE-2012-4929 (compression off) ... ok
test_cve_2012_4929_on (__main__.BasicTest)
Test CVE-2012-4929 (compression on) ... ok
test_daemons (__main__.BasicTest)
Test daemon ... ok
test_http (__main__.BasicTest)
Test http ... ok
test_lp1626883 (__main__.BasicTest)
Test lp1626883 ... ok
test_mod_cgid (__main__.BasicTest)
Test mod_cgid ... ok
test_mod_dav (__main__.BasicTest)
Test mod_dav ... ok
test_mod_dav_svn (__main__.BasicTest)
Test mod_dav_svn ... ok
test_mod_deflate_input (__main__.BasicTest)
Test mod_deflate input compression ... ok
test_mod_status (__main__.BasicTest)
Test mod_status ... ok
test_php (__main__.BasicTest)
Test php ... ok
test_proxy_ftp (__main__.BasicTest)
Test ftp proxy ... ok
test_ssl (__main__.BasicTest)
Test https ... ok
test_ssl_tls_md5 (__main__.BasicTest)
Test whether https allows MD5 ... ok
test_ssl_tls_v1 (__main__.BasicTest)
Test connecting with TLS v1.0 ... ok
test_ssl_tls_v1_1 (__main__.BasicTest)
Test connecting with TLS v1.1 ... ok
test_ssl_tls_v1_2 (__main__.BasicTest)
Test connecting with TLS v1.2 ... ok
test_status (__main__.BasicTest)
Test status (apache2ctl) ... ok
test_htpasswd_des (__main__.HTPasswdTest)
Test htpasswd to ensure crypt returns sane des results ... ok
test_htpasswd_md5 (__main__.HTPasswdTest)
Test htpasswd to ensure crypt returns sane md5 results ... ok
test_htpasswd_sha (__main__.HTPasswdTest)
Test htpasswd to ensure crypt returns sane sha results ... ok

----------------------------------------------------------------------
Ran 37 tests in 430.533s

OK

(master)ubuntu@cosmic-apache-merge:~/qa-regression-testing/scripts$ apt-cache policy apache2
apache2:
  Installed: 2.4.34-1ubuntu1~ppa1
  Candidate: 2.4.34-1ubuntu1~ppa1
  Version table:
 *** 2.4.34-1ubuntu1~ppa1 500
        50...

Read more...

Robie Basak (racb) wrote :

Tags are structurally correct, except for an expected mismatch against old/ubuntu to both deconstruct and logical which I assume is an empty directory change artifact.

Logical verified transferred exactly, no changes. Changelog entry accurately describes changes. All of the delta seems appropriate to keep. md disablement still seems relevant as libxmltooling7 still requires libcurl3. I'm OK with this given that md is still listed as experimental upstream.

lgtm

review: Approve
Andreas Hasenack (ahasenack) wrote :

DEP8 tests are also good:
(...)
autopkgtest [11:27:56]: test chroot: - - - - - - - - - - results - - - - - - - - - -
chroot PASS
autopkgtest [11:27:56]: @@@@@@@@@@@@@@@@@@@@ summary
run-test-suite PASS
duplicate-module-load PASS
htcacheclean PASS
default-mods PASS
ssl-passphrase PASS
check-http2 PASS
chroot PASS

Andreas Hasenack (ahasenack) wrote :

Thanks for the review, Robie. Could you please set the MP to "approved" and push the upload tag? I can then dput the package and follow it through migration.

Robie Basak (racb) wrote :

On Mon, Aug 06, 2018 at 02:30:05PM -0000, Andreas Hasenack wrote:
> Thanks for the review, Robie. Could you please set the MP to "approved" and push the upload tag?

Sorry, I keep forgetting about this. Now done.

Andreas Hasenack (ahasenack) wrote :

apache2 migrated, marking MP as merged and closing linked bug.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/debian/apache2-bin.install b/debian/apache2-bin.install
index 63c573f..3d1bdf1 100644
--- a/debian/apache2-bin.install
+++ b/debian/apache2-bin.install
@@ -1,2 +1,3 @@
1/usr/lib/apache2/modules/1/usr/lib/apache2/modules/
2/usr/sbin/apache22/usr/sbin/apache2
3debian/apache2.py usr/share/apport/package-hooks
diff --git a/debian/apache2-utils.ufw.profile b/debian/apache2-utils.ufw.profile
3new file mode 1006444new file mode 100644
index 0000000..974a655
--- /dev/null
+++ b/debian/apache2-utils.ufw.profile
@@ -0,0 +1,14 @@
1[Apache]
2title=Web Server
3description=Apache v2 is the next generation of the omnipresent Apache web server.
4ports=80/tcp
5
6[Apache Secure]
7title=Web Server (HTTPS)
8description=Apache v2 is the next generation of the omnipresent Apache web server.
9ports=443/tcp
10
11[Apache Full]
12title=Web Server (HTTP,HTTPS)
13description=Apache v2 is the next generation of the omnipresent Apache web server.
14ports=80,443/tcp
diff --git a/debian/apache2.dirs b/debian/apache2.dirs
index 6089013..1aa6d3c 100644
--- a/debian/apache2.dirs
+++ b/debian/apache2.dirs
@@ -10,3 +10,4 @@ var/cache/apache2/mod_cache_disk
10var/lib/apache210var/lib/apache2
11var/log/apache211var/log/apache2
12var/www/html12var/www/html
13/etc/ufw/applications.d/apache2
diff --git a/debian/apache2.install b/debian/apache2.install
index b6ad789..92865fc 100644
--- a/debian/apache2.install
+++ b/debian/apache2.install
@@ -8,3 +8,4 @@ debian/config-dir/*.conf /etc/apache2
8debian/config-dir/envvars /etc/apache28debian/config-dir/envvars /etc/apache2
9debian/config-dir/magic /etc/apache29debian/config-dir/magic /etc/apache2
10debian/debhelper/apache2-maintscript-helper /usr/share/apache2/10debian/debhelper/apache2-maintscript-helper /usr/share/apache2/
11debian/apache2-utils.ufw.profile /etc/ufw/applications.d/
diff --git a/debian/apache2.postrm b/debian/apache2.postrm
index a68583c..b0e5d7b 100644
--- a/debian/apache2.postrm
+++ b/debian/apache2.postrm
@@ -33,6 +33,7 @@ is_default_index_html () {
33 776221a94e5a174dc2396c0f3f6b6a7433 776221a94e5a174dc2396c0f3f6b6a74
34 c481228d439cbb54bdcedbaec5bbb11a34 c481228d439cbb54bdcedbaec5bbb11a
35 e2620d4a5a0f8d80dd4b16de59af981f35 e2620d4a5a0f8d80dd4b16de59af981f
36 3526531ccd6c6a1d2340574a305a18f8
36 EOF37 EOF
37}38}
3839
diff --git a/debian/apache2.py b/debian/apache2.py
39new file mode 10064440new file mode 100644
index 0000000..a9fb9d8
--- /dev/null
+++ b/debian/apache2.py
@@ -0,0 +1,48 @@
1#!/usr/bin/python
2
3'''apport hook for apache2
4
5(c) 2010 Adam Sommer.
6Author: Adam Sommer <asommer@ubuntu.com>
7
8This program is free software; you can redistribute it and/or modify it
9under the terms of the GNU General Public License as published by the
10Free Software Foundation; either version 2 of the License, or (at your
11option) any later version. See http://www.gnu.org/copyleft/gpl.html for
12the full text of the license.
13'''
14
15from apport.hookutils import *
16import os
17
18SITES_ENABLED_DIR = '/etc/apache2/sites-enabled/'
19
20def add_info(report, ui):
21 if os.path.isdir(SITES_ENABLED_DIR):
22 response = ui.yesno("The contents of your " + SITES_ENABLED_DIR + " directory "
23 "may help developers diagnose your bug more "
24 "quickly. However, it may contain sensitive "
25 "information. Do you want to include it in your "
26 "bug report?")
27
28 if response == None: # user cancelled
29 raise StopIteration
30
31 elif response == True:
32 # Attache config files in /etc/apache2/sites-enabled and listing of files in /etc/apache2/conf.d
33 for conf_file in os.listdir(SITES_ENABLED_DIR):
34 attach_file_if_exists(report, SITES_ENABLED_DIR + conf_file, conf_file)
35
36 try:
37 report['Apache2ConfdDirListing'] = str(os.listdir('/etc/apache2/conf.d'))
38 except OSError:
39 report['Apache2ConfdDirListing'] = str(False)
40
41 # Attach default config files if changed.
42 attach_conffiles(report, 'apache2', conffiles=None)
43
44 # Attach the error.log file.
45 attach_file(report, '/var/log/apache2/error.log', key='error.log')
46
47 # Get loaded modules.
48 report['Apache2Modules'] = root_command_output(['/usr/sbin/apachectl', '-D DUMP_MODULES'])
diff --git a/debian/changelog b/debian/changelog
index 42e2f4f..5a42a14 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,24 @@
1apache2 (2.4.34-1ubuntu1) cosmic; urgency=medium
2
3 * Merge with Debian unstable. Remaining changes:
4 - debian/{control, apache2.install, apache2-utils.ufw.profile,
5 apache2.dirs}: Add ufw profiles.
6 - debian/apache2.py, debian/apache2-bin.install: Add apport hook.
7 - debian/patches/086_svn_cross_compiles: Backport several cross
8 fixes from upstream
9 - d/index.html, d/icons/ubuntu-logo.png, d/apache2.postrm: replace
10 Debian with Ubuntu on default page.
11 + d/source/include-binaries: add Ubuntu icon file
12 - d/t/control, d/t/check-http2: add basic test for http2 support
13 - d/control, d/rules, d/config-dir/mods-available/md.load: don't build
14 libapache2-mod-md, as that makes apache2-bin pull in libcurl4 which
15 cannot be coinstalled with libcurl3. That situation breaks the
16 installation of libapache2-mod-shib2. See
17 https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1770242/comments/1
18 for details.
19
20 -- Andreas Hasenack <andreas@canonical.com> Fri, 03 Aug 2018 17:09:27 -0300
21
1apache2 (2.4.34-1) unstable; urgency=medium22apache2 (2.4.34-1) unstable; urgency=medium
223
3 [ Ondřej Surý ]24 [ Ondřej Surý ]
@@ -16,6 +37,87 @@ apache2 (2.4.34-1) unstable; urgency=medium
1637
17 -- Stefan Fritsch <sf@debian.org> Fri, 27 Jul 2018 21:37:37 +020038 -- Stefan Fritsch <sf@debian.org> Fri, 27 Jul 2018 21:37:37 +0200
1839
40apache2 (2.4.33-3ubuntu3) cosmic; urgency=medium
41
42 * d/control, d/rules, d/config-dir/mods-available/proxy_uwsgi.load:
43 re-enable proxy_uwsgi, as the uwsgi source no longer builds this module.
44
45 -- Andreas Hasenack <andreas@canonical.com> Thu, 28 Jun 2018 10:07:06 -0300
46
47apache2 (2.4.33-3ubuntu2) cosmic; urgency=medium
48
49 * d/control, d/rules: Don't build libapache2-mod-proxy-uwsgi and
50 libapache2-mod-md until we figure out their transitions. libapache2-mod-md
51 in particular is problematic because that makes apache2-bin pull in
52 libcurl4 which cannot be coinstalled with libcurl3. That situation breaks
53 the installation of libapache2-mod-shib2. See
54 https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1770242/comments/1
55 for details.
56 - Don't ship md.load and remove build-requires that were added because of
57 mod-md (see
58 https://salsa.debian.org/apache-team/apache2/commit/b9d37f2a96da2fd69bf)
59 - Remove proxy_uwsgi.load as we are not building it for now (see
60 https://salsa.debian.org/apache-team/apache2/commit/4e3168562d75ce398b9)
61
62 -- Andreas Hasenack <andreas@canonical.com> Thu, 17 May 2018 14:46:19 +0000
63
64apache2 (2.4.33-3ubuntu1) cosmic; urgency=medium
65
66 * Merge with Debian unstable (LP: #1770242). Remaining changes:
67 - debian/{control, apache2.install, apache2-utils.ufw.profile,
68 apache2.dirs}: Add ufw profiles.
69 - debian/apache2.py, debian/apache2-bin.install: Add apport hook.
70 - debian/patches/086_svn_cross_compiles: Backport several cross
71 fixes from upstream
72 - d/index.html, d/icons/ubuntu-logo.png, d/apache2.postrm: replace
73 Debian with Ubuntu on default page.
74 + d/source/include-binaries: add Ubuntu icon file
75 - d/t/control, d/t/check-http2: add basic test for http2 support
76 * Drop:
77 - SECURITY UPDATE: DoS via missing header with AuthLDAPCharsetConfig
78 + debian/patches/CVE-2017-15710.patch: fix language long names
79 detection as short name in modules/aaa/mod_authnz_ldap.c.
80 + CVE-2017-15710
81 - SECURITY UPDATE: incorrect <FilesMatch> matching
82 + debian/patches/CVE-2017-15715.patch: allow to configure
83 global/default options for regexes, like caseless matching or
84 extended format in include/ap_regex.h, server/core.c,
85 server/util_pcre.c.
86 + CVE-2017-15715
87 - SECURITY UPDATE: mod_session header manipulation
88 + debian/patches/CVE-2018-1283.patch: strip Session header when
89 SessionEnv is on in modules/session/mod_session.c.
90 + CVE-2018-1283
91 - SECURITY UPDATE: DoS via specially-crafted request
92 + debian/patches/CVE-2018-1301.patch: ensure that read lines are NUL
93 terminated on any error, not only on buffer full in
94 server/protocol.c.
95 + CVE-2018-1301
96 - SECURITY UPDATE: mod_cache_socache DoS
97 + debian/patches/CVE-2018-1303.patch: fix caching of empty headers up
98 to carriage return in modules/cache/mod_cache_socache.c.
99 + CVE-2018-1303
100 - SECURITY UPDATE: insecure nonce generation
101 + debian/patches/CVE-2018-1312.patch: actually use the secret when
102 generating nonces in modules/aaa/mod_auth_digest.c.
103 + CVE-2018-1312
104 - Correct systemd-sysv-generator behavior by customizing some
105 parameters:
106 + d/apache2-systemd.conf: add a drop-in file to specify some
107 parameters for the systemd unit (type=Forking and
108 RemainsAfterExit=no), this allow a correct state synchronisation
109 between systemctl status and actual state of apache2 daemon.
110 + d/apache2.install: place the apache2-systemd.conf file in the
111 correct location.
112 [type=Forking already in the base systemd service file, and
113 RemainsAfterExit=no is the default value, so no need to
114 customize these anymore.]
115 - Avoid crashes, hangs and loops by fixing mod_ldap locking: (LP #1752683)
116 + added debian/patches/util_ldap_cache_lock_fix.patch
117 [Already applied upstream]
118
119 -- Andreas Hasenack <andreas@canonical.com> Tue, 15 May 2018 11:03:34 -0300
120
19apache2 (2.4.33-3) unstable; urgency=medium121apache2 (2.4.33-3) unstable; urgency=medium
20122
21 * Add Breaks for libapache2-mod-proxy-uwsgi and libapache2-mod-md, too.123 * Add Breaks for libapache2-mod-proxy-uwsgi and libapache2-mod-md, too.
@@ -88,6 +190,91 @@ apache2 (2.4.29-2) unstable; urgency=medium
88190
89 -- Ondřej Surý <ondrej@debian.org> Sun, 14 Jan 2018 11:01:58 +0000191 -- Ondřej Surý <ondrej@debian.org> Sun, 14 Jan 2018 11:01:58 +0000
90192
193apache2 (2.4.29-1ubuntu4.1) bionic-security; urgency=medium
194
195 * SECURITY UPDATE: DoS via missing header with AuthLDAPCharsetConfig
196 - debian/patches/CVE-2017-15710.patch: fix language long names
197 detection as short name in modules/aaa/mod_authnz_ldap.c.
198 - CVE-2017-15710
199 * SECURITY UPDATE: incorrect <FilesMatch> matching
200 - debian/patches/CVE-2017-15715.patch: allow to configure
201 global/default options for regexes, like caseless matching or
202 extended format in include/ap_regex.h, server/core.c,
203 server/util_pcre.c.
204 - CVE-2017-15715
205 * SECURITY UPDATE: mod_session header manipulation
206 - debian/patches/CVE-2018-1283.patch: strip Session header when
207 SessionEnv is on in modules/session/mod_session.c.
208 - CVE-2018-1283
209 * SECURITY UPDATE: DoS via specially-crafted request
210 - debian/patches/CVE-2018-1301.patch: ensure that read lines are NUL
211 terminated on any error, not only on buffer full in
212 server/protocol.c.
213 - CVE-2018-1301
214 * SECURITY UPDATE: mod_cache_socache DoS
215 - debian/patches/CVE-2018-1303.patch: fix caching of empty headers up
216 to carriage return in modules/cache/mod_cache_socache.c.
217 - CVE-2018-1303
218 * SECURITY UPDATE: insecure nonce generation
219 - debian/patches/CVE-2018-1312.patch: actually use the secret when
220 generating nonces in modules/aaa/mod_auth_digest.c.
221 - CVE-2018-1312
222
223 -- Marc Deslauriers <marc.deslauriers@ubuntu.com> Wed, 25 Apr 2018 07:38:24 -0400
224
225apache2 (2.4.29-1ubuntu4) bionic; urgency=medium
226
227 * Avoid crashes, hangs and loops by fixing mod_ldap locking: (LP: #1752683)
228 - added debian/patches/util_ldap_cache_lock_fix.patch
229
230 -- Rafael David Tinoco <rafael.tinoco@canonical.com> Fri, 02 Mar 2018 02:19:31 +0000
231
232apache2 (2.4.29-1ubuntu3) bionic; urgency=medium
233
234 * Switch back to OpenSSL 1.1.
235
236 -- Dimitri John Ledkov <xnox@ubuntu.com> Tue, 06 Feb 2018 11:57:20 +0000
237
238apache2 (2.4.29-1ubuntu2) bionic; urgency=medium
239
240 * enable http2 (LP: #1687454) by stopping to disable it
241 - debian/control: no more removed libnghttp2-dev Build-Depends (in universe).
242 - debian/config-dir/mods-available/http2.load: no more removed.
243 - debian/rules: no more removed proxy_http2 from configure.
244 * d/t/control, d/t/check-http2: add basic test for http2 support
245
246 -- Christian Ehrhardt <christian.ehrhardt@canonical.com> Tue, 05 Dec 2017 17:25:39 +0100
247
248apache2 (2.4.29-1ubuntu1) bionic; urgency=medium
249
250 * Merge with Debian unstable. Remaining changes:
251 - debian/{control, apache2.install, apache2-utils.ufw.profile,
252 apache2.dirs}: Add ufw profiles.
253 - debian/apache2.py, debian/apache2-bin.install: Add apport hook.
254 - debian/patches/086_svn_cross_compiles: Backport several cross
255 fixes from upstream
256 - d/index.html, d/icons/ubuntu-logo.png, d/apache2.postrm: replace
257 Debian with Ubuntu on default page.
258 + d/source/include-binaries: add Ubuntu icon file
259 - Correct systemd-sysv-generator behavior by customizing some
260 parameters:
261 + d/apache2-systemd.conf: add a drop-in file to specify some
262 parameters for the systemd unit (type=Forking and
263 RemainsAfterExit=no), this allow a correct state synchronisation
264 between systemctl status and actual state of apache2 daemon.
265 + d/apache2.install: place the apache2-systemd.conf file in the
266 correct location.
267 - Don't build http2 module (nghttp2 still not in main) (LP 1687454)
268 + debian/control: removed libnghttp2-dev Build-Depends (in universe).
269 + debian/config-dir/mods-available/http2.load: removed.
270 + debian/rules: removed proxy_http2 from configure.
271 * Switch back to OpenSSL 1.0 as we don't yet have 1.1:
272 - debian/control: switch BuildDepends to libssl1.0-dev
273 - debian/control: remove Breaks on gridsite and libapache2-mod-dacs
274 - debian/rules: remove openssl virtual package and logic
275
276 -- Marc Deslauriers <marc.deslauriers@ubuntu.com> Fri, 10 Nov 2017 10:51:46 -0500
277
91apache2 (2.4.29-1) unstable; urgency=medium278apache2 (2.4.29-1) unstable; urgency=medium
92279
93 [ Stefan Fritsch ]280 [ Stefan Fritsch ]
@@ -152,6 +339,47 @@ apache2 (2.4.27-3) experimental; urgency=medium
152339
153 -- Stefan Fritsch <sf@debian.org> Sun, 16 Jul 2017 23:11:07 +0200340 -- Stefan Fritsch <sf@debian.org> Sun, 16 Jul 2017 23:11:07 +0200
154341
342apache2 (2.4.27-2ubuntu3) artful; urgency=medium
343
344 * SECURITY UPDATE: optionsbleed information leak
345 - debian/patches/CVE-2017-9798.patch: disallow method registration
346 at run time in server/core.c.
347 - CVE-2017-9798
348
349 -- Marc Deslauriers <marc.deslauriers@ubuntu.com> Mon, 18 Sep 2017 11:05:48 -0400
350
351apache2 (2.4.27-2ubuntu2) artful; urgency=medium
352
353 * Undrop (LP 1658469):
354 - Don't build http2 module (nghttp2 still not in main) (LP 1687454)
355 + debian/control: removed libnghttp2-dev Build-Depends (in universe).
356 + debian/config-dir/mods-available/http2.load: removed.
357 + debian/rules: removed proxy_http2 from configure.
358
359 -- Marc Deslauriers <marc.deslauriers@ubuntu.com> Wed, 02 Aug 2017 13:04:45 -0400
360
361apache2 (2.4.27-2ubuntu1) artful; urgency=medium
362
363 * Merge with Debian unstable (LP: #1702582). Remaining changes:
364 - debian/{control, apache2.install, apache2-utils.ufw.profile,
365 apache2.dirs}: Add ufw profiles.
366 - debian/apache2.py, debian/apache2-bin.install: Add apport hook.
367 - debian/patches/086_svn_cross_compiles: Backport several cross
368 fixes from upstream
369 - d/index.html, d/icons/ubuntu-logo.png, d/apache2.postrm: replace
370 Debian with Ubuntu on default page.
371 + d/source/include-binaries: add Ubuntu icon file
372 - Correct systemd-sysv-generator behavior by customizing some
373 parameters:
374 + d/apache2-systemd.conf: add a drop-in file to specify some
375 parameters for the systemd unit (type=Forking and
376 RemainsAfterExit=no), this allow a correct state synchronisation
377 between systemctl status and actual state of apache2 daemon.
378 + d/apache2.install: place the apache2-systemd.conf file in the
379 correct location.
380
381 -- Nishanth Aravamudan <nish.aravamudan@canonical.com> Thu, 27 Jul 2017 13:38:39 -0700
382
155apache2 (2.4.27-2) unstable; urgency=medium383apache2 (2.4.27-2) unstable; urgency=medium
156384
157 * Switch back to openssl 1.0 for now. The transition to 1.1 needs more385 * Switch back to openssl 1.0 for now. The transition to 1.1 needs more
@@ -181,6 +409,55 @@ apache2 (2.4.25-4) unstable; urgency=high
181409
182 -- Stefan Fritsch <sf@debian.org> Tue, 20 Jun 2017 21:31:51 +0200410 -- Stefan Fritsch <sf@debian.org> Tue, 20 Jun 2017 21:31:51 +0200
183411
412apache2 (2.4.25-3ubuntu3) artful; urgency=medium
413
414 * Re-Drop (LP: #1658469):
415 - Don't build experimental http2 module for LTS:
416 + debian/control: removed libnghttp2-dev Build-Depends (in universe).
417 + debian/config-dir/mods-available/http2.load: removed.
418 + debian/rules: removed proxy_http2 from configure.
419 + debian/apache2.maintscript: remove http2 conffile.
420
421 -- Nishanth Aravamudan <nish.aravamudan@canonical.com> Mon, 01 May 2017 09:55:11 -0700
422
423apache2 (2.4.25-3ubuntu2) zesty; urgency=medium
424 * Undrop (LP 1658469):
425 - Don't build experimental http2 module for LTS:
426 + debian/control: removed libnghttp2-dev Build-Depends (in universe).
427 + debian/config-dir/mods-available/http2.load: removed.
428 + debian/rules: removed proxy_http2 from configure.
429 + debian/apache2.maintscript: remove http2 conffile.
430
431 -- Nishanth Aravamudan <nish.aravamudan@canonical.com> Fri, 10 Feb 2017 08:53:43 -0800
432
433apache2 (2.4.25-3ubuntu1) zesty; urgency=medium
434
435 * Merge from Debian unstable (LP: #1663425). Remaining changes:
436 - debian/{control, apache2.install, apache2-utils.ufw.profile,
437 apache2.dirs}: Add ufw profiles.
438 - debian/apache2.py, debian/apache2-bin.install: Add apport hook.
439 - debian/patches/086_svn_cross_compiles: Backport several cross
440 fixes from upstream
441 - d/index.html, d/icons/ubuntu-logo.png, d/apache2.postrm: replace
442 Debian with Ubuntu on default page.
443 + d/source/include-binaries: add Ubuntu icon file
444 - Correct systemd-sysv-generator behavior by customizing some
445 parameters:
446 + d/apache2-systemd.conf: add a drop-in file to specify some
447 parameters for the systemd unit (type=Forking and
448 RemainsAfterExit=no), this allow a correct state synchronisation
449 between systemctl status and actual state of apache2 daemon.
450 + d/apache2.install: place the apache2-systemd.conf file in the
451 correct location.
452 * Drop (LP: #1658469):
453 - Don't build experimental http2 module for LTS:
454 + debian/control: removed libnghttp2-dev Build-Depends (in universe).
455 + debian/config-dir/mods-available/http2.load: removed.
456 + debian/rules: removed proxy_http2 from configure.
457 + debian/apache2.maintscript: remove http2 conffile.
458
459 -- Nishanth Aravamudan <nish.aravamudan@canonical.com> Thu, 09 Feb 2017 15:48:28 -0800
460
184apache2 (2.4.25-3) unstable; urgency=medium461apache2 (2.4.25-3) unstable; urgency=medium
185462
186 * Fix detection of systemd to fix 'apache2ctl start' on sysv-init.463 * Fix detection of systemd to fix 'apache2ctl start' on sysv-init.
@@ -242,6 +519,39 @@ apache2 (2.4.25-1) unstable; urgency=medium
242519
243 -- Stefan Fritsch <sf@debian.org> Wed, 21 Dec 2016 23:46:06 +0100520 -- Stefan Fritsch <sf@debian.org> Wed, 21 Dec 2016 23:46:06 +0100
244521
522apache2 (2.4.23-8ubuntu1) zesty; urgency=medium
523
524 * Merge from Debian unstable (LP: #). Remaining changes:
525 - debian/{control, apache2.install, apache2-utils.ufw.profile,
526 apache2.dirs}: Add ufw profiles.
527 - debian/apache2.py, debian/apache2-bin.install: Add apport hook.
528 - debian/patches/086_svn_cross_compiles: Backport several cross
529 fixes from upstream
530 - d/index.html, d/icons/ubuntu-logo.png, d/apache2.postrm,
531 d/source/include-binaries: replace Debian with Ubuntu on default
532 page.
533 [ include-binaries change previously undocumented ]
534 - Don't build experimental http2 module for LTS:
535 + debian/control: removed libnghttp2-dev Build-Depends (in universe).
536 + debian/config-dir/mods-available/http2.load: removed.
537 + debian/rules: removed proxy_http2 from configure.
538 + debian/apache2.maintscript: remove http2 conffile.
539 [ Previously undocumented ]
540 - Correct systemd-sysv-generator behavior by customizing some
541 parameters:
542 + d/apache2-systemd.conf: add a drop-in file to specify some
543 parameters for the systemd unit (type=Forking and
544 RemainsAfterExit=no), this allow a correct state synchronisation
545 between systemctl status and actual state of apache2 daemon.
546 + d/apache2.install: place the apache2-systemd.conf file in the
547 correct location.
548 * Drop:
549 - debian/rules: Fix cross-building by passing
550 DEB_{HOST,BUILD}_GNU_TYPE to configure.
551 [ Incorrectly indicated as delta, fixed by Debian in 2.4.18-2 ]
552
553 -- Nishanth Aravamudan <nish.aravamudan@canonical.com> Fri, 09 Dec 2016 11:02:38 +0100
554
245apache2 (2.4.23-8) unstable; urgency=medium555apache2 (2.4.23-8) unstable; urgency=medium
246556
247 * Move the mod_ssl_openssl.h header and the dependency on libssl-dev to a557 * Move the mod_ssl_openssl.h header and the dependency on libssl-dev to a
@@ -252,6 +562,33 @@ apache2 (2.4.23-8) unstable; urgency=medium
252562
253 -- Stefan Fritsch <sf@debian.org> Sun, 20 Nov 2016 00:33:13 +0100563 -- Stefan Fritsch <sf@debian.org> Sun, 20 Nov 2016 00:33:13 +0100
254564
565apache2 (2.4.23-7ubuntu1) zesty; urgency=medium
566
567 * Merge from Debian unstable. Remaining changes:
568 - debian/{control, apache2.install, apache2-utils.ufw.profile,
569 apache2.dirs}: Add ufw profiles.
570 - debian/apache2.py, debian/apache2-bin.install: Add apport hook.
571 - debian/rules: Fix cross-building by passing
572 DEB_{HOST,BUILD}_GNU_TYPE to configure.
573 - debian/patches/086_svn_cross_compiles: Backport several cross
574 fixes from upstream
575 - d/index.html, d/icons/ubuntu-logo.png, d/apache2.postrm: replace
576 Debian with Ubuntu on default page.
577 - Don't build experimental http2 module for LTS:
578 + debian/control: removed libnghttp2-dev Build-Depends (in universe).
579 + debian/config-dir/mods-available/http2.load: removed.
580 + debian/rules: removed proxy_http2 from configure.
581 - Correct systemd-sysv-generator behavior by customizing some
582 parameters:
583 + d/apache2-systemd.conf: add a drop-in file to specify some
584 parameters for the systemd unit (type=Forking and
585 RemainsAfterExit=no), this allow a correct state synchronisation
586 between systemctl status and actual state of apache2 daemon.
587 + d/apache2.install: place the apache2-systemd.conf file in the
588 correct location.
589
590 -- Marc Deslauriers <marc.deslauriers@ubuntu.com> Wed, 16 Nov 2016 09:17:24 -0500
591
255apache2 (2.4.23-7) unstable; urgency=medium592apache2 (2.4.23-7) unstable; urgency=medium
256593
257 * Make apache2-dev depend on openssl 1.0, too. Closes: #844160594 * Make apache2-dev depend on openssl 1.0, too. Closes: #844160
@@ -366,6 +703,55 @@ apache2 (2.4.20-1) unstable; urgency=medium
366703
367 -- Stefan Fritsch <sf@debian.org> Sun, 10 Apr 2016 14:03:41 +0200704 -- Stefan Fritsch <sf@debian.org> Sun, 10 Apr 2016 14:03:41 +0200
368705
706apache2 (2.4.18-2ubuntu4) yakkety; urgency=medium
707
708 * SECURITY UPDATE: proxy request header vulnerability (httpoxy)
709 - debian/patches/CVE-2016-5387.patch: don't pass through HTTP_PROXY in
710 server/util_script.c.
711 - CVE-2016-5387
712
713 -- Marc Deslauriers <marc.deslauriers@ubuntu.com> Mon, 18 Jul 2016 14:32:02 -0400
714
715apache2 (2.4.18-2ubuntu3) xenial; urgency=medium
716
717 [ Ryan Harper ]
718 * Drop /etc/apache2/mods-available/http2.load. This was inadvertently
719 introduced in 2.4.18-2ubuntu1. The intention is to not carry this at
720 all, since http2 support is intentionally disabled (see LP 1531864).
721 * d/apache2.maintscript: handle removal of http2.load conffile.
722
723 [ Robie Basak ]
724 * Re-write Ryan's changelog entry.
725
726 -- Robie Basak <robie.basak@ubuntu.com> Fri, 15 Apr 2016 18:00:57 +0000
727
728apache2 (2.4.18-2ubuntu2) xenial; urgency=medium
729
730 * Correct systemd-sysv-generator behavior by customizing some parameters (LP: #1488962)
731 - d/apache2-systemd.conf: add a drop-in file to specify some parameters for the systemd
732 unit (type=Forking and RemainsAfterExit=no), this allow a correct state synchronisation
733 between systemctl status and actual state of apache2 daemon.
734 - d/apache2.install: place the apache2-systemd.conf file in the correct location.
735
736 -- Pierre-André MOREY <pierre-andre.morey@canonical.com> Fri, 08 Apr 2016 11:48:00 +0200
737
738apache2 (2.4.18-2ubuntu1) xenial; urgency=medium
739
740 * Merge from Debian unstable. Remaining changes:
741 - debian/{control, apache2.install, apache2-utils.ufw.profile,
742 apache2.dirs}: Add ufw profiles.
743 - debian/apache2.py, debian/apache2-bin.install: Add apport hook.
744 - debian/rules: Fix cross-building by passing
745 DEB_{HOST,BUILD}_GNU_TYPE to configure.
746 - debian/patches/086_svn_cross_compiles: Backport several cross
747 fixes from upstream
748 - d/index.html: replace Debian with Ubuntu on default page.
749 - Don't build experimental http2 module for LTS:
750 + debian/control: removed libnghttp2-dev Build-Depends (in universe).
751 + debian/config-dir/mods-available/http2.load: removed.
752
753 -- Timo Aaltonen <tjaalton@debian.org> Wed, 06 Apr 2016 00:18:31 +0300
754
369apache2 (2.4.18-2) unstable; urgency=low755apache2 (2.4.18-2) unstable; urgency=low
370756
371 * htcacheclean:757 * htcacheclean:
@@ -391,6 +777,24 @@ apache2 (2.4.18-2) unstable; urgency=low
391777
392 -- Stefan Fritsch <sf@debian.org> Mon, 28 Mar 2016 21:58:54 +0200778 -- Stefan Fritsch <sf@debian.org> Mon, 28 Mar 2016 21:58:54 +0200
393779
780apache2 (2.4.18-1ubuntu1) xenial; urgency=medium
781
782 * Merge from Debian unstable. Remaining changes:
783 - debian/{control, apache2.install, apache2-utils.ufw.profile,
784 apache2.dirs}: Add ufw profiles.
785 - debian/apache2.py, debian/apache2-bin.install: Add apport hook.
786 - Add dep8 tests.
787 - debian/rules: Fix cross-building by passing
788 DEB_{HOST,BUILD}_GNU_TYPE to configure.
789 - debian/patches/086_svn_cross_compiles: Backport several cross
790 fixes from upstream
791 - d/index.html: replace Debian with Ubuntu on default page.
792 - Don't build experimental http2 module for LTS:
793 + debian/control: removed libnghttp2-dev Build-Depends (in universe).
794 + debian/config-dir/mods-available/http2.load: removed.
795
796 -- Marc Deslauriers <marc.deslauriers@ubuntu.com> Thu, 21 Jan 2016 15:15:22 -0500
797
394apache2 (2.4.18-1) unstable; urgency=medium798apache2 (2.4.18-1) unstable; urgency=medium
395799
396 * New upstream release:800 * New upstream release:
@@ -398,12 +802,48 @@ apache2 (2.4.18-1) unstable; urgency=medium
398802
399 -- Stefan Fritsch <sf@debian.org> Sat, 19 Dec 2015 09:26:14 +0100803 -- Stefan Fritsch <sf@debian.org> Sat, 19 Dec 2015 09:26:14 +0100
400804
805apache2 (2.4.17-3ubuntu1) xenial; urgency=medium
806
807 * Merge from Debian unstable. Remaining changes:
808 - debian/{control, apache2.install, apache2-utils.ufw.profile,
809 apache2.dirs}: Add ufw profiles.
810 - debian/apache2.py, debian/apache2-bin.install: Add apport hook.
811 - Add dep8 tests.
812 - debian/rules: Fix cross-building by passing
813 DEB_{HOST,BUILD}_GNU_TYPE to configure.
814 - debian/patches/086_svn_cross_compiles: Backport several cross
815 fixes from upstream
816 - d/index.html: replace Debian with Ubuntu on default page.
817 - Don't build experimental http2 module for LTS:
818 + debian/control: removed libnghttp2-dev Build-Depends (in universe).
819 + debian/config-dir/mods-available/http2.load: removed.
820
821 -- Marc Deslauriers <marc.deslauriers@ubuntu.com> Thu, 03 Dec 2015 10:07:35 -0500
822
401apache2 (2.4.17-3) unstable; urgency=medium823apache2 (2.4.17-3) unstable; urgency=medium
402824
403 * mpm_prefork: Fix segfault if started with -X. Closes: #805737825 * mpm_prefork: Fix segfault if started with -X. Closes: #805737
404826
405 -- Stefan Fritsch <sf@debian.org> Mon, 23 Nov 2015 19:52:09 +0100827 -- Stefan Fritsch <sf@debian.org> Mon, 23 Nov 2015 19:52:09 +0100
406828
829apache2 (2.4.17-2ubuntu1) xenial; urgency=medium
830
831 * Merge from Debian unstable. Remaining changes:
832 - debian/{control, apache2.install, apache2-utils.ufw.profile,
833 apache2.dirs}: Add ufw profiles.
834 - debian/apache2.py, debian/apache2-bin.install: Add apport hook.
835 - Add dep8 tests.
836 - debian/rules: Fix cross-building by passing
837 DEB_{HOST,BUILD}_GNU_TYPE to configure.
838 - debian/patches/086_svn_cross_compiles: Backport several cross
839 fixes from upstream
840 - d/index.html: replace Debian with Ubuntu on default page.
841 - Don't build experimental http2 module for LTS:
842 + debian/control: removed libnghttp2-dev Build-Depends (in universe).
843 + debian/config-dir/mods-available/http2.load: removed.
844
845 -- Marc Deslauriers <marc.deslauriers@ubuntu.com> Fri, 20 Nov 2015 09:11:52 -0500
846
407apache2 (2.4.17-2) unstable; urgency=medium847apache2 (2.4.17-2) unstable; urgency=medium
408848
409 * Revert REDIRECT_URL to pre-2.4.17 behavior for now. The change broke849 * Revert REDIRECT_URL to pre-2.4.17 behavior for now. The change broke
@@ -414,6 +854,31 @@ apache2 (2.4.17-2) unstable; urgency=medium
414854
415 -- Stefan Fritsch <sf@debian.org> Sat, 31 Oct 2015 23:17:11 +0100855 -- Stefan Fritsch <sf@debian.org> Sat, 31 Oct 2015 23:17:11 +0100
416856
857apache2 (2.4.17-1ubuntu1) xenial; urgency=medium
858
859 * Merge from Debian unstable. Remaining changes:
860 - debian/{control, apache2.install, apache2-utils.ufw.profile,
861 apache2.dirs}: Add ufw profiles.
862 - debian/apache2.py, debian/apache2-bin.install: Add apport hook.
863 - Add dep8 tests.
864 - debian/rules: Fix cross-building by passing
865 DEB_{HOST,BUILD}_GNU_TYPE to configure.
866 - debian/patches/086_svn_cross_compiles: Backport several cross
867 fixes from upstream
868 - d/index.html: replace Debian with Ubuntu on default page.
869 * Drop patches (applied upstream):
870 - debian/patches/CVE-2015-3183.patch
871 - debian/patches/CVE-2015-3185.patch
872 * Drop changes (adopted in Debian):
873 - Allow "triggers-awaited" and "triggers-pending" states in addition
874 to "installed" when determining whether to defer actions or
875 process deferred actions.
876 * Don't build experimental http2 module for LTS
877 - debian/control: removed libnghttp2-dev Build-Depends (in universe).
878 - debian/config-dir/mods-available/http2.load: removed.
879
880 -- Marc Deslauriers <marc.deslauriers@ubuntu.com> Fri, 30 Oct 2015 09:35:46 -0400
881
417apache2 (2.4.17-1) unstable; urgency=medium882apache2 (2.4.17-1) unstable; urgency=medium
418883
419 [ Stefan Fritsch ]884 [ Stefan Fritsch ]
@@ -479,6 +944,49 @@ apache2 (2.4.16-1) unstable; urgency=medium
479944
480 -- Stefan Fritsch <sf@debian.org> Sun, 02 Aug 2015 00:44:07 +0200945 -- Stefan Fritsch <sf@debian.org> Sun, 02 Aug 2015 00:44:07 +0200
481946
947apache2 (2.4.12-2ubuntu2) wily; urgency=medium
948
949 * SECURITY UPDATE: request smuggling via chunked transfer encoding
950 - debian/patches/CVE-2015-3183.patch: refactor chunk parsing in
951 modules/http/http_filters.c.
952 - CVE-2015-3183
953 * SECURITY UPDATE: access restriction bypass via deprecated API
954 - debian/patches/CVE-2015-3185.patch: deprecate old API and add new one
955 in include/http_request.h, server/request.c.
956 - CVE-2015-3185
957
958 -- Marc Deslauriers <marc.deslauriers@ubuntu.com> Fri, 24 Jul 2015 09:56:09 -0400
959
960apache2 (2.4.12-2ubuntu1) wily; urgency=medium
961
962 * Merge from Debian unstable. Remaining changes:
963 - debian/{control, apache2.install, apache2-utils.ufw.profile,
964 apache2.dirs}: Add ufw profiles.
965 - debian/apache2.py, debian/apache2-bin.install: Add apport hook.
966 - Add dep8 tests.
967 - debian/rules: Fix cross-building by passing
968 DEB_{HOST,BUILD}_GNU_TYPE to configure.
969 - debian/patches/086_svn_cross_compiles: Backport several cross
970 fixes from upstream
971 - d/index.html: replace Debian with Ubuntu on default page.
972 - Allow "triggers-awaited" and "triggers-pending" states in addition
973 to "installed" when determining whether to defer actions or
974 process deferred actions.
975 * Drop patches (applied upstream):
976 - d/p/split-logfile.patch
977 - d/p/CVE-2015-0228.patch
978 * Drop changes (superceded in Debian):
979 - Cherry-pick versioned build-depend on dpkg from Debian for correct
980 dpkg-maintscript-helper symlink_to_dir support.
981 * Drop changes (adopted in Debian):
982 - d/control, d/config-dir/mods-available/ssl.conf,
983 d/ask-for-passphrase, d/apache2.install: Plymouth aware passphrase
984 dialog program ask-for-passphrase.
985 * Fix cross-building configure line in d/rules, which had bit-rotted in
986 previous merges.
987
988 -- Robie Basak <robie.basak@ubuntu.com> Thu, 28 May 2015 16:34:00 +0000
989
482apache2 (2.4.12-2) unstable; urgency=medium990apache2 (2.4.12-2) unstable; urgency=medium
483991
484 [ Jean-Michel Nirgal Vourgère ]992 [ Jean-Michel Nirgal Vourgère ]
@@ -528,6 +1036,28 @@ apache2 (2.4.10-10) unstable; urgency=medium
5281036
529 -- Stefan Fritsch <sf@debian.org> Sun, 15 Mar 2015 10:47:36 +01001037 -- Stefan Fritsch <sf@debian.org> Sun, 15 Mar 2015 10:47:36 +0100
5301038
1039apache2 (2.4.10-9ubuntu1) vivid; urgency=medium
1040
1041 * Merge from Debian unstable. Remaining changes:
1042 - debian/{control, apache2.install, apache2-utils.ufw.profile,
1043 apache2.dirs}: Add ufw profiles.
1044 - debian/apache2.py, debian/apache2-bin.install: Add apport hook.
1045 - d/control, d/config-dir/mods-available/ssl.conf,
1046 - Add dep8 tests.
1047 - debian/rules: Fix cross-building by passing
1048 DEB_{HOST,BUILD}_GNU_TYPE to configure.
1049 - debian/patches/086_svn_cross_compiles: Backport several cross
1050 fixes from upstream
1051 - d/index.html: replace Debian with Ubuntu on default page.
1052 - d/p/split-logfile.patch: fix completely broken split-logfile
1053 command.
1054 - d/p/CVE-2015-0228.patch: fix logic in modules/lua/lua_request.c to fix a
1055 denial of service in mod_lua via websockets PING
1056 * debian/tests/ssl-passphrase: Add password responder for
1057 systemd-ask-passphrase.
1058
1059 -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 09 Mar 2015 12:03:16 +0100
1060
531apache2 (2.4.10-9) unstable; urgency=medium1061apache2 (2.4.10-9) unstable; urgency=medium
5321062
533 * CVE-2014-8109: mod_lua: Fix handling of the Require line when a1063 * CVE-2014-8109: mod_lua: Fix handling of the Require line when a
@@ -542,6 +1072,54 @@ apache2 (2.4.10-9) unstable; urgency=medium
5421072
543 -- Stefan Fritsch <sf@debian.org> Mon, 22 Dec 2014 20:24:36 +01001073 -- Stefan Fritsch <sf@debian.org> Mon, 22 Dec 2014 20:24:36 +0100
5441074
1075apache2 (2.4.10-8ubuntu3) vivid; urgency=medium
1076
1077 * SECURITY UPDATE: restriction bypass in mod_lua via multiple Require
1078 directives
1079 - debian/patches/CVE-2014-8109.patch: handle multiple Require
1080 directives with different arguments in modules/lua/mod_lua.c.
1081 - CVE-2014-8109
1082 * SECURITY UPDATE: denial of service in mod_lua via websockets PING
1083 - debian/patches/CVE-2015-0228.patch: fix logic in
1084 modules/lua/lua_request.c.
1085 - CVE-2015-0228
1086
1087 -- Marc Deslauriers <marc.deslauriers@ubuntu.com> Thu, 05 Mar 2015 10:56:34 -0500
1088
1089apache2 (2.4.10-8ubuntu2) vivid; urgency=medium
1090
1091 * Allow "triggers-awaited" and "triggers-pending" states in addition to
1092 "installed" when determining whether to defer actions or process
1093 deferred actions (LP: #1393832).
1094
1095 -- Colin Watson <cjwatson@ubuntu.com> Wed, 26 Nov 2014 11:31:44 +0000
1096
1097apache2 (2.4.10-8ubuntu1) vivid; urgency=medium
1098
1099 * Merge from Debian unstable. Remaining changes:
1100 - debian/{control, apache2.install, apache2-utils.ufw.profile,
1101 apache2.dirs}: Add ufw profiles.
1102 - debian/apache2.py, debian/apache2-bin.install: Add apport hook.
1103 - d/control, d/config-dir/mods-available/ssl.conf,
1104 d/ask-for-passphrase, d/apache2.install: Plymouth aware passphrase
1105 dialog program ask-for-passphrase.
1106 - Add dep8 tests.
1107 - debian/rules: Fix cross-building by passing
1108 DEB_{HOST,BUILD}_GNU_TYPE to configure.
1109 - debian/patches/086_svn_cross_compiles: Backport several cross
1110 fixes from upstream
1111 - d/index.html: replace Debian with Ubuntu on default page.
1112 - d/p/split-logfile.patch: fix completely broken split-logfile
1113 command.
1114 * Fixes from Debian included in merge:
1115 - Crash caused by OCSP stapling code; this was erroneously
1116 attributed to Debian in my previous merge, but actually only
1117 appears in 2.4.10-8; with thanks to Stefan Fritsch (LP: #1366174).
1118 * Cherry-pick versioned build-depend on dpkg from Debian for correct
1119 dpkg-maintscript-helper symlink_to_dir support.
1120
1121 -- Robie Basak <robie.basak@ubuntu.com> Fri, 21 Nov 2014 15:15:58 +0000
1122
545apache2 (2.4.10-8) unstable; urgency=medium1123apache2 (2.4.10-8) unstable; urgency=medium
5461124
547 * Bump dpkg Pre-Depends to version that supports relative symlinks in1125 * Bump dpkg Pre-Depends to version that supports relative symlinks in
@@ -556,6 +1134,33 @@ apache2 (2.4.10-8) unstable; urgency=medium
5561134
557 -- Stefan Fritsch <sf@debian.org> Tue, 18 Nov 2014 15:18:18 +01001135 -- Stefan Fritsch <sf@debian.org> Tue, 18 Nov 2014 15:18:18 +0100
5581136
1137apache2 (2.4.10-7ubuntu1) vivid; urgency=medium
1138
1139 * Merge from Debian unstable. Remaining changes:
1140 - debian/{control, apache2.install, apache2-utils.ufw.profile,
1141 apache2.dirs}: Add ufw profiles.
1142 - debian/apache2.py, debian/apache2-bin.install: Add apport hook.
1143 - d/control, d/config-dir/mods-available/ssl.conf,
1144 d/ask-for-passphrase, d/apache2.install: Plymouth aware passphrase
1145 dialog program ask-for-passphrase.
1146 - Add dep8 tests.
1147 - debian/rules: Fix cross-building by passing
1148 DEB_{HOST,BUILD}_GNU_TYPE to configure.
1149 - debian/patches/086_svn_cross_compiles: Backport several cross
1150 fixes from upstream
1151 - d/index.html: replace Debian with Ubuntu on default page.
1152 - d/p/split-logfile.patch: fix completely broken split-logfile command.
1153 * Fixes from Debian included in merge:
1154 - Don't use a2query in preinst, as it may not be available yet
1155 (LP: #1312533).
1156 - Crash caused by OCSP stapling code (LP: #1366174).
1157 - Disable SSLv3 in default config (LP: #1358305).
1158 - If apache2 is not configured yet, defer actions executed via
1159 apache2-maintscript-helper. This fixes installation failures if a
1160 module package is configured first (LP: #1312854).
1161
1162 -- Robie Basak <robie.basak@ubuntu.com> Mon, 17 Nov 2014 18:04:40 +0000
1163
559apache2 (2.4.10-7) unstable; urgency=medium1164apache2 (2.4.10-7) unstable; urgency=medium
5601165
561 * Handle transitions of doc dirs and symlinks correctly during upgrade.1166 * Handle transitions of doc dirs and symlinks correctly during upgrade.
@@ -639,6 +1244,25 @@ apache2 (2.4.10-2) unstable; urgency=medium
6391244
640 -- Stefan Fritsch <sf@debian.org> Sun, 21 Sep 2014 22:58:33 +02001245 -- Stefan Fritsch <sf@debian.org> Sun, 21 Sep 2014 22:58:33 +0200
6411246
1247apache2 (2.4.10-1ubuntu1) utopic; urgency=medium
1248
1249 * Merge from Debian unstable. Remaining changes:
1250 - debian/{control, apache2.install, apache2-utils.ufw.profile,
1251 apache2.dirs}: Add ufw profiles.
1252 - debian/apache2.py, debian/apache2-bin.install: Add apport hook.
1253 - d/control, d/config-dir/mods-available/ssl.conf, d/ask-for-passphrase,
1254 d/apache2.install: Plymouth aware passphrase dialog program
1255 ask-for-passphrase.
1256 - Add dep8 tests.
1257 - debian/rules: Fix cross-building by passing DEB_{HOST,BUILD}_GNU_TYPE to
1258 configure.
1259 - debian/patches/086_svn_cross_compiles: Backport several cross fixes from
1260 upstream
1261 - d/index.html: replace Debian with Ubuntu on default page.
1262 - d/p/split-logfile.patch: fix completely broken split-logfile command.
1263
1264 -- Robie Basak <robie.basak@ubuntu.com> Thu, 24 Jul 2014 15:13:16 +0000
1265
642apache2 (2.4.10-1) unstable; urgency=medium1266apache2 (2.4.10-1) unstable; urgency=medium
6431267
644 [ Arno Töll ]1268 [ Arno Töll ]
@@ -686,6 +1310,45 @@ apache2 (2.4.9-2) unstable; urgency=medium
6861310
687 -- Stefan Fritsch <sf@debian.org> Sun, 08 Jun 2014 10:38:04 +02001311 -- Stefan Fritsch <sf@debian.org> Sun, 08 Jun 2014 10:38:04 +0200
6881312
1313apache2 (2.4.9-1ubuntu2) utopic; urgency=medium
1314
1315 * Revert 2.4.4-6ubuntu3 and build against lua 5.1 again, since Apache doesn't
1316 yet support building against lua 5.2 (LP: #1323930).
1317
1318 -- Robie Basak <robie.basak@ubuntu.com> Wed, 28 May 2014 08:55:25 +0000
1319
1320apache2 (2.4.9-1ubuntu1) utopic; urgency=medium
1321
1322 * Merge from Debian unstable. Remaining changes:
1323 - debian/{control, apache2.install, apache2-utils.ufw.profile,
1324 apache2.dirs}: Add ufw profiles.
1325 - debian/apache2.py, debian/apache2-bin.install: Add apport hook.
1326 - d/control, d/config-dir/mods-available/ssl.conf, d/ask-for-passphrase,
1327 d/apache2.install, d/tests/ssl-passphrase: Plymouth aware passphrase
1328 dialog program ask-for-passphrase.
1329 - debian/rules: Fix cross-building by passing DEB_{HOST,BUILD}_GNU_TYPE to
1330 configure.
1331 - debian/patches/086_svn_cross_compiles: Backport several cross fixes from
1332 upstream
1333 - Build using lua5.2.
1334 - d/tests/chroot: dep8 test for ChrootDir case.
1335 - d/tests/ssl-passphrase: update for new default path /var/www/html.
1336 - d/tests/duplicate-module-load: check for duplicate module loads.
1337 - d/index.html: replace Debian with Ubuntu on default page (LP: #1288690).
1338 - d/p/split-logfile.patch: fix completely broken split-logfile command
1339 (LP: #1299162). Thanks to Holger Mauermann.
1340 * Drop changes (upstreamed):
1341 - d/p/ignore-quilt-dir: adjust build system so that it does not use
1342 files find inside the .pc directory. This stops a double module load
1343 causing later havoc, including "ChrootDir" directive failure.
1344 - debian/patches/CVE-2013-6438.patch: properly calculate correct length
1345 in modules/dav/main/util.c.
1346 - debian/patches/CVE-2014-0098.patch: properly parse tokens in
1347 modules/loggers/mod_log_config.c.
1348 * d/tests/control: adjust dep8 tests for new "breaks-testbed" facility.
1349
1350 -- Robie Basak <robie.basak@ubuntu.com> Fri, 09 May 2014 19:30:04 +0000
1351
689apache2 (2.4.9-1) unstable; urgency=medium1352apache2 (2.4.9-1) unstable; urgency=medium
6901353
691 * New upstream version.1354 * New upstream version.
@@ -718,6 +1381,63 @@ apache2 (2.4.9-1) unstable; urgency=medium
7181381
719 -- Stefan Fritsch <sf@debian.org> Sat, 29 Mar 2014 22:50:32 +01001382 -- Stefan Fritsch <sf@debian.org> Sat, 29 Mar 2014 22:50:32 +0100
7201383
1384apache2 (2.4.7-1ubuntu4) trusty; urgency=medium
1385
1386 * d/p/split-logfile.patch: fix completely broken split-logfile command
1387 (LP: #1299162). Thanks to Holger Mauermann.
1388
1389 -- Robie Basak <robie.basak@ubuntu.com> Thu, 03 Apr 2014 11:21:22 +0000
1390
1391apache2 (2.4.7-1ubuntu3) trusty; urgency=medium
1392
1393 * SECURITY UPDATE: denial of service via mod_dav incorrect end of string
1394 calculation
1395 - debian/patches/CVE-2013-6438.patch: properly calculate correct length
1396 in modules/dav/main/util.c.
1397 - CVE-2013-6438
1398 * SECURITY UPDATE: denial of service via truncated cookie and
1399 mod_log_config
1400 - debian/patches/CVE-2014-0098.patch: properly parse tokens in
1401 modules/loggers/mod_log_config.c.
1402 - CVE-2014-0098
1403
1404 -- Marc Deslauriers <marc.deslauriers@ubuntu.com> Thu, 20 Mar 2014 08:34:10 -0400
1405
1406apache2 (2.4.7-1ubuntu2) trusty; urgency=medium
1407
1408 * d/index.html: replace Debian with Ubuntu on default page
1409 (LP: #1288690).
1410
1411 -- Robie Basak <robie.basak@ubuntu.com> Wed, 19 Mar 2014 11:04:21 +0000
1412
1413apache2 (2.4.7-1ubuntu1) trusty; urgency=medium
1414
1415 * Merge from Debian unstable. Remaining changes:
1416 - debian/{control, apache2.install, apache2-utils.ufw.profile,
1417 apache2.dirs}: Add ufw profiles.
1418 - debian/apache2.py, debian/apache2-bin.install: Add apport hook.
1419 - d/control, d/config-dir/mods-available/ssl.conf,
1420 d/ask-for-passphrase, d/apache2.install, d/tests/ssl-passphrase:
1421 Plymouth aware passphrase dialog program ask-for-passphrase.
1422 - debian/rules: Fix cross-building by passing DEB_{HOST,BUILD}_GNU_TYPE
1423 to configure.
1424 - debian/patches/086_svn_cross_compiles: Backport several cross fixes
1425 from upstream
1426 - Build using lua5.2.
1427 - d/tests/chroot: dep8 test for ChrootDir case.
1428 - d/p/ignore-quilt-dir: adjust build system so that it does not use
1429 files find inside the .pc directory. This stops a double module load
1430 causing later havoc, including "ChrootDir" directive failure.
1431 * Drop changes:
1432 - debian/{control, rules}: Enable PIE hardening: no longer required;
1433 2.4.7-1 is already hardened.
1434 - d/p/itk-rerun-configure.patch: no longer needed, as ITK support has moved
1435 out of this package.
1436 * d/tests/ssl-passphrase: update for new default path /var/www/html.
1437 * d/tests/duplicate-module-load: check for duplicate module loads.
1438
1439 -- Robie Basak <robie.basak@ubuntu.com> Tue, 14 Jan 2014 17:23:47 +0000
1440
721apache2 (2.4.7-1) unstable; urgency=low1441apache2 (2.4.7-1) unstable; urgency=low
7221442
723 New upstream version1443 New upstream version
@@ -781,6 +1501,53 @@ apache2 (2.4.6-3) unstable; urgency=low
7811501
782 -- Stefan Fritsch <sf@debian.org> Mon, 12 Aug 2013 20:15:38 +02001502 -- Stefan Fritsch <sf@debian.org> Mon, 12 Aug 2013 20:15:38 +0200
7831503
1504apache2 (2.4.6-2ubuntu4) trusty; urgency=low
1505
1506 * d/p/ignore-quilt-dir, d/p/itk-rerun-configure.patch: adjust build system so
1507 that it does not use files find inside the .pc directory. This stops a
1508 double module load causing later havoc, including "ChrootDir" directive
1509 failure (LP: #1251939). Thanks to Stefan Fritsch.
1510 * d/tests/chroot: dep8 test for ChrootDir case.
1511
1512 -- Robie Basak <robie.basak@ubuntu.com> Thu, 28 Nov 2013 16:21:51 +0000
1513
1514apache2 (2.4.6-2ubuntu3) trusty; urgency=low
1515
1516 * debian/apache2.install: Correct path for ufw.
1517 (LP: #1252722)
1518
1519 -- Chuck Short <zulcss@ubuntu.com> Tue, 19 Nov 2013 08:59:54 -0500
1520
1521apache2 (2.4.6-2ubuntu2) saucy; urgency=low
1522
1523 * d/ask-for-passphrase: mark executable so that apache2 can run it. Fixes
1524 passphrase prompting for SSL certificates that are passphrase protected.
1525 * Add dep8 test for SSL passphrase prompting.
1526
1527 -- Robie Basak <robie.basak@ubuntu.com> Fri, 09 Aug 2013 13:08:52 +0000
1528
1529apache2 (2.4.6-2ubuntu1) saucy; urgency=low
1530
1531 * Merge from Debian unstable. Remaining changes:
1532 - debian/{control, rules}: Enable PIE hardening.
1533 - debian/{control, apache2.install, apache2-utils.ufw.profile,
1534 apache2.dirs}: Add ufw profiles.
1535 - debian/apache2.py, debian/apache2-bin.install: Add apport hook.
1536 - debian/control, debian/config-dir/mods-available/ssl.conf,
1537 debian/ask-for-passphrase, debian/apache2.install: Plymouth aware
1538 passphrase dialog program ask-for-passphrase.
1539 - debian/rules: Fix cross-building by passing DEB_{HOST,BUILD}_GNU_TYPE
1540 to configure.
1541 - debian/patches/086_svn_cross_compiles: Backport several cross fixes
1542 from upstream
1543 * Dropped changes:
1544 - debian/patches/CVE-2013-1896.patch: upstream
1545 * Fixed module dependencies (LP: #1205314)
1546 - debian/config-dir/mods-available/lbmethod_*: properly specify
1547 proxy_balancer, not mod_proxy_balancer.
1548
1549 -- Marc Deslauriers <marc.deslauriers@ubuntu.com> Fri, 26 Jul 2013 08:31:33 -0400
1550
784apache2 (2.4.6-2) unstable; urgency=low1551apache2 (2.4.6-2) unstable; urgency=low
7851552
786 [ Stefan Fritsch ]1553 [ Stefan Fritsch ]
@@ -833,6 +1600,56 @@ apache2 (2.4.6-1) unstable; urgency=low
8331600
834 -- Arno Töll <arno@debian.org> Sun, 21 Jul 2013 18:44:42 +02001601 -- Arno Töll <arno@debian.org> Sun, 21 Jul 2013 18:44:42 +0200
8351602
1603apache2 (2.4.4-6ubuntu5) saucy; urgency=low
1604
1605 * SECURITY UPDATE: denial of service via MERGE request
1606 - debian/patches/CVE-2013-1896.patch: make sure DAV is enabled for URI
1607 in modules/dav/main/mod_dav.c.
1608 - CVE-2013-1896
1609
1610 -- Marc Deslauriers <marc.deslauriers@ubuntu.com> Thu, 18 Jul 2013 11:20:47 -0400
1611
1612apache2 (2.4.4-6ubuntu4) saucy; urgency=low
1613
1614 * d/apache2-{utils,bin}.install: move apport hook from apache2-utils to
1615 apache2-bin. apache2-utils is only suggested by apache2, so may not
1616 always be installed by bug reporters. However, apache2-bin will always
1617 need to be installed for Apache to be functional, so this is a better
1618 place for the apport hook. apache2-bin already Conflicts/Replaces
1619 apache2.2-common, so this also fixes (LP: #1199318).
1620 * d/apache2.py: adjust apport hook for new location of configuration
1621 files in apache2 >= 2.4: they have moved from apache2.2-common to
1622 apache2.
1623
1624 -- Robie Basak <robie.basak@ubuntu.com> Wed, 17 Jul 2013 17:54:22 +0000
1625
1626apache2 (2.4.4-6ubuntu3) saucy; urgency=low
1627
1628 * Build using lua5.2.
1629
1630 -- Matthias Klose <doko@ubuntu.com> Wed, 17 Jul 2013 14:24:42 +0200
1631
1632apache2 (2.4.4-6ubuntu2) saucy; urgency=low
1633
1634 * debian/rules: Fix FTBFS while installing ufw.
1635
1636 -- Chuck Short <zulcss@ubuntu.com> Tue, 02 Jul 2013 10:10:14 -0500
1637
1638apache2 (2.4.4-6ubuntu1) saucy; urgency=low
1639
1640 * Merge from Debian unstable. Remaining changes:
1641 - debian/{control, rules}: Enable PIE hardening.
1642 - debian/{control, rules, apache2.2-common.ufw.profile}: Add ufw profiles.
1643 - debian/apache2.py, debian/apache2.2-common.install: Add apport hook.
1644 - debian/control, debian/ask-for-passphrase, debian/config-dir/mods-available/ssl.conf:
1645 Plymouth aware passphrase dialog program ask-for-passphrase.
1646 * Dropped changes:
1647 - debian/patches/CVE-2012-2687.patch: Dropped no longer needed.
1648 - debian/patches/CVE-2012-3499_4558.patch: Dropped no longer needed.
1649 - debian/patches/CVE-2012-4929.patch: Dropped no longer needed.
1650
1651 -- Chuck Short <zulcss@ubuntu.com> Tue, 02 Jul 2013 08:34:01 -0500
1652
836apache2 (2.4.4-6) unstable; urgency=low1653apache2 (2.4.4-6) unstable; urgency=low
8371654
838 * Denote exact versions breaking gnome-user-share now that Gnome maintainers1655 * Denote exact versions breaking gnome-user-share now that Gnome maintainers
@@ -1304,6 +2121,122 @@ apache2 (2.4.1-1) experimental; urgency=low
13042121
1305 -- Stefan Fritsch <sf@debian.org> Mon, 19 Mar 2012 10:46:02 +01002122 -- Stefan Fritsch <sf@debian.org> Mon, 19 Mar 2012 10:46:02 +0100
13062123
2124apache2 (2.2.22-6ubuntu5) raring; urgency=low
2125
2126 * SECURITY UPDATE: multiple cross-site scripting issues
2127 - debian/patches/CVE-2012-3499_4558.patch: properly escape html in
2128 modules/generators/{mod_info.c,mod_status.c},
2129 modules/ldap/util_ldap_cache_mgr.c, modules/mappers/mod_imagemap.c,
2130 modules/proxy/{mod_proxy_balancer.c,mod_proxy_ftp.c}.
2131 - CVE-2012-3499
2132 - CVE-2012-4558
2133 * SECURITY UPDATE: symlink attack in apache2ctl script
2134 - debian/apache2ctl: introduce and use a safer mkdir_chown() function.
2135 - Thanks to Stefan Fritsch for the fix.
2136 - CVE-2013-1048
2137
2138 -- Marc Deslauriers <marc.deslauriers@ubuntu.com> Fri, 15 Mar 2013 07:59:58 -0400
2139
2140apache2 (2.2.22-6ubuntu4) raring; urgency=low
2141
2142 * Fix cross-building by passing DEB_{HOST,BUILD}_GNU_TYPE to configure.
2143 * Skip module sanity check between MPMs if cross-building without the
2144 kernel/binfmt support to run our target binaries on the build system.
2145 * Backport several cross fixes from upstream as 086_svn_cross_compiles.
2146
2147 -- Adam Conrad <adconrad@ubuntu.com> Wed, 05 Dec 2012 02:21:46 -0700
2148
2149apache2 (2.2.22-6ubuntu3) raring; urgency=low
2150
2151 * SECURITY UPDATE: XSS vulnerability in mod_negotiation
2152 - debian/patches/CVE-2012-2687.patch: escape filenames in
2153 modules/mappers/mod_negotiation.c.
2154 - CVE-2012-2687
2155 * SECURITY UPDATE: CRIME attack ssl attack (LP: #1068854)
2156 - debian/patches/CVE-2012-4929.patch: backport SSLCompression on|off
2157 directive. Defaults to off as enabling compression enables the CRIME
2158 attack.
2159 - CVE-2012-4929
2160
2161 -- Marc Deslauriers <marc.deslauriers@ubuntu.com> Thu, 08 Nov 2012 17:56:24 -0500
2162
2163apache2 (2.2.22-6ubuntu2) quantal; urgency=low
2164
2165 * debian/apache2.py
2166 - Update apport hook for python3 ; thanks to Edward Donovan (LP: #1013171)
2167 - Check if this directory exists: /etc/apache2/sites-enabled/
2168
2169 -- Matthieu Baerts (matttbe) <matttbe@gmail.com> Mon, 16 Jul 2012 10:02:18 +0200
2170
2171apache2 (2.2.22-6ubuntu1) quantal; urgency=low
2172
2173 * Merge from Debian unstable. Remaining changes:
2174 - debian/{control, rules}: Enable PIE hardening.
2175 - debian/{control, rules, apache2.2-common.ufw.profile}: Add ufw profiles.
2176 - debian/apache2.py, debian/apache2.2-common.install: Add apport hook.
2177 - debian/control, debian/ask-for-passphrase, debian/config-dir/mods-available/ssl.conf:
2178 Plymouth aware passphrase dialog program ask-for-passphrase.
2179 * Dropped changes:
2180 - debian/control: Add bzr tag and point it to our tree; this is not
2181 really required and just increases the delta.
2182
2183 -- Robie Basak <robie.basak@ubuntu.com> Fri, 08 Jun 2012 11:37:31 +0100
2184
2185apache2 (2.2.22-6) unstable; urgency=low
2186
2187 [ Stefan Fritsch ]
2188 * Fix regression causing apache2 to cache "206 partial content" responses,
2189 and then serving these partial responses when replying to normal requests.
2190 Closes: #671204
2191 * Add section to security.conf that shows how to forbid access to VCS
2192 directories. Closes: #548213
2193 * Update ssl default cipher config, add alternative speed optimized config.
2194 Closes: #649020
2195 * Add "AddCharset" for .brf files in default mod_mime config.
2196 Closes: #402567
2197 * Don't create httpd.conf anymore and don't include it in apache2.conf. If
2198 it contains local modifications, move it to /etc/apache2/conf.d/httpd.conf
2199 * Port some of the comments in apache2.conf from the 2.4 package.
2200 * Compile mod_version statically, drop associated module load file.
2201 * If apache2 is not running, make "/etc/init.d/apache2 reload" skip the
2202 configtest.
2203 * Note in README.Debian that future versions of the package will have the
2204 include statements changed to include only *.conf.
2205 * Change compiled-in document root to /var/www, to avoid strange error
2206 messages.
2207 * Use "dh --with autotools_dev" instead of patching config.sub/config.guess.
2208
2209 [ Arno Töll ]
2210 * Fix apxs to import LDFLAGS from config_vars.mk. Moreover, make it possible
2211 to override LDFLAGS at compile time by defining LDLAGS in the environment,
2212 just like it is possible for CFLAGS. This also means, config_vars.mk now
2213 exports hardening build flags by default.
2214 * Update doc-base metadata for the apache2-doc package.
2215
2216 -- Stefan Fritsch <sf@debian.org> Tue, 29 May 2012 22:05:48 +0200
2217
2218apache2 (2.2.22-5) unstable; urgency=low
2219
2220 * Make LoadFile and LoadModule look in the standard search paths if the
2221 dso file name is given as a pure filename. This helps with the multi-arch
2222 transition.
2223
2224 -- Stefan Fritsch <sf@debian.org> Mon, 30 Apr 2012 23:38:33 +0200
2225
2226apache2 (2.2.22-4) unstable; urgency=high
2227
2228 * CVE-2012-0216: Remove "Alias /doc /usr/share/doc" from the default virtual
2229 hosts' config files.
2230 If scripting modules like mod_php or mod_rivet are enabled on systems
2231 where either 1) some frontend server forwards connections to an apache2
2232 backend server on the localhost address, or 2) the machine running
2233 apache2 is also used for web browsing, this could allow a remote
2234 attacker to execute example scripts stored under /usr/share/doc.
2235 Depending on the installed packages, this could lead to issues like cross
2236 site scripting, code execution, or leakage of sensitive data.
2237
2238 -- Stefan Fritsch <sf@debian.org> Sun, 15 Apr 2012 23:41:43 +0200
2239
1307apache2 (2.2.22-3) unstable; urgency=low2240apache2 (2.2.22-3) unstable; urgency=low
13082241
1309 * Fix "FTBFS: mkdir: cannot create directory `debian/build-tree/arch':2242 * Fix "FTBFS: mkdir: cannot create directory `debian/build-tree/arch':
@@ -1324,6 +2257,18 @@ apache2 (2.2.22-2) unstable; urgency=low
13242257
1325 -- Stefan Fritsch <sf@debian.org> Thu, 15 Mar 2012 00:02:31 +01002258 -- Stefan Fritsch <sf@debian.org> Thu, 15 Mar 2012 00:02:31 +0100
13262259
2260apache2 (2.2.22-1ubuntu1) precise; urgency=low
2261
2262 * Merge from Debian testing. Remaining changes:
2263 - debian/{control, rules}: Enable PIE hardening.
2264 - debian/{control, rules, apache2.2-common.ufw.profile}: Add ufw profiles.
2265 - debian/control: Add bzr tag and point it to our tree
2266 - debian/apache2.py, debian/apache2.2-common.install: Add apport hook.
2267 - debian/control, debian/ask-for-passphrase, debian/config-dir/mods-available/ssl.conf:
2268 Plymouth aware passphrase dialog program ask-for-passphrase.
2269
2270 -- Chuck Short <zulcss@ubuntu.com> Sun, 12 Feb 2012 20:06:35 -0500
2271
1327apache2 (2.2.22-1) unstable; urgency=low2272apache2 (2.2.22-1) unstable; urgency=low
13282273
1329 [ Stefan Fritsch ]2274 [ Stefan Fritsch ]
@@ -1341,6 +2286,18 @@ apache2 (2.2.22-1) unstable; urgency=low
13412286
1342 -- Stefan Fritsch <sf@debian.org> Wed, 01 Feb 2012 21:49:04 +0100 2287 -- Stefan Fritsch <sf@debian.org> Wed, 01 Feb 2012 21:49:04 +0100
13432288
2289apache2 (2.2.21-5ubuntu1) precise; urgency=low
2290
2291 * Merge from Debian testing. Remaining changes:
2292 - debian/{control, rules}: Enable PIE hardening.
2293 - debian/{control, rules, apache2.2-common.ufw.profile}: Add ufw profiles.
2294 - debian/control: Add bzr tag and point it to our tree
2295 - debian/apache2.py, debian/apache2.2-common.install: Add apport hook.
2296 - debian/control, debian/ask-for-passphrase, debian/config-dir/mods-available/ssl.conf:
2297 Plymouth aware passphrase dialog program ask-for-passphrase.
2298
2299 -- Chuck Short <zulcss@ubuntu.com> Mon, 09 Jan 2012 06:26:31 +0000
2300
1344apache2 (2.2.21-5) unstable; urgency=low2301apache2 (2.2.21-5) unstable; urgency=low
13452302
1346 [ Arno Töll ]2303 [ Arno Töll ]
@@ -1394,6 +2351,26 @@ apache2 (2.2.21-4) unstable; urgency=low
13942351
1395 -- Stefan Fritsch <sf@debian.org> Thu, 29 Dec 2011 12:09:14 +01002352 -- Stefan Fritsch <sf@debian.org> Thu, 29 Dec 2011 12:09:14 +0100
13962353
2354apache2 (2.2.21-3ubuntu2) precise; urgency=low
2355
2356 * d/ask-for-passphrase: Flip the logic of this script so that it checks
2357 first to see if apache is being started from a TTY, and then if not,
2358 tries plymouth. (LP: #887410)
2359
2360 -- Clint Byrum <clint@ubuntu.com> Tue, 06 Dec 2011 16:49:33 -0800
2361
2362apache2 (2.2.21-3ubuntu1) precise; urgency=low
2363
2364 * Merge from Debian testing. Remaining changes:
2365 - debian/{control, rules}: Enable PIE hardening.
2366 - debian/{control, rules, apache2.2-common.ufw.profile}: Add ufw profiles.
2367 - debian/control: Add bzr tag and point it to our tree
2368 - debian/apache2.py, debian/apache2.2-common.install: Add apport hook.
2369 - debian/control, debian/ask-for-passphrase, debian/config-dir/mods-available/ssl.conf:
2370 Plymouth aware passphrase dialog program ask-for-passphrase.
2371
2372 -- Chuck Short <zulcss@ubuntu.com> Fri, 09 Dec 2011 05:20:43 +0000
2373
1397apache2 (2.2.21-3) unstable; urgency=medium2374apache2 (2.2.21-3) unstable; urgency=medium
13982375
1399 * Fix CVE-2011-4317: Prevent unintended pattern expansion in some2376 * Fix CVE-2011-4317: Prevent unintended pattern expansion in some
@@ -1408,6 +2385,24 @@ apache2 (2.2.21-3) unstable; urgency=medium
14082385
1409 -- Stefan Fritsch <sf@debian.org> Sat, 03 Dec 2011 18:54:03 +01002386 -- Stefan Fritsch <sf@debian.org> Sat, 03 Dec 2011 18:54:03 +0100
14102387
2388apache2 (2.2.21-2ubuntu2) precise; urgency=low
2389
2390 * No-change rebuild to drop spurious libsfgcc1 dependency on armhf.
2391
2392 -- Adam Conrad <adconrad@ubuntu.com> Fri, 02 Dec 2011 17:36:28 -0700
2393
2394apache2 (2.2.21-2ubuntu1) precise; urgency=low
2395
2396 * Merge from debian unstable. Remaining changes:
2397 - debian/{control, rules}: Enable PIE hardening.
2398 - debian/{control, rules, apache2.2-common.ufw.profile}: Add ufw profiles.
2399 - debian/control: Add bzr tag and point it to our tree
2400 - debian/apache2.py, debian/apache2.2-common.install: Add apport hook.
2401 - debian/control, debian/ask-for-passphrase, debian/config-dir/mods-available/ssl.conf:
2402 Plymouth aware passphrase dialog program ask-for-passphrase.
2403
2404 -- Chuck Short <zulcss@ubuntu.com> Fri, 14 Oct 2011 16:01:29 +0000
2405
1411apache2 (2.2.21-2) unstable; urgency=high2406apache2 (2.2.21-2) unstable; urgency=high
14122407
1413 * Fix CVE-2011-3368: Prevent unintended pattern expansion in some2408 * Fix CVE-2011-3368: Prevent unintended pattern expansion in some
@@ -1425,6 +2420,19 @@ apache2 (2.2.21-1) unstable; urgency=low
14252420
1426 -- Stefan Fritsch <sf@debian.org> Mon, 26 Sep 2011 18:16:11 +02002421 -- Stefan Fritsch <sf@debian.org> Mon, 26 Sep 2011 18:16:11 +0200
14272422
2423apache2 (2.2.20-1ubuntu1) oneiric; urgency=low
2424
2425 * Merge from debian unstable to fix CVE-2011-3192 (LP: #837991).
2426 Remaining changes:
2427 - debian/{control, rules}: Enable PIE hardening.
2428 - debian/{control, rules, apache2.2-common.ufw.profile}: Add ufw profiles.
2429 - debian/control: Add bzr tag and point it to our tree
2430 - debian/apache2.py, debian/apache2.2-common.install: Add apport hook.
2431 - debian/control, debian/ask-for-passphrase, debian/config-dir/mods-available/ssl.conf:
2432 Plymouth aware passphrase dialog program ask-for-passphrase.
2433
2434 -- Steve Beattie <sbeattie@ubuntu.com> Tue, 06 Sep 2011 01:17:15 -0700
2435
1428apache2 (2.2.20-1) unstable; urgency=low2436apache2 (2.2.20-1) unstable; urgency=low
14292437
1430 * New upstream release.2438 * New upstream release.
@@ -1447,6 +2455,18 @@ apache2 (2.2.19-2) unstable; urgency=high
14472455
1448 -- Stefan Fritsch <sf@debian.org> Mon, 29 Aug 2011 17:08:17 +02002456 -- Stefan Fritsch <sf@debian.org> Mon, 29 Aug 2011 17:08:17 +0200
14492457
2458apache2 (2.2.19-1ubuntu1) oneiric; urgency=low
2459
2460 * Merge from debian unstable (LP: #787013). Remaining changes:
2461 - debian/{control, rules}: Enable PIE hardening.
2462 - debian/{control, rules, apache2.2-common.ufw.profile}: Add ufw profiles.
2463 - debian/control: Add bzr tag and point it to our tree
2464 - debian/apache2.py, debian/apache2.2-common.install: Add apport hook.
2465 - debian/control, debian/ask-for-passphrase, debian/config-dir/mods-available/ssl.conf:
2466 Plymouth aware passphrase dialog program ask-for-passphrase.
2467
2468 -- Andres Rodriguez <andreserl@ubuntu.com> Mon, 23 May 2011 10:16:09 -0400
2469
1450apache2 (2.2.19-1) unstable; urgency=low2470apache2 (2.2.19-1) unstable; urgency=low
14512471
1452 * New upstream release.2472 * New upstream release.
@@ -1464,6 +2484,18 @@ apache2 (2.2.19-1) unstable; urgency=low
14642484
1465 -- Stefan Fritsch <sf@debian.org> Sun, 22 May 2011 10:21:21 +02002485 -- Stefan Fritsch <sf@debian.org> Sun, 22 May 2011 10:21:21 +0200
14662486
2487apache2 (2.2.17-3ubuntu1) oneiric; urgency=low
2488
2489 * Merge from debian unstable. Remaining changes:
2490 - debian/{control, rules}: Enable PIE hardening.
2491 - debian/{control, rules, apache2.2-common.ufw.profile}: Add ufw profiles.
2492 - debian/control: Add bzr tag and point it to our tree
2493 - debain/apache2.py, debian/apache2.2-common.isntall: Add apport hook.
2494 - debian/control, debian/ask-for-passphrase, debian/config-dir/mods-available/ssl.conf:
2495 Plymouth aware passphrase dialog program ask-for-passphrase.
2496
2497 -- Chuck Short <zulcss@ubuntu.com> Mon, 11 Apr 2011 02:13:30 +0100
2498
1467apache2 (2.2.17-3) unstable; urgency=low2499apache2 (2.2.17-3) unstable; urgency=low
14682500
1469 * Fix compilation with OpenSSL without SSLv2 support. Closes: #6220492501 * Fix compilation with OpenSSL without SSLv2 support. Closes: #622049
@@ -1490,6 +2522,18 @@ apache2 (2.2.17-2) unstable; urgency=high
14902522
1491 -- Stefan Fritsch <sf@debian.org> Mon, 21 Mar 2011 23:01:17 +01002523 -- Stefan Fritsch <sf@debian.org> Mon, 21 Mar 2011 23:01:17 +0100
14922524
2525apache2 (2.2.17-1ubuntu1) natty; urgency=low
2526
2527 * Merge from debian unstable, remaining changes:
2528 - debian/{control, rules}: Enable PIE hardening.
2529 - debian/{control, rules, apache2.2-common.ufw.profile}: Add ufw profiles.
2530 - debian/control: Add bzr tag and point it to our tree
2531 - debain/apache2.py, debian/apache2.2-common.isntall: Add apport hook.
2532 - debian/control, debian/ask-for-passphrase, debian/config-dir/mods-available/ssl.conf:
2533 Plymouth aware passphrase dialog program ask-for-passphrase.
2534
2535 -- Chuck Short <zulcss@ubuntu.com> Tue, 22 Feb 2011 13:02:08 -0500
2536
1493apache2 (2.2.17-1) unstable; urgency=low2537apache2 (2.2.17-1) unstable; urgency=low
14942538
1495 * New upstream version2539 * New upstream version
@@ -1498,6 +2542,32 @@ apache2 (2.2.17-1) unstable; urgency=low
14982542
1499 -- Stefan Fritsch <sf@debian.org> Tue, 15 Feb 2011 23:30:18 +01002543 -- Stefan Fritsch <sf@debian.org> Tue, 15 Feb 2011 23:30:18 +0100
15002544
2545apache2 (2.2.16-6ubuntu3) natty; urgency=low
2546
2547 * debian/rules: Don't use "-fno-strict-aliasing" since it causes
2548 apache FTBFS on amd64. (LP: #711293)
2549
2550 -- Chuck Short <zulcss@ubuntu.com> Tue, 01 Feb 2011 10:19:55 -0500
2551
2552apache2 (2.2.16-6ubuntu2) natty; urgency=low
2553
2554 * debian/rules: Use "-fno-strict-aliasing" to work around a gcc bug.
2555 (LP: #697105)
2556
2557 -- Chuck Short <zulcss@ubuntu.com> Tue, 25 Jan 2011 11:14:58 -0500
2558
2559apache2 (2.2.16-6ubuntu1) natty; urgency=low
2560
2561 * Merge from debian unstable. Remaining changes:
2562 - debian/{control, rules}: Enable PIE hardening.
2563 - debian/{control, rules, apache2.2-common.ufw.profile}: Add ufw profiles.
2564 - debian/control: Add bzr tag and point it to our tree
2565 - debain/apache2.py, debian/apache2.2-common.isntall: Add apport hook.
2566 - debian/control, debian/ask-for-passphrase, debian/config-dir/mods-available/ssl.conf:
2567 Plymouth aware passphrase dialog program ask-for-passphrase.
2568
2569 -- Chuck Short <zulcss@ubuntu.com> Sun, 02 Jan 2011 06:05:51 +0000
2570
1501apache2 (2.2.16-6) unstable; urgency=low2571apache2 (2.2.16-6) unstable; urgency=low
15022572
1503 * Also add $named to the secondary-init-script example.2573 * Also add $named to the secondary-init-script example.
@@ -1513,6 +2583,30 @@ apache2 (2.2.16-5) unstable; urgency=medium
15132583
1514 -- Stefan Fritsch <sf@debian.org> Fri, 31 Dec 2010 01:22:19 +01002584 -- Stefan Fritsch <sf@debian.org> Fri, 31 Dec 2010 01:22:19 +0100
15152585
2586apache2 (2.2.16-4ubuntu2) natty; urgency=low
2587
2588 [Clint Byrum]
2589 * Adding plymouth aware passphrase dialog program ask-for-passphrase.
2590 (LP: #582963)
2591 + debian/control: apache2.2-common depends on bash for ask-for-passphrase
2592 + debian/config-dir/mods-available/ssl.conf:
2593 - SSLPassPhraseDialog now uses exec:/usr/share/apache2/ask-for-passhrase
2594
2595 [Chuck Short]
2596 * Add apport hook. (LP: #609177)
2597 + debian/apache2.py, debian/apache2.2-common.install
2598
2599 -- Chuck Short <zulcss@ubuntu.com> Mon, 22 Nov 2010 09:43:43 -0500
2600
2601apache2 (2.2.16-4ubuntu1) natty; urgency=low
2602
2603 * Merge from debian unstable. Remaining changes:
2604 - debian/{control, rules}: Enable PIE hardening.
2605 - debian/{control, rules, apache2.2-common.ufw.profile}: Add ufw profiles.
2606 - debian/control: Add bzr tag and point it to our tree
2607
2608 -- Chuck Short <zulcss@ubuntu.com> Mon, 22 Nov 2010 09:43:41 -0500
2609
1516apache2 (2.2.16-4) unstable; urgency=medium2610apache2 (2.2.16-4) unstable; urgency=medium
15172611
1518 * Increase the mod_reqtimeout default timeouts to avoid potential problems2612 * Increase the mod_reqtimeout default timeouts to avoid potential problems
@@ -1523,6 +2617,15 @@ apache2 (2.2.16-4) unstable; urgency=medium
15232617
1524 -- Stefan Fritsch <sf@debian.org> Sun, 14 Nov 2010 19:05:55 +01002618 -- Stefan Fritsch <sf@debian.org> Sun, 14 Nov 2010 19:05:55 +0100
15252619
2620apache2 (2.2.16-3ubuntu1) natty; urgency=low
2621
2622 * Merge from debian unstable. Remaining changes:
2623 - debian/{control, rules}: Enable PIE hardening.
2624 - debian/{control, rules, apache2.2-common.ufw.profile}: Add ufw profiles.
2625 - debian/control: Add bzr tag and point it to our tree.
2626
2627 -- Chuck Short <zulcss@ubuntu.com> Tue, 12 Oct 2010 11:54:48 +0100
2628
1526apache2 (2.2.16-3) unstable; urgency=high2629apache2 (2.2.16-3) unstable; urgency=high
15272630
1528 * CVE-2010-1623: mod_reqtimeout: Fix potential DoS by high memory usage.2631 * CVE-2010-1623: mod_reqtimeout: Fix potential DoS by high memory usage.
@@ -1545,6 +2648,30 @@ apache2 (2.2.16-2) unstable; urgency=low
15452648
1546 -- Stefan Fritsch <sf@debian.org> Sun, 29 Aug 2010 15:29:21 +02002649 -- Stefan Fritsch <sf@debian.org> Sun, 29 Aug 2010 15:29:21 +0200
15472650
2651apache2 (2.2.16-1ubuntu3) maverick; urgency=low
2652
2653 * Revert "stty sane" to unbreak apache starting, this will have to be
2654 fixed a different way. (LP: #626723)
2655
2656 -- Chuck Short <zulcss@ubuntu.com> Wed, 08 Sep 2010 08:33:17 -0400
2657
2658apache2 (2.2.16-1ubuntu2) maverick; urgency=low
2659
2660 * debian/apache2.2-common.apache2.init: Add stty sane so that users will get a
2661 password prompt when using apache-ssl. (LP: #582963)
2662
2663 -- Chuck Short <zulcss@ubuntu.com> Wed, 25 Aug 2010 09:25:05 -0400
2664
2665apache2 (2.2.16-1ubuntu1) maverick; urgency=low
2666
2667 * Merge from debian unstable. Remaining changes:
2668 - debian/{control, rules}: Enable PIE hardening.
2669 - debian/{control, rules, apache2.2-common.ufw.profile}: Add ufw profiles.
2670 - debian/control: Add bzr tag and point it to our tree.
2671 - debian/apache2-2.common.apache2.init: Add graceful restart (LP: #456381)
2672
2673 -- Chuck Short <zulcss@ubuntu.com> Mon, 26 Jul 2010 20:21:37 +0100
2674
1548apache2 (2.2.16-1) unstable; urgency=medium2675apache2 (2.2.16-1) unstable; urgency=medium
15492676
1550 * Urgency medium for security fix.2677 * Urgency medium for security fix.
@@ -1577,6 +2704,24 @@ apache2 (2.2.15-6) unstable; urgency=low
15772704
1578 -- Stefan Fritsch <sf@debian.org> Fri, 16 Jul 2010 23:41:08 +02002705 -- Stefan Fritsch <sf@debian.org> Fri, 16 Jul 2010 23:41:08 +0200
15792706
2707apache2 (2.2.15-5ubuntu1) maverick; urgency=low
2708
2709 * Merge from debian unstable. Remaining changes:
2710 - debian/{control, rules}: Enable PIE hardening.
2711 - debian/{control, rules, apache2.2-common.ufw.profile}: Add ufw profiles.
2712 - debian/control: Add bzr tag and point it to our tree.
2713 - debian/apache2-2.common.apache2.init: Add graceful restart (LP: #456381)
2714 + Dropped:
2715 - debian/patches/206-fix-potential-memory-leaks.dpatch: No longer needed.
2716 - debian/patches/206-report-max-client-mpm-worker.dpatch: No longer needed.
2717 - debian/config-dir/apache2.conf: Merged back from debian.
2718 - mod-reqtimeout functionality: Merge back from debian.
2719 - debian/patches/204_CVE-2010-0408.dpatch: No longer needed.
2720 - debian/patches/205_CVE-2010-0434.dpatch: No longer needed.
2721 - debian/patches/203_fix-ab-segfault.dpatch: No longer needed.
2722
2723 -- Chuck Short <zulcss@ubuntu.com> Wed, 05 May 2010 01:28:04 +0100
2724
1580apache2 (2.2.15-5) unstable; urgency=low2725apache2 (2.2.15-5) unstable; urgency=low
15812726
1582 * Conflict with apache package as we now include apachectl. Closes: #5790652727 * Conflict with apache package as we now include apachectl. Closes: #579065
@@ -1697,6 +2842,80 @@ apache2 (2.2.14-6) unstable; urgency=low
16972842
1698 -- Stefan Fritsch <sf@debian.org> Sun, 07 Feb 2010 17:29:45 +01002843 -- Stefan Fritsch <sf@debian.org> Sun, 07 Feb 2010 17:29:45 +0100
16992844
2845apache2 (2.2.14-5ubuntu8) lucid; urgency=low
2846
2847 * debian/patches/210-backport-mod-reqtimeout-ftbfs.dpatch: Add missing mod_reqtime.so
2848 (LP: #562370)
2849
2850 -- Chuck Short <zulcss@ubuntu.com> Tue, 13 Apr 2010 15:09:57 -0400
2851
2852apache2 (2.2.14-5ubuntu7) lucid; urgency=low
2853
2854 * debian/patches/206-fix-potential-memory-leaks.dpatch: Fix potential memory
2855 leaks by making sure to not destroy bucket brigades that have been created
2856 by earlier filters. Backported from 2.2.15.
2857 * debian/patches/206-report-max-client-mpm-worker.dpatch: Don't report server
2858 has reached MaxClients until it has. Backported from 2.2.15
2859 * debian/config-dir/apache2.conf: Make the Files ~ "^\.ht" block in apache2.conf
2860 more secure by adding Satisfy all. (Debian bug: #572075)
2861 * debian/rules, debian/patches/209-backport-mod-reqtimeout.dpatch,
2862 debian/config2-dir/mods-available/reqtimeout.load,
2863 debian/config2-dir/mods-available/reqtimeout.conf debian/NEWS : Backport the
2864 mod-reqtimeout module from 2.2.15, this will mitigate apache slowloris
2865 bug in apache. Enable it by default. (LP: #392759)
2866
2867 -- Chuck Short <zulcss@ubuntu.com> Mon, 05 Apr 2010 09:53:35 -0400
2868
2869apache2 (2.2.14-5ubuntu6) lucid; urgency=low
2870
2871 * debian/apache2.2-common.apache2.init: Fix thinko. (LP: #551681)
2872
2873 -- Chuck Short <zulcss@ubuntu.com> Tue, 30 Mar 2010 09:41:11 -0400
2874
2875apache2 (2.2.14-5ubuntu5) lucid; urgency=low
2876
2877 * Revert 99-fix-mod-dav-permissions.dpatch
2878
2879 -- Chuck Short <zulcss@ubuntu.com> Tue, 30 Mar 2010 07:55:46 -0400
2880
2881apache2 (2.2.14-5ubuntu4) lucid; urgency=low
2882
2883 * debian/patches/99-fix-mod-dav-permissions.dpatch: Fix permisisons when
2884 downloading files from webdav (LP: #540747)
2885 * debian/apache2.2-common.apache2.init: Add graceful restart (LP: #456381)
2886
2887 -- Chuck Short <zulcss@ubuntu.com> Mon, 29 Mar 2010 13:37:39 -0400
2888
2889apache2 (2.2.14-5ubuntu3) lucid; urgency=low
2890
2891 * SECURITY UPDATE: denial of service via crafted request in mod_proxy_ajp
2892 - debian/patches/204_CVE-2010-0408.dpatch: return the right error code
2893 in modules/proxy/mod_proxy_ajp.c.
2894 - CVE-2010-0408
2895 * SECURITY UPDATE: information disclosure via improper handling of
2896 headers in subrequests
2897 - debian/patches/205_CVE-2010-0434.dpatch: use a copy of r->headers_in
2898 in server/protocol.c.
2899 - CVE-2010-0434
2900
2901 -- Marc Deslauriers <marc.deslauriers@ubuntu.com> Wed, 10 Mar 2010 14:48:48 -0500
2902
2903apache2 (2.2.14-5ubuntu2) lucid; urgency=low
2904
2905 * debian/patches/203_fix-ab-segfault.dpatch: Fix segfaulting ab when using really
2906 wacky options. (LP: #450501)
2907
2908 -- Chuck Short <zulcss@ubuntu.com> Mon, 08 Mar 2010 14:53:17 -0500
2909
2910apache2 (2.2.14-5ubuntu1) lucid; urgency=low
2911
2912 * Merge from debian testing. Remaining changes: LP: #506862
2913 - debian/{control, rules}: Enable PIE hardening.
2914 - debian/{control, rules, apache2.2-common.ufw.profile}: Add ufw profiles.
2915 - debian/control: Add bzr tag and point it to our tree.
2916
2917 -- Bhavani Shankar <right2bhavi@gmail.com> Wed, 13 Jan 2010 14:28:41 +0530
2918
1700apache2 (2.2.14-5) unstable; urgency=low2919apache2 (2.2.14-5) unstable; urgency=low
17012920
1702 * Security: Further mitigation for the TLS renegotation attack2921 * Security: Further mitigation for the TLS renegotation attack
@@ -1720,6 +2939,15 @@ apache2 (2.2.14-5) unstable; urgency=low
17202939
1721 -- Stefan Fritsch <sf@debian.org> Sat, 02 Jan 2010 22:44:15 +01002940 -- Stefan Fritsch <sf@debian.org> Sat, 02 Jan 2010 22:44:15 +0100
17222941
2942apache2 (2.2.14-4ubuntu1) lucid; urgency=low
2943
2944 * Resynchronzie with Debian, remaining changes are:
2945 - debian/{control, rules}: Enable PIE hardening.
2946 - debian/{control, rules, pache2.2-common.ufw.profile}: Add ufw profiles.
2947 - debian/control: Add bzr tag and point it to our tree.
2948
2949 -- Chuck Short <zulcss@ubuntu.com> Wed, 23 Dec 2009 14:44:51 -0500
2950
1723apache2 (2.2.14-4) unstable; urgency=low2951apache2 (2.2.14-4) unstable; urgency=low
17242952
1725 * Disable localized error pages again by default because they break2953 * Disable localized error pages again by default because they break
@@ -1770,6 +2998,17 @@ apache2 (2.2.14-2) unstable; urgency=medium
17702998
1771 -- Stefan Fritsch <sf@debian.org> Sat, 07 Nov 2009 14:37:37 +01002999 -- Stefan Fritsch <sf@debian.org> Sat, 07 Nov 2009 14:37:37 +0100
17723000
3001apache2 (2.2.14-1ubuntu1) lucid; urgency=low
3002
3003 * Merge from debian testing, remaining changes:
3004 - debian/{control, rules}: Enable PIE hardening.
3005 - debian/{control, rules, pache2.2-common.ufw.profile}: Add ufw profiles.
3006 - debian/conrol: Add bzr tag and point it to our tree.
3007 - Dropped debian/patches/203_fix_legacy_ap_rputs_segfaults.dpatch:
3008 Already applied upstream.
3009
3010 -- Chuck Short <zulcss@ubuntu.com> Fri, 06 Nov 2009 00:29:03 +0000
3011
1773apache2 (2.2.14-1) unstable; urgency=low3012apache2 (2.2.14-1) unstable; urgency=low
17743013
1775 * New upstream version:3014 * New upstream version:
@@ -1804,6 +3043,24 @@ apache2 (2.2.13-1) unstable; urgency=low
18043043
1805 -- Stefan Fritsch <sf@debian.org> Mon, 31 Aug 2009 20:28:56 +02003044 -- Stefan Fritsch <sf@debian.org> Mon, 31 Aug 2009 20:28:56 +0200
18063045
3046apache2 (2.2.12-1ubuntu2) karmic; urgency=low
3047
3048 * debian/patches/203_fix_legacy_ap_rputs_segfaults.dpatch:
3049 - Fix potential segfaults with the use of the legacy ap_rputs() etc
3050 interfaces, in cases where an output filter fails. This happens
3051 frequently after CVE-2009-1891 got fixed. (LP: #409987)
3052
3053 -- Marc Deslauriers <marc.deslauriers@ubuntu.com> Mon, 17 Aug 2009 15:38:47 -0400
3054
3055apache2 (2.2.12-1ubuntu1) karmic; urgency=low
3056
3057 * Merge from debian unstable, remaining changes:
3058 - debian/{control,rules}: enable PIE hardening.
3059 - debian/{control, rules, apache2.2-common.ufw.profile}: add ufw profiles.
3060 - Dropped debian/patches/203_fix-ssl-timeftm-ignored.dpatch.
3061
3062 -- Chuck Short <zulcss@ubuntu.com> Tue, 04 Aug 2009 20:04:24 +0100
3063
1807apache2 (2.2.12-1) unstable; urgency=low3064apache2 (2.2.12-1) unstable; urgency=low
18083065
1809 * New upstream release:3066 * New upstream release:
@@ -1851,6 +3108,16 @@ apache2 (2.2.12-1) unstable; urgency=low
18513108
1852 -- Stefan Fritsch <sf@debian.org> Tue, 04 Aug 2009 11:02:34 +02003109 -- Stefan Fritsch <sf@debian.org> Tue, 04 Aug 2009 11:02:34 +0200
18533110
3111apache2 (2.2.11-7ubuntu1) karmic; urgency=low
3112
3113 * Merge from debian unstable, remaining changes: LP: #398130
3114 - debian/patches/203_fix-ssl-timeftm-ignored.dpatch:
3115 Fix timefmt is ignored when XBitHack is on. (LP: #258914)
3116 - debian/{control,rules}: enable PIE hardening.
3117 - debian/{control, rules, apache2.2-common.ufw.profile}: add ufw profiles.
3118
3119 -- Bhavani Shankar <right2bhavi@gmail.com> Sat, 11 Jul 2009 16:34:32 +0530
3120
1854apache2 (2.2.11-7) unstable; urgency=low3121apache2 (2.2.11-7) unstable; urgency=low
18553122
1856 * Security fixes:3123 * Security fixes:
@@ -1865,6 +3132,16 @@ apache2 (2.2.11-7) unstable; urgency=low
18653132
1866 -- Stefan Fritsch <sf@debian.org> Fri, 10 Jul 2009 22:42:57 +02003133 -- Stefan Fritsch <sf@debian.org> Fri, 10 Jul 2009 22:42:57 +0200
18673134
3135apache2 (2.2.11-6ubuntu1) karmic; urgency=low
3136
3137 * Merge from debian unstable, remaining changes:
3138 - debian/patches/203_fix-ssl-timeftm-ignored.dpatch:
3139 Fix timefmt is ignored when XBitHack is on. (LP: #258914)
3140 - debian/{control,rules}: enable PIE hardening.
3141 - debian/{control, rules, apache2.2-common.ufw.profile}: add ufw profiles.
3142
3143 -- Chuck Short <zulcss@ubuntu.com> Tue, 09 Jun 2009 01:01:23 +0100
3144
1868apache2 (2.2.11-6) unstable; urgency=high3145apache2 (2.2.11-6) unstable; urgency=high
18693146
1870 * CVE-2009-1195: mod_include allowed to bypass IncludesNoExec for Server3147 * CVE-2009-1195: mod_include allowed to bypass IncludesNoExec for Server
@@ -1873,6 +3150,16 @@ apache2 (2.2.11-6) unstable; urgency=high
18733150
1874 -- Stefan Fritsch <sf@debian.org> Mon, 08 Jun 2009 19:22:58 +02003151 -- Stefan Fritsch <sf@debian.org> Mon, 08 Jun 2009 19:22:58 +0200
18753152
3153apache2 (2.2.11-5ubuntu1) karmic; urgency=low
3154
3155 * Merge from debian unstable, remaining changes:
3156 - debian/patches/203_fix-ssi-timeftm-ignored.dpatch:
3157 Fix timefmt is ignored when XBitHack is on. (LP: #258914)
3158 - debian/{control,rules}: enable PIE hardening.
3159 - debian/{control, rules, apache2.2-common.ufw.profile}: add ufw profiles.
3160
3161 -- Andrew Mitchell <ajmitch@ubuntu.com> Wed, 03 Jun 2009 14:10:54 +1200
3162
1876apache2 (2.2.11-5) unstable; urgency=low3163apache2 (2.2.11-5) unstable; urgency=low
18773164
1878 * Move all binaries into a new package apache2.2-bin and make3165 * Move all binaries into a new package apache2.2-bin and make
@@ -1921,6 +3208,16 @@ apache2 (2.2.11-4) unstable; urgency=low
19213208
1922 -- Stefan Fritsch <sf@debian.org> Tue, 19 May 2009 22:55:27 +02003209 -- Stefan Fritsch <sf@debian.org> Tue, 19 May 2009 22:55:27 +0200
19233210
3211apache2 (2.2.11-3ubuntu1) karmic; urgency=low
3212
3213 * Merge from debian unstable, remaining changes:
3214 - debian/patches/203_fix-ssi-timeftm-ignored.dpatch:
3215 Fix timefmt is ignored when XBitHack is on. (LP: #258914)
3216 - debian/{control,rules}: enable PIE hardening.
3217 - debian/{control, rules, apache2.2-common.ufw.profile}: add ufw profiles.
3218
3219 -- Andrew Mitchell <ajmitch@ubuntu.com> Tue, 12 May 2009 16:15:34 +1200
3220
1924apache2 (2.2.11-3) unstable; urgency=low3221apache2 (2.2.11-3) unstable; urgency=low
19253222
1926 * Rebuild against apr-util 1.3, to fix undefined symbol errors in mod_ldap3223 * Rebuild against apr-util 1.3, to fix undefined symbol errors in mod_ldap
@@ -1929,6 +3226,21 @@ apache2 (2.2.11-3) unstable; urgency=low
19293226
1930 -- Stefan Fritsch <sf@debian.org> Tue, 31 Mar 2009 21:07:26 +02003227 -- Stefan Fritsch <sf@debian.org> Tue, 31 Mar 2009 21:07:26 +0200
19313228
3229apache2 (2.2.11-2ubuntu2) jaunty; urgency=low
3230
3231 * debian/patches/203_fix-ssi-timeftm-ignored.dpatch:
3232 Fix timefmt is ignored when XBitHack is on. (LP: #258914)
3233
3234 -- Chuck Short <zulcss@ubuntu.com> Wed, 01 Apr 2009 11:39:17 -0400
3235
3236apache2 (2.2.11-2ubuntu1) jaunty; urgency=low
3237
3238 * Merge from debian unstable, remaining changes:
3239 - debian/{contro,rules}: enable PIE hardening.
3240 - debian/{control, rules, apache2.2-common.ufw.profile}: add ufw profiles.
3241
3242 -- Chuck Short <zulcss@ubuntu.com> Sat, 17 Jan 2009 00:02:55 +0000
3243
1932apache2 (2.2.11-2) unstable; urgency=low3244apache2 (2.2.11-2) unstable; urgency=low
19333245
1934 * Report an error instead instead of segfaulting when apr_pollset_create3246 * Report an error instead instead of segfaulting when apr_pollset_create
@@ -1938,6 +3250,14 @@ apache2 (2.2.11-2) unstable; urgency=low
19383250
1939 -- Stefan Fritsch <sf@debian.org> Fri, 16 Jan 2009 19:01:59 +01003251 -- Stefan Fritsch <sf@debian.org> Fri, 16 Jan 2009 19:01:59 +0100
19403252
3253apache2 (2.2.11-1ubuntu1) jaunty; urgency=low
3254
3255 * Merge from debian unstable, remaining changes:
3256 - debian/{control, rules}: enable PIE hardening.
3257 - debian/{control, rules, apache2.2-common.ufw.profile}: add ufw profiles.
3258
3259 -- Chuck Short <zulcss@ubuntu.com> Mon, 15 Dec 2008 00:06:50 +0000
3260
1941apache2 (2.2.11-1) unstable; urgency=low3261apache2 (2.2.11-1) unstable; urgency=low
19423262
1943 [Thom May]3263 [Thom May]
@@ -1952,6 +3272,14 @@ apache2 (2.2.11-1) unstable; urgency=low
19523272
1953 -- Stefan Fritsch <sf@debian.org> Sun, 14 Dec 2008 09:34:24 +01003273 -- Stefan Fritsch <sf@debian.org> Sun, 14 Dec 2008 09:34:24 +0100
19543274
3275apache2 (2.2.9-11ubuntu1) jaunty; urgency=low
3276
3277 * Merge from debian unstable, remaining changes: (LP: #303375)
3278 - debian/{control, rules}: enable PIE hardening.
3279 - debian/{control, rules, apache2.2-common.ufw.profile}: add ufw profiles.
3280
3281 -- Bhavani Shankar <right2bhavi@gmail.com> Sat, 29 Nov 2008 14:02:31 +0530
3282
1955apache2 (2.2.9-11) unstable; urgency=low3283apache2 (2.2.9-11) unstable; urgency=low
19563284
1957 * Regression fix from upstream svn for mod_proxy:3285 * Regression fix from upstream svn for mod_proxy:
@@ -1966,6 +3294,14 @@ apache2 (2.2.9-11) unstable; urgency=low
19663294
1967 -- Stefan Fritsch <sf@debian.org> Wed, 26 Nov 2008 23:10:22 +01003295 -- Stefan Fritsch <sf@debian.org> Wed, 26 Nov 2008 23:10:22 +0100
19683296
3297apache2 (2.2.9-10ubuntu1) jaunty; urgency=low
3298
3299 * Merge from debian unstable, remaining changes:
3300 - debian/{control, rules}: enable PIE hardening.
3301 - debian/{control, rules, apache2.2-common.ufw.profile}: add ufw profiles.
3302
3303 -- Chuck Short <zulcss@ubuntu.com> Wed, 05 Nov 2008 02:23:18 -0400
3304
1969apache2 (2.2.9-10) unstable; urgency=low3305apache2 (2.2.9-10) unstable; urgency=low
19703306
1971 * Regression fix from upstream svn for mod_proxy_http:3307 * Regression fix from upstream svn for mod_proxy_http:
@@ -1996,6 +3332,27 @@ apache2 (2.2.9-8) unstable; urgency=low
19963332
1997 -- Stefan Fritsch <sf@debian.org> Thu, 11 Sep 2008 09:17:33 +02003333 -- Stefan Fritsch <sf@debian.org> Thu, 11 Sep 2008 09:17:33 +0200
19983334
3335apache2 (2.2.9-7ubuntu3) intrepid; urgency=low
3336
3337 * Revert logrotate change since it will break it for everyone.
3338
3339 -- Chuck Short <zulcss@ubuntu.com> Fri, 19 Sep 2008 09:32:01 -0400
3340
3341apache2 (2.2.9-7ubuntu2) intrepid; urgency=low
3342
3343 * debian/logrotate: Restart rather than reload for busy websites.
3344 (LP: #270899)
3345
3346 -- Chuck Short <zulcss@ubuntu.com> Thu, 18 Sep 2008 08:42:22 -0400
3347
3348apache2 (2.2.9-7ubuntu1) intrepid; urgency=low
3349
3350 * Merge from debian unstable, remaining changes:
3351 - debian/{control,rules}: enable PIE hardening.
3352 - debian/{control,rules,apache2.2-common.ufw.profile}: add ufw profiles.
3353
3354 -- Kees Cook <kees@ubuntu.com> Thu, 28 Aug 2008 08:10:59 -0700
3355
1999apache2 (2.2.9-7) unstable; urgency=low3356apache2 (2.2.9-7) unstable; urgency=low
20003357
2001 * Fix XSS in mod_proxy_ftp (CVE-2008-2939).3358 * Fix XSS in mod_proxy_ftp (CVE-2008-2939).
@@ -2038,6 +3395,23 @@ apache2 (2.2.9-4) unstable; urgency=low
20383395
2039 -- Stefan Fritsch <sf@debian.org> Sun, 06 Jul 2008 10:38:37 +02003396 -- Stefan Fritsch <sf@debian.org> Sun, 06 Jul 2008 10:38:37 +0200
20403397
3398apache2 (2.2.9-3ubuntu2) intrepid; urgency=low
3399
3400 * add ufw integration (see
3401 https://wiki.ubuntu.com/UbuntuFirewall#Integrating%20UFW%20with%20Packages)
3402 (LP: #261198)
3403 - debian/control: suggest ufw for apache2.2-common
3404 - add apache2.2-common.ufw.profile with 3 profiles and install it to
3405 /etc/ufw/applications.d/apache2.2-common
3406
3407 -- Didier Roche <didrocks@ubuntu-fr.org> Tue, 26 Aug 2008 19:03:42 +0200
3408
3409apache2 (2.2.9-3ubuntu1) intrepid; urgency=low
3410
3411 * debian/{control,rules}: enable PIE hardening
3412
3413 -- Kees Cook <kees@ubuntu.com> Wed, 20 Aug 2008 15:45:00 -0700
3414
2041apache2 (2.2.9-3) unstable; urgency=low3415apache2 (2.2.9-3) unstable; urgency=low
20423416
2043 [ Stefan Fritsch ]3417 [ Stefan Fritsch ]
@@ -4118,3 +5492,4 @@ apache2 (2.0.18-1) unstable; urgency=low
4118 * Initial Release.5492 * Initial Release.
41195493
4120 -- Daniel Stone <daniel@sfarc.net> Wed, 4 Jul 2001 21:29:29 +10005494 -- Daniel Stone <daniel@sfarc.net> Wed, 4 Jul 2001 21:29:29 +1000
5495
diff --git a/debian/config-dir/mods-available/md.load b/debian/config-dir/mods-available/md.load
4121deleted file mode 1006445496deleted file mode 100644
index 812a6a6..0000000
--- a/debian/config-dir/mods-available/md.load
+++ /dev/null
@@ -1 +0,0 @@
1LoadModule md_module /usr/lib/apache2/modules/mod_md.so
diff --git a/debian/control b/debian/control
index a72cfff..05adf99 100644
--- a/debian/control
+++ b/debian/control
@@ -1,7 +1,8 @@
1Source: apache21Source: apache2
2Section: httpd2Section: httpd
3Priority: optional3Priority: optional
4Maintainer: Debian Apache Maintainers <debian-apache@lists.debian.org>4Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
5XSBC-Original-Maintainer: Debian Apache Maintainers <debian-apache@lists.debian.org>
5Uploaders: Stefan Fritsch <sf@debian.org>,6Uploaders: Stefan Fritsch <sf@debian.org>,
6 Arno Töll <arno@debian.org>,7 Arno Töll <arno@debian.org>,
7 Ondřej Surý <ondrej@debian.org>8 Ondřej Surý <ondrej@debian.org>
@@ -18,9 +19,7 @@ Build-Depends: debhelper (>= 9.20160709~),
18 libxml2-dev,19 libxml2-dev,
19 lsb-release,20 lsb-release,
20 perl,21 perl,
21 zlib1g-dev,22 zlib1g-dev
22 libcurl4-openssl-dev | libcurl4-dev,
23 libjansson-dev
24Build-Conflicts: autoconf2.1323Build-Conflicts: autoconf2.13
25Standards-Version: 4.1.224Standards-Version: 4.1.2
26Vcs-Browser: https://salsa.debian.org/apache-team/apache225Vcs-Browser: https://salsa.debian.org/apache-team/apache2
@@ -44,15 +43,14 @@ Provides: httpd,
44Recommends: ssl-cert43Recommends: ssl-cert
45Conflicts: apache2.2-bin,44Conflicts: apache2.2-bin,
46 apache2.2-common45 apache2.2-common
47Breaks: libapache2-mod-md (<< 2.4.33),46Breaks: libapache2-mod-proxy-uwsgi (<< 2.4.33)
48 libapache2-mod-proxy-uwsgi (<< 2.4.33)
49Replaces: apache2.2-bin,47Replaces: apache2.2-bin,
50 apache2.2-common,48 apache2.2-common,
51 libapache2-mod-md (<< 2.4.33),
52 libapache2-mod-proxy-uwsgi (<< 2.4.33)49 libapache2-mod-proxy-uwsgi (<< 2.4.33)
53Suggests: apache2-doc,50Suggests: apache2-doc,
54 apache2-suexec-pristine | apache2-suexec-custom,51 apache2-suexec-pristine | apache2-suexec-custom,
55 www-browser52 www-browser,
53 ufw
56Description: Apache HTTP Server54Description: Apache HTTP Server
57 The Apache HTTP Server Project's goal is to build a secure, efficient and55 The Apache HTTP Server Project's goal is to build a secure, efficient and
58 extensible HTTP server as standards-compliant open source software. The56 extensible HTTP server as standards-compliant open source software. The
@@ -81,10 +79,8 @@ Depends: ${misc:Depends},
81Provides: ${apache2:API}79Provides: ${apache2:API}
82Breaks: gridsite (<< 3.0.0~20170225gitd51b2fd-1~),80Breaks: gridsite (<< 3.0.0~20170225gitd51b2fd-1~),
83 libapache2-mod-dacs (<= 1.4.38a-2),81 libapache2-mod-dacs (<= 1.4.38a-2),
84 libapache2-mod-md (<< 2.4.33),
85 libapache2-mod-proxy-uwsgi (<< 2.4.33)82 libapache2-mod-proxy-uwsgi (<< 2.4.33)
86Replaces: libapache2-mod-md (<< 2.4.33),83Replaces: libapache2-mod-proxy-uwsgi (<< 2.4.33)
87 libapache2-mod-proxy-uwsgi (<< 2.4.33)
88Suggests: apache2-doc,84Suggests: apache2-doc,
89 apache2-suexec-pristine | apache2-suexec-custom,85 apache2-suexec-pristine | apache2-suexec-custom,
90 www-browser86 www-browser
@@ -210,14 +206,6 @@ Description: Apache debugging symbols
210 crashing server instances and modules. See206 crashing server instances and modules. See
211 /usr/share/doc/apache2/README.backtrace for more information.207 /usr/share/doc/apache2/README.backtrace for more information.
212208
213Package: libapache2-mod-md
214Architecture: any
215Section: oldlibs
216Depends: ${misc:Depends}, apache2 (= ${binary:Version})
217Description: transitional package
218 This is a transitional package to apache2 for users of libapache2-mod-md.
219 It can be safely removed after the installation is complete.
220
221Package: libapache2-mod-proxy-uwsgi209Package: libapache2-mod-proxy-uwsgi
222Architecture: any210Architecture: any
223Section: oldlibs211Section: oldlibs
diff --git a/debian/icons/ubuntu-logo.png b/debian/icons/ubuntu-logo.png
224new file mode 100644212new file mode 100644
index 0000000..4db2fa1
225Binary files /dev/null and b/debian/icons/ubuntu-logo.png differ213Binary files /dev/null and b/debian/icons/ubuntu-logo.png differ
diff --git a/debian/index.html b/debian/index.html
index 766401d..96ed444 100644
--- a/debian/index.html
+++ b/debian/index.html
@@ -1,9 +1,14 @@
11
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml">3<html xmlns="http://www.w3.org/1999/xhtml">
4 <!--
5 Modified from the Debian original for Ubuntu
6 Last updated: 2016-11-16
7 See: https://launchpad.net/bugs/1288690
8 -->
4 <head>9 <head>
5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />10 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
6 <title>Apache2 Debian Default Page: It works</title>11 <title>Apache2 Ubuntu Default Page: It works</title>
7 <style type="text/css" media="screen">12 <style type="text/css" media="screen">
8 * {13 * {
9 margin: 0px 0px 0px 0px;14 margin: 0px 0px 0px 0px;
@@ -188,9 +193,9 @@
188 <body>193 <body>
189 <div class="main_page">194 <div class="main_page">
190 <div class="page_header floating_element">195 <div class="page_header floating_element">
191 <img src="/icons/openlogo-75.png" alt="Debian Logo" class="floating_element"/>196 <img src="/icons/ubuntu-logo.png" alt="Ubuntu Logo" class="floating_element"/>
192 <span class="floating_element">197 <span class="floating_element">
193 Apache2 Debian Default Page198 Apache2 Ubuntu Default Page
194 </span>199 </span>
195 </div>200 </div>
196<!-- <div class="table_of_contents floating_element">201<!-- <div class="table_of_contents floating_element">
@@ -221,7 +226,9 @@
221 <div class="content_section_text">226 <div class="content_section_text">
222 <p>227 <p>
223 This is the default welcome page used to test the correct 228 This is the default welcome page used to test the correct
224 operation of the Apache2 server after installation on Debian systems.229 operation of the Apache2 server after installation on Ubuntu systems.
230 It is based on the equivalent page on Debian, from which the Ubuntu Apache
231 packaging is derived.
225 If you can read this page, it means that the Apache HTTP server installed at232 If you can read this page, it means that the Apache HTTP server installed at
226 this site is working properly. You should <b>replace this file</b> (located at233 this site is working properly. You should <b>replace this file</b> (located at
227 <tt>/var/www/html/index.html</tt>) before continuing to operate your HTTP server.234 <tt>/var/www/html/index.html</tt>) before continuing to operate your HTTP server.
@@ -242,9 +249,9 @@
242 </div>249 </div>
243 <div class="content_section_text">250 <div class="content_section_text">
244 <p>251 <p>
245 Debian's Apache2 default configuration is different from the252 Ubuntu's Apache2 default configuration is different from the
246 upstream default configuration, and split into several files optimized for253 upstream default configuration, and split into several files optimized for
247 interaction with Debian tools. The configuration system is254 interaction with Ubuntu tools. The configuration system is
248 <b>fully documented in255 <b>fully documented in
249 /usr/share/doc/apache2/README.Debian.gz</b>. Refer to this for the full256 /usr/share/doc/apache2/README.Debian.gz</b>. Refer to this for the full
250 documentation. Documentation for the web server itself can be257 documentation. Documentation for the web server itself can be
@@ -253,7 +260,7 @@
253260
254 </p>261 </p>
255 <p>262 <p>
256 The configuration layout for an Apache2 web server installation on Debian systems is as follows:263 The configuration layout for an Apache2 web server installation on Ubuntu systems is as follows:
257 </p>264 </p>
258 <pre>265 <pre>
259/etc/apache2/266/etc/apache2/
@@ -324,7 +331,7 @@
324331
325 <div class="content_section_text">332 <div class="content_section_text">
326 <p>333 <p>
327 By default, Debian does not allow access through the web browser to334 By default, Ubuntu does not allow access through the web browser to
328 <em>any</em> file apart of those located in <tt>/var/www</tt>,335 <em>any</em> file apart of those located in <tt>/var/www</tt>,
329 <a href="http://httpd.apache.org/docs/2.4/mod/mod_userdir.html" rel="nofollow">public_html</a>336 <a href="http://httpd.apache.org/docs/2.4/mod/mod_userdir.html" rel="nofollow">public_html</a>
330 directories (when enabled) and <tt>/usr/share</tt> (for web337 directories (when enabled) and <tt>/usr/share</tt> (for web
@@ -333,7 +340,7 @@
333 document root directory in <tt>/etc/apache2/apache2.conf</tt>.340 document root directory in <tt>/etc/apache2/apache2.conf</tt>.
334 </p>341 </p>
335 <p>342 <p>
336 The default Debian document root is <tt>/var/www/html</tt>. You343 The default Ubuntu document root is <tt>/var/www/html</tt>. You
337 can make your own virtual hosts under /var/www. This is different344 can make your own virtual hosts under /var/www. This is different
338 to previous releases which provides better security out of the box.345 to previous releases which provides better security out of the box.
339 </p>346 </p>
@@ -345,9 +352,9 @@
345 </div>352 </div>
346 <div class="content_section_text">353 <div class="content_section_text">
347 <p>354 <p>
348 Please use the <tt>reportbug</tt> tool to report bugs in the355 Please use the <tt>ubuntu-bug</tt> tool to report bugs in the
349 Apache2 package with Debian. However, check <a356 Apache2 package with Ubuntu. However, check <a
350 href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?ordering=normal;archive=0;src=apache2;repeatmerged=0"357 href="https://bugs.launchpad.net/ubuntu/+source/apache2"
351 rel="nofollow">existing bug reports</a> before reporting a new bug.358 rel="nofollow">existing bug reports</a> before reporting a new bug.
352 </p>359 </p>
353 <p>360 <p>
diff --git a/debian/patches/086_svn_cross_compiles b/debian/patches/086_svn_cross_compiles
354new file mode 100644361new file mode 100644
index 0000000..b237908
--- /dev/null
+++ b/debian/patches/086_svn_cross_compiles
@@ -0,0 +1,118 @@
1Description: Pull upstream fixes for autotools for cross-compiling
2Author: Adam Conrad <adconrad@ubuntu.com>
3Origin: upstream, http://svn.eu.apache.org/viewvc?view=revision&revision=1328445
4Origin: upstream, http://svn.eu.apache.org/viewvc?view=revision&revision=1327907
5Origin: upstream, http://svn.eu.apache.org/viewvc?view=revision&revision=1328390
6Origin: upstream, http://svn.eu.apache.org/viewvc?view=revision&revision=1328714
7Forwarded: not-needed
8
9Index: apache2-2.4.29/acinclude.m4
10===================================================================
11--- apache2-2.4.29.orig/acinclude.m4 2017-11-10 10:56:51.488205250 -0500
12+++ apache2-2.4.29/acinclude.m4 2017-11-10 10:56:51.484205199 -0500
13@@ -55,6 +55,8 @@ AC_DEFUN([APACHE_GEN_CONFIG_VARS],[
14 APACHE_SUBST(CPPFLAGS)
15 APACHE_SUBST(CFLAGS)
16 APACHE_SUBST(CXXFLAGS)
17+ APACHE_SUBST(CC_FOR_BUILD)
18+ APACHE_SUBST(CFLAGS_FOR_BUILD)
19 APACHE_SUBST(LTFLAGS)
20 APACHE_SUBST(LDFLAGS)
21 APACHE_SUBST(LT_LDFLAGS)
22@@ -697,7 +699,7 @@ int main(void)
23 {
24 return sizeof(void *) < sizeof(long);
25 }], [ap_cv_void_ptr_lt_long=no], [ap_cv_void_ptr_lt_long=yes],
26- [ap_cv_void_ptr_lt_long=yes])])
27+ [ap_cv_void_ptr_lt_long="cross compile - not checked"])])
28
29 if test "$ap_cv_void_ptr_lt_long" = "yes"; then
30 AC_MSG_ERROR([Size of "void *" is less than size of "long"])
31Index: apache2-2.4.29/configure
32===================================================================
33--- apache2-2.4.29.orig/configure 2017-11-10 10:56:51.488205250 -0500
34+++ apache2-2.4.29/configure 2017-11-10 10:56:51.488205250 -0500
35@@ -662,6 +662,8 @@ HTTPD_LDFLAGS
36 SH_LDFLAGS
37 LT_LDFLAGS
38 LTFLAGS
39+CFLAGS_FOR_BUILD
40+CC_FOR_BUILD
41 CXXFLAGS
42 CXX
43 other_targets
44@@ -6071,6 +6073,12 @@ fi
45
46
47
48+if test "x${build_alias}" != "x${host_alias}"; then
49+ if test "x${CC_FOR_BUILD}" = "x"; then
50+ CC_FOR_BUILD=cc
51+ fi
52+fi
53+
54 if test "x${cache_file}" = "x/dev/null"; then
55 # Likewise, ensure that CC and CPP are passed through to the pcre
56 # configure script iff caching is disabled (the autoconf 2.5x default).
57@@ -7698,7 +7706,7 @@ if ${ap_cv_void_ptr_lt_long+:} false; th
58 $as_echo_n "(cached) " >&6
59 else
60 if test "$cross_compiling" = yes; then :
61- ap_cv_void_ptr_lt_long=yes
62+ ap_cv_void_ptr_lt_long="cross compile - not checked"
63 else
64 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
65 /* end confdefs.h. */
66@@ -37522,6 +37530,14 @@ $as_echo "$as_me: " >&6;}
67
68
69
70+ APACHE_VAR_SUBST="$APACHE_VAR_SUBST CC_FOR_BUILD"
71+
72+
73+
74+ APACHE_VAR_SUBST="$APACHE_VAR_SUBST CFLAGS_FOR_BUILD"
75+
76+
77+
78 APACHE_VAR_SUBST="$APACHE_VAR_SUBST LTFLAGS"
79
80
81Index: apache2-2.4.29/configure.in
82===================================================================
83--- apache2-2.4.29.orig/configure.in 2017-11-10 10:56:51.488205250 -0500
84+++ apache2-2.4.29/configure.in 2017-11-10 10:56:51.488205250 -0500
85@@ -206,6 +206,14 @@ AC_PROG_CPP
86 dnl Try to get c99 support for variadic macros
87 ifdef([AC_PROG_CC_C99], [AC_PROG_CC_C99])
88
89+dnl In case of cross compilation we set CC_FOR_BUILD to cc unless
90+dnl we got already CC_FOR_BUILD from environment.
91+if test "x${build_alias}" != "x${host_alias}"; then
92+ if test "x${CC_FOR_BUILD}" = "x"; then
93+ CC_FOR_BUILD=cc
94+ fi
95+fi
96+
97 if test "x${cache_file}" = "x/dev/null"; then
98 # Likewise, ensure that CC and CPP are passed through to the pcre
99 # configure script iff caching is disabled (the autoconf 2.5x default).
100Index: apache2-2.4.29/server/Makefile.in
101===================================================================
102--- apache2-2.4.29.orig/server/Makefile.in 2017-11-10 10:56:51.488205250 -0500
103+++ apache2-2.4.29/server/Makefile.in 2017-11-10 10:56:51.488205250 -0500
104@@ -24,9 +24,14 @@ TARGETS = delete-exports $(LTLIBRARY_NAM
105 include $(top_builddir)/build/rules.mk
106 include $(top_srcdir)/build/library.mk
107
108+ifdef CC_FOR_BUILD
109+gen_test_char: gen_test_char.c
110+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -DCROSS_COMPILE -o $@ $<
111+else
112 gen_test_char_OBJECTS = gen_test_char.lo
113 gen_test_char: $(gen_test_char_OBJECTS)
114 $(LINK) $(EXTRA_LDFLAGS) $(gen_test_char_OBJECTS) $(EXTRA_LIBS)
115+endif
116
117 test_char.h: gen_test_char
118 ./gen_test_char > test_char.h
diff --git a/debian/patches/series b/debian/patches/series
index 145853d..6e33289 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -9,3 +9,6 @@ reproducible_builds.diff
9#suexec-custom.patch9#suexec-custom.patch
1010
11remove_mod_lbmethod_load_order_dependency.diff11remove_mod_lbmethod_load_order_dependency.diff
12
13# Patches added by Ubuntu
14086_svn_cross_compiles
diff --git a/debian/rules b/debian/rules
index e2d693c..5654762 100755
--- a/debian/rules
+++ b/debian/rules
@@ -113,6 +113,7 @@ configure-stamp: prebuild-checks-stamp support/suexec-custom.c
113 --with-apr=/usr/bin/apr-1-config --with-apr-util=/usr/bin/apu-1-config \113 --with-apr=/usr/bin/apr-1-config --with-apr-util=/usr/bin/apu-1-config \
114 --with-pcre=yes \114 --with-pcre=yes \
115 --enable-pie \115 --enable-pie \
116 --disable-md \
116 --enable-mpms-shared=all \117 --enable-mpms-shared=all \
117 --enable-mods-shared="all brotli cgi ident authnz_fcgi imagemap cern_meta proxy_fdpass proxy_http2 bucketeer case_filter case_filter_in" \118 --enable-mods-shared="all brotli cgi ident authnz_fcgi imagemap cern_meta proxy_fdpass proxy_http2 bucketeer case_filter case_filter_in" \
118 --enable-mods-static="unixd logio watchdog version" \119 --enable-mods-static="unixd logio watchdog version" \
@@ -177,7 +178,7 @@ override_dh_installdocs-indep:
177 dh_installdocs -i178 dh_installdocs -i
178179
179override_dh_installdocs-arch:180override_dh_installdocs-arch:
180 dh_installdocs --link-doc=apache2 -papache2 -papache2-dbg -plibapache2-mod-md -plibapache2-mod-proxy-uwsgi181 dh_installdocs --link-doc=apache2 -papache2 -papache2-dbg -plibapache2-mod-proxy-uwsgi
181 dh_installdocs --link-doc=apache2-dev -papache2-ssl-dev182 dh_installdocs --link-doc=apache2-dev -papache2-ssl-dev
182 dh_installdocs -a183 dh_installdocs -a
183184
diff --git a/debian/source/include-binaries b/debian/source/include-binaries
index b6a30fe..c9128c9 100644
--- a/debian/source/include-binaries
+++ b/debian/source/include-binaries
@@ -16,6 +16,7 @@ debian/icons/odf6odp-20x22.png
16debian/icons/odf6otp-20x22.png16debian/icons/odf6otp-20x22.png
17debian/icons/odf6oth-20x22.png17debian/icons/odf6oth-20x22.png
18debian/icons/openlogo-75.png18debian/icons/openlogo-75.png
19debian/icons/ubuntu-logo.png
19debian/upstream/signing-key.pgp20debian/upstream/signing-key.pgp
20debian/perl-framework/t/htdocs/apache/acceptpathinfo/index.shtml21debian/perl-framework/t/htdocs/apache/acceptpathinfo/index.shtml
21debian/perl-framework/t/htdocs/apache/acceptpathinfo/info.php22debian/perl-framework/t/htdocs/apache/acceptpathinfo/info.php
diff --git a/debian/tests/check-http2 b/debian/tests/check-http2
22new file mode 10064423new file mode 100644
index 0000000..6bc9125
--- /dev/null
+++ b/debian/tests/check-http2
@@ -0,0 +1,41 @@
1#!/bin/sh
2set -uxe
3
4# http2 is rather new, check that it at least generally works
5# Author: Christian Ehrhardt <christian.ehrhardt@canonical.com>
6
7a2enmod http2
8a2enmod ssl
9a2ensite default-ssl
10# Enable globally
11echo "Protocols h2c h2 http/1.1" >> /etc/apache2/apache2.conf
12service apache2 restart
13
14# Use curl here. wget doesn't work on Debian, even with --no-check-certificate
15# wget on Debian gives me:
16# GnuTLS: A TLS warning alert has been received.
17# Unable to establish SSL connection.
18# Presumably this is due to the self-signed certificate, but I'm not sure how
19# to skip the warning with wget. curl will do for now.
20echo "Hello, world!" > /var/www/html/hello.txt
21
22testapache () {
23 cmd="${1}"
24 result=$(${cmd})
25
26 if [ "$result" != "Hello, world!" ]; then
27 echo "Unexpected result: ${result}" >&2
28 exit 1
29 else
30 echo OK
31 fi
32}
33
34# https shall not affect http
35testapache "curl -s -k http://localhost/hello.txt"
36# https shall not affect https
37testapache "curl -s -k https://localhost/hello.txt"
38#plain http2
39testapache "nghttp --no-verify-peer https://localhost/hello.txt"
40#http2 upgrade
41testapache "nghttp -u --no-verify-peer http://localhost/hello.txt"
diff --git a/debian/tests/control b/debian/tests/control
index fb913b5..230f19e 100644
--- a/debian/tests/control
+++ b/debian/tests/control
@@ -23,6 +23,10 @@ Tests: ssl-passphrase
23Restrictions: needs-root allow-stderr breaks-testbed23Restrictions: needs-root allow-stderr breaks-testbed
24Depends: apache2, curl, expect, ssl-cert24Depends: apache2, curl, expect, ssl-cert
2525
26Tests: check-http2
27Restrictions: needs-root allow-stderr breaks-testbed
28Depends: apache2, curl, ssl-cert, nghttp2-client
29
26Tests: chroot30Tests: chroot
27Features: no-build-needed31Features: no-build-needed
28Restrictions: needs-root allow-stderr breaks-testbed32Restrictions: needs-root allow-stderr breaks-testbed
diff --git a/docs/manual/style/latex/atbeginend.sty b/docs/manual/style/latex/atbeginend.sty
29new file mode 10064433new file mode 100644
index 0000000..79b555d
--- /dev/null
+++ b/docs/manual/style/latex/atbeginend.sty
@@ -0,0 +1,80 @@
1% atbeginend.sty
2%
3% Licensed to the Apache Software Foundation (ASF) under one or more
4% contributor license agreements. See the NOTICE file distributed with
5% this work for additional information regarding copyright ownership.
6% The ASF licenses this file to You under the Apache License, Version 2.0
7% (the "License"); you may not use this file except in compliance with
8% the License. You may obtain a copy of the License at
9%
10% http://www.apache.org/licenses/LICENSE-2.0
11%
12% Unless required by applicable law or agreed to in writing, software
13% distributed under the License is distributed on an "AS IS" BASIS,
14% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15% See the License for the specific language governing permissions and
16% limitations under the License.
17
18% defines
19% \BeforeBegin{environment}{code-to-execute}
20% \BeforeEnd {environment}{code-to-execute}
21% \AfterBegin {environment}{code-to-execute}
22% \AfterEnd {environment}{code-to-execute}
23%
24% Save \begin and \end to \BeginEnvironment and \EndEnvironment
25\let\BeginEnvironment=\begin
26\let\EndEnvironment=\end
27
28\def\IfUnDef#1{\expandafter\ifx\csname#1\endcsname\relax}
29
30% Null command needed to for \nothing{something}=.nothing.
31\def\NullCom#1{}
32
33\def\begin#1{%
34%
35% if defined \BeforeBeg for this environment, execute it
36\IfUnDef{BeforeBeg#1}\else\csname BeforeBeg#1\endcsname\fi%
37%
38%
39%
40\IfUnDef{AfterBeg#1}% This is done to skip the command for environments
41 % which can take arguments, like multicols; YOU MUST NOT
42 % USE \AfterBegin{...}{...} for such environments!
43 \let\SaveBegEng=\BeginEnvironment%
44\else%
45 % Start this environment
46 \BeginEnvironment{#1}%
47 % and execute code after \begin{environment}
48 \csname AfterBeg#1\endcsname%
49 %
50 \let\SaveBegEng=\NullCom%
51\fi%
52\SaveBegEng{#1}%
53}
54
55
56\def\end#1{%
57%
58% execute code before \end{environment}
59\IfUnDef{BeforeEnd#1}\else\csname BeforeEnd#1\endcsname\fi%
60%
61% close this environment
62\EndEnvironment{#1}%
63%
64% and execute code after \begin{environment}
65\IfUnDef{AfterEnd#1}\else\csname AfterEnd#1\endcsname\fi%
66}
67
68
69%% Now, define commands
70% \BeforeBegin{environment}{code-to-execute}
71% \BeforeEnd {environment}{code-to-execute}
72% \AfterBegin {environment}{code-to-execute}
73% \AfterEnd {environment}{code-to-execute}
74
75\def\BeforeBegin#1#2{\expandafter\gdef\csname BeforeBeg#1\endcsname
76{#2}}
77\def\BeforeEnd #1#2{\expandafter\gdef\csname BeforeEnd#1\endcsname
78{#2}}
79\def\AfterBegin #1#2{\expandafter\gdef\csname AfterBeg#1\endcsname {#2}}
80\def\AfterEnd #1#2{\expandafter\gdef\csname AfterEnd#1\endcsname{#2}}
diff --git a/docs/manual/style/manualpage.dtd b/docs/manual/style/manualpage.dtd
0new file mode 10064481new file mode 100644
index 0000000..e9c22a0
--- /dev/null
+++ b/docs/manual/style/manualpage.dtd
@@ -0,0 +1,29 @@
1<?xml version='1.0' encoding='UTF-8' ?>
2
3<!--
4 Licensed to the Apache Software Foundation (ASF) under one or more
5 contributor license agreements. See the NOTICE file distributed with
6 this work for additional information regarding copyright ownership.
7 The ASF licenses this file to You under the Apache License, Version 2.0
8 (the "License"); you may not use this file except in compliance with
9 the License. You may obtain a copy of the License at
10
11 http://www.apache.org/licenses/LICENSE-2.0
12
13 Unless required by applicable law or agreed to in writing, software
14 distributed under the License is distributed on an "AS IS" BASIS,
15 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 See the License for the specific language governing permissions and
17 limitations under the License.
18-->
19
20<!ENTITY % common SYSTEM "common.dtd">
21%common;
22
23<!-- <manualpage> is the root element -->
24<!ELEMENT manualpage (parentdocument?, title, summary?,
25seealso*, section*)>
26
27<!ATTLIST manualpage metafile CDATA #REQUIRED
28 upgrade CDATA #IMPLIED
29>
diff --git a/docs/manual/style/modulesynopsis.dtd b/docs/manual/style/modulesynopsis.dtd
0new file mode 10064430new file mode 100644
index 0000000..aa3d6ee
--- /dev/null
+++ b/docs/manual/style/modulesynopsis.dtd
@@ -0,0 +1,92 @@
1<?xml version='1.0' encoding='UTF-8' ?>
2
3<!--
4 Licensed to the Apache Software Foundation (ASF) under one or more
5 contributor license agreements. See the NOTICE file distributed with
6 this work for additional information regarding copyright ownership.
7 The ASF licenses this file to You under the Apache License, Version 2.0
8 (the "License"); you may not use this file except in compliance with
9 the License. You may obtain a copy of the License at
10
11 http://www.apache.org/licenses/LICENSE-2.0
12
13 Unless required by applicable law or agreed to in writing, software
14 distributed under the License is distributed on an "AS IS" BASIS,
15 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 See the License for the specific language governing permissions and
17 limitations under the License.
18-->
19
20<!ENTITY % sitemap SYSTEM "sitemap.dtd">
21%sitemap;
22
23<!ELEMENT modulesynopsis (name , description, status, hint?, sourcefile?,
24identifier? , compatibility? , summary? , seealso* , section*,
25directivesynopsis*)>
26
27<!ATTLIST modulesynopsis metafile CDATA #REQUIRED
28 upgrade CDATA #IMPLIED>
29
30<!ELEMENT directivesynopsis (name , description? , syntax? , default?
31, contextlist? , override? , modulelist?, status?, compatibility? ,
32usage?, seealso*)>
33
34<!ELEMENT name (#PCDATA)>
35
36<!ELEMENT status (#PCDATA)>
37
38<!ELEMENT hint %Inline;>
39
40<!ELEMENT identifier (#PCDATA)>
41
42<!ELEMENT sourcefile (#PCDATA)>
43
44<!ELEMENT compatibility %Inline;>
45
46<!ELEMENT description %Inline;>
47
48<!--
49 idtype is appended to the directive name when generating links to allow
50 a directive of type section to share the name with another directive.
51 The attribute type could have been (re)used instead but it would have broken
52 pre-existing links.
53-->
54<!ATTLIST directivesynopsis type CDATA #IMPLIED
55 idtype CDATA #IMPLIED
56 location CDATA #IMPLIED >
57
58<!ELEMENT syntax %Inline;>
59
60<!ELEMENT default (#PCDATA | directive | br)*>
61
62<!ELEMENT contextlist (context+)+>
63
64<!ELEMENT context (#PCDATA)>
65
66<!ELEMENT override (#PCDATA)>
67
68<!ELEMENT usage %Block;>
69
70<!-- Used in index.xml -->
71<!ELEMENT moduleindex (title, summary, seealso*)>
72
73<!ATTLIST moduleindex metafile CDATA #REQUIRED>
74
75<!-- Used in directive.xml -->
76<!ELEMENT directiveindex (title | summary)+>
77
78<!ATTLIST directiveindex metafile CDATA #REQUIRED>
79
80<!-- Used in quickreference.xml -->
81<!ELEMENT quickreference (title | summary | legend)+>
82<!ATTLIST quickreference metafile CDATA #REQUIRED>
83
84<!ELEMENT legend (table, table)>
85
86<!-- Used in overrides.xml -->
87<!ELEMENT overrideindex (title | summary | overridesummary)+>
88<!ATTLIST overrideindex metafile CDATA #REQUIRED>
89
90<!ELEMENT overridesummary %Block;>
91<!ATTLIST overridesummary class CDATA #IMPLIED
92 fallback CDATA #IMPLIED>
diff --git a/docs/manual/style/scripts/MINIFY b/docs/manual/style/scripts/MINIFY
0new file mode 10064493new file mode 100644
index 0000000..2c1efc3
--- /dev/null
+++ b/docs/manual/style/scripts/MINIFY
@@ -0,0 +1,5 @@
1#!/bin/sh
2
3(echo '// see prettify.js for copyright, license and expanded version'; python -mrjsmin <prettify.js) >prettify.min.js
4
5# needs python and rjsmin installed
diff --git a/docs/manual/style/scripts/prettify.js b/docs/manual/style/scripts/prettify.js
0new file mode 1006446new file mode 100644
index 0000000..2df198d
--- /dev/null
+++ b/docs/manual/style/scripts/prettify.js
@@ -0,0 +1,1622 @@
1// Copyright (C) 2006 Google Inc.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15
16/**
17 * @fileoverview
18 * some functions for browser-side pretty printing of code contained in html.
19 *
20 * <p>
21 * For a fairly comprehensive set of languages see the
22 * <a href="http://google-code-prettify.googlecode.com/svn/trunk/README.html#langs">README</a>
23 * file that came with this source. At a minimum, the lexer should work on a
24 * number of languages including C and friends, Java, Python, Bash, SQL, HTML,
25 * XML, CSS, Javascript, and Makefiles. It works passably on Ruby, PHP and Awk
26 * and a subset of Perl, but, because of commenting conventions, doesn't work on
27 * Smalltalk, Lisp-like, or CAML-like languages without an explicit lang class.
28 * <p>
29 * Usage: <ol>
30 * <li> include this source file in an html page via
31 * {@code <script type="text/javascript" src="/path/to/prettify.js"></script>}
32 * <li> define style rules. See the example page for examples.
33 * <li> mark the {@code <pre>} and {@code <code>} tags in your source with
34 * {@code class=prettyprint.}
35 * You can also use the (html deprecated) {@code <xmp>} tag, but the pretty
36 * printer needs to do more substantial DOM manipulations to support that, so
37 * some css styles may not be preserved.
38 * </ol>
39 * That's it. I wanted to keep the API as simple as possible, so there's no
40 * need to specify which language the code is in, but if you wish, you can add
41 * another class to the {@code <pre>} or {@code <code>} element to specify the
42 * language, as in {@code <pre class="prettyprint lang-java">}. Any class that
43 * starts with "lang-" followed by a file extension, specifies the file type.
44 * See the "lang-*.js" files in this directory for code that implements
45 * per-language file handlers.
46 * <p>
47 * Change log:<br>
48 * cbeust, 2006/08/22
49 * <blockquote>
50 * Java annotations (start with "@") are now captured as literals ("lit")
51 * </blockquote>
52 * @requires console
53 */
54
55// JSLint declarations
56/*global console, document, navigator, setTimeout, window, define */
57
58/**
59 * Split {@code prettyPrint} into multiple timeouts so as not to interfere with
60 * UI events.
61 * If set to {@code false}, {@code prettyPrint()} is synchronous.
62 */
63window['PR_SHOULD_USE_CONTINUATION'] = true;
64
65/**
66 * Find all the {@code <pre>} and {@code <code>} tags in the DOM with
67 * {@code class=prettyprint} and prettify them.
68 *
69 * @param {Function?} opt_whenDone if specified, called when the last entry
70 * has been finished.
71 */
72var prettyPrintOne;
73/**
74 * Pretty print a chunk of code.
75 *
76 * @param {string} sourceCodeHtml code as html
77 * @return {string} code as html, but prettier
78 */
79var prettyPrint;
80
81
82(function () {
83 var win = window;
84 // Keyword lists for various languages.
85 // We use things that coerce to strings to make them compact when minified
86 // and to defeat aggressive optimizers that fold large string constants.
87 var FLOW_CONTROL_KEYWORDS = ["break,continue,do,else,for,if,return,while"];
88 var C_KEYWORDS = [FLOW_CONTROL_KEYWORDS,"auto,case,char,const,default," +
89 "double,enum,extern,float,goto,int,long,register,short,signed,sizeof,module," +
90 "static,struct,switch,typedef,union,unsigned,void,volatile"];
91 var COMMON_KEYWORDS = [C_KEYWORDS,"catch,class,delete,false,import," +
92 "new,operator,private,protected,public,this,throw,true,try,typeof"];
93 var CPP_KEYWORDS = [COMMON_KEYWORDS,"alignof,align_union,asm,axiom,bool," +
94 "concept,concept_map,const_cast,constexpr,decltype," +
95 "dynamic_cast,explicit,export,friend,inline,late_check," +
96 "mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast," +
97 "template,typeid,typename,using,virtual,where,request_req"];
98 var JAVA_KEYWORDS = [COMMON_KEYWORDS,
99 "abstract,boolean,byte,extends,final,finally,implements,import," +
100 "instanceof,null,native,package,strictfp,super,synchronized,throws," +
101 "transient"];
102 var CSHARP_KEYWORDS = [JAVA_KEYWORDS,
103 "as,base,by,checked,decimal,delegate,descending,dynamic,event," +
104 "fixed,foreach,from,group,implicit,in,interface,internal,into,is,let," +
105 "lock,object,out,override,orderby,params,partial,readonly,ref,sbyte," +
106 "sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort," +
107 "var,virtual,where"];
108 var COFFEE_KEYWORDS = "all,and,by,catch,class,else,extends,false,finally," +
109 "for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then," +
110 "throw,true,try,unless,until,when,while,yes";
111 var JSCRIPT_KEYWORDS = [COMMON_KEYWORDS,
112 "debugger,eval,export,function,get,null,set,undefined,var,with," +
113 "Infinity,NaN"];
114 var PERL_KEYWORDS = "caller,delete,die,do,dump,else,elsif,eval,exit,foreach,for," +
115 "goto,if,import,last,local,my,next,no,our,print,printf,package,redo,require," +
116 "sub,undef,unless,until,use,wantarray,while,BEGIN,END";
117 var PHP_KEYWORDS = "abstract,and,array,as,break,case,catch,cfunction,class," +
118 "clone,const,continue,declare,default,do,else,elseif,enddeclare,endfor," +
119 "endforeach,endif,endswitch,endwhile,extends,final,for,foreach,function," +
120 "global,goto,if,implements,interface,instanceof,namespace,new,old_function," +
121 "or,private,protected,public,static,switch,throw,try,use,var,while,xor," +
122 "die,echo,empty,exit,eval,include,include_once,isset,list,require," +
123 "require_once,return,print,unset";
124 var PYTHON_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "and,as,assert,class,def,del," +
125 "elif,except,exec,finally,from,global,import,in,is,lambda," +
126 "nonlocal,not,or,pass,print,raise,try,with,yield," +
127 "False,True,None"];
128 var RUBY_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "alias,and,begin,case,class," +
129 "def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo," +
130 "rescue,retry,self,super,then,true,undef,unless,until,when,yield," +
131 "BEGIN,END"];
132 var SH_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "case,done,elif,esac,eval,fi," +
133 "function,in,local,set,then,until,echo"];
134 var CONFIG_ENVS = ["User-Agent,HTTP_USER_AGENT,HTTP_REFERER,HTTP_COOKIE,HTTP_FORWARDED,HTTP_HOST,HTTP_PROXY_CONNECTION,HTTP_ACCEPT,REMOTE_ADDR,REMOTE_HOST,REMOTE_PORT,REMOTE_USER,REMOTE_IDENT,REQUEST_METHOD,SCRIPT_FILENAME,PATH_INFO,QUERY_STRING,AUTH_TYPE,DOCUMENT_ROOT,SERVER_ADMIN,SERVER_NAME,SERVER_ADDR,SERVER_PORT,SERVER_PROTOCOL,SERVER_SOFTWARE,TIME_YEAR,TIME_MON,TIME_DAY,TIME_HOUR,TIME_MIN,TIME_SEC,TIME_WDAY,TIME,API_VERSION,THE_REQUEST,REQUEST_URI,REQUEST_FILENAME,IS_SUBREQ,HTTPS,REQUEST_SCHEME"];
135 var CONFIG_KEYWORDS = ["<AuthnProviderAlias>,<AuthzProviderAlias>,<Directory>,<DirectoryMatch>,<Else>,<ElseIf>,<Files>,<FilesMatch>,<If>,<IfDefine>,<IfModule>,<IfVersion>,<Limit>,<LimitExcept>,<Location>,<LocationMatch>,<MDomainSet>,<Macro>,<Proxy>,<ProxyMatch>,<RequireAll>,<RequireAny>,<RequireNone>,<VirtualHost>,AcceptFilter,AcceptPathInfo,AccessFileName,Action,AddAlt,AddAltByEncoding,AddAltByType,AddCharset,AddDefaultCharset,AddDescription,AddEncoding,AddHandler,AddIcon,AddIconByEncoding,AddIconByType,AddInputFilter,AddLanguage,AddModuleInfo,AddOutputFilter,AddOutputFilterByType,AddType,Alias,AliasMatch,Allow,AllowCONNECT,AllowEncodedSlashes,AllowMethods,AllowOverride,AllowOverrideList,Anonymous,Anonymous_LogEmail,Anonymous_MustGiveEmail,Anonymous_NoUserID,Anonymous_VerifyEmail,AsyncRequestWorkerFactor,AuthBasicAuthoritative,AuthBasicFake,AuthBasicProvider,AuthBasicUseDigestAlgorithm,AuthDBDUserPWQuery,AuthDBDUserRealmQuery,AuthDBMGroupFile,AuthDBMType,AuthDBMUserFile,AuthDigestAlgorithm,AuthDigestDomain,AuthDigestNonceLifetime,AuthDigestProvider,AuthDigestQop,AuthDigestShmemSize,AuthFormAuthoritative,AuthFormBody,AuthFormDisableNoStore,AuthFormFakeBasicAuth,AuthFormLocation,AuthFormLoginRequiredLocation,AuthFormLoginSuccessLocation,AuthFormLogoutLocation,AuthFormMethod,AuthFormMimetype,AuthFormPassword,AuthFormProvider,AuthFormSitePassphrase,AuthFormSize,AuthFormUsername,AuthGroupFile,AuthLDAPAuthorizePrefix,AuthLDAPBindAuthoritative,AuthLDAPBindDN,AuthLDAPBindPassword,AuthLDAPCharsetConfig,AuthLDAPCompareAsUser,AuthLDAPCompareDNOnServer,AuthLDAPDereferenceAliases,AuthLDAPGroupAttribute,AuthLDAPGroupAttributeIsDN,AuthLDAPInitialBindAsUser,AuthLDAPInitialBindPattern,AuthLDAPMaxSubGroupDepth,AuthLDAPRemoteUserAttribute,AuthLDAPRemoteUserIsDN,AuthLDAPSearchAsUser,AuthLDAPSubGroupAttribute,AuthLDAPSubGroupClass,AuthLDAPUrl,AuthMerging,AuthName,AuthType,AuthUserFile,AuthnCacheContext,AuthnCacheEnable,AuthnCacheProvideFor,AuthnCacheSOCache,AuthnCacheTimeout,AuthnzFcgiCheckAuthnProvider,AuthnzFcgiDefineProvider,AuthzDBDLoginToReferer,AuthzDBDQuery,AuthzDBDRedirectQuery,AuthzDBMType,AuthzSendForbiddenOnFailure,BalancerGrowth,BalancerInherit,BalancerMember,BalancerPersist,BrotliAlterETag,BrotliCompressionMaxInputBlock,BrotliCompressionQuality,BrotliCompressionWindow,BrotliFilterNote,BrowserMatch,BrowserMatchNoCase,BufferSize,BufferedLogs,CGIDScriptTimeout,CGIMapExtension,CGIPassAuth,CGIVar,CacheDefaultExpire,CacheDetailHeader,CacheDirLength,CacheDirLevels,CacheDisable,CacheEnable,CacheFile,CacheHeader,CacheIgnoreCacheControl,CacheIgnoreHeaders,CacheIgnoreNoLastMod,CacheIgnoreQueryString,CacheIgnoreURLSessionIdentifiers,CacheKeyBaseURL,CacheLastModifiedFactor,CacheLock,CacheLockMaxAge,CacheLockPath,CacheMaxExpire,CacheMaxFileSize,CacheMinExpire,CacheMinFileSize,CacheNegotiatedDocs,CacheQuickHandler,CacheReadSize,CacheReadTime,CacheRoot,CacheSocache,CacheSocacheMaxSize,CacheSocacheMaxTime,CacheSocacheMinTime,CacheSocacheReadSize,CacheSocacheReadTime,CacheStaleOnError,CacheStoreExpired,CacheStoreNoStore,CacheStorePrivate,CharsetDefault,CharsetOptions,CharsetSourceEnc,CheckCaseOnly,CheckSpelling,ChrootDir,ContentDigest,CookieDomain,CookieExpires,CookieName,CookieStyle,CookieTracking,CoreDumpDirectory,CustomLog,DBDExptime,DBDInitSQL,DBDKeep,DBDMax,DBDMin,DBDParams,DBDPersist,DBDPrepareSQL,DBDriver,DTracePrivileges,Dav,DavDepthInfinity,DavGenericLockDB,DavLockDB,DavMinTimeout,DefaultIcon,DefaultLanguage,DefaultRuntimeDir,DefaultType,Define,DeflateBufferSize,DeflateCompressionLevel,DeflateFilterNote,DeflateInflateLimitRequestBody,DeflateInflateRatioBurst,DeflateInflateRatioLimit,DeflateMemLevel,DeflateWindowSize,Deny,DirectoryCheckHandler,DirectoryIndex,DirectoryIndexRedirect,DirectorySlash,DocumentRoot,DumpIOInput,DumpIOOutput,EnableExceptionHook,EnableMMAP,EnableSendfile,Error,ErrorDocument,ErrorLog,ErrorLogFormat,Example,ExpiresActive,ExpiresByType,ExpiresDefault,ExtFilterDefine,ExtFilterOptions,ExtendedStatus,FallbackResource,FileETag,FilterChain,FilterDeclare,FilterProtocol,FilterProvider,FilterTrace,ForceLanguagePriority,ForceType,ForensicLog,GlobalLog,GprofDir,GracefulShutdownTimeout,Group,H2CopyFiles,H2Direct,H2EarlyHints,H2MaxSessionStreams,H2MaxWorkerIdleSeconds,H2MaxWorkers,H2MinWorkers,H2ModernTLSOnly,H2Push,H2PushDiarySize,H2PushPriority,H2PushResource,H2SerializeHeaders,H2StreamMaxMemSize,H2TLSCoolDownSecs,H2TLSWarmUpSize,H2Upgrade,H2WindowSize,Header,HeaderName,HeartbeatAddress,HeartbeatListen,HeartbeatMaxServers,HeartbeatStorage,HeartbeatStorage,HostnameLookups,HttpProtocolOptions,ISAPIAppendLogToErrors,ISAPIAppendLogToQuery,ISAPICacheFile,ISAPIFakeAsync,ISAPILogNotSupported,ISAPIReadAheadBuffer,IdentityCheck,IdentityCheckTimeout,ImapBase,ImapDefault,ImapMenu,Include,IncludeOptional,IndexHeadInsert,IndexIgnore,IndexIgnoreReset,IndexOptions,IndexOrderDefault,IndexStyleSheet,InputSed,KeepAlive,KeepAliveTimeout,KeptBodySize,LDAPCacheEntries,LDAPCacheTTL,LDAPConnectionPoolTTL,LDAPConnectionTimeout,LDAPLibraryDebug,LDAPOpCacheEntries,LDAPOpCacheTTL,LDAPReferralHopLimit,LDAPReferrals,LDAPRetries,LDAPRetryDelay,LDAPSharedCacheFile,LDAPSharedCacheSize,LDAPTimeout,LDAPTrustedClientCert,LDAPTrustedGlobalCert,LDAPTrustedMode,LDAPVerifyServerCert,LanguagePriority,LimitInternalRecursion,LimitRequestBody,LimitRequestFieldSize,LimitRequestFields,LimitRequestLine,LimitXMLRequestBody,Listen,ListenBackLog,ListenCoresBucketsRatio,LoadFile,LoadModule,LogFormat,LogIOTrackTTFB,LogLevel,LogMessage,LuaAuthzProvider,LuaCodeCache,LuaHookAccessChecker,LuaHookAuthChecker,LuaHookCheckUserID,LuaHookFixups,LuaHookInsertFilter,LuaHookLog,LuaHookMapToStorage,LuaHookTranslateName,LuaHookTypeChecker,LuaInherit,LuaInputFilter,LuaMapHandler,LuaOutputFilter,LuaPackageCPath,LuaPackagePath,LuaQuickHandler,LuaRoot,LuaScope,MDBaseServer,MDCAChallenges,MDCertificateAgreement,MDCertificateAuthority,MDCertificateProtocol,MDDriveMode,MDHttpProxy,MDMember,MDMembers,MDMustStaple,MDNotifyCmd,MDPortMap,MDPrivateKeys,MDRenewWindow,MDRequireHttps,MDStoreDir,MDomain,MMapFile,MaxConnectionsPerChild,MaxKeepAliveRequests,MaxMemFree,MaxRangeOverlaps,MaxRangeReversals,MaxRanges,MaxRequestWorkers,MaxSpareServers,MaxSpareThreads,MaxThreads,MemcacheConnTTL,MergeTrailers,MetaDir,MetaFiles,MetaSuffix,MimeMagicFile,MinSpareServers,MinSpareThreads,ModMimeUsePathInfo,ModemStandard,MultiviewsMatch,Mutex,NWSSLTrustedCerts,NWSSLUpgradeable,NameVirtualHost,NoProxy,Options,Order,OutputSed,PassEnv,PidFile,PrivilegesMode,Protocol,ProtocolEcho,Protocols,ProtocolsHonorOrder,ProxyAddHeaders,ProxyBadHeader,ProxyBlock,ProxyDomain,ProxyErrorOverride,ProxyExpressDBMFile,ProxyExpressDBMType,ProxyExpressEnable,ProxyFCGIBackendType,ProxyFCGISetEnvIf,ProxyFtpDirCharset,ProxyFtpEscapeWildcards,ProxyFtpListOnWildcard,ProxyHCExpr,ProxyHCTPsize,ProxyHCTemplate,ProxyHTMLBufSize,ProxyHTMLCharsetOut,ProxyHTMLDocType,ProxyHTMLEnable,ProxyHTMLEvents,ProxyHTMLExtended,ProxyHTMLFixups,ProxyHTMLInterp,ProxyHTMLLinks,ProxyHTMLMeta,ProxyHTMLStripComments,ProxyHTMLURLMap,ProxyIOBufferSize,ProxyMaxForwards,ProxyPass,ProxyPassInherit,ProxyPassInterpolateEnv,ProxyPassMatch,ProxyPassReverse,ProxyPassReverseCookieDomain,ProxyPassReverseCookiePath,ProxyPreserveHost,ProxyReceiveBufferSize,ProxyRemote,ProxyRemoteMatch,ProxyRequests,ProxySCGIInternalRedirect,ProxySCGISendfile,ProxySet,ProxySourceAddress,ProxyStatus,ProxyTimeout,ProxyVia,QualifyRedirectURL,RLimitCPU,RLimitMEM,RLimitNPROC,ReadmeName,ReceiveBufferSize,Redirect,RedirectMatch,RedirectPermanent,RedirectTemp,ReflectorHeader,RegisterHttpMethod,RemoteIPHeader,RemoteIPInternalProxy,RemoteIPInternalProxyList,RemoteIPProxiesHeader,RemoteIPTrustedProxy,RemoteIPTrustedProxyList,RemoveCharset,RemoveEncoding,RemoveHandler,RemoveInputFilter,RemoveLanguage,RemoveOutputFilter,RemoveType,RequestHeader,RequestReadTimeout,Require,RewriteBase,RewriteCond,RewriteEngine,RewriteMap,RewriteOptions,RewriteRule,SSIETag,SSIEndTag,SSIErrorMsg,SSILastModified,SSILegacyExprParser,SSIStartTag,SSITimeFormat,SSIUndefinedEcho,SSLCACertificateFile,SSLCACertificatePath,SSLCADNRequestFile,SSLCADNRequestPath,SSLCARevocationCheck,SSLCARevocationFile,SSLCARevocationPath,SSLCertificateChainFile,SSLCertificateFile,SSLCertificateKeyFile,SSLCipherSuite,SSLCompression,SSLCryptoDevice,SSLEngine,SSLFIPS,SSLHonorCipherOrder,SSLInsecureRenegotiation,SSLOCSPDefaultResponder,SSLOCSPEnable,SSLOCSPNoverify,SSLOCSPOverrideResponder,SSLOCSPProxyURL,SSLOCSPResponderCertificateFile,SSLOCSPResponderTimeout,SSLOCSPResponseMaxAge,SSLOCSPResponseTimeSkew,SSLOCSPUseRequestNonce,SSLOpenSSLConfCmd,SSLOptions,SSLPassPhraseDialog,SSLProtocol,SSLProxyCACertificateFile,SSLProxyCACertificatePath,SSLProxyCARevocationCheck,SSLProxyCARevocationFile,SSLProxyCARevocationPath,SSLProxyCheckPeerCN,SSLProxyCheckPeerExpire,SSLProxyCheckPeerName,SSLProxyCipherSuite,SSLProxyEngine,SSLProxyMachineCertificateChainFile,SSLProxyMachineCertificateFile,SSLProxyMachineCertificatePath,SSLProxyProtocol,SSLProxyVerify,SSLProxyVerifyDepth,SSLRandomSeed,SSLRenegBufferSize,SSLRequire,SSLRequireSSL,SSLSRPUnknownUserSeed,SSLSRPVerifierFile,SSLSessionCache,SSLSessionCacheTimeout,SSLSessionTicketKeyFile,SSLSessionTickets,SSLStaplingCache,SSLStaplingErrorCacheTimeout,SSLStaplingFakeTryLater,SSLStaplingForceURL,SSLStaplingResponderTimeout,SSLStaplingResponseMaxAge,SSLStaplingResponseTimeSkew,SSLStaplingReturnResponderErrors,SSLStaplingStandardCacheTimeout,SSLStrictSNIVHostCheck,SSLUseStapling,SSLUserName,SSLVerifyClient,SSLVerifyDepth,Satisfy,ScoreBoardFile,Script,ScriptAlias,ScriptAliasMatch,ScriptInterpreterSource,ScriptLog,ScriptLogBuffer,ScriptLogLength,ScriptSock,SecureListen,SeeRequestTail,SendBufferSize,ServerAdmin,ServerAlias,ServerLimit,ServerName,ServerPath,ServerRoot,ServerSignature,ServerTokens,Session,SessionCookieName,SessionCookieName2,SessionCookieRemove,SessionCryptoCipher,SessionCryptoDriver,SessionCryptoPassphrase,SessionCryptoPassphraseFile,SessionDBDCookieName,SessionDBDCookieName2,SessionDBDCookieRemove,SessionDBDDeleteLabel,SessionDBDInsertLabel,SessionDBDPerUser,SessionDBDSelectLabel,SessionDBDUpdateLabel,SessionEnv,SessionExclude,SessionHeader,SessionInclude,SessionMaxAge,SetEnv,SetEnvIf,SetEnvIfExpr,SetEnvIfNoCase,SetHandler,SetInputFilter,SetOutputFilter,StartServers,StartThreads,Substitute,SubstituteInheritBefore,SubstituteMaxLineLength,Suexec,SuexecUserGroup,ThreadLimit,ThreadStackSize,ThreadsPerChild,TimeOut,TraceEnable,TransferLog,TypesConfig,UnDefine,UndefMacro,UnsetEnv,Use,UseCanonicalName,UseCanonicalPhysicalPort,User,UserDir,VHostCGIMode,VHostCGIPrivs,VHostGroup,VHostPrivs,VHostSecure,VHostUser,VirtualDocumentRoot,VirtualDocumentRootIP,VirtualScriptAlias,VirtualScriptAliasIP,WatchdogInterval,XBitHack,xml2EncAlias,xml2EncDefault,xml2StartParse"]
136 var CONFIG_OPTIONS = /^[\\+\\-]?(AuthConfig|IncludesNOEXEC|ExecCGI|FollowSymLinks|MultiViews|Includes|Indexes|SymLinksIfOwnerMatch)\b/i;
137 var ALL_KEYWORDS = [
138 CPP_KEYWORDS, CSHARP_KEYWORDS, JSCRIPT_KEYWORDS, PERL_KEYWORDS +
139 PYTHON_KEYWORDS, RUBY_KEYWORDS, SH_KEYWORDS, CONFIG_KEYWORDS, PHP_KEYWORDS];
140 var C_TYPES = /^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float|char|void|const|static|struct)\d*(_t)?\b)|[a-z_]+_rec|cmd_parms\b/;
141
142 // token style names. correspond to css classes
143 /**
144 * token style for a string literal
145 * @const
146 */
147 var PR_STRING = 'str';
148 /**
149 * token style for a keyword
150 * @const
151 */
152 var PR_KEYWORD = 'kwd';
153 /**
154 * token style for a comment
155 * @const
156 */
157 var PR_COMMENT = 'com';
158 /**
159 * token style for a type
160 * @const
161 */
162 var PR_TYPE = 'typ';
163 /**
164 * token style for a literal value. e.g. 1, null, true.
165 * @const
166 */
167 var PR_LITERAL = 'lit';
168 /**
169 * token style for a punctuation string.
170 * @const
171 */
172 var PR_PUNCTUATION = 'pun';
173 /**
174 * token style for plain text.
175 * @const
176 */
177 var PR_PLAIN = 'pln';
178
179 /**
180 * token style for an sgml tag.
181 * @const
182 */
183 var PR_TAG = 'tag';
184 /**
185 * token style for a markup declaration such as a DOCTYPE.
186 * @const
187 */
188 var PR_DECLARATION = 'dec';
189 /**
190 * token style for embedded source.
191 * @const
192 */
193 var PR_SOURCE = 'src';
194 /**
195 * token style for an sgml attribute name.
196 * @const
197 */
198 var PR_ATTRIB_NAME = 'atn';
199 /**
200 * token style for an sgml attribute value.
201 * @const
202 */
203 var PR_ATTRIB_VALUE = 'atv';
204
205 /**
206 * A class that indicates a section of markup that is not code, e.g. to allow
207 * embedding of line numbers within code listings.
208 * @const
209 */
210 var PR_NOCODE = 'nocode';
211
212
213
214/**
215 * A set of tokens that can precede a regular expression literal in
216 * javascript
217 * http://web.archive.org/web/20070717142515/http://www.mozilla.org/js/language/js20/rationale/syntax.html
218 * has the full list, but I've removed ones that might be problematic when
219 * seen in languages that don't support regular expression literals.
220 *
221 * <p>Specifically, I've removed any keywords that can't precede a regexp
222 * literal in a syntactically legal javascript program, and I've removed the
223 * "in" keyword since it's not a keyword in many languages, and might be used
224 * as a count of inches.
225 *
226 * <p>The link above does not accurately describe EcmaScript rules since
227 * it fails to distinguish between (a=++/b/i) and (a++/b/i) but it works
228 * very well in practice.
229 *
230 * @private
231 * @const
232 */
233var REGEXP_PRECEDER_PATTERN = '(?:^^\\.?|[+-]|[!=]=?=?|\\#|%=?|&&?=?|\\(|\\*=?|[+\\-]=|->|\\/=?|::?|<<?=?|>>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*';
234
235// CAVEAT: this does not properly handle the case where a regular
236// expression immediately follows another since a regular expression may
237// have flags for case-sensitivity and the like. Having regexp tokens
238// adjacent is not valid in any language I'm aware of, so I'm punting.
239// TODO: maybe style special characters inside a regexp as punctuation.
240
241
242 /**
243 * Given a group of {@link RegExp}s, returns a {@code RegExp} that globally
244 * matches the union of the sets of strings matched by the input RegExp.
245 * Since it matches globally, if the input strings have a start-of-input
246 * anchor (/^.../), it is ignored for the purposes of unioning.
247 * @param {Array.<RegExp>} regexs non multiline, non-global regexs.
248 * @return {RegExp} a global regex.
249 */
250 function combinePrefixPatterns(regexs) {
251 var capturedGroupIndex = 0;
252
253 var needToFoldCase = false;
254 var ignoreCase = false;
255 for (var i = 0, n = regexs.length; i < n; ++i) {
256 var regex = regexs[i];
257 if (regex.ignoreCase) {
258 ignoreCase = true;
259 } else if (/[a-z]/i.test(regex.source.replace(
260 /\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ''))) {
261 needToFoldCase = true;
262 ignoreCase = false;
263 break;
264 }
265 }
266
267 var escapeCharToCodeUnit = {
268 'b': 8,
269 't': 9,
270 'n': 0xa,
271 'v': 0xb,
272 'f': 0xc,
273 'r': 0xd
274 };
275
276 function decodeEscape(charsetPart) {
277 var cc0 = charsetPart.charCodeAt(0);
278 if (cc0 !== 92 /* \\ */) {
279 return cc0;
280 }
281 var c1 = charsetPart.charAt(1);
282 cc0 = escapeCharToCodeUnit[c1];
283 if (cc0) {
284 return cc0;
285 } else if ('0' <= c1 && c1 <= '7') {
286 return parseInt(charsetPart.substring(1), 8);
287 } else if (c1 === 'u' || c1 === 'x') {
288 return parseInt(charsetPart.substring(2), 16);
289 } else {
290 return charsetPart.charCodeAt(1);
291 }
292 }
293
294 function encodeEscape(charCode) {
295 if (charCode < 0x20) {
296 return (charCode < 0x10 ? '\\x0' : '\\x') + charCode.toString(16);
297 }
298 var ch = String.fromCharCode(charCode);
299 return (ch === '\\' || ch === '-' || ch === ']' || ch === '^')
300 ? "\\" + ch : ch;
301 }
302
303 function caseFoldCharset(charSet) {
304 var charsetParts = charSet.substring(1, charSet.length - 1).match(
305 new RegExp(
306 '\\\\u[0-9A-Fa-f]{4}'
307 + '|\\\\x[0-9A-Fa-f]{2}'
308 + '|\\\\[0-3][0-7]{0,2}'
309 + '|\\\\[0-7]{1,2}'
310 + '|\\\\[\\s\\S]'
311 + '|-'
312 + '|[^-\\\\]',
313 'g'));
314 var ranges = [];
315 var inverse = charsetParts[0] === '^';
316
317 var out = ['['];
318 if (inverse) { out.push('^'); }
319
320 for (var i = inverse ? 1 : 0, n = charsetParts.length; i < n; ++i) {
321 var p = charsetParts[i];
322 if (/\\[bdsw]/i.test(p)) { // Don't muck with named groups.
323 out.push(p);
324 } else {
325 var start = decodeEscape(p);
326 var end;
327 if (i + 2 < n && '-' === charsetParts[i + 1]) {
328 end = decodeEscape(charsetParts[i + 2]);
329 i += 2;
330 } else {
331 end = start;
332 }
333 ranges.push([start, end]);
334 // If the range might intersect letters, then expand it.
335 // This case handling is too simplistic.
336 // It does not deal with non-latin case folding.
337 // It works for latin source code identifiers though.
338 if (!(end < 65 || start > 122)) {
339 if (!(end < 65 || start > 90)) {
340 ranges.push([Math.max(65, start) | 32, Math.min(end, 90) | 32]);
341 }
342 if (!(end < 97 || start > 122)) {
343 ranges.push([Math.max(97, start) & ~32, Math.min(end, 122) & ~32]);
344 }
345 }
346 }
347 }
348
349 // [[1, 10], [3, 4], [8, 12], [14, 14], [16, 16], [17, 17]]
350 // -> [[1, 12], [14, 14], [16, 17]]
351 ranges.sort(function (a, b) { return (a[0] - b[0]) || (b[1] - a[1]); });
352 var consolidatedRanges = [];
353 var lastRange = [];
354 for (var i = 0; i < ranges.length; ++i) {
355 var range = ranges[i];
356 if (range[0] <= lastRange[1] + 1) {
357 lastRange[1] = Math.max(lastRange[1], range[1]);
358 } else {
359 consolidatedRanges.push(lastRange = range);
360 }
361 }
362
363 for (var i = 0; i < consolidatedRanges.length; ++i) {
364 var range = consolidatedRanges[i];
365 out.push(encodeEscape(range[0]));
366 if (range[1] > range[0]) {
367 if (range[1] + 1 > range[0]) { out.push('-'); }
368 out.push(encodeEscape(range[1]));
369 }
370 }
371 out.push(']');
372 return out.join('');
373 }
374
375 function allowAnywhereFoldCaseAndRenumberGroups(regex) {
376 // Split into character sets, escape sequences, punctuation strings
377 // like ('(', '(?:', ')', '^'), and runs of characters that do not
378 // include any of the above.
379 var parts = regex.source.match(
380 new RegExp(
381 '(?:'
382 + '\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]' // a character set
383 + '|\\\\u[A-Fa-f0-9]{4}' // a unicode escape
384 + '|\\\\x[A-Fa-f0-9]{2}' // a hex escape
385 + '|\\\\[0-9]+' // a back-reference or octal escape
386 + '|\\\\[^ux0-9]' // other escape sequence
387 + '|\\(\\?[:!=]' // start of a non-capturing group
388 + '|[\\(\\)\\^]' // start/end of a group, or line start
389 + '|[^\\x5B\\x5C\\(\\)\\^]+' // run of other characters
390 + ')',
391 'g'));
392 var n = parts.length;
393
394 // Maps captured group numbers to the number they will occupy in
395 // the output or to -1 if that has not been determined, or to
396 // undefined if they need not be capturing in the output.
397 var capturedGroups = [];
398
399 // Walk over and identify back references to build the capturedGroups
400 // mapping.
401 for (var i = 0, groupIndex = 0; i < n; ++i) {
402 var p = parts[i];
403 if (p === '(') {
404 // groups are 1-indexed, so max group index is count of '('
405 ++groupIndex;
406 } else if ('\\' === p.charAt(0)) {
407 var decimalValue = +p.substring(1);
408 if (decimalValue) {
409 if (decimalValue <= groupIndex) {
410 capturedGroups[decimalValue] = -1;
411 } else {
412 // Replace with an unambiguous escape sequence so that
413 // an octal escape sequence does not turn into a backreference
414 // to a capturing group from an earlier regex.
415 parts[i] = encodeEscape(decimalValue);
416 }
417 }
418 }
419 }
420
421 // Renumber groups and reduce capturing groups to non-capturing groups
422 // where possible.
423 for (var i = 1; i < capturedGroups.length; ++i) {
424 if (-1 === capturedGroups[i]) {
425 capturedGroups[i] = ++capturedGroupIndex;
426 }
427 }
428 for (var i = 0, groupIndex = 0; i < n; ++i) {
429 var p = parts[i];
430 if (p === '(') {
431 ++groupIndex;
432 if (!capturedGroups[groupIndex]) {
433 parts[i] = '(?:';
434 }
435 } else if ('\\' === p.charAt(0)) {
436 var decimalValue = +p.substring(1);
437 if (decimalValue && decimalValue <= groupIndex) {
438 parts[i] = '\\' + capturedGroups[decimalValue];
439 }
440 }
441 }
442
443 // Remove any prefix anchors so that the output will match anywhere.
444 // ^^ really does mean an anchored match though.
445 for (var i = 0; i < n; ++i) {
446 if ('^' === parts[i] && '^' !== parts[i + 1]) { parts[i] = ''; }
447 }
448
449 // Expand letters to groups to handle mixing of case-sensitive and
450 // case-insensitive patterns if necessary.
451 if (regex.ignoreCase && needToFoldCase) {
452 for (var i = 0; i < n; ++i) {
453 var p = parts[i];
454 var ch0 = p.charAt(0);
455 if (p.length >= 2 && ch0 === '[') {
456 parts[i] = caseFoldCharset(p);
457 } else if (ch0 !== '\\') {
458 // TODO: handle letters in numeric escapes.
459 parts[i] = p.replace(
460 /[a-zA-Z]/g,
461 function (ch) {
462 var cc = ch.charCodeAt(0);
463 return '[' + String.fromCharCode(cc & ~32, cc | 32) + ']';
464 });
465 }
466 }
467 }
468
469 return parts.join('');
470 }
471
472 var rewritten = [];
473 for (var i = 0, n = regexs.length; i < n; ++i) {
474 var regex = regexs[i];
475 if (regex.global || regex.multiline) { throw new Error('' + regex); }
476 rewritten.push(
477 '(?:' + allowAnywhereFoldCaseAndRenumberGroups(regex) + ')');
478 }
479
480 return new RegExp(rewritten.join('|'), ignoreCase ? 'gi' : 'g');
481 }
482
483
484 /**
485 * Split markup into a string of source code and an array mapping ranges in
486 * that string to the text nodes in which they appear.
487 *
488 * <p>
489 * The HTML DOM structure:</p>
490 * <pre>
491 * (Element "p"
492 * (Element "b"
493 * (Text "print ")) ; #1
494 * (Text "'Hello '") ; #2
495 * (Element "br") ; #3
496 * (Text " + 'World';")) ; #4
497 * </pre>
498 * <p>
499 * corresponds to the HTML
500 * {@code <p><b>print </b>'Hello '<br> + 'World';</p>}.</p>
501 *
502 * <p>
503 * It will produce the output:</p>
504 * <pre>
505 * {
506 * sourceCode: "print 'Hello '\n + 'World';",
507 * // 1 2
508 * // 012345678901234 5678901234567
509 * spans: [0, #1, 6, #2, 14, #3, 15, #4]
510 * }
511 * </pre>
512 * <p>
513 * where #1 is a reference to the {@code "print "} text node above, and so
514 * on for the other text nodes.
515 * </p>
516 *
517 * <p>
518 * The {@code} spans array is an array of pairs. Even elements are the start
519 * indices of substrings, and odd elements are the text nodes (or BR elements)
520 * that contain the text for those substrings.
521 * Substrings continue until the next index or the end of the source.
522 * </p>
523 *
524 * @param {Node} node an HTML DOM subtree containing source-code.
525 * @param {boolean} isPreformatted true if white-space in text nodes should
526 * be considered significant.
527 * @return {Object} source code and the text nodes in which they occur.
528 */
529 function extractSourceSpans(node, isPreformatted) {
530 var nocode = /(?:^|\s)nocode(?:\s|$)/;
531
532 var chunks = [];
533 var length = 0;
534 var spans = [];
535 var k = 0;
536
537 function walk(node) {
538 switch (node.nodeType) {
539 case 1: // Element
540 if (nocode.test(node.className)) { return; }
541 for (var child = node.firstChild; child; child = child.nextSibling) {
542 walk(child);
543 }
544 var nodeName = node.nodeName.toLowerCase();
545 if ('br' === nodeName || 'li' === nodeName) {
546 chunks[k] = '\n';
547 spans[k << 1] = length++;
548 spans[(k++ << 1) | 1] = node;
549 }
550 break;
551 case 3: case 4: // Text
552 var text = node.nodeValue;
553 if (text.length) {
554 if (!isPreformatted) {
555 text = text.replace(/[ \t\r\n]+/g, ' ');
556 } else {
557 text = text.replace(/\r\n?/g, '\n'); // Normalize newlines.
558 text = text.replace(/^(\r?\n\s*)+/g, ''); // Remove leading newlines
559 text = text.replace(/^\s*/g, ''); // Remove leading spaces due to indented formatting
560 text = text.replace(/(\r?\n\s*)+$/g, ''); // Remove ending newlines
561
562 }
563 // TODO: handle tabs here?
564 chunks[k] = text;
565 spans[k << 1] = length;
566 length += text.length;
567 spans[(k++ << 1) | 1] = node;
568 }
569 break;
570 }
571 }
572
573 walk(node);
574
575 return {
576 sourceCode: chunks.join('').replace(/\n$/, ''),
577 spans: spans
578 };
579 }
580
581
582 /**
583 * Apply the given language handler to sourceCode and add the resulting
584 * decorations to out.
585 * @param {number} basePos the index of sourceCode within the chunk of source
586 * whose decorations are already present on out.
587 */
588 function appendDecorations(basePos, sourceCode, langHandler, out) {
589 if (!sourceCode) { return; }
590 var job = {
591 sourceCode: sourceCode,
592 basePos: basePos
593 };
594 langHandler(job);
595 out.push.apply(out, job.decorations);
596 }
597
598 var notWs = /\S/;
599
600 /**
601 * Given an element, if it contains only one child element and any text nodes
602 * it contains contain only space characters, return the sole child element.
603 * Otherwise returns undefined.
604 * <p>
605 * This is meant to return the CODE element in {@code <pre><code ...>} when
606 * there is a single child element that contains all the non-space textual
607 * content, but not to return anything where there are multiple child elements
608 * as in {@code <pre><code>...</code><code>...</code></pre>} or when there
609 * is textual content.
610 */
611 function childContentWrapper(element) {
612 var wrapper = undefined;
613 for (var c = element.firstChild; c; c = c.nextSibling) {
614 var type = c.nodeType;
615 wrapper = (type === 1) // Element Node
616 ? (wrapper ? element : c)
617 : (type === 3) // Text Node
618 ? (notWs.test(c.nodeValue) ? element : wrapper)
619 : wrapper;
620 }
621 return wrapper === element ? undefined : wrapper;
622 }
623
624 /** Given triples of [style, pattern, context] returns a lexing function,
625 * The lexing function interprets the patterns to find token boundaries and
626 * returns a decoration list of the form
627 * [index_0, style_0, index_1, style_1, ..., index_n, style_n]
628 * where index_n is an index into the sourceCode, and style_n is a style
629 * constant like PR_PLAIN. index_n-1 <= index_n, and style_n-1 applies to
630 * all characters in sourceCode[index_n-1:index_n].
631 *
632 * The stylePatterns is a list whose elements have the form
633 * [style : string, pattern : RegExp, DEPRECATED, shortcut : string].
634 *
635 * Style is a style constant like PR_PLAIN, or can be a string of the
636 * form 'lang-FOO', where FOO is a language extension describing the
637 * language of the portion of the token in $1 after pattern executes.
638 * E.g., if style is 'lang-lisp', and group 1 contains the text
639 * '(hello (world))', then that portion of the token will be passed to the
640 * registered lisp handler for formatting.
641 * The text before and after group 1 will be restyled using this decorator
642 * so decorators should take care that this doesn't result in infinite
643 * recursion. For example, the HTML lexer rule for SCRIPT elements looks
644 * something like ['lang-js', /<[s]cript>(.+?)<\/script>/]. This may match
645 * '<script>foo()<\/script>', which would cause the current decorator to
646 * be called with '<script>' which would not match the same rule since
647 * group 1 must not be empty, so it would be instead styled as PR_TAG by
648 * the generic tag rule. The handler registered for the 'js' extension would
649 * then be called with 'foo()', and finally, the current decorator would
650 * be called with '<\/script>' which would not match the original rule and
651 * so the generic tag rule would identify it as a tag.
652 *
653 * Pattern must only match prefixes, and if it matches a prefix, then that
654 * match is considered a token with the same style.
655 *
656 * Context is applied to the last non-whitespace, non-comment token
657 * recognized.
658 *
659 * Shortcut is an optional string of characters, any of which, if the first
660 * character, gurantee that this pattern and only this pattern matches.
661 *
662 * @param {Array} shortcutStylePatterns patterns that always start with
663 * a known character. Must have a shortcut string.
664 * @param {Array} fallthroughStylePatterns patterns that will be tried in
665 * order if the shortcut ones fail. May have shortcuts.
666 *
667 * @return {function (Object)} a
668 * function that takes source code and returns a list of decorations.
669 */
670 function createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns) {
671 var shortcuts = {};
672 var tokenizer;
673 (function () {
674 var allPatterns = shortcutStylePatterns.concat(fallthroughStylePatterns);
675 var allRegexs = [];
676 var regexKeys = {};
677 for (var i = 0, n = allPatterns.length; i < n; ++i) {
678 var patternParts = allPatterns[i];
679 var shortcutChars = patternParts[3];
680 if (shortcutChars) {
681 for (var c = shortcutChars.length; --c >= 0;) {
682 shortcuts[shortcutChars.charAt(c)] = patternParts;
683 }
684 }
685 var regex = patternParts[1];
686 var k = '' + regex;
687 if (!regexKeys.hasOwnProperty(k)) {
688 allRegexs.push(regex);
689 regexKeys[k] = null;
690 }
691 }
692 allRegexs.push(/[\0-\uffff]/);
693 tokenizer = combinePrefixPatterns(allRegexs);
694 })();
695
696 var nPatterns = fallthroughStylePatterns.length;
697
698 /**
699 * Lexes job.sourceCode and produces an output array job.decorations of
700 * style classes preceded by the position at which they start in
701 * job.sourceCode in order.
702 *
703 * @param {Object} job an object like <pre>{
704 * sourceCode: {string} sourceText plain text,
705 * basePos: {int} position of job.sourceCode in the larger chunk of
706 * sourceCode.
707 * }</pre>
708 */
709 var decorate = function (job) {
710 var sourceCode = job.sourceCode, basePos = job.basePos;
711 /** Even entries are positions in source in ascending order. Odd enties
712 * are style markers (e.g., PR_COMMENT) that run from that position until
713 * the end.
714 * @type {Array.<number|string>}
715 */
716 var decorations = [basePos, PR_PLAIN];
717 var pos = 0; // index into sourceCode
718 var tokens = sourceCode.match(tokenizer) || [];
719 var styleCache = {};
720
721 for (var ti = 0, nTokens = tokens.length; ti < nTokens; ++ti) {
722 var token = tokens[ti];
723 var style = styleCache[token];
724 var match = void 0;
725
726 var isEmbedded;
727 if (typeof style === 'string') {
728 isEmbedded = false;
729 } else {
730 var patternParts = shortcuts[token.charAt(0)];
731 if (patternParts) {
732 match = token.match(patternParts[1]);
733 style = patternParts[0];
734 } else {
735 for (var i = 0; i < nPatterns; ++i) {
736 patternParts = fallthroughStylePatterns[i];
737 match = token.match(patternParts[1]);
738 if (match) {
739 style = patternParts[0];
740 break;
741 }
742 }
743
744 if (!match) { // make sure that we make progress
745 style = PR_PLAIN;
746 }
747 }
748
749 isEmbedded = style.length >= 5 && 'lang-' === style.substring(0, 5);
750 if (isEmbedded && !(match && typeof match[1] === 'string')) {
751 isEmbedded = false;
752 style = PR_SOURCE;
753 }
754
755 if (!isEmbedded) { styleCache[token] = style; }
756 }
757
758 var tokenStart = pos;
759 pos += token.length;
760
761 if (!isEmbedded) {
762 decorations.push(basePos + tokenStart, style);
763 } else { // Treat group 1 as an embedded block of source code.
764 var embeddedSource = match[1];
765 var embeddedSourceStart = token.indexOf(embeddedSource);
766 var embeddedSourceEnd = embeddedSourceStart + embeddedSource.length;
767 if (match[2]) {
768 // If embeddedSource can be blank, then it would match at the
769 // beginning which would cause us to infinitely recurse on the
770 // entire token, so we catch the right context in match[2].
771 embeddedSourceEnd = token.length - match[2].length;
772 embeddedSourceStart = embeddedSourceEnd - embeddedSource.length;
773 }
774 var lang = style.substring(5);
775 // Decorate the left of the embedded source
776 appendDecorations(
777 basePos + tokenStart,
778 token.substring(0, embeddedSourceStart),
779 decorate, decorations);
780 // Decorate the embedded source
781 appendDecorations(
782 basePos + tokenStart + embeddedSourceStart,
783 embeddedSource,
784 langHandlerForExtension(lang, embeddedSource),
785 decorations);
786 // Decorate the right of the embedded section
787 appendDecorations(
788 basePos + tokenStart + embeddedSourceEnd,
789 token.substring(embeddedSourceEnd),
790 decorate, decorations);
791 }
792 }
793 job.decorations = decorations;
794 };
795 return decorate;
796 }
797
798 /** returns a function that produces a list of decorations from source text.
799 *
800 * This code treats ", ', and ` as string delimiters, and \ as a string
801 * escape. It does not recognize perl's qq() style strings.
802 * It has no special handling for double delimiter escapes as in basic, or
803 * the tripled delimiters used in python, but should work on those regardless
804 * although in those cases a single string literal may be broken up into
805 * multiple adjacent string literals.
806 *
807 * It recognizes C, C++, and shell style comments.
808 *
809 * @param {Object} options a set of optional parameters.
810 * @return {function (Object)} a function that examines the source code
811 * in the input job and builds the decoration list.
812 */
813 function sourceDecorator(options) {
814 var shortcutStylePatterns = [], fallthroughStylePatterns = [];
815 if (options['tripleQuotedStrings']) {
816 // '''multi-line-string''', 'single-line-string', and double-quoted
817 shortcutStylePatterns.push(
818 [PR_STRING, /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,
819 null, '\'"']);
820 } else if (options['multiLineStrings']) {
821 // 'multi-line-string', "multi-line-string"
822 shortcutStylePatterns.push(
823 [PR_STRING, /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,
824 null, '\'"`']);
825 } else {
826 // 'single-line-string', "single-line-string"
827 shortcutStylePatterns.push(
828 [PR_STRING,
829 /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,
830 null, '"\'']);
831 }
832 if (options['verbatimStrings']) {
833 // verbatim-string-literal production from the C# grammar. See issue 93.
834 fallthroughStylePatterns.push(
835 [PR_STRING, /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]);
836 }
837 var hc = options['hashComments'];
838 if (hc) {
839 if (options['cStyleComments']) {
840 if (hc > 1) { // multiline hash comments
841 shortcutStylePatterns.push(
842 [PR_COMMENT, /^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/, null, '#']);
843 } else {
844 // Stop C preprocessor declarations at an unclosed open comment
845 shortcutStylePatterns.push(
846 [PR_COMMENT, /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,
847 null, '#']);
848 }
849 // #include <stdio.h>
850 fallthroughStylePatterns.push(
851 [PR_STRING,
852 /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/,
853 null]);
854 } else {
855 shortcutStylePatterns.push([PR_COMMENT, /^#[^\r\n]*/, null, '#']);
856 }
857 }
858 if (options['cStyleComments']) {
859 fallthroughStylePatterns.push([PR_COMMENT, /^\/\/[^\r\n]*/, null]);
860 fallthroughStylePatterns.push(
861 [PR_COMMENT, /^\/\*[\s\S]*?(?:\*\/|$)/, null]);
862 }
863 if (options['regexLiterals']) {
864 /**
865 * @const
866 */
867 var REGEX_LITERAL = (
868 // A regular expression literal starts with a slash that is
869 // not followed by * or / so that it is not confused with
870 // comments.
871 '/(?=[^/*])'
872 // and then contains any number of raw characters,
873 + '(?:[^/\\x5B\\x5C]'
874 // escape sequences (\x5C),
875 + '|\\x5C[\\s\\S]'
876 // or non-nesting character sets (\x5B\x5D);
877 + '|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+'
878 // finally closed by a /.
879 + '/');
880 fallthroughStylePatterns.push(
881 ['lang-regex',
882 new RegExp('^' + REGEXP_PRECEDER_PATTERN + '(' + REGEX_LITERAL + ')')
883 ]);
884 }
885
886 var types = options['types'];
887 if (types) {
888 fallthroughStylePatterns.push([PR_TYPE, types]);