Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 167654

Summary: Review Request: crack: password cracker
Product: [Fedora] Fedora Reporter: Christian Iseli <Christian.Iseli>
Component: Package ReviewAssignee: Tom "spot" Callaway <tcallawa>
Status: CLOSED NEXTRELEASE QA Contact: David Lawrence <dkl>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: dewayneneal94, fedora-extras-list
Target Milestone: ---Flags: kevin: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
URL: http://www.crypticide.com/users/alecm/security/c50-faq.html
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-09-07 09:39:00 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 163779    
Attachments:
Description Flags
use words to make a richer dict 1 none

Description Christian Iseli 2005-09-06 16:35:29 UTC
Spec Name or Url: ftp://ftp.licr.org/pub/software/unix/crack.spec
SRPM Name or Url: ftp://ftp.licr.org/pub/software/unix/crack-5.0a-0.src.rpm
Description:
Crack is a password guessing program that is designed to quickly locate
insecurities in Unix (or other) password files by scanning the contents of a
password file, looking for users who have misguidedly chosen a weak login
password.

This package creates a group named "crack" and the Crack program puts all
its results in the /var/lib/crack/run directory, which belongs to that group.
Only users in the crack group can use this package.

This is a bit dusty, but still runs quite well.  It's part of many security
SOP, and I think it would be useful to have it in Extras.

Builds in mock.  Runs fine on x86 and x86_64.  Couldn't test ppc.
Rpmlint seems generally happy, but goes a bit haywire on the dictionnary files,
because they start with a hashbang combination...

The LICENSE file is pretty much a verbatim copy of the Artistic license (checked using diff...) so I think it's fine.

Please review :-)

Comment 1 Tom "spot" Callaway 2005-09-06 18:34:22 UTC
Review:

Good:

- rpmlint checks return... well... lots of freaking noise.
E: crack wrong-script-interpreter /var/lib/crack/dict/1/chars.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/chars.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/1/male-names.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/male-names.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/1/dosref.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/dosref.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/2/etc-hosts.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/2/etc-hosts.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/1/famous.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/famous.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/1/places.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/places.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/1/oz.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/oz.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/1/junk.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/junk.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/3/words.german.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/3/words.german.dwg 0644
E: crack non-standard-gid /var/lib/crack/run/dict/1.dwg.gz crack
E: crack non-readable /var/lib/crack/run/dict/1.dwg.gz 0640
E: crack wrong-script-interpreter /var/lib/crack/dict/1/asteroids.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/asteroids.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/1/lcarrol.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/lcarrol.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/1/roget.words.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/roget.words.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/2/cis.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/2/cis.dwg 0644
E: crack non-standard-gid /var/lib/crack/run/dict crack
E: crack non-standard-dir-perm /var/lib/crack/run/dict 02770
E: crack wrong-script-interpreter /var/lib/crack/dict/1/myths-legends.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/myths-legends.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/1/trek.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/trek.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/2/dico.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/2/dico.dwg 0644
E: crack script-without-shellbang /var/lib/crack/scripts/netcrack
E: crack wrong-script-interpreter /var/lib/crack/dict/3/words.japanese.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/3/words.japanese.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/3/germanl.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/3/germanl.dwg 0644
E: crack non-standard-gid /var/lib/crack/run/dict/2.dwg.gz crack
E: crack non-readable /var/lib/crack/run/dict/2.dwg.gz 0640
E: crack wrong-script-interpreter /var/lib/crack/dict/3/words.swedish.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/3/words.swedish.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/1/abbr.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/abbr.dwg 0644
E: crack non-standard-gid /var/lib/crack/run/dict/.dictmade crack
W: crack hidden-file-or-dir /var/lib/crack/run/dict/.dictmade
E: crack non-readable /var/lib/crack/run/dict/.dictmade 0640
E: crack wrong-script-interpreter /var/lib/crack/dict/3/koran.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/3/koran.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/1/assurnames.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/assurnames.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/3/chinese.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/3/chinese.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/2/colleges.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/2/colleges.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/1/jargon.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/jargon.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/2/unabr.dict.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/2/unabr.dict.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/2/domains.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/2/domains.dwg 0644
E: crack non-standard-gid /var/lib/crack/run/dict/3.dwg.gz crack
E: crack non-readable /var/lib/crack/run/dict/3.dwg.gz 0640
E: crack wrong-script-interpreter /var/lib/crack/dict/1/paradise.lost.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/paradise.lost.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/1/numbers.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/numbers.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/2/shakespeare.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/2/shakespeare.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/2/antworth.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/2/antworth.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/1/female-names.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/female-names.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/1/bad_pws.dat.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/bad_pws.dat.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/1/sports.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/sports.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/1/biology.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/biology.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/1/phrases.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/phrases.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/2/congress.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/2/congress.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/3/surnames.finnish.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/3/surnames.finnish.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/1/other-names.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/other-names.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/1/movies.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/movies.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/1/yiddish.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/yiddish.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/1/names.french.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/names.french.dwg 0644
E: crack non-standard-gid /var/lib/crack/run crack
E: crack non-standard-dir-perm /var/lib/crack/run 02770
E: crack wrong-script-interpreter /var/lib/crack/dict/3/words.italian.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/3/words.italian.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/2/zipcodes.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/2/zipcodes.dwg 0644
E: crack non-standard-gid /usr/bin/CrackReporter crack
E: crack non-readable /usr/bin/CrackReporter 0750
E: crack non-standard-executable-perm /usr/bin/CrackReporter 0750
E: crack wrong-script-interpreter /var/lib/crack/dict/1/sf.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/sf.dwg 0644
E: crack non-standard-gid /usr/bin/Crack crack
E: crack non-readable /usr/bin/Crack 0750
E: crack non-standard-executable-perm /usr/bin/Crack 0750
E: crack wrong-script-interpreter /var/lib/crack/dict/1/fast-names.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/fast-names.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/1/given-names.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/given-names.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/3/words.spanish.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/3/words.spanish.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/2/ethnologue.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/2/ethnologue.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/2/kjbible.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/2/kjbible.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/1/crl.words.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/crl.words.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/1/family-names.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/family-names.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/1/unix.dict.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/unix.dict.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/3/danish.words.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/3/danish.words.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/3/words.norwegian.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/3/words.norwegian.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/1/common-passwords.txt.dwg
"xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/common-passwords.txt.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/1/cartoon.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/cartoon.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/2/world.factbook.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/2/world.factbook.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/1/python.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/python.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/1/list.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/1/list.dwg 0644
E: crack wrong-script-interpreter /var/lib/crack/dict/3/words.dutch.dwg "xdawg"
E: crack non-executable-script /var/lib/crack/dict/3/words.dutch.dwg 0644

Basically, it sums up to:

- rpmlint thinks the dict files are scripts. They're not. So we can ignore all that.
- rpmlint is concerned about the restrictive permissions on some of the files.
I'm not. So we can ignore that too.

- package name ok
- meets PackagingGuidelines
- license ok (Artistic), license in %doc, matches code
- spec file is in am. english, legible
- source matches upstream
- source compiles and runs on ppc (FC-4)
- no unnecessary buildrequires
- no locales
- no libs, no need for -docs
- not relocatable
- no duplicate files
- macro use is consistent
- code not content (dicts acceptable content)
- permissions restrictive, but ok
- clean ok
- no need for -devel
- no need for .desktop
- scriplet ok

Minor nitpick:

- When it generates dict 1, it looks for /usr/dict/*words* ... to really make
this dict useful, you'll want to add BuildRequires: words, and make it look in
/usr/share/dict/*words* instead. But you can do that before you commit. I'll
also attach a patch for the spec file to enable this.

APPROVED.

Comment 2 Tom "spot" Callaway 2005-09-06 18:35:52 UTC
Created attachment 118520 [details]
use words to make a richer dict 1

Comment 3 Christian Iseli 2005-09-07 09:39:00 UTC
Thanks for the review and the patch.
Patch applied.
Imported to CVS.
Owners updated.
Build completed.
Closing... :-)

Comment 4 Warren Togami 2005-09-07 09:46:40 UTC
Christian is officially now Fedora's crack dealer. =)


Comment 5 Christian Iseli 2007-12-10 08:52:22 UTC
Package Change Request
======================
Package Name: crack
New Branches: EL-4 EL-5


Comment 6 Kevin Fenzi 2007-12-10 16:37:44 UTC
cvs done.

Comment 7 john jone 2013-03-04 15:17:02 UTC
.Crc all day

Comment 8 Christian Iseli 2013-03-04 16:54:14 UTC
Hi,

(In reply to comment #7)
> .Crc all day

--verbose please ?