I'm looking it over with an eye towards using it in the MIT Kerberos
code (my day job). Our current code is a hand-maintained pile of
macros and functions that I think may have evolved from code
generated by some other ASN.1 compiler years ago; maintaining it is a
pain (and adding new types, even more so), so I've been looking to
replace it. The requirement in a2c for C# is probably a strike
against it in our mainly-UNIX environment (without Mono, currently),
but it's not a non-starter; getting portable C out that we can check
in to our repository means we shouldn't need a2c often.
The directives in comments are a great idea. I can certainly see
places where we'd use "namespace" and "binary" in our code.
Not having Mono set up in my environment, I ran the RFC 4120 module
through the web site (downloaded rfc4120.asn from the web page, then
fed it back in as my input file), and tried compiling the result
against the runtime library in the code I downloaded. Unfortunately,
some of the C symbols relating to GeneralString support were
undefined, so it wouldn't compile. I also got warnings about
initialization problems, because A2C_ITEM_HEADER in the headers I
downloaded starts with three integers and a pointer, but the code
generated from the web site initializes it with two integers and a
pointer. Is the web site running the same version as we can download?
I also tried putting together a module for PK-INIT (RFC 4556), but
that got some errors from the server on the web site. I'll try to
put together a report with some real details later (unless the web
version is out of date and the problem's been fixed).
Ken
Great!
> I'm looking it over with an eye towards using it in the MIT Kerberos
> code (my day job). Our current code is a hand-maintained pile of
> macros and functions that I think may have evolved from code
> generated by some other ASN.1 compiler years ago; maintaining it is a
> pain (and adding new types, even more so), so I've been looking to
> replace it. The requirement in a2c for C# is probably a strike
> against it in our mainly-UNIX environment (without Mono, currently),
> but it's not a non-starter; getting portable C out that we can check
> in to our repository means we shouldn't need a2c often.
That was our intention. You should only need to generate the C code
from the ASN.1 module rarely. Even if you don't want to ever run
Windows or a Mono environment, you can use our web form for compiling.
> The directives in comments are a great idea. I can certainly see
> places where we'd use "namespace" and "binary" in our code.
We can, of course, add additional useful directives in the future if
you find things that are useful. Feel free to add them in the issues
tracker.
> Not having Mono set up in my environment, I ran the RFC 4120 module
> through the web site (downloaded rfc4120.asn from the web page, then
> fed it back in as my input file), and tried compiling the result
> against the runtime library in the code I downloaded. Unfortunately,
> some of the C symbols relating to GeneralString support were
> undefined, so it wouldn't compile. I also got warnings about
> initialization problems, because A2C_ITEM_HEADER in the headers I
> downloaded starts with three integers and a pointer, but the code
> generated from the web site initializes it with two integers and a
> pointer. Is the web site running the same version as we can download?
It is. However, it sounds like we have a mis-match between the
compiler and the runtime on these two. Please report bugs in the
tracker and we'll get on them for version 2.
> I also tried putting together a module for PK-INIT (RFC 4556), but
> that got some errors from the server on the web site. I'll try to
> put together a report with some real details later (unless the web
> version is out of date and the problem's been fixed).
The web site is running the same as the distribution, so those are
bugs we need to work on.
On 9/14/07, Ken Raeburn <rae...@raeburn.org> wrote:
> Is the web site running the same version as we can download?
I earlier said "yes", but then I checked and I'm not so sure. Now I am
quite sure, due to the fact that I copied it over again.
> I also tried putting together a module for PK-INIT (RFC 4556), but
> that got some errors from the server on the web site. I'll try to
> put together a report with some real details later (unless the web
> version is out of date and the problem's been fixed).
I extracted the module from RFC 4556 and tried it in our internal
version; it compiled fine. It will become part of the test/ directory
in version 2.
FWIW, we did a more complete checking for other internal
inconsistencies, and found a few. These will also be fixed in v2,
which should be out shortly.
--Paul Hoffman