Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updates #1

Merged
merged 27 commits into from
Jul 5, 2014
Merged

Updates #1

merged 27 commits into from
Jul 5, 2014

Conversation

psi29a
Copy link
Contributor

@psi29a psi29a commented Jul 4, 2014

This pull request covers the following:

  1. Purged webui in one big code reduction commit, we can reverse this later to add it back.
  2. Pypi support is there using latest standards for setup.py, thanks to above.
  3. Pulled in patches from Redhat, PLD and Debian.
  4. Replaced non-MIT code with MIT licensed goodness.
  5. Added additional tests for contributed patches.
  6. Trimmed up tv42's todo list

As for tests, out of 337 tests, we only fail on 3. I believe this is a good starting point.

I dub this release 0.54 because the last semi-official release was antong's 0.53.

antong and others added 26 commits July 2, 2014 10:25
Microsoft Active Directory returns these by default, and adding this
stub prevents choking.
This adds an optional argument 'bindAddress' to the LDAPClientCreator.connect()
method. This argument is ultimately passed as-is to reactor.connectTCP to
specify the local address and port to use for the client connection.
The LDAPEntryWithClient.search() method used to send the LDAP request with
a call like
	self.client.send_multiResponse(... )
send_multiResponse() returns a deferred that was just discarded. If the
operation causes an error then the errback fired on the discarded deferred
will remain unhandled. The deferred returned by search() will then not
have any errback fired and the caller of search() will be waiting forever.

This change adds an errback to the deferred returned by send_multiResponse()
and has the error rerouted to the errback chain of the deferred returned by
search().
…errors

The deferred returned by the LDAP client send_multiResponse() method was
previously unused in all code covered by tests, and so the replacement
method in the test driver just returned None. The deferred is now used
in search() and this change makes the test driver also return a deferred
instead of None in order to make things work when run within the test
framework.

To make it possible to test failures in the client send() and
send_multiResponse() methods, the test driver is changed to accept Failure
instances in place of lists of LDAPProtocolResponses.  Doing this causes
the errback on the deferred to be called with this failure.

The LDAPSyntaxSearch and Bind test cases are augmented with one test each
to use the new failure functionality in the client test driver. As the
search() code a while back did not handle errors in the send_multiResponse()
deferred chain the test case would time out if run against older code.
Therefore a smaller timeout of 3 seconds is set for the LDAPSyntaxSearch test
case.
Use hashlib instead of the deprecated sha module. To remain
compatible with Python 2.4, the old sha module is used if
hashlib cannot be imported.

Use the built-in set() type instead of the deprecated sets.Set().

[Anton: squashed several set() and hashlib fixes into one change
	and added the conditional sha import for Python 2.4
	compatibility. ]
Use Markdown syntax for the readme and name it README.md accordingly.
Update the readme with current information and a simple usage
example. The info in INSTALL.txt is incorporated into the main readme
and INSTALL.txt is removed.

Conflicts:
	README
twisted.protocols.dns was moved to twisted.names.dns long ago in
Twisted 2.0. There used to be a compatibility layer in
twisted.protocols.dns, but that was removed in Twisted 9.0.

https://bugs.launchpad.net/ubuntu/+source/ldaptor/+bug/881404
Instead of asserting that every DNS record returned for the SRV lookup is a
SRV record, just suppress printing other records. This is because DNS
servers do include additional records, such as A records for the resources
in the reply. Previously that would cause an ugly crash and traceback.
Code copied from PassLib (http://code.google.com/p/passlib/).

Modified the code slightly to include a copyright line in each file, fix
import paths, and to set md4.new() to call md4.md4() so existing code
didn't need to be changed.
…Fedora.

Author: Jan Vcelak <jvcelak@redhat.com>
From: davide colombo <dcolombo@davec.(none)>
Date: Fri, 18 Feb 2011 12:16:51 +0100
Subject: [PATCH] Fix deprecated exception error
From: Edmund Jorgensen <tomheon@gmail.com>
Date: Tue, 22 May 2012 17:17:08 -0400
Subject: [PATCH] Fix typo in module name: pureldap -> pureber.
From: Adam Goodman <akgood@garglezomper7.local>
Date: Tue, 21 Jun 2011 16:04:22 -0400
Subject: [PATCH] added very basic, low-level support for SASL credentials in
 the pureldap module

When constructing an LDAPBindRequest, now you can pass 'sasl=True' to
indicate you're providing SASL, rather than plain, credentials. Then,
provide the 'auth' parameter as a tuple of (mechanism,
credentials). For example, if constructing a bind request for an
Active Directory server, you might do something like:

LDAPBindRequest(dn=..., auth=('GSS-SPNEGO', 'NTLMSSP...'), sasl=True)

(note that 'NTLMSSP' begins an NTLM Negotiate Message)

Also, when parsing server responses (e.g. LDAPBindResponse), the
serverSaslCreds field will be populated if appropriate.

None of this is exposed in the higher-level interfaces
(e.g. LDAPClient) yet.
From 9c6facce573820987f1ce591f5530e37422fff81 Mon Sep 17 00:00:00 2001
From: Adam Goodman <akgood@garglezomper7.local>
Date: Tue, 21 Jun 2011 16:09:40 -0400
Subject: [PATCH] fix starttls support

a small bug in the LDAPExtendedRequest constructor was making the
LDAPStartTLSRequest constructor fail
From f693f61d6b6a6a53044ad3e5f7a7967bfb95d118 Mon Sep 17 00:00:00 2001
From: davide colombo <dcolombo@davec.(none)>
Date: Fri, 18 Feb 2011 12:10:41 +0100
Conflicts:
	ldaptor/test/test_pureldap.py
Author: Jan Dittberner <jandd@debian.org>
…ironment

Author: Jan Dittberner <jandd@debian.org>
Author: Jan Dittberner <jandd@debian.org>
@hawkowl
Copy link
Member

hawkowl commented Jul 4, 2014

I had a cursory look over this and it looks alright from what I can see.

@glyph
Copy link
Member

glyph commented Jul 5, 2014

This is too much for me to plausibly really review all at once, but some spot checks look pretty good and it seems unlikely we'll get out of this bootstrapping phase without playing a little fast and loose at first :).

glyph added a commit that referenced this pull request Jul 5, 2014
This commit request covers the following:

1) Purged webui in one big code reduction commit, we can reverse this later to add it back.
2) Pypi support is there using latest standards for setup.py, thanks to above.
3) Pulled in patches from Redhat, PLD and Debian.
4) Replaced non-MIT code with MIT licensed goodness.
5) Added additional tests for contributed patches.
6) Trimmed up tv42's todo list

As for tests, out of 337 tests, we only fail on 3. I believe this is a good starting point.

I dub this release 0.54 because the last semi-official release was antong's 0.53.
@glyph glyph merged commit 105ffde into twisted:master Jul 5, 2014
@psi29a psi29a deleted the updates branch July 7, 2014 08:36
psi29a added a commit to psi29a/ldaptor that referenced this pull request Jul 17, 2014
psi29a added a commit to psi29a/ldaptor that referenced this pull request Oct 7, 2014
psi29a pushed a commit that referenced this pull request Oct 12, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants