- add support for non-standard root certificates

- this patch gives the possibility to install extra certificates by
  setting the variable ICA_CERTS in /etc/make.conf
- bump PORTREVISION

PR:		ports/115944
Submitted by:	Edwin Groothuis <edwin_AT_mavetju.org>
Approved by:	clsung (mentor)
This commit is contained in:
Thomas Abthorpe 2007-09-07 03:48:36 +00:00
parent d84f52593e
commit a2fc3d0d2d
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=198976
6 changed files with 74 additions and 24 deletions

View file

@ -7,6 +7,7 @@
PORTNAME= citrix_ica PORTNAME= citrix_ica
PORTVERSION= 10.6 PORTVERSION= 10.6
PORTREVISION= 1
CATEGORIES= net comms linux CATEGORIES= net comms linux
MASTER_SITES= MASTER_SITES=
DISTNAME= ${PORTNAME}-linuxx86-${PORTVERSION} DISTNAME= ${PORTNAME}-linuxx86-${PORTVERSION}
@ -26,23 +27,17 @@ NO_BUILD= yes
CDIR= ${PREFIX}/ICAClient CDIR= ${PREFIX}/ICAClient
BINDIR= ${PREFIX}/bin BINDIR= ${PREFIX}/bin
CERTDIR= ${CDIR}/keystore/cacerts
NSCP= ${LOCALBASE}/libexec/netscape \
${LOCALBASE}/libexec/netscape-linux \
${LOCALBASE}/netscape \
${LOCALBASE}/netscape-linux \
${LOCALBASE}/lib/netscape \
${LOCALBASE}/lib/netscape-linux \
${MOZILLA_HOME}
PLIST_SUB= MOZILLA_HOME=${MOZILLA_HOME} PLIST_SUB= MOZILLA_HOME=${MOZILLA_HOME}
.if defined(ICA_CERTS)
PLIST_SUB+= HAVE_ICA_CERTS="" ICA_CERTS="${ICA_CERTS}" CERTDIR="${CERTDIR}"
.else
PLIST_SUB+= HAVE_ICA_CERTS="@comment "
.endif
.include <bsd.port.pre.mk> .include <bsd.port.pre.mk>
.if exists(${PREFIX}/bin/kde-config)
HAVE_KDE= "\\ny"
.endif
.if defined(BATCH) || defined(PACKAGE_BUILDING) .if defined(BATCH) || defined(PACKAGE_BUILDING)
IGNORE='The distribution file for this port may not be automatically fetched due to licensing restrictions.' IGNORE='The distribution file for this port may not be automatically fetched due to licensing restrictions.'
.endif .endif
@ -60,6 +55,18 @@ do-fetch:
@${FALSE} @${FALSE}
.endif .endif
.if defined(ICA_CERTS)
pre-fetch:
.for f in ${ICA_CERTS}
@echo "Checking ${f}"
.if !exists(${DISTDIR}/${f})
@echo "Cert ${f} not found."
@exit 1
.endif
.endfor
.endif
do-install: do-install:
@if (test -d "${CDIR}") ; \ @if (test -d "${CDIR}") ; \
then \ then \
@ -80,4 +87,10 @@ do-install:
${INSTALL_SCRIPT} ${WRKSRC}/wfica.x ${PREFIX}/bin/wfica ${INSTALL_SCRIPT} ${WRKSRC}/wfica.x ${PREFIX}/bin/wfica
# XXX: This is missing a "${BRANDELF} -t Linux <executables>". # XXX: This is missing a "${BRANDELF} -t Linux <executables>".
.if defined(ICA_CERTS)
.for f in ${ICA_CERTS}
${INSTALL_DATA} ${DISTDIR}/${f} ${CERTDIR}
.endfor
.endif
.include <bsd.port.post.mk> .include <bsd.port.post.mk>

View file

@ -10,4 +10,15 @@ Linux to access virtualized applications. Other important capabilities
are powerful management and configuration tools and faster, more are powerful management and configuration tools and faster, more
flexible printing. flexible printing.
If your Citrix server does not have one of the supplied root-certificates,
you can copy the certificate to /usr/ports/distfiles and add the
following line to your /etc/make.conf:
ICA_CERTS=mycert.crt
It will then automatically be installed and removed with the normal
FreeBSD package tools.
WWW: http://www.citrix.com/English/ps2/products/product.asp?contentID=186 WWW: http://www.citrix.com/English/ps2/products/product.asp?contentID=186

View file

@ -98,6 +98,7 @@ ICAClient/keystore/cacerts/Class4PCA_G2_v2.crt
ICAClient/keystore/cacerts/GTECTGlobalRoot.crt ICAClient/keystore/cacerts/GTECTGlobalRoot.crt
ICAClient/keystore/cacerts/Pcs3ss_v4.crt ICAClient/keystore/cacerts/Pcs3ss_v4.crt
ICAClient/keystore/cacerts/SecureServer.crt ICAClient/keystore/cacerts/SecureServer.crt
%%HAVE_ICA_CERTS%%@unexec for f in %%ICA_CERTS%%; do rm %%CERTDIR%%/${f}; done
ICAClient/libctxssl.so ICAClient/libctxssl.so
ICAClient/nls/en/UTF-8/Wfcmgr ICAClient/nls/en/UTF-8/Wfcmgr
ICAClient/nls/en/UTF-8/Wfica ICAClient/nls/en/UTF-8/Wfica

