I have verified that apart from the MD4 library by Dmitry, all other
changes not done by me personally were largely mechanical in nature,
obvious to any experienced practicioner, and I don't consider them
copyrightable as such, nor do I consider Ldaptor as it is here to be a
derived work from those largely mechanical changes. The MD4 library
implements a standardized algorithm, has a very narrow API, and
follows the Python "hashlib" calling convention. For these reasons, I
do not consider Ldaptor to be in any way a derived work of the MD4
library included.
I invite anyone who has improved Ldaptor in any way to also relicense
their contribution under the MIT license. I also would warmly welcome
a pure-Python (or stdlib) implementation of MD4 that is compatible
with the MIT license. Alternatively, one could port Ldaptor to use a
C-based MD4 library (and add an extra dependency), run md4 as a
subprocess (and add an extra dependency), or just extract SMB password
setting into a separate software component.
This commit is dedicated to the Twisted project.