[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bugs-dist
Subject:    Bug#2582: kdm build on BSD/OS 4.x
From:       Daniel Kalchev <daniel () digsys ! bg>
Date:       2000-01-28 21:11:16
[Download RAW message or body]

Package: kdebase
Version: 2.0

Hello,

The kdebase/kdm program cannot be built under BSD/OS due to different
authentication library (login_cap).

Attached are patches to fix this. 

BTW, I have already submitted this and it was resolved... then
reintroduced??

Regards,
Daniel Kalchev

--- patch to kgreeter.cpp ---
*** kgreeter.cpp	Sat Jan 22 01:13:25 2000
--- /a/compile/kdebase/kdm/kgreeter.cpp	Mon Nov 29 14:44:41 1999
***************
*** 71,76 ****
--- 70,76 ----
  
  #ifdef HAVE_LOGIN_CAP_H
  #include <login_cap.h>
+ struct login_cap_t *lc;
  #endif
  
  #ifdef TEST_KDM
***************
*** 530,537 ****
--- 530,541 ----
  #endif
  
  #ifdef HAVE_LOGIN_CAP_H
+ #ifdef __bsdi__
+      lc = login_getclass(pwd->pw_class);
+ #else
       lc = login_getpwclass(pwd);
  #endif
+ #endif
  
       if (restrict_nologin() ||
  	 restrict_nohome() ||
***************
*** 554,563 ****
--- 558,569 ----
       // don't deny root to log in
       if (!pwd->pw_uid) return false;
  
+ #ifndef __bsdi__
       if(!auth_timeok(lc, time(NULL))) {
           KMessageBox::sorry(this, i18n("Logins not available right now."));
           return true;
       }
+ #endif
  
       return false;
  }
--- end of patch to kgreeter.cpp ---

--- patch to kgreeter.h ---
*** kgreeter.h	Fri Nov 19 10:12:06 1999
--- /a/compile/kdebase/kdm/kgreeter.h	Mon Nov 29 14:46:30 1999
***************
*** 105,113 ****
--- 105,115 ----
  
       struct passwd *pwd;
  
+ /*
  #ifdef HAVE_LOGIN_CAP_H
       struct login_cap *lc;
  #endif
+ */
  
  #if USESHADOW
       struct spwd *swd;
--- end of patch to kgreeter.h ---

--- patch to session.cpp ---
*** session.c	Mon Dec 13 01:14:19 1999
--- /a/compile/kdebase/kdm/session.c	Mon Nov 29 14:47:32 1999
***************
*** 731,737 ****
--- 730,740 ----
  	pwd = getpwnam(name);
  	if (pwd)
  	{
+ #ifdef __bsdi__
+             lc = login_getclass(pwd->pw_class);
+ #else
  	    lc = login_getpwclass(pwd);
+ #endif
  	    if (setusercontext(lc, pwd, pwd->pw_uid, LOGIN_SETALL) < 0)
  	    {
  		LogError("setusercontext for \"%s\" failed, errno=%d\n", name,
--- end of patch to session.cpp ---

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic