Red Hat Bugzilla – Bug 175792
at jobs have finite chance of failure
Last modified: 2007-11-30 17:11:19 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (compatible; MSIE 6.0; Windows; U; AIIEEEE!; Win98; Windows 98; en-US; Gecko masquerading as IE; should it matter?; rv:1.8b) Gecko/20050217
Description of problem:
For some reason a patch was added (at-3.1.8-SHELL-111386.patch) which introduces a finite possibility of a total 'at' job failure.
We all know that true randomness means that a random sequence like "aaaa" is equally likely as the sequence "xhgt".
So it is a reasonably possibility that the 'dd if=/dev/urandom ...' sequence generated by this patch produces characeters either all outside of the [:alnum:] set or that match, say, the word "echo" or perhaps "sh".
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1.create an 'at' job and cross your fingers - you probably will be lucky.
Created attachment 122258 [details]
Generates shell delimiter more sensibly
This patch generates a shell delimiter string at job creation time using simple
rand() rather than using dd/urandom/tr at job run time. The dd/urandom/tr
method is flawed in that it introduces a greater possibility of a delimiter
being created that matches some content of the job. This is because the length
of the generated delimiter will average 48 chars (200*(10+26+26)/256) but there
is a strong possibility that it will be, say, 10 characters. This patch
guarantees the length of the delimiter is always 76 characters.
Yes, I'm planning to replace this "here document" method of executing at jobs
entirely in the next release - thanks for the patch.
It was patched in FC-4 version at-3.1.8-49.