public RpcAcceptedReplyHeader(XdrDataReader reader)
 {
     Verifier     = new RpcAuthentication(reader);
     AcceptStatus = (RpcAcceptStatus)reader.ReadInt32();
     if (AcceptStatus == RpcAcceptStatus.ProgramVersionMismatch)
     {
         MismatchInfo = new RpcMismatchInfo(reader);
     }
 }
Beispiel #2
0
 public RpcCallHeader(XdrDataReader reader)
 {
     RpcVersion  = reader.ReadUInt32();
     Program     = reader.ReadUInt32();
     Version     = reader.ReadUInt32();
     Proc        = reader.ReadInt32();
     Credentials = new RpcAuthentication(reader);
     Verifier    = new RpcAuthentication(reader);
 }
        public bool Equals(RpcAuthentication other)
        {
            if (other == null)
            {
                return(false);
            }

            return(other._flavour == _flavour);
        }
Beispiel #4
0
 public static RpcMessageHeader Accepted(uint transactionId)
 {
     return(new RpcMessageHeader()
     {
         TransactionId = transactionId,
         ReplyHeader = new RpcReplyHeader()
         {
             Status = RpcReplyStatus.Accepted,
             AcceptReply = new RpcAcceptedReplyHeader()
             {
                 AcceptStatus = RpcAcceptStatus.Success,
                 Verifier = RpcAuthentication.Null()
             }
         }
     });
 }
Beispiel #5
0
 public static RpcMessageHeader ProcedureUnavailable(uint transactionId)
 {
     return(new RpcMessageHeader()
     {
         TransactionId = transactionId,
         ReplyHeader = new RpcReplyHeader()
         {
             Status = RpcReplyStatus.Accepted,
             AcceptReply = new RpcAcceptedReplyHeader()
             {
                 AcceptStatus = RpcAcceptStatus.ProcedureUnavailable,
                 MismatchInfo = new RpcMismatchInfo(),
                 Verifier = RpcAuthentication.Null()
             }
         }
     });
 }
Beispiel #6
0
        protected XdrDataWriter StartCallMessage(MemoryStream ms, RpcCredentials credentials, uint procedure)
        {
            XdrDataWriter writer = new XdrDataWriter(ms);

            writer.Write(_client.NextTransactionId());
            writer.Write((int)RpcMessageType.Call);

            RpcCallHeader hdr = new RpcCallHeader();

            hdr.RpcVersion  = RpcVersion;
            hdr.Program     = (uint)Identifier;
            hdr.Version     = (uint)Version;
            hdr.Proc        = procedure;
            hdr.Credentials = new RpcAuthentication(credentials ?? new RpcNullCredentials());
            hdr.Verifier    = RpcAuthentication.Null();
            hdr.Write(writer);

            return(writer);
        }