ports/176217: [patch] comms/conserver-com to enable/fix GSSAPI

Ryan Steinmetz zi at FreeBSD.org
Sun Feb 17 22:00:01 UTC 2013


>Number:         176217
>Category:       ports
>Synopsis:       [patch] comms/conserver-com to enable/fix GSSAPI
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun Feb 17 22:00:01 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Ryan Steinmetz
>Release:        
>Organization:
>Environment:
>Description:
- Add GSSAPI-related options to enable/control GSSAPI functionality
- Bump PORTREVISION
>How-To-Repeat:

>Fix:


Patch attached with submission follows:

Index: files/extra-patch-conserver__master.c
===================================================================
--- files/extra-patch-conserver__master.c	(revision 0)
+++ files/extra-patch-conserver__master.c	(working copy)
@@ -0,0 +1,17 @@
+--- ./conserver/master.c.orig	2013-02-15 18:35:06.000000000 -0500
++++ ./conserver/master.c	2013-02-15 18:36:30.000000000 -0500
+@@ -571,9 +571,14 @@
+ 			    FileWrite(pCLServing->fd, FLAGFALSE, "ok\r\n",
+ 				      4);
+ 			} else {
++#if HAVE_GSSAPI
++			    FileWrite(pCLServing->fd, FLAGFALSE,
++				      "kerberos/gssapi required, use kinit\r\n", -1);
++#else
+ 			    FilePrint(pCLServing->fd, FLAGFALSE,
+ 				      "passwd? %s\r\n", myHostname);
+ 			    pCLServing->iState = S_PASSWD;
++#endif
+ 			}
+ 		    }
+ #if HAVE_OPENSSL

