Browse Source

Added enum instead of int for QDnsHeader and QDnsQuery and associated tests

develop
Robin Thoni 6 years ago
parent
commit
a5915f51f3

+ 5
- 4
src/modules/dns-base/includes/dns-base/QDnsHeader.h View File

8
 #include <qplatformdefs.h>
8
 #include <qplatformdefs.h>
9
 #include <QByteArray>
9
 #include <QByteArray>
10
 #include <QDataStream>
10
 #include <QDataStream>
11
+#include "QDnsBase.h"
11
 
12
 
12
 namespace QDns
13
 namespace QDns
13
 {
14
 {
49
 
50
 
50
             void setIsQuery(bool isQuery);
51
             void setIsQuery(bool isQuery);
51
 
52
 
52
-            quint8 getOpcode() const;
53
+            HeaderOpcode getOpcode() const;
53
 
54
 
54
-            void setOpcode(quint8 opcode);
55
+            void setOpcode(HeaderOpcode opcode);
55
 
56
 
56
             bool isAuthoritative() const;
57
             bool isAuthoritative() const;
57
 
58
 
77
 
78
 
78
             void setNonAuthenticatedAcceptable(bool isNonAuthenticatedAcceptable);
79
             void setNonAuthenticatedAcceptable(bool isNonAuthenticatedAcceptable);
79
 
80
 
80
-            quint8 getReplyCode() const;
81
+            HeaderReplyCode getReplyCode() const;
81
 
82
 
82
-            void setReplyCode(quint8 replyCode);
83
+            void setReplyCode(HeaderReplyCode replyCode);
83
 
84
 
84
 
85
 
85
             quint16 getQueryCount() const;
86
             quint16 getQueryCount() const;

+ 5
- 4
src/modules/dns-base/includes/dns-base/QDnsQuery.h View File

7
 
7
 
8
 #include <qplatformdefs.h>
8
 #include <qplatformdefs.h>
9
 #include <QString>
9
 #include <QString>
10
+#include "dns-base/QDnsBase.h"
10
 
11
 
11
 namespace QDns
12
 namespace QDns
12
 {
13
 {
33
 
34
 
34
             void setName(const QString &name);
35
             void setName(const QString &name);
35
 
36
 
36
-            quint16 getType() const;
37
+            RecordType getType() const;
37
 
38
 
38
-            void setType(quint16 type);
39
+            void setType(RecordType type);
39
 
40
 
40
-            quint16 getClass() const;
41
+            RecordClass getClass() const;
41
 
42
 
42
-            void setClass(quint16 aClass);
43
+            void setClass(RecordClass aClass);
43
 
44
 
44
         private:
45
         private:
45
             void parse(const QByteArray &packetData, QDataStream &dataStream);
46
             void parse(const QByteArray &packetData, QDataStream &dataStream);

+ 7
- 7
src/modules/dns-base/src/QDnsHeader.cpp View File

134
             setFlagBits(0, (quint8) !isQuery, 1);
134
             setFlagBits(0, (quint8) !isQuery, 1);
135
         }
135
         }
136
 
136
 
137
-        quint8 QDnsHeader::getOpcode() const
137
+        HeaderOpcode QDnsHeader::getOpcode() const
138
         {
138
         {
139
-            return (quint8) getFlagBits(4, 4);
139
+            return (HeaderOpcode) getFlagBits(4, 4);
140
         }
140
         }
141
 
141
 
142
-        void QDnsHeader::setOpcode(quint8 opcode)
142
+        void QDnsHeader::setOpcode(HeaderOpcode opcode)
143
         {
143
         {
144
-            setFlagBits(4, opcode, 4);
144
+            setFlagBits(4, (quint8) opcode, 4);
145
         }
145
         }
146
 
146
 
147
         bool QDnsHeader::isAuthoritative() const
147
         bool QDnsHeader::isAuthoritative() const
204
             setFlagBits(11, (quint8) isNonAuthenticatedAcceptable, 1);
204
             setFlagBits(11, (quint8) isNonAuthenticatedAcceptable, 1);
205
         }
205
         }
206
 
206
 
207
-        quint8 QDnsHeader::getReplyCode() const
207
+        HeaderReplyCode QDnsHeader::getReplyCode() const
208
         {
208
         {
209
-            return (quint8) getFlagBits(15, 4);
209
+            return (HeaderReplyCode) getFlagBits(15, 4);
210
         }
210
         }
