Annotation of embedaddon/strongswan/src/libstrongswan/credentials/certificates/crl.c, revision 1.1.1.1
1.1 misho 1: /*
2: * Copyright (C) 2008 Martin Willi
3: * Copyright (C) 2006 Andreas Steffen
4: * HSR Hochschule fuer Technik Rapperswil
5: *
6: * This program is free software; you can redistribute it and/or modify it
7: * under the terms of the GNU General Public License as published by the
8: * Free Software Foundation; either version 2 of the License, or (at your
9: * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
10: *
11: * This program is distributed in the hope that it will be useful, but
12: * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13: * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14: * for more details.
15: */
16:
17: #include "crl.h"
18:
19: #include <utils/debug.h>
20:
21: ENUM(crl_reason_names, CRL_REASON_UNSPECIFIED, CRL_REASON_REMOVE_FROM_CRL,
22: "unspecified",
23: "key compromise",
24: "ca compromise",
25: "affiliation changed",
26: "superseded",
27: "cessation of operation",
28: "certificate hold",
29: "reason #7",
30: "remove from crl",
31: );
32:
33: /**
34: * Check if this CRL is newer
35: */
36: bool crl_is_newer(crl_t *this, crl_t *other)
37: {
38: chunk_t this_num, other_num;
39: bool newer;
40:
41: this_num = this->get_serial(this);
42: other_num = other->get_serial(other);
43:
44: /* compare crlNumbers if available - otherwise use generic cert compare */
45: if (this_num.ptr != NULL && other_num.ptr != NULL)
46: {
47: newer = chunk_compare(this_num, other_num) > 0;
48: DBG1(DBG_LIB, " crl #%#B is %s - existing crl #%#B %s",
49: &this_num, newer ? "newer" : "not newer",
50: &other_num, newer ? "replaced" : "retained");
51: }
52: else
53: {
54: newer = certificate_is_newer(&this->certificate, &other->certificate);
55: }
56: return newer;
57: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>