Client password change and refactor
New Features
- A client can now change their password via the kpasswd_server (typically listening on port 464). See
Differences from v4
The major revision has occurred due to changes in the following public methods.
If you are using these some code change will be required. If not, then your code should be unaffected:
-
func (cl *Client) client.ASExchange()
Now requires an AS_REQ as an argument. If you were using this directly I recommend looking to using the client's Login() function instead. -
func (cl *Client) client.RenewTicket()
This function has been made private as it should never have been public and was likely of little use. To renew a ticket simply call the client's GetServiceTicket() and any ticket for the SPN provided will be renewed by this call. -
messages.NewASReq()
As part of delivering the password change feature it was clear there was a need for AS requests of a type other than for a TGT. This function still exists but is more generic and requires a NamePrincipal to be passed in for the server name. If you were using this in v4 you should update to usemessages.NewASReqForTGT()