From nobody@FreeBSD.org  Wed Jul 15 14:27:02 2009
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 0BDFD1065670
	for <freebsd-gnats-submit@FreeBSD.org>; Wed, 15 Jul 2009 14:27:02 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21])
	by mx1.freebsd.org (Postfix) with ESMTP id EDACD8FC0C
	for <freebsd-gnats-submit@FreeBSD.org>; Wed, 15 Jul 2009 14:27:01 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.14.3/8.14.3) with ESMTP id n6FER1TJ096630
	for <freebsd-gnats-submit@FreeBSD.org>; Wed, 15 Jul 2009 14:27:01 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.14.3/8.14.3/Submit) id n6FER1CR096627;
	Wed, 15 Jul 2009 14:27:01 GMT
	(envelope-from nobody)
Message-Id: <200907151427.n6FER1CR096627@www.freebsd.org>
Date: Wed, 15 Jul 2009 14:27:01 GMT
From: Andrew Lewis <freeghb@gmail.com>
To: freebsd-gnats-submit@FreeBSD.org
Subject: Update port: security/luasec - Link against OpenSSL from ports
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         136793
>Category:       ports
>Synopsis:       Update port: security/luasec - Link against OpenSSL from ports
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    amdmi3
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Wed Jul 15 14:30:02 UTC 2009
>Closed-Date:    Mon Jul 20 16:53:27 UTC 2009
>Last-Modified:  Mon Jul 20 17:00:15 UTC 2009
>Originator:     Andrew Lewis
>Release:        7.1-RELEASE-p6
>Organization:
Private
>Environment:
FreeBSD foo.bar 7.1-RELEASE-p6 FreeBSD 7.1-RELEASE-p6 #4: Wed Jun 24 14:25:56 UTC 2009 toor@foo.bar:/usr/obj/usr/src/sys/ADAMANTIUM71 i386
>Description:
Update security/luasec to link against OpenSSL from ports so that it works on older versions of FreeBSD, and to respect $CC and $CFLAGS per handbook.
>How-To-Repeat:

>Fix:


