Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
pam_fprint is a simple PAM module which uses libfprint's fingerprint processing and verification functionality for authentication. In other words, instead of seeing a password prompt, you're asked to scan your fingerprint. Submitter becomes maintainer. Is already maintainer of other ports. PR: 269554 Approved by: flo (mentor) Differential Revision: https://reviews.freebsd.org/D38628
- Loading branch information
1 parent
00c533b
commit cae60e6
Showing
9 changed files
with
146 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
PORTNAME= pam_fprint | ||
DISTVERSION= 20080330 | ||
PORTREVISION= 1 | ||
CATEGORIES= security | ||
|
||
MAINTAINER= Clockwork6400@protonmail.com | ||
COMMENT= PAM module offering finger print authentication using libfprint | ||
WWW= https://github.com/Clockwork6400/pam-fprint | ||
|
||
LICENSE= GPLv2 | ||
LICENSE_FILE= ${WRKSRC}/COPYING | ||
|
||
LIB_DEPENDS= libfprint.so:security/libfprint | ||
|
||
GNU_CONFIGURE= yes | ||
USES= autoreconf pkgconfig | ||
|
||
USE_GITHUB= yes | ||
GH_ACCOUNT= Clockwork6400 | ||
|
||
PLIST_FILES+= bin/pam_fprint_enroll \ | ||
lib/pam_fprint.so | ||
|
||
SUB_FILES= pkg-message | ||
|
||
.include <bsd.port.mk> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
TIMESTAMP = 1676392070 | ||
SHA256 (Clockwork6400-pam_fprint-20080330_GH0.tar.gz) = 35d9ed7a3e0d6d32db88da2b7ca5c70d656dff2548a3e417c1c49b8952ca650f | ||
SIZE (Clockwork6400-pam_fprint-20080330_GH0.tar.gz) = 15853 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
--- src/Makefile.am.orig 2023-02-14 15:43:27 UTC | ||
+++ src/Makefile.am | ||
@@ -1,7 +1,6 @@ | ||
-noinst_PROGRAMS = pamtest | ||
bin_PROGRAMS = pam_fprint_enroll | ||
pammod_PROGRAMS = pam_fprint.so | ||
-pammoddir=/lib/security | ||
+pammoddir=$(PREFIX)/lib | ||
|
||
pam_fprint_so_SOURCES = pam_fprint.c | ||
pam_fprint_so_CFLAGS = -fPIC $(FPRINT_CFLAGS) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
--- src/pam_fprint.c.orig 2023-02-14 15:43:27 UTC | ||
+++ src/pam_fprint.c | ||
@@ -18,6 +18,7 @@ | ||
*/ | ||
|
||
#include <stdio.h> | ||
+#include <stdlib.h> | ||
#include <unistd.h> | ||
#include <sys/types.h> | ||
#include <pwd.h> | ||
@@ -27,6 +28,7 @@ | ||
|
||
#define PAM_SM_AUTH | ||
#include <security/pam_modules.h> | ||
+#include <security/pam_appl.h> | ||
|
||
static int send_info_msg(pam_handle_t *pamh, char *msg) | ||
{ | ||
@@ -41,10 +43,10 @@ static int send_info_msg(pam_handle_t *pamh, char *msg | ||
|
||
r = pam_get_item(pamh, PAM_CONV, (const void **) &pc); | ||
if (r != PAM_SUCCESS) | ||
- return; | ||
+ return r; | ||
|
||
if (!pc || !pc->conv) | ||
- return; | ||
+ return PAM_BUF_ERR; | ||
|
||
return pc->conv(1, &msgp, &resp, pc->appdata_ptr); | ||
} | ||
@@ -62,10 +64,10 @@ static int send_err_msg(pam_handle_t *pamh, char *msg) | ||
|
||
r = pam_get_item(pamh, PAM_CONV, (const void **) &pc); | ||
if (r != PAM_SUCCESS) | ||
- return; | ||
+ return r; | ||
|
||
if (!pc || !pc->conv) | ||
- return; | ||
+ return PAM_BUF_ERR; | ||
|
||
return pc->conv(1, &msgp, &resp, pc->appdata_ptr); | ||
} | ||
@@ -102,7 +104,7 @@ static struct fp_print_data **find_dev_and_prints(stru | ||
struct fp_print_data **gallery; | ||
|
||
/* TODO: add device selection */ | ||
- while (print = prints[i++]) { | ||
+ while ((print = prints[i++])) { | ||
if (!ddev) { | ||
ddev = fp_dscv_dev_for_dscv_print(ddevs, print); | ||
driver_id = fp_dscv_print_get_driver_id(print); | ||
@@ -133,7 +135,7 @@ static struct fp_print_data **find_dev_and_prints(stru | ||
} | ||
|
||
i = 0, j = 0; | ||
- while (print = prints[i++]) { | ||
+ while ((print = prints[i++])) { | ||
driver_id_cur = fp_dscv_print_get_driver_id(print); | ||
if (driver_id_cur == driver_id) { | ||
err = fp_print_data_from_dscv_print(print, & (gallery[j])); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
--- src/pam_fprint_enroll.c.orig 2023-02-14 15:43:27 UTC | ||
+++ src/pam_fprint_enroll.c | ||
@@ -26,7 +26,7 @@ | ||
#include <unistd.h> | ||
#include <getopt.h> | ||
|
||
-#include <libfprint/fprint.h> | ||
+#include <fprint.h> | ||
|
||
static const char *finger_names[] = { | ||
[LEFT_THUMB] = "Left Thumb", | ||
@@ -47,7 +47,7 @@ static struct fp_dscv_dev *discover_device(struct fp_d | ||
struct fp_dscv_dev *ddev = NULL; | ||
int i; | ||
|
||
- for (i = 0; ddev = discovered_devs[i]; i++) { | ||
+ for (i = 0; (ddev = discovered_devs[i]); i++) { | ||
struct fp_driver *drv = fp_dscv_dev_get_driver(ddev); | ||
printf("Found device claimed by %s driver\n", | ||
fp_driver_get_full_name(drv)); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
[ | ||
{ type: install | ||
message: <<EOM | ||
The security/fprint_demo port contains the graphical `fprint_demo' | ||
application that allows you to manage your finger prints in a comfortable | ||
way. | ||
|
||
After enrolling fingerprints for your user(s), you can enable finger | ||
print authentication by adding the following line to the corresponding | ||
PAM configuration file(s) (see the PAM documentation and the pam_fprint | ||
web site for more information). | ||
|
||
auth sufficient %%PREFIX%%/lib/pam_fprint.so | ||
|
||
/etc/pam.d/system is used for system-wide defaults, | ||
/etc/pam.d/{gdm, kde} are used by the GDM/KDM login managers. | ||
EOM | ||
} | ||
] | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
pam_fprint is a simple PAM module which uses libfprint's fingerprint | ||
processing and verification functionality for authentication. In other words, | ||
instead of seeing a password prompt, you're asked to scan your fingerprint. |