FascistCheck(3)
π FascistCheck(3) β a pro-active password checker library π
okay bestie, so this is a page from the Debian GNU/Linux manual, section 3 (that's the library-calls girlies), and we're about to get into FascistCheck. she's a password checker with main character energy and honestly? iconic. let's go π
β¨ NAME β¨
FascistCheck β a pro-active password checker library
π¦ SYNOPSIS π¦
#include <crack.h>
static char const CRACKLIB_DICTPATH[] = ...;
extern char const *
FascistCheck(char const passwd[], char const dictpath[]);
πΈ DESCRIPTION πΈ
okay so cracklib is a library, and inside it lives the FascistCheck C function, and you can use her in a "passwd"-type program. the whole idea is simple bestie: you try to stop users from picking passwords that "crack" could guess, by filtering them out at source. cracklib is literally an offshoot of version 5 of the "crack" software, and she contains a <em>considerable number</em> of ideas nicked from the new software. no cap. π
the first formal argument password is the potential password. the second formal argument dictpath is the full path name + filename prefix of the cracklib dictionary database. and here's the vibe check: FascistCheck returns the NULL pointer for a good password, or a pointer to a diagnostic string if it's a weak password. so like. NULL means slay, a string means π.
the database is in a binary format generated by the utilities crack_mkdict(8) and crack_packer(8). on a Debian system the database lives in the directory defined by the static constant CRACKLIB_DICTPATH, and that's set to /var/cache/cracklib/cracklib_dict. and none of the subroutines in the cracklib libraries have this location hard-coded into their implementations β she's not clingy like that. it gets generated daily with the program /etc/cron.daily/cracklib. periodt.
π FILES π
/var/cache/cracklib/cracklib_dict.[hwm|pwd|pwi]β the cracklib dictionary database files used by utilities./etc/cron.daily/cracklibβ the cracklib daily cron program that rebuilds the cracklib dictionary database./etc/cracklib/cracklib.confβ the cracklib configuration file, used by the cracklib daily cron program to rebuild the cracklib dictionary database./usr/sbin/crack_mkdictβ a cracklib shell script to create the initial list of words for the dictionary database./usr/share/doc/cracklib2-dev/examplesβ examplecc(1)source files that show howFascistCheckis used. go look, bestie, it's giving tutorial π
π«Ά SEE ALSO π«Ά
crack_teststr(8)crack_mkdict(8)update-cracklib(8)/usr/share/doc/cracklib2-dev/examples/usr/share/doc/cracklib2/cracklib2.html/usr/share/doc/cracklib2-dev/cracklib2-dev.html
π AUTHOR π
cracklib2 is written by Alec Muffett <alecm@crypto.dircon.co.uk>. the manual was added by Jean Pierre LeJacq <jplejacq@quoininc.com>. kings, both of them π«‘
and that's the whole page, bestie. you understood it, I understood it, we're both literally so smart β¨
version 2.7-8.5, dated Wed, 3 Oct 2001 01:37:09 +0100 β yes she's an elder millennial of a manpage and she's still serving. mwah π π¦πΈπ
π¦ where this page comes from
- alpine 3.22: cracklib-doc 2.10.3-r0 Β· LGPL-2.1-or-later
- alpine 3.23: cracklib-doc 2.10.3-r0 Β· LGPL-2.1-or-later
- alpine 3.24: cracklib-doc 2.10.3-r1 Β· LGPL-2.1-or-later
- arch rolling: cracklib 2.10.3-1 Β· GPL-2.0-or-later
- centos-stream 10: cracklib-devel 2.9.11-8.el10 Β· LGPL-2.1-or-later
- centos-stream 9: cracklib-devel 2.9.6-28.el9 Β· LGPLv2+
- centos-stream 9: cracklib-devel 2.9.6-28.el9 Β· LGPLv2+
- debian bookworm: libcrack2-dev 2.9.6-5+b1 Β· LGPL-2.1-only
- debian trixie: libcrack2-dev 2.9.6-5.2+b1 Β· LGPL-2.1-only
- fedora 43: cracklib-devel 2.10.3-1.fc43 Β· LGPL-2.1-or-later
- fedora 43: cracklib-devel 2.10.3-1.fc43 Β· LGPL-2.1-or-later
- fedora 43: cracklib-devel 2.9.11-8.fc43 Β· LGPL-2.1-or-later
- fedora 43: cracklib-devel 2.9.11-8.fc43 Β· LGPL-2.1-or-later
- fedora 44: cracklib-devel 2.10.3-1.fc44 Β· LGPL-2.1-or-later
- fedora 44: cracklib-devel 2.10.3-1.fc44 Β· LGPL-2.1-or-later
- fedora 44: cracklib-devel 2.9.11-10.fc44 Β· LGPL-2.1-or-later
- fedora 44: cracklib-devel 2.9.11-10.fc44 Β· LGPL-2.1-or-later
- nixpkgs unstable: cracklib 2.10.3
- opensuse-leap 16.0: cracklib-devel 2.9.11-160000.2.2 Β· LGPL-2.1-only
- opensuse-leap 16.0: cracklib-devel 2.9.11-160000.2.2 Β· LGPL-2.1-only
- opensuse-leap 16.0: cracklib-devel 2.9.11-160000.2.2 Β· LGPL-2.1-only
- opensuse-leap 16.0: cracklib-devel 2.9.11-160000.2.2 Β· LGPL-2.1-only
- ubuntu jammy: libcrack2-dev 2.9.6-3.4build4 Β· LGPL-2.1-only
- ubuntu noble: libcrack2-dev 2.9.6-5.1build2 Β· LGPL-2.1-only
- ubuntu questing: libcrack2-dev 2.9.6-5.2build1
- ubuntu resolute: libcrack2-dev 2.9.6-5.2build3 Β· LGPL-2.1-only
- ubuntu stonking: libcrack2-dev 2.9.6-5.3 Β· LGPL-2.1-only
- Copyright (C) 1998, 1999 Jean Pierre LeJacq <jplejacq@quoininc.com>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms