diff options
author | Mandeep Sandhu <mandeepsandhu.chd@gmail.com> | 2013-10-17 13:51:18 +0530 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-11-07 09:44:44 +0100 |
commit | 60dc35e4286074263f2d18a585ee270da55275ce (patch) | |
tree | 73b1084765e67736abda70a513a3e6f63f3dbac4 /examples/network/dnslookup | |
parent | 1de459a6dddd1671164b171ff36d87b18f07b700 (diff) |
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 <thiago.macieira@intel.com>
Diffstat (limited to 'examples/network/dnslookup')
-rw-r--r-- | examples/network/dnslookup/dnslookup.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/examples/network/dnslookup/dnslookup.cpp b/examples/network/dnslookup/dnslookup.cpp index 77e8abc927..202a5f9580 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 <type>] name\n\n"); + "Usage: dnslookup [-t <type>] [-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(); |