diff options
author | dinoex <dinoex@FreeBSD.org> | 2002-07-25 04:47:22 +0800 |
---|---|---|
committer | dinoex <dinoex@FreeBSD.org> | 2002-07-25 04:47:22 +0800 |
commit | 20f752af05155c6633bc0c154cf6e8569acf7775 (patch) | |
tree | 6a727abf2801f800abfb22e105cfe78444317cab /security/hpn-ssh | |
parent | b4276b2a1e27baca48bcb1bbcf92c92e69516e43 (diff) | |
download | freebsd-ports-gnome-20f752af05155c6633bc0c154cf6e8569acf7775.tar.gz freebsd-ports-gnome-20f752af05155c6633bc0c154cf6e8569acf7775.tar.zst freebsd-ports-gnome-20f752af05155c6633bc0c154cf6e8569acf7775.zip |
- add pam_cleanup from CURRENT
- Fix build problems < 4.0
PR: 40576
Diffstat (limited to 'security/hpn-ssh')
-rw-r--r-- | security/hpn-ssh/Makefile | 2 | ||||
-rw-r--r-- | security/hpn-ssh/files/auth2-pam-freebsd.c | 15 | ||||
-rw-r--r-- | security/hpn-ssh/files/patch-loginrec.c | 17 |
3 files changed, 29 insertions, 5 deletions
diff --git a/security/hpn-ssh/Makefile b/security/hpn-ssh/Makefile index a082ab89b890..7a0e3c5d13a3 100644 --- a/security/hpn-ssh/Makefile +++ b/security/hpn-ssh/Makefile @@ -7,7 +7,7 @@ PORTNAME= openssh PORTVERSION= 3.4p1 -PORTREVISION= 5 +PORTREVISION= 6 CATEGORIES= security ipv6 MASTER_SITES= ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/ \ ftp://ftp.op.net/pub/OpenBSD/OpenSSH/portable/ \ diff --git a/security/hpn-ssh/files/auth2-pam-freebsd.c b/security/hpn-ssh/files/auth2-pam-freebsd.c index 94ce18480e53..f3f06ad05751 100644 --- a/security/hpn-ssh/files/auth2-pam-freebsd.c +++ b/security/hpn-ssh/files/auth2-pam-freebsd.c @@ -33,7 +33,7 @@ */ #include "includes.h" -RCSID("$FreeBSD: /tmp/pcvs/ports/security/hpn-ssh/files/Attic/auth2-pam-freebsd.c,v 1.2 2002-07-07 18:55:26 dinoex Exp $"); +RCSID("$FreeBSD: /tmp/pcvs/ports/security/hpn-ssh/files/Attic/auth2-pam-freebsd.c,v 1.3 2002-07-24 20:47:22 dinoex Exp $"); #ifdef USE_PAM #include <security/pam_appl.h> @@ -156,6 +156,17 @@ pam_child(struct pam_ctxt *ctxt) exit(0); } +static void +pam_cleanup(void *ctxtp) +{ + struct pam_ctxt *ctxt = ctxtp; + int status; + + close(ctxt->pam_sock); + kill(ctxt->pam_pid, SIGHUP); + waitpid(ctxt->pam_pid, &status, 0); +} + static void * pam_init_ctx(Authctxt *authctxt) { @@ -192,6 +203,7 @@ pam_init_ctx(Authctxt *authctxt) } ctxt->pam_sock = socks[0]; close(socks[1]); + fatal_add_cleanup(pam_cleanup, ctxt); return (ctxt); } @@ -297,6 +309,7 @@ pam_free_ctx(void *ctxtp) struct pam_ctxt *ctxt = ctxtp; int status; + fatal_remove_cleanup(pam_cleanup, ctxt); close(ctxt->pam_sock); kill(ctxt->pam_pid, SIGHUP); waitpid(ctxt->pam_pid, &status, 0); diff --git a/security/hpn-ssh/files/patch-loginrec.c b/security/hpn-ssh/files/patch-loginrec.c index 46247c11d571..9327d9217916 100644 --- a/security/hpn-ssh/files/patch-loginrec.c +++ b/security/hpn-ssh/files/patch-loginrec.c @@ -1,12 +1,23 @@ --- loginrec.c.orig Tue Apr 23 15:09:19 2002 -+++ loginrec.c Mon Jul 15 21:29:20 2002 -@@ -654,7 +655,8 @@ ++++ loginrec.c Wed Jul 24 08:13:44 2002 +@@ -171,6 +171,7 @@ + + #ifdef HAVE_LIBUTIL_H + # include <libutil.h> ++# include <osreldate.h> + #endif + + /** +@@ -654,7 +655,12 @@ /* Use strncpy because we don't necessarily want null termination */ strncpy(ut->ut_name, li->username, MIN_SIZEOF(ut->ut_name, li->username)); # ifdef HAVE_HOST_IN_UTMP -- strncpy(ut->ut_host, li->hostname, MIN_SIZEOF(ut->ut_host, li->hostname)); ++# if defined(__FreeBSD__) && __FreeBSD_version <= 400000 + strncpy(ut->ut_host, li->hostname, MIN_SIZEOF(ut->ut_host, li->hostname)); ++# else + realhostname_sa(ut->ut_host, sizeof ut->ut_host, + &li->hostaddr.sa, li->hostaddr.sa.sa_len); ++# endif # endif # ifdef HAVE_ADDR_IN_UTMP /* this is just a 32-bit IP address */ |