openbsd-ports/x11/kde/base3/patches/patch-kdm_backend_auth_c
espie af7e1f85d0 basic import of kde 3.1.95, still missing a few parts.
TODO:
- compile the missing packages.
- redo konsole fixes for our ttys.
- figure out why kuickshow is broken.
- make sure we get all dependencies.
- repair kscd.
- find out why nsplugins does not like the native jdk.
- figure out how to get kvim to work.
- change filenames or adjust check-lib-depends to cope.
2004-02-01 14:59:21 +00:00

40 lines
931 B
Plaintext

$OpenBSD: patch-kdm_backend_auth_c,v 1.2 2004/02/01 14:59:22 espie Exp $
--- kdm/backend/auth.c.orig 2003-10-28 13:39:37.000000000 +0100
+++ kdm/backend/auth.c 2004-01-21 01:24:30.000000000 +0100
@@ -46,6 +46,9 @@ from The Open Group.
#include <sys/stat.h>
#include <fcntl.h>
#include <stdlib.h>
+#ifdef __OpenBSD__
+#include <pwd.h>
+#endif
#include <sys/ioctl.h>
@@ -333,6 +336,25 @@ SaveServerAuthorizations (
return FALSE;
}
}
+#ifdef __OpenBSD__
+ {
+ struct passwd *x11;
+ uid_t uid;
+ gid_t gid;
+ /* Give read capability to group _x11 */
+ x11 = getpwnam("_x11");
+ if (x11 == NULL) {
+ LogError("Can't find _x11 user\n");
+ uid = getuid();
+ gid = getgid();
+ } else {
+ uid = x11->pw_uid;
+ gid = x11->pw_gid;
+ }
+
+ fchown(fileno(auth_file), uid, gid);
+ }
+#endif
Debug ("file: %s auth: %p\n", d->authFile, auths);
ret = TRUE;
for (i = 0; i < count; i++)