summaryrefslogtreecommitdiff
path: root/pith/conftype.h
diff options
context:
space:
mode:
authorEduardo Chappa <chappa@washington.edu>2016-02-28 14:12:49 -0700
committerEduardo Chappa <chappa@washington.edu>2016-02-28 14:12:49 -0700
commit4bf825141cd564a2c5a23c55f79e04665c428641 (patch)
tree4fd033202e91d414985f4896fe63b0039adc2cf2 /pith/conftype.h
parentdc1062254da60a0f2bf8d52e861dbf4fb7b8cab9 (diff)
downloadalpine-4bf825141cd564a2c5a23c55f79e04665c428641.tar.xz
* Add the ability to change the private key and certificates used
to encrypt a password file in the SMIME setup configuration screen.
Diffstat (limited to 'pith/conftype.h')
-rw-r--r--pith/conftype.h51
1 files changed, 30 insertions, 21 deletions
diff --git a/pith/conftype.h b/pith/conftype.h
index abae2b0d..3c9316fa 100644
--- a/pith/conftype.h
+++ b/pith/conftype.h
@@ -675,7 +675,7 @@ typedef enum {Main, Post, None} EditWhich;
typedef enum {Directory, Container, Keychain, Nada} SmimeHolderType;
-typedef enum {Public, Private, CACert} WhichCerts;
+typedef enum {Public, Private, CACert, Password} WhichCerts;
typedef struct certdata {
unsigned deleted:1; /* certificate is marked deleted */
@@ -721,7 +721,6 @@ typedef struct smime_stuff {
char *privatecontent;
CertList *privatecertlist;
CertList *backupprivatecertlist;
- void *backuppersonal_certs; /* this is type (PERSONAL_CERT *) */
void *personal_certs; /* this is type (PERSONAL_CERT *) */
SmimeHolderType catype;
@@ -732,25 +731,35 @@ typedef struct smime_stuff {
} SMIME_STUFF_S;
-#define BACKUPDATACERT(X) (((X) == Public ? ps_global->smime->backuppubliccertlist \
- : ((X) == Private ? ps_global->smime->backupprivatecertlist \
- : ps_global->smime->backupcacertlist)))
-
-#define DATACERT(X) (((X) == Public ? ps_global->smime->publiccertlist \
- : ((X) == Private ? ps_global->smime->privatecertlist \
- : ps_global->smime->cacertlist)))
-
-#define PATHCERTDIR(X) (((X) == Public ? ps_global->smime->publicpath \
- : ((X) == Private ? ps_global->smime->privatepath \
- : ((X) == CACert ? ps_global->smime->capath : NULL))))
-
-#define CONTENTCERTLIST(X) (((X) == Public ? ps_global->smime->publiccontent \
- : ((X) == Private ? ps_global->smime->privatecontent \
- : ((X) == CACert ? ps_global->smime->cacontent : NULL))))
-
-#define SMHOLDERTYPE(X) (((X) == Public ? ps_global->smime->publictype \
- : ((X) == Private ? ps_global->smime->privatetype \
- : ((X) == CACert ? ps_global->smime->catype : Nada))))
+#define BACKUPDATACERT(X) ((X) == Public ? ps_global->smime->backuppubliccertlist : \
+ (X) == Private ? ps_global->smime->backupprivatecertlist : \
+ (X) == CACert ? ps_global->smime->backupcacertlist : \
+ (X) == Password ? (CertList *) ps_global->backuppassword : \
+ NULL)
+
+#define DATACERT(X) ((X) == Public ? ps_global->smime->publiccertlist : \
+ (X) == Private ? ps_global->smime->privatecertlist : \
+ (X) == CACert ? ps_global->smime->cacertlist : \
+ (X) == Password ? (CertList *) ps_global->pwdcertlist : \
+ NULL)
+
+#define PATHCERTDIR(X) ((X) == Public ? ps_global->smime->publicpath : \
+ (X) == Private ? ps_global->smime->privatepath : \
+ (X) == CACert ? ps_global->smime->capath : \
+ (X) == Password ? ps_global->pwdcertdir : \
+ NULL)
+
+#define CONTENTCERTLIST(X) ((X) == Public ? ps_global->smime->publiccontent : \
+ (X) == Private ? ps_global->smime->privatecontent : \
+ (X) == CACert ? ps_global->smime->cacontent : \
+ (X) == Password ? ps_global->pwdcertcontent : \
+ NULL)
+
+#define SMHOLDERTYPE(X) ((X) == Public ? ps_global->smime->publictype : \
+ (X) == Private ? ps_global->smime->privatetype : \
+ (X) == CACert ? ps_global->smime->catype : \
+ (X) == Password ? Directory : \
+ Nada)
#define EXTCERT(X) (((X) == Public ? ".crt" \
: ((X) == Private ? ".key" \