2d323613808a0a8189cb38d613e84a5658e8b849
polyp-00 ist der ASN.1-Code, der mir gemailt wurde. Leider half er mir nicht sonderlich beim Verständnis von LDAP, daher hab ich das nochmal selber angefangen. Nachdem mir der Parser beim Verständnis geholfen hat, weiß ich jetzt, wie der Parser wirklich aussehen muß, und habe ihn in Form von scan_* Routinen neugehackt. Er ist dadurch viel übersichtlicher geworden. Die Routinen auf dem höchsten Level sind scan_ldapmessage und scan_ldapbindrequest, und damit erschöpft sich der Parser im Moment auch schon. Ich habe auch gleich angefangen, einen LDAP Formatter zu schreiben, der in Form der fmt_* Routinen vorliegt, und er ist genau so weit wie der Parser, nämlich kann er eine BindResponse mit der gleichen Message-ID wie der BindRequest formatieren, in eine LDAPMessage einpacken und das auf file handle 1 ausgeben. Das Ergebnis entspricht den Paketen von openldap, d.h. scheint zu funktionieren. bindrequest ist die Client-Testanwendung. Er stellt einen BindRequest und gibt ihn auf stdout aus. -rwxr-xr-x 1 leitner users 1676 Jan 14 02:58 bindrequest tinyldap ist die Server-Testanwendung. Er list eine LDAPMessage von stdin, schaut ob es ein BindRequest ist, und wenn ja, dann generiert er eine passende BindResponse. -rwxr-xr-x 1 leitner users 4084 Jan 14 03:13 tinyldap diet libc und libowfat rulen! ;)
Description
Languages
C
92.6%
CMake
5.3%
Makefile
2.1%