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 , 10 years ago
comment:2 by , 10 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 , 10 years ago
comment:4 by , 10 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
Committed to trunk in [14464].
Note:
See TracTickets
for help on using tickets.



passlib.hashlib.des_cryptappears to give the same results as crypt.On Unix (Mac OSX):
On Windows:
The main advantage I see to replacing
fcryptwithpasslibis that the latter is maintained, and available on PyPI. Also, AccountManagerPlugin is usingpassliband the library may be useful as we add more AccountManager features to Trac.