projects
/
onak.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add revoked/bare public key signed keys
[onak.git]
/
merge.c
diff --git
a/merge.c
b/merge.c
index 43795966d848cf41e14f42be5127106c667b185b..87f45fca642cba3c1e1eaec9a5788181b5c828b9 100644
(file)
--- a/
merge.c
+++ b/
merge.c
@@
-314,12
+314,12
@@
int merge_keys(struct openpgp_publickey *a, struct openpgp_publickey *b)
/*
* Key IDs are the same, so I guess we have to merge them.
*/
/*
* Key IDs are the same, so I guess we have to merge them.
*/
- curpacket = b->
revocation
s;
+ curpacket = b->
sig
s;
while (curpacket != NULL) {
nextpacket = curpacket->next;
while (curpacket != NULL) {
nextpacket = curpacket->next;
- if (find_packet(a->
revocation
s, curpacket->packet)) {
+ if (find_packet(a->
sig
s, curpacket->packet)) {
/*
/*
- * We already have this
revocation
, remove it
+ * We already have this
signature
, remove it
* from the difference list and free the memory
* allocated for it.
*/
* from the difference list and free the memory
* allocated for it.
*/
@@
-327,8
+327,8
@@
int merge_keys(struct openpgp_publickey *a, struct openpgp_publickey *b)
if (lastpacket != NULL) {
lastpacket->next = curpacket->next;
} else {
if (lastpacket != NULL) {
lastpacket->next = curpacket->next;
} else {
- log_assert(curpacket == b->
revocation
s);
- b->
revocation
s = curpacket->next;
+ log_assert(curpacket == b->
sig
s);
+ b->
sig
s = curpacket->next;
}
curpacket->next = NULL;
free_packet_list(curpacket);
}
curpacket->next = NULL;
free_packet_list(curpacket);
@@
-338,15
+338,15
@@
int merge_keys(struct openpgp_publickey *a, struct openpgp_publickey *b)
}
curpacket = nextpacket;
}
}
curpacket = nextpacket;
}
- b->last_
revocation
= lastpacket;
+ b->last_
sig
= lastpacket;
/*
/*
- * Anything left on b->
revocation
s doesn't exist on
- * a->
revocation
s, so add them to the list.
+ * Anything left on b->
sig
s doesn't exist on
+ * a->
sig
s, so add them to the list.
*/
*/
- packet_list_add(&a->
revocation
s,
- &a->last_
revocation
,
- b->
revocation
s);
+ packet_list_add(&a->
sig
s,
+ &a->last_
sig
,
+ b->
sig
s);
/*
* Merge uids (signed list).
/*
* Merge uids (signed list).
@@
-359,5
+359,13
@@
int merge_keys(struct openpgp_publickey *a, struct openpgp_publickey *b)
}
}
+ /*
+ * If either key was revoked, make sure both the new ones are marked as
+ * being so.
+ */
+ if (a->revoked || b->revoked) {
+ a->revoked = b->revoked = true;
+ }
+
return rc;
}
return rc;
}