Bug 224347 - python binding behaves poorly when specifying dictpath
python binding behaves poorly when specifying dictpath
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: cracklib (Show other bugs)
6
All Linux
medium Severity medium
: ---
: ---
Assigned To: Nalin Dahyabhai
Brian Brock
: EasyFix
Depends On:
Blocks: 225858 225860
  Show dependency treegraph
 
Reported: 2007-01-25 06:53 EST by Nils Philippsen
Modified: 2007-11-30 17:11 EST (History)
0 users

See Also:
Fixed In Version: 2.8.9-7
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2007-01-25 12:33:32 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Nils Philippsen 2007-01-25 06:53:35 EST
FascistCheck() exhibits two problems when specifying a dictpath:

1.) It checks for the existence of the path, not the path plus ".pwd" as with
the default. This means you can't specify an alternative path at all because
it'll throw an exception in any case. You can't work around it either because
2.) if you specify the path plus ".pwd" yourself, the python module now finds
the file, passes path+".pwd" to cracklib which barfs on the non-existence of
path+".pwd.pwd" and apparently calls exit() or something else which ends the
python interpreter (without traceback or other such superfluopus things ;-).

Version-Release number of selected component (if applicable):
cracklib-2.8.9-3.1
Judging from the code, this problem exists in Rawhide (cracklib-2.8.9-6) as well.

How reproducible:
Easy

Steps to Reproduce:
1. Run this test program:

--- 8< ---
#!/usr/bin/python

from cracklib import *

for path in ('/usr/share/cracklib/pw_dict', '/usr/share/cracklib/pw_dict.pwd'):
    try:
        print FascistCheck ('foo', path)
    except Exception, e:
        print e

print "foo"
  
Actual results:
nils@wombat:~> ./fc.py 
[Errno 2] No such file or directory: '/usr/share/cracklib/pw_dict'
/usr/share/cracklib/pw_dict.pwd.pwd: No such file or directory
PWOpen: Illegal seek

Expected results:
No traceback with the first path in the list, a (caught) traceback with the
second path, and the line "foo".
Comment 1 Nalin Dahyabhai 2007-01-25 12:33:32 EST
Quite right.  Fixing in Raw Hide shortly.  Let me know if you need this updated
in FC6 as well.
Comment 2 Nils Philippsen 2007-01-29 11:48:05 EST
As I have dicovered now, I don't need to specify the dictpath to use the
standard dictionary. Would it be much work to change the module so that "pydoc
cracklib" on the cmdline or "help(FascistCheck)" from within python would
mention that, i.e. not only have "FascistCheck(...)" without the arguments?

Note You need to log in before you can comment on or make changes to this bug.