|
@@ -92,7 +92,7 @@ protected:
|
|
// If processMessage has been called before, parse_message needs
|
|
// If processMessage has been called before, parse_message needs
|
|
// to be reset. If it hasn't, there's no harm in doing so
|
|
// to be reset. If it hasn't, there's no harm in doing so
|
|
parse_message->clear(Message::PARSE);
|
|
parse_message->clear(Message::PARSE);
|
|
- server.processMessage(*io_message, parse_message, response_obuffer,
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
&dnsserv);
|
|
&dnsserv);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -188,7 +188,7 @@ TEST_F(AuthSrvTest, builtInQuery) {
|
|
default_qid, Name("version.bind"),
|
|
default_qid, Name("version.bind"),
|
|
RRClass::CH(), RRType::TXT());
|
|
RRClass::CH(), RRType::TXT());
|
|
createRequestPacket(request_message, IPPROTO_UDP);
|
|
createRequestPacket(request_message, IPPROTO_UDP);
|
|
- server.processMessage(*io_message, parse_message, response_obuffer,
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
&dnsserv);
|
|
&dnsserv);
|
|
createBuiltinVersionResponse(default_qid, response_data);
|
|
createBuiltinVersionResponse(default_qid, response_data);
|
|
EXPECT_PRED_FORMAT4(UnitTestUtil::matchWireData,
|
|
EXPECT_PRED_FORMAT4(UnitTestUtil::matchWireData,
|
|
@@ -300,7 +300,8 @@ TEST_F(AuthSrvTest, AXFRSuccess) {
|
|
createRequestPacket(request_message, IPPROTO_TCP);
|
|
createRequestPacket(request_message, IPPROTO_TCP);
|
|
// On success, the AXFR query has been passed to a separate process,
|
|
// On success, the AXFR query has been passed to a separate process,
|
|
// so we shouldn't have to respond.
|
|
// so we shouldn't have to respond.
|
|
- server.processMessage(*io_message, parse_message, response_obuffer, &dnsserv);
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
|
|
+ &dnsserv);
|
|
EXPECT_FALSE(dnsserv.hasAnswer());
|
|
EXPECT_FALSE(dnsserv.hasAnswer());
|
|
EXPECT_TRUE(xfrout.isConnected());
|
|
EXPECT_TRUE(xfrout.isConnected());
|
|
checkAllRcodeCountersZero();
|
|
checkAllRcodeCountersZero();
|
|
@@ -321,7 +322,7 @@ TEST_F(AuthSrvTest, TSIGSigned) {
|
|
boost::shared_ptr<TSIGKeyRing> keyring(new TSIGKeyRing);
|
|
boost::shared_ptr<TSIGKeyRing> keyring(new TSIGKeyRing);
|
|
keyring->add(key);
|
|
keyring->add(key);
|
|
server.setTSIGKeyRing(&keyring);
|
|
server.setTSIGKeyRing(&keyring);
|
|
- server.processMessage(*io_message, parse_message, response_obuffer,
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
&dnsserv);
|
|
&dnsserv);
|
|
|
|
|
|
// What did we get?
|
|
// What did we get?
|
|
@@ -356,7 +357,7 @@ TEST_F(AuthSrvTest, TSIGSignedBadKey) {
|
|
// Process the message, but use a different key there
|
|
// Process the message, but use a different key there
|
|
boost::shared_ptr<TSIGKeyRing> keyring(new TSIGKeyRing);
|
|
boost::shared_ptr<TSIGKeyRing> keyring(new TSIGKeyRing);
|
|
server.setTSIGKeyRing(&keyring);
|
|
server.setTSIGKeyRing(&keyring);
|
|
- server.processMessage(*io_message, parse_message, response_obuffer,
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
&dnsserv);
|
|
&dnsserv);
|
|
|
|
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
@@ -391,7 +392,7 @@ TEST_F(AuthSrvTest, TSIGBadSig) {
|
|
boost::shared_ptr<TSIGKeyRing> keyring(new TSIGKeyRing);
|
|
boost::shared_ptr<TSIGKeyRing> keyring(new TSIGKeyRing);
|
|
keyring->add(TSIGKey("key:QkFECg==:hmac-sha1"));
|
|
keyring->add(TSIGKey("key:QkFECg==:hmac-sha1"));
|
|
server.setTSIGKeyRing(&keyring);
|
|
server.setTSIGKeyRing(&keyring);
|
|
- server.processMessage(*io_message, parse_message, response_obuffer,
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
&dnsserv);
|
|
&dnsserv);
|
|
|
|
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
@@ -429,7 +430,7 @@ TEST_F(AuthSrvTest, TSIGCheckFirst) {
|
|
boost::shared_ptr<TSIGKeyRing> keyring(new TSIGKeyRing);
|
|
boost::shared_ptr<TSIGKeyRing> keyring(new TSIGKeyRing);
|
|
keyring->add(TSIGKey("key:QkFECg==:hmac-sha1"));
|
|
keyring->add(TSIGKey("key:QkFECg==:hmac-sha1"));
|
|
server.setTSIGKeyRing(&keyring);
|
|
server.setTSIGKeyRing(&keyring);
|
|
- server.processMessage(*io_message, parse_message, response_obuffer,
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
&dnsserv);
|
|
&dnsserv);
|
|
|
|
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
@@ -460,7 +461,8 @@ TEST_F(AuthSrvTest, AXFRConnectFail) {
|
|
Name("example.com"), RRClass::IN(),
|
|
Name("example.com"), RRClass::IN(),
|
|
RRType::AXFR());
|
|
RRType::AXFR());
|
|
createRequestPacket(request_message, IPPROTO_TCP);
|
|
createRequestPacket(request_message, IPPROTO_TCP);
|
|
- server.processMessage(*io_message, parse_message, response_obuffer, &dnsserv);
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
|
|
+ &dnsserv);
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
headerCheck(*parse_message, default_qid, Rcode::SERVFAIL(),
|
|
headerCheck(*parse_message, default_qid, Rcode::SERVFAIL(),
|
|
opcode.getCode(), QR_FLAG, 1, 0, 0, 0);
|
|
opcode.getCode(), QR_FLAG, 1, 0, 0, 0);
|
|
@@ -474,7 +476,8 @@ TEST_F(AuthSrvTest, AXFRSendFail) {
|
|
Name("example.com"), RRClass::IN(),
|
|
Name("example.com"), RRClass::IN(),
|
|
RRType::AXFR());
|
|
RRType::AXFR());
|
|
createRequestPacket(request_message, IPPROTO_TCP);
|
|
createRequestPacket(request_message, IPPROTO_TCP);
|
|
- server.processMessage(*io_message, parse_message, response_obuffer, &dnsserv);
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
|
|
+ &dnsserv);
|
|
EXPECT_TRUE(xfrout.isConnected());
|
|
EXPECT_TRUE(xfrout.isConnected());
|
|
|
|
|
|
xfrout.disableSend();
|
|
xfrout.disableSend();
|
|
@@ -484,7 +487,8 @@ TEST_F(AuthSrvTest, AXFRSendFail) {
|
|
Name("example.com"), RRClass::IN(),
|
|
Name("example.com"), RRClass::IN(),
|
|
RRType::AXFR());
|
|
RRType::AXFR());
|
|
createRequestPacket(request_message, IPPROTO_TCP);
|
|
createRequestPacket(request_message, IPPROTO_TCP);
|
|
- server.processMessage(*io_message, parse_message, response_obuffer, &dnsserv);
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
|
|
+ &dnsserv);
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
headerCheck(*parse_message, default_qid, Rcode::SERVFAIL(),
|
|
headerCheck(*parse_message, default_qid, Rcode::SERVFAIL(),
|
|
opcode.getCode(), QR_FLAG, 1, 0, 0, 0);
|
|
opcode.getCode(), QR_FLAG, 1, 0, 0, 0);
|
|
@@ -502,8 +506,8 @@ TEST_F(AuthSrvTest, AXFRDisconnectFail) {
|
|
Name("example.com"), RRClass::IN(),
|
|
Name("example.com"), RRClass::IN(),
|
|
RRType::AXFR());
|
|
RRType::AXFR());
|
|
createRequestPacket(request_message, IPPROTO_TCP);
|
|
createRequestPacket(request_message, IPPROTO_TCP);
|
|
- EXPECT_NO_THROW(server.processMessage(*io_message, parse_message,
|
|
|
|
- response_obuffer, &dnsserv));
|
|
|
|
|
|
+ EXPECT_NO_THROW(server.processMessage(*io_message, *parse_message,
|
|
|
|
+ *response_obuffer, &dnsserv));
|
|
// Since the disconnect failed, we should still be 'connected'
|
|
// Since the disconnect failed, we should still be 'connected'
|
|
EXPECT_TRUE(xfrout.isConnected());
|
|
EXPECT_TRUE(xfrout.isConnected());
|
|
// XXX: we need to re-enable disconnect. otherwise an exception would be
|
|
// XXX: we need to re-enable disconnect. otherwise an exception would be
|
|
@@ -518,7 +522,8 @@ TEST_F(AuthSrvTest, IXFRConnectFail) {
|
|
Name("example.com"), RRClass::IN(),
|
|
Name("example.com"), RRClass::IN(),
|
|
RRType::IXFR());
|
|
RRType::IXFR());
|
|
createRequestPacket(request_message, IPPROTO_TCP);
|
|
createRequestPacket(request_message, IPPROTO_TCP);
|
|
- server.processMessage(*io_message, parse_message, response_obuffer, &dnsserv);
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
|
|
+ &dnsserv);
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
headerCheck(*parse_message, default_qid, Rcode::SERVFAIL(),
|
|
headerCheck(*parse_message, default_qid, Rcode::SERVFAIL(),
|
|
opcode.getCode(), QR_FLAG, 1, 0, 0, 0);
|
|
opcode.getCode(), QR_FLAG, 1, 0, 0, 0);
|
|
@@ -532,7 +537,8 @@ TEST_F(AuthSrvTest, IXFRSendFail) {
|
|
Name("example.com"), RRClass::IN(),
|
|
Name("example.com"), RRClass::IN(),
|
|
RRType::IXFR());
|
|
RRType::IXFR());
|
|
createRequestPacket(request_message, IPPROTO_TCP);
|
|
createRequestPacket(request_message, IPPROTO_TCP);
|
|
- server.processMessage(*io_message, parse_message, response_obuffer, &dnsserv);
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
|
|
+ &dnsserv);
|
|
EXPECT_TRUE(xfrout.isConnected());
|
|
EXPECT_TRUE(xfrout.isConnected());
|
|
|
|
|
|
xfrout.disableSend();
|
|
xfrout.disableSend();
|
|
@@ -542,7 +548,8 @@ TEST_F(AuthSrvTest, IXFRSendFail) {
|
|
Name("example.com"), RRClass::IN(),
|
|
Name("example.com"), RRClass::IN(),
|
|
RRType::IXFR());
|
|
RRType::IXFR());
|
|
createRequestPacket(request_message, IPPROTO_TCP);
|
|
createRequestPacket(request_message, IPPROTO_TCP);
|
|
- server.processMessage(*io_message, parse_message, response_obuffer, &dnsserv);
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
|
|
+ &dnsserv);
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
headerCheck(*parse_message, default_qid, Rcode::SERVFAIL(),
|
|
headerCheck(*parse_message, default_qid, Rcode::SERVFAIL(),
|
|
opcode.getCode(), QR_FLAG, 1, 0, 0, 0);
|
|
opcode.getCode(), QR_FLAG, 1, 0, 0, 0);
|
|
@@ -560,8 +567,8 @@ TEST_F(AuthSrvTest, IXFRDisconnectFail) {
|
|
Name("example.com"), RRClass::IN(),
|
|
Name("example.com"), RRClass::IN(),
|
|
RRType::IXFR());
|
|
RRType::IXFR());
|
|
createRequestPacket(request_message, IPPROTO_TCP);
|
|
createRequestPacket(request_message, IPPROTO_TCP);
|
|
- EXPECT_NO_THROW(server.processMessage(*io_message, parse_message,
|
|
|
|
- response_obuffer, &dnsserv));
|
|
|
|
|
|
+ EXPECT_NO_THROW(server.processMessage(*io_message, *parse_message,
|
|
|
|
+ *response_obuffer, &dnsserv));
|
|
EXPECT_TRUE(xfrout.isConnected());
|
|
EXPECT_TRUE(xfrout.isConnected());
|
|
// XXX: we need to re-enable disconnect. otherwise an exception would be
|
|
// XXX: we need to re-enable disconnect. otherwise an exception would be
|
|
// thrown via the destructor of the server.
|
|
// thrown via the destructor of the server.
|
|
@@ -574,7 +581,8 @@ TEST_F(AuthSrvTest, notify) {
|
|
RRClass::IN(), RRType::SOA());
|
|
RRClass::IN(), RRType::SOA());
|
|
request_message.setHeaderFlag(Message::HEADERFLAG_AA);
|
|
request_message.setHeaderFlag(Message::HEADERFLAG_AA);
|
|
createRequestPacket(request_message, IPPROTO_UDP);
|
|
createRequestPacket(request_message, IPPROTO_UDP);
|
|
- server.processMessage(*io_message, parse_message, response_obuffer, &dnsserv);
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
|
|
+ &dnsserv);
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
|
|
|
|
// An internal command message should have been created and sent to an
|
|
// An internal command message should have been created and sent to an
|
|
@@ -609,7 +617,8 @@ TEST_F(AuthSrvTest, notifyForCHClass) {
|
|
RRClass::CH(), RRType::SOA());
|
|
RRClass::CH(), RRType::SOA());
|
|
request_message.setHeaderFlag(Message::HEADERFLAG_AA);
|
|
request_message.setHeaderFlag(Message::HEADERFLAG_AA);
|
|
createRequestPacket(request_message, IPPROTO_UDP);
|
|
createRequestPacket(request_message, IPPROTO_UDP);
|
|
- server.processMessage(*io_message, parse_message, response_obuffer, &dnsserv);
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
|
|
+ &dnsserv);
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
|
|
|
|
// Other conditions should be the same, so simply confirm the RR class is
|
|
// Other conditions should be the same, so simply confirm the RR class is
|
|
@@ -627,7 +636,8 @@ TEST_F(AuthSrvTest, notifyEmptyQuestion) {
|
|
request_message.setQid(default_qid);
|
|
request_message.setQid(default_qid);
|
|
request_message.toWire(request_renderer);
|
|
request_message.toWire(request_renderer);
|
|
createRequestPacket(request_message, IPPROTO_UDP);
|
|
createRequestPacket(request_message, IPPROTO_UDP);
|
|
- server.processMessage(*io_message, parse_message, response_obuffer, &dnsserv);
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
|
|
+ &dnsserv);
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
headerCheck(*parse_message, default_qid, Rcode::FORMERR(),
|
|
headerCheck(*parse_message, default_qid, Rcode::FORMERR(),
|
|
Opcode::NOTIFY().getCode(), QR_FLAG, 0, 0, 0, 0);
|
|
Opcode::NOTIFY().getCode(), QR_FLAG, 0, 0, 0, 0);
|
|
@@ -642,7 +652,8 @@ TEST_F(AuthSrvTest, notifyMultiQuestions) {
|
|
RRType::SOA()));
|
|
RRType::SOA()));
|
|
request_message.setHeaderFlag(Message::HEADERFLAG_AA);
|
|
request_message.setHeaderFlag(Message::HEADERFLAG_AA);
|
|
createRequestPacket(request_message, IPPROTO_UDP);
|
|
createRequestPacket(request_message, IPPROTO_UDP);
|
|
- server.processMessage(*io_message, parse_message, response_obuffer, &dnsserv);
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
|
|
+ &dnsserv);
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
headerCheck(*parse_message, default_qid, Rcode::FORMERR(),
|
|
headerCheck(*parse_message, default_qid, Rcode::FORMERR(),
|
|
Opcode::NOTIFY().getCode(), QR_FLAG, 2, 0, 0, 0);
|
|
Opcode::NOTIFY().getCode(), QR_FLAG, 2, 0, 0, 0);
|
|
@@ -654,7 +665,8 @@ TEST_F(AuthSrvTest, notifyNonSOAQuestion) {
|
|
RRClass::IN(), RRType::NS());
|
|
RRClass::IN(), RRType::NS());
|
|
request_message.setHeaderFlag(Message::HEADERFLAG_AA);
|
|
request_message.setHeaderFlag(Message::HEADERFLAG_AA);
|
|
createRequestPacket(request_message, IPPROTO_UDP);
|
|
createRequestPacket(request_message, IPPROTO_UDP);
|
|
- server.processMessage(*io_message, parse_message, response_obuffer, &dnsserv);
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
|
|
+ &dnsserv);
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
headerCheck(*parse_message, default_qid, Rcode::FORMERR(),
|
|
headerCheck(*parse_message, default_qid, Rcode::FORMERR(),
|
|
Opcode::NOTIFY().getCode(), QR_FLAG, 1, 0, 0, 0);
|
|
Opcode::NOTIFY().getCode(), QR_FLAG, 1, 0, 0, 0);
|
|
@@ -666,7 +678,8 @@ TEST_F(AuthSrvTest, notifyWithoutAA) {
|
|
default_qid, Name("example.com"),
|
|
default_qid, Name("example.com"),
|
|
RRClass::IN(), RRType::SOA());
|
|
RRClass::IN(), RRType::SOA());
|
|
createRequestPacket(request_message, IPPROTO_UDP);
|
|
createRequestPacket(request_message, IPPROTO_UDP);
|
|
- server.processMessage(*io_message, parse_message, response_obuffer, &dnsserv);
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
|
|
+ &dnsserv);
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
headerCheck(*parse_message, default_qid, Rcode::NOERROR(),
|
|
headerCheck(*parse_message, default_qid, Rcode::NOERROR(),
|
|
Opcode::NOTIFY().getCode(), QR_FLAG | AA_FLAG, 1, 0, 0, 0);
|
|
Opcode::NOTIFY().getCode(), QR_FLAG | AA_FLAG, 1, 0, 0, 0);
|
|
@@ -679,7 +692,8 @@ TEST_F(AuthSrvTest, notifyWithErrorRcode) {
|
|
request_message.setHeaderFlag(Message::HEADERFLAG_AA);
|
|
request_message.setHeaderFlag(Message::HEADERFLAG_AA);
|
|
request_message.setRcode(Rcode::SERVFAIL());
|
|
request_message.setRcode(Rcode::SERVFAIL());
|
|
createRequestPacket(request_message, IPPROTO_UDP);
|
|
createRequestPacket(request_message, IPPROTO_UDP);
|
|
- server.processMessage(*io_message, parse_message, response_obuffer, &dnsserv);
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
|
|
+ &dnsserv);
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
headerCheck(*parse_message, default_qid, Rcode::NOERROR(),
|
|
headerCheck(*parse_message, default_qid, Rcode::NOERROR(),
|
|
Opcode::NOTIFY().getCode(), QR_FLAG | AA_FLAG, 1, 0, 0, 0);
|
|
Opcode::NOTIFY().getCode(), QR_FLAG | AA_FLAG, 1, 0, 0, 0);
|
|
@@ -696,7 +710,8 @@ TEST_F(AuthSrvTest, notifyWithoutSession) {
|
|
|
|
|
|
// we simply ignore the notify and let it be resent if an internal error
|
|
// we simply ignore the notify and let it be resent if an internal error
|
|
// happens.
|
|
// happens.
|
|
- server.processMessage(*io_message, parse_message, response_obuffer, &dnsserv);
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
|
|
+ &dnsserv);
|
|
EXPECT_FALSE(dnsserv.hasAnswer());
|
|
EXPECT_FALSE(dnsserv.hasAnswer());
|
|
}
|
|
}
|
|
|
|
|
|
@@ -709,7 +724,8 @@ TEST_F(AuthSrvTest, notifySendFail) {
|
|
request_message.setHeaderFlag(Message::HEADERFLAG_AA);
|
|
request_message.setHeaderFlag(Message::HEADERFLAG_AA);
|
|
createRequestPacket(request_message, IPPROTO_UDP);
|
|
createRequestPacket(request_message, IPPROTO_UDP);
|
|
|
|
|
|
- server.processMessage(*io_message, parse_message, response_obuffer, &dnsserv);
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
|
|
+ &dnsserv);
|
|
EXPECT_FALSE(dnsserv.hasAnswer());
|
|
EXPECT_FALSE(dnsserv.hasAnswer());
|
|
}
|
|
}
|
|
|
|
|
|
@@ -721,7 +737,8 @@ TEST_F(AuthSrvTest, notifyReceiveFail) {
|
|
RRClass::IN(), RRType::SOA());
|
|
RRClass::IN(), RRType::SOA());
|
|
request_message.setHeaderFlag(Message::HEADERFLAG_AA);
|
|
request_message.setHeaderFlag(Message::HEADERFLAG_AA);
|
|
createRequestPacket(request_message, IPPROTO_UDP);
|
|
createRequestPacket(request_message, IPPROTO_UDP);
|
|
- server.processMessage(*io_message, parse_message, response_obuffer, &dnsserv);
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
|
|
+ &dnsserv);
|
|
EXPECT_FALSE(dnsserv.hasAnswer());
|
|
EXPECT_FALSE(dnsserv.hasAnswer());
|
|
}
|
|
}
|
|
|
|
|
|
@@ -733,7 +750,8 @@ TEST_F(AuthSrvTest, notifyWithBogusSessionMessage) {
|
|
RRClass::IN(), RRType::SOA());
|
|
RRClass::IN(), RRType::SOA());
|
|
request_message.setHeaderFlag(Message::HEADERFLAG_AA);
|
|
request_message.setHeaderFlag(Message::HEADERFLAG_AA);
|
|
createRequestPacket(request_message, IPPROTO_UDP);
|
|
createRequestPacket(request_message, IPPROTO_UDP);
|
|
- server.processMessage(*io_message, parse_message, response_obuffer, &dnsserv);
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
|
|
+ &dnsserv);
|
|
EXPECT_FALSE(dnsserv.hasAnswer());
|
|
EXPECT_FALSE(dnsserv.hasAnswer());
|
|
}
|
|
}
|
|
|
|
|
|
@@ -746,7 +764,8 @@ TEST_F(AuthSrvTest, notifyWithSessionMessageError) {
|
|
RRClass::IN(), RRType::SOA());
|
|
RRClass::IN(), RRType::SOA());
|
|
request_message.setHeaderFlag(Message::HEADERFLAG_AA);
|
|
request_message.setHeaderFlag(Message::HEADERFLAG_AA);
|
|
createRequestPacket(request_message, IPPROTO_UDP);
|
|
createRequestPacket(request_message, IPPROTO_UDP);
|
|
- server.processMessage(*io_message, parse_message, response_obuffer, &dnsserv);
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
|
|
+ &dnsserv);
|
|
EXPECT_FALSE(dnsserv.hasAnswer());
|
|
EXPECT_FALSE(dnsserv.hasAnswer());
|
|
}
|
|
}
|
|
|
|
|
|
@@ -773,7 +792,8 @@ TEST_F(AuthSrvTest, updateConfig) {
|
|
// response should have the AA flag on, and have an RR in each answer
|
|
// response should have the AA flag on, and have an RR in each answer
|
|
// and authority section.
|
|
// and authority section.
|
|
createDataFromFile("examplequery_fromWire.wire");
|
|
createDataFromFile("examplequery_fromWire.wire");
|
|
- server.processMessage(*io_message, parse_message, response_obuffer, &dnsserv);
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
|
|
+ &dnsserv);
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
headerCheck(*parse_message, default_qid, Rcode::NOERROR(), opcode.getCode(),
|
|
headerCheck(*parse_message, default_qid, Rcode::NOERROR(), opcode.getCode(),
|
|
QR_FLAG | AA_FLAG, 1, 1, 1, 0);
|
|
QR_FLAG | AA_FLAG, 1, 1, 1, 0);
|
|
@@ -787,7 +807,8 @@ TEST_F(AuthSrvTest, datasourceFail) {
|
|
// in a SERVFAIL response, and the answer and authority sections should
|
|
// in a SERVFAIL response, and the answer and authority sections should
|
|
// be empty.
|
|
// be empty.
|
|
createDataFromFile("badExampleQuery_fromWire.wire");
|
|
createDataFromFile("badExampleQuery_fromWire.wire");
|
|
- server.processMessage(*io_message, parse_message, response_obuffer, &dnsserv);
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
|
|
+ &dnsserv);
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
headerCheck(*parse_message, default_qid, Rcode::SERVFAIL(),
|
|
headerCheck(*parse_message, default_qid, Rcode::SERVFAIL(),
|
|
opcode.getCode(), QR_FLAG, 1, 0, 0, 0);
|
|
opcode.getCode(), QR_FLAG, 1, 0, 0, 0);
|
|
@@ -802,7 +823,8 @@ TEST_F(AuthSrvTest, updateConfigFail) {
|
|
|
|
|
|
// The original data source should still exist.
|
|
// The original data source should still exist.
|
|
createDataFromFile("examplequery_fromWire.wire");
|
|
createDataFromFile("examplequery_fromWire.wire");
|
|
- server.processMessage(*io_message, parse_message, response_obuffer, &dnsserv);
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
|
|
+ &dnsserv);
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
headerCheck(*parse_message, default_qid, Rcode::NOERROR(), opcode.getCode(),
|
|
headerCheck(*parse_message, default_qid, Rcode::NOERROR(), opcode.getCode(),
|
|
QR_FLAG | AA_FLAG, 1, 1, 1, 0);
|
|
QR_FLAG | AA_FLAG, 1, 1, 1, 0);
|
|
@@ -822,7 +844,7 @@ TEST_F(AuthSrvTest, updateWithInMemoryClient) {
|
|
|
|
|
|
// The memory data source is empty, should return REFUSED rcode.
|
|
// The memory data source is empty, should return REFUSED rcode.
|
|
createDataFromFile("examplequery_fromWire.wire");
|
|
createDataFromFile("examplequery_fromWire.wire");
|
|
- server.processMessage(*io_message, parse_message, response_obuffer,
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
&dnsserv);
|
|
&dnsserv);
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
headerCheck(*parse_message, default_qid, Rcode::REFUSED(),
|
|
headerCheck(*parse_message, default_qid, Rcode::REFUSED(),
|
|
@@ -839,7 +861,7 @@ TEST_F(AuthSrvTest, queryWithInMemoryClientNoDNSSEC) {
|
|
EXPECT_EQ(1, server.getInMemoryClient(rrclass)->getZoneCount());
|
|
EXPECT_EQ(1, server.getInMemoryClient(rrclass)->getZoneCount());
|
|
|
|
|
|
createDataFromFile("nsec3query_nodnssec_fromWire.wire");
|
|
createDataFromFile("nsec3query_nodnssec_fromWire.wire");
|
|
- server.processMessage(*io_message, parse_message, response_obuffer,
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
&dnsserv);
|
|
&dnsserv);
|
|
|
|
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
@@ -856,7 +878,7 @@ TEST_F(AuthSrvTest, queryWithInMemoryClientDNSSEC) {
|
|
EXPECT_EQ(1, server.getInMemoryClient(rrclass)->getZoneCount());
|
|
EXPECT_EQ(1, server.getInMemoryClient(rrclass)->getZoneCount());
|
|
|
|
|
|
createDataFromFile("nsec3query_fromWire.wire");
|
|
createDataFromFile("nsec3query_fromWire.wire");
|
|
- server.processMessage(*io_message, parse_message, response_obuffer,
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
&dnsserv);
|
|
&dnsserv);
|
|
|
|
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
@@ -874,7 +896,7 @@ TEST_F(AuthSrvTest, chQueryWithInMemoryClient) {
|
|
default_qid, Name("version.bind"),
|
|
default_qid, Name("version.bind"),
|
|
RRClass::CH(), RRType::TXT());
|
|
RRClass::CH(), RRType::TXT());
|
|
createRequestPacket(request_message, IPPROTO_UDP);
|
|
createRequestPacket(request_message, IPPROTO_UDP);
|
|
- server.processMessage(*io_message, parse_message, response_obuffer,
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
&dnsserv);
|
|
&dnsserv);
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
headerCheck(*parse_message, default_qid, Rcode::NOERROR(),
|
|
headerCheck(*parse_message, default_qid, Rcode::NOERROR(),
|
|
@@ -900,7 +922,7 @@ TEST_F(AuthSrvTest, queryCounterUDPNormal) {
|
|
default_qid, Name("example.com"),
|
|
default_qid, Name("example.com"),
|
|
RRClass::IN(), RRType::NS());
|
|
RRClass::IN(), RRType::NS());
|
|
createRequestPacket(request_message, IPPROTO_UDP);
|
|
createRequestPacket(request_message, IPPROTO_UDP);
|
|
- server.processMessage(*io_message, parse_message, response_obuffer,
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
&dnsserv);
|
|
&dnsserv);
|
|
// After processing UDP query, the counter should be 1.
|
|
// After processing UDP query, the counter should be 1.
|
|
EXPECT_EQ(1, server.getCounter(AuthCounters::SERVER_UDP_QUERY));
|
|
EXPECT_EQ(1, server.getCounter(AuthCounters::SERVER_UDP_QUERY));
|
|
@@ -919,7 +941,7 @@ TEST_F(AuthSrvTest, queryCounterTCPNormal) {
|
|
default_qid, Name("example.com"),
|
|
default_qid, Name("example.com"),
|
|
RRClass::IN(), RRType::NS());
|
|
RRClass::IN(), RRType::NS());
|
|
createRequestPacket(request_message, IPPROTO_TCP);
|
|
createRequestPacket(request_message, IPPROTO_TCP);
|
|
- server.processMessage(*io_message, parse_message, response_obuffer,
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
&dnsserv);
|
|
&dnsserv);
|
|
// After processing TCP query, the counter should be 1.
|
|
// After processing TCP query, the counter should be 1.
|
|
EXPECT_EQ(1, server.getCounter(AuthCounters::SERVER_TCP_QUERY));
|
|
EXPECT_EQ(1, server.getCounter(AuthCounters::SERVER_TCP_QUERY));
|
|
@@ -938,7 +960,8 @@ TEST_F(AuthSrvTest, queryCounterTCPAXFR) {
|
|
createRequestPacket(request_message, IPPROTO_TCP);
|
|
createRequestPacket(request_message, IPPROTO_TCP);
|
|
// On success, the AXFR query has been passed to a separate process,
|
|
// On success, the AXFR query has been passed to a separate process,
|
|
// so auth itself shouldn't respond.
|
|
// so auth itself shouldn't respond.
|
|
- server.processMessage(*io_message, parse_message, response_obuffer, &dnsserv);
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
|
|
+ &dnsserv);
|
|
EXPECT_FALSE(dnsserv.hasAnswer());
|
|
EXPECT_FALSE(dnsserv.hasAnswer());
|
|
// After processing TCP AXFR query, the counter should be 1.
|
|
// After processing TCP AXFR query, the counter should be 1.
|
|
EXPECT_EQ(1, server.getCounter(AuthCounters::SERVER_TCP_QUERY));
|
|
EXPECT_EQ(1, server.getCounter(AuthCounters::SERVER_TCP_QUERY));
|
|
@@ -955,7 +978,8 @@ TEST_F(AuthSrvTest, queryCounterTCPIXFR) {
|
|
createRequestPacket(request_message, IPPROTO_TCP);
|
|
createRequestPacket(request_message, IPPROTO_TCP);
|
|
// On success, the IXFR query has been passed to a separate process,
|
|
// On success, the IXFR query has been passed to a separate process,
|
|
// so auth itself shouldn't respond.
|
|
// so auth itself shouldn't respond.
|
|
- server.processMessage(*io_message, parse_message, response_obuffer, &dnsserv);
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
|
|
+ &dnsserv);
|
|
EXPECT_FALSE(dnsserv.hasAnswer());
|
|
EXPECT_FALSE(dnsserv.hasAnswer());
|
|
// After processing TCP IXFR query, the counter should be 1.
|
|
// After processing TCP IXFR query, the counter should be 1.
|
|
EXPECT_EQ(1, server.getCounter(AuthCounters::SERVER_TCP_QUERY));
|
|
EXPECT_EQ(1, server.getCounter(AuthCounters::SERVER_TCP_QUERY));
|
|
@@ -976,7 +1000,8 @@ TEST_F(AuthSrvTest, queryCounterOpcodes) {
|
|
// we intentionally use different values for each code
|
|
// we intentionally use different values for each code
|
|
for (int j = 0; j <= i; ++j) {
|
|
for (int j = 0; j <= i; ++j) {
|
|
parse_message->clear(Message::PARSE);
|
|
parse_message->clear(Message::PARSE);
|
|
- server.processMessage(*io_message, parse_message, response_obuffer,
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message,
|
|
|
|
+ *response_obuffer,
|
|
&dnsserv);
|
|
&dnsserv);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1208,7 +1233,7 @@ TEST_F(AuthSrvTest, queryWithInMemoryClientProxy) {
|
|
server.setInMemoryClient(rrclass, fake_client);
|
|
server.setInMemoryClient(rrclass, fake_client);
|
|
|
|
|
|
createDataFromFile("nsec3query_nodnssec_fromWire.wire");
|
|
createDataFromFile("nsec3query_nodnssec_fromWire.wire");
|
|
- server.processMessage(*io_message, parse_message, response_obuffer,
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
&dnsserv);
|
|
&dnsserv);
|
|
|
|
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
@@ -1269,7 +1294,7 @@ TEST_F(AuthSrvTest, queryWithInMemoryClientProxyGetClass) {
|
|
setupThrow(&server, CONFIG_INMEMORY_EXAMPLE, THROW_AT_GET_CLASS, true);
|
|
setupThrow(&server, CONFIG_INMEMORY_EXAMPLE, THROW_AT_GET_CLASS, true);
|
|
|
|
|
|
// getClass is not called so it should just answer
|
|
// getClass is not called so it should just answer
|
|
- server.processMessage(*io_message, parse_message, response_obuffer,
|
|
|
|
|
|
+ server.processMessage(*io_message, *parse_message, *response_obuffer,
|
|
&dnsserv);
|
|
&dnsserv);
|
|
|
|
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|
|
EXPECT_TRUE(dnsserv.hasAnswer());
|