View file

@ -7,6 +7,7 @@
PORTNAME= citrix_ica PORTNAME= citrix_ica
PORTVERSION= 10.6 PORTVERSION= 10.6
PORTREVISION= 1
CATEGORIES= net comms linux CATEGORIES= net comms linux
MASTER_SITES= MASTER_SITES=
DISTNAME= ${PORTNAME}-linuxx86-${PORTVERSION} DISTNAME= ${PORTNAME}-linuxx86-${PORTVERSION}
@ -26,23 +27,17 @@ NO_BUILD= yes
CDIR= ${PREFIX}/ICAClient CDIR= ${PREFIX}/ICAClient
BINDIR= ${PREFIX}/bin BINDIR= ${PREFIX}/bin
CERTDIR= ${CDIR}/keystore/cacerts
NSCP= ${LOCALBASE}/libexec/netscape \
${LOCALBASE}/libexec/netscape-linux \
${LOCALBASE}/netscape \
${LOCALBASE}/netscape-linux \
${LOCALBASE}/lib/netscape \
${LOCALBASE}/lib/netscape-linux \
${MOZILLA_HOME}
PLIST_SUB= MOZILLA_HOME=${MOZILLA_HOME} PLIST_SUB= MOZILLA_HOME=${MOZILLA_HOME}
.if defined(ICA_CERTS)
PLIST_SUB+= HAVE_ICA_CERTS="" ICA_CERTS="${ICA_CERTS}" CERTDIR="${CERTDIR}"
.else
PLIST_SUB+= HAVE_ICA_CERTS="@comment "
.endif
.include <bsd.port.pre.mk> .include <bsd.port.pre.mk>
.if exists(${PREFIX}/bin/kde-config)
HAVE_KDE= "\\ny"
.endif
.if defined(BATCH) || defined(PACKAGE_BUILDING) .if defined(BATCH) || defined(PACKAGE_BUILDING)
IGNORE='The distribution file for this port may not be automatically fetched due to licensing restrictions.' IGNORE='The distribution file for this port may not be automatically fetched due to licensing restrictions.'
.endif .endif
@ -60,6 +55,18 @@ do-fetch:
@${FALSE} @${FALSE}
.endif .endif
.if defined(ICA_CERTS)
pre-fetch:
.for f in ${ICA_CERTS}
@echo "Checking ${f}"
.if !exists(${DISTDIR}/${f})
@echo "Cert ${f} not found."
@exit 1
.endif
.endfor
.endif
do-install: do-install:
@if (test -d "${CDIR}") ; \ @if (test -d "${CDIR}") ; \
then \ then \
@ -80,4 +87,10 @@ do-install:
${INSTALL_SCRIPT} ${WRKSRC}/wfica.x ${PREFIX}/bin/wfica ${INSTALL_SCRIPT} ${WRKSRC}/wfica.x ${PREFIX}/bin/wfica
# XXX: This is missing a "${BRANDELF} -t Linux <executables>". # XXX: This is missing a "${BRANDELF} -t Linux <executables>".
.if defined(ICA_CERTS)
.for f in ${ICA_CERTS}
${INSTALL_DATA} ${DISTDIR}/${f} ${CERTDIR}
.endfor
.endif
.include <bsd.port.post.mk> .include <bsd.port.post.mk>

View file

@ -10,4 +10,15 @@ Linux to access virtualized applications. Other important capabilities
are powerful management and configuration tools and faster, more are powerful management and configuration tools and faster, more
flexible printing. flexible printing.
If your Citrix server does not have one of the supplied root-certificates,
you can copy the certificate to /usr/ports/distfiles and add the
following line to your /etc/make.conf:
ICA_CERTS=mycert.crt
It will then automatically be installed and removed with the normal
FreeBSD package tools.
WWW: http://www.citrix.com/English/ps2/products/product.asp?contentID=186 WWW: http://www.citrix.com/English/ps2/products/product.asp?contentID=186

View file

@ -98,6 +98,7 @@ ICAClient/keystore/cacerts/Class4PCA_G2_v2.crt
ICAClient/keystore/cacerts/GTECTGlobalRoot.crt ICAClient/keystore/cacerts/GTECTGlobalRoot.crt
ICAClient/keystore/cacerts/Pcs3ss_v4.crt ICAClient/keystore/cacerts/Pcs3ss_v4.crt
ICAClient/keystore/cacerts/SecureServer.crt ICAClient/keystore/cacerts/SecureServer.crt
%%HAVE_ICA_CERTS%%@unexec for f in %%ICA_CERTS%%; do rm %%CERTDIR%%/${f}; done
ICAClient/libctxssl.so ICAClient/libctxssl.so
ICAClient/nls/en/UTF-8/Wfcmgr ICAClient/nls/en/UTF-8/Wfcmgr
ICAClient/nls/en/UTF-8/Wfica ICAClient/nls/en/UTF-8/Wfica