summaryrefslogtreecommitdiff
path: root/user/rdesktop/gssapi.patch
blob: 5befcf02e55b240fe255ec1e83ba96386db38d33 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
From 71f1cfb909c0a955632001cf9fad80a321a43372 Mon Sep 17 00:00:00 2001
From: Pierre Ossman <ossman@cendio.se>
Date: Mon, 10 Jul 2017 15:12:26 +0200
Subject: [PATCH 1/2] Fix pointer types for gss_wrap()/gss_unrap()

We were using the incorrect type for the context for these two calls.
No practical effects, but some noise from the compiler about the wrong
pointer type.
---
 cssp.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/cssp.c b/cssp.c
index 9f4c0829..6ac37746 100644
--- a/cssp.c
+++ b/cssp.c
@@ -173,7 +173,7 @@ cssp_gss_get_service_name(char *server, gss_name_t * name)
 }
 
 static RD_BOOL
-cssp_gss_wrap(gss_ctx_id_t * ctx, STREAM in, STREAM out)
+cssp_gss_wrap(gss_ctx_id_t ctx, STREAM in, STREAM out)
 {
 	int conf_state;
 	OM_uint32 major_status;
@@ -212,7 +212,7 @@ cssp_gss_wrap(gss_ctx_id_t * ctx, STREAM in, STREAM out)
 }
 
 static RD_BOOL
-cssp_gss_unwrap(gss_ctx_id_t * ctx, STREAM in, STREAM out)
+cssp_gss_unwrap(gss_ctx_id_t ctx, STREAM in, STREAM out)
 {
 	OM_uint32 major_status;
 	OM_uint32 minor_status;

From b556651fe109c8802a0c798b8a680e5ff883bf4e Mon Sep 17 00:00:00 2001
From: Pierre Ossman <ossman@cendio.se>
Date: Mon, 10 Jul 2017 15:14:01 +0200
Subject: [PATCH 2/2] Use standard GSSAPI rather than libgssglue

That project is abandoned and the distributions aren't including
it anymore.
---
 configure.ac | 15 ++++-----------
 1 file changed, 4 insertions(+), 11 deletions(-)

diff --git a/configure.ac b/configure.ac
index e045c409..a969ad5d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -122,27 +122,20 @@ fi
 
 dnl CredSSP feature
 AC_ARG_ENABLE([credssp], AS_HELP_STRING([--disable-credssp], [disable support for CredSSP]))
-AC_ARG_ENABLE([static-gssglue], AS_HELP_STRING([--enable-static-gssglue]), 
-	      [static_gssglue=yes], [static_gssglue=no])
 AS_IF([test "x$enable_credssp" != "xno"], [
 	  if test -n "$PKG_CONFIG"; then
-	    PKG_CHECK_MODULES(GSSGLUE, libgssglue, [WITH_CREDSSP=1], [WITH_CREDSSP=0])
+	    PKG_CHECK_MODULES(GSSAPI, krb5-gssapi, [WITH_CREDSSP=1], [WITH_CREDSSP=0])
 	  fi
 
 	  if test x"$WITH_CREDSSP" = "x1"; then
 	      CREDSSPOBJ="cssp.o"
-	      CFLAGS="$CFLAGS $GSSGLUE_CFLAGS"
-
-	      AS_IF([test "x$static_gssglue" != "xno"], [
-	          LIBS="$LIBS -Wl,-Bstatic -lgssglue -Wl,-Bdynamic"
-	      ], [
-	          LIBS="$LIBS -lgssglue"
-	      ])
+	      CFLAGS="$CFLAGS $GSSAPI_CFLAGS"
+	      LIBS="$LIBS $GSSAPI_LIBS"
 
 	      AC_DEFINE(WITH_CREDSSP)
 	  else
 		echo
-		echo "CredSSP support requires libgssglue, install the dependency"
+		echo "CredSSP support requires GSSAPI, install the dependency"
 		echo "or disable the feature using --disable-credssp."
 		echo
 		exit 1