Property changes on: files/extra-patch-conserver__master.c
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: files/patch-conserver__group.c
===================================================================
--- files/patch-conserver__group.c	(revision 0)
+++ files/patch-conserver__group.c	(working copy)
@@ -0,0 +1,44 @@
+--- ./conserver/group.c.orig	2009-09-26 05:58:05.000000000 -0400
++++ ./conserver/group.c	2013-02-15 18:34:20.000000000 -0500
+@@ -72,6 +72,7 @@
+ #include <master.h>
+ #include <main.h>
+ #include <version.h>
++#include <stdio.h>
+ 
+ #if HAVE_PAM
+ #include <security/pam_appl.h>
+@@ -1930,7 +1931,7 @@
+ 	    FileWrite(pCL->fd, FLAGFALSE, sendtok.value, sendtok.length);
+ 	    FileSetQuoteIAC(pCL->fd, FLAGTRUE);
+ 	    pCL->iState = S_NORMAL;
+-	    gss_release_buffer(NULL, &sendtok);
++	    gss_release_buffer(&stmin, &sendtok);
+ 	    BuildString((char *)0, pCL->username);
+ 	    BuildString((char *)0, pCL->acid);
+ 	    stmaj = gss_display_name(&stmin, user, &dbuf, NULL);
+@@ -1940,7 +1941,7 @@
+ 	    BuildStringChar('@', pCL->acid);
+ 	    BuildString(pCL->peername->string, pCL->acid);
+ 	    gss_release_name(&stmin, &user);
+-	    gss_release_buffer(NULL, &dbuf);
++	    gss_release_buffer(&stmin, &dbuf);
+ 	    ret = 1;
+ 	    break;
+ 	case GSS_S_CREDENTIALS_EXPIRED:
+@@ -3940,12 +3941,10 @@
+ 					      "failed]\r\n", -1);
+ 				    continue;
+ 				}
+-				if (TAB3 == (TABDLY & sbuf.c_oflag)) {
+-				    sbuf.c_oflag &= ~TABDLY;
+-				    sbuf.c_oflag |= TAB0;
++				if (sbuf.c_oflag & OXTABS) {
++				    sbuf.c_oflag &= ~OXTABS;
+ 				} else {
+-				    sbuf.c_oflag &= ~TABDLY;
+-				    sbuf.c_oflag |= TAB3;
++				    sbuf.c_oflag |= OXTABS;
+ 				}
+ 				if (-1 ==
+ 				    tcsetattr(FileFDNum

Property changes on: files/patch-conserver__group.c
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: files/patch-group.c
===================================================================
--- files/patch-group.c	(revision 312313)
+++ files/patch-group.c	(working copy)
@@ -1,18 +0,0 @@
---- conserver/group.c.orig	2008-07-03 08:06:56.000000000 +0900
-+++ conserver/group.c	2008-07-03 08:08:28.000000000 +0900
-@@ -3839,12 +3839,10 @@
- 					      "failed]\r\n", -1);
- 				    continue;
- 				}
--				if (TAB3 == (TABDLY & sbuf.c_oflag)) {
--				    sbuf.c_oflag &= ~TABDLY;
--				    sbuf.c_oflag |= TAB0;
-+				if (sbuf.c_oflag & OXTABS) {
-+				    sbuf.c_oflag &= ~OXTABS;
- 				} else {
--				    sbuf.c_oflag &= ~TABDLY;
--				    sbuf.c_oflag |= TAB3;
-+				    sbuf.c_oflag |= OXTABS;
- 				}
- 				if (-1 ==
- 				    tcsetattr(FileFDNum
Index: files/patch-configure
===================================================================
--- files/patch-configure	(revision 0)
+++ files/patch-configure	(working copy)
@@ -0,0 +1,34 @@
+--- ./configure.orig	2009-09-26 05:18:38.000000000 -0400
++++ ./configure	2013-02-15 18:55:19.000000000 -0500
+@@ -7287,6 +7287,7 @@
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+ $ac_includes_default
++#include <stdio.h>
+ #include <gssapi/gssapi.h>
+ _ACEOF
+ rm -f conftest.$ac_objext
+@@ -7328,6 +7329,7 @@
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
++#include <stdio.h>
+ #include <gssapi/gssapi.h>
+ _ACEOF
+ if { (ac_try="$ac_cpp conftest.$ac_ext"
+@@ -7405,6 +7407,7 @@
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
++#include <stdio.h>
+ #include <gssapi/gssapi.h>
+ 
+ int
+@@ -7513,6 +7516,7 @@
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
++#include <stdio.h>
+ #include <gssapi/gssapi.h>
+ 
+ int

Property changes on: files/patch-configure
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: Makefile
===================================================================
--- Makefile	(revision 312313)
+++ Makefile	(working copy)
@@ -2,6 +2,7 @@
 
 PORTNAME=	conserver
 PORTVERSION=	8.1.18
+PORTREVISION=	1
 CATEGORIES=	comms
 MASTER_SITES=	http://www.conserver.com/ \
 		ftp://ftp.conserver.com/conserver/
@@ -15,13 +16,17 @@
 		--with-pam --with-libwrap --with-openssl
 USE_RC_SUBR=	conserver
 
-MAN1=	console.1
-MAN5=	conserver.cf.5 conserver.passwd.5
-MAN8=	conserver.8
+MAN1=		console.1
+MAN5=		conserver.cf.5 conserver.passwd.5
+MAN8=		conserver.8
 
-OPTIONS_DEFINE=	UDS
+OPTIONS_DEFINE=	UDS GSSAPI GSSAPIONLY STRIPREALM
 UDS_DESC=	Use Unix domain sockets for client/server
+STRIPREALM_DESC=Strip @REALM when using GSSAPI
+GSSAPIONLY_DESC=Never prompt for a password when using GSSAPI
 
+.include <bsd.port.options.mk>
+
 DEFAULTPORT?=	782
 DEFAULTHOST?=	localhost
 
@@ -31,4 +36,14 @@
 CONFIGURE_ARGS+=	--with-uds
 .endif
 
+.if ${PORT_OPTIONS:MGSSAPI}
+CONFIGURE_ARGS+=	--with-gssapi
+.if ${PORT_OPTIONS:MSTRIPREALM}
+CONFIGURE_ARGS+=	--with-striprealm
+.endif
+.if ${PORT_OPTIONS:MGSSAPIONLY}
+EXTRA_PATCHES=		${FILESDIR}/extra-patch-conserver__master.c
+.endif
+.endif
+
 .include <bsd.port.post.mk>


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-ports-bugs mailing list