asm workaround for SuSE Linux
[openssl.git] / apps / ca.c
index 55a7ff781604524cd8fa1d8d4e462bfb376ffbbe..73df13fe8e2a68a6cb30810117f0074d2073a5c2 100644 (file)
--- a/apps/ca.c
+++ b/apps/ca.c
@@ -213,6 +213,8 @@ static char *section=NULL;
 static int preserve=0;
 static int msie_hack=0;
 
+int MAIN(int, char **);
+
 int MAIN(int argc, char **argv)
        {
        char *key=NULL;
@@ -517,7 +519,7 @@ bad:
                }
 
        /*****************************************************************/
-       /* we definitly need an public key, so lets get it */
+       /* we definitely need an public key, so lets get it */
 
        if ((keyfile == NULL) && ((keyfile=CONF_get_string(conf,
                section,ENV_PRIVATE_KEY)) == NULL))
@@ -531,7 +533,7 @@ bad:
                BIO_printf(bio_err,"trying to load CA private key\n");
                goto err;
                }
-               pkey=PEM_read_bio_PrivateKey(in,NULL,PEM_cb,key);
+               pkey=PEM_read_bio_PrivateKey(in,NULL,NULL,key);
                if(key) memset(key,0,strlen(key));
        if (pkey == NULL)
                {
@@ -585,14 +587,19 @@ 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 acces the %s directory\n",outdir);
+                       BIO_printf(bio_err,"I am unable to access the %s directory\n",outdir);
                        perror(outdir);
                        goto err;
                        }
@@ -610,6 +617,7 @@ bad:
                        perror(outdir);
                        goto err;
                        }
+#endif
 #endif
                }
 
@@ -676,7 +684,7 @@ bad:
                TXT_DB_write(out,db);
                BIO_printf(bio_err,"%d entries loaded from the database\n",
                        db->data->num);
-               BIO_printf(bio_err,"generating indexs\n");
+               BIO_printf(bio_err,"generating index\n");
                }
        
        if (!TXT_DB_create_index(db,DB_serial,NULL,index_serial_hash,
@@ -1008,14 +1016,14 @@ bad:
                        out=NULL;
                        if (rename(serialfile,buf[2]) < 0)
                                {
-                               BIO_printf(bio_err,"unabel to rename %s to %s\n",
+                               BIO_printf(bio_err,"unable to rename %s to %s\n",
                                        serialfile,buf[2]);
                                perror("reason");
                                goto err;
                                }
                        if (rename(buf[0],serialfile) < 0)
                                {
-                               BIO_printf(bio_err,"unabel to rename %s to %s\n",
+                               BIO_printf(bio_err,"unable to rename %s to %s\n",
                                        buf[0],serialfile);
                                perror("reason");
                                rename(buf[2],serialfile);
@@ -1032,14 +1040,14 @@ bad:
 
                        if (rename(dbfile,buf[2]) < 0)
                                {
-                               BIO_printf(bio_err,"unabel to rename %s to %s\n",
+                               BIO_printf(bio_err,"unable to rename %s to %s\n",
                                        dbfile,buf[2]);
                                perror("reason");
                                goto err;
                                }
                        if (rename(buf[1],dbfile) < 0)
                                {
-                               BIO_printf(bio_err,"unabel to rename %s to %s\n",
+                               BIO_printf(bio_err,"unable to rename %s to %s\n",
                                        buf[1],dbfile);
                                perror("reason");
                                rename(buf[2],dbfile);
@@ -1654,7 +1662,7 @@ again2:
                                        }
                                if (j < 0)
                                        {
-                                       BIO_printf(bio_err,"The %s field needed to be the same in the\nCA certificate (%s) and the request (%s)\n",cv->name,((str == NULL)?"NULL":(char *)str->data),((str2 == NULL)?"NULL":(char *)str2->data));
+                                       BIO_printf(bio_err,"The %s field needed to be the same in the\nCA certificate (%s) and the request (%s)\n",cv->name,((str2 == NULL)?"NULL":(char *)str2->data),((str == NULL)?"NULL":(char *)str->data));
                                        goto err;
                                        }
                                }
@@ -1686,7 +1694,7 @@ again2:
                }
 
        if (verbose)
-               BIO_printf(bio_err,"The subject name apears to be ok, checking data base for clashes\n");
+               BIO_printf(bio_err,"The subject name appears to be ok, checking data base for clashes\n");
 
        row[DB_name]=X509_NAME_oneline(subject,NULL,0);
        row[DB_serial]=BN_bn2hex(serial);
@@ -1743,7 +1751,7 @@ again2:
                goto err;
                }
 
-       /* We are now totaly happy, lets make and sign the certificate */
+       /* We are now totally happy, lets make and sign the certificate */
        if (verbose)
                BIO_printf(bio_err,"Everything appears to be ok, creating and signing the certificate\n");
 
@@ -1790,7 +1798,7 @@ again2:
                ASN1_INTEGER_set(ci->version,2); /* version 3 certificate */
 
                /* Free the current entries if any, there should not
-                * be any I belive */
+                * be any I believe */
                if (ci->extensions != NULL)
                        sk_X509_EXTENSION_pop_free(ci->extensions,
                                                   X509_EXTENSION_free);