[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Security notification script



On Mon, Aug 26, 2002 at 09:31:34PM +0100, Rob Bradford wrote:
> I have written a python script that allows you to compares locally
> installed  packages with those on security.debian.org. Furthermore it
> provides a description of the problem/DSA name if the package is
> mentioned in the DSA RDF.
> 
> The script is intended to be run as a normal user in a crontab, and thus
> produces no output if the system is completely upto date.
> 
> You will need to install python2.2 and python2.2-xml prior to using the
> script which can be found at
> http://www.robster.org.uk/files/security-update-check.py

	Great.

	Except that the DSA RDF starts with
	space space newline, which chokes SAX:

[tv@ki ~/bin]$ ./security-update-check          
Traceback (most recent call last):
  File "./security-update-check", line 85, in ?
    for advisory in parseDSA():
  File "./security-update-check", line 23, in parseDSA
    dom = xml.dom.minidom.parse(rdf)
  File "/usr/lib/python2.1/site-packages/_xmlplus/dom/minidom.py", line 962, in parse
    return _doparse(pulldom.parse, args, kwargs)
  File "/usr/lib/python2.1/site-packages/_xmlplus/dom/minidom.py", line 954, in _doparse
    toktype, rootNode = events.getEvent()
  File "/usr/lib/python2.1/site-packages/_xmlplus/dom/pulldom.py", line 265, in getEvent
    self.parser.feed(buf)
  File "/usr/lib/python2.1/site-packages/_xmlplus/sax/expatreader.py", line 208, in feed
    self._err_handler.fatalError(exc)
  File "/usr/lib/python2.1/site-packages/_xmlplus/sax/handler.py", line 38, in fatalError
    raise exception
xml.sax._exceptions.SAXParseException: <unknown>:2:0: xml processing instruction not at start of external entity
zsh: 12193 exit 1     ./security-update-check
[tv@ki ~/bin]$ 

	It works just nicely with 2.1; on 2.2 it dies with

[tv@ki ~/bin]$ python2.2 ./security-update-check             
Traceback (most recent call last):
  File "./security-update-check", line 85, in ?
    for advisory in parseDSA():
  File "./security-update-check", line 23, in parseDSA
    dom = xml.dom.minidom.parse(rdf)
  File "/usr/lib/python2.2/site-packages/_xmlplus/dom/minidom.py", line 962, in parse
    return _doparse(pulldom.parse, args, kwargs)
  File "/usr/lib/python2.2/site-packages/_xmlplus/dom/minidom.py", line 954, in _doparse
    toktype, rootNode = events.getEvent()
  File "/usr/lib/python2.2/site-packages/_xmlplus/dom/pulldom.py", line 265, in getEvent
    self.parser.feed(buf)
  File "/usr/lib/python2.2/site-packages/_xmlplus/sax/expatreader.py", line 194, in feed
    self.reset()
  File "/usr/lib/python2.2/site-packages/_xmlplus/sax/expatreader.py", line 232, in reset
    self._parser = expat.ParserCreate(None, " ", intern = self._interning)
TypeError: 'intern' is an invalid keyword argument for this function
zsh: 12189 exit 1     python2.2 ./security-update-check
[tv@ki ~/bin]$ 

-- 
:(){ :|:&};:



Reply to: