diff options
author | Andrew Bartlett <abartlet@samba.org> | 2002-09-28 14:42:32 +0000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2002-09-28 14:42:32 +0000 |
commit | 4e73790e3a20be5c7bf8fa3b62d9d41ba246b59c (patch) | |
tree | e481224eb3a0b308b6069b283c4cb17b1bdb4e74 /source3/libads/krb5_setpw.c | |
parent | b1361525c69de00f79246c236ca1d2f0fca6c0e6 (diff) | |
download | samba-4e73790e3a20be5c7bf8fa3b62d9d41ba246b59c.tar.gz samba-4e73790e3a20be5c7bf8fa3b62d9d41ba246b59c.tar.bz2 samba-4e73790e3a20be5c7bf8fa3b62d9d41ba246b59c.zip |
Try to compile as much as possible with only ldap, but not kerberos.
(This used to be commit 9615ab10c006d8027f6a8b7dd3770eb77304dbdc)
Diffstat (limited to 'source3/libads/krb5_setpw.c')
-rw-r--r-- | source3/libads/krb5_setpw.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/source3/libads/krb5_setpw.c b/source3/libads/krb5_setpw.c index a49b6cbe3b..8079c0953f 100644 --- a/source3/libads/krb5_setpw.c +++ b/source3/libads/krb5_setpw.c @@ -471,4 +471,35 @@ ADS_STATUS kerberos_set_password(const char *kpasswd_server, } +/** + * Set the machine account password + * @param ads connection to ads server + * @param hostname machine whose password is being set + * @param password new password + * @return status of password change + **/ +ADS_STATUS ads_set_machine_password(ADS_STRUCT *ads, + const char *hostname, + const char *password) +{ + ADS_STATUS status; + char *host = strdup(hostname); + char *principal; + + strlower(host); + + /* + we need to use the '$' form of the name here, as otherwise the + server might end up setting the password for a user instead + */ + asprintf(&principal, "%s$@%s", host, ads->auth.realm); + + status = krb5_set_password(ads->auth.kdc_server, principal, password, ads->auth.time_offset); + + free(host); + free(principal); + + return status; +} + #endif |