localzone.c (11d38a5764295585a2472d5e861fa8abe1a11eb2) | localzone.c (0de4f1bf6489bbcbd68ea4cfe2a9c63cc0a1691b) |
---|---|
1/* 2 * services/localzone.c - local zones authority service. 3 * 4 * Copyright (c) 2007, NLnet Labs. All rights reserved. 5 * 6 * This software is open source. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 37 unchanged lines hidden (view full) --- 46#include "util/config_file.h" 47#include "util/data/dname.h" 48#include "util/data/packed_rrset.h" 49#include "util/data/msgencode.h" 50#include "util/net_help.h" 51#include "util/netevent.h" 52#include "util/data/msgreply.h" 53#include "util/data/msgparse.h" | 1/* 2 * services/localzone.c - local zones authority service. 3 * 4 * Copyright (c) 2007, NLnet Labs. All rights reserved. 5 * 6 * This software is open source. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 37 unchanged lines hidden (view full) --- 46#include "util/config_file.h" 47#include "util/data/dname.h" 48#include "util/data/packed_rrset.h" 49#include "util/data/msgencode.h" 50#include "util/net_help.h" 51#include "util/netevent.h" 52#include "util/data/msgreply.h" 53#include "util/data/msgparse.h" |
54#include "util/as112.h" |
|
54 55struct local_zones* 56local_zones_create(void) 57{ 58 struct local_zones* zones = (struct local_zones*)calloc(1, 59 sizeof(*zones)); 60 if(!zones) 61 return NULL; --- 525 unchanged lines hidden (view full) --- 587 return 1; 588} 589 590/** enter default zones */ 591static int 592lz_enter_defaults(struct local_zones* zones, struct config_file* cfg) 593{ 594 struct local_zone* z; | 55 56struct local_zones* 57local_zones_create(void) 58{ 59 struct local_zones* zones = (struct local_zones*)calloc(1, 60 sizeof(*zones)); 61 if(!zones) 62 return NULL; --- 525 unchanged lines hidden (view full) --- 588 return 1; 589} 590 591/** enter default zones */ 592static int 593lz_enter_defaults(struct local_zones* zones, struct config_file* cfg) 594{ 595 struct local_zone* z; |
596 const char** zstr; |
|
595 596 /* this list of zones is from RFC 6303 */ 597 598 /* block localhost level zones, first, later the LAN zones */ 599 600 /* localhost. zone */ 601 if(!lz_exists(zones, "localhost.") && 602 !lz_nodefault(cfg, "localhost.")) { --- 46 unchanged lines hidden (view full) --- 649 "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa. 10800 IN PTR localhost.")) { 650 log_err("out of memory adding default zone"); 651 if(z) { lock_rw_unlock(&z->lock); } 652 return 0; 653 } 654 lock_rw_unlock(&z->lock); 655 } 656 | 597 598 /* this list of zones is from RFC 6303 */ 599 600 /* block localhost level zones, first, later the LAN zones */ 601 602 /* localhost. zone */ 603 if(!lz_exists(zones, "localhost.") && 604 !lz_nodefault(cfg, "localhost.")) { --- 46 unchanged lines hidden (view full) --- 651 "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa. 10800 IN PTR localhost.")) { 652 log_err("out of memory adding default zone"); 653 if(z) { lock_rw_unlock(&z->lock); } 654 return 0; 655 } 656 lock_rw_unlock(&z->lock); 657 } 658 |
657 /* if unblock lan-zones, then do not add the zones below. 658 * we do add the zones above, about 127.0.0.1, because localhost is 659 * not on the lan. */ 660 if(cfg->unblock_lan_zones) 661 return 1; 662 663 /* block LAN level zones */ 664 if ( !add_as112_default(zones, cfg, "10.in-addr.arpa.") || 665 !add_as112_default(zones, cfg, "16.172.in-addr.arpa.") || 666 !add_as112_default(zones, cfg, "17.172.in-addr.arpa.") || 667 !add_as112_default(zones, cfg, "18.172.in-addr.arpa.") || 668 !add_as112_default(zones, cfg, "19.172.in-addr.arpa.") || 669 !add_as112_default(zones, cfg, "20.172.in-addr.arpa.") || 670 !add_as112_default(zones, cfg, "21.172.in-addr.arpa.") || 671 !add_as112_default(zones, cfg, "22.172.in-addr.arpa.") || 672 !add_as112_default(zones, cfg, "23.172.in-addr.arpa.") || 673 !add_as112_default(zones, cfg, "24.172.in-addr.arpa.") || 674 !add_as112_default(zones, cfg, "25.172.in-addr.arpa.") || 675 !add_as112_default(zones, cfg, "26.172.in-addr.arpa.") || 676 !add_as112_default(zones, cfg, "27.172.in-addr.arpa.") || 677 !add_as112_default(zones, cfg, "28.172.in-addr.arpa.") || 678 !add_as112_default(zones, cfg, "29.172.in-addr.arpa.") || 679 !add_as112_default(zones, cfg, "30.172.in-addr.arpa.") || 680 !add_as112_default(zones, cfg, "31.172.in-addr.arpa.") || 681 !add_as112_default(zones, cfg, "168.192.in-addr.arpa.") || 682 !add_as112_default(zones, cfg, "0.in-addr.arpa.") || 683 !add_as112_default(zones, cfg, "64.100.in-addr.arpa.") || 684 !add_as112_default(zones, cfg, "65.100.in-addr.arpa.") || 685 !add_as112_default(zones, cfg, "66.100.in-addr.arpa.") || 686 !add_as112_default(zones, cfg, "67.100.in-addr.arpa.") || 687 !add_as112_default(zones, cfg, "68.100.in-addr.arpa.") || 688 !add_as112_default(zones, cfg, "69.100.in-addr.arpa.") || 689 !add_as112_default(zones, cfg, "70.100.in-addr.arpa.") || 690 !add_as112_default(zones, cfg, "71.100.in-addr.arpa.") || 691 !add_as112_default(zones, cfg, "72.100.in-addr.arpa.") || 692 !add_as112_default(zones, cfg, "73.100.in-addr.arpa.") || 693 !add_as112_default(zones, cfg, "74.100.in-addr.arpa.") || 694 !add_as112_default(zones, cfg, "75.100.in-addr.arpa.") || 695 !add_as112_default(zones, cfg, "76.100.in-addr.arpa.") || 696 !add_as112_default(zones, cfg, "77.100.in-addr.arpa.") || 697 !add_as112_default(zones, cfg, "78.100.in-addr.arpa.") || 698 !add_as112_default(zones, cfg, "79.100.in-addr.arpa.") || 699 !add_as112_default(zones, cfg, "80.100.in-addr.arpa.") || 700 !add_as112_default(zones, cfg, "81.100.in-addr.arpa.") || 701 !add_as112_default(zones, cfg, "82.100.in-addr.arpa.") || 702 !add_as112_default(zones, cfg, "83.100.in-addr.arpa.") || 703 !add_as112_default(zones, cfg, "84.100.in-addr.arpa.") || 704 !add_as112_default(zones, cfg, "85.100.in-addr.arpa.") || 705 !add_as112_default(zones, cfg, "86.100.in-addr.arpa.") || 706 !add_as112_default(zones, cfg, "87.100.in-addr.arpa.") || 707 !add_as112_default(zones, cfg, "88.100.in-addr.arpa.") || 708 !add_as112_default(zones, cfg, "89.100.in-addr.arpa.") || 709 !add_as112_default(zones, cfg, "90.100.in-addr.arpa.") || 710 !add_as112_default(zones, cfg, "91.100.in-addr.arpa.") || 711 !add_as112_default(zones, cfg, "92.100.in-addr.arpa.") || 712 !add_as112_default(zones, cfg, "93.100.in-addr.arpa.") || 713 !add_as112_default(zones, cfg, "94.100.in-addr.arpa.") || 714 !add_as112_default(zones, cfg, "95.100.in-addr.arpa.") || 715 !add_as112_default(zones, cfg, "96.100.in-addr.arpa.") || 716 !add_as112_default(zones, cfg, "97.100.in-addr.arpa.") || 717 !add_as112_default(zones, cfg, "98.100.in-addr.arpa.") || 718 !add_as112_default(zones, cfg, "99.100.in-addr.arpa.") || 719 !add_as112_default(zones, cfg, "100.100.in-addr.arpa.") || 720 !add_as112_default(zones, cfg, "101.100.in-addr.arpa.") || 721 !add_as112_default(zones, cfg, "102.100.in-addr.arpa.") || 722 !add_as112_default(zones, cfg, "103.100.in-addr.arpa.") || 723 !add_as112_default(zones, cfg, "104.100.in-addr.arpa.") || 724 !add_as112_default(zones, cfg, "105.100.in-addr.arpa.") || 725 !add_as112_default(zones, cfg, "106.100.in-addr.arpa.") || 726 !add_as112_default(zones, cfg, "107.100.in-addr.arpa.") || 727 !add_as112_default(zones, cfg, "108.100.in-addr.arpa.") || 728 !add_as112_default(zones, cfg, "109.100.in-addr.arpa.") || 729 !add_as112_default(zones, cfg, "110.100.in-addr.arpa.") || 730 !add_as112_default(zones, cfg, "111.100.in-addr.arpa.") || 731 !add_as112_default(zones, cfg, "112.100.in-addr.arpa.") || 732 !add_as112_default(zones, cfg, "113.100.in-addr.arpa.") || 733 !add_as112_default(zones, cfg, "114.100.in-addr.arpa.") || 734 !add_as112_default(zones, cfg, "115.100.in-addr.arpa.") || 735 !add_as112_default(zones, cfg, "116.100.in-addr.arpa.") || 736 !add_as112_default(zones, cfg, "117.100.in-addr.arpa.") || 737 !add_as112_default(zones, cfg, "118.100.in-addr.arpa.") || 738 !add_as112_default(zones, cfg, "119.100.in-addr.arpa.") || 739 !add_as112_default(zones, cfg, "120.100.in-addr.arpa.") || 740 !add_as112_default(zones, cfg, "121.100.in-addr.arpa.") || 741 !add_as112_default(zones, cfg, "122.100.in-addr.arpa.") || 742 !add_as112_default(zones, cfg, "123.100.in-addr.arpa.") || 743 !add_as112_default(zones, cfg, "124.100.in-addr.arpa.") || 744 !add_as112_default(zones, cfg, "125.100.in-addr.arpa.") || 745 !add_as112_default(zones, cfg, "126.100.in-addr.arpa.") || 746 !add_as112_default(zones, cfg, "127.100.in-addr.arpa.") || 747 !add_as112_default(zones, cfg, "254.169.in-addr.arpa.") || 748 !add_as112_default(zones, cfg, "2.0.192.in-addr.arpa.") || 749 !add_as112_default(zones, cfg, "100.51.198.in-addr.arpa.") || 750 !add_as112_default(zones, cfg, "113.0.203.in-addr.arpa.") || 751 !add_as112_default(zones, cfg, "255.255.255.255.in-addr.arpa.") || 752 !add_as112_default(zones, cfg, "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa.") || 753 !add_as112_default(zones, cfg, "d.f.ip6.arpa.") || 754 !add_as112_default(zones, cfg, "8.e.f.ip6.arpa.") || 755 !add_as112_default(zones, cfg, "9.e.f.ip6.arpa.") || 756 !add_as112_default(zones, cfg, "a.e.f.ip6.arpa.") || 757 !add_as112_default(zones, cfg, "b.e.f.ip6.arpa.") || 758 !add_as112_default(zones, cfg, "8.b.d.0.1.0.0.2.ip6.arpa.")) { 759 log_err("out of memory adding default zone"); 760 return 0; | 659 /* block AS112 zones, unless asked not to */ 660 if(!cfg->unblock_lan_zones) { 661 for(zstr = as112_zones; *zstr; zstr++) { 662 if(!add_as112_default(zones, cfg, *zstr)) { 663 log_err("out of memory adding default zone"); 664 return 0; 665 } 666 } |
761 } 762 return 1; 763} 764 765/** setup parent pointers, so that a lookup can be done for closest match */ 766static void 767init_parents(struct local_zones* zones) 768{ --- 667 unchanged lines hidden --- | 667 } 668 return 1; 669} 670 671/** setup parent pointers, so that a lookup can be done for closest match */ 672static void 673init_parents(struct local_zones* zones) 674{ --- 667 unchanged lines hidden --- |