Changeset View
Changeset View
Standalone View
Standalone View
src/core/ksslcertificatemanager.cpp
Show First 20 Lines • Show All 58 Lines • ▼ Show 20 Line(s) | |||||
59 | 59 | | |||
60 | class KSslCertificateRulePrivate | 60 | class KSslCertificateRulePrivate | ||
61 | { | 61 | { | ||
62 | public: | 62 | public: | ||
63 | QSslCertificate certificate; | 63 | QSslCertificate certificate; | ||
64 | QString hostName; | 64 | QString hostName; | ||
65 | bool isRejected; | 65 | bool isRejected; | ||
66 | QDateTime expiryDateTime; | 66 | QDateTime expiryDateTime; | ||
67 | QList<KSslError::Error> ignoredErrors; | 67 | QList<QSslError::SslError> ignoredErrors; | ||
68 | }; | 68 | }; | ||
69 | 69 | | |||
70 | KSslCertificateRule::KSslCertificateRule(const QSslCertificate &cert, const QString &hostName) | 70 | KSslCertificateRule::KSslCertificateRule(const QSslCertificate &cert, const QString &hostName) | ||
71 | : d(new KSslCertificateRulePrivate()) | 71 | : d(new KSslCertificateRulePrivate()) | ||
72 | { | 72 | { | ||
73 | d->certificate = cert; | 73 | d->certificate = cert; | ||
74 | d->hostName = hostName; | 74 | d->hostName = hostName; | ||
75 | d->isRejected = false; | 75 | d->isRejected = false; | ||
▲ Show 20 Lines • Show All 43 Lines • ▼ Show 20 Line(s) | |||||
119 | 119 | | |||
120 | bool KSslCertificateRule::isRejected() const | 120 | bool KSslCertificateRule::isRejected() const | ||
121 | { | 121 | { | ||
122 | return d->isRejected; | 122 | return d->isRejected; | ||
123 | } | 123 | } | ||
124 | 124 | | |||
125 | bool KSslCertificateRule::isErrorIgnored(KSslError::Error error) const | 125 | bool KSslCertificateRule::isErrorIgnored(KSslError::Error error) const | ||
126 | { | 126 | { | ||
127 | foreach (KSslError::Error ignoredError, d->ignoredErrors) | 127 | return d->ignoredErrors.contains(KSslErrorPrivate::errorFromKSslError(error)); | ||
128 | if (error == ignoredError) { | | |||
129 | return true; | | |||
130 | } | | |||
131 | | ||||
132 | return false; | | |||
133 | } | 128 | } | ||
134 | 129 | | |||
135 | bool KSslCertificateRule::isErrorIgnored(QSslError::SslError error) const | 130 | bool KSslCertificateRule::isErrorIgnored(QSslError::SslError error) const | ||
136 | { | 131 | { | ||
137 | return d->ignoredErrors.contains(KSslErrorPrivate::errorFromQSslError(error)); | 132 | return d->ignoredErrors.contains(error); | ||
138 | } | 133 | } | ||
139 | 134 | | |||
140 | void KSslCertificateRule::setIgnoredErrors(const QList<KSslError::Error> &errors) | 135 | void KSslCertificateRule::setIgnoredErrors(const QList<KSslError::Error> &errors) | ||
141 | { | 136 | { | ||
142 | d->ignoredErrors.clear(); | 137 | d->ignoredErrors.clear(); | ||
143 | //### Quadratic runtime, woohoo! Use a QSet if that should ever be an issue. | 138 | //### Quadratic runtime, woohoo! Use a QSet if that should ever be an issue. | ||
144 | for (KSslError::Error e : errors) | 139 | for (KSslError::Error e : errors) { | ||
145 | if (!isErrorIgnored(e)) { | 140 | QSslError::SslError error = KSslErrorPrivate::errorFromKSslError(e); | ||
146 | d->ignoredErrors.append(e); | 141 | if (!isErrorIgnored(error)) { | ||
142 | d->ignoredErrors.append(error); | ||||
143 | } | ||||
147 | } | 144 | } | ||
148 | } | 145 | } | ||
149 | 146 | | |||
150 | void KSslCertificateRule::setIgnoredErrors(const QList<KSslError> &errors) | 147 | void KSslCertificateRule::setIgnoredErrors(const QList<KSslError> &errors) | ||
151 | { | 148 | { | ||
152 | QList<KSslError::Error> el; | 149 | QList<KSslError::Error> el; | ||
153 | el.reserve(errors.size()); | 150 | el.reserve(errors.size()); | ||
154 | for (const KSslError &e : errors) { | 151 | for (const KSslError &e : errors) { | ||
155 | el.append(e.error()); | 152 | el.append(e.error()); | ||
156 | } | 153 | } | ||
157 | setIgnoredErrors(el); | 154 | setIgnoredErrors(el); | ||
158 | } | 155 | } | ||
159 | 156 | | |||
160 | void KSslCertificateRule::setIgnoredErrors(const QList<QSslError> &errors) | 157 | void KSslCertificateRule::setIgnoredErrors(const QList<QSslError> &errors) | ||
161 | { | 158 | { | ||
162 | d->ignoredErrors.clear(); | 159 | d->ignoredErrors.clear(); | ||
163 | for (const QSslError &error : errors) { | 160 | for (const QSslError &error : errors) { | ||
164 | if (!isErrorIgnored(error.error())) { | 161 | if (!isErrorIgnored(error.error())) { | ||
165 | d->ignoredErrors.append(KSslErrorPrivate::errorFromQSslError(error.error())); | 162 | d->ignoredErrors.append(error.error()); | ||
166 | } | 163 | } | ||
167 | } | 164 | } | ||
168 | } | 165 | } | ||
169 | 166 | | |||
170 | QList<KSslError::Error> KSslCertificateRule::ignoredErrors() const | 167 | QList<KSslError::Error> KSslCertificateRule::ignoredErrors() const | ||
171 | { | 168 | { | ||
172 | return d->ignoredErrors; | 169 | // TODO KF6: return d->ignoredErrors | ||
170 | // return d->ignoredErrors; | ||||
171 | QList<KSslError::Error> errors; | ||||
172 | errors.reserve(d->ignoredErrors.size()); | ||||
173 | std::transform(d->ignoredErrors.cbegin(), d->ignoredErrors.cend(), std::back_inserter(errors), KSslErrorPrivate::errorFromQSslError); | ||||
174 | return errors; | ||||
173 | } | 175 | } | ||
174 | 176 | | |||
175 | QList<KSslError::Error> KSslCertificateRule::filterErrors(const QList<KSslError::Error> &errors) const | 177 | QList<KSslError::Error> KSslCertificateRule::filterErrors(const QList<KSslError::Error> &errors) const | ||
176 | { | 178 | { | ||
177 | QList<KSslError::Error> ret; | 179 | QList<KSslError::Error> ret; | ||
178 | for (KSslError::Error error : errors) { | 180 | for (KSslError::Error error : errors) { | ||
179 | if (!isErrorIgnored(error)) { | 181 | if (!isErrorIgnored(error)) { | ||
180 | ret.append(error); | 182 | ret.append(error); | ||
▲ Show 20 Lines • Show All 352 Lines • Show Last 20 Lines |