Compare commits
11 commits
1.5
...
for-divege
Author | SHA1 | Date | |
---|---|---|---|
![]() |
812394b9df | ||
![]() |
ef953698c5 | ||
![]() |
6ff7b56a42 | ||
![]() |
cde92985ae | ||
![]() |
af2d3b48c6 | ||
![]() |
4f37273c60 | ||
![]() |
957c5aefad | ||
![]() |
ff3a5d11a1 | ||
![]() |
73dd70fdf8 | ||
![]() |
119d66d4c1 | ||
![]() |
f8a3bc0509 |
14 changed files with 1253 additions and 742 deletions
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
timeoutd
|
||||||
|
*.o
|
27
Makefile
27
Makefile
|
@ -1,22 +1,11 @@
|
||||||
CFLAGS = -g -Wall
|
CFLAGS=-fomit-frame-pointer -O2 -s -g -Wall -Wno-unused-result
|
||||||
|
timeoutd: timeoutd.c Makefile
|
||||||
timeoutd: timeoutd.c
|
#$(CC) $(CFLAGS) -o timeoutd timeoutd.c
|
||||||
$(CC) $(CFLAGS) -o timeoutd.o -c timeoutd.c -DTIMEOUTDX11
|
$(CC) $(CFLAGS) -o timeoutd.o -c timeoutd.c -DTIMEOUTDX11
|
||||||
$(CC) $(CFLAGS) -o timeoutd timeoutd.o -lX11 -lXss
|
$(CC) $(CFLAGS) -o timeoutd -L/usr/X11R6/lib timeoutd.o -lXss -lXext -lX11
|
||||||
|
|
||||||
clean:
|
|
||||||
-rm -f timeoutd timeoutd.o
|
|
||||||
|
|
||||||
install: timeoutd /etc/timeouts
|
install:
|
||||||
install timeoutd /usr/sbin/timeoutd
|
install -o root -g system -m 2111 timeoutd /usr/etc/timeoutd
|
||||||
install timeoutd.8 /usr/share/man/man8
|
install -o man -g info -m 444 timeoutd.8 /usr/man/man8
|
||||||
install timeouts.5 /usr/share/man/man5
|
install -o man -g info -m 444 timeouts.5 /usr/man/man5
|
||||||
|
|
||||||
uninstall:
|
|
||||||
rm /usr/sbin/timeoutd
|
|
||||||
rm /usr/share/man/man8/timeoutd.8
|
|
||||||
rm /usr/share/man/man5/timeouts.5
|
|
||||||
rm /etc/timeouts
|
|
||||||
|
|
||||||
/etc/timeouts:
|
|
||||||
install timeouts /etc
|
|
||||||
|
|
8
README
8
README
|
@ -14,18 +14,18 @@ your preferred compilation options, then simply:
|
||||||
|
|
||||||
make
|
make
|
||||||
|
|
||||||
The next step is to install a timeouts file in /etc specifying
|
The next step is to install a timeouts file in /usr/etc specifying
|
||||||
the parameters for each line/user/group combination. You can use
|
the parameters for each line/user/group combination. You can use
|
||||||
the sample file provided in the distribution as a starting point
|
the sample file provided in the distribution as a starting point
|
||||||
after reading the timeoutd.8 and timeouts.5 man pages.
|
after reading the timeoutd.8 and timeouts.5 man pages.
|
||||||
|
|
||||||
Once you have installed the timeouts file in /etc, you can type:
|
Once you have installed the timeouts file in /usr/etc, you can type:
|
||||||
|
|
||||||
make install
|
make install
|
||||||
|
|
||||||
to install the timeoutd binaries and man pages.
|
to install the timeoutd binaries and man pages.
|
||||||
|
|
||||||
Then it is just a matter of running /usr/sbin/timeoutd. You may want
|
Then it is just a matter of running /usr/etc/timeoutd. You may want
|
||||||
to add a line to your /etc/rc or /etc/rc.local (or whatever) to run
|
to add a line to your /etc/rc or /etc/rc.local (or whatever) to run
|
||||||
timeoutd at boot time.
|
timeoutd at boot time.
|
||||||
|
|
||||||
|
@ -40,5 +40,5 @@ line in /etc/profile near the top of the file:
|
||||||
/usr/etc/timeoutd `whoami` `basename \`tty\`` || exit
|
/usr/etc/timeoutd `whoami` `basename \`tty\`` || exit
|
||||||
|
|
||||||
|
|
||||||
Please send bugs, comments, suggestions to:
|
Please sends bugs, comments, suggestions to:
|
||||||
shanea@bigpond.net.au (Shane Alderton)
|
shanea@bigpond.net.au (Shane Alderton)
|
||||||
|
|
1
VERSION
Normal file
1
VERSION
Normal file
|
@ -0,0 +1 @@
|
||||||
|
1.5
|
7
debian/.gitignore
vendored
Normal file
7
debian/.gitignore
vendored
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
files
|
||||||
|
timeoutd.debhelper.log
|
||||||
|
timeoutd.postinst.debhelper
|
||||||
|
timeoutd.postrm.debhelper
|
||||||
|
timeoutd.prerm.debhelper
|
||||||
|
timeoutd.substvars
|
||||||
|
timeoutd
|
14
debian/changelog
vendored
14
debian/changelog
vendored
|
@ -1,11 +1,11 @@
|
||||||
timeoutd (1.5-10.1ubuntu1~1.gbp45a983) UNRELEASED; urgency=low
|
timeoutd (1.5-10.2) unstable; urgency=low
|
||||||
|
* Non-maintainer upload
|
||||||
|
* Resolve the missing symbol XOpenDisplay by linking with libX11
|
||||||
|
* Update debian/control Standards-Version: 3.9.5
|
||||||
|
* Ignore files generated by building debian package
|
||||||
|
* Update debian/compat to version 5
|
||||||
|
|
||||||
** SNAPSHOT build @45a9836343ec6efa904b51360713c52fb623d6d8 **
|
-- Clark Rawlins <clark@bit63.org> Sun, 14 Dec 2014 09:28:59 -0800
|
||||||
|
|
||||||
* UNRELEASED
|
|
||||||
* Fixed local X session handling
|
|
||||||
|
|
||||||
-- Shawn Willden <shawn@kahlan.willden.org> Sun, 04 Jan 2009 23:17:57 -0700
|
|
||||||
|
|
||||||
timeoutd (1.5-10.1) unstable; urgency=low
|
timeoutd (1.5-10.1) unstable; urgency=low
|
||||||
|
|
||||||
|
|
2
debian/compat
vendored
2
debian/compat
vendored
|
@ -1 +1 @@
|
||||||
4
|
5
|
||||||
|
|
4
debian/control
vendored
4
debian/control
vendored
|
@ -2,12 +2,12 @@ Source: timeoutd
|
||||||
Section: admin
|
Section: admin
|
||||||
Priority: extra
|
Priority: extra
|
||||||
Maintainer: Dennis Stampfer <seppy@debian.org>
|
Maintainer: Dennis Stampfer <seppy@debian.org>
|
||||||
Standards-Version: 3.6.2
|
Standards-Version: 3.9.5
|
||||||
Build-Depends: debhelper (>= 4), libx11-dev, libxss-dev
|
Build-Depends: debhelper (>= 4), libx11-dev, libxss-dev
|
||||||
|
|
||||||
Package: timeoutd
|
Package: timeoutd
|
||||||
Architecture: any
|
Architecture: any
|
||||||
Depends: ${shlibs:Depends}
|
Depends: ${shlibs:Depends}, ${misc:Depends}
|
||||||
Conflicts: suidmanager (<< 0.50)
|
Conflicts: suidmanager (<< 0.50)
|
||||||
Description: Flexible user timeout daemon with X11 support
|
Description: Flexible user timeout daemon with X11 support
|
||||||
timeoutd enforces the time restrictions specified for each or all users.
|
timeoutd enforces the time restrictions specified for each or all users.
|
||||||
|
|
5
debian/rules
vendored
5
debian/rules
vendored
|
@ -4,6 +4,9 @@
|
||||||
|
|
||||||
# Uncomment this to turn on verbose mode.
|
# Uncomment this to turn on verbose mode.
|
||||||
#export DH_VERBOSE=1
|
#export DH_VERBOSE=1
|
||||||
|
build-arch: build
|
||||||
|
|
||||||
|
build-indep: build
|
||||||
|
|
||||||
build:
|
build:
|
||||||
$(MAKE) timeoutd
|
$(MAKE) timeoutd
|
||||||
|
@ -20,7 +23,7 @@ clean:
|
||||||
install: build
|
install: build
|
||||||
dh_testdir
|
dh_testdir
|
||||||
dh_testroot
|
dh_testroot
|
||||||
dh_clean -k
|
dh_prep
|
||||||
dh_installdirs
|
dh_installdirs
|
||||||
|
|
||||||
# Add here commands to install the package into debian/<packagename>
|
# Add here commands to install the package into debian/<packagename>
|
||||||
|
|
1
debian/source/format
vendored
Normal file
1
debian/source/format
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
3.0 (git)
|
2
debian/timeoutd.init.d
vendored
2
debian/timeoutd.init.d
vendored
|
@ -16,6 +16,8 @@ DESC="user timeout daemon"
|
||||||
|
|
||||||
test -x $DAEMON || exit 0
|
test -x $DAEMON || exit 0
|
||||||
|
|
||||||
|
. /lib/lsb/init-functions
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
|
|
68
dump_wtmp.c
Normal file
68
dump_wtmp.c
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <utmp.h>
|
||||||
|
#include <time.h>
|
||||||
|
|
||||||
|
main()
|
||||||
|
{
|
||||||
|
FILE *fp;
|
||||||
|
struct utmp ut;
|
||||||
|
struct tm *tm;
|
||||||
|
char user[9];
|
||||||
|
char host[17];
|
||||||
|
char line[13];
|
||||||
|
|
||||||
|
if ((fp = fopen(UTMP_FILE, "r")) == NULL)
|
||||||
|
{
|
||||||
|
printf("Could not open wtmp file!");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Go to end of file minus one structure */
|
||||||
|
fseek(fp, -1L * sizeof(struct utmp), SEEK_END);
|
||||||
|
|
||||||
|
while (fread(&ut, sizeof(struct utmp), 1, fp) == 1)
|
||||||
|
{
|
||||||
|
tm = localtime(&ut.ut_time);
|
||||||
|
|
||||||
|
/*
|
||||||
|
if (tm->tm_year != now.tm_year || tm->tm_yday != now.tm_yday)
|
||||||
|
break;
|
||||||
|
*/
|
||||||
|
|
||||||
|
printf("%02d:%02d type=", tm->tm_hour,tm->tm_min);
|
||||||
|
switch (ut.ut_type)
|
||||||
|
{
|
||||||
|
#ifndef SUNOS
|
||||||
|
case RUN_LVL: printf("RUN_LVL");
|
||||||
|
break;
|
||||||
|
case BOOT_TIME: printf("BOOT_TIME");
|
||||||
|
break;
|
||||||
|
case NEW_TIME: printf("NEW_TIME");
|
||||||
|
break;
|
||||||
|
case OLD_TIME: printf("OLD_TIME");
|
||||||
|
break;
|
||||||
|
case INIT_PROCESS: printf("INIT_PROCESS");
|
||||||
|
break;
|
||||||
|
case LOGIN_PROCESS: printf("LOGIN_PROCESS");
|
||||||
|
break;
|
||||||
|
case USER_PROCESS: printf("USER_PROCESS");
|
||||||
|
break;
|
||||||
|
case DEAD_PROCESS: printf("DEAD_PROCESS");
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
default: printf("UNKNOWN!(type=%d)", ut.ut_type);
|
||||||
|
}
|
||||||
|
strncpy(user, ut.ut_user, 8);
|
||||||
|
user[8] = 0;
|
||||||
|
strncpy(host, ut.ut_host, 16);
|
||||||
|
host[16] = 0;
|
||||||
|
strncpy(line, ut.ut_line, 12);
|
||||||
|
line[12] = 0;
|
||||||
|
printf(" line=%s host=%s user=%s\n", line, host, user);
|
||||||
|
|
||||||
|
|
||||||
|
/* Position the file pointer 2 structures back */
|
||||||
|
if (fseek(fp, -2 * sizeof(struct utmp), SEEK_CUR) < 0) break;
|
||||||
|
}
|
||||||
|
fclose(fp);
|
||||||
|
}
|
10
timeoutd.8
10
timeoutd.8
|
@ -54,15 +54,7 @@ to login at that time, or whether they have exceeded their daily time limit.
|
||||||
When invoked in this way, by passing a username and tty (without the leading
|
When invoked in this way, by passing a username and tty (without the leading
|
||||||
/dev) on the command line,
|
/dev) on the command line,
|
||||||
.B timeoutd
|
.B timeoutd
|
||||||
returns an exit code and may leave an appropriate message.
|
returns one of the following exit codes:
|
||||||
.SH EXIT STATUS
|
|
||||||
When run in daemon mode,
|
|
||||||
.B timeoutd
|
|
||||||
may exit with an exit status of 1, in case of fatal error, or 0, if it has been
|
|
||||||
terminated by another process.
|
|
||||||
.PP
|
|
||||||
When invoked as a normal command, it will exit
|
|
||||||
with one of the following exit codes:
|
|
||||||
.IP "0 User is allowed to login
|
.IP "0 User is allowed to login
|
||||||
.IP "1 Fatal error
|
.IP "1 Fatal error
|
||||||
.IP "5 Incorrect command line format
|
.IP "5 Incorrect command line format
|
||||||
|
|
1834
timeoutd.c
1834
timeoutd.c
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue