[patches] [netbox 1/1] net.box: Fix typo

imarkov imarkov at tarantool.org
Mon Jan 29 15:22:34 MSK 2018


From: IlyaMarkovMipt <markovilya197 at gmail.com>

* Fix typo in net_box.lua in rare error case

Signed-off-by: imarkov <imarkov at tarantool.org>
---
 src/box/lua/net_box.lua   |  2 ++
 test/box/net.box.result   | 23 +++++++++++++++++++++++
 test/box/net.box.test.lua |  9 ++++++++-
 3 files changed, 33 insertions(+), 1 deletion(-)

diff --git a/src/box/lua/net_box.lua b/src/box/lua/net_box.lua
index 95780bf..396dc39 100644
--- a/src/box/lua/net_box.lua
+++ b/src/box/lua/net_box.lua
@@ -451,6 +451,8 @@ local function create_transport(host, port, user, password, callback)
                 local status = hdr[IPROTO_STATUS_KEY]
                 local response_schema_version = hdr[IPROTO_SCHEMA_VERSION_KEY]
                 if status ~= 0 then
+                    local body
+                    body, body_end = decode(body_rpos)
                     return error_sm(E_NO_CONNECTION, body[IPROTO_ERROR_KEY])
                 end
                 if schema_version == nil then
diff --git a/test/box/net.box.result b/test/box/net.box.result
index 8f7f07f..89871b9 100644
--- a/test/box/net.box.result
+++ b/test/box/net.box.result
@@ -85,9 +85,32 @@ cn:eval('return 2+2')
 ---
 - error: Execute access to universe '' is denied for user 'guest'
 ...
+cn:close()
+---
+...
+-- connect and call without usage access
 box.schema.user.grant('guest','execute','universe')
 ---
 ...
+box.schema.user.revoke('guest','usage','universe')
+---
+...
+box.session.su("guest")
+---
+...
+cn = remote.connect(LISTEN.host, LISTEN.service)
+---
+...
+cn:call('test_foo', {'a', 'b', 'c'})
+---
+- error: Usage access to universe '' is denied for user 'guest'
+...
+box.session.su("admin")
+---
+...
+box.schema.user.grant('guest','usage','universe')
+---
+...
 cn:close()
 ---
 ...
diff --git a/test/box/net.box.test.lua b/test/box/net.box.test.lua
index 7c2e64c..2f86496 100644
--- a/test/box/net.box.test.lua
+++ b/test/box/net.box.test.lua
@@ -37,8 +37,15 @@ cn:call('unexists_procedure')
 function test_foo(a,b,c) return { {{ [a] = 1 }}, {{ [b] = 2 }}, c } end
 cn:call('test_foo', {'a', 'b', 'c'})
 cn:eval('return 2+2')
-
+cn:close()
+-- connect and call without usage access
 box.schema.user.grant('guest','execute','universe')
+box.schema.user.revoke('guest','usage','universe')
+box.session.su("guest")
+cn = remote.connect(LISTEN.host, LISTEN.service)
+cn:call('test_foo', {'a', 'b', 'c'})
+box.session.su("admin")
+box.schema.user.grant('guest','usage','universe')
 cn:close()
 cn = remote.connect(box.cfg.listen)
 
-- 
2.7.4




More information about the Tarantool-patches mailing list