1// Code generated by "go run duplicate_generate.go"; DO NOT EDIT. 2 3package dns 4 5// isDuplicate() functions 6 7func (r1 *A) isDuplicate(_r2 RR) bool { 8 r2, ok := _r2.(*A) 9 if !ok { 10 return false 11 } 12 _ = r2 13 if !r1.A.Equal(r2.A) { 14 return false 15 } 16 return true 17} 18 19func (r1 *AAAA) isDuplicate(_r2 RR) bool { 20 r2, ok := _r2.(*AAAA) 21 if !ok { 22 return false 23 } 24 _ = r2 25 if !r1.AAAA.Equal(r2.AAAA) { 26 return false 27 } 28 return true 29} 30 31func (r1 *AFSDB) isDuplicate(_r2 RR) bool { 32 r2, ok := _r2.(*AFSDB) 33 if !ok { 34 return false 35 } 36 _ = r2 37 if r1.Subtype != r2.Subtype { 38 return false 39 } 40 if !isDuplicateName(r1.Hostname, r2.Hostname) { 41 return false 42 } 43 return true 44} 45 46func (r1 *ANY) isDuplicate(_r2 RR) bool { 47 r2, ok := _r2.(*ANY) 48 if !ok { 49 return false 50 } 51 _ = r2 52 return true 53} 54 55func (r1 *APL) isDuplicate(_r2 RR) bool { 56 r2, ok := _r2.(*APL) 57 if !ok { 58 return false 59 } 60 _ = r2 61 if len(r1.Prefixes) != len(r2.Prefixes) { 62 return false 63 } 64 for i := 0; i < len(r1.Prefixes); i++ { 65 if !r1.Prefixes[i].equals(&r2.Prefixes[i]) { 66 return false 67 } 68 } 69 return true 70} 71 72func (r1 *AVC) isDuplicate(_r2 RR) bool { 73 r2, ok := _r2.(*AVC) 74 if !ok { 75 return false 76 } 77 _ = r2 78 if len(r1.Txt) != len(r2.Txt) { 79 return false 80 } 81 for i := 0; i < len(r1.Txt); i++ { 82 if r1.Txt[i] != r2.Txt[i] { 83 return false 84 } 85 } 86 return true 87} 88 89func (r1 *CAA) isDuplicate(_r2 RR) bool { 90 r2, ok := _r2.(*CAA) 91 if !ok { 92 return false 93 } 94 _ = r2 95 if r1.Flag != r2.Flag { 96 return false 97 } 98 if r1.Tag != r2.Tag { 99 return false 100 } 101 if r1.Value != r2.Value { 102 return false 103 } 104 return true 105} 106 107func (r1 *CERT) isDuplicate(_r2 RR) bool { 108 r2, ok := _r2.(*CERT) 109 if !ok { 110 return false 111 } 112 _ = r2 113 if r1.Type != r2.Type { 114 return false 115 } 116 if r1.KeyTag != r2.KeyTag { 117 return false 118 } 119 if r1.Algorithm != r2.Algorithm { 120 return false 121 } 122 if r1.Certificate != r2.Certificate { 123 return false 124 } 125 return true 126} 127 128func (r1 *CNAME) isDuplicate(_r2 RR) bool { 129 r2, ok := _r2.(*CNAME) 130 if !ok { 131 return false 132 } 133 _ = r2 134 if !isDuplicateName(r1.Target, r2.Target) { 135 return false 136 } 137 return true 138} 139 140func (r1 *CSYNC) isDuplicate(_r2 RR) bool { 141 r2, ok := _r2.(*CSYNC) 142 if !ok { 143 return false 144 } 145 _ = r2 146 if r1.Serial != r2.Serial { 147 return false 148 } 149 if r1.Flags != r2.Flags { 150 return false 151 } 152 if len(r1.TypeBitMap) != len(r2.TypeBitMap) { 153 return false 154 } 155 for i := 0; i < len(r1.TypeBitMap); i++ { 156 if r1.TypeBitMap[i] != r2.TypeBitMap[i] { 157 return false 158 } 159 } 160 return true 161} 162 163func (r1 *DHCID) isDuplicate(_r2 RR) bool { 164 r2, ok := _r2.(*DHCID) 165 if !ok { 166 return false 167 } 168 _ = r2 169 if r1.Digest != r2.Digest { 170 return false 171 } 172 return true 173} 174 175func (r1 *DNAME) isDuplicate(_r2 RR) bool { 176 r2, ok := _r2.(*DNAME) 177 if !ok { 178 return false 179 } 180 _ = r2 181 if !isDuplicateName(r1.Target, r2.Target) { 182 return false 183 } 184 return true 185} 186 187func (r1 *DNSKEY) isDuplicate(_r2 RR) bool { 188 r2, ok := _r2.(*DNSKEY) 189 if !ok { 190 return false 191 } 192 _ = r2 193 if r1.Flags != r2.Flags { 194 return false 195 } 196 if r1.Protocol != r2.Protocol { 197 return false 198 } 199 if r1.Algorithm != r2.Algorithm { 200 return false 201 } 202 if r1.PublicKey != r2.PublicKey { 203 return false 204 } 205 return true 206} 207 208func (r1 *DS) isDuplicate(_r2 RR) bool { 209 r2, ok := _r2.(*DS) 210 if !ok { 211 return false 212 } 213 _ = r2 214 if r1.KeyTag != r2.KeyTag { 215 return false 216 } 217 if r1.Algorithm != r2.Algorithm { 218 return false 219 } 220 if r1.DigestType != r2.DigestType { 221 return false 222 } 223 if r1.Digest != r2.Digest { 224 return false 225 } 226 return true 227} 228 229func (r1 *EID) isDuplicate(_r2 RR) bool { 230 r2, ok := _r2.(*EID) 231 if !ok { 232 return false 233 } 234 _ = r2 235 if r1.Endpoint != r2.Endpoint { 236 return false 237 } 238 return true 239} 240 241func (r1 *EUI48) isDuplicate(_r2 RR) bool { 242 r2, ok := _r2.(*EUI48) 243 if !ok { 244 return false 245 } 246 _ = r2 247 if r1.Address != r2.Address { 248 return false 249 } 250 return true 251} 252 253func (r1 *EUI64) isDuplicate(_r2 RR) bool { 254 r2, ok := _r2.(*EUI64) 255 if !ok { 256 return false 257 } 258 _ = r2 259 if r1.Address != r2.Address { 260 return false 261 } 262 return true 263} 264 265func (r1 *GID) isDuplicate(_r2 RR) bool { 266 r2, ok := _r2.(*GID) 267 if !ok { 268 return false 269 } 270 _ = r2 271 if r1.Gid != r2.Gid { 272 return false 273 } 274 return true 275} 276 277func (r1 *GPOS) isDuplicate(_r2 RR) bool { 278 r2, ok := _r2.(*GPOS) 279 if !ok { 280 return false 281 } 282 _ = r2 283 if r1.Longitude != r2.Longitude { 284 return false 285 } 286 if r1.Latitude != r2.Latitude { 287 return false 288 } 289 if r1.Altitude != r2.Altitude { 290 return false 291 } 292 return true 293} 294 295func (r1 *HINFO) isDuplicate(_r2 RR) bool { 296 r2, ok := _r2.(*HINFO) 297 if !ok { 298 return false 299 } 300 _ = r2 301 if r1.Cpu != r2.Cpu { 302 return false 303 } 304 if r1.Os != r2.Os { 305 return false 306 } 307 return true 308} 309 310func (r1 *HIP) isDuplicate(_r2 RR) bool { 311 r2, ok := _r2.(*HIP) 312 if !ok { 313 return false 314 } 315 _ = r2 316 if r1.HitLength != r2.HitLength { 317 return false 318 } 319 if r1.PublicKeyAlgorithm != r2.PublicKeyAlgorithm { 320 return false 321 } 322 if r1.PublicKeyLength != r2.PublicKeyLength { 323 return false 324 } 325 if r1.Hit != r2.Hit { 326 return false 327 } 328 if r1.PublicKey != r2.PublicKey { 329 return false 330 } 331 if len(r1.RendezvousServers) != len(r2.RendezvousServers) { 332 return false 333 } 334 for i := 0; i < len(r1.RendezvousServers); i++ { 335 if !isDuplicateName(r1.RendezvousServers[i], r2.RendezvousServers[i]) { 336 return false 337 } 338 } 339 return true 340} 341 342func (r1 *KX) isDuplicate(_r2 RR) bool { 343 r2, ok := _r2.(*KX) 344 if !ok { 345 return false 346 } 347 _ = r2 348 if r1.Preference != r2.Preference { 349 return false 350 } 351 if !isDuplicateName(r1.Exchanger, r2.Exchanger) { 352 return false 353 } 354 return true 355} 356 357func (r1 *L32) isDuplicate(_r2 RR) bool { 358 r2, ok := _r2.(*L32) 359 if !ok { 360 return false 361 } 362 _ = r2 363 if r1.Preference != r2.Preference { 364 return false 365 } 366 if !r1.Locator32.Equal(r2.Locator32) { 367 return false 368 } 369 return true 370} 371 372func (r1 *L64) isDuplicate(_r2 RR) bool { 373 r2, ok := _r2.(*L64) 374 if !ok { 375 return false 376 } 377 _ = r2 378 if r1.Preference != r2.Preference { 379 return false 380 } 381 if r1.Locator64 != r2.Locator64 { 382 return false 383 } 384 return true 385} 386 387func (r1 *LOC) isDuplicate(_r2 RR) bool { 388 r2, ok := _r2.(*LOC) 389 if !ok { 390 return false 391 } 392 _ = r2 393 if r1.Version != r2.Version { 394 return false 395 } 396 if r1.Size != r2.Size { 397 return false 398 } 399 if r1.HorizPre != r2.HorizPre { 400 return false 401 } 402 if r1.VertPre != r2.VertPre { 403 return false 404 } 405 if r1.Latitude != r2.Latitude { 406 return false 407 } 408 if r1.Longitude != r2.Longitude { 409 return false 410 } 411 if r1.Altitude != r2.Altitude { 412 return false 413 } 414 return true 415} 416 417func (r1 *LP) isDuplicate(_r2 RR) bool { 418 r2, ok := _r2.(*LP) 419 if !ok { 420 return false 421 } 422 _ = r2 423 if r1.Preference != r2.Preference { 424 return false 425 } 426 if !isDuplicateName(r1.Fqdn, r2.Fqdn) { 427 return false 428 } 429 return true 430} 431 432func (r1 *MB) isDuplicate(_r2 RR) bool { 433 r2, ok := _r2.(*MB) 434 if !ok { 435 return false 436 } 437 _ = r2 438 if !isDuplicateName(r1.Mb, r2.Mb) { 439 return false 440 } 441 return true 442} 443 444func (r1 *MD) isDuplicate(_r2 RR) bool { 445 r2, ok := _r2.(*MD) 446 if !ok { 447 return false 448 } 449 _ = r2 450 if !isDuplicateName(r1.Md, r2.Md) { 451 return false 452 } 453 return true 454} 455 456func (r1 *MF) isDuplicate(_r2 RR) bool { 457 r2, ok := _r2.(*MF) 458 if !ok { 459 return false 460 } 461 _ = r2 462 if !isDuplicateName(r1.Mf, r2.Mf) { 463 return false 464 } 465 return true 466} 467 468func (r1 *MG) isDuplicate(_r2 RR) bool { 469 r2, ok := _r2.(*MG) 470 if !ok { 471 return false 472 } 473 _ = r2 474 if !isDuplicateName(r1.Mg, r2.Mg) { 475 return false 476 } 477 return true 478} 479 480func (r1 *MINFO) isDuplicate(_r2 RR) bool { 481 r2, ok := _r2.(*MINFO) 482 if !ok { 483 return false 484 } 485 _ = r2 486 if !isDuplicateName(r1.Rmail, r2.Rmail) { 487 return false 488 } 489 if !isDuplicateName(r1.Email, r2.Email) { 490 return false 491 } 492 return true 493} 494 495func (r1 *MR) isDuplicate(_r2 RR) bool { 496 r2, ok := _r2.(*MR) 497 if !ok { 498 return false 499 } 500 _ = r2 501 if !isDuplicateName(r1.Mr, r2.Mr) { 502 return false 503 } 504 return true 505} 506 507func (r1 *MX) isDuplicate(_r2 RR) bool { 508 r2, ok := _r2.(*MX) 509 if !ok { 510 return false 511 } 512 _ = r2 513 if r1.Preference != r2.Preference { 514 return false 515 } 516 if !isDuplicateName(r1.Mx, r2.Mx) { 517 return false 518 } 519 return true 520} 521 522func (r1 *NAPTR) isDuplicate(_r2 RR) bool { 523 r2, ok := _r2.(*NAPTR) 524 if !ok { 525 return false 526 } 527 _ = r2 528 if r1.Order != r2.Order { 529 return false 530 } 531 if r1.Preference != r2.Preference { 532 return false 533 } 534 if r1.Flags != r2.Flags { 535 return false 536 } 537 if r1.Service != r2.Service { 538 return false 539 } 540 if r1.Regexp != r2.Regexp { 541 return false 542 } 543 if !isDuplicateName(r1.Replacement, r2.Replacement) { 544 return false 545 } 546 return true 547} 548 549func (r1 *NID) isDuplicate(_r2 RR) bool { 550 r2, ok := _r2.(*NID) 551 if !ok { 552 return false 553 } 554 _ = r2 555 if r1.Preference != r2.Preference { 556 return false 557 } 558 if r1.NodeID != r2.NodeID { 559 return false 560 } 561 return true 562} 563 564func (r1 *NIMLOC) isDuplicate(_r2 RR) bool { 565 r2, ok := _r2.(*NIMLOC) 566 if !ok { 567 return false 568 } 569 _ = r2 570 if r1.Locator != r2.Locator { 571 return false 572 } 573 return true 574} 575 576func (r1 *NINFO) isDuplicate(_r2 RR) bool { 577 r2, ok := _r2.(*NINFO) 578 if !ok { 579 return false 580 } 581 _ = r2 582 if len(r1.ZSData) != len(r2.ZSData) { 583 return false 584 } 585 for i := 0; i < len(r1.ZSData); i++ { 586 if r1.ZSData[i] != r2.ZSData[i] { 587 return false 588 } 589 } 590 return true 591} 592 593func (r1 *NS) isDuplicate(_r2 RR) bool { 594 r2, ok := _r2.(*NS) 595 if !ok { 596 return false 597 } 598 _ = r2 599 if !isDuplicateName(r1.Ns, r2.Ns) { 600 return false 601 } 602 return true 603} 604 605func (r1 *NSAPPTR) isDuplicate(_r2 RR) bool { 606 r2, ok := _r2.(*NSAPPTR) 607 if !ok { 608 return false 609 } 610 _ = r2 611 if !isDuplicateName(r1.Ptr, r2.Ptr) { 612 return false 613 } 614 return true 615} 616 617func (r1 *NSEC) isDuplicate(_r2 RR) bool { 618 r2, ok := _r2.(*NSEC) 619 if !ok { 620 return false 621 } 622 _ = r2 623 if !isDuplicateName(r1.NextDomain, r2.NextDomain) { 624 return false 625 } 626 if len(r1.TypeBitMap) != len(r2.TypeBitMap) { 627 return false 628 } 629 for i := 0; i < len(r1.TypeBitMap); i++ { 630 if r1.TypeBitMap[i] != r2.TypeBitMap[i] { 631 return false 632 } 633 } 634 return true 635} 636 637func (r1 *NSEC3) isDuplicate(_r2 RR) bool { 638 r2, ok := _r2.(*NSEC3) 639 if !ok { 640 return false 641 } 642 _ = r2 643 if r1.Hash != r2.Hash { 644 return false 645 } 646 if r1.Flags != r2.Flags { 647 return false 648 } 649 if r1.Iterations != r2.Iterations { 650 return false 651 } 652 if r1.SaltLength != r2.SaltLength { 653 return false 654 } 655 if r1.Salt != r2.Salt { 656 return false 657 } 658 if r1.HashLength != r2.HashLength { 659 return false 660 } 661 if r1.NextDomain != r2.NextDomain { 662 return false 663 } 664 if len(r1.TypeBitMap) != len(r2.TypeBitMap) { 665 return false 666 } 667 for i := 0; i < len(r1.TypeBitMap); i++ { 668 if r1.TypeBitMap[i] != r2.TypeBitMap[i] { 669 return false 670 } 671 } 672 return true 673} 674 675func (r1 *NSEC3PARAM) isDuplicate(_r2 RR) bool { 676 r2, ok := _r2.(*NSEC3PARAM) 677 if !ok { 678 return false 679 } 680 _ = r2 681 if r1.Hash != r2.Hash { 682 return false 683 } 684 if r1.Flags != r2.Flags { 685 return false 686 } 687 if r1.Iterations != r2.Iterations { 688 return false 689 } 690 if r1.SaltLength != r2.SaltLength { 691 return false 692 } 693 if r1.Salt != r2.Salt { 694 return false 695 } 696 return true 697} 698 699func (r1 *NULL) isDuplicate(_r2 RR) bool { 700 r2, ok := _r2.(*NULL) 701 if !ok { 702 return false 703 } 704 _ = r2 705 if r1.Data != r2.Data { 706 return false 707 } 708 return true 709} 710 711func (r1 *OPENPGPKEY) isDuplicate(_r2 RR) bool { 712 r2, ok := _r2.(*OPENPGPKEY) 713 if !ok { 714 return false 715 } 716 _ = r2 717 if r1.PublicKey != r2.PublicKey { 718 return false 719 } 720 return true 721} 722 723func (r1 *PTR) isDuplicate(_r2 RR) bool { 724 r2, ok := _r2.(*PTR) 725 if !ok { 726 return false 727 } 728 _ = r2 729 if !isDuplicateName(r1.Ptr, r2.Ptr) { 730 return false 731 } 732 return true 733} 734 735func (r1 *PX) isDuplicate(_r2 RR) bool { 736 r2, ok := _r2.(*PX) 737 if !ok { 738 return false 739 } 740 _ = r2 741 if r1.Preference != r2.Preference { 742 return false 743 } 744 if !isDuplicateName(r1.Map822, r2.Map822) { 745 return false 746 } 747 if !isDuplicateName(r1.Mapx400, r2.Mapx400) { 748 return false 749 } 750 return true 751} 752 753func (r1 *RFC3597) isDuplicate(_r2 RR) bool { 754 r2, ok := _r2.(*RFC3597) 755 if !ok { 756 return false 757 } 758 _ = r2 759 if r1.Rdata != r2.Rdata { 760 return false 761 } 762 return true 763} 764 765func (r1 *RKEY) isDuplicate(_r2 RR) bool { 766 r2, ok := _r2.(*RKEY) 767 if !ok { 768 return false 769 } 770 _ = r2 771 if r1.Flags != r2.Flags { 772 return false 773 } 774 if r1.Protocol != r2.Protocol { 775 return false 776 } 777 if r1.Algorithm != r2.Algorithm { 778 return false 779 } 780 if r1.PublicKey != r2.PublicKey { 781 return false 782 } 783 return true 784} 785 786func (r1 *RP) isDuplicate(_r2 RR) bool { 787 r2, ok := _r2.(*RP) 788 if !ok { 789 return false 790 } 791 _ = r2 792 if !isDuplicateName(r1.Mbox, r2.Mbox) { 793 return false 794 } 795 if !isDuplicateName(r1.Txt, r2.Txt) { 796 return false 797 } 798 return true 799} 800 801func (r1 *RRSIG) isDuplicate(_r2 RR) bool { 802 r2, ok := _r2.(*RRSIG) 803 if !ok { 804 return false 805 } 806 _ = r2 807 if r1.TypeCovered != r2.TypeCovered { 808 return false 809 } 810 if r1.Algorithm != r2.Algorithm { 811 return false 812 } 813 if r1.Labels != r2.Labels { 814 return false 815 } 816 if r1.OrigTtl != r2.OrigTtl { 817 return false 818 } 819 if r1.Expiration != r2.Expiration { 820 return false 821 } 822 if r1.Inception != r2.Inception { 823 return false 824 } 825 if r1.KeyTag != r2.KeyTag { 826 return false 827 } 828 if !isDuplicateName(r1.SignerName, r2.SignerName) { 829 return false 830 } 831 if r1.Signature != r2.Signature { 832 return false 833 } 834 return true 835} 836 837func (r1 *RT) isDuplicate(_r2 RR) bool { 838 r2, ok := _r2.(*RT) 839 if !ok { 840 return false 841 } 842 _ = r2 843 if r1.Preference != r2.Preference { 844 return false 845 } 846 if !isDuplicateName(r1.Host, r2.Host) { 847 return false 848 } 849 return true 850} 851 852func (r1 *SMIMEA) isDuplicate(_r2 RR) bool { 853 r2, ok := _r2.(*SMIMEA) 854 if !ok { 855 return false 856 } 857 _ = r2 858 if r1.Usage != r2.Usage { 859 return false 860 } 861 if r1.Selector != r2.Selector { 862 return false 863 } 864 if r1.MatchingType != r2.MatchingType { 865 return false 866 } 867 if r1.Certificate != r2.Certificate { 868 return false 869 } 870 return true 871} 872 873func (r1 *SOA) isDuplicate(_r2 RR) bool { 874 r2, ok := _r2.(*SOA) 875 if !ok { 876 return false 877 } 878 _ = r2 879 if !isDuplicateName(r1.Ns, r2.Ns) { 880 return false 881 } 882 if !isDuplicateName(r1.Mbox, r2.Mbox) { 883 return false 884 } 885 if r1.Serial != r2.Serial { 886 return false 887 } 888 if r1.Refresh != r2.Refresh { 889 return false 890 } 891 if r1.Retry != r2.Retry { 892 return false 893 } 894 if r1.Expire != r2.Expire { 895 return false 896 } 897 if r1.Minttl != r2.Minttl { 898 return false 899 } 900 return true 901} 902 903func (r1 *SPF) isDuplicate(_r2 RR) bool { 904 r2, ok := _r2.(*SPF) 905 if !ok { 906 return false 907 } 908 _ = r2 909 if len(r1.Txt) != len(r2.Txt) { 910 return false 911 } 912 for i := 0; i < len(r1.Txt); i++ { 913 if r1.Txt[i] != r2.Txt[i] { 914 return false 915 } 916 } 917 return true 918} 919 920func (r1 *SRV) isDuplicate(_r2 RR) bool { 921 r2, ok := _r2.(*SRV) 922 if !ok { 923 return false 924 } 925 _ = r2 926 if r1.Priority != r2.Priority { 927 return false 928 } 929 if r1.Weight != r2.Weight { 930 return false 931 } 932 if r1.Port != r2.Port { 933 return false 934 } 935 if !isDuplicateName(r1.Target, r2.Target) { 936 return false 937 } 938 return true 939} 940 941func (r1 *SSHFP) isDuplicate(_r2 RR) bool { 942 r2, ok := _r2.(*SSHFP) 943 if !ok { 944 return false 945 } 946 _ = r2 947 if r1.Algorithm != r2.Algorithm { 948 return false 949 } 950 if r1.Type != r2.Type { 951 return false 952 } 953 if r1.FingerPrint != r2.FingerPrint { 954 return false 955 } 956 return true 957} 958 959func (r1 *TA) isDuplicate(_r2 RR) bool { 960 r2, ok := _r2.(*TA) 961 if !ok { 962 return false 963 } 964 _ = r2 965 if r1.KeyTag != r2.KeyTag { 966 return false 967 } 968 if r1.Algorithm != r2.Algorithm { 969 return false 970 } 971 if r1.DigestType != r2.DigestType { 972 return false 973 } 974 if r1.Digest != r2.Digest { 975 return false 976 } 977 return true 978} 979 980func (r1 *TALINK) isDuplicate(_r2 RR) bool { 981 r2, ok := _r2.(*TALINK) 982 if !ok { 983 return false 984 } 985 _ = r2 986 if !isDuplicateName(r1.PreviousName, r2.PreviousName) { 987 return false 988 } 989 if !isDuplicateName(r1.NextName, r2.NextName) { 990 return false 991 } 992 return true 993} 994 995func (r1 *TKEY) isDuplicate(_r2 RR) bool { 996 r2, ok := _r2.(*TKEY) 997 if !ok { 998 return false 999 } 1000 _ = r2 1001 if !isDuplicateName(r1.Algorithm, r2.Algorithm) { 1002 return false 1003 } 1004 if r1.Inception != r2.Inception { 1005 return false 1006 } 1007 if r1.Expiration != r2.Expiration { 1008 return false 1009 } 1010 if r1.Mode != r2.Mode { 1011 return false 1012 } 1013 if r1.Error != r2.Error { 1014 return false 1015 } 1016 if r1.KeySize != r2.KeySize { 1017 return false 1018 } 1019 if r1.Key != r2.Key { 1020 return false 1021 } 1022 if r1.OtherLen != r2.OtherLen { 1023 return false 1024 } 1025 if r1.OtherData != r2.OtherData { 1026 return false 1027 } 1028 return true 1029} 1030 1031func (r1 *TLSA) isDuplicate(_r2 RR) bool { 1032 r2, ok := _r2.(*TLSA) 1033 if !ok { 1034 return false 1035 } 1036 _ = r2 1037 if r1.Usage != r2.Usage { 1038 return false 1039 } 1040 if r1.Selector != r2.Selector { 1041 return false 1042 } 1043 if r1.MatchingType != r2.MatchingType { 1044 return false 1045 } 1046 if r1.Certificate != r2.Certificate { 1047 return false 1048 } 1049 return true 1050} 1051 1052func (r1 *TSIG) isDuplicate(_r2 RR) bool { 1053 r2, ok := _r2.(*TSIG) 1054 if !ok { 1055 return false 1056 } 1057 _ = r2 1058 if !isDuplicateName(r1.Algorithm, r2.Algorithm) { 1059 return false 1060 } 1061 if r1.TimeSigned != r2.TimeSigned { 1062 return false 1063 } 1064 if r1.Fudge != r2.Fudge { 1065 return false 1066 } 1067 if r1.MACSize != r2.MACSize { 1068 return false 1069 } 1070 if r1.MAC != r2.MAC { 1071 return false 1072 } 1073 if r1.OrigId != r2.OrigId { 1074 return false 1075 } 1076 if r1.Error != r2.Error { 1077 return false 1078 } 1079 if r1.OtherLen != r2.OtherLen { 1080 return false 1081 } 1082 if r1.OtherData != r2.OtherData { 1083 return false 1084 } 1085 return true 1086} 1087 1088func (r1 *TXT) isDuplicate(_r2 RR) bool { 1089 r2, ok := _r2.(*TXT) 1090 if !ok { 1091 return false 1092 } 1093 _ = r2 1094 if len(r1.Txt) != len(r2.Txt) { 1095 return false 1096 } 1097 for i := 0; i < len(r1.Txt); i++ { 1098 if r1.Txt[i] != r2.Txt[i] { 1099 return false 1100 } 1101 } 1102 return true 1103} 1104 1105func (r1 *UID) isDuplicate(_r2 RR) bool { 1106 r2, ok := _r2.(*UID) 1107 if !ok { 1108 return false 1109 } 1110 _ = r2 1111 if r1.Uid != r2.Uid { 1112 return false 1113 } 1114 return true 1115} 1116 1117func (r1 *UINFO) isDuplicate(_r2 RR) bool { 1118 r2, ok := _r2.(*UINFO) 1119 if !ok { 1120 return false 1121 } 1122 _ = r2 1123 if r1.Uinfo != r2.Uinfo { 1124 return false 1125 } 1126 return true 1127} 1128 1129func (r1 *URI) isDuplicate(_r2 RR) bool { 1130 r2, ok := _r2.(*URI) 1131 if !ok { 1132 return false 1133 } 1134 _ = r2 1135 if r1.Priority != r2.Priority { 1136 return false 1137 } 1138 if r1.Weight != r2.Weight { 1139 return false 1140 } 1141 if r1.Target != r2.Target { 1142 return false 1143 } 1144 return true 1145} 1146 1147func (r1 *X25) isDuplicate(_r2 RR) bool { 1148 r2, ok := _r2.(*X25) 1149 if !ok { 1150 return false 1151 } 1152 _ = r2 1153 if r1.PSDNAddress != r2.PSDNAddress { 1154 return false 1155 } 1156 return true 1157} 1158