-*- coding: utf-8 -*-
Changes with Apache 2.5.0
+ *) htpasswd: Don't fail in -v mode if password file is unwritable.
+ PR 61631. [Joe Orton]
+
*) core: A signal received while stopping could have crashed the main
process. PR 61558. [Yann Ylavic]
*/
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.