Lines Matching defs:oldcred

483 	struct ucred *newcred, *oldcred;
496 oldcred = crcopysafe(p, newcred);
499 error = mac_cred_check_setuid(oldcred, uid);
521 if (uid != oldcred->cr_ruid && /* allow setuid(getuid()) */
523 uid != oldcred->cr_svuid && /* allow setuid(saved gid) */
526 uid != oldcred->cr_uid && /* allow setuid(geteuid()) */
528 (error = priv_check_cred(oldcred, PRIV_CRED_SETUID)) != 0)
538 uid == oldcred->cr_uid ||
541 priv_check_cred(oldcred, PRIV_CRED_SETUID) == 0)
547 if (uid != oldcred->cr_ruid) {
558 if (uid != oldcred->cr_svuid) {
567 if (uid != oldcred->cr_uid) {
573 racct_proc_ucred_changed(p, oldcred, newcred);
582 crfree(oldcred);
602 struct ucred *newcred, *oldcred;
615 oldcred = crcopysafe(p, newcred);
618 error = mac_cred_check_seteuid(oldcred, euid);
623 if (euid != oldcred->cr_ruid && /* allow seteuid(getuid()) */
624 euid != oldcred->cr_svuid && /* allow seteuid(saved uid) */
625 (error = priv_check_cred(oldcred, PRIV_CRED_SETEUID)) != 0)
631 if (oldcred->cr_uid != euid) {
638 crfree(oldcred);
658 struct ucred *newcred, *oldcred;
666 oldcred = crcopysafe(p, newcred);
669 error = mac_cred_check_setgid(oldcred, gid);
685 if (gid != oldcred->cr_rgid && /* allow setgid(getgid()) */
687 gid != oldcred->cr_svgid && /* allow setgid(saved gid) */
690 gid != oldcred->cr_groups[0] && /* allow setgid(getegid()) */
692 (error = priv_check_cred(oldcred, PRIV_CRED_SETGID)) != 0)
702 gid == oldcred->cr_groups[0] ||
705 priv_check_cred(oldcred, PRIV_CRED_SETGID) == 0)
711 if (oldcred->cr_rgid != gid) {
722 if (oldcred->cr_svgid != gid) {
731 if (oldcred->cr_groups[0] != gid) {
737 crfree(oldcred);
756 struct ucred *newcred, *oldcred;
764 oldcred = crcopysafe(p, newcred);
767 error = mac_cred_check_setegid(oldcred, egid);
772 if (egid != oldcred->cr_rgid && /* allow setegid(getgid()) */
773 egid != oldcred->cr_svgid && /* allow setegid(saved gid) */
774 (error = priv_check_cred(oldcred, PRIV_CRED_SETEGID)) != 0)
777 if (oldcred->cr_groups[0] != egid) {
783 crfree(oldcred);
829 struct ucred *newcred, *oldcred;
837 oldcred = crcopysafe(p, newcred);
840 error = mac_cred_check_setgroups(oldcred, ngrp, groups);
845 error = priv_check_cred(oldcred, PRIV_CRED_SETGROUPS);
863 crfree(oldcred);
883 struct ucred *newcred, *oldcred;
896 oldcred = crcopysafe(p, newcred);
899 error = mac_cred_check_setreuid(oldcred, ruid, euid);
904 if (((ruid != (uid_t)-1 && ruid != oldcred->cr_ruid &&
905 ruid != oldcred->cr_svuid) ||
906 (euid != (uid_t)-1 && euid != oldcred->cr_uid &&
907 euid != oldcred->cr_ruid && euid != oldcred->cr_svuid)) &&
908 (error = priv_check_cred(oldcred, PRIV_CRED_SETREUID)) != 0)
911 if (euid != (uid_t)-1 && oldcred->cr_uid != euid) {
915 if (ruid != (uid_t)-1 && oldcred->cr_ruid != ruid) {
926 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)
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)
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) {
1072 racct_proc_ucred_changed(p, oldcred, newcred);
1082 crfree(oldcred);
1110 struct ucred *newcred, *oldcred;
1122 oldcred = crcopysafe(p, newcred);
1125 error = mac_cred_check_setresgid(oldcred, rgid, egid, sgid);
1130 if (((rgid != (gid_t)-1 && rgid != oldcred->cr_rgid &&
1131 rgid != oldcred->cr_svgid &&
1132 rgid != oldcred->cr_groups[0]) ||
1133 (egid != (gid_t)-1 && egid != oldcred->cr_rgid &&
1134 egid != oldcred->cr_svgid &&
1135 egid != oldcred->cr_groups[0]) ||
1136 (sgid != (gid_t)-1 && sgid != oldcred->cr_rgid &&
1137 sgid != oldcred->cr_svgid &&
1138 sgid != oldcred->cr_groups[0])) &&
1139 (error = priv_check_cred(oldcred, PRIV_CRED_SETRESGID)) != 0)
1142 if (egid != (gid_t)-1 && oldcred->cr_groups[0] != egid) {
1146 if (rgid != (gid_t)-1 && oldcred->cr_rgid != rgid) {
1150 if (sgid != (gid_t)-1 && oldcred->cr_svgid != sgid) {
1156 crfree(oldcred);
2221 struct ucred *oldcred;
2226 oldcred = p->p_ucred;
2227 while (cr->cr_agroups < oldcred->cr_agroups) {
2228 groups = oldcred->cr_agroups;
2232 oldcred = p->p_ucred;
2234 crcopy(cr, oldcred);
2236 return (oldcred);