.
OBS-URL: https://build.opensuse.org/package/show/Base:System/sysvinit?expand=0&rev=123
This commit is contained in:
parent
83457e257d
commit
1a09f0dba6
@ -1,7 +1,5 @@
|
|||||||
Index: src/sulogin.c
|
--- src/sulogin.c
|
||||||
===================================================================
|
+++ src/sulogin.c 2011-05-19 10:47:11.783926103 +0000
|
||||||
--- src/sulogin.c (revision 98)
|
|
||||||
+++ src/sulogin.c (working copy)
|
|
||||||
@@ -28,8 +28,10 @@
|
@@ -28,8 +28,10 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@ -732,7 +730,7 @@ Index: src/sulogin.c
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* See if we have a timeout flag.
|
* See if we have a timeout flag.
|
||||||
@@ -510,115 +874,128 @@ int main(int argc, char **argv)
|
@@ -510,115 +874,138 @@ int main(int argc, char **argv)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (geteuid() != 0) {
|
if (geteuid() != 0) {
|
||||||
@ -761,7 +759,14 @@ Index: src/sulogin.c
|
|||||||
- fprintf(stderr, "%s: not a tty\n", tty);
|
- fprintf(stderr, "%s: not a tty\n", tty);
|
||||||
- close(fd);
|
- close(fd);
|
||||||
- } else {
|
- } else {
|
||||||
-
|
+ /*
|
||||||
|
+ * See if we need to open an other tty device.
|
||||||
|
+ */
|
||||||
|
+ if (optind < argc)
|
||||||
|
+ tty = argv[optind];
|
||||||
|
+ if (!tty || *tty == '\0')
|
||||||
|
+ tty = getenv("CONSOLE");
|
||||||
|
|
||||||
- /*
|
- /*
|
||||||
- * Only go through this trouble if the new
|
- * Only go through this trouble if the new
|
||||||
- * tty doesn't fall in this process group.
|
- * tty doesn't fall in this process group.
|
||||||
@ -777,7 +782,11 @@ Index: src/sulogin.c
|
|||||||
- setpgid(0, getpgid(getppid()));
|
- setpgid(0, getpgid(getppid()));
|
||||||
- setsid();
|
- setsid();
|
||||||
- }
|
- }
|
||||||
-
|
+ /*
|
||||||
|
+ * Detect possible consoles, use stdin as fallback.
|
||||||
|
+ */
|
||||||
|
+ detect_consoles(tty, 0);
|
||||||
|
|
||||||
- signal(SIGHUP, SIG_IGN);
|
- signal(SIGHUP, SIG_IGN);
|
||||||
- if (ttypgrp > 0)
|
- if (ttypgrp > 0)
|
||||||
- ioctl(0, TIOCNOTTY, (char *)1);
|
- ioctl(0, TIOCNOTTY, (char *)1);
|
||||||
@ -807,23 +816,20 @@ Index: src/sulogin.c
|
|||||||
- setsid();
|
- setsid();
|
||||||
- if (ioctl(0, TIOCSCTTY, (char *)1))
|
- if (ioctl(0, TIOCSCTTY, (char *)1))
|
||||||
- perror("ioctl(TIOCSCTTY)");
|
- perror("ioctl(TIOCSCTTY)");
|
||||||
- }
|
|
||||||
+ /*
|
+ /*
|
||||||
+ * See if we need to open an other tty device.
|
+ * Should not happen
|
||||||
+ */
|
+ */
|
||||||
+ if (optind < argc)
|
+ if (!consoles) {
|
||||||
+ tty = argv[optind];
|
+ if (!errno)
|
||||||
+ if (!tty || *tty == '\0')
|
+ errno = ENOMEM;
|
||||||
+ tty = getenv("CONSOLE");
|
+ fprintf(stderr, "sulogin: cannot open console: %m\n\r");
|
||||||
|
+ exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
-#if defined(SANE_TIO) && (SANE_TIO == 1)
|
-#if defined(SANE_TIO) && (SANE_TIO == 1)
|
||||||
- fixtty();
|
- fixtty();
|
||||||
-#endif
|
-#endif
|
||||||
+ /*
|
-
|
||||||
+ * Detect possible consoles, use stdin as fallback.
|
|
||||||
+ */
|
|
||||||
+ detect_consoles(tty, 0);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Get the root password.
|
* Get the root password.
|
||||||
*/
|
*/
|
||||||
@ -949,10 +955,8 @@ Index: src/sulogin.c
|
|||||||
- */
|
- */
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
Index: src/consoles.c
|
--- src/consoles.c
|
||||||
===================================================================
|
+++ src/consoles.c 2011-04-01 10:37:59.827926346 +0000
|
||||||
--- src/consoles.c (revision 100)
|
|
||||||
+++ src/consoles.c (working copy)
|
|
||||||
@@ -27,9 +27,21 @@
|
@@ -27,9 +27,21 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
@ -1396,10 +1400,8 @@ Index: src/consoles.c
|
|||||||
+ consoles->fd = fallback;
|
+ consoles->fd = fallback;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Index: src/consoles.h
|
--- src/consoles.h
|
||||||
===================================================================
|
+++ src/consoles.h 2011-04-01 09:25:53.402826920 +0000
|
||||||
--- src/consoles.h (revision 100)
|
|
||||||
+++ src/consoles.h (working copy)
|
|
||||||
@@ -21,13 +21,28 @@
|
@@ -21,13 +21,28 @@
|
||||||
* Author: Werner Fink <werner@suse.de>
|
* Author: Werner Fink <werner@suse.de>
|
||||||
*/
|
*/
|
||||||
@ -1433,10 +1435,8 @@ Index: src/consoles.h
|
|||||||
extern struct console *consoles;
|
extern struct console *consoles;
|
||||||
-extern void detect_consoles(void);
|
-extern void detect_consoles(void);
|
||||||
+extern void detect_consoles(const char *, int);
|
+extern void detect_consoles(const char *, int);
|
||||||
Index: src/Makefile
|
--- src/Makefile
|
||||||
===================================================================
|
+++ src/Makefile 2010-03-23 15:11:12.000000000 +0000
|
||||||
--- src/Makefile (revision 100)
|
|
||||||
+++ src/Makefile (working copy)
|
|
||||||
@@ -112,7 +112,7 @@ utmpdump: utmpdump.o
|
@@ -112,7 +112,7 @@ utmpdump: utmpdump.o
|
||||||
runlevel: runlevel.o
|
runlevel: runlevel.o
|
||||||
|
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
------------------------------------------------------------------
|
||||||
|
Thu May 19 12:53:51 CEST 2011 - werner@suse.de
|
||||||
|
|
||||||
|
- Add latest change for sulogin multiple console devices support
|
||||||
|
|
||||||
------------------------------------------------------------------
|
------------------------------------------------------------------
|
||||||
Wed Apr 20 13:14:43 CEST 2011 - werner@suse.de
|
Wed Apr 20 13:14:43 CEST 2011 - werner@suse.de
|
||||||
|
|
||||||
@ -34,7 +39,7 @@ Wed Apr 6 15:22:20 CEST 2011 - werner@suse.de
|
|||||||
------------------------------------------------------------------
|
------------------------------------------------------------------
|
||||||
Fri Apr 1 15:00:19 CEST 2011 - werner@suse.de
|
Fri Apr 1 15:00:19 CEST 2011 - werner@suse.de
|
||||||
|
|
||||||
- Let sulogin respect device on the comman line as well as the
|
- Let sulogin respect device on the command line as well as the
|
||||||
standard input
|
standard input
|
||||||
- Let sulogin initialize serial terminals
|
- Let sulogin initialize serial terminals
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user