diff --git a/test/ipptool.c b/test/ipptool.c
index 703e681..bfff1f1 100644
--- a/test/ipptool.c
+++ b/test/ipptool.c
@@ -201,6 +201,7 @@ main(int argc, /* I - Number of command-line args */
name[1024], /* Name/value buffer */
*value, /* Pointer to value */
filename[1024], /* Real filename */
+ resolved[1024], /* Resolved mDNS URI */
testname[1024], /* Real test filename */
uri[1024]; /* Copy of printer URI */
const char *ext, /* Extension on filename */
@@ -609,6 +610,22 @@ main(int argc, /* I - Number of command-line args */
#endif /* HAVE_SSL */
vars.uri = argv[i];
+
+ if (strstr(vars.uri, "._tcp"))
+ {
+ /*
+ * Resolve URI...
+ */
+
+ if (!_httpResolveURI(vars.uri, resolved, sizeof(resolved), _HTTP_RESOLVE_DEFAULT, NULL, NULL))
+ {
+ _cupsLangPrintf(stderr, _("%s: Unable to resolve \"%s\"."), "ipptool", vars.uri);
+ return (NULL);
+ }
+
+ vars.uri = resolved;
+ }
+
uri_status = httpSeparateURI(HTTP_URI_CODING_ALL, vars.uri,
vars.scheme, sizeof(vars.scheme),
vars.userpass, sizeof(vars.userpass),