Move two typedefs from project.h to ssl.c
[privoxy.git] / ssl.c
diff --git a/ssl.c b/ssl.c
index 591e9a5..6bf51c5 100644 (file)
--- a/ssl.c
+++ b/ssl.c
 #define CERT_SUBJECT_PASSWORD            ""
 #define CERT_INFO_PREFIX                 ""
 
+/*
+ * Properties of cert for generating
+ */
+typedef struct {
+   char       *issuer_crt;                         /* filename of the issuer certificate       */
+   char       *subject_key;                        /* filename of the subject key file         */
+   char       *issuer_key;                         /* filename of the issuer key file          */
+   const char *subject_pwd;                        /* password for the subject key file        */
+   const char *issuer_pwd;                         /* password for the issuer key file         */
+   char       *output_file;                        /* where to store the constructed key file  */
+   const char *subject_name;                       /* subject name for certificate             */
+   char       issuer_name[ISSUER_NAME_BUF_SIZE];   /* issuer name for certificate              */
+   const char *not_before;                         /* validity period not before               */
+   const char *not_after;                          /* validity period not after                */
+   const char *serial;                             /* serial number string                     */
+   int        is_ca;                               /* is a CA certificate                      */
+   int        max_pathlen;                         /* maximum CA path length                   */
+} cert_options;
+
+/*
+ * Properties of key for generating
+ */
+typedef struct {
+   mbedtls_pk_type_t type;   /* type of key to generate  */
+   int  rsa_keysize;         /* length of key in bits    */
+   char *key_file_path;      /* filename of the key file */
+} key_options;
 
 extern int generate_webpage_certificate(struct client_state * csp);
 static char * make_certs_path(const char * conf_dir, const char * file_name, const char * suffix);
@@ -578,7 +605,7 @@ exit:
  * Returns     :  N/A
  *
  *********************************************************************/
-static void close_client_ssl_connection(struct client_state *csp)
+extern void close_client_ssl_connection(struct client_state *csp)
 {
    int ret = 0;
 
@@ -884,6 +911,7 @@ static void free_server_ssl_structures(struct client_state *csp)
 
 
 /*********************************************************************
+ *
  * Function    :  close_client_and_server_ssl_connections
  *
  * Description :  Checks if client or server should use secured
@@ -910,6 +938,7 @@ extern void close_client_and_server_ssl_connections(struct client_state *csp)
 /*====================== Certificates ======================*/
 
 /*********************************************************************
+ *
  * Function    :  write_certificate
  *
  * Description :  Writes certificate into file.
@@ -976,6 +1005,7 @@ static int write_certificate(mbedtls_x509write_cert *crt, const char *output_fil
 
 
 /*********************************************************************
+ *
  * Function    :  write_private_key
  *
  * Description :  Writes private key into file and copies saved
@@ -1062,6 +1092,7 @@ exit:
 
 
 /*********************************************************************
+ *
  * Function    :  generate_key
  *
  * Description : Tests if private key for host saved in csp already
@@ -1920,19 +1951,19 @@ static int file_exists(const char *path)
 
 
 /*********************************************************************
-*
-* Function    :  host_to_hash
-*
-* Description :  Creates MD5 hash from host name. Host name is loaded
-*                from structure csp and saved again into it.
-*
-* Parameters  :
-*          1  :  csp = Current client state (buffers, headers, etc...)
-*
-* Returns     :  1 => Error while creating hash
-*                0 => Hash created successfully
-*
-*********************************************************************/
+ *
+ * Function    :  host_to_hash
+ *
+ * Description :  Creates MD5 hash from host name. Host name is loaded
+ *                from structure csp and saved again into it.
+ *
+ * Parameters  :
+ *          1  :  csp = Current client state (buffers, headers, etc...)
+ *
+ * Returns     :  1 => Error while creating hash
+ *                0 => Hash created successfully
+ *
+ *********************************************************************/
 static int host_to_hash(struct client_state * csp)
 {
    int ret = 0;