Skip to content

Client password change and refactor

Compare
Choose a tag to compare
@jcmturner jcmturner released this 05 May 12:38
· 234 commits to master since this release

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 use messages.NewASReqForTGT()