~kris/9p

9hist

07b5e30bb4167a593b9245a689568a027aff25a1 — David du Colombier 31 years ago 2785d1d
Plan 9 from Bell Labs 1994-10-27
3 files changed, 18 insertions(+), 1 deletions(-)

M port/auth.c
M port/portfns.h
M port/proc.c
M port/auth.c => port/auth.c +2 -1
@@ 34,7 34,7 @@ struct
	Crypt		*free;
} cryptalloc;

char	eve[NAMELEN] = "bootes";
char	eve[NAMELEN];
char	evekey[DESKEYLEN];
char	hostdomain[DOMLEN];



@@ 595,6 595,7 @@ hostownerwrite(char *a, int n)
	strncpy(buf, a, n);
	if(buf[0] == 0)
		error(Ebadarg);
	renameuser(eve, buf);
	memmove(eve, buf, NAMELEN);
	memmove(up->user, buf, NAMELEN);
	up->basepri = PriNormal;

M port/portfns.h => port/portfns.h +1 -0
@@ 211,6 211,7 @@ int		readnum(ulong, char*, ulong, ulong, int);
int		readstr(ulong, char*, ulong, char*);
void		ready(Proc*);
void		relocateseg(Segment*, ulong);
void		renameuser(char*, char*);
void		resched(char*);
void		resetscsi(void);
void		resrcwait(char*);

M port/proc.c => port/proc.c +15 -0
@@ 938,3 938,18 @@ killbig(void)
	kp->procctl = Proc_exitme;
	postnote(kp, 1, "killed: proc too big", NExit);
}

/*
 *  change ownership to 'new' of all processes owned by 'old'.  Used when
 *  eve changes.
 */
void
renameuser(char *old, char *new)
{
	Proc *p, *ep;

	ep = procalloc.arena+conf.nproc;
	for(p = procalloc.arena; p < ep; p++)
		if(strcmp(old, p->user) == 0)
			memmove(p->user, new, NAMELEN);
}