summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2021-08-10 17:46:52 +0000
committerLaurent Bercot <ska@appnovation.com>2021-08-10 17:46:52 +0000
commitd54e853e93e9a413aeb02f2d9bb87349b0b862c7 (patch)
tree1041d0052ad14aed3edc7640ee0cac6199618366
parent0104e366908d9a4100f1b4313cdece20b636c6d6 (diff)
downloadpamela-d54e853e93e9a413aeb02f2d9bb87349b0b862c7.tar.xz
Adapt to skalibs-2.11.0.0
Signed-off-by: Laurent Bercot <ska@appnovation.com>
-rw-r--r--CONTRIBUTING5
-rw-r--r--COPYING2
-rw-r--r--DCO37
-rw-r--r--doc/index.html11
-rw-r--r--src/include/pamela/pamela.h18
-rw-r--r--src/pamela/pam_set_item.c4
-rw-r--r--src/pamela/pam_start.c2
-rw-r--r--src/pamela/pamela_startf.c2
-rw-r--r--src/pamela/pamelad.c2
9 files changed, 65 insertions, 18 deletions
diff --git a/CONTRIBUTING b/CONTRIBUTING
new file mode 100644
index 0000000..6279422
--- /dev/null
+++ b/CONTRIBUTING
@@ -0,0 +1,5 @@
+ Please add a Signed-Off-By: line at the end of your commit,
+which certifies that you have the right and authority to pass
+it on as an open-source patch, as explicited in the Developer's
+Certificate of Origin available in this project's DCO file,
+or at https://developercertificate.org/
diff --git a/COPYING b/COPYING
index 898f9cb..04c41fb 100644
--- a/COPYING
+++ b/COPYING
@@ -1,4 +1,4 @@
-Copyright (c) 2018-2020 Laurent Bercot <ska-skaware@skarnet.org>
+Copyright (c) 2018-2021 Laurent Bercot <ska-skaware@skarnet.org>
Permission to use, copy, modify, and distribute this software for any
purpose with or without fee is hereby granted, provided that the above
diff --git a/DCO b/DCO
new file mode 100644
index 0000000..8201f99
--- /dev/null
+++ b/DCO
@@ -0,0 +1,37 @@
+Developer Certificate of Origin
+Version 1.1
+
+Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
+1 Letterman Drive
+Suite D4700
+San Francisco, CA, 94129
+
+Everyone is permitted to copy and distribute verbatim copies of this
+license document, but changing it is not allowed.
+
+
+Developer's Certificate of Origin 1.1
+
+By making a contribution to this project, I certify that:
+
+(a) The contribution was created in whole or in part by me and I
+ have the right to submit it under the open source license
+ indicated in the file; or
+
+(b) The contribution is based upon previous work that, to the best
+ of my knowledge, is covered under an appropriate open source
+ license and I have the right under that license to submit that
+ work with modifications, whether created in whole or in part
+ by me, under the same open source license (unless I am
+ permitted to submit under a different license), as indicated
+ in the file; or
+
+(c) The contribution was provided directly to me by some other
+ person who certified (a), (b) or (c) and I have not modified
+ it.
+
+(d) I understand and agree that this project and the contribution
+ are public and that a record of the contribution (including all
+ personal information I submit with it, including my sign-off) is
+ maintained indefinitely and may be redistributed consistent with
+ this project or the open source license(s) involved.
diff --git a/doc/index.html b/doc/index.html
index d1b756d..080032d 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -63,7 +63,7 @@ for privilege elevation.
that supports Linux-PAM - (so, probably a Linux system) </li>
<li> GNU make, version 3.81 or later </li>
<li> <a href="//skarnet.org/software/skalibs/">skalibs</a> version
-2.9.2.0 or later. It's a build-time requirement and a run-time
+2.11.0.0 or later. It's a build-time requirement and a run-time
requirement. </li>
<li> <a href="http://www.linux-pam.org/">Linux-PAM</a> version 1.3.0
or later. It's a build-time requirement and a run-time requirement. </li>
@@ -80,7 +80,12 @@ or later. It's a build-time requirement and a run-time requirement. </li>
<ul>
<li> <!-- The current released version of pamela is <a href="pamela-0.0.1.0.tar.gz">0.0.1.0</a>. -->
- pamela is a work in progress: there is no numbered version yet. </li>
+ pamela is in maintenance mode; there is no numbered version, and it is
+unfortunately likely that there will never be one. Given how most PAM-using
+projects are written, chances are that pamela will not help; sanitizing PAM
+is really more about changing the programming habits of its users to use
+component isolation than it is about actual isolation software.
+</li>
<li> You can checkout a copy of the
<a href="//git.skarnet.org/cgi-bin/cgit.cgi/pamela/">pamela
git repository</a>:
@@ -137,7 +142,7 @@ public interface to Linux-PAM</a> is implemented by the pamela library. </li>
<ul>
<li> <tt>pamela</tt> is discussed on the
-<a href="//skarnet.org/lists.html#skaware">skaware</a> mailing-list. </li>
+<a href="//skarnet.org/lists/#skaware">skaware</a> mailing-list. </li>
</ul>
</body>
diff --git a/src/include/pamela/pamela.h b/src/include/pamela/pamela.h
index ce5a971..58fccc6 100644
--- a/src/include/pamela/pamela.h
+++ b/src/include/pamela/pamela.h
@@ -24,8 +24,8 @@
/* pam_fail_delay */
-typedef void pamela_pam_delay_func_t (int, unsigned int, void *) ;
-typedef pamela_pam_delay_func_t *pamela_pam_delay_func_t_ref ;
+typedef void pamela_pam_delay_func (int, unsigned int, void *) ;
+typedef pamela_pam_delay_func *pamela_pam_delay_func_ref ;
/* Conversations */
@@ -46,8 +46,8 @@ struct pamela_pam_response_s
extern void pamela_pam_response_free (pamela_pam_response_t *, uint32_t) ;
-typedef int pamela_pam_conv_func_t (int, pamela_pam_message_t const **, pamela_pam_response_t **, void *) ;
-typedef pamela_pam_conv_func_t *pamela_pam_conv_func_t_ref ;
+typedef int pamela_pam_conv_func (int, pamela_pam_message_t const **, pamela_pam_response_t **, void *) ;
+typedef pamela_pam_conv_func *pamela_pam_conv_func_ref ;
/* Client handle */
@@ -55,11 +55,11 @@ typedef pamela_pam_conv_func_t *pamela_pam_conv_func_t_ref ;
typedef struct pamela_s pamela_t, *pamela_t_ref ;
struct pamela_s
{
- textmessage_receiver_t in ;
- textmessage_sender_t out ;
+ textmessage_receiver in ;
+ textmessage_sender out ;
pid_t pid ;
- pamela_pam_delay_func_t_ref delayfn ;
- pamela_pam_conv_func_t_ref convfn ;
+ pamela_pam_delay_func_ref delayfn ;
+ pamela_pam_conv_func_ref convfn ;
void *aux ;
char inbuf[PAMELA_BUFSIZE] ;
} ;
@@ -70,7 +70,7 @@ extern pamela_t const pamela_zero ;
/* User-facing functions */
-extern int pamela_startf (pamela_t *, char const *, char const *, pamela_pam_conv_func_t_ref, void *) ;
+extern int pamela_startf (pamela_t *, char const *, char const *, pamela_pam_conv_func_ref, void *) ;
extern void pamela_end (pamela_t *) ;
extern int pamela_strerror (pamela_t *, unsigned char, stralloc *) ;
extern int pamela_getenvlist (pamela_t *, stralloc *) ;
diff --git a/src/pamela/pam_set_item.c b/src/pamela/pam_set_item.c
index 03e08c0..f3c145e 100644
--- a/src/pamela/pam_set_item.c
+++ b/src/pamela/pam_set_item.c
@@ -33,13 +33,13 @@ int pam_set_item (pam_handle_t *pamh, int item_type, void const *item)
case PAM_FAIL_DELAY :
{
int e ;
- pamh->handle.delayfn = (pamela_pam_delay_func_t_ref)item ;
+ pamh->handle.delayfn = (pamela_pam_delay_func_ref)item ;
e = pamela_op(&pamh->handle, PAMELA_OP_SETFAILDELAY, 0) ;
if (e != PAM_SUCCESS) return e ;
break ;
}
case PAM_CONV :
- pamh->handle.convfn = (pamela_pam_conv_func_t_ref)item ;
+ pamh->handle.convfn = (pamela_pam_conv_func_ref)item ;
break ;
case PAM_XAUTHDATA :
return xauthdata_pack_and_set(&pamh->handle, (struct pam_xauth_data const *)item) ;
diff --git a/src/pamela/pam_start.c b/src/pamela/pam_start.c
index 3847080..9206c64 100644
--- a/src/pamela/pam_start.c
+++ b/src/pamela/pam_start.c
@@ -23,7 +23,7 @@ int pam_start (char const *service_name, char const *user, struct pam_conv const
a->flagerrcached = a->flagenvcached = 0 ;
for (unsigned int i = 0 ; i < _PAM_RETURN_VALUES ; i++) a->err[i] = stralloc_zero ;
for (unsigned int i = 0 ; i < PAM_ITEM_MAX ; i++) a->item[i] = stralloc_zero ;
- e = pamela_startf(&a->handle, service_name, user, pam_conversation && pam_conversation->conv ? (pamela_pam_conv_func_t_ref)pam_conversation->conv : &pamela_dummy_conv, pam_conversation ? pam_conversation->appdata_ptr : 0) ;
+ e = pamela_startf(&a->handle, service_name, user, pam_conversation && pam_conversation->conv ? (pamela_pam_conv_func_ref)pam_conversation->conv : &pamela_dummy_conv, pam_conversation ? pam_conversation->appdata_ptr : 0) ;
if (e)
{
free(a) ;
diff --git a/src/pamela/pamela_startf.c b/src/pamela/pamela_startf.c
index 4d7ff46..9e054d6 100644
--- a/src/pamela/pamela_startf.c
+++ b/src/pamela/pamela_startf.c
@@ -8,7 +8,7 @@
#include <pamela/config.h>
#include <pamela/pamela.h>
-int pamela_startf (pamela_t *a, char const *service_name, char const *user, pamela_pam_conv_func_t_ref convfn, void *aux)
+int pamela_startf (pamela_t *a, char const *service_name, char const *user, pamela_pam_conv_func_ref convfn, void *aux)
{
char const *argv[4] = { PAMELA_LIBEXECPREFIX "pamelad", service_name, user, 0 } ;
int fd[2] ;
diff --git a/src/pamela/pamelad.c b/src/pamela/pamelad.c
index 42a08fe..617ca24 100644
--- a/src/pamela/pamelad.c
+++ b/src/pamela/pamelad.c
@@ -315,7 +315,7 @@ int main (int argc, char const *const *argv)
if (argc < 3) strerr_dieusage(100, USAGE) ;
if (ndelay_on(0) < 0) strerr_diefu2sys(111, "ndelay_on ", "0") ;
if (ndelay_on(1) < 0) strerr_diefu2sys(111, "ndelay_on ", "1") ;
- if (sig_ignore(SIGPIPE) < 0) strerr_diefu1sys(111, "ignore SIGPIPE") ;
+ if (!sig_altignore(SIGPIPE)) strerr_diefu1sys(111, "ignore SIGPIPE") ;
if (!getgid())
{