5555 */
5656@ Slf4j
5757public class LookupSession {
58+
5859 public static final int DEFAULT_MAX_ITERATIONS = 16 ;
5960 public static final int DEFAULT_NDOTS = 1 ;
6061
@@ -100,6 +101,7 @@ private LookupSession(
100101 */
101102 @ ToString
102103 public static class LookupSessionBuilder {
104+
103105 private Resolver resolver ;
104106 private int maxRedirects ;
105107 private int ndots ;
@@ -229,8 +231,8 @@ LookupSessionBuilder irrelevantRecordMode(IrrelevantRecordMode irrelevantRecordM
229231 /**
230232 * Enable querying the local hosts database using the system defaults.
231233 *
232- * @see HostsFileParser
233234 * @return {@code this}.
235+ * @see HostsFileParser
234236 */
235237 public LookupSessionBuilder defaultHostsFileParser () {
236238 hostsFileParser = new HostsFileParser ();
@@ -241,8 +243,8 @@ public LookupSessionBuilder defaultHostsFileParser() {
241243 * Enable caching using the supplied cache. An existing {@link Cache} for the same class will be
242244 * replaced.
243245 *
244- * @see Cache
245246 * @return {@code this}.
247+ * @see Cache
246248 */
247249 public LookupSessionBuilder cache (@ NonNull Cache cache ) {
248250 if (caches == null ) {
@@ -262,8 +264,8 @@ public LookupSessionBuilder cache(@NonNull Cache cache) {
262264 * Enable caching using the supplied caches. Existing {@link Cache}s for the same class will be
263265 * replaced.
264266 *
265- * @see Cache
266267 * @return {@code this}.
268+ * @see Cache
267269 */
268270 public LookupSessionBuilder caches (@ NonNull Collection <Cache > caches ) {
269271 caches .forEach (this ::cache );
@@ -286,9 +288,9 @@ public LookupSessionBuilder clearCaches() {
286288 * Enable caching using the supplied cache for the given class.
287289 *
288290 * @param dclass unused
289- * @deprecated use {@link #cache(Cache)}, the {@link Cache} already provides the class.
290- * @see Cache
291291 * @return {@code this}.
292+ * @see Cache
293+ * @deprecated use {@link #cache(Cache)}, the {@link Cache} already provides the class.
292294 */
293295 @ Deprecated
294296 public LookupSessionBuilder cache (@ NonNull Integer dclass , @ NonNull Cache cache ) {
@@ -300,10 +302,10 @@ public LookupSessionBuilder cache(@NonNull Integer dclass, @NonNull Cache cache)
300302 * Enable caching using the supplied caches.
301303 *
302304 * @param caches unused
305+ * @return {@code this}.
306+ * @see Cache
303307 * @deprecated use {@link #cache(Cache)} or {@link #caches(Collection)}, the {@link Cache}
304308 * already provides the class.
305- * @see Cache
306- * @return {@code this}.
307309 */
308310 @ Deprecated
309311 public LookupSessionBuilder caches (@ NonNull Map <Integer , Cache > caches ) {
@@ -581,7 +583,13 @@ private CompletionStage<LookupResult> setResponseToMessageFuture(
581583 new NoSuchRRSetException (queryRecord .getName (), queryRecord .getType ()));
582584 }
583585
584- if (setResponse .isSuccessful ()) {
586+ if (setResponse .isCNAME ()) {
587+ return CompletableFuture .completedFuture (
588+ new LookupResult (Collections .singletonList (setResponse .getCNAME ()), aliases ));
589+ } else if (setResponse .isDNAME ()) {
590+ return CompletableFuture .completedFuture (
591+ new LookupResult (Collections .singletonList (setResponse .getDNAME ()), aliases ));
592+ } else if (setResponse .isSuccessful ()) {
585593 List <Record > records =
586594 setResponse .answers ().stream ()
587595 .flatMap (rrset -> rrset .rrs (cycleResults ).stream ())
0 commit comments