x509_name ( cert ) );
}
+/**
+ * Remove certificate from store
+ *
+ * @v cert X.509 certificate
+ */
+void certstore_del ( struct x509_certificate *cert ) {
+
+ /* Remove certificate from store */
+ DBGC ( &certstore, "CERTSTORE removed certificate %s\n",
+ x509_name ( cert ) );
+ list_del ( &cert->store.list );
+ x509_put ( cert );
+}
+
/**
* Discard a stored certificate
*
*/
list_for_each_entry_reverse ( cert, &certstore.links, store.list ) {
if ( cert->refcnt.count == 0 ) {
- DBGC ( &certstore, "CERTSTORE discarded certificate "
- "%s\n", x509_name ( cert ) );
- list_del ( &cert->store.list );
- x509_put ( cert );
+ certstore_del ( cert );
return 1;
}
}
extern struct x509_certificate * certstore_find ( struct asn1_cursor *raw );
extern struct x509_certificate * certstore_find_key ( struct asn1_cursor *key );
extern void certstore_add ( struct x509_certificate *cert );
+extern void certstore_del ( struct x509_certificate *cert );
#endif /* _IPXE_CERTSTORE_H */