aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2000-02-15 09:44:54 +0000
committerRichard Levitte <levitte@openssl.org>2000-02-15 09:44:54 +0000
commit207c7df746ca5c3cad6ce71e6cf2263d4183d8be (patch)
treea074c06442b0c6e8ce4313152feba99a349654df /apps
parent5f5b8d2bcd2da446a66a3756ca6bc88c1134e62b (diff)
downloadopenssl-207c7df746ca5c3cad6ce71e6cf2263d4183d8be.tar.gz
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.
Diffstat (limited to 'apps')
-rw-r--r--apps/ca.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/apps/ca.c b/apps/ca.c
index 6a27a6de15..d16df65337 100644
--- a/apps/ca.c
+++ b/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)
{