/src/qtbase/src/plugins/tls/shared/qdtls_base.cpp
Line | Count | Source |
1 | | // Copyright (C) 2021 The Qt Company Ltd. |
2 | | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only |
3 | | // Qt-Security score:significant reason:default |
4 | | |
5 | | #include "qdtls_base_p.h" |
6 | | |
7 | | QT_BEGIN_NAMESPACE |
8 | | |
9 | | void QDtlsBasePrivate::setDtlsError(QDtlsError code, const QString &description) |
10 | 0 | { |
11 | 0 | errorCode = code; |
12 | 0 | errorDescription = description; |
13 | 0 | } |
14 | | |
15 | | QDtlsError QDtlsBasePrivate::error() const |
16 | 0 | { |
17 | 0 | return errorCode; |
18 | 0 | } |
19 | | |
20 | | QString QDtlsBasePrivate::errorString() const |
21 | 0 | { |
22 | 0 | return errorDescription; |
23 | 0 | } |
24 | | |
25 | | void QDtlsBasePrivate::clearDtlsError() |
26 | 0 | { |
27 | 0 | errorCode = QDtlsError::NoError; |
28 | 0 | errorDescription.clear(); |
29 | 0 | } |
30 | | |
31 | | QSslConfiguration QDtlsBasePrivate::configuration() const |
32 | 0 | { |
33 | 0 | return dtlsConfiguration; |
34 | 0 | } |
35 | | |
36 | | void QDtlsBasePrivate::setConfiguration(const QSslConfiguration &configuration) |
37 | 0 | { |
38 | 0 | dtlsConfiguration = configuration; |
39 | 0 | clearDtlsError(); |
40 | 0 | } |
41 | | |
42 | | bool QDtlsBasePrivate::setCookieGeneratorParameters(const GenParams ¶ms) |
43 | 0 | { |
44 | 0 | if (!params.secret.size()) { |
45 | 0 | setDtlsError(QDtlsError::InvalidInputParameters, |
46 | 0 | QDtls::tr("Invalid (empty) secret")); |
47 | 0 | return false; |
48 | 0 | } |
49 | | |
50 | 0 | clearDtlsError(); |
51 | |
|
52 | 0 | hashAlgorithm = params.hash; |
53 | 0 | secret = params.secret; |
54 | |
|
55 | 0 | return true; |
56 | 0 | } |
57 | | |
58 | | QDtlsClientVerifier::GeneratorParameters |
59 | | QDtlsBasePrivate::cookieGeneratorParameters() const |
60 | 0 | { |
61 | 0 | return {hashAlgorithm, secret}; |
62 | 0 | } |
63 | | |
64 | | bool QDtlsBasePrivate::isDtlsProtocol(QSsl::SslProtocol protocol) |
65 | 0 | { |
66 | 0 | switch (protocol) { |
67 | 0 | QT_WARNING_PUSH |
68 | 0 | QT_WARNING_DISABLE_DEPRECATED |
69 | 0 | case QSsl::DtlsV1_0: |
70 | 0 | case QSsl::DtlsV1_0OrLater: |
71 | 0 | QT_WARNING_POP |
72 | 0 | case QSsl::DtlsV1_2: |
73 | 0 | case QSsl::DtlsV1_2OrLater: |
74 | 0 | return true; |
75 | 0 | default: |
76 | 0 | return false; |
77 | 0 | } |
78 | 0 | } |
79 | | |
80 | | QT_END_NAMESPACE |