Changeset 478 for vendor/current/source3/libads/kerberos.c
- Timestamp:
- Aug 2, 2010, 6:40:21 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
vendor/current/source3/libads/kerberos.c
r414 r478 716 716 static char *print_kdc_line(char *mem_ctx, 717 717 const char *prev_line, 718 const struct sockaddr_storage *pss) 718 const struct sockaddr_storage *pss, 719 const char *kdc_name) 719 720 { 720 721 char *kdc_str = NULL; … … 727 728 char addr[INET6_ADDRSTRLEN]; 728 729 uint16_t port = get_sockaddr_port(pss); 730 731 DEBUG(10,("print_kdc_line: IPv6 case for kdc_name: %s, port: %d\n", 732 kdc_name, port)); 729 733 730 734 if (port != 0 && port != DEFAULT_KRB5_PORT) { … … 744 748 print_canonical_sockaddr(mem_ctx, pss), 745 749 gai_strerror(ret))); 750 return NULL; 746 751 } 747 752 /* Success, use host:port */ … … 752 757 (unsigned int)port); 753 758 } else { 754 kdc_str = talloc_asprintf(mem_ctx, "%s\tkdc = %s\n", 755 prev_line, 756 print_sockaddr(addr, 757 sizeof(addr), 758 pss)); 759 760 /* no krb5 lib currently supports "kdc = ipv6 address" 761 * at all, so just fill in just the kdc_name if we have 762 * it and let the krb5 lib figure out the appropriate 763 * ipv6 address - gd */ 764 765 if (kdc_name) { 766 kdc_str = talloc_asprintf(mem_ctx, "%s\tkdc = %s\n", 767 prev_line, kdc_name); 768 } else { 769 kdc_str = talloc_asprintf(mem_ctx, "%s\tkdc = %s\n", 770 prev_line, 771 print_sockaddr(addr, 772 sizeof(addr), 773 pss)); 774 } 759 775 } 760 776 } … … 773 789 const char *realm, 774 790 const char *sitename, 775 struct sockaddr_storage *pss) 791 struct sockaddr_storage *pss, 792 const char *kdc_name) 776 793 { 777 794 int i; … … 780 797 int count_site = 0; 781 798 int count_nonsite; 782 char *kdc_str = print_kdc_line(mem_ctx, "", pss );799 char *kdc_str = print_kdc_line(mem_ctx, "", pss, kdc_name); 783 800 784 801 if (kdc_str == NULL) { … … 804 821 kdc_str = print_kdc_line(mem_ctx, 805 822 kdc_str, 806 &ip_srv_site[i].ss); 823 &ip_srv_site[i].ss, 824 NULL); 807 825 if (!kdc_str) { 808 826 SAFE_FREE(ip_srv_site); … … 841 859 kdc_str = print_kdc_line(mem_ctx, 842 860 kdc_str, 843 &ip_srv_nonsite[i].ss); 861 &ip_srv_nonsite[i].ss, 862 NULL); 844 863 if (!kdc_str) { 845 864 SAFE_FREE(ip_srv_site); … … 869 888 const char *domain, 870 889 const char *sitename, 871 struct sockaddr_storage *pss) 890 struct sockaddr_storage *pss, 891 const char *kdc_name) 872 892 { 873 893 char *dname; … … 913 933 strupper_m(realm_upper); 914 934 915 kdc_ip_string = get_kdc_ip_string(dname, realm, sitename, pss );935 kdc_ip_string = get_kdc_ip_string(dname, realm, sitename, pss, kdc_name); 916 936 if (!kdc_ip_string) { 917 937 goto done;
Note:
See TracChangeset
for help on using the changeset viewer.