From owner-freebsd-stable@FreeBSD.ORG Wed Apr 11 18:30:38 2007 Return-Path: X-Original-To: freebsd-stable@freebsd.org Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 46AE516A401 for ; Wed, 11 Apr 2007 18:30:38 +0000 (UTC) (envelope-from craig@feniz.gank.org) Received: from ion.gank.org (ion.gank.org [69.55.238.164]) by mx1.freebsd.org (Postfix) with ESMTP id 3BDBB13C4AD for ; Wed, 11 Apr 2007 18:30:36 +0000 (UTC) (envelope-from craig@feniz.gank.org) Received: by ion.gank.org (Postfix, from userid 1001) id E59F910EE5; Wed, 11 Apr 2007 13:30:35 -0500 (CDT) Date: Wed, 11 Apr 2007 13:30:33 -0500 From: Craig Boston To: cperciva@daemonology.net Message-ID: <20070411183033.GE60020@nowhere> Mail-Followup-To: Craig Boston , cperciva@daemonology.net, freebsd-stable@freebsd.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.2.2i Cc: freebsd-stable@freebsd.org Subject: Portsnap with (broken) transparent proxy on 6.2 X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2007 18:30:38 -0000 Colin, Normally I would contact you directly (off-list) with this report, however I had tried searching Google for these symptoms and found no resolutions, so I'm copying -stable for archival purposes in case someone runs into a similar problem. I recently decided to try out portsnap on a few machines. So far so good, except for a few. There are several systems that I maintain which are behind a transparent proxy (that I don't control and don't even really know what it is). It seems this proxy doesn't correctly support HTTP pipelining, and so the metadata updates fail. It looks like this: Fetching 2 metadata files... /usr/sbin/portsnap: cannot open 26700e16d411367c92b53d1aa48ab460fc64c4796b7aa15915e5de39eedab1cc.gz: No such file or directory metadata is corrupt. The debug output doesn't add much to it other than phttpget: Connection failure It looks like it does successfully get the first file each time, but loses the connection afterward. It would take a lot of invocations of portsnap to get them all :) I looked through the portsnap / phttpget source and didn't see an easy way to disable pipelining. Perhaps some sort of override could be added in the future to work around broken proxies? In the meantime, I have replaced /usr/libexec/phttpget with the following shell script and now everything is working fine: ------------------------------- #!/bin/sh SERVER=$1 shift for x in "$@"; do fetch "http://${SERVER}/${x}" done ------------------------------- Craig