Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 21 Mar 2015 14:03:40 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-bugs@FreeBSD.org
Subject:   [Bug 198772] Problem with pkg behind a chunking proxy
Message-ID:  <bug-198772-8@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=198772

            Bug ID: 198772
           Summary: Problem with pkg behind a chunking proxy
           Product: Base System
           Version: 10.1-RELEASE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: misc
          Assignee: freebsd-bugs@FreeBSD.org
          Reporter: sg-ball@laposte.net

Created attachment 154629
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=154629&action=edit
Python proxy to confirm the bug or be used as a workaround

I have a freshly installed FreeBSD 10.1 at work in a VM. As it is behind a
corporate proxy, I had to set HTTP_PROXY in environment and it began to run
fine.

But no way to get pkg to work correctly. I installed it from ports, still same
issue :

root@FriBi:~ # pkg update -f
Updating FreeBSD repository catalogue...
pkg: repository meta /var/db/pkg/FreeBSD.meta has wrong version or wrong format
Fetching meta.txz:   0%
pkg: No signature found
pkg: repository FreeBSD has no meta file, using default settings
Fetching packagesite.txz:   0%
pkg: No signature found
pkg: Unable to update repository FreeBSD
root@FriBi:~ #

I was finally able to by-pass the proxy ... and it immediately runned fine ...
So I tried to analyze the HTTP dialog. The corporate proxy always sends its
responses with Transfer-Encoding: chunked which I suspected to be the cause. I
could even confirm it by using a minimal Python proxy that :

    get the response from the corporate proxy with readall() buffering the
whole file
    send it back with a ContentLength header to its client (here pkg)

and then again it worked (I could do pkg install xorg ...)

Steps to reproduce :
- use the attached python prog as a proxy with the -C flag to make it chunk its
responses
- configure the pkg system to use that proxy
- try to use pkg update -f

Workaround :
- use the attached python prog as a proxy with the -c flag to make it un-chunk
its responses

BEWARE : the attached Python file is not thoroughly tested and should not be
used except to confirm the bug or as a last hope workaround

-- 
You are receiving this mail because:
You are the assignee for the bug.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-198772-8>