Skip to content

Commit ad1200b

Browse files
Nao NishijimaNao Nishijima
Nao Nishijima
authored and
Nao Nishijima
committed
[FAB-1959] Support proxy auth in java buildscript
java buildscript of Docker image cannot work in proxy authentication environment because it does not support authentication. This patch supports proxy authentication in java buildscript. See FAB-1959 Change-Id: I5ee5526e0a06c59cfec440e61d0e37df96c1e4ef Signed-off-by: Nao Nishijima <[email protected]>
1 parent bf4f424 commit ad1200b

File tree

1 file changed

+22
-12
lines changed

1 file changed

+22
-12
lines changed

core/chaincode/shim/java/javabuild.sh

+22-12
Original file line numberDiff line numberDiff line change
@@ -20,20 +20,30 @@ set -e
2020
PARENTDIR=$(pwd)
2121
ARCH=`uname -m`
2222

23-
function getProxyHost {
24-
ADDR=${1#*://}
25-
echo ${ADDR%:*}
26-
}
23+
pattern='(https?://)?((([^:\/]+)(:([^\/]*))?@)?([^:\/?]+)(:([0-9]+))?)'
2724

28-
function getProxyPort {
29-
ADDR=${1#*://}
30-
echo ${ADDR#*:}
31-
}
25+
[ -n "$http_proxy" ] && HTTPPROXY=$http_proxy
26+
[ -n "$HTTP_PROXY" ] && HTTPPROXY=$HTTP_PROXY
27+
[ -n "$https_proxy" ] && HTTPSPROXY=$https_proxy
28+
[ -n "$HTTPS_PROXY" ] && HTTPSPROXY=$HTTPS_PROXY
29+
30+
if [ -n "$HTTPPROXY" ]; then
31+
if [[ "$HTTPPROXY" =~ $pattern ]]; then
32+
[ -n "${BASH_REMATCH[4]}" ] && JAVA_OPTS="$JAVA_OPTS -Dhttp.proxyUser=${BASH_REMATCH[4]}"
33+
[ -n "${BASH_REMATCH[6]}" ] && JAVA_OPTS="$JAVA_OPTS -Dhttp.proxyPass=${BASH_REMATCH[6]}"
34+
[ -n "${BASH_REMATCH[7]}" ] && JAVA_OPTS="$JAVA_OPTS -Dhttp.proxyHost=${BASH_REMATCH[7]}"
35+
[ -n "${BASH_REMATCH[9]}" ] && JAVA_OPTS="$JAVA_OPTS -Dhttp.proxyPort=${BASH_REMATCH[9]}"
36+
fi
37+
fi
38+
if [ -n "$HTTPSPROXY" ]; then
39+
if [[ "$HTTPSPROXY" =~ $pattern ]]; then
40+
[ -n "${BASH_REMATCH[4]}" ] && JAVA_OPTS="$JAVA_OPTS -Dhttps.proxyUser=${BASH_REMATCH[4]}"
41+
[ -n "${BASH_REMATCH[6]}" ] && JAVA_OPTS="$JAVA_OPTS -Dhttps.proxyPass=${BASH_REMATCH[6]}"
42+
[ -n "${BASH_REMATCH[7]}" ] && JAVA_OPTS="$JAVA_OPTS -Dhttps.proxyHost=${BASH_REMATCH[7]}"
43+
[ -n "${BASH_REMATCH[9]}" ] && JAVA_OPTS="$JAVA_OPTS -Dhttps.proxyPort=${BASH_REMATCH[9]}"
44+
fi
45+
fi
3246

33-
[ -n "$http_proxy" ] && JAVA_OPTS="$JAVA_OPTS -Dhttp.proxyHost=$(getProxyHost $http_proxy) -Dhttp.proxyPort=$(getProxyPort $http_proxy)"
34-
[ -n "$https_proxy" ] && JAVA_OPTS="$JAVA_OPTS -Dhttps.proxyHost=$(getProxyHost $https_proxy) -Dhttps.proxyPort=$(getProxyPort $https_proxy)"
35-
[ -n "$HTTP_PROXY" ] && JAVA_OPTS="$JAVA_OPTS -Dhttp.proxyHost=$(getProxyHost $HTTP_PROXY) -Dhttp.proxyPort=$(getProxyPort $HTTP_PROXY)"
36-
[ -n "$HTTPS_PROXY" ] && JAVA_OPTS="$JAVA_OPTS -Dhttps.proxyHost=$(getProxyHost $HTTPS_PROXY) -Dhttps.proxyPort=$(getProxyPort $HTTPS_PROXY)"
3747
export JAVA_OPTS
3848

3949
if [ x$ARCH == xx86_64 ]

0 commit comments

Comments
 (0)