Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37424207
en ru br
ALT Linux repos
S:1.2-alt2
5.0: 1.0.3-alt1
4.1: 1.0.2-alt1
4.0: 1.0.2-alt1
3.0: 0.9.8.9-alt1

Group :: System/Base
RPM: tcb

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Patch: tcb-0.9.9-alt-tcb_convert-try_auth.patch
Download


diff -urk.orig tcb-0.9.9.orig/progs/tcb_convert.c tcb-0.9.9/progs/tcb_convert.c
--- tcb-0.9.9.orig/progs/tcb_convert.c	2003-10-29 16:16:11 +0000
+++ tcb-0.9.9/progs/tcb_convert.c	2005-08-24 10:55:41 +0000
@@ -31,11 +31,13 @@
 
 	f = fopen(DEFS_FILE, "r");
 	if (!f) {
+		if ( ENOENT == errno )
+			return 1;
 		perror("open: " DEFS_FILE);
 		return -1;
 	}
 
-	retval = 0;
+	retval = 1;
 	while (fgets(linebuf, sizeof(linebuf), f)) {
 		if (!strchr(linebuf, '\n')) {
 			fprintf(stderr, "Line too long in " DEFS_FILE "\n");
@@ -62,7 +64,7 @@
 		while (q >= p && (*q == ' ' || *q == '\t'))
 			*q-- = '\0';
 		if (!strcmp(p, "yes"))
-			retval = 1;
+			retval = 2;
 		else if (!strcmp(p, "no"))
 			retval = 0;
 		else {
@@ -186,7 +188,7 @@
 	shadowgid = gr->gr_gid;
 
 	switch (tcb_auth_is_set()) {
-	case 1:
+	case 2:
 		gr = getgrnam("auth");
 		if (!gr) {
 			fprintf(stderr, DEFS_TCB_AUTH_GROUP " is set but "
@@ -198,6 +200,16 @@
 		spwmode = 0640;
 		break;
 
+	case 1:
+		gr = getgrnam("auth");
+		if (gr) {
+			authgid = gr->gr_gid;
+			dirmode = 02710;
+			spwmode = 0640;
+			break;
+		}
+		__attribute__((__fallthrough__));
+
 	case 0:
 		authgid = shadowgid;
 		dirmode = 02700;
 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin