[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