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

Re: [FYI] Bin?res XML -



On Wednesday 01 October 2003 09:17, Peter Ross wrote:
> Angenommen, da stehen 10 oder 14 Byte, alloziiere ich sie, und stelle beim
> Fuellen fest, dass da etwas nicht stimmt - bei 10 wird der dritte
> nicht mehr in das Array gesteckt und bei 14 darf ich mir Gedankn drueber
> machen, ob ich das als kritisch ansehe oder nur eine Warnung auswerfe.
>
> Ich weiss gerade nicht wo, aber ich habe auch schon mit Strings zu tun
> gehabt, die nullterminiert waren und wo im Header davor die Laenge stand.
>
> Ich wuerde bestimmt nicht strcpy verwenden, um das nach
> Headerlaengenangabe allozierte char-Array zu fuellen, sondern strncpy, und
> dann auch noch das letzte Byte "nullen".
>
> Alles andere waere Leichtsinn des Programmiers. Das Gleiche wuerde ich bei
> dem Vertrauen auf die Laengenangabe bei ASN.1 auch sagen.

Du bist nie Hiwi in einer Netzwerke-Vorlesung gewesen, oder? (Und ich will 
damit nicht behaupten, daß NUR Studenten solche Implementationen 
produzieren).

> Wenn ich dagegen den Typ nicht kenne und ueberspringe, bleibt mir gar
> nichts weiter uebrig, als nach 10 oder 14 Byte weiterzulesen - und dann
> interpretiere ich z.B. die letzten zwei Bytes des letzten Integer
> (Beispiel 14 Bytes) Und wenn das sinnvoll erscheint, parse ich da weiter
> und fuelle Strukturen, die natuerlich unsinnige Inhalte bekommen, oder
> ueberspringe wieder (weil ich den Datentyp wieder nicht kenne).
>
> Naja, nicht schoen, aber "dumme" Werte kann ich auch ohne das uebertragen,
> das verbietet auch XML nicht. Den Test, auf "Sinnlosigkeit" kann mir die
> syntaktische Pruefung nicht abnehmen.

Ein XML-Dokument ist entweder wohlgeformt oder nicht. Es kann nicht aus dem 
Takt geraten und am Ende ohne Fehler ankommen. 

Andererseits existieren ASN.1-Codierungen, die zwei valide Interpretationen 
haben, je nachdem ob man die äußeren oder inneren Längenangaben verwendet, um 
sie durchzulesen (Leider habe ich diese Vorlesungsunterlagen nicht mehr).

> Beides sind halt kaputte Datenstroeme und wir sind immer noch bei "Mach,
> was ich sage" statt bei "Mach, was ich dir sagen will"-Maschinen;-)

XML signalisiert den Fehler immer, wenn die Tag Structure nicht nested. Bei 
ASN.1 ist dies nicht zwingend der Fall.

Kristian


--
To unsubscribe, e-mail: debate-unsubscribe@lists.fitug.de
For additional commands, e-mail: debate-help@lists.fitug.de