Compare commits
No commits in common. 'c9' and 'c8' have entirely different histories.
@ -1,11 +1,15 @@
|
|||||||
|
SOURCES/iceauth-1.0.8.tar.bz2
|
||||||
SOURCES/rgb-1.0.6.tar.bz2
|
SOURCES/rgb-1.0.6.tar.bz2
|
||||||
|
SOURCES/sessreg-1.1.0.tar.bz2
|
||||||
SOURCES/xgamma-1.0.6.tar.bz2
|
SOURCES/xgamma-1.0.6.tar.bz2
|
||||||
SOURCES/xhost-1.0.7.tar.bz2
|
SOURCES/xhost-1.0.7.tar.bz2
|
||||||
SOURCES/xinput-1.6.3.tar.bz2
|
SOURCES/xinput-1.6.2.tar.bz2
|
||||||
SOURCES/xisxwayland-1.tar.xz
|
|
||||||
SOURCES/xkill-1.0.5.tar.bz2
|
SOURCES/xkill-1.0.5.tar.bz2
|
||||||
SOURCES/xmodmap-1.0.9.tar.bz2
|
SOURCES/xmodmap-1.0.9.tar.bz2
|
||||||
SOURCES/xrandr-1.5.0.tar.bz2
|
SOURCES/xrandr-1.5.0.tar.bz2
|
||||||
SOURCES/xrdb-1.1.1.tar.bz2
|
SOURCES/xrdb-1.1.1.tar.bz2
|
||||||
|
SOURCES/xrefresh-1.0.6.tar.bz2
|
||||||
SOURCES/xset-1.2.4.tar.bz2
|
SOURCES/xset-1.2.4.tar.bz2
|
||||||
|
SOURCES/xsetpointer-1.0.1.tar.bz2
|
||||||
SOURCES/xsetroot-1.1.2.tar.bz2
|
SOURCES/xsetroot-1.1.2.tar.bz2
|
||||||
|
SOURCES/xstdcmap-1.0.3.tar.bz2
|
||||||
|
@ -1,11 +1,15 @@
|
|||||||
|
2ce23c40a17d98badeb8ce70d26e81a5ac0e178c SOURCES/iceauth-1.0.8.tar.bz2
|
||||||
542fade81a74f8a6beaea8cb517bdf1033fc6b71 SOURCES/rgb-1.0.6.tar.bz2
|
542fade81a74f8a6beaea8cb517bdf1033fc6b71 SOURCES/rgb-1.0.6.tar.bz2
|
||||||
|
a27a476f7f39ae30a16dfa25ca07c12378cff7f0 SOURCES/sessreg-1.1.0.tar.bz2
|
||||||
af1484d0d70bc71dc9d3b7b95645881b7165c41b SOURCES/xgamma-1.0.6.tar.bz2
|
af1484d0d70bc71dc9d3b7b95645881b7165c41b SOURCES/xgamma-1.0.6.tar.bz2
|
||||||
8abfb0554e14a074f0dbfdda4919880e088545cb SOURCES/xhost-1.0.7.tar.bz2
|
8abfb0554e14a074f0dbfdda4919880e088545cb SOURCES/xhost-1.0.7.tar.bz2
|
||||||
92ea7dfb3d8465921b0dca85da7d5b01cedae6c8 SOURCES/xinput-1.6.3.tar.bz2
|
68367ae6cb4753eeb5fd209afe033d7c4a817748 SOURCES/xinput-1.6.2.tar.bz2
|
||||||
bc8e1cfc92f6d7de1f30f44a7105e811486893eb SOURCES/xisxwayland-1.tar.xz
|
|
||||||
c5ee06b33adb252a41e4f737be6bd47651ff582a SOURCES/xkill-1.0.5.tar.bz2
|
c5ee06b33adb252a41e4f737be6bd47651ff582a SOURCES/xkill-1.0.5.tar.bz2
|
||||||
fe735c8bbba68d7eb50f82d4e092fdcadf161314 SOURCES/xmodmap-1.0.9.tar.bz2
|
fe735c8bbba68d7eb50f82d4e092fdcadf161314 SOURCES/xmodmap-1.0.9.tar.bz2
|
||||||
f402b2ed85817c2e111afafd6f5d0657328be2fa SOURCES/xrandr-1.5.0.tar.bz2
|
f402b2ed85817c2e111afafd6f5d0657328be2fa SOURCES/xrandr-1.5.0.tar.bz2
|
||||||
0d6b1cae357574d565d6e6bc10f6ccf073e1b9dd SOURCES/xrdb-1.1.1.tar.bz2
|
0d6b1cae357574d565d6e6bc10f6ccf073e1b9dd SOURCES/xrdb-1.1.1.tar.bz2
|
||||||
|
11eb5b3f905631281d2cedd86a0b666bab0d9bdc SOURCES/xrefresh-1.0.6.tar.bz2
|
||||||
41a857f30ff5bb0dfbda1549bb703984344ea228 SOURCES/xset-1.2.4.tar.bz2
|
41a857f30ff5bb0dfbda1549bb703984344ea228 SOURCES/xset-1.2.4.tar.bz2
|
||||||
|
a8b01c6f27625a6f6943f9be17b1e5511f69d710 SOURCES/xsetpointer-1.0.1.tar.bz2
|
||||||
42ab81761823b44974feab86477007c49dbace50 SOURCES/xsetroot-1.1.2.tar.bz2
|
42ab81761823b44974feab86477007c49dbace50 SOURCES/xsetroot-1.1.2.tar.bz2
|
||||||
|
b7fcc50ae6100d2ba91d6847969fd9d2b6784a90 SOURCES/xstdcmap-1.0.3.tar.bz2
|
||||||
|
@ -0,0 +1,104 @@
|
|||||||
|
From eb22398e59ae2d17bfc444400cb688c82448cb92 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Hutterer <peter.hutterer@who-t.net>
|
||||||
|
Date: Wed, 12 Sep 2018 14:46:05 +1000
|
||||||
|
Subject: [PATCH app/sessreg] Replace strncpy calls with a sane version that
|
||||||
|
always terminates
|
||||||
|
|
||||||
|
Fixes coverity complaints about potentially unterminated strings
|
||||||
|
---
|
||||||
|
sessreg.c | 26 +++++++++++++++++---------
|
||||||
|
1 file changed, 17 insertions(+), 9 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/sessreg.c b/sessreg.c
|
||||||
|
index 0a8fdb2..53b30b0 100644
|
||||||
|
--- a/sessreg.c
|
||||||
|
+++ b/sessreg.c
|
||||||
|
@@ -192,6 +192,14 @@ sysnerr (int x, const char *s)
|
||||||
|
return x;
|
||||||
|
}
|
||||||
|
|
||||||
|
+static void
|
||||||
|
+safe_strncpy(char *dest, const char *src, size_t n)
|
||||||
|
+{
|
||||||
|
+ (void)strncpy(dest, src, n);
|
||||||
|
+ if (n > 0)
|
||||||
|
+ dest[n - 1] = '\0';
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
int
|
||||||
|
main (int argc, char **argv)
|
||||||
|
{
|
||||||
|
@@ -406,9 +414,9 @@ main (int argc, char **argv)
|
||||||
|
memset(&ll, 0, sizeof(ll));
|
||||||
|
ll.ll_time = current_time;
|
||||||
|
if (line)
|
||||||
|
- (void) strncpy (ll.ll_line, line, sizeof (ll.ll_line));
|
||||||
|
+ safe_strncpy (ll.ll_line, line, sizeof (ll.ll_line));
|
||||||
|
if (host_name)
|
||||||
|
- (void) strncpy (ll.ll_host, host_name, sizeof (ll.ll_host));
|
||||||
|
+ safe_strncpy (ll.ll_host, host_name, sizeof (ll.ll_host));
|
||||||
|
|
||||||
|
sysnerr (write (llog, (char *) &ll, sizeof (ll))
|
||||||
|
== sizeof (ll), "write lastlog entry");
|
||||||
|
@@ -429,11 +437,11 @@ set_utmp (struct utmp *u, char *line, char *user, char *host, time_t date, int a
|
||||||
|
{
|
||||||
|
memset (u, 0, sizeof (*u));
|
||||||
|
if (line)
|
||||||
|
- (void) strncpy (u->ut_line, line, sizeof (u->ut_line));
|
||||||
|
+ safe_strncpy (u->ut_line, line, sizeof (u->ut_line));
|
||||||
|
else
|
||||||
|
memset (u->ut_line, 0, sizeof (u->ut_line));
|
||||||
|
if (addp && user)
|
||||||
|
- (void) strncpy (u->ut_name, user, sizeof (u->ut_name));
|
||||||
|
+ safe_strncpy (u->ut_name, user, sizeof (u->ut_name));
|
||||||
|
else
|
||||||
|
memset (u->ut_name, 0, sizeof (u->ut_name));
|
||||||
|
#ifdef HAVE_STRUCT_UTMP_UT_ID
|
||||||
|
@@ -451,7 +459,7 @@ set_utmp (struct utmp *u, char *line, char *user, char *host, time_t date, int a
|
||||||
|
i -= sizeof (u->ut_id);
|
||||||
|
else
|
||||||
|
i = 0;
|
||||||
|
- (void) strncpy (u->ut_id, line + i, sizeof (u->ut_id));
|
||||||
|
+ safe_strncpy (u->ut_id, line + i, sizeof (u->ut_id));
|
||||||
|
} else
|
||||||
|
memset (u->ut_id, 0, sizeof (u->ut_id));
|
||||||
|
#endif
|
||||||
|
@@ -469,7 +477,7 @@ set_utmp (struct utmp *u, char *line, char *user, char *host, time_t date, int a
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_STRUCT_UTMP_UT_HOST
|
||||||
|
if (addp && host)
|
||||||
|
- (void) strncpy (u->ut_host, host, sizeof (u->ut_host));
|
||||||
|
+ safe_strncpy (u->ut_host, host, sizeof (u->ut_host));
|
||||||
|
else
|
||||||
|
memset (u->ut_host, 0, sizeof (u->ut_host));
|
||||||
|
#endif
|
||||||
|
@@ -513,7 +521,7 @@ set_utmpx (struct utmpx *u, const char *line, const char *user,
|
||||||
|
if(strcmp(line, ":0") == 0)
|
||||||
|
(void) strcpy(u->ut_line, "console");
|
||||||
|
else
|
||||||
|
- (void) strncpy (u->ut_line, line, sizeof (u->ut_line));
|
||||||
|
+ safe_strncpy (u->ut_line, line, sizeof (u->ut_line));
|
||||||
|
|
||||||
|
strncpy(u->ut_host, line, sizeof(u->ut_host));
|
||||||
|
#ifdef HAVE_STRUCT_UTMPX_UT_SYSLEN
|
||||||
|
@@ -523,7 +531,7 @@ set_utmpx (struct utmpx *u, const char *line, const char *user,
|
||||||
|
else
|
||||||
|
memset (u->ut_line, 0, sizeof (u->ut_line));
|
||||||
|
if (addp && user)
|
||||||
|
- (void) strncpy (u->ut_user, user, sizeof (u->ut_user));
|
||||||
|
+ safe_strncpy (u->ut_user, user, sizeof (u->ut_user));
|
||||||
|
else
|
||||||
|
memset (u->ut_user, 0, sizeof (u->ut_user));
|
||||||
|
|
||||||
|
@@ -541,7 +549,7 @@ set_utmpx (struct utmpx *u, const char *line, const char *user,
|
||||||
|
i -= sizeof (u->ut_id);
|
||||||
|
else
|
||||||
|
i = 0;
|
||||||
|
- (void) strncpy (u->ut_id, line + i, sizeof (u->ut_id));
|
||||||
|
+ safe_strncpy (u->ut_id, line + i, sizeof (u->ut_id));
|
||||||
|
|
||||||
|
/* make sure there is no entry using identical ut_id */
|
||||||
|
if (!UtmpxIdOpen(u->ut_id) && addp) {
|
||||||
|
--
|
||||||
|
2.17.1
|
||||||
|
|
@ -0,0 +1,116 @@
|
|||||||
|
From 3ea8f02027b18cf06774c8f26a719e321e9a78f2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Hutterer <peter.hutterer@who-t.net>
|
||||||
|
Date: Wed, 12 Sep 2018 14:49:21 +1000
|
||||||
|
Subject: [PATCH xinput] property: plug a memory leak
|
||||||
|
|
||||||
|
Not that it matters since we'll exit after this call anyway, but coverity is
|
||||||
|
unhappy and that makes us all unhappy, doesn't it?
|
||||||
|
|
||||||
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||||
|
---
|
||||||
|
src/property.c | 27 +++++++++++++++------------
|
||||||
|
1 file changed, 15 insertions(+), 12 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/property.c b/src/property.c
|
||||||
|
index e4a46f8..071f80f 100644
|
||||||
|
--- a/src/property.c
|
||||||
|
+++ b/src/property.c
|
||||||
|
@@ -610,19 +610,20 @@ do_set_prop_xi2(Display *dpy, Atom type, int format, int argc, char **argv, char
|
||||||
|
unsigned char *c;
|
||||||
|
int16_t *s;
|
||||||
|
int32_t *l;
|
||||||
|
- } data;
|
||||||
|
+ } data = { NULL };
|
||||||
|
+ int rc = EXIT_FAILURE;
|
||||||
|
|
||||||
|
if (argc < 3)
|
||||||
|
{
|
||||||
|
fprintf(stderr, "Usage: xinput %s %s\n", n, desc);
|
||||||
|
- return EXIT_FAILURE;
|
||||||
|
+ goto out;
|
||||||
|
}
|
||||||
|
|
||||||
|
info = xi2_find_device_info(dpy, argv[0]);
|
||||||
|
if (!info)
|
||||||
|
{
|
||||||
|
fprintf(stderr, "unable to find device %s\n", argv[0]);
|
||||||
|
- return EXIT_FAILURE;
|
||||||
|
+ goto out;
|
||||||
|
}
|
||||||
|
|
||||||
|
name = argv[1];
|
||||||
|
@@ -631,7 +632,7 @@ do_set_prop_xi2(Display *dpy, Atom type, int format, int argc, char **argv, char
|
||||||
|
|
||||||
|
if (prop == None) {
|
||||||
|
fprintf(stderr, "invalid property '%s'\n", name);
|
||||||
|
- return EXIT_FAILURE;
|
||||||
|
+ goto out;
|
||||||
|
}
|
||||||
|
|
||||||
|
float_atom = XInternAtom(dpy, "FLOAT", False);
|
||||||
|
@@ -643,7 +644,7 @@ do_set_prop_xi2(Display *dpy, Atom type, int format, int argc, char **argv, char
|
||||||
|
&bytes_after, &data.c) != Success) {
|
||||||
|
fprintf(stderr, "failed to get property type and format for '%s'\n",
|
||||||
|
name);
|
||||||
|
- return EXIT_FAILURE;
|
||||||
|
+ goto out;
|
||||||
|
} else {
|
||||||
|
if (type == None)
|
||||||
|
type = old_type;
|
||||||
|
@@ -657,7 +658,7 @@ do_set_prop_xi2(Display *dpy, Atom type, int format, int argc, char **argv, char
|
||||||
|
if (type == None) {
|
||||||
|
fprintf(stderr, "property '%s' doesn't exist, you need to specify "
|
||||||
|
"its type and format\n", name);
|
||||||
|
- return EXIT_FAILURE;
|
||||||
|
+ goto out;
|
||||||
|
}
|
||||||
|
|
||||||
|
data.c = calloc(nelements, sizeof(int32_t));
|
||||||
|
@@ -678,36 +679,38 @@ do_set_prop_xi2(Display *dpy, Atom type, int format, int argc, char **argv, char
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
fprintf(stderr, "unexpected size for property %s", name);
|
||||||
|
- return EXIT_FAILURE;
|
||||||
|
+ goto out;
|
||||||
|
}
|
||||||
|
} else if (type == float_atom) {
|
||||||
|
if (format != 32) {
|
||||||
|
fprintf(stderr, "unexpected format %d for property '%s'\n",
|
||||||
|
format, name);
|
||||||
|
- return EXIT_FAILURE;
|
||||||
|
+ goto out;
|
||||||
|
}
|
||||||
|
*(float *)(data.l + i) = strtod(argv[2 + i], &endptr);
|
||||||
|
if (endptr == argv[2 + i]) {
|
||||||
|
fprintf(stderr, "argument %s could not be parsed\n", argv[2 + i]);
|
||||||
|
- return EXIT_FAILURE;
|
||||||
|
+ goto out;
|
||||||
|
}
|
||||||
|
} else if (type == XA_ATOM) {
|
||||||
|
if (format != 32) {
|
||||||
|
fprintf(stderr, "unexpected format %d for property '%s'\n",
|
||||||
|
format, name);
|
||||||
|
- return EXIT_FAILURE;
|
||||||
|
+ goto out;
|
||||||
|
}
|
||||||
|
data.l[i] = parse_atom(dpy, argv[2 + i]);
|
||||||
|
} else {
|
||||||
|
fprintf(stderr, "unexpected type for property '%s'\n", name);
|
||||||
|
- return EXIT_FAILURE;
|
||||||
|
+ goto out;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
XIChangeProperty(dpy, info->deviceid, prop, type, format, PropModeReplace,
|
||||||
|
data.c, nelements);
|
||||||
|
+ rc = EXIT_SUCCESS;
|
||||||
|
+out:
|
||||||
|
free(data.c);
|
||||||
|
- return EXIT_SUCCESS;
|
||||||
|
+ return rc;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
--
|
||||||
|
2.17.1
|
||||||
|
|
@ -0,0 +1,168 @@
|
|||||||
|
diff -Naur sessreg-1.1.0.old/man/filenames.sed.c sessreg-1.1.0/man/filenames.sed.c
|
||||||
|
--- sessreg-1.1.0.old/man/filenames.sed.c 2015-04-30 13:58:47.780569645 +0200
|
||||||
|
+++ sessreg-1.1.0/man/filenames.sed.c 1970-01-01 01:00:00.000000000 +0100
|
||||||
|
@@ -1,36 +0,0 @@
|
||||||
|
-#include "sessreg.h"
|
||||||
|
-
|
||||||
|
-#ifdef UTMPX_FILE
|
||||||
|
-# define UTF UTMPX_FILE
|
||||||
|
-# define UTM utmpx
|
||||||
|
-/* delete utmp-only content */
|
||||||
|
-/__BEGIN_UTMP_ONLY__/,/__END_UTMP_ONLY__/ d
|
||||||
|
-#else
|
||||||
|
-# define UTF UTMP_FILE
|
||||||
|
-# define UTM utmp
|
||||||
|
-/* delete utmpx-only content */
|
||||||
|
-/__BEGIN_UTMPX_ONLY__/,/__END_UTMPX_ONLY__/ d
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
-#ifdef WTMPX_FILE
|
||||||
|
-# define WTF WTMPX_FILE
|
||||||
|
-# define WTM wtmpx
|
||||||
|
-#else
|
||||||
|
-# define WTF WTMP_FILE
|
||||||
|
-# define WTM wtmp
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
-#ifndef TTYS_FILE
|
||||||
|
-# define TTYS_FILE "/etc/ttys"
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
-#ifndef LLOG_FILE
|
||||||
|
-# define LLOG_FILE "/var/log/lastlog"
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
-s|__utmp_manpage__|UTM|g
|
||||||
|
-s|__utmp_file__|UTF|g
|
||||||
|
-s|__wtmp_manpage__|WTM|g
|
||||||
|
-s|__wtmp_file__|WTF|g
|
||||||
|
-s|__ttys_file__|TTYS_FILE|g
|
||||||
|
-s|__lastlog_file__|LLOG_FILE|g
|
||||||
|
diff -Naur sessreg-1.1.0.old/man/Makefile.am sessreg-1.1.0/man/Makefile.am
|
||||||
|
--- sessreg-1.1.0.old/man/Makefile.am 2015-04-30 13:58:47.780569645 +0200
|
||||||
|
+++ sessreg-1.1.0/man/Makefile.am 2015-04-30 14:10:41.420249238 +0200
|
||||||
|
@@ -3,20 +3,11 @@
|
||||||
|
appman_PRE = sessreg.man
|
||||||
|
appman_DATA = $(appman_PRE:man=$(APP_MAN_SUFFIX))
|
||||||
|
|
||||||
|
-EXTRA_DIST = $(appman_PRE) filenames.sed.c
|
||||||
|
-CLEANFILES = $(appman_DATA) filenames.sed
|
||||||
|
+EXTRA_DIST = $(appman_PRE)
|
||||||
|
+CLEANFILES = $(appman_DATA)
|
||||||
|
SUFFIXES = .$(APP_MAN_SUFFIX) .man
|
||||||
|
|
||||||
|
AM_CPPFLAGS = -I$(top_builddir) -I$(top_srcdir)
|
||||||
|
-filenames.sed: filenames.sed.c
|
||||||
|
- $(AM_V_GEN)$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||||
|
- $(AM_CPPFLAGS) $(CPPFLAGS) $(srcdir)/filenames.sed.c | \
|
||||||
|
- $(SED) -n -e '/s|__/ p' -e '/^\/__/ p' > $@
|
||||||
|
-
|
||||||
|
-# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
|
||||||
|
-MAN_SUBSTS += -f filenames.sed
|
||||||
|
-
|
||||||
|
-sessreg.$(APP_MAN_SUFFIX): filenames.sed
|
||||||
|
|
||||||
|
.man.$(APP_MAN_SUFFIX):
|
||||||
|
$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
|
||||||
|
diff -Naur sessreg-1.1.0.old/man/sessreg.man sessreg-1.1.0/man/sessreg.man
|
||||||
|
--- sessreg-1.1.0.old/man/sessreg.man 2015-04-30 13:58:47.780569645 +0200
|
||||||
|
+++ sessreg-1.1.0/man/sessreg.man 2015-04-30 14:11:47.134127555 +0200
|
||||||
|
@@ -24,11 +24,11 @@
|
||||||
|
.\"
|
||||||
|
.TH SESSREG __appmansuffix__ __xorgversion__
|
||||||
|
.SH NAME
|
||||||
|
-sessreg \- manage __utmp_manpage__/__wtmp_manpage__ entries for non-init clients
|
||||||
|
+sessreg \- manage utmp (__filemansuffix__)/wtmp (__filemansuffix__) entries for non-init clients
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.B sessreg
|
||||||
|
-[-w \fI__wtmp_manpage__-file\fP]
|
||||||
|
-[-u \fI__utmp_manpage__-file\fP]
|
||||||
|
+[-w \fIwtmp (__filemansuffix__)-file\fP]
|
||||||
|
+[-u \fIutmp (__filemansuffix__)-file\fP]
|
||||||
|
[-L \fIlastlog-file\fP]
|
||||||
|
[-l \fIline-name\fP]
|
||||||
|
[-h \fIhost-name\fP]
|
||||||
|
@@ -41,25 +41,25 @@
|
||||||
|
\fIuser-name\fP
|
||||||
|
.SH DESCRIPTION
|
||||||
|
.PP
|
||||||
|
-\fISessreg\fP is a simple program for managing __utmp_manpage__/__wtmp_manpage__ and lastlog
|
||||||
|
+\fISessreg\fP is a simple program for managing utmp (__filemansuffix__)/wtmp (__filemansuffix__) and lastlog
|
||||||
|
entries for xdm sessions.
|
||||||
|
.\" __BEGIN_UTMP_ONLY__
|
||||||
|
.PP
|
||||||
|
System V has a better interface to utmp than BSD; it
|
||||||
|
dynamically allocates entries in the file, instead of writing them at fixed
|
||||||
|
positions indexed by position in
|
||||||
|
-.BR __ttys_file__ .
|
||||||
|
+.BR /etc/ttys .
|
||||||
|
.PP
|
||||||
|
To manage BSD-style utmp files, \fIsessreg\fP has two strategies. In
|
||||||
|
conjunction with xdm, the -x option counts the number of lines in
|
||||||
|
-.B __ttys_file__
|
||||||
|
+.B /etc/ttys
|
||||||
|
and then adds to that the number of the line in the Xservers file which
|
||||||
|
specifies the display. The display name must be specified as the
|
||||||
|
"line-name" using the -l option. This sum is used as the "slot-number" in
|
||||||
|
the utmp file that this entry will be written at. In the more general case,
|
||||||
|
the -s option specifies the slot-number directly. If for some strange reason
|
||||||
|
your system uses a file other than
|
||||||
|
-.B __ttys_file__
|
||||||
|
+.B /etc/ttys
|
||||||
|
to manage init, the -t option can direct
|
||||||
|
\fIsessreg\fP to look elsewhere for a count of terminal sessions.
|
||||||
|
.PP
|
||||||
|
@@ -95,17 +95,17 @@
|
||||||
|
sessreg -d -l $DISPLAY -x /etc/X11/xdm/Xservers $USER
|
||||||
|
.fi
|
||||||
|
.SH OPTIONS
|
||||||
|
-.IP "\fB-w\fP \fI__wtmp_manpage__-file\fP"
|
||||||
|
-This specifies an alternate __wtmp_manpage__ file, instead of
|
||||||
|
-.BR __wtmp_file__ .
|
||||||
|
-The special name "none" disables writing records to the __wtmp_manpage__ file.
|
||||||
|
-.IP "\fB-u\fP \fI__utmp_manpage__-file\fP"
|
||||||
|
-This specifies an alternate __utmp_manpage__ file, instead of
|
||||||
|
-.BR __utmp_file__ .
|
||||||
|
-The special name "none" disables writing records to the __utmp_manpage__ file.
|
||||||
|
+.IP "\fB-w\fP \fIwtmp (__filemansuffix__)-file\fP"
|
||||||
|
+This specifies an alternate wtmp (__filemansuffix__) file, instead of
|
||||||
|
+.BR /var/log/wtmp .
|
||||||
|
+The special name "none" disables writing records to the wtmp (__filemansuffix__) file.
|
||||||
|
+.IP "\fB-u\fP \fIutmp (__filemansuffix__)-file\fP"
|
||||||
|
+This specifies an alternate utmp (__filemansuffix__) file, instead of
|
||||||
|
+.BR /var/run/utmp .
|
||||||
|
+The special name "none" disables writing records to the utmp (__filemansuffix__) file.
|
||||||
|
.IP "\fB-L\fP \fIlastlog-file\fP"
|
||||||
|
This specifies an alternate lastlog file, instead of
|
||||||
|
-.BR __lastlog_file__ ,
|
||||||
|
+.BR /var/log/lastlog ,
|
||||||
|
if the platform supports lastlog files.
|
||||||
|
The special name "none" disables writing records to the lastlog file.
|
||||||
|
.IP "\fB-l\fP \fIline-name\fP"
|
||||||
|
@@ -122,7 +122,7 @@
|
||||||
|
.\" __BEGIN_UTMP_ONLY__
|
||||||
|
Each potential session has a unique slot number in BSD systems, most are
|
||||||
|
identified by the position of the \fIline-name\fP in the
|
||||||
|
-.BR __ttys_file__ file.
|
||||||
|
+.BR /etc/ttys file.
|
||||||
|
This option overrides the default position determined with ttyslot(__libmansuffix__).
|
||||||
|
This option is inappropriate for use with xdm, the -x option is more useful.
|
||||||
|
.\" __END_UTMP_ONLY__
|
||||||
|
@@ -153,13 +153,13 @@
|
||||||
|
.IP "\fB-V\fP"
|
||||||
|
This option causes the command to print its version and exit.
|
||||||
|
.IP "\fB-a\fP"
|
||||||
|
-This session should be added to __utmp_manpage__/__wtmp_manpage__.
|
||||||
|
+This session should be added to utmp/wtmp.
|
||||||
|
.IP "\fB-d\fP"
|
||||||
|
-This session should be deleted from __utmp_manpage__/__wtmp_manpage__. One of -a/-d must
|
||||||
|
+This session should be deleted from utmp/wtmp. One of -a/-d must
|
||||||
|
be specified.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR xdm (__appmansuffix__),
|
||||||
|
-.BR __utmp_manpage__ (__filemansuffix__),
|
||||||
|
-.BR __wtmp_manpage__ (__filemansuffix__)
|
||||||
|
+.BR utmp (__filemansuffix__),
|
||||||
|
+.BR wtmp (__filemansuffix__)
|
||||||
|
.SH AUTHOR
|
||||||
|
Keith Packard, MIT X Consortium
|
Loading…
Reference in new issue