Hello, I wrote here some time ago about security, didn't know how to do authorization. After spending some time walking through CSIv2 code I patched it a little bit so that it could provide functions from within the application like: knowing current user, adding/removing users and changing client user. I totally understand that this is not according to the standard, but I just wanted to ask, will it work at all... Since now it SEEMS to be working.
The patch is the following: csiv2.idl, csiv2_impl.cc, csiv2_impl.h: Added func. add_server_user to local interface SecurityManager (this function is already in csiv2_impl.cc, so I just added it to IDL and "const" to arguments); Added func. remove_server_user (just like add_server_user); Added attr. current_user (read only, just returns current_user_ whici is set in auth_token function, implemented in csiv2_impl.cc); Added func. client_user (change css_user_ and css_passwd_); I didn't know nothing about multithreading usage of this class, so I added MICO::RWLock to all above functions and also in: CSIv2::SecurityManager_impl::get_gss_init_token (just around the part where css_*_ is read); CSIv2::SecurityManager_impl::auth_token (around the for-loop of finding user); Could you please tell me, will it work OK, especially current_user? Usage in the application is through getting initial reference of CSIv2SecurityManager. If some could explain me how to use "patch" I can send the code here. Arnold Mingin. _______________________________________________ Mico-devel mailing list [email protected] http://www.mico.org/mailman/listinfo/mico-devel
