Esempio n. 1
0
        internal static XDR Create()
        {
            XDR request = new XDR();

            RpcCall.GetInstance(unchecked ((int)(0x8000004c)), Nfs3Constant.Program, Nfs3Constant
                                .Version, Nfs3Constant.NFSPROC3.Create.GetValue(), new CredentialsNone(), new VerifierNone
                                    ()).Write(request);
            SetAttr3       objAttr   = new SetAttr3();
            CREATE3Request createReq = new CREATE3Request(new FileHandle("/"), "out-of-order-write"
                                                          + Runtime.CurrentTimeMillis(), 0, objAttr, 0);

            createReq.Serialize(request);
            return(request);
        }
Esempio n. 2
0
        /// <exception cref="System.Exception"/>
        public virtual void TestSetattr()
        {
            HdfsFileStatus status  = nn.GetRpcServer().GetFileInfo(testdir);
            long           dirId   = status.GetFileId();
            XDR            xdr_req = new XDR();
            FileHandle     handle  = new FileHandle(dirId);
            SetAttr3       symAttr = new SetAttr3(0, 1, 0, 0, null, null, EnumSet.Of(SetAttr3.SetAttrField
                                                                                     .Uid));
            SETATTR3Request req = new SETATTR3Request(handle, symAttr, false, null);

            req.Serialize(xdr_req);
            // Attempt by an unprivileged user should fail.
            SETATTR3Response response1 = nfsd.Setattr(xdr_req.AsReadOnlyWrap(), securityHandlerUnpriviledged
                                                      , new IPEndPoint("localhost", 1234));

            NUnit.Framework.Assert.AreEqual("Incorrect return code", Nfs3Status.Nfs3errAcces,
                                            response1.GetStatus());
            // Attempt by a priviledged user should pass.
            SETATTR3Response response2 = nfsd.Setattr(xdr_req.AsReadOnlyWrap(), securityHandler
                                                      , new IPEndPoint("localhost", 1234));

            NUnit.Framework.Assert.AreEqual("Incorrect return code", Nfs3Status.Nfs3Ok, response2
                                            .GetStatus());
        }