> On April 7, 2017, 7:47 a.m., Alexander Rojas wrote: > > 3rdparty/libprocess/include/process/authenticator.hpp > > Line 69 (original), 69 (patched) > > <https://reviews.apache.org/r/58251/diff/1/?file=1686344#file1686344line69> > > > > My only concern with using either a `std::map` or a `hashmap` is that > > it forces clients to have only one entry of each claim which forces us to > > find creative ways around this. How about using `std::multi_map`, > > `std::multi_hashmap` or `hashmap<std::string, std::vector<std::string>>`?
I think our decision here should be determined by what we think is the most appropriate API for authenticators/authorizers. It could make sense to allow multiple occurrences of the same key; for example, to allow a single `Principal` to contain claims associating it with multiple usernames. If we decide to go that way, we could use our `multihashmap` class. I would suggest that we merge this change to unblock the current patch chain, and consider independently the option of moving to a `multihashmap`. I think it may be a good change to make, and best to do it before 1.3 ships if we're going to. - Greg ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/58251/#review171316 ----------------------------------------------------------- On April 7, 2017, 3:26 a.m., Greg Mann wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/58251/ > ----------------------------------------------------------- > > (Updated April 7, 2017, 3:26 a.m.) > > > Review request for mesos, Adam B, Alexander Rojas, Till Toenshoff, and Vinod > Kone. > > > Bugs: MESOS-7014 > https://issues.apache.org/jira/browse/MESOS-7014 > > > Repository: mesos > > > Description > ------- > > This patch changes the `claims` member of the authentication > `Principal` struct from a `std::map` to a `hashmap`, so that > we can make use of the `contains()` helper during authorization. > > > Diffs > ----- > > 3rdparty/libprocess/include/process/authenticator.hpp > 272d92117547512328c09dfc04c6ca4bf7b6b937 > > > Diff: https://reviews.apache.org/r/58251/diff/1/ > > > Testing > ------- > > Testing details can be found at the end of this chain. > > > Thanks, > > Greg Mann > >