summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortron <tron>2013-07-30 20:17:50 +0000
committertron <tron>2013-07-30 20:17:50 +0000
commit99a284861adfb3e41fd22319bf49d0e36131189c (patch)
tree2706dcdbe1c02b515f64350dc767a864df529f79
parent7997dc8a44f9ef675f6ca23dfe2b05bf9d1b2c55 (diff)
downloadpkgsrc-99a284861adfb3e41fd22319bf49d0e36131189c.tar.gz
Pullup ticket #4193 - requested by ryoon
www/apache24: security update Revisions pulled up: - www/apache24/Makefile 1.21 via patch - www/apache24/PLIST 1.11 - www/apache24/distinfo 1.10 - www/apache24/patches/patch-support_htdbm.c deleted - www/apache24/patches/patch-support_htdigest.c deleted - www/apache24/patches/patch-support_htpasswd.c deleted - www/apache24/patches/patch-support_passwd__common.c deleted - www/apache24/patches/patch-support_passwd__common.h deleted --- Module Name: pkgsrc Committed By: ryoon Date: Tue Jul 30 12:51:29 UTC 2013 Modified Files: pkgsrc/www/apache24: Makefile PLIST distinfo Removed Files: pkgsrc/www/apache24/patches: patch-support_htdbm.c patch-support_htdigest.c patch-support_htpasswd.c patch-support_passwd__common.c patch-support_passwd__common.h Log Message: Update to 2.4.6 Changelog: Security buxfixes. SECURITY: CVE-2013-1896 (cve.mitre.org) Sending a MERGE request against a URI handled by mod_dav_svn with the source href (sent as part of the request body as XML) pointing to a URI that is not configured for DAV will trigger a segfault. SECURITY: CVE-2013-2249 (cve.mitre.org) mod_session_dbd: Make sure that dirty flag is respected when saving sessions, and ensure the session ID is changed each time the session changes. This changes the format of the updatesession SQL statement. Existing configurations must be changed. And feature enhancement and bugfixes.
-rw-r--r--www/apache24/Makefile5
-rw-r--r--www/apache24/PLIST333
-rw-r--r--www/apache24/distinfo13
-rw-r--r--www/apache24/patches/patch-support_htdbm.c14
-rw-r--r--www/apache24/patches/patch-support_htdigest.c48
-rw-r--r--www/apache24/patches/patch-support_htpasswd.c266
-rw-r--r--www/apache24/patches/patch-support_passwd__common.c138
-rw-r--r--www/apache24/patches/patch-support_passwd__common.h25
8 files changed, 338 insertions, 504 deletions
diff --git a/www/apache24/Makefile b/www/apache24/Makefile
index f91f90106e4..ea4cef9577c 100644
--- a/www/apache24/Makefile
+++ b/www/apache24/Makefile
@@ -1,8 +1,7 @@
-# $NetBSD: Makefile,v 1.18 2013/06/20 09:06:45 taca Exp $
+# $NetBSD: Makefile,v 1.18.2.1 2013/07/30 20:17:50 tron Exp $
-DISTNAME= httpd-2.4.4
+DISTNAME= httpd-2.4.6
PKGNAME= ${DISTNAME:S/httpd/apache/}
-PKGREVISION= 3
CATEGORIES= www
MASTER_SITES= ${MASTER_SITE_APACHE:=httpd/} \
http://archive.apache.org/dist/httpd/ \
diff --git a/www/apache24/PLIST b/www/apache24/PLIST
index c5c3b9ccb70..abaf62bf813 100644
--- a/www/apache24/PLIST
+++ b/www/apache24/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.10 2013/04/11 11:01:09 fhajny Exp $
+@comment $NetBSD: PLIST,v 1.10.2.1 2013/07/30 20:17:50 tron Exp $
bin/ab
bin/apxs
bin/dbmmanage
@@ -96,6 +96,7 @@ lib/httpd/mod_autoindex.so
lib/httpd/mod_buffer.so
lib/httpd/mod_cache.so
lib/httpd/mod_cache_disk.so
+lib/httpd/mod_cache_socache.so
lib/httpd/mod_cgid.so
lib/httpd/mod_charset_lite.so
lib/httpd/mod_data.so
@@ -128,6 +129,7 @@ lib/httpd/mod_log_debug.so
lib/httpd/mod_log_forensic.so
lib/httpd/mod_logio.so
${PLIST.lua}lib/httpd/mod_lua.so
+lib/httpd/mod_macro.so
lib/httpd/mod_mime.so
lib/httpd/mod_mime_magic.so
lib/httpd/mod_mpm_event.so
@@ -145,6 +147,7 @@ lib/httpd/mod_proxy_fdpass.so
lib/httpd/mod_proxy_ftp.so
lib/httpd/mod_proxy_http.so
lib/httpd/mod_proxy_scgi.so
+lib/httpd/mod_proxy_wstunnel.so
lib/httpd/mod_ratelimit.so
lib/httpd/mod_reflector.so
lib/httpd/mod_remoteip.so
@@ -489,6 +492,295 @@ share/httpd/icons/world1.png
share/httpd/icons/world2.gif
share/httpd/icons/world2.png
share/httpd/icons/xml.png
+share/examples/httpd/extra/httpd-autoindex.conf
+share/examples/httpd/extra/httpd-dav.conf
+share/examples/httpd/extra/httpd-default.conf
+share/examples/httpd/extra/httpd-info.conf
+share/examples/httpd/extra/httpd-languages.conf
+share/examples/httpd/extra/httpd-manual.conf
+share/examples/httpd/extra/httpd-mpm.conf
+share/examples/httpd/extra/httpd-multilang-errordoc.conf
+share/examples/httpd/extra/httpd-ssl.conf
+share/examples/httpd/extra/httpd-userdir.conf
+share/examples/httpd/extra/httpd-vhosts.conf
+share/examples/httpd/extra/proxy-html.conf
+share/examples/httpd/httpd.conf
+share/examples/httpd/magic
+share/examples/httpd/mime.types
+share/examples/rc.d/apache
+share/httpd/build/config.nice
+share/httpd/build/config_vars.mk
+share/httpd/build/instdso.sh
+share/httpd/build/library.mk
+share/httpd/build/libtool
+share/httpd/build/ltlib.mk
+share/httpd/build/mkdir.sh
+share/httpd/build/program.mk
+share/httpd/build/rules.mk
+share/httpd/build/special.mk
+share/httpd/error/HTTP_BAD_GATEWAY.html.var
+share/httpd/error/HTTP_BAD_REQUEST.html.var
+share/httpd/error/HTTP_FORBIDDEN.html.var
+share/httpd/error/HTTP_GONE.html.var
+share/httpd/error/HTTP_INTERNAL_SERVER_ERROR.html.var
+share/httpd/error/HTTP_LENGTH_REQUIRED.html.var
+share/httpd/error/HTTP_METHOD_NOT_ALLOWED.html.var
+share/httpd/error/HTTP_NOT_FOUND.html.var
+share/httpd/error/HTTP_NOT_IMPLEMENTED.html.var
+share/httpd/error/HTTP_PRECONDITION_FAILED.html.var
+share/httpd/error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
+share/httpd/error/HTTP_REQUEST_TIME_OUT.html.var
+share/httpd/error/HTTP_REQUEST_URI_TOO_LARGE.html.var
+share/httpd/error/HTTP_SERVICE_UNAVAILABLE.html.var
+share/httpd/error/HTTP_UNAUTHORIZED.html.var
+share/httpd/error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
+share/httpd/error/HTTP_VARIANT_ALSO_VARIES.html.var
+share/httpd/error/README
+share/httpd/error/contact.html.var
+share/httpd/error/include/bottom.html
+share/httpd/error/include/spacer.html
+share/httpd/error/include/top.html
+share/httpd/htdocs/index.html
+share/httpd/icons/README
+share/httpd/icons/README.html
+share/httpd/icons/a.gif
+share/httpd/icons/a.png
+share/httpd/icons/alert.black.gif
+share/httpd/icons/alert.black.png
+share/httpd/icons/alert.red.gif
+share/httpd/icons/alert.red.png
+share/httpd/icons/apache_pb.gif
+share/httpd/icons/apache_pb.png
+share/httpd/icons/apache_pb.svg
+share/httpd/icons/apache_pb2.gif
+share/httpd/icons/apache_pb2.png
+share/httpd/icons/back.gif
+share/httpd/icons/back.png
+share/httpd/icons/ball.gray.gif
+share/httpd/icons/ball.gray.png
+share/httpd/icons/ball.red.gif
+share/httpd/icons/ball.red.png
+share/httpd/icons/binary.gif
+share/httpd/icons/binary.png
+share/httpd/icons/binhex.gif
+share/httpd/icons/binhex.png
+share/httpd/icons/blank.gif
+share/httpd/icons/blank.png
+share/httpd/icons/bomb.gif
+share/httpd/icons/bomb.png
+share/httpd/icons/box1.gif
+share/httpd/icons/box1.png
+share/httpd/icons/box2.gif
+share/httpd/icons/box2.png
+share/httpd/icons/broken.gif
+share/httpd/icons/broken.png
+share/httpd/icons/burst.gif
+share/httpd/icons/burst.png
+share/httpd/icons/c.gif
+share/httpd/icons/c.png
+share/httpd/icons/comp.blue.gif
+share/httpd/icons/comp.blue.png
+share/httpd/icons/comp.gray.gif
+share/httpd/icons/comp.gray.png
+share/httpd/icons/compressed.gif
+share/httpd/icons/compressed.png
+share/httpd/icons/continued.gif
+share/httpd/icons/continued.png
+share/httpd/icons/dir.gif
+share/httpd/icons/dir.png
+share/httpd/icons/diskimg.gif
+share/httpd/icons/diskimg.png
+share/httpd/icons/down.gif
+share/httpd/icons/down.png
+share/httpd/icons/dvi.gif
+share/httpd/icons/dvi.png
+share/httpd/icons/f.gif
+share/httpd/icons/f.png
+share/httpd/icons/folder.gif
+share/httpd/icons/folder.open.gif
+share/httpd/icons/folder.open.png
+share/httpd/icons/folder.png
+share/httpd/icons/folder.sec.gif
+share/httpd/icons/folder.sec.png
+share/httpd/icons/forward.gif
+share/httpd/icons/forward.png
+share/httpd/icons/generic.gif
+share/httpd/icons/generic.png
+share/httpd/icons/generic.red.gif
+share/httpd/icons/generic.red.png
+share/httpd/icons/generic.sec.gif
+share/httpd/icons/generic.sec.png
+share/httpd/icons/hand.right.gif
+share/httpd/icons/hand.right.png
+share/httpd/icons/hand.up.gif
+share/httpd/icons/hand.up.png
+share/httpd/icons/icon.sheet.gif
+share/httpd/icons/icon.sheet.png
+share/httpd/icons/image1.gif
+share/httpd/icons/image1.png
+share/httpd/icons/image2.gif
+share/httpd/icons/image2.png
+share/httpd/icons/image3.gif
+share/httpd/icons/image3.png
+share/httpd/icons/index.gif
+share/httpd/icons/index.png
+share/httpd/icons/layout.gif
+share/httpd/icons/layout.png
+share/httpd/icons/left.gif
+share/httpd/icons/left.png
+share/httpd/icons/link.gif
+share/httpd/icons/link.png
+share/httpd/icons/movie.gif
+share/httpd/icons/movie.png
+share/httpd/icons/odf6odb.png
+share/httpd/icons/odf6odc.png
+share/httpd/icons/odf6odf.png
+share/httpd/icons/odf6odg.png
+share/httpd/icons/odf6odi.png
+share/httpd/icons/odf6odm.png
+share/httpd/icons/odf6odp.png
+share/httpd/icons/odf6ods.png
+share/httpd/icons/odf6odt.png
+share/httpd/icons/odf6otc.png
+share/httpd/icons/odf6otf.png
+share/httpd/icons/odf6otg.png
+share/httpd/icons/odf6oth.png
+share/httpd/icons/odf6oti.png
+share/httpd/icons/odf6otp.png
+share/httpd/icons/odf6ots.png
+share/httpd/icons/odf6ott.png
+share/httpd/icons/p.gif
+share/httpd/icons/p.png
+share/httpd/icons/patch.gif
+share/httpd/icons/patch.png
+share/httpd/icons/pdf.gif
+share/httpd/icons/pdf.png
+share/httpd/icons/pie0.gif
+share/httpd/icons/pie0.png
+share/httpd/icons/pie1.gif
+share/httpd/icons/pie1.png
+share/httpd/icons/pie2.gif
+share/httpd/icons/pie2.png
+share/httpd/icons/pie3.gif
+share/httpd/icons/pie3.png
+share/httpd/icons/pie4.gif
+share/httpd/icons/pie4.png
+share/httpd/icons/pie5.gif
+share/httpd/icons/pie5.png
+share/httpd/icons/pie6.gif
+share/httpd/icons/pie6.png
+share/httpd/icons/pie7.gif
+share/httpd/icons/pie7.png
+share/httpd/icons/pie8.gif
+share/httpd/icons/pie8.png
+share/httpd/icons/portal.gif
+share/httpd/icons/portal.png
+share/httpd/icons/ps.gif
+share/httpd/icons/ps.png
+share/httpd/icons/quill.gif
+share/httpd/icons/quill.png
+share/httpd/icons/right.gif
+share/httpd/icons/right.png
+share/httpd/icons/screw1.gif
+share/httpd/icons/screw1.png
+share/httpd/icons/screw2.gif
+share/httpd/icons/screw2.png
+share/httpd/icons/script.gif
+share/httpd/icons/script.png
+share/httpd/icons/small/back.gif
+share/httpd/icons/small/back.png
+share/httpd/icons/small/binary.gif
+share/httpd/icons/small/binary.png
+share/httpd/icons/small/binhex.gif
+share/httpd/icons/small/binhex.png
+share/httpd/icons/small/blank.gif
+share/httpd/icons/small/blank.png
+share/httpd/icons/small/broken.gif
+share/httpd/icons/small/broken.png
+share/httpd/icons/small/burst.gif
+share/httpd/icons/small/burst.png
+share/httpd/icons/small/comp1.gif
+share/httpd/icons/small/comp1.png
+share/httpd/icons/small/comp2.gif
+share/httpd/icons/small/comp2.png
+share/httpd/icons/small/compressed.gif
+share/httpd/icons/small/compressed.png
+share/httpd/icons/small/continued.gif
+share/httpd/icons/small/continued.png
+share/httpd/icons/small/doc.gif
+share/httpd/icons/small/doc.png
+share/httpd/icons/small/folder.gif
+share/httpd/icons/small/folder.png
+share/httpd/icons/small/folder2.gif
+share/httpd/icons/small/folder2.png
+share/httpd/icons/small/forward.gif
+share/httpd/icons/small/forward.png
+share/httpd/icons/small/generic.gif
+share/httpd/icons/small/generic.png
+share/httpd/icons/small/generic2.gif
+share/httpd/icons/small/generic2.png
+share/httpd/icons/small/generic3.gif
+share/httpd/icons/small/generic3.png
+share/httpd/icons/small/image.gif
+share/httpd/icons/small/image.png
+share/httpd/icons/small/image2.gif
+share/httpd/icons/small/image2.png
+share/httpd/icons/small/index.gif
+share/httpd/icons/small/index.png
+share/httpd/icons/small/key.gif
+share/httpd/icons/small/key.png
+share/httpd/icons/small/movie.gif
+share/httpd/icons/small/movie.png
+share/httpd/icons/small/patch.gif
+share/httpd/icons/small/patch.png
+share/httpd/icons/small/ps.gif
+share/httpd/icons/small/ps.png
+share/httpd/icons/small/rainbow.gif
+share/httpd/icons/small/rainbow.png
+share/httpd/icons/small/sound.gif
+share/httpd/icons/small/sound.png
+share/httpd/icons/small/sound2.gif
+share/httpd/icons/small/sound2.png
+share/httpd/icons/small/tar.gif
+share/httpd/icons/small/tar.png
+share/httpd/icons/small/text.gif
+share/httpd/icons/small/text.png
+share/httpd/icons/small/transfer.gif
+share/httpd/icons/small/transfer.png
+share/httpd/icons/small/unknown.gif
+share/httpd/icons/small/unknown.png
+share/httpd/icons/small/uu.gif
+share/httpd/icons/small/uu.png
+share/httpd/icons/sound1.gif
+share/httpd/icons/sound1.png
+share/httpd/icons/sound2.gif
+share/httpd/icons/sound2.png
+share/httpd/icons/sphere1.gif
+share/httpd/icons/sphere1.png
+share/httpd/icons/sphere2.gif
+share/httpd/icons/sphere2.png
+share/httpd/icons/svg.png
+share/httpd/icons/tar.gif
+share/httpd/icons/tar.png
+share/httpd/icons/tex.gif
+share/httpd/icons/tex.png
+share/httpd/icons/text.gif
+share/httpd/icons/text.png
+share/httpd/icons/transfer.gif
+share/httpd/icons/transfer.png
+share/httpd/icons/unknown.gif
+share/httpd/icons/unknown.png
+share/httpd/icons/up.gif
+share/httpd/icons/up.png
+share/httpd/icons/uu.gif
+share/httpd/icons/uu.png
+share/httpd/icons/uuencoded.gif
+share/httpd/icons/uuencoded.png
+share/httpd/icons/world1.gif
+share/httpd/icons/world1.png
+share/httpd/icons/world2.gif
+share/httpd/icons/world2.png
+share/httpd/icons/xml.png
share/httpd/manual/BUILDING
share/httpd/manual/LICENSE
share/httpd/manual/bind.html
@@ -878,6 +1170,8 @@ share/httpd/manual/mod/mod_cache_disk.html.en
share/httpd/manual/mod/mod_cache_disk.html.fr
share/httpd/manual/mod/mod_cache_disk.html.ja.utf8
share/httpd/manual/mod/mod_cache_disk.html.ko.euc-kr
+share/httpd/manual/mod/mod_cache_socache.html
+share/httpd/manual/mod/mod_cache_socache.html.en
share/httpd/manual/mod/mod_cern_meta.html
share/httpd/manual/mod/mod_cern_meta.html.en
share/httpd/manual/mod/mod_cern_meta.html.fr
@@ -973,8 +1267,10 @@ share/httpd/manual/mod/mod_headers.html.ja.utf8
share/httpd/manual/mod/mod_headers.html.ko.euc-kr
share/httpd/manual/mod/mod_heartbeat.html
share/httpd/manual/mod/mod_heartbeat.html.en
+share/httpd/manual/mod/mod_heartbeat.html.fr
share/httpd/manual/mod/mod_heartmonitor.html
share/httpd/manual/mod/mod_heartmonitor.html.en
+share/httpd/manual/mod/mod_heartmonitor.html.fr
share/httpd/manual/mod/mod_ident.html
share/httpd/manual/mod/mod_ident.html.en
share/httpd/manual/mod/mod_ident.html.fr
@@ -982,9 +1278,11 @@ share/httpd/manual/mod/mod_ident.html.ja.utf8
share/httpd/manual/mod/mod_ident.html.ko.euc-kr
share/httpd/manual/mod/mod_imagemap.html
share/httpd/manual/mod/mod_imagemap.html.en
+share/httpd/manual/mod/mod_imagemap.html.fr
share/httpd/manual/mod/mod_imagemap.html.ko.euc-kr
share/httpd/manual/mod/mod_include.html
share/httpd/manual/mod/mod_include.html.en
+share/httpd/manual/mod/mod_include.html.fr
share/httpd/manual/mod/mod_include.html.ja.utf8
share/httpd/manual/mod/mod_info.html
share/httpd/manual/mod/mod_info.html.en
@@ -1012,11 +1310,13 @@ share/httpd/manual/mod/mod_ldap.html.en
share/httpd/manual/mod/mod_ldap.html.fr
share/httpd/manual/mod/mod_log_config.html
share/httpd/manual/mod/mod_log_config.html.en
+share/httpd/manual/mod/mod_log_config.html.fr
share/httpd/manual/mod/mod_log_config.html.ja.utf8
share/httpd/manual/mod/mod_log_config.html.ko.euc-kr
share/httpd/manual/mod/mod_log_config.html.tr.utf8
share/httpd/manual/mod/mod_log_debug.html
share/httpd/manual/mod/mod_log_debug.html.en
+share/httpd/manual/mod/mod_log_debug.html.fr
share/httpd/manual/mod/mod_log_forensic.html
share/httpd/manual/mod/mod_log_forensic.html.en
share/httpd/manual/mod/mod_log_forensic.html.fr
@@ -1031,11 +1331,16 @@ share/httpd/manual/mod/mod_logio.html.tr.utf8
share/httpd/manual/mod/mod_lua.html
share/httpd/manual/mod/mod_lua.html.en
share/httpd/manual/mod/mod_lua.html.fr
+share/httpd/manual/mod/mod_macro.html
+share/httpd/manual/mod/mod_macro.html.en
+share/httpd/manual/mod/mod_macro.html.fr
share/httpd/manual/mod/mod_mime.html
share/httpd/manual/mod/mod_mime.html.en
+share/httpd/manual/mod/mod_mime.html.fr
share/httpd/manual/mod/mod_mime.html.ja.utf8
share/httpd/manual/mod/mod_mime_magic.html
share/httpd/manual/mod/mod_mime_magic.html.en
+share/httpd/manual/mod/mod_mime_magic.html.fr
share/httpd/manual/mod/mod_negotiation.html
share/httpd/manual/mod/mod_negotiation.html.en
share/httpd/manual/mod/mod_negotiation.html.fr
@@ -1083,6 +1388,8 @@ share/httpd/manual/mod/mod_proxy_http.html.fr
share/httpd/manual/mod/mod_proxy_scgi.html
share/httpd/manual/mod/mod_proxy_scgi.html.en
share/httpd/manual/mod/mod_proxy_scgi.html.fr
+share/httpd/manual/mod/mod_proxy_wstunnel.html
+share/httpd/manual/mod/mod_proxy_wstunnel.html.en
share/httpd/manual/mod/mod_ratelimit.html
share/httpd/manual/mod/mod_ratelimit.html.en
share/httpd/manual/mod/mod_ratelimit.html.fr
@@ -1094,6 +1401,7 @@ share/httpd/manual/mod/mod_remoteip.html.en
share/httpd/manual/mod/mod_remoteip.html.fr
share/httpd/manual/mod/mod_reqtimeout.html
share/httpd/manual/mod/mod_reqtimeout.html.en
+share/httpd/manual/mod/mod_reqtimeout.html.fr
share/httpd/manual/mod/mod_request.html
share/httpd/manual/mod/mod_request.html.en
share/httpd/manual/mod/mod_request.html.fr
@@ -1109,10 +1417,13 @@ share/httpd/manual/mod/mod_session.html.en
share/httpd/manual/mod/mod_session.html.fr
share/httpd/manual/mod/mod_session_cookie.html
share/httpd/manual/mod/mod_session_cookie.html.en
+share/httpd/manual/mod/mod_session_cookie.html.fr
share/httpd/manual/mod/mod_session_crypto.html
share/httpd/manual/mod/mod_session_crypto.html.en
+share/httpd/manual/mod/mod_session_crypto.html.fr
share/httpd/manual/mod/mod_session_dbd.html
share/httpd/manual/mod/mod_session_dbd.html.en
+share/httpd/manual/mod/mod_session_dbd.html.fr
share/httpd/manual/mod/mod_setenvif.html
share/httpd/manual/mod/mod_setenvif.html.en
share/httpd/manual/mod/mod_setenvif.html.fr
@@ -1121,8 +1432,10 @@ share/httpd/manual/mod/mod_setenvif.html.ko.euc-kr
share/httpd/manual/mod/mod_setenvif.html.tr.utf8
share/httpd/manual/mod/mod_slotmem_plain.html
share/httpd/manual/mod/mod_slotmem_plain.html.en
+share/httpd/manual/mod/mod_slotmem_plain.html.fr
share/httpd/manual/mod/mod_slotmem_shm.html
share/httpd/manual/mod/mod_slotmem_shm.html.en
+share/httpd/manual/mod/mod_slotmem_shm.html.fr
share/httpd/manual/mod/mod_so.html
share/httpd/manual/mod/mod_so.html.en
share/httpd/manual/mod/mod_so.html.fr
@@ -1131,12 +1444,16 @@ share/httpd/manual/mod/mod_so.html.ko.euc-kr
share/httpd/manual/mod/mod_so.html.tr.utf8
share/httpd/manual/mod/mod_socache_dbm.html
share/httpd/manual/mod/mod_socache_dbm.html.en
+share/httpd/manual/mod/mod_socache_dbm.html.fr
share/httpd/manual/mod/mod_socache_dc.html
share/httpd/manual/mod/mod_socache_dc.html.en
+share/httpd/manual/mod/mod_socache_dc.html.fr
share/httpd/manual/mod/mod_socache_memcache.html
share/httpd/manual/mod/mod_socache_memcache.html.en
+share/httpd/manual/mod/mod_socache_memcache.html.fr
share/httpd/manual/mod/mod_socache_shmcb.html
share/httpd/manual/mod/mod_socache_shmcb.html.en
+share/httpd/manual/mod/mod_socache_shmcb.html.fr
share/httpd/manual/mod/mod_speling.html
share/httpd/manual/mod/mod_speling.html.en
share/httpd/manual/mod/mod_speling.html.fr
@@ -1156,6 +1473,7 @@ share/httpd/manual/mod/mod_substitute.html.en
share/httpd/manual/mod/mod_substitute.html.fr
share/httpd/manual/mod/mod_suexec.html
share/httpd/manual/mod/mod_suexec.html.en
+share/httpd/manual/mod/mod_suexec.html.fr
share/httpd/manual/mod/mod_suexec.html.ja.utf8
share/httpd/manual/mod/mod_suexec.html.ko.euc-kr
share/httpd/manual/mod/mod_suexec.html.tr.utf8
@@ -1166,20 +1484,24 @@ share/httpd/manual/mod/mod_unique_id.html.ja.utf8
share/httpd/manual/mod/mod_unique_id.html.ko.euc-kr
share/httpd/manual/mod/mod_unixd.html
share/httpd/manual/mod/mod_unixd.html.en
+share/httpd/manual/mod/mod_unixd.html.fr
share/httpd/manual/mod/mod_unixd.html.tr.utf8
share/httpd/manual/mod/mod_userdir.html
share/httpd/manual/mod/mod_userdir.html.en
+share/httpd/manual/mod/mod_userdir.html.fr
share/httpd/manual/mod/mod_userdir.html.ja.utf8
share/httpd/manual/mod/mod_userdir.html.ko.euc-kr
share/httpd/manual/mod/mod_userdir.html.tr.utf8
share/httpd/manual/mod/mod_usertrack.html
share/httpd/manual/mod/mod_usertrack.html.en
+share/httpd/manual/mod/mod_usertrack.html.fr
share/httpd/manual/mod/mod_version.html
share/httpd/manual/mod/mod_version.html.en
share/httpd/manual/mod/mod_version.html.ja.utf8
share/httpd/manual/mod/mod_version.html.ko.euc-kr
share/httpd/manual/mod/mod_vhost_alias.html
share/httpd/manual/mod/mod_vhost_alias.html.en
+share/httpd/manual/mod/mod_vhost_alias.html.fr
share/httpd/manual/mod/mod_vhost_alias.html.tr.utf8
share/httpd/manual/mod/mod_watchdog.html
share/httpd/manual/mod/mod_watchdog.html.en
@@ -1188,6 +1510,7 @@ share/httpd/manual/mod/mod_xml2enc.html.en
share/httpd/manual/mod/mod_xml2enc.html.fr
share/httpd/manual/mod/module-dict.html
share/httpd/manual/mod/module-dict.html.en
+share/httpd/manual/mod/module-dict.html.fr
share/httpd/manual/mod/module-dict.html.ja.utf8
share/httpd/manual/mod/module-dict.html.ko.euc-kr
share/httpd/manual/mod/module-dict.html.tr.utf8
@@ -1199,9 +1522,11 @@ share/httpd/manual/mod/mpm_common.html.ja.utf8
share/httpd/manual/mod/mpm_common.html.tr.utf8
share/httpd/manual/mod/mpm_netware.html
share/httpd/manual/mod/mpm_netware.html.en
+share/httpd/manual/mod/mpm_netware.html.fr
share/httpd/manual/mod/mpm_winnt.html
share/httpd/manual/mod/mpm_winnt.html.de
share/httpd/manual/mod/mpm_winnt.html.en
+share/httpd/manual/mod/mpm_winnt.html.fr
share/httpd/manual/mod/mpm_winnt.html.ja.utf8
share/httpd/manual/mod/mpmt_os2.html
share/httpd/manual/mod/mpmt_os2.html.en
@@ -1216,6 +1541,7 @@ share/httpd/manual/mod/quickreference.html
share/httpd/manual/mod/quickreference.html.de
share/httpd/manual/mod/quickreference.html.en
share/httpd/manual/mod/quickreference.html.es
+share/httpd/manual/mod/quickreference.html.fr
share/httpd/manual/mod/quickreference.html.ja.utf8
share/httpd/manual/mod/quickreference.html.ko.euc-kr
share/httpd/manual/mod/quickreference.html.tr.utf8
@@ -1259,21 +1585,26 @@ share/httpd/manual/platform/ebcdic.html.en
share/httpd/manual/platform/ebcdic.html.ko.euc-kr
share/httpd/manual/platform/index.html
share/httpd/manual/platform/index.html.en
+share/httpd/manual/platform/index.html.fr
share/httpd/manual/platform/index.html.ko.euc-kr
share/httpd/manual/platform/index.html.zh-cn
share/httpd/manual/platform/netware.html
share/httpd/manual/platform/netware.html.en
+share/httpd/manual/platform/netware.html.fr
share/httpd/manual/platform/netware.html.ko.euc-kr
share/httpd/manual/platform/perf-hp.html
share/httpd/manual/platform/perf-hp.html.en
+share/httpd/manual/platform/perf-hp.html.fr
share/httpd/manual/platform/perf-hp.html.ko.euc-kr
share/httpd/manual/platform/rpm.html
share/httpd/manual/platform/rpm.html.en
share/httpd/manual/platform/win_compiling.html
share/httpd/manual/platform/win_compiling.html.en
+share/httpd/manual/platform/win_compiling.html.fr
share/httpd/manual/platform/win_compiling.html.ko.euc-kr
share/httpd/manual/platform/windows.html
share/httpd/manual/platform/windows.html.en
+share/httpd/manual/platform/windows.html.fr
share/httpd/manual/platform/windows.html.ko.euc-kr
share/httpd/manual/programs/ab.html
share/httpd/manual/programs/ab.html.en
diff --git a/www/apache24/distinfo b/www/apache24/distinfo
index f84f92a592c..c9e061e6daa 100644
--- a/www/apache24/distinfo
+++ b/www/apache24/distinfo
@@ -1,8 +1,8 @@
-$NetBSD: distinfo,v 1.9 2013/06/20 09:06:45 taca Exp $
+$NetBSD: distinfo,v 1.9.2.1 2013/07/30 20:17:50 tron Exp $
-SHA1 (httpd-2.4.4.tar.bz2) = 0c5ab7f876aa10fbe8bfab2c34f8dd3dc76db16c
-RMD160 (httpd-2.4.4.tar.bz2) = 2e22389d9dc9ad98d6b6727c25b8fdca4f7868f6
-Size (httpd-2.4.4.tar.bz2) = 4780289 bytes
+SHA1 (httpd-2.4.6.tar.bz2) = 16d8ec72535ded65d035122b0d944b0e64eaa2a2
+RMD160 (httpd-2.4.6.tar.bz2) = 27baf9cdfc60f578c1f692137cd2d4b608e3361d
+Size (httpd-2.4.6.tar.bz2) = 4949897 bytes
SHA1 (patch-aa) = 2d92b1340aaae40289421f164346348c6d7fe839
SHA1 (patch-ab) = a3edcc20b7654e0446c7d442cda1510b23e5d324
SHA1 (patch-ac) = 9f86d845df30316d22bce677a4b176f51007ba0d
@@ -16,8 +16,3 @@ SHA1 (patch-aw) = 43cd64df886853ef7b75b91ed20183f329fcc9df
SHA1 (patch-include_ap__config.h) = 1d056e2d4db80ec97aaf755b6dd6aff69ed2cd96
SHA1 (patch-modules_ssl_ssl__private.h) = 7751a99a794957cbea19ff8d1a3e83bf8f276604
SHA1 (patch-server_core__filters.c) = 331672c9a65691229518f31dcdae64382b392287
-SHA1 (patch-support_htdbm.c) = df36815435a664fecedde63c5662f33ffc65fd33
-SHA1 (patch-support_htdigest.c) = 9c06c4c8b96ce9fc8cb9dd89c9fc5b1db0fbbbde
-SHA1 (patch-support_htpasswd.c) = 7af6cb63c99fa21def1d7dba3b8cdca10c423065
-SHA1 (patch-support_passwd__common.c) = 3a111a89213059bd9693e7fac9bac1aeef41a2d9
-SHA1 (patch-support_passwd__common.h) = 1ba7cef3b0ff79947456254678956b849bab8e71
diff --git a/www/apache24/patches/patch-support_htdbm.c b/www/apache24/patches/patch-support_htdbm.c
deleted file mode 100644
index c6b97de0564..00000000000
--- a/www/apache24/patches/patch-support_htdbm.c
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD: patch-support_htdbm.c,v 1.1 2013/06/20 09:06:45 taca Exp $
-
-Fix for htpasswd: https://issues.apache.org/bugzilla/show_bug.cgi?id=54735
-
---- support/htdbm.c.orig 2012-12-12 19:31:29.000000000 +0000
-+++ support/htdbm.c
-@@ -110,6 +110,7 @@ static apr_status_t htdbm_init(apr_pool_
- #endif
-
- apr_pool_create( pool, NULL);
-+ apr_pool_abort_set(abort_on_oom, *pool);
- apr_file_open_stderr(&errfile, *pool);
- apr_signal(SIGINT, (void (*)(int)) htdbm_interrupted);
-
diff --git a/www/apache24/patches/patch-support_htdigest.c b/www/apache24/patches/patch-support_htdigest.c
deleted file mode 100644
index 3f187c64886..00000000000
--- a/www/apache24/patches/patch-support_htdigest.c
+++ /dev/null
@@ -1,48 +0,0 @@
-$NetBSD: patch-support_htdigest.c,v 1.1 2013/06/20 09:06:45 taca Exp $
-
-Fix for htpasswd: https://issues.apache.org/bugzilla/show_bug.cgi?id=54735
-
---- support/htdigest.c.orig 2010-08-20 13:16:24.000000000 +0000
-+++ support/htdigest.c
-@@ -96,12 +96,15 @@ static int get_line(char *s, int n, apr_
- char ch;
- apr_status_t rv = APR_EINVAL;
-
-- while (i < (n - 1) &&
-+ /* we need 2 remaining bytes in buffer */
-+ while (i < (n - 2) &&
- ((rv = apr_file_getc(&ch, f)) == APR_SUCCESS) && (ch != '\n')) {
- s[i++] = ch;
- }
-+ /* First remaining byte potentially used here */
- if (ch == '\n')
- s[i++] = ch;
-+ /* Second remaining byte used here */
- s[i] = '\0';
-
- if (rv != APR_SUCCESS)
-@@ -202,8 +205,8 @@ int main(int argc, const char * const ar
- #if APR_CHARSET_EBCDIC
- rv = apr_xlate_open(&to_ascii, "ISO-8859-1", APR_DEFAULT_CHARSET, cntxt);
- if (rv) {
-- apr_file_printf(errfile, "apr_xlate_open(): %s (%d)\n",
-- apr_strerror(rv, line, sizeof(line)), rv);
-+ apr_file_printf(errfile, "apr_xlate_open(): %pm (%d)\n",
-+ &rv, rv);
- exit(1);
- }
- #endif
-@@ -215,11 +218,8 @@ int main(int argc, const char * const ar
- rv = apr_file_open(&f, argv[2], APR_WRITE | APR_CREATE,
- APR_OS_DEFAULT, cntxt);
- if (rv != APR_SUCCESS) {
-- char errmsg[120];
--
-- apr_file_printf(errfile, "Could not open passwd file %s for writing: %s\n",
-- argv[2],
-- apr_strerror(rv, errmsg, sizeof errmsg));
-+ apr_file_printf(errfile, "Could not open passwd file %s for writing: %pm\n",
-+ argv[2], &rv);
- exit(1);
- }
- apr_cpystrn(user, argv[4], sizeof(user));
diff --git a/www/apache24/patches/patch-support_htpasswd.c b/www/apache24/patches/patch-support_htpasswd.c
deleted file mode 100644
index b083d712b3a..00000000000
--- a/www/apache24/patches/patch-support_htpasswd.c
+++ /dev/null
@@ -1,266 +0,0 @@
-$NetBSD: patch-support_htpasswd.c,v 1.1 2013/06/20 09:06:45 taca Exp $
-
-Fix for htpasswd: https://issues.apache.org/bugzilla/show_bug.cgi?id=54735
-
---- support/htpasswd.c.orig 2012-12-12 19:31:29.000000000 +0000
-+++ support/htpasswd.c
-@@ -67,6 +67,7 @@
- #define APHTP_NEWFILE 1
- #define APHTP_NOFILE 2
- #define APHTP_DELUSER 4
-+#define APHTP_VERIFY 8
-
- apr_file_t *ftemp = NULL;
-
-@@ -92,8 +93,8 @@ static int mkrecord(struct passwd_ctx *c
- static void usage(void)
- {
- apr_file_printf(errfile, "Usage:" NL
-- "\thtpasswd [-cimBdpsD] [-C cost] passwordfile username" NL
-- "\thtpasswd -b[cmBdpsD] [-C cost] passwordfile username password" NL
-+ "\thtpasswd [-cimBdpsDv] [-C cost] passwordfile username" NL
-+ "\thtpasswd -b[cmBdpsDv] [-C cost] passwordfile username password" NL
- NL
- "\thtpasswd -n[imBdps] [-C cost] username" NL
- "\thtpasswd -nb[mBdps] [-C cost] username password" NL
-@@ -110,6 +111,7 @@ static void usage(void)
- " -s Force SHA encryption of the password (insecure)." NL
- " -p Do not encrypt the password (plaintext, insecure)." NL
- " -D Delete the specified user." NL
-+ " -v Verify password for the specified user." NL
- "On other systems than Windows and NetWare the '-p' flag will "
- "probably not work." NL
- "The SHA algorithm does not use a salt and is less secure than the "
-@@ -155,7 +157,7 @@ static void terminate(void)
- }
-
- static void check_args(int argc, const char *const argv[],
-- struct passwd_ctx *ctx, int *mask, char **user,
-+ struct passwd_ctx *ctx, unsigned *mask, char **user,
- char **pwfilename)
- {
- const char *arg;
-@@ -171,7 +173,7 @@ static void check_args(int argc, const c
- if (rv != APR_SUCCESS)
- exit(ERR_SYNTAX);
-
-- while ((rv = apr_getopt(state, "cnmspdBbDiC:", &opt, &opt_arg)) == APR_SUCCESS) {
-+ while ((rv = apr_getopt(state, "cnmspdBbDiC:v", &opt, &opt_arg)) == APR_SUCCESS) {
- switch (opt) {
- case 'c':
- *mask |= APHTP_NEWFILE;
-@@ -183,6 +185,9 @@ static void check_args(int argc, const c
- case 'D':
- *mask |= APHTP_DELUSER;
- break;
-+ case 'v':
-+ *mask |= APHTP_VERIFY;
-+ break;
- default:
- ret = parse_common_options(ctx, opt, opt_arg);
- if (ret) {
-@@ -196,18 +201,15 @@ static void check_args(int argc, const c
- if (rv != APR_EOF)
- usage();
-
-- if ((*mask & APHTP_NEWFILE) && (*mask & APHTP_NOFILE)) {
-- apr_file_printf(errfile, "%s: -c and -n options conflict" NL, argv[0]);
-- exit(ERR_SYNTAX);
-- }
-- if ((*mask & APHTP_NEWFILE) && (*mask & APHTP_DELUSER)) {
-- apr_file_printf(errfile, "%s: -c and -D options conflict" NL, argv[0]);
-- exit(ERR_SYNTAX);
-- }
-- if ((*mask & APHTP_NOFILE) && (*mask & APHTP_DELUSER)) {
-- apr_file_printf(errfile, "%s: -n and -D options conflict" NL, argv[0]);
-+ if ((*mask) & (*mask - 1)) {
-+ /* not a power of two, i.e. more than one flag specified */
-+ apr_file_printf(errfile, "%s: only one of -c -n -v -D may be specified" NL,
-+ argv[0]);
- exit(ERR_SYNTAX);
- }
-+ if ((*mask & APHTP_VERIFY) && ctx->passwd_src == PW_PROMPT)
-+ ctx->passwd_src = PW_PROMPT_VERIFY;
-+
- /*
- * Make sure we still have exactly the right number of arguments left
- * (the filename, the username, and possibly the password if -b was
-@@ -246,6 +248,25 @@ static void check_args(int argc, const c
- }
- }
-
-+static int verify(struct passwd_ctx *ctx, const char *hash)
-+{
-+ apr_status_t rv;
-+ int ret;
-+
-+ if (ctx->passwd == NULL && (ret = get_password(ctx)) != 0)
-+ return ret;
-+ rv = apr_password_validate(ctx->passwd, hash);
-+ if (rv == APR_SUCCESS)
-+ return 0;
-+ if (APR_STATUS_IS_EMISMATCH(rv)) {
-+ ctx->errstr = "password verification failed";
-+ return ERR_PWMISMATCH;
-+ }
-+ ctx->errstr = apr_psprintf(ctx->pool, "Could not verify password: %pm",
-+ &rv);
-+ return ERR_GENERAL;
-+}
-+
- /*
- * Let's do it. We end up doing a lot of file opening and closing,
- * but what do we care? This application isn't run constantly.
-@@ -253,7 +274,6 @@ static void check_args(int argc, const c
- int main(int argc, const char * const argv[])
- {
- apr_file_t *fpw = NULL;
-- const char *errstr = NULL;
- char line[MAX_STRING_LEN];
- char *pwfilename = NULL;
- char *user = NULL;
-@@ -262,7 +282,7 @@ int main(int argc, const char * const ar
- char *scratch, cp[MAX_STRING_LEN];
- int found = 0;
- int i;
-- int mask = 0;
-+ unsigned mask = 0;
- apr_pool_t *pool;
- int existing_file = 0;
- struct passwd_ctx ctx = { 0 };
-@@ -274,6 +294,7 @@ int main(int argc, const char * const ar
- apr_app_initialize(&argc, &argv, NULL);
- atexit(terminate);
- apr_pool_create(&pool, NULL);
-+ apr_pool_abort_set(abort_on_oom, pool);
- apr_file_open_stderr(&errfile, pool);
- ctx.pool = pool;
- ctx.alg = ALG_APMD5;
-@@ -341,10 +362,10 @@ int main(int argc, const char * const ar
- * Any error message text is returned in the record buffer, since
- * the mkrecord() routine doesn't have access to argv[].
- */
-- if (!(mask & APHTP_DELUSER)) {
-+ if ((mask & (APHTP_DELUSER|APHTP_VERIFY)) == 0) {
- i = mkrecord(&ctx, user);
- if (i != 0) {
-- apr_file_printf(errfile, "%s: %s" NL, argv[0], errstr);
-+ apr_file_printf(errfile, "%s: %s" NL, argv[0], ctx.errstr);
- exit(i);
- }
- if (mask & APHTP_NOFILE) {
-@@ -353,21 +374,23 @@ int main(int argc, const char * const ar
- }
- }
-
-- /*
-- * We can access the files the right way, and we have a record
-- * to add or update. Let's do it..
-- */
-- if (apr_temp_dir_get((const char**)&dirname, pool) != APR_SUCCESS) {
-- apr_file_printf(errfile, "%s: could not determine temp dir" NL,
-- argv[0]);
-- exit(ERR_FILEPERM);
-- }
-- dirname = apr_psprintf(pool, "%s/%s", dirname, tn);
-+ if ((mask & APHTP_VERIFY) == 0) {
-+ /*
-+ * We can access the files the right way, and we have a record
-+ * to add or update. Let's do it..
-+ */
-+ if (apr_temp_dir_get((const char**)&dirname, pool) != APR_SUCCESS) {
-+ apr_file_printf(errfile, "%s: could not determine temp dir" NL,
-+ argv[0]);
-+ exit(ERR_FILEPERM);
-+ }
-+ dirname = apr_psprintf(pool, "%s/%s", dirname, tn);
-
-- if (apr_file_mktemp(&ftemp, dirname, 0, pool) != APR_SUCCESS) {
-- apr_file_printf(errfile, "%s: unable to create temporary file %s" NL,
-- argv[0], dirname);
-- exit(ERR_FILEPERM);
-+ if (apr_file_mktemp(&ftemp, dirname, 0, pool) != APR_SUCCESS) {
-+ apr_file_printf(errfile, "%s: unable to create temporary file %s" NL,
-+ argv[0], dirname);
-+ exit(ERR_FILEPERM);
-+ }
- }
-
- /*
-@@ -418,33 +441,59 @@ int main(int argc, const char * const ar
- continue;
- }
- else {
-- if (!(mask & APHTP_DELUSER)) {
-- /* We found the user we were looking for.
-- * Add him to the file.
-- */
-- apr_file_printf(errfile, "Updating ");
-- putline(ftemp, ctx.out);
-- found++;
-+ /* We found the user we were looking for */
-+ found++;
-+ if ((mask & APHTP_DELUSER)) {
-+ /* Delete entry from the file */
-+ apr_file_printf(errfile, "Deleting ");
-+ }
-+ else if ((mask & APHTP_VERIFY)) {
-+ /* Verify */
-+ char *hash = colon + 1;
-+ size_t len;
-+
-+ len = strcspn(hash, "\r\n");
-+ if (len == 0) {
-+ apr_file_printf(errfile, "Empty hash for user %s" NL,
-+ user);
-+ exit(ERR_INVALID);
-+ }
-+ hash[len] = '\0';
-+
-+ i = verify(&ctx, hash);
-+ if (i != 0) {
-+ apr_file_printf(errfile, "%s" NL, ctx.errstr);
-+ exit(i);
-+ }
- }
- else {
-- /* We found the user we were looking for.
-- * Delete them from the file.
-- */
-- apr_file_printf(errfile, "Deleting ");
-- found++;
-+ /* Update entry */
-+ apr_file_printf(errfile, "Updating ");
-+ putline(ftemp, ctx.out);
- }
- }
- }
- apr_file_close(fpw);
- }
-- if (!found && !(mask & APHTP_DELUSER)) {
-- apr_file_printf(errfile, "Adding ");
-- putline(ftemp, ctx.out);
-+ if (!found) {
-+ if (mask & APHTP_DELUSER) {
-+ apr_file_printf(errfile, "User %s not found" NL, user);
-+ exit(0);
-+ }
-+ else if (mask & APHTP_VERIFY) {
-+ apr_file_printf(errfile, "User %s not found" NL, user);
-+ exit(ERR_BADUSER);
-+ }
-+ else {
-+ apr_file_printf(errfile, "Adding ");
-+ putline(ftemp, ctx.out);
-+ }
- }
-- else if (!found && (mask & APHTP_DELUSER)) {
-- apr_file_printf(errfile, "User %s not found" NL, user);
-+ if (mask & APHTP_VERIFY) {
-+ apr_file_printf(errfile, "Password for user %s correct." NL, user);
- exit(0);
- }
-+
- apr_file_printf(errfile, "password for user %s" NL, user);
-
- /* The temporary file has all the data, just copy it to the new location.
diff --git a/www/apache24/patches/patch-support_passwd__common.c b/www/apache24/patches/patch-support_passwd__common.c
deleted file mode 100644
index 0f9bf865b31..00000000000
--- a/www/apache24/patches/patch-support_passwd__common.c
+++ /dev/null
@@ -1,138 +0,0 @@
-$NetBSD: patch-support_passwd__common.c,v 1.1 2013/06/20 09:06:45 taca Exp $
-
-Fix for htpasswd: https://issues.apache.org/bugzilla/show_bug.cgi?id=54735
-
---- support/passwd_common.c.orig 2012-12-11 10:37:25.000000000 +0000
-+++ support/passwd_common.c
-@@ -46,6 +46,24 @@
-
- apr_file_t *errfile;
-
-+int abort_on_oom(int rc)
-+{
-+ const char *buf = "Error: out of memory\n";
-+ int written, count = strlen(buf);
-+ do {
-+ written = write(STDERR_FILENO, buf, count);
-+ if (written == count)
-+ break;
-+ if (written > 0) {
-+ buf += written;
-+ count -= written;
-+ }
-+ } while (written >= 0 || errno == EINTR);
-+ abort();
-+ /* NOTREACHED */
-+ return 0;
-+}
-+
- static int generate_salt(char *s, size_t size, const char **errstr,
- apr_pool_t *pool)
- {
-@@ -85,6 +103,8 @@ static int generate_salt(char *s, size_t
- void putline(apr_file_t *f, const char *l)
- {
- apr_status_t rv;
-+ if (f == NULL)
-+ return;
- rv = apr_file_puts(l, f);
- if (rv != APR_SUCCESS) {
- apr_file_printf(errfile, "Error writing temp file: %pm", &rv);
-@@ -95,17 +115,17 @@ void putline(apr_file_t *f, const char *
-
- int get_password(struct passwd_ctx *ctx)
- {
-+ char buf[MAX_STRING_LEN + 1];
- if (ctx->passwd_src == PW_STDIN) {
-- char *buf = ctx->out;
- apr_file_t *file_stdin;
- apr_size_t nread;
- if (apr_file_open_stdin(&file_stdin, ctx->pool) != APR_SUCCESS) {
- ctx->errstr = "Unable to read from stdin.";
- return ERR_GENERAL;
- }
-- if (apr_file_read_full(file_stdin, buf, ctx->out_len - 1,
-+ if (apr_file_read_full(file_stdin, buf, sizeof(buf) - 1,
- &nread) != APR_EOF
-- || nread == ctx->out_len - 1) {
-+ || nread == sizeof(buf) - 1) {
- goto err_too_long;
- }
- buf[nread] = '\0';
-@@ -115,21 +135,30 @@ int get_password(struct passwd_ctx *ctx)
- buf[nread-2] = '\0';
- }
- apr_file_close(file_stdin);
-+ ctx->passwd = apr_pstrdup(ctx->pool, buf);
-+ }
-+ else if (ctx->passwd_src == PW_PROMPT_VERIFY) {
-+ apr_size_t bufsize = sizeof(buf);
-+ if (apr_password_get("Enter password: ", buf, &bufsize) != 0)
-+ goto err_too_long;
-+ ctx->passwd = apr_pstrdup(ctx->pool, buf);
- }
- else {
-- char buf[MAX_STRING_LEN + 1];
- apr_size_t bufsize = sizeof(buf);
-- if (apr_password_get("New password: ", ctx->out, &ctx->out_len) != 0)
-+ if (apr_password_get("New password: ", buf, &bufsize) != 0)
- goto err_too_long;
-+ ctx->passwd = apr_pstrdup(ctx->pool, buf);
-+ bufsize = sizeof(buf);
-+ buf[0] = '\0';
- apr_password_get("Re-type new password: ", buf, &bufsize);
-- if (strcmp(ctx->out, buf) != 0) {
-+ if (strcmp(ctx->passwd, buf) != 0) {
- ctx->errstr = "password verification error";
-- memset(ctx->out, '\0', ctx->out_len);
-+ memset(ctx->passwd, '\0', strlen(ctx->passwd));
- memset(buf, '\0', sizeof(buf));
- return ERR_PWMISMATCH;
- }
-- memset(buf, '\0', sizeof(buf));
- }
-+ memset(buf, '\0', sizeof(buf));
- return 0;
-
- err_too_long:
-@@ -146,7 +175,6 @@ err_too_long:
- int mkhash(struct passwd_ctx *ctx)
- {
- char *pw;
-- char pwin[MAX_STRING_LEN];
- char salt[16];
- apr_status_t rv;
- int ret = 0;
-@@ -159,14 +187,11 @@ int mkhash(struct passwd_ctx *ctx)
- "Warning: Ignoring -C argument for this algorithm." NL);
- }
-
-- if (ctx->passwd != NULL) {
-- pw = ctx->passwd;
-- }
-- else {
-+ if (ctx->passwd == NULL) {
- if ((ret = get_password(ctx)) != 0)
- return ret;
-- pw = pwin;
- }
-+ pw = ctx->passwd;
-
- switch (ctx->alg) {
- case ALG_APSHA:
-@@ -206,14 +231,13 @@ int mkhash(struct passwd_ctx *ctx)
-
- apr_cpystrn(ctx->out, cbuf, ctx->out_len - 1);
- if (strlen(pw) > 8) {
-- char *truncpw = strdup(pw);
-+ char *truncpw = apr_pstrdup(ctx->pool, pw);
- truncpw[8] = '\0';
- if (!strcmp(ctx->out, crypt(truncpw, salt))) {
- apr_file_printf(errfile, "Warning: Password truncated to 8 "
- "characters by CRYPT algorithm." NL);
- }
- memset(truncpw, '\0', strlen(pw));
-- free(truncpw);
- }
- break;
- #endif /* CRYPT_ALGO_SUPPORTED */
diff --git a/www/apache24/patches/patch-support_passwd__common.h b/www/apache24/patches/patch-support_passwd__common.h
deleted file mode 100644
index 2bcb40add4d..00000000000
--- a/www/apache24/patches/patch-support_passwd__common.h
+++ /dev/null
@@ -1,25 +0,0 @@
-$NetBSD: patch-support_passwd__common.h,v 1.1 2013/06/20 09:06:45 taca Exp $
-
-Fix for htpasswd: https://issues.apache.org/bugzilla/show_bug.cgi?id=54735
-
---- support/passwd_common.h.orig 2012-12-11 10:37:25.000000000 +0000
-+++ support/passwd_common.h
-@@ -80,10 +80,17 @@ struct passwd_ctx {
- enum {
- PW_PROMPT = 0,
- PW_ARG,
-- PW_STDIN
-+ PW_STDIN,
-+ PW_PROMPT_VERIFY,
- } passwd_src;
- };
-
-+
-+/*
-+ * To be used as apr_pool_abort_fn
-+ */
-+int abort_on_oom(int rc);
-+
- /*
- * Write a line to the file. On error, print a message and exit
- */