Back-mdb needs this test, copied from libmdb, to make use of the libmdb support for read-only filesystems.
I don't know if Windows sets errno=EROFS for fopen(fname, "w") when fname is on a read-only FS, if so the #ifndef _WIN32 is unnecessary.
--- servers/slapd/back-mdb/config.c +++ servers/slapd/back-mdb/config.c @@ -561,3 +561,8 @@ mdb_cf_gen( ConfigArgs *c ) ch_free( testpath ); - if ( !f ) { +#ifndef _WIN32 + if ( !(f || ((slapMode & SLAP_TOOL_READONLY) && errno == EROFS)) ) +#else + if ( !(f || ((slapMode & SLAP_TOOL_READONLY) && GetLastError() == ERROR_WRITE_PROTECT)) ) +#endif + { snprintf( c->cr_msg, sizeof( c->cr_msg ), "%s: invalid path: %s",