Re: libgcrypt interface
[email protected] (Kurt Starsinic) Mon, 6 Jan 2003 17:26:19 -0500
| Newsgroups | perl.crypto |
|---|---|
| Message-ID | <[email protected]> |
On Jan 04, Robert Bihlmeyer wrote: > Dave Paris <[email protected]> writes: > > > Please keep the module in the Crypt:: tree, perhaps as > > Crypt::GCrypt::*. Top-level module namespace is typically generic, > > like Net::, Math::, etc. regardless of the libraries implemented by > > their constituents. > > Looking at the module list, I can't believe this is a universal rule > -- there are too many exceptions: DCE, Fwctl, NetAddr, NetPacket, RPC, > SNMP, etc. Interfaces to external libraries/programs are more often on > first level than not: GTop, Mon, Cdk, Curses, Shockwave, GnuPG, PGP, > RPM, Gimp, any many more. He didn't say it was a universal rule. It's a guideline. And it's one we try to enforce, with two prominent exceptions. We encourage the top level for namespaces that are likely to have many modules under them, like Apache:: (instead of Net::) and Crypt:: (instead of Text::, Data::, or Math::). And we also tolerate legacy namespaces, because we can't change the past. > Aaand ... Crypt::GCrypt sucks rocks, aesthetically. You could always change the part to the *right* of the "::" . . . . > Crypt itself is a big hodge-podge. Symmetric (Blowfish, DES, IDEA) and > asymmetric (ElGamal, RSA) ciphers, next to modes (CBC, ECB), along > with program/library interfaces (PGP, GPG, OpenSSL). GCrypt will > include digest as well, which seem to have their place in Digest, not > Crypt. Sigh. I don't see that as a problem. GCrypt is meant to be a complete cryptographic library, so it's understandable that it will provide some features that, were they in stand-alone modules, would be better located in other namespaces. - Kurt