--- linux/rsbac/adf/rc/rc_main.c.orig	Fri Apr 27 17:09:34 2001
+++ linux/rsbac/adf/rc/rc_main.c	Mon Jun 18 14:41:24 2001
@@ -981,6 +981,12 @@
                         if (!(err=rsbac_rc_test_assign_roles(target, tid, attr, attr_val.rc_role)))
                           return(GRANTED);
                       }
+		    /*New checks for Dynamic Role Switching*/
+		    if ( (target==T_PROCESS)&&(tid.process==caller_pid) )
+		      {
+		        if (!(err=rsbac_rc_test_assign_roles(target, tid, attr, attr_val.rc_role)))
+                          return(GRANTED);
+		      }
                     /* Classical admin_type check */
                     if (rsbac_rc_test_role_admin(TRUE))
                       return(NOT_GRANTED);
