Commit Graph

41 Commits

Author SHA1 Message Date
Bernie Hackett
a22719853e PYTHON-1613 Invalidate cache on changed salt or iterations 2018-07-14 12:38:53 -07:00
Bernie Hackett
466fdde12a PYTHON-1609 - Fix authing the same user more than once 2018-07-09 14:59:53 -07:00
Bernie Hackett
bb8130abd8 PYTHON-1273 - Cache SCRAM ClientKey and ServerKey 2018-06-08 14:24:05 -07:00
Bernie Hackett
3fd6fd9784 PYTHON-1572 - Don't import hash functions until needed 2018-06-01 07:53:25 -07:00
Bernie Hackett
984977ba9e PYTHON-1425 - Implement the auth spec and tests 2018-04-25 10:25:00 -07:00
Bernie Hackett
82c6bdbac1 PYTHON-1526 - Update SCRAM-SHA-256 for spec change 2018-04-16 21:05:10 -07:00
Bernie Hackett
5b9257644f PYTHON-1464 - Implement SCRAM-SHA-256 2018-03-06 17:54:40 -08:00
Bernie Hackett
507f954ed4 Update copyright dates 2017-12-01 17:23:39 -08:00
Bernie Hackett
dbd39d9ac8 PYTHON-1354 - Work around WinKerberos deprecations
The user, domain, and password arguments to authGSSClientInit
are deprecated. The principal argument works as of 0.5.0. Use
it instead.
2017-08-17 16:48:11 -07:00
Bernie Hackett
1600059015 PYTHON-1184 - Don't require X.509 user with MongoDB 3.4 2016-11-16 14:31:14 -08:00
Bernie Hackett
0abfba6155 PYTHON-750 - Kerberos SSPI support for Windows 2016-05-26 16:23:53 -07:00
Bernie Hackett
8ed682b48f PYTHON-974 - Use appropriate hash comparators for sensitive functions 2015-08-14 12:21:33 -07:00
A. Jesse Jiryu Davis
baa6cf0fd8 PYTHON-932 - Attribute err in GSSAPI / Kerberos 2015-05-19 13:34:50 -04:00
Bernie Hackett
5df17c2c63 PYTHON-818 - Remove unicode_literals future imports. 2015-03-27 10:08:11 -07:00
Bernie Hackett
aec685b374 Fix up copyright dates. 2015-03-25 11:55:02 -07:00
Bernie Hackett
a2551b96f2 PYTHON-818 - Work around issues with unicode_literals and pbkdf2_hmac. 2015-01-12 12:09:19 -08:00
Bernie Hackett
be570a1888 Raise if nonce or server signature don't match. 2014-12-02 12:18:23 -08:00
Bernie Hackett
630f9245e3 PYTHON-795 - Fix password handling for None and the empty string. 2014-12-02 09:10:55 -08:00
Bernie Hackett
429aa9c582 PYTHON-768 - Support authMechanismProperties.
This change also removes the gssapiServiceName option (deprecated in
PyMongo 2.8), which is replaced by authMechanismProperties=SERVICE_NAME:<service name>.
2014-10-30 22:01:38 -07:00
behackett
d15a7ffbb5 PYTHON-706 - Optimize XOR in SCRAM HI. 2014-10-23 21:21:11 -04:00
A. Jesse Jiryu Davis
65900ad602 PYTHON-706 Use fastest SCRAM-SHA-1 implementation available. 2014-10-23 20:54:00 -04:00
A. Jesse Jiryu Davis
ee11436675 PYTHON-764 SCRAM-SHA-1 automatic upgrade / downgrade. 2014-10-23 16:30:55 -04:00
Bernie Hackett
71380ca65b PYTHON-706 - Optimize our use of HMAC. 2014-09-05 06:44:21 -07:00
Bernie Hackett
9ad0cc6d0f PYTHON-706 - Use SystemRandom for secure nonces. 2014-09-04 12:52:27 -07:00
A. Jesse Jiryu Davis
41c1a9afa6 PYTHON-525 Reimplement auth for new MongoClient.
The new MongoClient, based on Cluster and Server,
includes functionality that had been split between the
old MongoClient and MongoReplicaSetClient. A
previous commit introduced the new MongoClient
but broke authentication.
2014-09-03 17:39:52 -04:00
Bernie Hackett
bad4a109b4 PYTHON-706 - SCRAM-SHA-1 2014-08-13 15:02:28 -07:00
Bernie Hackett
6caa320d47 PYTHON-717 - Implement MongoCredential 2014-06-25 15:25:03 -07:00
Luke Lovett
d494105aa4 PYTHON-674 python 2/3 single-source for the pymongo module 2014-04-23 18:26:18 +00:00
A. Jesse Jiryu Davis
e2ef986447 Compatibility with the pykerberos package.
There are two Kerberos bindings on PyPI: kerberos and pykerberos.
PyMongo has been compatible with the kerberos package since PyMongo 2.5.0. But kerberos is not currently compatible with Python 3.
This change introduces compatibility with the new pykerberos package. Since pykerberos is compatible with Python 3, PyMongo can now use Kerberos in Python 3.
2014-03-24 18:06:33 -04:00
Bernie Hackett
5b55f14b49 CRAM-MD5 - for server testing only.
Undocumented, unsupported, could be removed at
any time. Don't use this. Consider yourself warned.
2014-02-20 08:37:40 -08:00
A. Jesse Jiryu Davis
2fa1750b07 Update copyright notices and company name. 2014-01-31 09:36:46 -05:00
Bernie Hackett
5eccdc42d9 Final changes for PYTHON-552
- Use default roles when no roles are provided (MongoDB 2.5.3+).
- DeprecationWarning when using read_only or not passing roles (MongoDB 2.5.3+).
- Check for error code 59 in remove_user.
- Roles and read_only are not compatible.
- TypeError -> ValueError for '' as password.
- Better validation all around.
2013-10-17 14:05:48 -07:00
behackett
fd7758e674 Remove obsolete comment. 2013-08-05 16:04:20 -07:00
Bernie Hackett
9307c1d56c Support MONGODB-X509 PYTHON-535 2013-07-25 16:02:07 -07:00
behackett
ae6aa79ae6 Support gssapiServiceName PYTHON-524
This also adds general support for authentication
mechanism specific options and validation.
2013-06-20 10:53:23 -07:00
behackett
39943aa62a Support the SASL PLAIN mechanism PYTHON-519
This is initially for LDAP authentication support in
MongoDB 2.6 (forthcoming). Warning: the username and
password are sent over the wire in clear text per
RFC 4616. SSL with cert validation should be used in
conjunction with the PLAIN mechanism to encrypt the
channel.
2013-06-12 13:30:54 -07:00
Bernie Hackett
1ed7718ad1 Don't mask authentication failure details.
These changes should make it easier to debug
kerberos configuration issues on the client
and server.
2013-03-22 07:56:15 -07:00
behackett
f09e38879d MONGO-CR -> MONGODB-CR (spec change) 2013-02-15 16:06:38 -08:00
behackett
8de9051228 Remove MongoAuthenticationMechanism PYTHON-465
The spec changed - MongoAuthenticationMechanism is
no longer required.
2013-02-12 14:30:11 -08:00
behackett
18d20ed181 Support GSSAPI (Kerberos) authentication PYTHON-465
This only works with the subscriber addition of MongoDB
>= 2.4 and requires the python "kerberos" module, sometimes
referred to as pykerberos.

http://pypi.python.org/pypi/kerberos

This change also adds support for the authMechanism
and authSource URI options.
2013-02-08 16:04:53 -08:00
behackett
41254542d9 Auth refactor to prepare for PYTHON-465.
This also addresses PYTHON-464 and makes
logout sane.
2013-01-31 18:05:51 -08:00