Re: rgw: feedback on auth engine selection

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 09/07/2016 01:19 PM, Radoslaw Zarzynski wrote:
Where I see problems is AWS Auth v4. It's truly
state-full. And when it comes to handling state,
I would prefer to use the language assistance for
it (non-static class members) instead of letting
internals (context) leak to req_state.
AWS v4 is a good example to look at, yeah. It's a special case, because there's a separate 'complete' step after reading the body of the request, so we need to track auth state between the calls to authorize() and complete(). The current implementation stores this stuff in a 'struct rgw_aws4_auth' member of req_state.

So far, all of the AuthEngine instances have been constructed on the stack in their handler's authorize() method, so their state has been limited to that scope. If a new AWS4AuthEngine were to encapsulate v4 auth this state, the engine would have to live somewhere outside of the authorize() method - most likely in req_state. But we could just as easily have a stateless AWS4AuthEngine that accessed the existing rgw_aws4_auth via req_state. Encapsulation of rgw_aws4_auth could be improved by making everything private except for a complete() method (and call it AWS4AuthCompletion, for example).
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux