Lines Matching refs:oldcred

493 	struct ucred *newcred, *oldcred;
506 oldcred = crcopysafe(p, newcred);
509 error = mac_cred_check_setuid(oldcred, uid);
531 if (uid != oldcred->cr_ruid && /* allow setuid(getuid()) */
533 uid != oldcred->cr_svuid && /* allow setuid(saved gid) */
536 uid != oldcred->cr_uid && /* allow setuid(geteuid()) */
538 (error = priv_check_cred(oldcred, PRIV_CRED_SETUID, 0)) != 0)
548 uid == oldcred->cr_uid ||
551 priv_check_cred(oldcred, PRIV_CRED_SETUID, 0) == 0)
557 if (uid != oldcred->cr_ruid) {
568 if (uid != oldcred->cr_svuid) {
577 if (uid != oldcred->cr_uid) {
584 racct_proc_ucred_changed(p, oldcred, newcred);
587 crfree(oldcred);
607 struct ucred *newcred, *oldcred;
620 oldcred = crcopysafe(p, newcred);
623 error = mac_cred_check_seteuid(oldcred, euid);
628 if (euid != oldcred->cr_ruid && /* allow seteuid(getuid()) */
629 euid != oldcred->cr_svuid && /* allow seteuid(saved uid) */
630 (error = priv_check_cred(oldcred, PRIV_CRED_SETEUID, 0)) != 0)
636 if (oldcred->cr_uid != euid) {
643 crfree(oldcred);
663 struct ucred *newcred, *oldcred;
671 oldcred = crcopysafe(p, newcred);
674 error = mac_cred_check_setgid(oldcred, gid);
690 if (gid != oldcred->cr_rgid && /* allow setgid(getgid()) */
692 gid != oldcred->cr_svgid && /* allow setgid(saved gid) */
695 gid != oldcred->cr_groups[0] && /* allow setgid(getegid()) */
697 (error = priv_check_cred(oldcred, PRIV_CRED_SETGID, 0)) != 0)
707 gid == oldcred->cr_groups[0] ||
710 priv_check_cred(oldcred, PRIV_CRED_SETGID, 0) == 0)
716 if (oldcred->cr_rgid != gid) {
727 if (oldcred->cr_svgid != gid) {
736 if (oldcred->cr_groups[0] != gid) {
742 crfree(oldcred);
761 struct ucred *newcred, *oldcred;
769 oldcred = crcopysafe(p, newcred);
772 error = mac_cred_check_setegid(oldcred, egid);
777 if (egid != oldcred->cr_rgid && /* allow setegid(getgid()) */
778 egid != oldcred->cr_svgid && /* allow setegid(saved gid) */
779 (error = priv_check_cred(oldcred, PRIV_CRED_SETEGID, 0)) != 0)
782 if (oldcred->cr_groups[0] != egid) {
788 crfree(oldcred);
834 struct ucred *newcred, *oldcred;
842 oldcred = crcopysafe(p, newcred);
845 error = mac_cred_check_setgroups(oldcred, ngrp, groups);
850 error = priv_check_cred(oldcred, PRIV_CRED_SETGROUPS, 0);
868 crfree(oldcred);
888 struct ucred *newcred, *oldcred;
901 oldcred = crcopysafe(p, newcred);
904 error = mac_cred_check_setreuid(oldcred, ruid, euid);
909 if (((ruid != (uid_t)-1 && ruid != oldcred->cr_ruid &&
910 ruid != oldcred->cr_svuid) ||
911 (euid != (uid_t)-1 && euid != oldcred->cr_uid &&
912 euid != oldcred->cr_ruid && euid != oldcred->cr_svuid)) &&
913 (error = priv_check_cred(oldcred, PRIV_CRED_SETREUID, 0)) != 0)
916 if (euid != (uid_t)-1 && oldcred->cr_uid != euid) {
920 if (ruid != (uid_t)-1 && oldcred->cr_ruid != ruid) {
932 racct_proc_ucred_changed(p, oldcred, newcred);
936 crfree(oldcred);
958 struct ucred *newcred, *oldcred;
968 oldcred = crcopysafe(p, newcred);
971 error = mac_cred_check_setregid(oldcred, rgid, egid);
976 if (((rgid != (gid_t)-1 && rgid != oldcred->cr_rgid &&
977 rgid != oldcred->cr_svgid) ||
978 (egid != (gid_t)-1 && egid != oldcred->cr_groups[0] &&
979 egid != oldcred->cr_rgid && egid != oldcred->cr_svgid)) &&
980 (error = priv_check_cred(oldcred, PRIV_CRED_SETREGID, 0)) != 0)
983 if (egid != (gid_t)-1 && oldcred->cr_groups[0] != egid) {
987 if (rgid != (gid_t)-1 && oldcred->cr_rgid != rgid) {
998 crfree(oldcred);
1023 struct ucred *newcred, *oldcred;
1038 oldcred = crcopysafe(p, newcred);
1041 error = mac_cred_check_setresuid(oldcred, ruid, euid, suid);
1046 if (((ruid != (uid_t)-1 && ruid != oldcred->cr_ruid &&
1047 ruid != oldcred->cr_svuid &&
1048 ruid != oldcred->cr_uid) ||
1049 (euid != (uid_t)-1 && euid != oldcred->cr_ruid &&
1050 euid != oldcred->cr_svuid &&
1051 euid != oldcred->cr_uid) ||
1052 (suid != (uid_t)-1 && suid != oldcred->cr_ruid &&
1053 suid != oldcred->cr_svuid &&
1054 suid != oldcred->cr_uid)) &&
1055 (error = priv_check_cred(oldcred, PRIV_CRED_SETRESUID, 0)) != 0)
1058 if (euid != (uid_t)-1 && oldcred->cr_uid != euid) {
1062 if (ruid != (uid_t)-1 && oldcred->cr_ruid != ruid) {
1066 if (suid != (uid_t)-1 && oldcred->cr_svuid != suid) {
1073 racct_proc_ucred_changed(p, oldcred, newcred);
1077 crfree(oldcred);
1105 struct ucred *newcred, *oldcred;
1117 oldcred = crcopysafe(p, newcred);
1120 error = mac_cred_check_setresgid(oldcred, rgid, egid, sgid);
1125 if (((rgid != (gid_t)-1 && rgid != oldcred->cr_rgid &&
1126 rgid != oldcred->cr_svgid &&
1127 rgid != oldcred->cr_groups[0]) ||
1128 (egid != (gid_t)-1 && egid != oldcred->cr_rgid &&
1129 egid != oldcred->cr_svgid &&
1130 egid != oldcred->cr_groups[0]) ||
1131 (sgid != (gid_t)-1 && sgid != oldcred->cr_rgid &&
1132 sgid != oldcred->cr_svgid &&
1133 sgid != oldcred->cr_groups[0])) &&
1134 (error = priv_check_cred(oldcred, PRIV_CRED_SETRESGID, 0)) != 0)
1137 if (egid != (gid_t)-1 && oldcred->cr_groups[0] != egid) {
1141 if (rgid != (gid_t)-1 && oldcred->cr_rgid != rgid) {
1145 if (sgid != (gid_t)-1 && oldcred->cr_svgid != sgid) {
1151 crfree(oldcred);
1960 struct ucred *oldcred;
1968 oldcred = p->p_ucred;
1972 return (oldcred);
1978 struct ucred *oldcred;
1983 oldcred = p->p_ucred;
1984 while (cr->cr_agroups < oldcred->cr_agroups) {
1985 groups = oldcred->cr_agroups;
1989 oldcred = p->p_ucred;
1991 crcopy(cr, oldcred);
1993 return (oldcred);