Patch attached with submission follows:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	/usr/ports/security/luasec/
#	/usr/ports/security/luasec/Makefile
#	/usr/ports/security/luasec/pkg-descr
#	/usr/ports/security/luasec/pkg-plist
#	/usr/ports/security/luasec/distinfo
#	/usr/ports/security/luasec/files
#	/usr/ports/security/luasec/files/patch-src-Makefile
#
echo c - /usr/ports/security/luasec/
mkdir -p /usr/ports/security/luasec/ > /dev/null 2>&1
echo x - /usr/ports/security/luasec/Makefile
sed 's/^X//' >/usr/ports/security/luasec/Makefile << '8d6f2d06b7b4bd1fddc79cd678106504'
X# New ports collection makefile for:    luasec
X# Date created:				25 June 2009
X# Whom:					Andrew Lewis <freeghb@gmail.com>
X#
X# $FreeBSD: ports/security/luasec/Makefile,v 1.2 2009/07/14 06:36:52 pgollucci Exp $
X#
X
XPORTNAME=	luasec
XPORTVERSION=	0.3.2
XCATEGORIES=	security
XMASTER_SITES=	http://luaforge.net/frs/download.php/4059/
XPKGNAMEPREFIX=	${LUA_PKGNAMEPREFIX}
X
XMAINTAINER=	freeghb@gmail.com
XCOMMENT=	A Lua binding for the OpenSSL library to provide TLS/SSL communication
X
XRUN_DEPENDS+=	${LUA_MODLIBDIR}/socket/core.so:${PORTSDIR}/net/luasocket
X
XUSE_OPENSSL=            yes
XUSE_OPENSSL_PORT=       yes
X
XALL_TARGET=	bsd
XLIBDIR=		-L${LUA_LIBDIR}
XMAKE_ENV+=	INCDIR=-I${LUA_INCDIR}
XUSE_LUA=	5.1
XWANT_LUA_VER=	5.1
X
X.include <bsd.port.mk>
8d6f2d06b7b4bd1fddc79cd678106504
echo x - /usr/ports/security/luasec/pkg-descr
sed 's/^X//' >/usr/ports/security/luasec/pkg-descr << 'e2fb1a07ae63fed550738d0ec7905389'
XLuaSec is a binding for OpenSSL library to provide TLS/SSL communication. This 
Xversion delegates to LuaSocket the TCP connection establishment between the
Xclient and server. Then LuaSec uses this connection to start a secure TLS/SSL
Xsession.
X
XWWW: http://www.inf.puc-rio.br/~brunoos/luasec/
e2fb1a07ae63fed550738d0ec7905389
echo x - /usr/ports/security/luasec/pkg-plist
sed 's/^X//' >/usr/ports/security/luasec/pkg-plist << 'e6b1ae60ab5f895f52f48951d886ca17'
X%%LUA_MODLIBDIR%%/ssl.so
X%%LUA_MODSHAREDIR%%/ssl.lua
e6b1ae60ab5f895f52f48951d886ca17
echo x - /usr/ports/security/luasec/distinfo
sed 's/^X//' >/usr/ports/security/luasec/distinfo << '0a035b00f0b270927602abd9e405187d'
XMD5 (luasec-0.3.2.tar.gz) = ee74c2578a1eb594b889eeba7a3b57f0
XSHA256 (luasec-0.3.2.tar.gz) = 1a2f677aa94f42a886da31538f7f7e60b126fcf624663e4b06eaa03a7e428ef5
XSIZE (luasec-0.3.2.tar.gz) = 26467
0a035b00f0b270927602abd9e405187d
echo c - /usr/ports/security/luasec/files
mkdir -p /usr/ports/security/luasec/files > /dev/null 2>&1
echo x - /usr/ports/security/luasec/files/patch-src-Makefile
sed 's/^X//' >/usr/ports/security/luasec/files/patch-src-Makefile << '053a11d2cabc2462b67a41b346efe88a'
X--- src/Makefile.orig	2009-07-15 13:57:17.000000000 +0000
X+++ src/Makefile	2009-07-15 13:53:25.000000000 +0000
X@@ -24,10 +24,10 @@
X MAC_LDFLAGS=-bundle -undefined dynamic_lookup $(LIBDIR)
X 
X CP=cp
X-CC=gcc
X+CC?=gcc
X LD=$(MYENV) gcc
X-CFLAGS=$(MYCFLAGS)
X-LDFLAGS=$(MYLDFLAGS)
X+CFLAGS+=$(MYCFLAGS)
X+LDFLAGS+=$(MYLDFLAGS)
X 
X .PHONY: all clean install none linux bsd macosx
X 
053a11d2cabc2462b67a41b346efe88a
exit



>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-ports-bugs->amdmi3 
Responsible-Changed-By: amdmi3 
Responsible-Changed-When: Wed Jul 15 15:00:43 UTC 2009 
Responsible-Changed-Why:  
I'll take it. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=136793 
State-Changed-From-To: open->feedback 
State-Changed-By: amdmi3 
State-Changed-When: Wed Jul 15 15:02:23 UTC 2009 
State-Changed-Why:  
Could you please send an update as a patch. Also, won't it make sence to 
define USE_OPENSSL_PORT conditionally only for older FreeBSD versions? 
Afair there were some problems building ports when openssl is installed 
from ports as well. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=136793 

