Return to BSD News archive
Path: sserve!newshost.anu.edu.au!munnari.oz.au!constellation!osuunx.ucc.okstate.edu!moe.ksu.ksu.edu!ux1.cso.uiuc.edu!howland.reston.ans.net!noc.near.net!uunet!ogicse!psgrain!ee.und.ac.za!shrike.und.ac.za!casper.cs.uct.ac.za!gimli!root From: root@gimli.cs.uct.ac.za (Sandi Donno) Newsgroups: comp.os.386bsd.apps Subject: Re: [NetBSD] X Screenlocker & Crypt Message-ID: <sandi.741368217@gimli> Date: 29 Jun 93 15:36:43 GMT Article-I.D.: gimli.sandi.741368217 References: <1993Jun28.082922.2194@yvax.byu.edu> Sender: news@cs.uct.ac.za (news) Organization: Computer Science Department, University of Cape Town Lines: 56 In <1993Jun28.082922.2194@yvax.byu.edu> bkh@nephi-hbll.byu.edu (Brian K. Holman) writes: >I have got xnlock and xlock from export.lcs.mit.edu. They are suppose >to allow you to lock your X console until you enter your current password. >I have NetBSD 0.8 with the security binaries installed. Both programs >compiled fine except that it won't accept my password. Just for fun I >tried to enter my password in its crypted form as well and that didn't >work either. I'm sure it must be something with crypt. Has anyone had >a similar problem or have an idea how to solve it. I am using XFree 1.3. I hacked the source to make it work for normal users (not just root). diffs for xlock.c: 174,175d173 < int uid; < FILE *f; 422c420 < char user[30]; --- > char *user; 430c428 < pw = getpwuid(uid); /* use uid not cuserid(NULL) */ --- > pw = getpwnam(cuserid(NULL)); 433,434c431,432 < strcpy(user,pw->pw_name); /* user strcpy not = */ < --- > user = pw->pw_name; > 647,667d644 < int result; < char hostname[30]; < < uid = getuid(); /* save the real uid for later */ < if ((result = fork()) == 0) < { < int f; < < f = open("/dev/null",O_WRONLY); < dup2(f,1); < dup2(f,2); < close(f); < < hostname[0] = '+'; < gethostname(hostname+1,29); < < execl("/usr/X386/bin/xhost","xhost",hostname,NULL); < } < else if (result == -1) < exit(1); < wait((int *) 0); -- Sandi Donno sandi@cs.uct.ac.za