211
 
211
 
212
-        void QDnsHeader::setReplyCode(quint8 replyCode)
212
+        void QDnsHeader::setReplyCode(HeaderReplyCode replyCode)
213
         {
213
         {
214
             setFlagBits(15, (quint8) replyCode, 4);
214
             setFlagBits(15, (quint8) replyCode, 4);
215
         }
215
         }

+ 8
- 8
src/modules/dns-base/src/QDnsQuery.cpp View File

11
     {
11
     {
12
         QDnsQuery::QDnsQuery()
12
         QDnsQuery::QDnsQuery()
13
                 : m_isValid(true)
13
                 : m_isValid(true)
14
-                  , m_type(0)
15
-                  , m_class(0)
14
+                  , m_type(RecordType::A)
15
+                  , m_class(RecordClass::IN)
16
         {
16
         {
17
         }
17
         }
18
 
18
 
74
             m_name = name;
74
             m_name = name;
75
         }
75
         }
76
 
76
 
77
-        quint16 QDnsQuery::getType() const
77
+        RecordType QDnsQuery::getType() const
78
         {
78
         {
79
-            return m_type;
79
+            return (RecordType) m_type;
80
         }
80
         }
81
 
81
 
82
-        void QDnsQuery::setType(quint16 type)
82
+        void QDnsQuery::setType(RecordType type)
83
         {
83
         {
84
             m_type = type;
84
             m_type = type;
85
         }
85
         }
86
 
86
 
87
-        quint16 QDnsQuery::getClass() const
87
+        RecordClass QDnsQuery::getClass() const
88
         {
88
         {
89
-            return m_class;
89
+            return (RecordClass) m_class;
90
         }
90
         }
91
 
91
 
92
-        void QDnsQuery::setClass(quint16 aClass)
92
+        void QDnsQuery::setClass(RecordClass aClass)
93
         {
93
         {
94
             m_class = aClass;
94
             m_class = aClass;
95
         }
95
         }

+ 10
- 10
src/modules/dns-base/tests/DnsHeader.cpp View File

16
 
16
 
17
     quint16 flags;
17
     quint16 flags;
18
     bool flagQuery;
18
     bool flagQuery;
19
-    quint8 flagOpcode;
19
+    QDns::Base::HeaderOpcode flagOpcode;
20
     bool flagAuthoritative;
20
     bool flagAuthoritative;
21
     bool flagTruncated;
21
     bool flagTruncated;
22
     bool flagRecursionDesired;
22
     bool flagRecursionDesired;
24
     bool flagReserved0;
24
     bool flagReserved0;
25
     bool flagAnswerAuthenticated;
25
     bool flagAnswerAuthenticated;
26
     bool flagNonAuthenticatedAcceptable;
26
     bool flagNonAuthenticatedAcceptable;
27
-    quint8 flagReplyCode;
27
+    QDns::Base::HeaderReplyCode flagReplyCode;
28
 
28
 
29
     quint16 queryCount;
29
     quint16 queryCount;
30
     quint16 answerCount;
30
     quint16 answerCount;
167
 
167
 
168
                                                      0x0100,
168
                                                      0x0100,
169
                                                      true,
169
                                                      true,
170
-                                                     0,
170
+                                                     QDns::Base::HeaderOpcode::Query,
171
                                                      false,
171
                                                      false,
172
                                                      false,
172
                                                      false,
173
                                                      true,
173
                                                      true,
175
                                                      false,
175
                                                      false,
176
                                                      false,
176
                                                      false,
177
                                                      false,
177
                                                      false,
178
-                                                     0,
178
+                                                     QDns::Base::HeaderReplyCode::NoError,
179
 
179
 
180
                                                      1,
180
                                                      1,
181
                                                      0,
181
                                                      0,
187
                                                      0x3cdc,
187
                                                      0x3cdc,
188
                                                      0x8180,
188
                                                      0x8180,
189
                                                      false,
189
                                                      false,
190
-                                                     0,
190
+                                                     QDns::Base::HeaderOpcode::Query,
191
                                                      false,
191
                                                      false,
192
                                                      false,
192
                                                      false,
193
                                                      true,
193
                                                      true,
