namespace Renci.SshNet.Messages.Authentication { /// /// Represents SSH_MSG_USERAUTH_PASSWD_CHANGEREQ message. /// internal sealed class PasswordChangeRequiredMessage : Message { /// public override string MessageName { get { return "SSH_MSG_USERAUTH_PASSWD_CHANGEREQ"; } } /// public override byte MessageNumber { get { return 60; } } /// /// Gets password change request message as UTF-8 encoded byte array. /// public byte[] Message { get; private set; } /// /// Gets message language as UTF-8 encoded byte array. /// public byte[] Language { get; private set; } /// /// Gets the size of the message in bytes. /// /// /// The size of the messages in bytes. /// protected override int BufferCapacity { get { var capacity = base.BufferCapacity; capacity += 4; // Message length capacity += Message.Length; // Message capacity += 4; // Language length capacity += Language.Length; // Language return capacity; } } /// /// Called when type specific data need to be loaded. /// protected override void LoadData() { Message = ReadBinary(); Language = ReadBinary(); } /// /// Called when type specific data need to be saved. /// protected override void SaveData() { WriteBinaryString(Message); WriteBinaryString(Language); } internal override void Process(Session session) { session.OnUserAuthenticationPasswordChangeRequiredReceived(this); } } }