Compare commits

..

11 commits

Author SHA1 Message Date
Clark Rawlins
812394b9df Configure source format
Define the source format as 3.0 (git)

Signed-off-by: Clark Rawlins <clark@bit63.org>
2014-12-14 12:17:44 -08:00
Clark Rawlins
ef953698c5 Fix lintian errors in debian/changelog
Lintian complians about a NMU version number.
Modify the changelog to use a standard version number.

Modify the changelog version to use the last 9 digits
of the sha1 hash for the git commit.

Add the build-arch and build-indep targets to the debian/rules
file.

Source init-functions in init script

Signed-off-by: Clark Rawlins <clark@bit63.org>
2014-12-14 12:13:54 -08:00
Clark Rawlins
6ff7b56a42 Add ${misc:Depends} to binary dependencies
Packages built with debhelper may introduce additional
binary package dependencies to a package that uses its
functions.  Adding ${misc:Depends} allows debhelper to
add any required dependencies to the package.

Signed-off-by: Clark Rawlins <clark@bit63.org>
2014-12-14 10:43:28 -08:00
Clark Rawlins
cde92985ae Switch from dh_clean -k to dh_prep
dh_clean -k is deprecated. Switch to the supported dh_clean
instead.

Signed-off-by: Clark Rawlins <clark@bit63.org>
2014-12-14 10:35:22 -08:00
Clark Rawlins
af2d3b48c6 Use a temp to convert ut_time to time_t
The localtime function takes a time_t* argument.  Passing
the ut_time member of the utmp struct as this argument
doesn't work on 64 bit systems because the lengths of the
arguments don't agree.  So use a temproary variable to
store the ut_time value in a time_t variable and pass
the address of the time_t variable to localtime.

Signed-off-by: Clark Rawlins <clark@bit63.org>
2014-12-14 10:29:17 -08:00
Clark Rawlins
4f37273c60 Ignore warnings on unused return values
Modify the Makefile to silence warnings about unused
return values in the source code.

Signed-off-by: Clark Rawlins <clark@bit63.org>
2014-12-14 09:53:14 -08:00
Clark Rawlins
957c5aefad Update debian/compat to version 5
To support recent versions of deb-buildpackage
increment debian/compat to version 5 (from version 4)

Signed-off-by: Clark Rawlins <clark@bit63.org>
2014-12-14 09:51:05 -08:00
Clark Rawlins
ff3a5d11a1 Update debian/changelog with recent local changes
Update the debian changelog with recent changes to the package.

Signed-off-by: Clark Rawlins <clark@bit63.org>
2014-12-14 09:50:37 -08:00
Clark Rawlins
73dd70fdf8 Ignore files generated by building debian package
Configure git to ignore files generated by the
build process and by the debian package build
process.

Signed-off-by: Clark Rawlins <clark@bit63.org>
2014-12-14 09:21:27 -08:00
Clark Rawlins
119d66d4c1 Update debian/control Standards-Version:
Update debian/control Standards-Version to the
current value: 3.9.5.

Signed-off-by: Clark Rawlins <clark@bit63.org>
2014-12-14 09:09:20 -08:00
Clark Rawlins
f8a3bc0509 To resolve the symbol XOpenDisplay link with libX11
When building the timeoutd binary the linker was not
finding the XOpenDisplay symbol.  By linking with
libX11 the missing symbol is found

Signed-off-by: Clark Rawlins <clark@defiant.bit63.org>
2014-12-14 09:05:09 -08:00
14 changed files with 1253 additions and 742 deletions

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
timeoutd
*.o

View file

@ -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
View file

@ -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
View file

@ -0,0 +1 @@
1.5

7
debian/.gitignore vendored Normal file
View 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
View file

@ -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
View file

@ -1 +1 @@
4 5

4
debian/control vendored
View file

@ -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
View file

@ -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
View file

@ -0,0 +1 @@
3.0 (git)

View file

@ -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
View 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);
}

View file

@ -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

File diff suppressed because it is too large Load diff