Remove the access() call altogether for VMS, since it doesn't quite
work for directory specifications (this will be reported as a bug to DEC^H^H^HCompaq). It could as well be removed for all others as well, since stat() and open() will return appropriate errors as well, but I leave that to someone else to decide.
This commit is contained in:
parent
5f5b8d2bcd
commit
207c7df746
16
apps/ca.c
16
apps/ca.c
@ -587,17 +587,23 @@ bad:
|
||||
BIO_printf(bio_err,"there needs to be defined a directory for new certificate to be placed in\n");
|
||||
goto err;
|
||||
}
|
||||
#ifdef VMS
|
||||
/* For technical reasons, VMS misbehaves with X_OK */
|
||||
if (access(outdir,R_OK|W_OK) != 0)
|
||||
#else
|
||||
#ifndef VMS /* outdir is a directory spec, but access() for VMS demands a
|
||||
filename. In any case, stat(), below, will catch the problem
|
||||
if outdir is not a directory spec, and the fopen() or open()
|
||||
will catch an error if there is no write access.
|
||||
|
||||
Presumably, this problem could also be solved by using the DEC
|
||||
C routines to convert the directory syntax to Unixly, and give
|
||||
that to access(). However, time's too short to do that just
|
||||
now.
|
||||
*/
|
||||
if (access(outdir,R_OK|W_OK|X_OK) != 0)
|
||||
#endif
|
||||
{
|
||||
BIO_printf(bio_err,"I am unable to access the %s directory\n",outdir);
|
||||
perror(outdir);
|
||||
goto err;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (stat(outdir,&sb) != 0)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user