[3/3] nfsd4: implement secinfo_no_name
diff mbox

Message ID 4D1C06E7.5060009@cn.fujitsu.com
State RFC, archived
Headers show

Commit Message

Mi Jinlong Dec. 30, 2010, 4:13 a.m. UTC
None

Patch
diff mbox

diff --git a/nfs4.1/server41tests/__init__.py b/nfs4.1/server41tests/__init__.py
index 22cd664..6aee88e 100644
--- a/nfs4.1/server41tests/__init__.py
+++ b/nfs4.1/server41tests/__init__.py
@@ -2,6 +2,7 @@  __all__ = ["st_exchange_id.py", # draft 21
            "st_compound.py",
            "st_create_session.py",
            "st_destroy_session.py",
+           "st_secinfo_no_name.py",
            "st_sequence.py",
 	   "st_trunking.py",
            "st_open.py",
diff --git a/nfs4.1/server41tests/st_secinfo_no_name.py b/nfs4.1/server41tests/st_secinfo_no_name.py
new file mode 100644
index 0000000..a4b148d
--- /dev/null
+++ b/nfs4.1/server41tests/st_secinfo_no_name.py
@@ -0,0 +1,35 @@ 
+from st_create_session import create_session
+from nfs4_const import *
+from environment import check, fail, bad_sessionid, create_file
+from nfs4_type import channel_attrs4
+import nfs4_ops as op
+import nfs4lib
+
+def testSupported(t, env):
+    """Do a simple SECINFO_NO_NAME
+       send PUTROOTFH+SECINFO_NO_NAME, check is result legal
+
+    FLAGS: all 
+    CODE: SECNN1
+    """
+    c = env.c1.new_client(env.testname(t))
+    sess = c.create_session()
+    res = sess.compound([op.putrootfh(), op.secinfo_no_name()])
+    check(res);
+
+def testSupported2(t, env):
+    """GETFH after do a SECINFO_NO_NAME or SECINFO
+       result in a NOFILEHANDLE error, See rfc 5661 section 2.6.3.1.1.8
+
+    FLAGS: all
+    CODE: SECNN2
+    """
+    c = env.c1.new_client(env.testname(t))
+    sess = c.create_session()
+    res = sess.compound([op.putrootfh(), op.secinfo_no_name(), op.getfh()])
+    print res
+    check(res, NFS4ERR_NOFILEHANDLE);
+
+    res = sess.compound([op.putrootfh(), op.secinfo("tree"), op.getfh()])
+    print res
+    check(res, NFS4ERR_NOFILEHANDLE);