diff options
author | Jim McDonough <jmcd@samba.org> | 2011-05-26 20:30:33 +0200 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2011-05-26 20:30:33 +0200 |
commit | 9a172dcd2e7bf91d78885325bce7a19e937b48af (patch) | |
tree | 9dac89bc7e40cc3e194143b2bfa98cc21c124134 | |
parent | a3635edc96e481f1125db1c26e33cae5b22a01a4 (diff) | |
download | samba-9a172dcd2e7bf91d78885325bce7a19e937b48af.tar.gz |
s3-libnet: fix bug #6364: Pull realm from supplied username on libnet join
-rw-r--r-- | source3/libnet/libnet_join.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/source3/libnet/libnet_join.c b/source3/libnet/libnet_join.c index 03832cffe5a..64891264045 100644 --- a/source3/libnet/libnet_join.c +++ b/source3/libnet/libnet_join.c @@ -100,6 +100,7 @@ static ADS_STATUS libnet_connect_ads(const char *dns_domain_name, { ADS_STATUS status; ADS_STRUCT *my_ads = NULL; + char *cp; my_ads = ads_init(dns_domain_name, netbios_domain_name, @@ -111,6 +112,12 @@ static ADS_STATUS libnet_connect_ads(const char *dns_domain_name, if (user_name) { SAFE_FREE(my_ads->auth.user_name); my_ads->auth.user_name = SMB_STRDUP(user_name); + if ((cp = strchr_m(my_ads->auth.user_name, '@'))!=0) { + *cp++ = '\0'; + SAFE_FREE(my_ads->auth.realm); + my_ads->auth.realm = smb_xstrdup(cp); + strupper_m(my_ads->auth.realm); + } } if (password) { |