htpasswd: Don't fail in -v mode if password file is unwritable.
PR 61631.
Submitted by: rjung
Reviewed by: rjung, ylavic, covener
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@
1826887 13f79535-47bb-0310-9956-
ffa450edef68
-*- coding: utf-8 -*-
Changes with Apache 2.4.33
+ *) htpasswd: Don't fail in -v mode if password file is unwritable.
+ PR 61631. [Joe Orton]
+
*) htpasswd: don't point to (unused) stack memory on output
to make static analysers happy. PR 60634.
[Yann Ylavic, reported by shqking and Zhenwei Zou]
2.4.x patch: svn merge -c 1826686 ^/httpd/httpd/trunk .
+1: jailletc36, ylavic, covener
- *) htpasswd: Don't fail in -v mode if password file is unwritable.
- PR 61631.
- This brings 2.4.x htpasswd in sync with trunk.
- trunk patch: http://svn.apache.org/r1812756
- 2.4.x patch: svn merge -c 1812756 ^/httpd/httpd/trunk .
- +1: rjung, ylavic, covener
-
*) htpasswd/htdbm: report the right limit when get_password() overflows.
This brings 2.4.x passwd_common.c in sync with trunk.
trunk patch: http://svn.apache.org/r1781516
*/
if (!(mask & APHTP_NOFILE)) {
existing_file = exists(pwfilename, pool);
- if (existing_file) {
+ if (existing_file && (mask & APHTP_VERIFY) == 0) {
/*
* Check that this existing file is readable and writable.
*/
exit(ERR_FILEPERM);
}
}
+ else if (existing_file && (mask & APHTP_VERIFY) != 0) {
+ /*
+ * Check that this existing file is readable.
+ */
+ if (!accessible(pool, pwfilename, APR_FOPEN_READ)) {
+ apr_file_printf(errfile, "%s: cannot open file %s for "
+ "read access" NL, argv[0], pwfilename);
+ exit(ERR_FILEPERM);
+ }
+ }
else {
/*
* Error out if -c was omitted for this non-existant file.