package io.netty.handler.codec.dns;

import io.netty.channel.AddressedEnvelope;
import io.netty.util.internal.StringUtil;
import java.net.SocketAddress;

/* JADX INFO: loaded from: classes.dex */
public final class DnsMessageUtil {
    private DnsMessageUtil() {
    }

    private static StringBuilder appendAddresses(StringBuilder sb, DnsMessage dnsMessage) {
        if (!(dnsMessage instanceof AddressedEnvelope)) {
            return sb;
        }
        AddressedEnvelope addressedEnvelope = (AddressedEnvelope) dnsMessage;
        SocketAddress socketAddressSender = addressedEnvelope.sender();
        if (socketAddressSender != null) {
            sb.append("from: ");
            sb.append(socketAddressSender);
            sb.append(", ");
        }
        SocketAddress socketAddressRecipient = addressedEnvelope.recipient();
        if (socketAddressRecipient != null) {
            sb.append("to: ");
            sb.append(socketAddressRecipient);
            sb.append(", ");
        }
        return sb;
    }

    private static void appendAllRecords(StringBuilder sb, DnsMessage dnsMessage) {
        appendRecords(sb, dnsMessage, DnsSection.QUESTION);
        appendRecords(sb, dnsMessage, DnsSection.ANSWER);
        appendRecords(sb, dnsMessage, DnsSection.AUTHORITY);
        appendRecords(sb, dnsMessage, DnsSection.ADDITIONAL);
    }

    public static StringBuilder appendQuery(StringBuilder sb, DnsQuery dnsQuery) {
        appendQueryHeader(sb, dnsQuery);
        appendAllRecords(sb, dnsQuery);
        return sb;
    }

    private static void appendQueryHeader(StringBuilder sb, DnsQuery dnsQuery) {
        sb.append(StringUtil.simpleClassName(dnsQuery));
        sb.append('(');
        StringBuilder sbAppendAddresses = appendAddresses(sb, dnsQuery);
        sbAppendAddresses.append(dnsQuery.id());
        sbAppendAddresses.append(", ");
        sbAppendAddresses.append(dnsQuery.opCode());
        if (dnsQuery.isRecursionDesired()) {
            sb.append(", RD");
        }
        if (dnsQuery.z() != 0) {
            sb.append(", Z: ");
            sb.append(dnsQuery.z());
        }
        sb.append(')');
    }

    public static StringBuilder appendRecordClass(StringBuilder sb, int i2) {
        int i3 = i2 & 65535;
        String str = i3 != 1 ? i3 != 2 ? i3 != 3 ? i3 != 4 ? i3 != 254 ? i3 != 255 ? null : "ANY" : "NONE" : "HESIOD" : "CHAOS" : "CSNET" : "IN";
        if (str != null) {
            sb.append(str);
        } else {
            sb.append("UNKNOWN(");
            sb.append(i3);
            sb.append(')');
        }
        return sb;
    }

    private static void appendRecords(StringBuilder sb, DnsMessage dnsMessage, DnsSection dnsSection) {
        int iCount = dnsMessage.count(dnsSection);
        for (int i2 = 0; i2 < iCount; i2++) {
            sb.append(StringUtil.NEWLINE);
            sb.append('\t');
            sb.append(dnsMessage.recordAt(dnsSection, i2));
        }
    }

    public static StringBuilder appendResponse(StringBuilder sb, DnsResponse dnsResponse) {
        appendResponseHeader(sb, dnsResponse);
        appendAllRecords(sb, dnsResponse);
        return sb;
    }

    private static void appendResponseHeader(StringBuilder sb, DnsResponse dnsResponse) {
        boolean z2;
        sb.append(StringUtil.simpleClassName(dnsResponse));
        sb.append('(');
        StringBuilder sbAppendAddresses = appendAddresses(sb, dnsResponse);
        sbAppendAddresses.append(dnsResponse.id());
        sbAppendAddresses.append(", ");
        sbAppendAddresses.append(dnsResponse.opCode());
        sbAppendAddresses.append(", ");
        sbAppendAddresses.append(dnsResponse.code());
        sbAppendAddresses.append(',');
        boolean z3 = false;
        if (dnsResponse.isRecursionDesired()) {
            sb.append(" RD");
            z2 = false;
        } else {
            z2 = true;
        }
        if (dnsResponse.isAuthoritativeAnswer()) {
            sb.append(" AA");
            z2 = false;
        }
        if (dnsResponse.isTruncated()) {
            sb.append(" TC");
            z2 = false;
        }
        if (dnsResponse.isRecursionAvailable()) {
            sb.append(" RA");
        } else {
            z3 = z2;
        }
        if (dnsResponse.z() != 0) {
            if (!z3) {
                sb.append(',');
            }
            sb.append(" Z: ");
            sb.append(dnsResponse.z());
        }
        if (z3) {
            sb.setCharAt(sb.length() - 1, ')');
        } else {
            sb.append(')');
        }
    }
}