195
                                                      false,
195
                                                      false,
196
                                                      false,
196
                                                      false,
197
                                                      false,
197
                                                      false,
198
-                                                     0,
198
+                                                     QDns::Base::HeaderReplyCode::NoError,
199
 
199
 
200
                                                      1,
200
                                                      1,
201
                                                      1,
201
                                                      1,
208
                                                      0x3cdc,
208
                                                      0x3cdc,
209
                                                      0xaaaa,
209
                                                      0xaaaa,
210
                                                      false,
210
                                                      false,
211
-                                                     5,
211
+                                                     QDns::Base::HeaderOpcode::Update,
212
                                                      false,
212
                                                      false,
213
                                                      true,
213
                                                      true,
214
                                                      false,
214
                                                      false,
216
                                                      false,
216
                                                      false,
217
                                                      true,
217
                                                      true,
218
                                                      false,
218
                                                      false,
219
-                                                     10,
219
+                                                     QDns::Base::HeaderReplyCode::NotZone,
220
 
220
 
221
                                                      43690,
221
                                                      43690,
222
                                                      21845,
222
                                                      21845,
228
                                                      0x3cdc,
228
                                                      0x3cdc,
229
                                                      0x5555,
229
                                                      0x5555,
230
                                                      true,
230
                                                      true,
231
-                                                     10,
231
+                                                     (QDns::Base::HeaderOpcode) 10,
232
                                                      true,
232
                                                      true,
233
                                                      false,
233
                                                      false,
234
                                                      true,
234
                                                      true,
236
                                                      true,
236
                                                      true,
237
                                                      false,
237
                                                      false,
238
                                                      true,
238
                                                      true,
239
-                                                     5,
239
+                                                     QDns::Base::HeaderReplyCode::Refused,
240
 
240
 
241
                                                      22015,
241
                                                      22015,
242
                                                      43690,
242
                                                      43690,

+ 9
- 9
src/modules/dns-base/tests/DnsQuery.cpp View File

73
     const char* hexData;
73
     const char* hexData;
74
 
74
 
75
     const char* name;
75
     const char* name;
76
-    quint16 type;
77
-    quint16 clazz;
76
+    QDns::Base::RecordType type;
77
+    QDns::Base::RecordClass clazz;
78
 };
78
 };
79
 
79
 
80
 class DnsQuerySerializeTest : public ::testing::TestWithParam<DnsQuerySerializeTestParams>
80
 class DnsQuerySerializeTest : public ::testing::TestWithParam<DnsQuerySerializeTestParams>
96
 INSTANTIATE_TEST_CASE_P(DnsQuerySerializeTestInst,
96
 INSTANTIATE_TEST_CASE_P(DnsQuerySerializeTestInst,
97
                         DnsQuerySerializeTest,
97
                         DnsQuerySerializeTest,
98
                         ::testing::Values(
98
                         ::testing::Values(
99
-                                DnsQuerySerializeTestParams {"0266720000020008",
99
+                                DnsQuerySerializeTestParams {"0266720000020004",
100
                                                              "fr",
100
                                                              "fr",
101
-                                                             2,
102
-                                                             8
101
+                                                             QDns::Base::RecordType::NS,
102
+                                                             QDns::Base::RecordClass::HS
103
                                 },
103
                                 },
104
                                 DnsQuerySerializeTestParams {"06676f6f676c650266720000010001",
104
                                 DnsQuerySerializeTestParams {"06676f6f676c650266720000010001",
105
                                                              "google.fr",
105
                                                              "google.fr",
106
-                                                             1,
107
-                                                             1
106
+                                                             QDns::Base::RecordType::A,
107
+                                                             QDns::Base::RecordClass::IN
108
                                 },
108
                                 },
109
                                 DnsQuerySerializeTestParams {"03777777067274686f6e6903636f6d0000010001",
109
                                 DnsQuerySerializeTestParams {"03777777067274686f6e6903636f6d0000010001",
110
                                                              "www.rthoni.com",
110
                                                              "www.rthoni.com",
111
-                                                             1,
112
-                                                             1
111
+                                                             QDns::Base::RecordType::A,
112
+                                                             QDns::Base::RecordClass::IN
113
                                 }
113
                                 }
114
                         ));
114
                         ));

Loading…
Cancel
Save