void KSSLD::cacheAddCertificate(KSSLCertificate cert, KSSLCertificateCache::KSSLCertificatePolicy policy, bool permanent) { KSSLCNode *node; for (node = certList.first(); node; node = certList.next()) { if (cert == *(node->cert)) { node->policy = policy; node->permanent = permanent; if (!permanent) { node->expires = QDateTime::currentDateTime(); // FIXME: make this configurable node->expires = node->expires.addSecs(3600); } cacheSaveToDisk(); return; } } KSSLCNode *n = new KSSLCNode; n->cert = cert.replicate(); n->policy = policy; n->permanent = permanent; cacheRemoveByCN(KSSLX509Map(n->cert->getSubject()).getValue("CN")); // remove the old one certList.prepend(n); if (!permanent) { n->expires = QDateTime::currentDateTime(); n->expires = n->expires.addSecs(3600); } cacheSaveToDisk(); }
void KSSLD::cacheAddCertificate(KSSLCertificate cert, KSSLCertificateCache::KSSLCertificatePolicy policy, bool permanent) { KSSLCNode *node; for (node = certList.first(); node; node = certList.next()) { if (cert == *(node->cert)) { node->policy = policy; node->permanent = permanent; if (!permanent) { node->expires = TQDateTime::currentDateTime(); // FIXME: make this configurable node->expires = TQT_TQDATETIME_OBJECT(node->expires.addSecs(3600)); } cacheSaveToDisk(); return; } } KSSLCNode *n = new KSSLCNode; n->cert = cert.replicate(); n->policy = policy; n->permanent = permanent; // remove the old one cacheRemoveByCertificate(*(n->cert)); certList.prepend(n); if (!permanent) { n->expires = TQDateTime::currentDateTime(); n->expires = TQT_TQDATETIME_OBJECT(n->expires.addSecs(3600)); } searchAddCert(n->cert); cacheSaveToDisk(); }