From: Andrew Lewis <freeghb@gmail.com>
To: bug-followup@freebsd.org
Cc:  
Subject: Re: ports/136793: Update port: security/luasec - Link against OpenSSL from ports
Date: Wed, 15 Jul 2009 19:25:48 +0200

 --Boundary-00=_cEhXKV52UZkdFZ/
 Content-Type: text/plain;
   charset="us-ascii"
 Content-Transfer-Encoding: 7bit
 Content-Disposition: inline
 
 Attached:
 
 luasec.Makefile.patch.txt: Patch for security/luasec to use OpenSSL from ports 
 - for older versions of FreeBSD only as suggested.
 
 patch-src-Makefile: To go in 'files', patch to luasec Makefile to respect CC, 
 CFLAGS
 
 patch-src-ssl.c: To go in 'files', patch from Matthew Wild to fix a bug in 
 luasec.
 
 [10:30:51] <MattJ> Without the patch the tests fail about 1/3 of the time
 [10:31:14] <MattJ> with it, I've run it in a loop for some time and still not 
 had the error
 [10:32:18] <Nick> sounds promising
 [10:51:06] <MattJ> Nick, http://prosody.im/patches/luasec-clear-error-
 queue.patch [prosody.im]
 [10:52:05] <Nick> that simple, eh? :D
 [10:52:14] <MattJ> That simple :)
 [10:52:29] <MattJ> It turns out that an OpenSSL API call can return multiple 
 errors
 [10:52:36] <MattJ> they are on a kind of stack
 [10:52:57] <MattJ> I suspect that some internal function sometimes adds an 
 extra error
 [10:53:07] <MattJ> But LuaSec only pops the first error from the stack
 [10:53:33] <MattJ> The OpenSSL docs say you should ensure the error stack is 
 empty before entering an API call
 [10:53:48] <MattJ> otherwise SSL_get_error() which LuaSec uses will not work 
 properly
 [10:55:20] <Nick> mm, seems reasonable
 
 
 --Boundary-00=_cEhXKV52UZkdFZ/
 Content-Type: text/plain;
   charset="UTF-8";
   name="luasec.Makefile.patch.txt"
 Content-Transfer-Encoding: 7bit
 Content-Disposition: attachment;
 	filename="luasec.Makefile.patch.txt"
 
 --- Makefile.orig	2009-07-14 06:36:52.000000000 +0000
 +++ Makefile	2009-07-15 17:04:25.000000000 +0000
 @@ -22,4 +22,11 @@
  USE_LUA=	5.1
  WANT_LUA_VER=	5.1
  
 -.include <bsd.port.mk>
 +.include <bsd.port.pre.mk>
 +
 +.if ${OSVERSION} < 700000
 +        USE_OPENSSL=            yes
 +        USE_OPENSSL_PORT=       yes
 +.endif
 +
 +.include <bsd.port.post.mk>
 
 --Boundary-00=_cEhXKV52UZkdFZ/
 Content-Type: text/x-patch;
   charset="UTF-8";
   name="patch-src-Makefile"
 Content-Transfer-Encoding: 7bit
 Content-Disposition: attachment;
 	filename="patch-src-Makefile"
 
 --- src/Makefile.orig	2009-07-15 13:57:17.000000000 +0000
 +++ src/Makefile	2009-07-15 13:53:25.000000000 +0000
 @@ -24,10 +24,10 @@
  MAC_LDFLAGS=-bundle -undefined dynamic_lookup $(LIBDIR)
  
  CP=cp
 -CC=gcc
 +CC?=gcc
  LD=$(MYENV) gcc
 -CFLAGS=$(MYCFLAGS)
 -LDFLAGS=$(MYLDFLAGS)
 +CFLAGS+=$(MYCFLAGS)
 +LDFLAGS+=$(MYLDFLAGS)
  
  .PHONY: all clean install none linux bsd macosx
  
 
 --Boundary-00=_cEhXKV52UZkdFZ/
 Content-Type: text/x-csrc;
   charset="UTF-8";
   name="patch-src-ssl.c"
 Content-Transfer-Encoding: 7bit
 Content-Disposition: attachment;
 	filename="patch-src-ssl.c"
 
 --- src/ssl.c.orig	2009-05-09 16:11:47.000000000 +0100
 +++ src/ssl.c	2009-07-15 16:46:03.000000000 +0100
 @@ -67,6 +67,7 @@
    if (ssl->state == ST_SSL_CLOSED)
      return IO_CLOSED;
    for ( ; ; ) {
 +    ERR_clear_error();
      int err = SSL_do_handshake(ssl->ssl);
      ssl->error = SSL_get_error(ssl->ssl, err);
      switch(ssl->error) {
 @@ -109,6 +110,7 @@
      return IO_CLOSED;
    *sent = 0;
    for ( ; ; ) {
 +    ERR_clear_error();
      int err = SSL_write(ssl->ssl, data, (int) count);
      ssl->error = SSL_get_error(ssl->ssl, err);
      switch(ssl->error) {
 @@ -151,6 +153,7 @@
      return IO_CLOSED;
    *got = 0;
    for ( ; ; ) {
 +    ERR_clear_error();
      int err = SSL_read(ssl->ssl, data, (int) count);
      ssl->error = SSL_get_error(ssl->ssl, err);
      switch(ssl->error) {
 
 --Boundary-00=_cEhXKV52UZkdFZ/--

From: Kelly Hays <kelly.hays@jkhfamily.org>
To: bug-followup@FreeBSD.org, freeghb@gmail.com
Cc:  
Subject: Re: ports/136793: Update port: security/luasec - Link against OpenSSL 
	from ports
Date: Wed, 15 Jul 2009 12:45:32 -0500

 --001485f626b02bbe3a046ec21fc8
 Content-Type: text/plain; charset=ISO-8859-1
 Content-Transfer-Encoding: 7bit
 
 I think any FreeBSD version 700024 or later should work with the base
 OpenSSL.
 Kelly
 
 --001485f626b02bbe3a046ec21fc8
 Content-Type: text/html; charset=ISO-8859-1
 Content-Transfer-Encoding: 7bit
 
 I think any FreeBSD version 700024 or later should work with the base OpenSSL.<br>Kelly<br><br>
 
 --001485f626b02bbe3a046ec21fc8--

From: Andrew Lewis <freeghb@gmail.com>
To: bug-followup@freebsd.org
Cc:  
Subject: Re: ports/136793: Update port: security/luasec - Link against OpenSSL from ports
Date: Wed, 15 Jul 2009 20:37:05 +0200

 --Boundary-00=_RHiXK3eQy7fuuWr
 Content-Type: text/plain;
   charset="utf-8"
 Content-Transfer-Encoding: 7bit
 Content-Disposition: inline
 
 > luasec.Makefile.patch.txt: Patch for security/luasec to use OpenSSL from
 > ports - for older versions of FreeBSD only as suggested.
 
 Updated.
 
 --Boundary-00=_RHiXK3eQy7fuuWr
 Content-Type: text/plain;
   charset="UTF-8";
   name="luasec.Makefile.patch.txt"
 Content-Transfer-Encoding: 7bit
 Content-Disposition: attachment;
 	filename="luasec.Makefile.patch.txt"
 
 --- Makefile.orig	2009-07-14 06:36:52.000000000 +0000
 +++ Makefile	2009-07-15 17:04:25.000000000 +0000
 @@ -22,4 +22,11 @@
  USE_LUA=	5.1
  WANT_LUA_VER=	5.1
  
 -.include <bsd.port.mk>
 +.include <bsd.port.pre.mk>
 +
 +.if ${OSVERSION} < 700024
 +        USE_OPENSSL=            yes
 +        USE_OPENSSL_PORT=       yes
 +.endif
 +
 +.include <bsd.port.post.mk>
 
 --Boundary-00=_RHiXK3eQy7fuuWr--
State-Changed-From-To: feedback->closed 
State-Changed-By: amdmi3 
State-Changed-When: Mon Jul 20 16:53:26 UTC 2009 
State-Changed-Why:  
Committed, with minor changes. Thanks! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=136793 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/136793: commit references a PR
Date: Mon, 20 Jul 2009 16:53:26 +0000 (UTC)

 amdmi3      2009-07-20 16:53:17 UTC
 
   FreeBSD ports repository
 
   Modified files:
     security/luasec      Makefile 
   Added files:
     security/luasec/files patch-Makefile patch-src-Makefile 
                           patch-src-ssl.c 
   Log:
   - Respect CC/CFLAGS
   - Use openssl from ports for older FreeBSD versions
   - Add a patch to handle openssl errors properly
   - While here, fix building with custom PREFIX/LOCALBASE
   
   PR:             136793
   Submitted by:   Andrew Lewis <freeghb@gmail.com> (maintainer)
   
   Revision  Changes    Path
   1.3       +13 -1     ports/security/luasec/Makefile
   1.1       +11 -0     ports/security/luasec/files/patch-Makefile (new)
   1.1       +27 -0     ports/security/luasec/files/patch-src-Makefile (new)
   1.1       +26 -0     ports/security/luasec/files/patch-src-ssl.c (new)
 _______________________________________________
 cvs-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/cvs-all
 To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
 
>Unformatted:
