addendum: for you on google: at was broken because it would accept jobs from a user with a username longer than 8 characters, but it would not execute those jobs
at the following url is a bug report and a patch: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=115295 that patch is at the end of this message Encouraged and advised by members of this list, I did the following: cd ~/tmp apt-get source at patch -p0 < the_name_I_saved_the_patch_as cd at-3.1.8 the version number will probably be the same when you read this, thats part of the problem. (do they have flying cars yet?) fakeroot dpkg-buildpackage cd .. su to become root dpkg -i at*.deb exit to become me again I then tested it by running an job at +1min if you changed your /etc/at.allow and /etc/at.deny to make things work, you may want to put them back the way they were. On my machine all I have to do is remove at.allow I think. good luck patch used follows: diff -ruN at-3.1.8/atd.c at-3.1.8.hs/atd.c --- at-3.1.8/atd.c Thu Oct 11 22:18:41 2001 +++ at-3.1.8.hs/atd.c Thu Oct 11 22:18:02 2001 @@ -196,7 +196,8 @@ */ pid_t pid; int fd_out, fd_in; - char mailbuf[9], jobbuf[9]; + char jobbuf[9]; + char *mailbuf = NULL; char *mailname = NULL; char *newname; FILE *stream; @@ -299,10 +300,22 @@ * NFS and works with local file systems. It's not clear where * the bug is located. -Joey */ - if (fscanf(stream, "#!/bin/sh\n# atrun uid=%d gid=%d\n# mail %8s %d", - &nuid, &ngid, mailbuf, &send_mail) != 4) - pabort("File %.500s is in wrong format - aborting", - filename); + + /* On modern (?) systems user names may be longer than 8, even than + * 16 characters. This breaks the daemon. (SuSE patched it to allow + * 16 characters here, but Murphy promises that this will be to + * small too ;-) + * + * I've patched the next code line to make use of the NON ANSI + * extension %a (found in GNU scanf). So enough space is + * malloc(3)ed for the mailbuf (mailname). I don't care about + * free(3)ing, since this code runs only for a very limited time and + * exits. [EMAIL PROTECTED] + */ + if (fscanf(stream, "#!/bin/sh\n# atrun uid=%d gid=%d\n# mail %as %d", + &nuid, &ngid, &mailbuf, &send_mail) != 4) + pabort("File %.500s is in %s wrong format - aborting", + filename, mailbuf); if (mailbuf[0] == '-') pabort("illegal mail name %.300s in job %8lu (%.300s)", mailbuf, diff -ruN at-3.1.8/debian/changelog at-3.1.8.hs/debian/changelog --- at-3.1.8/debian/changelog Thu Oct 11 22:18:41 2001 +++ at-3.1.8.hs/debian/changelog Thu Oct 11 22:18:02 2001 @@ -1,3 +1,9 @@ +at (3.1.8-10.1) frozen unstable; urgency=high + + * fixed the limit on username length introduced by atd. + + -- Heiko Schlittermann <[EMAIL PROTECTED]> Thu, 11 Oct 2001 21:59:19 +0200 + -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]