From 60dc35e4286074263f2d18a585ee270da55275ce Mon Sep 17 00:00:00 2001 From: Mandeep Sandhu Date: Thu, 17 Oct 2013 13:51:18 +0530 Subject: [PATCH] Examples: Add support for custom nameserver to dnslookup Updated dnslookup example to take an optional nameserver argument for doing DNS lookup against a specific nameserver. Task-number: QTBUG-30166 Change-Id: I9f46f9f766b56f770d2c8372e3bfad5c71023c73 Reviewed-by: Thiago Macieira --- examples/network/dnslookup/dnslookup.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/examples/network/dnslookup/dnslookup.cpp b/examples/network/dnslookup/dnslookup.cpp index 77e8abc9271..202a5f95807 100644 --- a/examples/network/dnslookup/dnslookup.cpp +++ b/examples/network/dnslookup/dnslookup.cpp @@ -50,7 +50,7 @@ static void usage() { printf("Qt DNS example - performs DNS lookups\n" - "Usage: dnslookup [-t ] name\n\n"); + "Usage: dnslookup [-t ] [-s nameserver] name\n\n"); } DnsManager::DnsManager() @@ -93,6 +93,17 @@ void DnsManager::execute() return; } } + if (args.size() > 1 && args.first() == "-s") { + args.takeFirst(); + const QString ns = args.takeFirst(); + QHostAddress nameserver(ns); + if (nameserver.isNull() || nameserver.protocol() == QAbstractSocket::UnknownNetworkLayerProtocol) { + printf("Bad nameserver address: %s\n", qPrintable(ns)); + QCoreApplication::instance()->quit(); + return; + } + dns->setNameserver(nameserver); + } if (args.isEmpty()) { usage(); QCoreApplication::instance()->quit();