Modify ↓
#12239 closed enhancement (fixed)
Replace fcrypt dependency with passlib
Reported by: | Ryan J Ollos | Owned by: | Ryan J Ollos |
---|---|---|---|
Priority: | normal | Milestone: | 1.2 |
Component: | general | Version: | |
Severity: | normal | Keywords: | |
Cc: | Branch: | ||
Release Notes: |
Replaced |
||
API Changes: | |||
Internal Changes: |
Description
Trac has a dependency on fcrypt when running on non-Unix platforms.
$grep -R "fcrypt" . --exclude-dir=".git" --exclude-dir=".svn" --exclude=*.pyc --exclude-dir=build --exclude-dir=doc ./contrib/htpasswd.py: "fcrypt from PyPI.", newline=True) ./trac/util/compat.py: from fcrypt import crypt ./trac/wiki/default-pages/TracStandalone: Note: It is necessary (at least with Python 2.6) to install the fcrypt package in order to
It appears the fcrypt library is unmaintained, and it can no longer be installed from PyPI:
$pip install fcrypt You are using pip version 6.0.8, however version 7.1.2 is available. You should consider upgrading via the 'pip install --upgrade pip' command. Collecting fcrypt Could not find any downloads that satisfy the requirement fcrypt Some externally hosted files were ignored as access to them may be unreliable (use --allow-external fcrypt to allow). No distributions at all found for fcrypt
I'd like to consider whether we should replace fcrypt
with passlib. This was suggested in gmessage:trac-users:VhovR3jNRMg/XyLm7PDFBgAJ.
Attachments (0)
Change History (5)
comment:1 by , 9 years ago
comment:2 by , 9 years ago
Milestone: | next-major-releases → 1.2 |
---|---|
Owner: | set to |
Release Notes: | modified (diff) |
Status: | new → assigned |
Proposed changes in log:rjollos.git:t12239_passlib. Tests passing on Windows 7 with Python 2.7.11.
- DONE Update TracDev/FunctionalTests ⇒ TracDev/FunctionalTests@18
- DONE Update 1.1/TracStandalone ⇒ 1.1/TracStandalone@2
comment:3 by , 9 years ago
comment:4 by , 9 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Committed to trunk in [14464].
Note:
See TracTickets
for help on using tickets.
passlib.hashlib.des_crypt
appears to give the same results as crypt.On Unix (Mac OSX):
On Windows:
The main advantage I see to replacing
fcrypt
withpasslib
is that the latter is maintained, and available on PyPI. Also, AccountManagerPlugin is usingpasslib
and the library may be useful as we add more AccountManager features to Trac.