namespace Renci.SshNet.Messages.Authentication { /// /// Represents SSH_MSG_USERAUTH_PASSWD_CHANGEREQ message. /// [Message("SSH_MSG_USERAUTH_PASSWD_CHANGEREQ", 60)] internal class PasswordChangeRequiredMessage : Message { /// /// 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); } } }