Fixes #71, MBR supportet. Additions to man pages.

This commit is contained in:
2018-10-29 19:07:42 +01:00
parent ab1a8a6e87
commit b033af5cfe
12 changed files with 162 additions and 130 deletions

View File

@ -157,6 +157,7 @@ account requisite __PAMPANICSO__
.PP
You will find your UUIDs in \fI/dev/disk/by-partuuid\fR.
You might want to execute "\fBls -l /dev/disk/by-partuuid/\fR" in your favourite shell to find out which UUID is which device.
If \fI/dev/disk/by-partuuid\fR is not existent, you can use the ID from \fI/dev/disk/by-uuid\fR or \fI/dev/disk/by-id\fR.
.SH "RETURN VALUES"

View File

@ -53,7 +53,26 @@ void argSplit(char **some_arg, char **some_temp, const char *arg){
}
void constrPath(char **dst, char **src){
sprintf(*dst, "/dev/disk/by-partuuid/%s", *src);
char tmp[256];
// EFI
strcpy(tmp, "/dev/disk/by-partuuid/");
strcat(tmp, *src);
if(access(tmp, F_OK) != -1)
sprintf(*dst, "/dev/disk/by-partuuid/%s", *src);
// MBR
memset(tmp, 0, sizeof tmp);
strcat(tmp, "/dev/disk/by-uuid/");
strcat(tmp, *src);
if(access(tmp, F_OK) != -1)
sprintf(*dst, "/dev/disk/by-uuid/%s", *src);
// Fallback vendor hardware id
else
sprintf(*dst, "/dev/disk/by-id/%s", *src);
}
PAM_EXTERN int pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, const char *argv[]){