comparison libpurple/certificate.c @ 19024:264f00bc8f22

- Change certificate_uninit to unregister all Pools, Schemes, and Verifiers
author William Ehlhardt <williamehlhardt@gmail.com>
date Sat, 14 Jul 2007 04:49:30 +0000
parents eb86ff3ba21a
children b3acaf46d9ad
comparison
equal deleted inserted replaced
19023:eb86ff3ba21a 19024:264f00bc8f22
710 } 710 }
711 711
712 void 712 void
713 purple_certificate_uninit(void) 713 purple_certificate_uninit(void)
714 { 714 {
715 /* Unregister the builtins */ 715 GList *full_list, *l;
716 purple_certificate_unregister_verifier(&x509_singleuse); 716
717 purple_certificate_unregister_pool(&x509_tls_peers); 717 /* Unregister all Schemes */
718 purple_certificate_unregister_verifier(&x509_tls_cached); 718 full_list = g_list_copy(cert_schemes); /* Make a working copy */
719 719 for (l = full_list; l; l = l->next) {
720 /* TODO: Unregistering everything would be good... */ 720 purple_certificate_unregister_scheme(
721 (PurpleCertificateScheme *) l->data );
722 }
723 g_list_free(full_list);
724
725 /* Unregister all Verifiers */
726 full_list = g_list_copy(cert_verifiers); /* Make a working copy */
727 for (l = full_list; l; l = l->next) {
728 purple_certificate_unregister_verifier(
729 (PurpleCertificateVerifier *) l->data );
730 }
731 g_list_free(full_list);
732
733 /* Unregister all Pools */
734 full_list = g_list_copy(cert_pools); /* Make a working copy */
735 for (l = full_list; l; l = l->next) {
736 purple_certificate_unregister_pool(
737 (PurpleCertificatePool *) l->data );
738 }
739 g_list_free(full_list);
721 } 740 }
722 741
723 gpointer 742 gpointer
724 purple_certificate_get_handle(void) 743 purple_certificate_get_handle(void)
725 { 744 {