Home page logo

nmap-dev logo Nmap Development mailing list archives

Re: DTD fix?
From: Daniel Roethlisberger <daniel () roe ch>
Date: Sun, 26 Mar 2006 17:40:28 +0200

Fyodor <fyodor () insecure org> 2006-03-25:
<!ATTLIST service
                        name            CDATA           #REQUIRED
                        conf            %service_confs; #REQUIRED
                        method          (table|detection|probed) #REQUIRED
                        version         CDATA           #IMPLIED
                        product         CDATA           #IMPLIED
                        extrainfo       CDATA           #IMPLIED
                        tunnel          (ssl)           #IMPLIED
                        proto           (rpc)           #IMPLIED
                        rpcnum          %attr_numeric;  #IMPLIED
                        lowver          %attr_numeric;  #IMPLIED
                        highver         %attr_numeric;  #IMPLIED

<!-- these elements are written by output.c: printosscanoutput() -->

                        hostname        CDATA           #IMPLIED
                        ostype          CDATA           #IMPLIED
                        devicetype      CDATA           #IMPLIED
<!ELEMENT os            ( portused* , osclass*, osmatch* ) >

Note how there is a right angle bracket after highver, then the
hostname, ostype, and devicetype appear after that.  That looks like a
mistake to me.

Yes, those lines belong within an ATTLIST.

But since I don't fully understand the DTD format, I thought I'd check
with you guys before "fixing" it. [...]

Haven't read the source in output.c, but my guess would be that
``hostname'', ``ostype'' and ``devicetype'' are attributes of the ``os''
tag, not ``service'', which would lead to this solution:

<!ELEMENT os            ( portused* , osclass*, osmatch* ) >
                        hostname        CDATA           #IMPLIED
                        ostype          CDATA           #IMPLIED
                        devicetype      CDATA           #IMPLIED

But you might want to check which tag those attributes belong to in
output.c before committing such a thing.


Daniel Roethlisberger <daniel () roe ch>
GnuPG (PGP) key id 0x39740E98804A06B1

Sent through the nmap-dev mailing list

  By Date           By Thread  

Current thread:
  • DTD fix? Fyodor (Mar 26)
    • Re: DTD fix? Daniel Roethlisberger (Mar 26)
[ Nmap | Sec Tools | Mailing Lists | Site News | About/Contact | Advertising | Privacy ]