I have a setup (working in 10.1[345]) which now fails in Big Sur, where I have a dynamic library (which calls another external library which in turn calls another) which is referenced from PAM.
More specifically, this is a setup to allow PIV smartcards to be used for "sudo" authentication. Thus, I have a line in /etc/pam.d/sudo which calls /usr/local/libexec/pam_ssh_agent_auth.so. This library calls a perl script which does a network LDAP lookup for the current user.
I have code-signed the pam_ssh_agent_auth library as well as the non-system library it references (as seen by "otool -L") and the non-system library that the intermediate one calls. These are all located in /usr/local/libexec as well.
When I run a sudo command now, e.g., "sudo date", the command simply hangs. The error I see in Console is:
Library Validation failed: Rejecting '/usr/local/libexec/pam_ssh_agent_auth.so' (Team ID: 82A95CK2HC, platform: no) for process 'sudo(16107)' (Team ID: none, platform: yes),
reason: mapping process is a platform binary, but mapped file is not.
I have found other references to this error but those seem to involve application bundles. In my case I have a single .so library (plus the two others) I wish to invoke.
The library is from
https://github.com/jbeverly/pam_ssh_agent_auth/releases
Again, this works fine in the three previous OS versions.
What do I need to change to make it work here? Advice most appreciated, please. Thank you!
More specifically, this is a setup to allow PIV smartcards to be used for "sudo" authentication. Thus, I have a line in /etc/pam.d/sudo which calls /usr/local/libexec/pam_ssh_agent_auth.so. This library calls a perl script which does a network LDAP lookup for the current user.
I have code-signed the pam_ssh_agent_auth library as well as the non-system library it references (as seen by "otool -L") and the non-system library that the intermediate one calls. These are all located in /usr/local/libexec as well.
When I run a sudo command now, e.g., "sudo date", the command simply hangs. The error I see in Console is:
Library Validation failed: Rejecting '/usr/local/libexec/pam_ssh_agent_auth.so' (Team ID: 82A95CK2HC, platform: no) for process 'sudo(16107)' (Team ID: none, platform: yes),
reason: mapping process is a platform binary, but mapped file is not.
I have found other references to this error but those seem to involve application bundles. In my case I have a single .so library (plus the two others) I wish to invoke.
The library is from
https://github.com/jbeverly/pam_ssh_agent_auth/releases
Again, this works fine in the three previous OS versions.
What do I need to change to make it work here? Advice most appreciated, please. Thank you!