Changeset 751 for trunk/server/source3/utils/net_lookup.c
- Timestamp:
- Nov 29, 2012, 1:59:04 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/server/source3/utils/net_lookup.c
r745 r751 277 277 krb5_error_code rc; 278 278 krb5_context ctx; 279 struct sockaddr_in *addrs; 280 int num_kdcs,i; 281 krb5_data realm; 282 char **realms; 279 struct ip_service *kdcs; 280 const char *realm; 281 int num_kdcs = 0; 282 int i; 283 NTSTATUS status; 283 284 284 285 initialize_krb5_error_table(); … … 290 291 } 291 292 292 if (argc>0) { 293 realm.data = CONST_DISCARD(char *, argv[0]); 294 realm.length = strlen(argv[0]); 293 if (argc > 0) { 294 realm = argv[0]; 295 295 } else if (lp_realm() && *lp_realm()) { 296 realm.data = lp_realm(); 297 realm.length = strlen((const char *)realm.data); 296 realm = lp_realm(); 298 297 } else { 298 char **realms; 299 299 300 rc = krb5_get_host_realm(ctx, NULL, &realms); 300 301 if (rc) { … … 303 304 return -1; 304 305 } 305 realm.data = (char *) *realms; 306 realm.length = strlen((const char *)realm.data); 307 } 308 309 rc = smb_krb5_locate_kdc(ctx, &realm, (struct sockaddr **)(void *)&addrs, &num_kdcs, 0); 310 if (rc) { 311 DEBUG(1, ("smb_krb5_locate_kdc failed (%s)\n", error_message(rc))); 312 return -1; 313 } 314 for (i=0;i<num_kdcs;i++) 315 if (addrs[i].sin_family == AF_INET) 316 d_printf("%s:%hd\n", inet_ntoa(addrs[i].sin_addr), 317 ntohs(addrs[i].sin_port)); 318 return 0; 319 306 realm = (const char *) *realms; 307 } 308 309 status = get_kdc_list(realm, NULL, &kdcs, &num_kdcs); 310 if (!NT_STATUS_IS_OK(status)) { 311 DEBUG(1,("get_kdc_list failed (%s)\n", nt_errstr(status))); 312 return -1; 313 } 314 315 for (i = 0; i < num_kdcs; i++) { 316 char addr[INET6_ADDRSTRLEN]; 317 318 print_sockaddr(addr, sizeof(addr), &kdcs[i].ss); 319 320 d_printf("%s:%hd\n", addr, kdcs[i].port); 321 } 322 323 return 0; 320 324 #endif 321 325 DEBUG(1, ("No kerberos support\n"));
Note:
See TracChangeset
for help on using the changeset viewer.