From: Michael Heimpold Date: Mon, 9 Jan 2023 19:44:09 +0000 (+0100) Subject: Merge pull request #20246 from mhei/php8-update-8.2.1 X-Git-Url: http://git.openwrt.org/?a=commitdiff_plain;h=88e3cc6615e24f1cf07a4ee8d09341cb17b06048;hp=9a49eb2e0ac63ef3d0230734c6d8d1700803cff4;p=feed%2Fpackages.git Merge pull request #20246 from mhei/php8-update-8.2.1 php8: update to 8.2.1 --- diff --git a/lang/python/django/Makefile b/lang/python/django/Makefile index 5d34a6cbd5..1249f3e551 100644 --- a/lang/python/django/Makefile +++ b/lang/python/django/Makefile @@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=django -PKG_VERSION:=4.1.3 +PKG_VERSION:=4.1.5 PKG_RELEASE:=1 PYPI_NAME:=Django -PKG_HASH:=678bbfc8604eb246ed54e2063f0765f13b321a50526bdc8cb1f943eda7fa31f1 +PKG_HASH:=ff56ebd7ead0fd5dbe06fe157b0024a7aaea2e0593bb3785fb594cf94dad58ef PKG_MAINTAINER:=Alexandru Ardelean , Peter Stadler PKG_LICENSE:=BSD-3-Clause diff --git a/lang/python/python-lxml/Makefile b/lang/python/python-lxml/Makefile index 55cf73db3a..628150e27d 100644 --- a/lang/python/python-lxml/Makefile +++ b/lang/python/python-lxml/Makefile @@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-lxml -PKG_VERSION:=4.9.1 -PKG_RELEASE:=$(AUTORELEASE) +PKG_VERSION:=4.9.2 +PKG_RELEASE:=1 PYPI_NAME:=lxml -PKG_HASH:=fe749b052bb7233fe5d072fcb549221a8cb1a16725c47c37e42b0b9cb3ff2c3f +PKG_HASH:=2455cfaeb7ac70338b3257f41e21f0724f4b5b0c0e7702da67ee6c3640835b67 PKG_LICENSE:=BSD-3-Clause PKG_LICENSE_FILES:=LICENSES.txt diff --git a/lang/python/python-pytz/Makefile b/lang/python/python-pytz/Makefile index 16490c00a0..f8e3cea8dc 100644 --- a/lang/python/python-pytz/Makefile +++ b/lang/python/python-pytz/Makefile @@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-pytz -PKG_VERSION:=2022.6 +PKG_VERSION:=2022.7 PKG_RELEASE:=1 PYPI_NAME:=pytz -PKG_HASH:=e89512406b793ca39f5971bc999cc538ce125c0e51c27941bef4568b460095e2 +PKG_HASH:=7ccfae7b4b2c067464a6733c6261673fdb8fd1be905460396b97a073e9fa683a PKG_MAINTAINER:=Alexandru Ardelean PKG_LICENSE:=MIT diff --git a/net/bind/Makefile b/net/bind/Makefile index 699f935502..c8e560591c 100644 --- a/net/bind/Makefile +++ b/net/bind/Makefile @@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=bind PKG_VERSION:=9.18.10 -PKG_RELEASE:=2 +PKG_RELEASE:=3 USERID:=bind=57:bind=57 PKG_MAINTAINER:=Noah Meyerhans @@ -143,6 +143,7 @@ export BUILD_CC="$(TARGET_CC)" TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed CONFIGURE_ARGS += \ + --disable-geoip \ --with-openssl="$(STAGING_DIR)/usr" \ --without-lmdb \ --enable-epoll \ diff --git a/net/boinc-wrapper/Makefile b/net/boinc-wrapper/Makefile new file mode 100644 index 0000000000..8e5dbe24b9 --- /dev/null +++ b/net/boinc-wrapper/Makefile @@ -0,0 +1,70 @@ +# SPDX-Identifier-License: GPL-3.0-or-later +# +# Copyright (C) 2023 by Vitalii Koshura +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=boinc-wrapper +PKG_VERSION:=26018 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://codeload.github.com/BOINC/boinc/tar.gz/refs/tags/wrapper/$(PKG_VERSION)? +PKG_HASH:=a93ae0a9e640a893e78f523c6d93f31b1d5812092f85af4e9ce964846373f55d + +PKG_MAINTAINER:=Vitalii Koshura +PKG_LICENSE:=GPL-3.0-or-later +PKG_LICENSE_FILES:=COPYING +PKG_CPE_ID:=cpe:/a:boinc-wrapper:boinc-wrapper + +PKG_INSTALL:=1 +PKG_BUILD_PARALLEL:=0 +PKG_FIXUP:=autoreconf + +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/target.mk + +define Package/boinc-wrapper + SECTION:=net + CATEGORY:=Network + TITLE:=BOINC wrapper + DEPENDS:=+libstdcpp + URL:=https://github.com/BOINC/boinc/ +endef + +define Package/boinc-wrapper/description + The Berkeley Open Infrastructure for Network Computing (BOINC) is a + software platform for distributed computing: several initiatives of + various scientific disciplines all compete for the idle time of + desktop computers. The developers' web site at the University of + Berkeley serves as a common portal to the otherwise independently run + projects. + + This package provides the BOINC wrapper that runs the Project applications as + subprocesses, and handles all communication with the BOINC client + (e.g., to report CPU time and fraction done). +endef + +CONFIGURE_ARGS += \ + --disable-server --disable-manager --disable-client --enable-libraries \ + --enable-boinczip \ + --with-boinc-platform=$(REAL_GNU_TARGET_NAME) \ + --with-boinc-alt-platform=$(ARCH)-$(BOARD)-$(DEVICE_TYPE)-openwrt-$(TARGET_SUFFIX) + +TARGET_CFLAGS += -Wno-format -Wno-format-security +TARGET_CPPFLAGS += -Wno-format -Wno-format-security + +define Build/Compile + $(call Build/Compile/Default) + $(MAKE_VARS) $(MAKE) \ + -C $(PKG_BUILD_DIR)/samples/wrapper \ + $(MAKE_FLAGS) +endef + +define Package/boinc-wrapper/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/samples/wrapper/wrapper $(1)/usr/bin/boinc-wrapper +endef + +$(eval $(call BuildPackage,boinc-wrapper)) diff --git a/net/boinc-wrapper/test.sh b/net/boinc-wrapper/test.sh new file mode 100644 index 0000000000..33f2f96d41 --- /dev/null +++ b/net/boinc-wrapper/test.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +boinc-wrapper +# Non-zero exit status is expected so always return 0 to avoid false failure. +exit 0 diff --git a/net/ddns-scripts/Makefile b/net/ddns-scripts/Makefile index 9e6e57ba76..2ac7fb58c7 100644 --- a/net/ddns-scripts/Makefile +++ b/net/ddns-scripts/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ddns-scripts PKG_VERSION:=2.8.2 -PKG_RELEASE:=30 +PKG_RELEASE:=33 PKG_LICENSE:=GPL-2.0 @@ -58,6 +58,16 @@ define Package/ddns-scripts-services/description endef +define Package/ddns-scripts-luadns + $(call Package/ddns-scripts/Default) + TITLE:=Extension for LuaDNS API v1 + DEPENDS:=ddns-scripts +curl +endef + +define Package/ddns-scripts-luadns/description + Dynamic DNS Client scripts extension for LuaDNS API v1 (require curl) +endef + define Package/ddns-scripts-cloudflare $(call Package/ddns-scripts/Default) TITLE:=Extension for cloudflare.com API v4 @@ -333,6 +343,7 @@ define Package/ddns-scripts-services/install $(1)/usr/share/ddns/default # Remove special services + rm $(1)/usr/share/ddns/default/luadns.com-v1.json rm $(1)/usr/share/ddns/default/cloudflare.com-v4.json rm $(1)/usr/share/ddns/default/cloud.google.com-v1.json rm $(1)/usr/share/ddns/default/freedns.42.pl.json @@ -351,6 +362,25 @@ define Package/ddns-scripts-services/install endef +define Package/ddns-scripts-luadns/install + $(INSTALL_DIR) $(1)/usr/lib/ddns + $(INSTALL_BIN) ./files/usr/lib/ddns/update_luadns_v1.sh \ + $(1)/usr/lib/ddns + + $(INSTALL_DIR) $(1)/usr/share/ddns/default + $(INSTALL_DATA) ./files/usr/share/ddns/default/luadns.com-v1.json \ + $(1)/usr/share/ddns/default/ +endef + +define Package/ddns-scripts-luadns/prerm +#!/bin/sh +if [ -z "$${IPKG_INSTROOT}" ]; then + /etc/init.d/ddns stop +fi +exit 0 +endef + + define Package/ddns-scripts-cloudflare/install $(INSTALL_DIR) $(1)/usr/lib/ddns $(INSTALL_BIN) ./files/usr/lib/ddns/update_cloudflare_com_v4.sh \ @@ -638,6 +668,7 @@ endef $(eval $(call BuildPackage,ddns-scripts)) $(eval $(call BuildPackage,ddns-scripts-services)) +$(eval $(call BuildPackage,ddns-scripts-luadns)) $(eval $(call BuildPackage,ddns-scripts-cloudflare)) $(eval $(call BuildPackage,ddns-scripts-gcp)) $(eval $(call BuildPackage,ddns-scripts-freedns)) diff --git a/net/ddns-scripts/files/usr/lib/ddns/update_luadns_v1.sh b/net/ddns-scripts/files/usr/lib/ddns/update_luadns_v1.sh new file mode 100644 index 0000000000..5d7954e125 --- /dev/null +++ b/net/ddns-scripts/files/usr/lib/ddns/update_luadns_v1.sh @@ -0,0 +1,191 @@ +#!/bin/sh +# +#.Distributed under the terms of the GNU General Public License (GPL) version 2.0 +#.2023 Jihoon Han +# +#.based on Christian Schoenebeck's update_cloudflare_com_v4.sh +#.and on Neilpang's acme.sh found at https://github.com/acmesh-official/acme.sh +# +# Script for sending DDNS updates using the LuaDNS API +# See: https://luadns.com/api +# +# using following options from /etc/config/ddns +# option username - "Emaii" as registered on LuaDNS +# option password - "API Key" as generated at https://api.luadns.com/api_keys +# option domain - The domain to update (e.g. my.example.com) +# + +# check parameters +[ -z "$CURL" ] && [ -z "$CURL_SSL" ] && write_log 14 "LuaDNS API require cURL with SSL support. Please install" +[ -z "$username" ] && write_log 14 "Service section not configured correctly! Missing e-mail as 'Username'" +[ -z "$password" ] && write_log 14 "Service section not configured correctly! Missing personal API key as 'Password'" +[ $use_https -eq 0 ] && use_https=1 # force HTTPS + +# used variables +local __HOST __DOMAIN __TYPE __URLBASE __PRGBASE __RUNPROG __DATA __IPV6 __ZONEID __RECID +local __URLBASE="https://api.luadns.com/v1" +local __TTL=300 + +# set record type +[ $use_ipv6 -eq 0 ] && __TYPE="A" || __TYPE="AAAA" + +# transfer function to use for LuaDNS +# all needed variables are set global here +# so we can use them directly +luadns_transfer() { + local __CNT=0 + local __STATUS __ERR + while : ; do + write_log 7 "#> $__RUNPROG" + __STATUS=$(eval "$__RUNPROG") + __ERR=$? # save communication error + [ $__ERR -eq 0 ] && break # no error break while + + write_log 3 "cURL Error: '$__ERR'" + write_log 7 "$(cat $ERRFILE)" # report error + + [ $VERBOSE_MODE -gt 1 ] && { + # VERBOSE_MODE > 1 then NO retry + write_log 4 "Transfer failed - Verbose Mode: $VERBOSE_MODE - NO retry on error" + break + } + + __CNT=$(( $__CNT + 1 )) # increment error counter + # if error count > retry_count leave here + [ $retry_count -gt 0 -a $__CNT -gt $retry_count ] && \ + write_log 14 "Transfer failed after $retry_count retries" + + write_log 4 "Transfer failed - retry $__CNT/$retry_count in $RETRY_SECONDS seconds" + sleep $RETRY_SECONDS & + PID_SLEEP=$! + wait $PID_SLEEP # enable trap-handler + PID_SLEEP=0 + done + + # handle HTTP error + [ $__STATUS -ne 200 ] && { + write_log 4 "LuaDNS reported an error:" + write_log 7 "$(cat $DATFILE)" + return 1 + } + return 0 +} + +# Build base command to use +__PRGBASE="$CURL -RsS -w '%{http_code}' -o $DATFILE --stderr $ERRFILE" +# force network/interface-device to use for communication +if [ -n "$bind_network" ]; then + local __DEVICE + network_get_physdev __DEVICE $bind_network || \ + write_log 13 "Can not detect local device using 'network_get_physdev $bind_network' - Error: '$?'" + write_log 7 "Force communication via device '$__DEVICE'" + __PRGBASE="$__PRGBASE --interface $__DEVICE" +fi +# force ip version to use +if [ $force_ipversion -eq 1 ]; then + [ $use_ipv6 -eq 0 ] && __PRGBASE="$__PRGBASE -4" || __PRGBASE="$__PRGBASE -6" # force IPv4/IPv6 +fi +# set certificate parameters +if [ "$cacert" = "IGNORE" ]; then # idea from Ticket #15327 to ignore server cert + __PRGBASE="$__PRGBASE --insecure" # but not empty better to use "IGNORE" +elif [ -f "$cacert" ]; then + __PRGBASE="$__PRGBASE --cacert $cacert" +elif [ -d "$cacert" ]; then + __PRGBASE="$__PRGBASE --capath $cacert" +elif [ -n "$cacert" ]; then # it's not a file and not a directory but given + write_log 14 "No valid certificate(s) found at '$cacert' for HTTPS communication" +fi +# disable proxy if not set (there might be .wgetrc or .curlrc or wrong environment set) +# or check if libcurl compiled with proxy support +if [ -z "$proxy" ]; then + __PRGBASE="$__PRGBASE --noproxy '*'" +elif [ -z "$CURL_PROXY" ]; then + # if libcurl has no proxy support and proxy should be used then force ERROR + write_log 13 "cURL: libcurl compiled without Proxy support" +fi +# set headers +__PRGBASE="$__PRGBASE --user '$username:$password' " +__PRGBASE="$__PRGBASE --header 'Accept: application/json' " + +if [ -n "$zone_id" ]; then + __ZONEID="$zone_id" +else + # read zone id for registered domain.TLD + __RUNPROG="$__PRGBASE --request GET '$__URLBASE/zones'" + luadns_transfer || return 1 + # extract zone id + i=1 + while : ; do + h=$(printf "%s" "$domain" | cut -d . -f $i-100 -s) + [ -z "$h" ] && { + write_log 4 "Could not detect 'Zone ID' for the domain provided: '$domain'" + return 127 + } + + __ZONEID=$(grep -o -e "\"id\":[^,]*,\"name\":\"$h\"" $DATFILE | cut -d : -f 2 | cut -d , -f 1) + [ -n "$__ZONEID" ] && { + # LuaDNS API needs: + # __DOMAIN = the base domain i.e. example.com + # __HOST = the FQDN of record to modify + # i.e. example.com for the "domain record" or host.sub.example.com for "host record" + __HOST="$domain" + __DOMAIN="$h" + write_log 7 "Domain : '$__DOMAIN'" + write_log 7 "Zone ID : '$__ZONEID'" + write_log 7 "Host : '$__HOST'" + break + } + i=$(expr "$i" + 1) + done +fi + +# read record id for A or AAAA record of host.domain.TLD +__RUNPROG="$__PRGBASE --request GET '$__URLBASE/zones/$__ZONEID/records'" +luadns_transfer || return 1 +# extract record id +__RECID=$(grep -o -e "\"id\":[^,]*,\"name\":\"$__HOST.\",\"type\":\"$__TYPE\"" $DATFILE | head -n 1 | cut -d : -f 2 | cut -d , -f 1) +[ -z "$__RECID" ] && { + write_log 4 "Could not detect 'Record ID' for the domain provided: '$__HOST'" + return 127 +} +write_log 7 "Record ID : '$__RECID'" + +# extract current stored IP +__DATA=$(grep -o -e "\"id\":$__RECID,\"name\":\"$__HOST.\",\"type\":\"$__TYPE\",\"content\":[^,]*" $DATFILE | grep -o '[^"]*' | tail -n 1) + +# check data +[ $use_ipv6 -eq 0 ] \ + && __DATA=$(printf "%s" "$__DATA" | grep -m 1 -o "$IPV4_REGEX") \ + || __DATA=$(printf "%s" "$__DATA" | grep -m 1 -o "$IPV6_REGEX") + +# we got data so verify +[ -n "$__DATA" ] && { + # expand IPv6 for compare + if [ $use_ipv6 -eq 1 ]; then + expand_ipv6 $__IP __IPV6 + expand_ipv6 $__DATA __DATA + [ "$__DATA" = "$__IPV6" ] && { # IPv6 no update needed + write_log 7 "IPv6 at LuaDNS already up to date" + return 0 + } + else + [ "$__DATA" = "$__IP" ] && { # IPv4 no update needed + write_log 7 "IPv4 at LuaDNS already up to date" + return 0 + } + fi +} + +# update is needed +# let's build data to send + +# use file to work around " needed for json +cat > $DATFILE << EOF +{"name":"$__HOST.","type":"$__TYPE","content":"$__IP","ttl":$__TTL} +EOF + +# let's complete transfer command +__RUNPROG="$__PRGBASE --request PUT --data @$DATFILE '$__URLBASE/zones/$__ZONEID/records/$__RECID'" +luadns_transfer || return 1 + +return 0 diff --git a/net/ddns-scripts/files/usr/lib/ddns/update_pdns.sh b/net/ddns-scripts/files/usr/lib/ddns/update_pdns.sh index d3fc2d2c9a..a19ed13f12 100755 --- a/net/ddns-scripts/files/usr/lib/ddns/update_pdns.sh +++ b/net/ddns-scripts/files/usr/lib/ddns/update_pdns.sh @@ -5,6 +5,7 @@ local __TTL=600 local __RRTYPE local __STATUS +local __RNAME [ -z "$username" ] && write_log 14 "Service section not configured correctly! Missing subdomain as 'username'" [ -z "$password" ] && write_log 14 "Service section not configured correctly! Missing API Key as 'password'" @@ -16,11 +17,21 @@ local __ENDPOINT="$param_opt/api/v1/servers/localhost/zones" [ $use_ipv6 -ne 0 ] && __RRTYPE="AAAA" || __RRTYPE="A" +# Make sure domain is period terminated +if [ ${domain: -1} != '.' ]; then + domain="${domain}." +fi +if [ $username == '@' ]; then + __RNAME="$domain" +else + __RNAME="$username.$domain" +fi + # Build JSON payload json_init json_add_array rrsets json_add_object - json_add_string name "$username.$domain" + json_add_string name "$__RNAME" json_add_string type "$__RRTYPE" json_add_int ttl $__TTL json_add_string changetype "REPLACE" diff --git a/net/ddns-scripts/files/usr/share/ddns/default/luadns.com-v1.json b/net/ddns-scripts/files/usr/share/ddns/default/luadns.com-v1.json new file mode 100644 index 0000000000..c77d55be3c --- /dev/null +++ b/net/ddns-scripts/files/usr/share/ddns/default/luadns.com-v1.json @@ -0,0 +1,9 @@ +{ + "name": "luadns.com-v1", + "ipv4": { + "url": "update_luadns_v1.sh" + }, + "ipv6": { + "url": "update_luadns_v1.sh" + } +} diff --git a/net/ddns-scripts/files/usr/share/ddns/default/strato.com.json b/net/ddns-scripts/files/usr/share/ddns/default/strato.com.json index a81c015ce1..9ab43d2476 100644 --- a/net/ddns-scripts/files/usr/share/ddns/default/strato.com.json +++ b/net/ddns-scripts/files/usr/share/ddns/default/strato.com.json @@ -3,5 +3,9 @@ "ipv4": { "url": "http://[USERNAME]:[PASSWORD]@dyndns.strato.com/nic/update?hostname=[DOMAIN]&myip=[IP]", "answer": "good|nochg" + }, + "ipv6": { + "url": "http://[USERNAME]:[PASSWORD]@dyndns.strato.com/nic/update?hostname=[DOMAIN]&myip=[IP]", + "answer": "good|nochg" } } diff --git a/net/xray-core/Makefile b/net/xray-core/Makefile index 5fb124f6e1..2e502157e3 100644 --- a/net/xray-core/Makefile +++ b/net/xray-core/Makefile @@ -1,12 +1,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=xray-core -PKG_VERSION:=1.7.0 +PKG_VERSION:=1.7.2 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/XTLS/Xray-core/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=6dbf3d9103e62f9e72b7ac231e1d5a65e2a5c40810500a7e757a4ef71dcc32fd +PKG_HASH:=e35824e19e8acc06296ce6bfa78a14a6f3ee8f42a965f7762b7056b506457a29 PKG_MAINTAINER:=Tianling Shen PKG_LICENSE:=MPL-2.0