On Aug 17, 2009, at 6:45 PM, Damien Katz wrote:

I don't think it's necessary as we aren't encrypting anything. We do use the crypto library, but only for generating random UUIDs.

-Damien


Probably should have used "suspect" or "concerned" or something more speculative. Noticing that CouchDB would not start on an Erlang runtime without openssl was a bit jarring. OAuth would also seem to be have a significant likelihood of incorporating encryption. Those two facts seemed to warrant a message.

The whole export license stuff is an quagmire that I've taken pains to avoid. Definitely think that you should check with legal-discuss if you have any questions.

erlang_oauth has a module named oauth_rsa_sha1 which makes me suspect that it would need an export declaration.

The following code snippet from couch_http_oauth.erl

consumer_lookup(Key, MethodStr) ->
    SignatureMethod = case MethodStr of
        "PLAINTEXT" -> plaintext;
        "HMAC-SHA1" -> hmac_sha1;
        %"RSA-SHA1" -> rsa_sha1;
        _Else -> undefined

appears to be at aware of specific encryption method.


I also ran into this little snippet in couch_util.erl:

%%% Purpose : Base 64 encoding and decoding.
%%% Copied from ssl_base_64 to avoid using the
%%% erlang ssl library

If there is a required dependency on ssl elsewhere, the duplicated code probably should be eliminated. Also, the "license notice" doesn't give me much confidence.


FYI: Encryption notice for Erlang ssl: http://erlang.org/doc/apps/ssl/index.html

My wild guess is that the previous CouchDB releases did not need an export or cryptography notice if all they did was use the random number generator from the SSL module. erlang_oauth and couch_http_oauth seem to be aware of cryptographic methods which my reading means that they require some action, but exactly what I'm uncertain.

Reply via email to