A fix for gh-617 - add a separate fiber key for the current user.
Use cached user credentials for global access checks and store them in a separate fiber key. This fixes gh-617 and speeds up privilege checks. @todo: we need to add a linked list of all user sessions to the user cache, as well as all user setuid functions. These lists could be used to update privilege cache, get/update per-user statistics, disconnect sessions of a dropped user.
Showing
- src/box/alter.cc 11 additions, 4 deletionssrc/box/alter.cc
- src/box/authentication.cc 2 additions, 2 deletionssrc/box/authentication.cc
- src/box/box.cc 12 additions, 7 deletionssrc/box/box.cc
- src/box/box.h 2 additions, 2 deletionssrc/box/box.h
- src/box/iproto.cc 7 additions, 6 deletionssrc/box/iproto.cc
- src/box/key_def.h 20 additions, 3 deletionssrc/box/key_def.h
- src/box/lua/call.cc 16 additions, 24 deletionssrc/box/lua/call.cc
- src/box/lua/session.cc 23 additions, 16 deletionssrc/box/lua/session.cc
- src/box/recovery.cc 10 additions, 10 deletionssrc/box/recovery.cc
- src/box/replica.cc 1 addition, 3 deletionssrc/box/replica.cc
- src/box/session.cc 41 additions, 39 deletionssrc/box/session.cc
- src/box/session.h 55 additions, 38 deletionssrc/box/session.h
- src/box/space.cc 4 additions, 3 deletionssrc/box/space.cc
- src/box/user_cache.h 0 additions, 15 deletionssrc/box/user_cache.h
- src/box/user_def.h 8 additions, 0 deletionssrc/box/user_def.h
- src/fiber.h 3 additions, 1 deletionsrc/fiber.h
- src/lib/salad/rlist.h 1 addition, 0 deletionssrc/lib/salad/rlist.h
- src/lua/fiber.cc 2 additions, 3 deletionssrc/lua/fiber.cc
- src/lua/init.cc 0 additions, 4 deletionssrc/lua/init.cc
- test/app/console.test.lua 1 addition, 1 deletiontest/app/console.test.lua
Loading
Please register or sign in to comment