diff --git a/bitnami/apache/2.4/debian-10/Dockerfile b/bitnami/apache/2.4/debian-10/Dockerfile index acc9a39948fc..b9bd3da6dbe0 100644 --- a/bitnami/apache/2.4/debian-10/Dockerfile +++ b/bitnami/apache/2.4/debian-10/Dockerfile @@ -22,7 +22,7 @@ ENV APACHE_HTTPS_PORT_NUMBER="" \ APACHE_SET_HTTPS_PORT="no" \ APACHE_SET_HTTP_PORT="no" \ BITNAMI_APP_NAME="apache" \ - BITNAMI_IMAGE_VERSION="2.4.41-debian-10-r27" \ + BITNAMI_IMAGE_VERSION="2.4.41-debian-10-r28" \ PATH="/opt/bitnami/apache/bin:$PATH" EXPOSE 8080 8443 diff --git a/bitnami/apache/2.4/debian-10/prebuildfs/libnet.sh b/bitnami/apache/2.4/debian-10/prebuildfs/libnet.sh index f884b7661fd7..c416148c5340 100644 --- a/bitnami/apache/2.4/debian-10/prebuildfs/libnet.sh +++ b/bitnami/apache/2.4/debian-10/prebuildfs/libnet.sh @@ -2,6 +2,9 @@ # # Library for network functions +# Load Generic Libraries +. /liblog.sh + # Functions ######################## @@ -42,3 +45,59 @@ is_hostname_resolved() { false fi } + +######################## +# Parse URL +# Globals: +# None +# Arguments: +# $1 - uri - String +# $2 - component to obtain. Valid options (scheme, authority, userinfo, host, port, path, query or fragment) - String +# Returns: +# String +parse_uri() { + local uri="${1:?uri is missing}" + local component="${2:?component is missing}" + + # Solution based on https://tools.ietf.org/html/rfc3986#appendix-B with + # additional sub-expressions to split authority into userinfo, host and port + # Credits to Patryk Obara (see https://stackoverflow.com/a/45977232/6694969) + local -r URI_REGEX='^(([^:/?#]+):)?(//((([^:/?#]+)@)?([^:/?#]+)(:([0-9]+))?))?(/([^?#]*))(\?([^#]*))?(#(.*))?' + # || | ||| | | | | | | | | | + # |2 scheme | ||6 userinfo 7 host | 9 port | 11 rpath | 13 query | 15 fragment + # 1 scheme: | |5 userinfo@ 8 :... 10 path 12 ?... 14 #... + # | 4 authority + # 3 //... + local index=0 + case "$component" in + scheme) + index=2 + ;; + authority) + index=4 + ;; + userinfo) + index=6 + ;; + host) + index=7 + ;; + port) + index=9 + ;; + path) + index=10 + ;; + query) + index=13 + ;; + fragment) + index=14 + ;; + *) + stderr_print "unrecognized component $1" + return 1 + ;; + esac + [[ "$uri" =~ $URI_REGEX ]] && echo "${BASH_REMATCH[${index}]}" +} diff --git a/bitnami/apache/README.md b/bitnami/apache/README.md index 05aee25ed562..c2b826dd11e6 100644 --- a/bitnami/apache/README.md +++ b/bitnami/apache/README.md @@ -46,7 +46,7 @@ Learn more about the Bitnami tagging policy and the difference between rolling t * [`2.4-ol-7`, `2.4.41-ol-7-r201` (2.4/ol-7/Dockerfile)](https://github.com/bitnami/bitnami-docker-apache/blob/2.4.41-ol-7-r201/2.4/ol-7/Dockerfile) -* [`2.4-debian-10`, `2.4.41-debian-10-r27`, `2.4`, `2.4.41`, `latest` (2.4/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-apache/blob/2.4.41-debian-10-r27/2.4/debian-10/Dockerfile) +* [`2.4-debian-10`, `2.4.41-debian-10-r28`, `2.4`, `2.4.41`, `latest` (2.4/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-apache/blob/2.4.41-debian-10-r28/2.4/debian-10/Dockerfile) Subscribe to project updates by watching the [bitnami/apache GitHub repo](https://github.com/bitnami/bitnami-docker-apache).