New upstream release v0.6.0
This commit is contained in:
parent
d59e9cc267
commit
5068d17a09
1
.gitignore
vendored
1
.gitignore
vendored
@ -12,3 +12,4 @@
|
|||||||
/gssproxy-0.4.1.tar.gz
|
/gssproxy-0.4.1.tar.gz
|
||||||
/gssproxy-0.5.0.tar.gz
|
/gssproxy-0.5.0.tar.gz
|
||||||
/gssproxy-0.5.1.tar.gz
|
/gssproxy-0.5.1.tar.gz
|
||||||
|
/gssproxy-0.6.0.tar.gz
|
||||||
|
@ -1,73 +0,0 @@
|
|||||||
From bbda272145ebbe0cbb65467c1573e583b9e1b7c7 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Robbie Harwood <rharwood@redhat.com>
|
|
||||||
Date: Fri, 3 Jun 2016 14:30:36 +0000
|
|
||||||
Subject: [PATCH] Use new socket if uid, pid, or gid changes
|
|
||||||
|
|
||||||
The gssproxy daemon uses SO_PEERCRED to determine credentials of the
|
|
||||||
connecting process. However, these credentials are set only at the time
|
|
||||||
connect has called. Therefore they must be reset every time uid or pid
|
|
||||||
changes. For completeness, we check gid as well.
|
|
||||||
|
|
||||||
Signed-off-by: Robbie Harwood <rharwood@redhat.com>
|
|
||||||
Reviewed-by: Simo Sorce <simo@redhat.com>
|
|
||||||
Closes #27
|
|
||||||
---
|
|
||||||
proxy/src/client/gpm_common.c | 22 ++++++++++++++++++++++
|
|
||||||
1 file changed, 22 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/proxy/src/client/gpm_common.c b/proxy/src/client/gpm_common.c
|
|
||||||
index cb4ccdb..0a54dbc 100644
|
|
||||||
--- a/proxy/src/client/gpm_common.c
|
|
||||||
+++ b/proxy/src/client/gpm_common.c
|
|
||||||
@@ -13,6 +13,12 @@
|
|
||||||
struct gpm_ctx {
|
|
||||||
pthread_mutex_t lock;
|
|
||||||
int fd;
|
|
||||||
+
|
|
||||||
+ /* these are only meaningful if fd != -1 */
|
|
||||||
+ pid_t pid;
|
|
||||||
+ uid_t uid;
|
|
||||||
+ gid_t gid;
|
|
||||||
+
|
|
||||||
int next_xid;
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -93,6 +99,9 @@ done:
|
|
||||||
}
|
|
||||||
}
|
|
||||||
gpmctx->fd = fd;
|
|
||||||
+ gpmctx->pid = getpid();
|
|
||||||
+ gpmctx->uid = geteuid();
|
|
||||||
+ gpmctx->gid = getegid();
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -120,12 +129,25 @@ static void gpm_close_socket(struct gpm_ctx *gpmctx)
|
|
||||||
static int gpm_grab_sock(struct gpm_ctx *gpmctx)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
+ pid_t p;
|
|
||||||
+ uid_t u;
|
|
||||||
+ gid_t g;
|
|
||||||
|
|
||||||
ret = pthread_mutex_lock(&gpmctx->lock);
|
|
||||||
if (ret) {
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ /* Detect fork / setresuid and friends */
|
|
||||||
+ p = getpid();
|
|
||||||
+ u = geteuid();
|
|
||||||
+ g = getegid();
|
|
||||||
+
|
|
||||||
+ if (gpmctx->fd != -1 &&
|
|
||||||
+ (p != gpmctx->pid || u != gpmctx->uid || g != gpmctx->gid)) {
|
|
||||||
+ gpm_close_socket(gpmctx);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
if (gpmctx->fd == -1) {
|
|
||||||
ret = gpm_open_socket(gpmctx);
|
|
||||||
}
|
|
||||||
--
|
|
||||||
2.8.1
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
Name: gssproxy
|
Name: gssproxy
|
||||||
Version: 0.5.1
|
Version: 0.6.0
|
||||||
Release: 3%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: GSSAPI Proxy
|
Summary: GSSAPI Proxy
|
||||||
|
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
@ -44,6 +44,13 @@ BuildRequires: popt-devel
|
|||||||
BuildRequires: findutils
|
BuildRequires: findutils
|
||||||
BuildRequires: systemd-units
|
BuildRequires: systemd-units
|
||||||
|
|
||||||
|
# Tests stuff
|
||||||
|
# BuildRequires: openldap-clients
|
||||||
|
# BuildRequires: openldap-servers
|
||||||
|
# BuildRequires: krb5-server-ldap
|
||||||
|
# BuildRequires: valgrind
|
||||||
|
# BuildRequires: socket_wrapper
|
||||||
|
# BuildRequires: nss_wrapper
|
||||||
|
|
||||||
%description
|
%description
|
||||||
A proxy for GSSAPI credential handling
|
A proxy for GSSAPI credential handling
|
||||||
@ -65,6 +72,9 @@ autoreconf -f -i
|
|||||||
make %{?_smp_mflags} all
|
make %{?_smp_mflags} all
|
||||||
make test_proxymech
|
make test_proxymech
|
||||||
|
|
||||||
|
# %check
|
||||||
|
# make check
|
||||||
|
|
||||||
%install
|
%install
|
||||||
rm -rf %{buildroot}
|
rm -rf %{buildroot}
|
||||||
make install DESTDIR=%{buildroot}
|
make install DESTDIR=%{buildroot}
|
||||||
@ -109,6 +119,9 @@ rm -rf %{buildroot}
|
|||||||
%systemd_postun_with_restart gssproxy.service
|
%systemd_postun_with_restart gssproxy.service
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Jan 18 2017 Robbie Harwood <rharwood@redhat.com> - 0.6.0-1
|
||||||
|
- New upstream release v0.6.0
|
||||||
|
|
||||||
* Tue Sep 27 2016 Robbie Harwood <rharwood@redhat.com> - 0.5.1-3
|
* Tue Sep 27 2016 Robbie Harwood <rharwood@redhat.com> - 0.5.1-3
|
||||||
- Adjust libverto dependency to not use a specific backend
|
- Adjust libverto dependency to not use a specific backend
|
||||||
- Resolves: #1379812
|
- Resolves: #1379812
|
||||||
|
Loading…
Reference in New Issue
Block a user