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* ) >
<!ATTLIST os
                        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.

Cheers,
Dan

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


_______________________________________________
Sent through the nmap-dev mailing list
http://cgi.insecure.org/mailman/listinfo/nmap-dev


Current thread: