• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

tarantool / tarantool / 19956884290
88%

Build:
DEFAULT BRANCH: master
Ran 05 Dec 2025 08:31AM UTC
Jobs 1
Files 517
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

05 Dec 2025 08:13AM UTC coverage: 87.637% (+0.01%) from 87.627%
19956884290

push

github

locker
box: introduce "grant" and "metagrant" privileges

The `PRIV_GRANT` (along with `PRIV_REVOKE`) had been introduced for a
single reason: for pretty-printing the access denial error message.
Let's make it a working privilege and introduce a new one allowing
to grant it.

The new "grant" privilege can only be granted on the "universe". It
allows to grant any privilege, except for the "grant" itself and new
"metagrant", on any object, entity or the "universe", to a visible
user. The privilege does not allow granting oneself though, only
granting to other users (this makes it granular: a user that's only
able to grant can't make oneself able to do other things).

The new "metagrant" privilege allows to grant "grant" and "metagrant"
privileges to available users. It can only be granted to "universe"
too and does not allow granting oneself either.

Dropped grantor checks from the `priv_def_check`: now any grantor may
be specified by the user calling the `box.schema.[user|role].grant`
function if he has rights to grant.

Since granting a privilege to an object requires the ability to see
it, introduced corresponding checks in all sysview spaces so that if
an object is grantable, it's visible. Except for the `_priv` space:
even if one has the "grant" privilege on the "universe", it can't see
grants of other users, only the grants created by oneself.

Dropped the `PRIV_REVOKE` constant by the way, as `PRIV_GRANT` does
cover the privilege revoke too.

Closes #11528

@TarantoolBot document
Title: Introduce the "grant" and "metagrant" privileges
Since: 3.5.1

The new privileges are only grantable on the "universe".

Root document: https://www.tarantool.io/en/doc/latest/admin/access_control/#privileges

* The `grant` permission granted to the "universe" allows a user to
  grant all permissions, except "grant" and "metagrant", to an object,
  object class or the "universe" to available users (granting oneself
  is not allowed by the permission though).
* The `metagr... (continued)

70223 of 118177 branches covered (59.42%)

27 of 27 new or added lines in 2 files covered. (100.0%)

60 existing lines in 12 files now uncovered.

105503 of 120387 relevant lines covered (87.64%)

1361616.05 hits per line

Uncovered Existing Lines

Lines Coverage ∆ File
1
22.7
0.04% src/lib/uri/uri_parser.c
1
97.41
-0.86% src/lib/vclock/vclock.c
2
93.77
-0.29% src/box/memtx_space.c
2
96.05
1.51% src/box/user.cc
2
92.52
0.04% src/box/vinyl.c
2
92.93
-0.19% src/lib/core/fiber.c
3
87.94
-0.07% src/box/vy_run.c
4
85.81
-0.25% src/box/xlog.c
4
93.63
-0.96% src/lib/swim/swim_io.c
6
87.82
0.28% src/box/alter.cc
15
87.65
0.15% src/box/sysview.c
18
91.11
-0.49% src/box/box.cc
Jobs
ID Job ID Ran Files Coverage
1 19956884290.1 05 Dec 2025 08:31AM UTC 517
87.64
GitHub Action Run
Source Files on build 19956884290
  • Tree
  • List 517
  • Changed 28
  • Source Changed 0
  • Coverage Changed 28
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 1fd4404b on github
  • Prev Build on master (#19929548206)
  • Next Build on master (#19960868214)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc