*BSD News Article 17798


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!paladin.american.edu!news.univie.ac.at!email.tuwien.ac.at!email.tuwien.ac.at!not-for-mail
From: mbirgmei@email.tuwien.ac.at (Martin BIRGMEIER)
Newsgroups: comp.os.386bsd.apps
Subject: Re: [NetBSD] X Screenlocker & Crypt
Date: 29 Jun 1993 17:46:15 +0200
Organization: Technical University Vienna / Austria
Lines: 123
Message-ID: <20po47$vi@email.tuwien.ac.at>
References: <1993Jun28.082922.2194@yvax.byu.edu> <20p1k8$t86@news.cs.tu-berlin.de>
NNTP-Posting-Host: email.tuwien.ac.at

In article <20p1k8$t86@news.cs.tu-berlin.de> nuggets@cs.tu-berlin.de (Lars Hentschke) writes:
>Brian K. Holman (bkh@nephi-hbll.byu.edu) wrote:
>: I have got xnlock and xlock from export.lcs.mit.edu.  They are suppose
[...]
>: compiled fine except that it won't accept my password.  Just for fun I
[...]
>Yes, my xlock doesn't work too.
[...]

Maybe this helps...

============================== cut here ==============================
*** xlock/xlock.c.ORIG	Sat Sep 28 03:04:53 1991
--- xlock/xlock.c	Fri Feb  5 14:21:43 1993
***************
*** 403,410 ****
      }
  }
  
  
- 
  static int
  getPassword()
  {
--- 403,410 ----
      }
  }
  
+ extern char *getlogin();
  
  static int
  getPassword()
  {
***************
*** 416,425 ****
      int         y, left, done;
      struct passwd *pw;
  
!     pw = getpwnam("root");
      strcpy(rootpass, pw->pw_passwd);
  
!     pw = getpwnam(cuserid(NULL));
      strcpy(userpass, pw->pw_passwd);
  
      user = pw->pw_name;
--- 416,428 ----
      int         y, left, done;
      struct passwd *pw;
  
!     pw = getpwuid(0);
      strcpy(rootpass, pw->pw_passwd);
  
!     if (getlogin() != NULL) /* getlogin() hashes, so we don't care ... */
! 	pw = getpwnam(getlogin()); /* ... about calling it twice */
!     else
! 	pw = getpwuid(getuid());
      strcpy(userpass, pw->pw_passwd);
  
      user = pw->pw_name;
*** xlock/worm.c.ORIG	Sat Sep 28 02:54:14 1991
--- xlock/worm.c	Fri Feb  5 14:21:42 1993
***************
*** 65,71 ****
  round(x)
      float       x;
  {
!     return ((int) rint((double) x));
  }
  
  
--- 65,71 ----
  round(x)
      float       x;
  {
!     return ((int) (double) x);
  }
  
  
*** xlock/usleep.c.ORIG	Fri May 24 18:58:26 1991
--- xlock/usleep.c	Fri Feb  5 14:21:42 1993
***************
*** 13,18 ****
--- 13,19 ----
  
  #include "xlock.h"
  
+ #ifdef NEED_USLEEP
  int
  usleep(usec)
      unsigned long usec;
***************
*** 27,32 ****
--- 28,34 ----
  #endif
      return 0;
  }
+ #endif
  
  /*
   * returns the number of seconds since 01-Jan-70.
*** xlock/resource.c.ORIG	Sat Sep 28 02:58:54 1991
--- xlock/resource.c	Fri Feb  5 15:31:42 1993
***************
*** 32,37 ****
--- 32,39 ----
  
  #include <X11/Xresource.h>
  
+ extern double atof();
+ 
  /*
   * Declare external interface routines for supported screen savers.
   */
============================== cut here ==============================

It's been a long time since I did this, maybe you can omit the rint()
and usleep() patches now, I don't know. And yes, you do need to run
it suid root, otherwise it won't be able to read the master password
file.

Cheers,

Martin