wip
This commit is contained in:
1 parent
07812d62cd
commit
8d3b6d7592
5 files changed
+60
-26
No files matched your search
+28
-17
@@ -17,8 +17,8 @@ using asio::ip::udp;
|
||||
static char* byteToHex(char c) {
|
||||
static char* out = new char[3];
|
||||
out[2] = 0x0; //Terminate string
|
||||
char* dict = (char*) "0123456789ABCDEF";
|
||||
char left = c & 0xF; //Mask upper 4 bits on the right
|
||||
const char* dict = "0123456789ABCDEF";
|
||||
char left = c & 0xF; //Mask upper 4 bits on the right
|
||||
char right = c >> 4;
|
||||
out[0] = dict[right];
|
||||
out[1] = dict[left];
|
||||
@@ -26,15 +26,25 @@ static char* byteToHex(char c) {
|
||||
}
|
||||
|
||||
static char* intToHex(unsigned byteCount, int c) {
|
||||
static char* out = new char[byteCount*3+1];
|
||||
//static char* out = new char[byteCount*3+1];
|
||||
static char* out = new char[32];
|
||||
const char* byte = (char*)&c;
|
||||
|
||||
printf("%x\n", c);
|
||||
printf("%x\n", byte[0] & 0xFF);
|
||||
printf("%x\n", byte[1] & 0xFF);
|
||||
|
||||
|
||||
out[byteCount*3] = 0x0; //Terminate string
|
||||
out[4] = 0xE; //Terminate string
|
||||
//out[4] = 0xE; //Terminate string
|
||||
for (unsigned i = 0; i < byteCount; i++) {
|
||||
char byte = (c >> i*8) & 0xFF;
|
||||
char* nibble = byteToHex(byte);
|
||||
out[i*3] = nibble[0];
|
||||
out[i*3+1] = nibble[1];
|
||||
out[i*3+2] = ' ';
|
||||
std::cout << "i(" << i << ") ";
|
||||
//char byte = (c >> (i*8)) & 0xFF;
|
||||
const char* nibble = byteToHex(byte[i]);
|
||||
out[i*3] = nibble[0];
|
||||
out[i*3+1] = nibble[1];
|
||||
out[i*3+2] = ' ';
|
||||
std::cout << "Char1(" << out[0] << ") Char2(" << out[1] << ") Char3(" << out[2] << ")" << std::endl;
|
||||
}
|
||||
return out;
|
||||
}
|
||||
@@ -43,14 +53,14 @@ Server::Server(Logger& logger, EventBus& eventBus)
|
||||
: logger_(logger),
|
||||
eventBus_(eventBus)
|
||||
{
|
||||
logger.debug << "Testing some stuff..." << Logger::commit;
|
||||
logger.debug << "Message header overall size: " << sizeof(Message::Header) << Logger::commit;
|
||||
// logger.debug << "Message::Header size:" << sizeof(Message::Header) << endl;
|
||||
// logger.debug << "Message::QR:RESPONSE Enum:" << Message::QR::RESPONSE << endl;
|
||||
logger_.debug << "Testing some stuff..." << Logger::commit;
|
||||
logger_.debug << "Message header overall size: " << sizeof(Message::Header) << Logger::commit;
|
||||
// logger_.debug << "Message::Header size:" << sizeof(Message::Header) << endl;
|
||||
// logger_.debug << "Message::QR:RESPONSE Enum:" << Message::QR::RESPONSE << endl;
|
||||
|
||||
std::fstream myfile;
|
||||
std::streampos beg,end;
|
||||
myfile.open ("/tmp/dnsmessage", std::ios::in | std::ios::binary);
|
||||
myfile.open ("/tmp/packet.bin", std::ios::in | std::ios::binary);
|
||||
myfile.seekg (0, std::ios::end);
|
||||
end = myfile.tellg();
|
||||
myfile.seekg (0, std::ios::beg);
|
||||
@@ -58,10 +68,11 @@ Server::Server(Logger& logger, EventBus& eventBus)
|
||||
const unsigned long size = end-beg;
|
||||
Message::Header* header = new Message::Header;
|
||||
myfile.read ((char*)header, sizeof(Message));
|
||||
logger.debug << "size is: " << size << " bytes." << Logger::commit;
|
||||
logger_.debug << "size is: " << size << " bytes." << Logger::commit;
|
||||
|
||||
logger.debug << "Header: " << Logger::commit <<
|
||||
"ID: " << intToHex(2, header->id) <<
|
||||
logger_.debug << "Header: " << Logger::commit;
|
||||
//logger_.debug << "ID: " << 0x1ef8 <<
|
||||
logger_.debug << "ID: " << intToHex(2, header->id) <<
|
||||
" QR: " << byteToHex(header->qr) <<
|
||||
" OPCode: " << byteToHex(header->opCode) << Logger::commit <<
|
||||
"Authoritive Answer: " << byteToHex(header->aa) << Logger::commit <<
|
||||
|
||||
Reference in new issue
Block a user