Skip to content

Commit

Permalink
oe-git-proxy: Enable oe-git-proxy for git >= 2.32
Browse files Browse the repository at this point in the history
Modern git versions (>= 2.32) have a optimization enabled where the
socket communication is moved into half-duplex mode once the client has
sent all necessary data and is waiting for RX. git is simply closing the
TX part of the socket.

There are proxy implementations out there that will shutdown the
complete communication once the partial shutdown was received - breaking
the git:// protocol.

Using socat with the ignoreeof option fixes this issue. Closing one of
stdin/stdout will not trigger a partial shutdown of the underlying
socket.

ignoreeof is a stone old feature. It will not break in combination with
older git versions - where the partial shutdown will not be triggerend
anyhow.

Link: https://lore.kernel.org/git/4831bbeb0ec29ec84f92e0badfc0d628ecc6921d.camel@siemens.com/

(From OE-Core rev: 1d9ff73c92d8872611e07cadd120924fca794aa3)

Signed-off-by: Florian Bezdeka <florian.bezdeka@siemens.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
  • Loading branch information
fbezdeka authored and alexandrebelloni committed Feb 3, 2023
1 parent 82efed4 commit 3816483
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion scripts/oe-git-proxy
Expand Up @@ -184,4 +184,4 @@ else
METHOD="PROXY:$PROXY:$1:$2,proxyport=${PORT}${PROXYAUTH}"
fi

exec $SOCAT STDIO "$METHOD"
exec $SOCAT STDIO,ignoreeof "$METHOD"

0 comments on commit 3816483

Please sign in to comment.