Merge pull request #14510 from zhanhb/ddns-scripts
authorFlorian Eckert <fe@dev.tdt.de>
Fri, 22 Jan 2021 08:09:48 +0000 (09:09 +0100)
committerGitHub <noreply@github.com>
Fri, 22 Jan 2021 08:09:48 +0000 (09:09 +0100)
ddns-scripts: fix wget-ssl path

42 files changed:
admin/openwisp-config/Makefile
admin/sudo/Makefile
admin/zabbix/Makefile
admin/zabbix/patches/010-change-agentd-config.patch
lang/lyaml/Makefile [new file with mode: 0755]
lang/perl-html-parser/Makefile
lang/python/openpyxl/Makefile
lang/python/python-evdev/Makefile
libs/cjson/Makefile
libs/libevdev/Makefile
libs/libpqxx/Makefile
libs/libpqxx/patches/100-install-test-executor.patch [deleted file]
libs/redis/Makefile
libs/redis/patches/030-fix-uclibc-compilation.patch [deleted file]
libs/zmq/Makefile
libs/zmq/patches/010-uclibcxx.patch [deleted file]
mail/msmtp/Makefile
net/haproxy/Makefile
net/haproxy/get-latest-patches.sh
net/isc-dhcp/Makefile
net/isc-dhcp/files/dhcpd.init
net/knot/Makefile
net/modemmanager/Makefile
net/mosquitto/Makefile
net/safe-search/Makefile
net/safe-search/files/hosts/bing.default
net/safe-search/files/hosts/duckduckgo.default
net/safe-search/files/hosts/google.default
net/safe-search/files/hosts/youtube.restrict
net/safe-search/files/hosts/youtube.restrictmoderate
net/safe-search/files/safe-search-maintenance [new file with mode: 0644]
net/safe-search/files/safe-search.conf
net/safe-search/files/safe-search.defaults
net/udpspeeder/Makefile
utils/conmon/Makefile
utils/docker-compose/Makefile
utils/fuse3/Makefile
utils/fuse3/patches/010-uclibc.patch [deleted file]
utils/fuse3/patches/020-uclibc.patch [deleted file]
utils/gptfdisk/Makefile
utils/gptfdisk/patches/050-Add-some-extra-flushes-before-getline-cin.patch [deleted file]
utils/rtty/Makefile

index 143475f1748c72593c116ca01f53ef107483a60c..5ea2698ed864a73d93b0f457dd53f52d6eec9c89 100644 (file)
@@ -5,16 +5,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=openwisp-config
-PKG_VERSION:=0.4.5
-PKG_RELEASE:=2
+PKG_SOURCE_VERSION:=0.5.0
+PKG_RELEASE:=1
 
 PKG_SOURCE_PROTO:=git
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://github.com/openwisp/openwisp-config.git
-PKG_SOURCE_VERSION:=0.4.5
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_SOURCE_VERSION)
-PKG_MIRROR_HASH:=017a8ed35ebfda2805426e7da02559d5cc2845ee9ded60fdae8e848d377424fb
-PKG_LICENSE:=GPL-3.0
+PKG_MIRROR_HASH:=337a3a9542a0898da9f951256b0d19b6bc87ced98f4ec6dc9646172b551880ef
+PKG_MAINTAINER:=Federico Capoano <f.capoano@openwisp.io>
+PKG_LICENSE:=GPL3.0-or-later
 PKGARCH:=all
 
 include $(INCLUDE_DIR)/package.mk
@@ -23,16 +21,16 @@ define Package/openwisp-config/default
        TITLE:=Remote configuration management agent ($(2) variant)
        CATEGORY:=Administration
        SECTION:=admin
-       SUBMENU:=OpenWISP
-       DEPENDS:=+curl +lua +libuci-lua +luafilesystem $(3)
+       SUBMENU:=openwisp
+       DEPENDS:=+curl +lua +libuci-lua +luafilesystem +luci-lib-nixio $(3)
        VARIANT:=$(1)
-       MAINTAINER:=Federico Capoano <f.capoano@cineca.it>
+       PKGARCH:=all
        URL:=http://openwisp.org
 endef
 
 Package/openwisp-config-openssl=$(call Package/openwisp-config/default,openssl,OpenSSL,+ca-certificates +libopenssl)
 Package/openwisp-config-mbedtls=$(call Package/openwisp-config/default,mbedtls,mbedTLS,+ca-certificates +libmbedtls)
-Package/openwisp-config-cyassl=$(call Package/openwisp-config/default,cyassl,CyaSSL,+ca-certificates +libcyassl)
+Package/openwisp-config-wolfssl=$(call Package/openwisp-config/default,wolfssl,WolfSSL,+ca-certificates +libwolfssl)
 Package/openwisp-config-nossl=$(call Package/openwisp-config/default,nossl,No SSL)
 
 define Build/Compile
@@ -42,20 +40,12 @@ define Package/openwisp-config-$(BUILD_VARIANT)/conffiles
 /etc/config/openwisp
 endef
 
-ifeq ($(BUILD_VARIANT),openssl)
 CONFIG_OPENWISP_UCI:=ssl
-endif
-ifeq ($(BUILD_VARIANT),mbedtls)
-CONFIG_OPENWISP_UCI:=ssl
-endif
-ifeq ($(BUILD_VARIANT),cyassl)
-CONFIG_OPENWISP_UCI:=ssl
-endif
+
 ifeq ($(BUILD_VARIANT),nossl)
-CONFIG_OPENWISP_UCI:=nossl
+    CONFIG_OPENWISP_UCI:=nossl
 endif
 
-
 define Package/openwisp-config-$(BUILD_VARIANT)/install
        $(INSTALL_DIR) \
                $(1)/usr/sbin \
@@ -83,6 +73,10 @@ define Package/openwisp-config-$(BUILD_VARIANT)/install
                $(PKG_BUILD_DIR)/openwisp-config/files/lib/openwisp/utils.lua \
                $(1)/usr/lib/lua/openwisp/utils.lua
 
+       $(INSTALL_BIN) \
+               $(PKG_BUILD_DIR)/openwisp-config/files/lib/openwisp/net.lua \
+               $(1)/usr/lib/lua/openwisp/net.lua
+
        $(INSTALL_BIN) \
                $(PKG_BUILD_DIR)/openwisp-config/files/sbin/openwisp-store-unmanaged.lua \
                $(1)/usr/sbin/openwisp-store-unmanaged
@@ -103,10 +97,14 @@ define Package/openwisp-config-$(BUILD_VARIANT)/install
                $(PKG_BUILD_DIR)/openwisp-config/files/sbin/openwisp-update-config.lua \
                $(1)/usr/sbin/openwisp-update-config
 
+       $(INSTALL_BIN) \
+               $(PKG_BUILD_DIR)/openwisp-config/files/sbin/openwisp-get-address.lua \
+               $(1)/usr/sbin/openwisp-get-address
+
        $(CP) $(PKG_BUILD_DIR)/VERSION $(1)/etc/openwisp/
 endef
 
 $(eval $(call BuildPackage,openwisp-config-openssl))
 $(eval $(call BuildPackage,openwisp-config-mbedtls))
-$(eval $(call BuildPackage,openwisp-config-cyassl))
+$(eval $(call BuildPackage,openwisp-config-wolfssl))
 $(eval $(call BuildPackage,openwisp-config-nossl))
index f2eb91d2c9c779cc3815b1a5c5d74aba73af4952..03facf0f225d114aa7bbbc9ff1279e20b5b5d327 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=sudo
-PKG_VERSION:=1.9.4p2
+PKG_VERSION:=1.9.5p1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://www.sudo.ws/dist
-PKG_HASH:=c34af1fa79d40d0869e4010bdd64005290ea2e1ba35638ef07fcc684c4470f64
+PKG_HASH:=4dddf37c22653defada299e5681e0daef54bb6f5fc950f63997bb8eb966b7882
 
 PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
 
index b8543aa575ee1849503486b8209edbd92083c400..53fc65291839414421d6c1ad41534143d78467e2 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=zabbix
-PKG_VERSION:=5.0.1
-PKG_RELEASE:=2
+PKG_VERSION:=5.0.7
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://cdn.zabbix.com/zabbix/sources/stable/5.0/
-PKG_HASH:=20a19e5cf2354ffcbbe24521b04becfc9875e57289c00da71999de60c4a853b6
+PKG_HASH:=d762f8a9aa9e8717d2e85d2a82d27316ea5c2b214eb00aff41b6e9b06107916a
 
 PKG_MAINTAINER:=Etienne CHAMPETIER <champetier.etienne@gmail.com>
 PKG_LICENSE:=GPL-2.0
@@ -74,7 +74,7 @@ define Package/zabbix/Default
   TITLE:=Zabbix
   URL:=https://www.zabbix.com/
   USERID:=zabbix=53:zabbix=53
-  DEPENDS += $(ICONV_DEPENDS) +libpcre +zlib +ZABBIX_GNUTLS:libgnutls +ZABBIX_OPENSSL:libopenssl @!USE_UCLIBC
+  DEPENDS += $(ICONV_DEPENDS) +libpcre +zlib +ZABBIX_GNUTLS:libgnutls +ZABBIX_OPENSSL:libopenssl
 endef
 
 define Package/zabbix-agentd
index f7628274820f74b17d31ad97dea06746426ae63d..2ce5053fdeec105fa8ac72bd29220f20243dd44a 100644 (file)
@@ -27,7 +27,7 @@
  ### Option: LogFileSize
  #     Maximum size of log file in MB.
  #     0 - disable automatic log rotation.
-@@ -138,6 +135,7 @@ Server=127.0.0.1
+@@ -136,6 +133,7 @@ Server=127.0.0.1
  # Range: 0-100
  # Default:
  # StartAgents=3
@@ -35,7 +35,7 @@
  
  ##### Active checks related
  
-@@ -153,8 +151,6 @@ Server=127.0.0.1
+@@ -151,8 +149,6 @@ Server=127.0.0.1
  # Default:
  # ServerActive=
  
@@ -44,7 +44,7 @@
  ### Option: Hostname
  #     Unique, case sensitive hostname.
  #     Required for active checks and must match hostname as configured on the server.
-@@ -164,8 +160,6 @@ ServerActive=127.0.0.1
+@@ -162,8 +158,6 @@ ServerActive=127.0.0.1
  # Default:
  # Hostname=
  
@@ -53,7 +53,7 @@
  ### Option: HostnameItem
  #     Item used for generating Hostname if it is undefined. Ignored if Hostname is defined.
  #     Does not support UserParameters or aliases.
-@@ -305,8 +299,8 @@ Hostname=Zabbix server
+@@ -303,8 +297,8 @@ Hostname=Zabbix server
  # Include=
  
  # Include=/usr/local/etc/zabbix_agentd.userparams.conf
diff --git a/lang/lyaml/Makefile b/lang/lyaml/Makefile
new file mode 100755 (executable)
index 0000000..94b6b11
--- /dev/null
@@ -0,0 +1,62 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=lyaml
+PKG_VERSION:=6.2.7
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/gvvaughan/lyaml/tar.gz/v$(PKG_VERSION)?
+PKG_HASH:=9bb489cefae48b150d66f6bab4141d8d5831fcb7465bfc52a9845fa01efc63b0
+
+PKG_MAINTAINER:=Mathew McBride <matt@traverse.com.au>
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+
+PKG_BUILD_DEPENDS:=lua/host luarocks/host
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/lyaml
+  SUBMENU:=Lua
+  SECTION:=lang
+  CATEGORY:=Languages
+  TITLE:=Lua lib-yaml bindings
+  URL:=https://github.com/gvvaughan/lyaml
+  DEPENDS:= +lua +libyaml
+endef
+
+define Package/lyaml/description
+  Lua bindings for libyaml
+endef
+
+TARGET_CFLAGS += \
+       -I$(STAGING_DIR)/usr/include
+
+# Note: the duplicate environment exports are not a typo!
+# First is for luarocks, then the second is for the compilation
+# invoked by luarocks
+# (Same setup as luaposix)
+define Build/Compile
+       cd $(PKG_BUILD_DIR) && \
+       LUA_LIBDIR=$(STAGING_DIR)/usr/lib/lua \
+       LUA_PKGNAME=lua5.1 \
+       CFLAGS="$(TARGET_CFLAGS) $(FPIC)" \
+       LDFLAGS="$(TARGET_LDFLAGS)" \
+       CC="$(TARGET_CC)" LD="$(TARGET_CC)" \
+       luarocks make --pack-binary-rock lyaml-$(PKG_VERSION)-1.rockspec \
+               LUA_LIBDIR=$(STAGING_DIR)/usr/lib/lua \
+               YAML_DIR=$(STAGING_DIR)/usr \
+               LUA_INCDIR=$(STAGING_DIR)/usr/include \
+               LUA_PKGNAME=lua5.1 \
+               CFLAGS="$(TARGET_CFLAGS) $(FPIC)" \
+               LDFLAGS="$(TARGET_LDFLAGS)" \
+               CC="$(TARGET_CC)" LD="$(TARGET_CC)"
+endef
+
+define Package/lyaml/install
+       $(INSTALL_DIR) $(1)/usr/lib/lua/lyaml
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/linux/yaml.so $(1)/usr/lib/lua/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/lyaml/*.lua $(1)/usr/lib/lua/lyaml/
+endef
+
+$(eval $(call BuildPackage,lyaml))
index 11d2e16eca429c583b5274aaae55d274d21e6a30..06fd3cb262e22ca20ed9d982e5c2469c9adff03e 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=perl-html-parser
-PKG_VERSION:=3.72
-PKG_RELEASE:=3
+PKG_VERSION:=3.75
+PKG_RELEASE:=1
 
-PKG_SOURCE_URL:=http://www.cpan.org/authors/id/G/GA/GAAS/
 PKG_SOURCE:=HTML-Parser-$(PKG_VERSION).tar.gz
-PKG_HASH:=ec28c7e1d9e67c45eca197077f7cdc41ead1bb4c538c7f02a3296a4bb92f608b
+PKG_SOURCE_URL:=http://www.cpan.org/authors/id/C/CA/CAPOEIRAB
+PKG_HASH:=ac6b5e25a8df7af54885201e91c45fb9ab6744c08cedc1a38fcc7d95d21193a9
 
 PKG_LICENSE:=GPL-1.0-or-later Artistic-1.0-Perl
 PKG_MAINTAINER:=Marcel Denia <naoir@gmx.net>
@@ -21,6 +21,7 @@ PKG_CPE_ID:=cpe:/a:derrick_oswald:html-parser
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/perl/HTML-Parser-$(PKG_VERSION)
 HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/perl/HTML-Parser-$(PKG_VERSION)
+HOST_BUILD_DEPENDS:=perl/host
 
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/host-build.mk
index 9b30d0e2ac9bfbb1ce452382b372ff8f711fd41b..bcdb1dd5a8300ef335306d88532ff752e99c13c0 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-openpyxl
-PKG_VERSION:=3.0.5
+PKG_VERSION:=3.0.6
 PKG_RELEASE:=1
 
 PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
@@ -16,7 +16,7 @@ PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=LICENCE.rst
 
 PYPI_NAME:=openpyxl
-PKG_HASH:=18e11f9a650128a12580a58e3daba14e00a11d9e907c554a17ea016bf1a2c71b
+PKG_HASH:=b229112b46e158b910a5d1b270b212c42773d39cab24e8db527f775b82afc041
 
 include ../pypi.mk
 include $(INCLUDE_DIR)/package.mk
index 0a64927c37cc1e090158a50bf773605022ea5195..5f8b97ef159ba39a8383f44596144bfe7ed73096 100644 (file)
@@ -9,14 +9,14 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=python-evdev
-PKG_VERSION:=1.3.0
-PKG_RELEASE:=2
+PKG_VERSION:=1.4.0
+PKG_RELEASE:=1
 
 PKG_LICENSE:=BSD-3-Clause
 PKG_MAINTAINER:=Paulo Costa <me@paulo.costa.nom.br>, Alexandru Ardelean <ardeleanalex@gmail.com>
 
 PYPI_NAME:=evdev
-PKG_HASH:=b1c649b4fed7252711011da235782b2c260b32e004058d62473471e5cd30634d
+PKG_HASH:=8782740eb1a86b187334c07feb5127d3faa0b236e113206dfe3ae8f77fb1aaf1
 
 include ../pypi.mk
 include $(INCLUDE_DIR)/package.mk
index 9aff81c1892421284a8eff45b2bba7a953a71e33..e082eba3aaf0d954e51e15720e8e022b164fa769 100644 (file)
@@ -4,17 +4,17 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=cJSON
 PKG_VERSION:=1.7.14
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/DaveGamble/cJSON/tar.gz/v$(PKG_VERSION)?
 PKG_HASH:=fb50a663eefdc76bafa80c82bc045af13b1363e8f45cec8b442007aef6a41343
 
+PKG_MAINTAINER:=Karl Palsson <karlp@etactica.com>
 PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=LICENSE
 PKG_CPE_ID:=cpe:/a:cjson_project:cjson
 
-CMAKE_INSTALL:=1
 PKG_BUILD_PARALLEL:=1
 
 include $(INCLUDE_DIR)/package.mk
@@ -25,7 +25,6 @@ define Package/cJSON
   CATEGORY:=Libraries
   TITLE:=Ultralightweight JSON parser in ANSI C
   URL:=https://github.com/DaveGamble/cJSON
-  MAINTAINER:=Karl Palsson <karlp@etactica.com>
 endef
 
 define Package/cJSON/description
@@ -37,12 +36,13 @@ endef
 CMAKE_OPTIONS += -DENABLE_CJSON_TEST=OFF
 
 define Build/InstallDev
-       $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libcjson.pc $(1)/usr/lib/pkgconfig
        $(INSTALL_DIR) $(1)/usr/include/cjson
        $(CP) $(PKG_INSTALL_DIR)/usr/include/cjson/cJSON.h $(1)/usr/include/cjson
        $(INSTALL_DIR) $(1)/usr/lib
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libcjson.so* $(1)/usr/lib/
+       $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libcjson.pc $(1)/usr/lib/pkgconfig
+       $(SED) 's,/usr,$(STAGING_DIR)/usr,g' $(1)/usr/lib/pkgconfig/libcjson.pc
 endef
 
 define Package/cJSON/install
index 2baa98335a8c65fa985b06218b79898e9768ab91..fcc9da1911223dcdc8db165222fc23696a0f2b67 100644 (file)
@@ -5,12 +5,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libevdev
-PKG_VERSION:=1.10.0
+PKG_VERSION:=1.10.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://www.freedesktop.org/software/libevdev/
-PKG_HASH:=3522c26e2c148be0ad68ce26fbced408a4185dea90bfe8079dc82b8ace962d4a
+PKG_HASH:=0330fe8357ece915db9366c1b9a6648941aea6f724b73ad6e71401127aa08932
 
 PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
 PKG_LICENSE:=MIT
index 87ee10aa9029935e547352e5179a0f5f0fcadc0f..18b52b3d52298ddde6fa514940146b21241769ca 100644 (file)
@@ -1,13 +1,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libpqxx
-PKG_VERSION:=7.3.0
+PKG_VERSION:=7.3.1
 PKG_RELEASE:=1
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/jtv/libpqxx
 PKG_SOURCE_VERSION:=$(PKG_VERSION)
-PKG_MIRROR_HASH:=c176771dbbf02e38b84a8f9bf986a83587e2d86d9e0d2238e2a17a036e865951
+PKG_MIRROR_HASH:=6d5b66f01285310a53815963d56f5137be2d05fe426b0e15d73cd8df92b84989
 
 CMAKE_INSTALL:=1
 
diff --git a/libs/libpqxx/patches/100-install-test-executor.patch b/libs/libpqxx/patches/100-install-test-executor.patch
deleted file mode 100644 (file)
index d9eb3ff..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/test/CMakeLists.txt
-+++ b/test/CMakeLists.txt
-@@ -14,3 +14,7 @@ add_test(
-     WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
-     COMMAND runner
- )
-+
-+if(INSTALL_TEST)
-+      install(PROGRAMS runner TYPE BIN RENAME libpqxx-test-runner)
-+endif()
index f9cf53843549bc01cf575a3e7234a066359ae6c2..b57849fe3263c32f7d671f680290b7d046906d12 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=redis
-PKG_VERSION:=6.0.9
+PKG_VERSION:=6.0.10
 PKG_RELEASE:=1
 
 PKG_SOURCE_URL:=http://download.redis.io/releases/
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_HASH:=dc2bdcf81c620e9f09cfd12e85d3bc631c897b2db7a55218fd8a65eaa37f86dd
+PKG_HASH:=79bbb894f9dceb33ca699ee3ca4a4e1228be7fb5547aeb2f99d921e86c1285bd
 
 PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
 PKG_LICENSE:=BSD-3-Clause
diff --git a/libs/redis/patches/030-fix-uclibc-compilation.patch b/libs/redis/patches/030-fix-uclibc-compilation.patch
deleted file mode 100644 (file)
index cb15491..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
---- a/src/config.h
-+++ b/src/config.h
-@@ -30,6 +30,10 @@
- #ifndef __CONFIG_H
- #define __CONFIG_H
-+#if defined(__unix) || defined(__linux__)
-+#include <features.h>
-+#endif
-+
- #ifdef __APPLE__
- #include <AvailabilityMacros.h>
- #endif
-@@ -63,9 +67,9 @@
- #endif
- /* Test for backtrace() */
--#if defined(__APPLE__) || (defined(__linux__) && defined(__GLIBC__)) || \
-+#if (defined(__APPLE__) || (defined(__linux__) && defined(__GLIBC__)) || \
-     defined(__FreeBSD__) || ((defined(__OpenBSD__) || defined(__NetBSD__)) && defined(USE_BACKTRACE))\
-- || defined(__DragonFly__)
-+ || defined(__DragonFly__)) && !defined(__UCLIBC__)
- #define HAVE_BACKTRACE 1
- #endif
index 4b884ba9a88b408397eb95d963d2983de3b34631..ce614cfe282c1a71bb7646a2f4e1781da05e649a 100644 (file)
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=zeromq
-PKG_VERSION:=4.3.3
-PKG_RELEASE:=2
+PKG_VERSION:=4.3.4
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/zeromq/libzmq/releases/download/v$(PKG_VERSION)
-PKG_HASH:=9d9285db37ae942ed0780c016da87060497877af45094ff9e1a1ca736e3875a2
+PKG_HASH:=c593001a89f5a85dd2ddf564805deb860e02471171b3f204944857336295c3e5
 
 PKG_MAINTAINER:=Dirk Chang <dirk@kooiot.com>
 PKG_LICENSE:=GPL-3.0-or-later
diff --git a/libs/zmq/patches/010-uclibcxx.patch b/libs/zmq/patches/010-uclibcxx.patch
deleted file mode 100644 (file)
index 1c923c7..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
---- a/perf/benchmark_radix_tree.cpp
-+++ b/perf/benchmark_radix_tree.cpp
-@@ -26,8 +26,8 @@
-     You should have received a copy of the GNU Lesser General Public License
-     along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
--
--#if __cplusplus >= 201103L
-+#include <ios>
-+#if __cplusplus >= 201103L && !defined(__UCLIBCXX_MAJOR__)
-
- #include "radix_tree.hpp"
- #include "trie.hpp"
---- a/src/atomic_counter.hpp
-+++ b/src/atomic_counter.hpp
-@@ -35,7 +35,7 @@
-
- #if defined ZMQ_FORCE_MUTEXES
- #define ZMQ_ATOMIC_COUNTER_MUTEX
--#elif (defined __cplusplus && __cplusplus >= 201103L)                          \
-+#elif (defined __cplusplus && __cplusplus >= 201103L && !defined(__UCLIBCXX_MAJOR__))                          \
-   || (defined _MSC_VER && _MSC_VER >= 1900)
- #define ZMQ_ATOMIC_COUNTER_CXX11
- #elif defined ZMQ_HAVE_ATOMIC_INTRINSICS
---- a/src/atomic_ptr.hpp
-+++ b/src/atomic_ptr.hpp
-@@ -34,7 +34,7 @@
-
- #if defined ZMQ_FORCE_MUTEXES
- #define ZMQ_ATOMIC_PTR_MUTEX
--#elif (defined __cplusplus && __cplusplus >= 201103L)                          \
-+#elif (defined __cplusplus && __cplusplus >= 201103L && !defined(__UCLIBCXX_MAJOR__))                          \
-   || (defined _MSC_VER && _MSC_VER >= 1900)
- #define ZMQ_ATOMIC_PTR_CXX11
- #elif defined ZMQ_HAVE_ATOMIC_INTRINSICS
---- a/src/blob.hpp
-+++ b/src/blob.hpp
-@@ -38,7 +38,7 @@
- #include <algorithm>
- #include <ios>
-
--#if __cplusplus >= 201103L || defined(_MSC_VER) && _MSC_VER > 1700
-+#if __cplusplus >= 201103L && !defined(__UCLIBCXX_MAJOR__) || defined(_MSC_VER) && _MSC_VER > 1700
- #define ZMQ_HAS_MOVE_SEMANTICS
- #define ZMQ_MAP_INSERT_OR_EMPLACE(k, v) emplace (k, v)
- #define ZMQ_PUSH_OR_EMPLACE_BACK emplace_back
---- a/src/msg.hpp
-+++ b/src/msg.hpp
-@@ -30,8 +30,8 @@
- #ifndef __ZMQ_MSG_HPP_INCLUDE__
- #define __ZMQ_MSG_HPP_INCLUDE__
-
--#include <stddef.h>
--#include <stdio.h>
-+#include <cstddef>
-+#include <cstdio>
-
- #include "config.hpp"
- #include "err.hpp"
---- a/src/options.hpp
-+++ b/src/options.hpp
-@@ -305,7 +305,7 @@ int do_getsockopt (void *const optval_,
- template <typename T>
- int do_getsockopt (void *const optval_, size_t *const optvallen_, T value_)
- {
--#if __cplusplus >= 201103L && (!defined(__GNUC__) || __GNUC__ > 5)
-+#if __cplusplus >= 201103L && !defined(__UCLIBCXX_MAJOR__) && (!defined(__GNUC__) || __GNUC__ > 5)
-     static_assert (std::is_trivially_copyable<T>::value,
-                    "invalid use of do_getsockopt");
- #endif
---- a/src/ctx.cpp
-+++ b/src/ctx.cpp
-@@ -725,7 +725,7 @@ void zmq::ctx_t::unregister_endpoints (c
-                                end = _endpoints.end ();
-          it != end;) {
-         if (it->second.socket == socket_)
--#if __cplusplus >= 201103L || (defined _MSC_VER && _MSC_VER >= 1700)
-+#if (__cplusplus >= 201103L || (defined _MSC_VER && _MSC_VER >= 1700)) && !defined(__UCLIBCXX_MAJOR__)
-             it = _endpoints.erase (it);
- #else
-             _endpoints.erase (it++);
---- a/src/radio.cpp
-+++ b/src/radio.cpp
-@@ -126,7 +126,7 @@ void zmq::radio_t::xpipe_terminated (pip
-                                    end = _subscriptions.end ();
-          it != end;) {
-         if (it->second == pipe_) {
--#if __cplusplus >= 201103L || (defined _MSC_VER && _MSC_VER >= 1700)
-+#if (__cplusplus >= 201103L || (defined _MSC_VER && _MSC_VER >= 1700)) && !defined(__UCLIBCXX_MAJOR__)
-             it = _subscriptions.erase (it);
- #else
-             _subscriptions.erase (it++);
index 725ddc138706728a9fa362da0848810b11f4444d..11c4d9c8ec8e2e683b7eb7dbfad2c1adaf0318dc 100644 (file)
@@ -9,12 +9,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=msmtp
-PKG_VERSION:=1.8.12
+PKG_VERSION:=1.8.14
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://marlam.de/msmtp/releases
-PKG_HASH:=a86fef9477339923afefe974988a38e32d0feb90dfeeb88f7f55aac356a96354
+PKG_HASH:=d56f065d711486e9c234618515a02a48a48dab4051b34f3e108fbecb6fb773b4
 
 PKG_MAINTAINER:=
 PKG_LICENSE:=GPL-3.0-or-later
index f4f43a92f29f9951c92fd84a1210ee1758cd82b8..034919f537e3a7d96b7d6945f5e80d3f53a5568f 100644 (file)
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=haproxy
-PKG_VERSION:=2.2.7
+PKG_VERSION:=2.2.8
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://www.haproxy.org/download/2.2/src
-PKG_HASH:=af8f46d9533b835bc3f02b6a769b0958077a7455e37f90ba4c86c7499cb243a7
+PKG_HASH:=61f90e3e2a36bd8800a5bee31cba7eef37c9aa8a353b6c741edaa411510b14be
 
 PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>, \
                Christian Lachner <gladiac@gmail.com>
index 2380b11ce3bc9f953245eae2448a79a56021ad44..98e3148697f82d08b2864e646012dcdf2f671bff 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 CLONEURL=https://git.haproxy.org/git/haproxy-2.2.git
-BASE_TAG=v2.2.7
+BASE_TAG=v2.2.8
 TMP_REPODIR=tmprepo
 PATCHESDIR=patches
 
index 68c60e58a5f4274e3ede2fabbeb9bf4f1aacbbc3..e01b10eb998777f786547b9c8b1ff1e43df2193f 100644 (file)
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
 PKG_NAME:=isc-dhcp
 UPSTREAM_NAME:=dhcp
 PKG_VERSION:=4.4.1
-PKG_RELEASE:=12
+PKG_RELEASE:=13
 
 PKG_LICENSE:=BSD-3-Clause
 PKG_LICENSE_FILES:=LICENSE
index 2c8d21b25eec2f8b575637fb5689a5e5c08d0ad0..1436e7e2aaa5cc292462184e2ce0aa6ad2e81306 100755 (executable)
@@ -78,12 +78,6 @@ typeof() {
 '
 }
 
-rev_quad() {
-       local ip="$1"
-
-       echo "$ip" | awk -F '.' '{ printf "%s.%s.%s.%s\n", $4, $3, $2, $1; }'
-}
-
 update() {
        local lhs="$1" family="$2" type="$3"
        shift 3
@@ -97,8 +91,18 @@ explode() {
        echo "$arg" | sed -e 's/\./, /g'
 }
 
-create_empty_zone()
-{
+rev_str() {
+       local str="$1" delim="$2"
+       local frag result="" IFS="$delim"
+
+       for frag in $str; do
+               result="$frag${result:+$delim}$result"
+       done
+
+       echo "$result"
+}
+
+create_empty_zone() {
        local zone="$1"
 
        if [ ! -f $dyndir/db."$zone" ]; then
@@ -182,7 +186,7 @@ static_domain_add() {
        config_get ip "$cfg" "ip"
        [ -n "$ip" ] || return 0
 
-       revip="$(rev_quad "$ip")"
+       revip="$(rev_str "$ip" ".")"
 
        update "$name.$domain." IN A "$ip"
        update "$revip.in-addr.arpa." IN PTR "$name.$domain."
@@ -329,7 +333,7 @@ gen_dhcp_subnet() {
 }
 
 dhcpd_add() {
-       local cfg="$1"
+       local cfg="$1" synthesize="$2"
        local dhcp6range="::"
        local dynamicdhcp end gateway ifname ignore leasetime limit net netmask
        local proto networkid start subnet
@@ -353,6 +357,17 @@ dhcpd_add() {
 
        [ static = "$proto" ] || return 0
 
+       local pair="$(echo "${subnet%%/*}" | cut -d. -f1-2)"
+       case "$pair" in
+       10.*)
+               rfc1918_nets="$rfc1918_nets${rfc1918_nets:+ }10"
+               ;;
+       172.1[6789]|172.2[0-9]|172.3[01]|192.168)
+               rfc1918_nets="$rfc1918_nets${rfc1918_nets:+ }$pair"
+               ;;
+       esac
+       [ $synthesize -eq 0 ] && return
+
        config_get_bool dynamicdhcp "$cfg" "dynamicdhcp" 1
 
        dhcp_ifs="$dhcp_ifs $ifname"
@@ -384,6 +399,7 @@ dhcpd_add() {
 general_config() {
        local always_broadcast boot_unknown_clients log_facility
        local default_lease_time max_lease_time
+
        config_get_bool always_broadcast "isc_dhcpd" "always_broadcast" 0
        config_get_bool authoritative "isc_dhcpd" "authoritative" 1
        config_get_bool boot_unknown_clients "isc_dhcpd" "boot_unknown_clients" 1
@@ -406,7 +422,12 @@ general_config() {
        if [ $dynamicdns -eq 1 ]; then
                create_empty_zone "$domain"
 
-               create_empty_zone "168.192.in-addr.arpa"
+               local mynet
+
+               for mynet in $rfc1918_nets; do
+                       mynet="$(rev_str "$mynet" ".")"
+                       create_empty_zone "$mynet.in-addr.arpa"
+               done
 
                cat <<EOF > $conf_local_file
 zone "$domain" {
@@ -416,14 +437,21 @@ zone "$domain" {
   allow-transfer { key $session_key_name; };
 };
 
-zone "168.192.in-addr.arpa" {
+EOF
+
+               for mynet in $rfc1918_nets; do
+                       mynet="$(rev_str "$mynet" ".")"
+                       cat <<EOF >> $conf_local_file
+zone "$mynet.in-addr.arpa" {
   type master;
-  file "$dyndir/db.168.192.in-addr.arpa";
+  file "$dyndir/db.$mynet.in-addr.arpa";
   allow-update { key $session_key_name; };
   allow-transfer { key $session_key_name; };
 };
 
 EOF
+               done
+
                /etc/init.d/named reload
                sleep 1
 
@@ -445,12 +473,18 @@ zone $domain. {
        key local-ddns;
 }
 
-zone 168.192.in-addr.arpa. {
+EOF
+
+               for mynet in $rfc1918_nets; do
+                       mynet="$(rev_str "$mynet" ".")"
+                       cat <<EOF
+zone $mynet.in-addr.arpa. {
        primary 127.0.0.1;
        key local-ddns;
 }
 
 EOF
+               done
        fi
 
        if [ -n "$log_facility" ] ; then
@@ -494,9 +528,18 @@ start_service() {
 
                config_load dhcp
 
+               local rfc1918_nets=""
+
+               # alas we have to make 2 passes...
+               config_foreach dhcpd_add dhcp 0
+
+               rfc1918_nets="$(echo "$rfc1918_nets" | tr ' ' $'\n' | sort | uniq | tr $'\n' ' ')"
+
                general_config > $config_file
 
-               config_foreach dhcpd_add dhcp
+               rfc1918_nets=
+
+               config_foreach dhcpd_add dhcp 1
 
                static_hosts >> $config_file
 
index 846e08926da1aeecf98e0987eee8ef25111cedbf..bbff0408da1576de80d564e446a8383d10d33f1c 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=knot
-PKG_VERSION:=3.0.3
+PKG_VERSION:=3.0.4
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://secure.nic.cz/files/knot-dns/
-PKG_HASH:=fbc51897ef0ed0639ebad59b988a91382b9544288a2db8254f0b1de433140e38
+PKG_HASH:=451d8913a769b7e4bcb3e250a3181b448e28a82cfc58cea6f2509475d7327983
 
 PKG_MAINTAINER:=Daniel Salzman <daniel.salzman@nic.cz>
 PKG_LICENSE:=GPL-3.0 LGPL-2.0 0BSD BSD-3-Clause OLDAP-2.8
index ff742532377b5e101f01e062ca4ae8b85a6665a8..dba492ad4799b6075f133de087292448abed4697 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=modemmanager
-PKG_VERSION:=1.14.8
-PKG_RELEASE:=2
+PKG_VERSION:=1.14.10
+PKG_RELEASE:=1
 
 PKG_SOURCE:=ModemManager-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://www.freedesktop.org/software/ModemManager
-PKG_HASH:=fe1a26ba51b4bda7abd09ad4dadedd87d8b8154809fc9d88e94f75fdfff19295
+PKG_HASH:=4ea60b375a761e17e7bb095bca894579ed0e8e33b273dc698b5cbe03947f357f
 PKG_BUILD_DIR:=$(BUILD_DIR)/ModemManager-$(PKG_VERSION)
 
 PKG_MAINTAINER:=Nicholas Smith <nicholas.smith@telcoantennas.com.au>
index e934c7013071f515e952ca444000ea6bf52458aa..f7e39e2badd9db05a0c17b7d5ad88715ed641cef 100644 (file)
@@ -9,7 +9,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=mosquitto
-PKG_VERSION:=2.0.2
+PKG_VERSION:=2.0.5
 PKG_RELEASE:=1
 PKG_LICENSE:=EPL-2.0
 PKG_LICENSE_FILES:=LICENSE.txt
@@ -17,7 +17,7 @@ PKG_CPE_ID:=cpe:/a:eclipse:mosquitto
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://mosquitto.org/files/source/
-PKG_HASH:=5ea9ebf0a5ed3e95cecd75f30ebcf84f054584eff5617ac0f2e60428d3ad9707
+PKG_HASH:=67eaeb4160e5793715c017f53c4f42808d76129b7ad131d765a6a23792e58d5d
 
 include $(INCLUDE_DIR)/package.mk
 
index 54b477d831f6b6d749379f9bf649d61f096f3255..c016d29bf5308852778b29f7cfaf1f55003a6de0 100644 (file)
@@ -1,13 +1,13 @@
 #
-# Copyright (c) 2018 Gregory L. Dietsche <Gregory.Dietsche@cuw.edu>
+# Copyright (c) 2021 Gregory L. Dietsche <Gregory.Dietsche@cuw.edu>
 # This is free software, licensed under the MIT License
 #
 
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=safe-search
-PKG_VERSION:=1.0.2
-PKG_RELEASE:=2
+PKG_VERSION:=2.0.0
+PKG_RELEASE:=1
 PKG_LICENSE:=MIT
 PKG_MAINTAINER:=Gregory L. Dietsche <Gregory.Dietsche@cuw.edu>
 
@@ -44,18 +44,29 @@ define Package/safe-search/install
 
        $(INSTALL_DIR) $(1)/usr/sbin
        $(INSTALL_BIN) ./files/safe-search-update $(1)/usr/sbin/safe-search-update
+       $(INSTALL_BIN) ./files/safe-search-maintenance $(1)/usr/sbin/safe-search-maintenance
 
        $(INSTALL_DIR) $(1)/etc/safe-search/enabled
        $(INSTALL_DIR) $(1)/etc/safe-search/available
        $(INSTALL_DATA) ./files/hosts/* $(1)/etc/safe-search/available/
 endef
 
+define Package/safe-search/postinst
+#!/bin/sh
+if [ -z "$${IPGK_INSTROOT}" ]; then
+  echo "0 * * * * /bin/nice /usr/sbin/safe-search-maintenance>/dev/null 2>&1">>/etc/crontabs/root
+  /etc/init.d/cron restart
+fi
+exit 0
+endef
+
 define Package/safe-search/prerm
 #!/bin/sh
 if [ -z "$${IPGK_INSTROOT}" ]; then
        uci del_list dhcp.@dnsmasq[0].addnhosts=/etc/safe-search/enabled
        uci commit dhcp
        /etc/init.d/dnsmasq reload
+       crontab -l | grep -v "safe-search-maintenance" | sort | uniq | crontab -
 fi
 exit 0
 endef
index ff8038346c11ba0a9cfee98e846f4f31a498086c..2e4dea7013e14e1304f211f180b4ce83e3b83264 100644 (file)
@@ -1,14 +1,10 @@
-#
-# Copyright (c) 2018 Gregory L. Dietsche <Gregory.Dietsche@cuw.edu>
-# This is free software, licensed under the MIT License
-#
+##########################################################################
+#                     **** IMPORTANT ****                                #
+# Do not make changes to this file instead please execute:               #
+# /usr/sbin/safe-search-maintenance                                      #
+# If this file is not working, please ensure dnsmasq is able to READ it! #
+##########################################################################
 
-#
-# IMPORTANT: if this file is not working, make sure that dnsmasq is able to READ it!
-#
-
-#204.79.197.220 strict.bing.com
-#::FFFF:CC4F:C5DC strict.bing.com
+# Last Updated On: Tue Jan 12 13:42:47 CST 2021
 
 204.79.197.220 bing.com www.bing.com
-::FFFF:CC4F:C5DC bing.com www.bing.com
index 587bfe185f7d1cd4521a15b5921bb81bd2192e26..b9330db4bbbc167cdca781befd16a79db861e0e7 100644 (file)
@@ -1,12 +1,10 @@
-#
-# Copyright (c) 2019 Gregory L. Dietsche <Gregory.Dietsche@cuw.edu>
-# This is free software, licensed under the MIT License
-#
+##########################################################################
+#                     **** IMPORTANT ****                                #
+# Do not make changes to this file instead please execute:               #
+# /usr/sbin/safe-search-maintenance                                      #
+# If this file is not working, please ensure dnsmasq is able to READ it! #
+##########################################################################
 
-#
-# IMPORTANT: if this file is not working, make sure that dnsmasq is able to READ it!
-#
-
-#40.89.244.237 safe.duckduckgo.com
+# Last Updated On: Tue Jan 12 13:42:47 CST 2021
 
 40.89.244.237 duckduckgo.com
index d0c29c482f80d1ef3700fda1805ef50e4fd4facc..d9192835ae47c94dd20c1623b4653f921e3ddaa6 100644 (file)
-#
-# Copyright (c) 2018 Gregory L. Dietsche <Gregory.Dietsche@cuw.edu>
-# This is free software, licensed under the MIT License
-#
-# IMPORTANT: if this file is not working, make sure that dnsmasq is able to READ it!
-#
-# Google Safe Search Host List
-# Generated on Sat Dec  7 10:21:21 CST 2019
-# From: https://www.google.com/supported_domains
+##########################################################################
+#                     **** IMPORTANT ****                                #
+# Do not make changes to this file instead please execute:               #
+# /usr/sbin/safe-search-maintenance                                      #
+# If this file is not working, please ensure dnsmasq is able to READ it! #
+##########################################################################
 
-#2001:4860:4802:32::78 forcesafesearch.google.com
-#216.239.38.120 forcesafesearch.google.com
+# Last Updated On: Tue Jan 12 13:42:47 CST 2021
 
 2001:4860:4802:32::78 google.com
-2001:4860:4802:32::78 google.ad
-2001:4860:4802:32::78 google.ae
-2001:4860:4802:32::78 google.com.af
-2001:4860:4802:32::78 google.com.ag
-2001:4860:4802:32::78 google.com.ai
-2001:4860:4802:32::78 google.al
-2001:4860:4802:32::78 google.am
-2001:4860:4802:32::78 google.co.ao
-2001:4860:4802:32::78 google.com.ar
-2001:4860:4802:32::78 google.as
-2001:4860:4802:32::78 google.at
-2001:4860:4802:32::78 google.com.au
-2001:4860:4802:32::78 google.az
-2001:4860:4802:32::78 google.ba
-2001:4860:4802:32::78 google.com.bd
-2001:4860:4802:32::78 google.be
-2001:4860:4802:32::78 google.bf
-2001:4860:4802:32::78 google.bg
-2001:4860:4802:32::78 google.com.bh
-2001:4860:4802:32::78 google.bi
-2001:4860:4802:32::78 google.bj
-2001:4860:4802:32::78 google.com.bn
-2001:4860:4802:32::78 google.com.bo
-2001:4860:4802:32::78 google.com.br
-2001:4860:4802:32::78 google.bs
-2001:4860:4802:32::78 google.bt
-2001:4860:4802:32::78 google.co.bw
-2001:4860:4802:32::78 google.by
-2001:4860:4802:32::78 google.com.bz
-2001:4860:4802:32::78 google.ca
-2001:4860:4802:32::78 google.cd
-2001:4860:4802:32::78 google.cf
-2001:4860:4802:32::78 google.cg
-2001:4860:4802:32::78 google.ch
-2001:4860:4802:32::78 google.ci
-2001:4860:4802:32::78 google.co.ck
-2001:4860:4802:32::78 google.cl
-2001:4860:4802:32::78 google.cm
-2001:4860:4802:32::78 google.cn
-2001:4860:4802:32::78 google.com.co
-2001:4860:4802:32::78 google.co.cr
-2001:4860:4802:32::78 google.com.cu
-2001:4860:4802:32::78 google.cv
-2001:4860:4802:32::78 google.com.cy
-2001:4860:4802:32::78 google.cz
-2001:4860:4802:32::78 google.de
-2001:4860:4802:32::78 google.dj
-2001:4860:4802:32::78 google.dk
-2001:4860:4802:32::78 google.dm
-2001:4860:4802:32::78 google.com.do
-2001:4860:4802:32::78 google.dz
-2001:4860:4802:32::78 google.com.ec
-2001:4860:4802:32::78 google.ee
-2001:4860:4802:32::78 google.com.eg
-2001:4860:4802:32::78 google.es
-2001:4860:4802:32::78 google.com.et
-2001:4860:4802:32::78 google.fi
-2001:4860:4802:32::78 google.com.fj
-2001:4860:4802:32::78 google.fm
-2001:4860:4802:32::78 google.fr
-2001:4860:4802:32::78 google.ga
-2001:4860:4802:32::78 google.ge
-2001:4860:4802:32::78 google.gg
-2001:4860:4802:32::78 google.com.gh
-2001:4860:4802:32::78 google.com.gi
-2001:4860:4802:32::78 google.gl
-2001:4860:4802:32::78 google.gm
-2001:4860:4802:32::78 google.gr
-2001:4860:4802:32::78 google.com.gt
-2001:4860:4802:32::78 google.gy
-2001:4860:4802:32::78 google.com.hk
-2001:4860:4802:32::78 google.hn
-2001:4860:4802:32::78 google.hr
-2001:4860:4802:32::78 google.ht
-2001:4860:4802:32::78 google.hu
-2001:4860:4802:32::78 google.co.id
-2001:4860:4802:32::78 google.ie
-2001:4860:4802:32::78 google.co.il
-2001:4860:4802:32::78 google.im
-2001:4860:4802:32::78 google.co.in
-2001:4860:4802:32::78 google.iq
-2001:4860:4802:32::78 google.is
-2001:4860:4802:32::78 google.it
-2001:4860:4802:32::78 google.je
-2001:4860:4802:32::78 google.com.jm
-2001:4860:4802:32::78 google.jo
-2001:4860:4802:32::78 google.co.jp
-2001:4860:4802:32::78 google.co.ke
-2001:4860:4802:32::78 google.com.kh
-2001:4860:4802:32::78 google.ki
-2001:4860:4802:32::78 google.kg
-2001:4860:4802:32::78 google.co.kr
-2001:4860:4802:32::78 google.com.kw
-2001:4860:4802:32::78 google.kz
-2001:4860:4802:32::78 google.la
-2001:4860:4802:32::78 google.com.lb
-2001:4860:4802:32::78 google.li
-2001:4860:4802:32::78 google.lk
-2001:4860:4802:32::78 google.co.ls
-2001:4860:4802:32::78 google.lt
-2001:4860:4802:32::78 google.lu
-2001:4860:4802:32::78 google.lv
-2001:4860:4802:32::78 google.com.ly
-2001:4860:4802:32::78 google.co.ma
-2001:4860:4802:32::78 google.md
-2001:4860:4802:32::78 google.me
-2001:4860:4802:32::78 google.mg
-2001:4860:4802:32::78 google.mk
-2001:4860:4802:32::78 google.ml
-2001:4860:4802:32::78 google.com.mm
-2001:4860:4802:32::78 google.mn
-2001:4860:4802:32::78 google.ms
-2001:4860:4802:32::78 google.com.mt
-2001:4860:4802:32::78 google.mu
-2001:4860:4802:32::78 google.mv
-2001:4860:4802:32::78 google.mw
-2001:4860:4802:32::78 google.com.mx
-2001:4860:4802:32::78 google.com.my
-2001:4860:4802:32::78 google.co.mz
-2001:4860:4802:32::78 google.com.na
-2001:4860:4802:32::78 google.com.ng
-2001:4860:4802:32::78 google.com.ni
-2001:4860:4802:32::78 google.ne
-2001:4860:4802:32::78 google.nl
-2001:4860:4802:32::78 google.no
-2001:4860:4802:32::78 google.com.np
-2001:4860:4802:32::78 google.nr
-2001:4860:4802:32::78 google.nu
-2001:4860:4802:32::78 google.co.nz
-2001:4860:4802:32::78 google.com.om
-2001:4860:4802:32::78 google.com.pa
-2001:4860:4802:32::78 google.com.pe
-2001:4860:4802:32::78 google.com.pg
-2001:4860:4802:32::78 google.com.ph
-2001:4860:4802:32::78 google.com.pk
-2001:4860:4802:32::78 google.pl
-2001:4860:4802:32::78 google.pn
-2001:4860:4802:32::78 google.com.pr
-2001:4860:4802:32::78 google.ps
-2001:4860:4802:32::78 google.pt
-2001:4860:4802:32::78 google.com.py
-2001:4860:4802:32::78 google.com.qa
-2001:4860:4802:32::78 google.ro
-2001:4860:4802:32::78 google.ru
-2001:4860:4802:32::78 google.rw
-2001:4860:4802:32::78 google.com.sa
-2001:4860:4802:32::78 google.com.sb
-2001:4860:4802:32::78 google.sc
-2001:4860:4802:32::78 google.se
-2001:4860:4802:32::78 google.com.sg
-2001:4860:4802:32::78 google.sh
-2001:4860:4802:32::78 google.si
-2001:4860:4802:32::78 google.sk
-2001:4860:4802:32::78 google.com.sl
-2001:4860:4802:32::78 google.sn
-2001:4860:4802:32::78 google.so
-2001:4860:4802:32::78 google.sm
-2001:4860:4802:32::78 google.sr
-2001:4860:4802:32::78 google.st
-2001:4860:4802:32::78 google.com.sv
-2001:4860:4802:32::78 google.td
-2001:4860:4802:32::78 google.tg
-2001:4860:4802:32::78 google.co.th
-2001:4860:4802:32::78 google.com.tj
-2001:4860:4802:32::78 google.tl
-2001:4860:4802:32::78 google.tm
-2001:4860:4802:32::78 google.tn
-2001:4860:4802:32::78 google.to
-2001:4860:4802:32::78 google.com.tr
-2001:4860:4802:32::78 google.tt
-2001:4860:4802:32::78 google.com.tw
-2001:4860:4802:32::78 google.co.tz
-2001:4860:4802:32::78 google.com.ua
-2001:4860:4802:32::78 google.co.ug
-2001:4860:4802:32::78 google.co.uk
-2001:4860:4802:32::78 google.com.uy
-2001:4860:4802:32::78 google.co.uz
-2001:4860:4802:32::78 google.com.vc
-2001:4860:4802:32::78 google.co.ve
-2001:4860:4802:32::78 google.vg
-2001:4860:4802:32::78 google.co.vi
-2001:4860:4802:32::78 google.com.vn
-2001:4860:4802:32::78 google.vu
-2001:4860:4802:32::78 google.ws
-2001:4860:4802:32::78 google.rs
-2001:4860:4802:32::78 google.co.za
-2001:4860:4802:32::78 google.co.zm
-2001:4860:4802:32::78 google.co.zw
-2001:4860:4802:32::78 google.cat
-2001:4860:4802:32::78 www.google.com
-2001:4860:4802:32::78 www.google.ad
-2001:4860:4802:32::78 www.google.ae
-2001:4860:4802:32::78 www.google.com.af
-2001:4860:4802:32::78 www.google.com.ag
-2001:4860:4802:32::78 www.google.com.ai
-2001:4860:4802:32::78 www.google.al
-2001:4860:4802:32::78 www.google.am
-2001:4860:4802:32::78 www.google.co.ao
-2001:4860:4802:32::78 www.google.com.ar
-2001:4860:4802:32::78 www.google.as
-2001:4860:4802:32::78 www.google.at
-2001:4860:4802:32::78 www.google.com.au
-2001:4860:4802:32::78 www.google.az
-2001:4860:4802:32::78 www.google.ba
-2001:4860:4802:32::78 www.google.com.bd
-2001:4860:4802:32::78 www.google.be
-2001:4860:4802:32::78 www.google.bf
-2001:4860:4802:32::78 www.google.bg
-2001:4860:4802:32::78 www.google.com.bh
-2001:4860:4802:32::78 www.google.bi
-2001:4860:4802:32::78 www.google.bj
-2001:4860:4802:32::78 www.google.com.bn
-2001:4860:4802:32::78 www.google.com.bo
-2001:4860:4802:32::78 www.google.com.br
-2001:4860:4802:32::78 www.google.bs
-2001:4860:4802:32::78 www.google.bt
-2001:4860:4802:32::78 www.google.co.bw
-2001:4860:4802:32::78 www.google.by
-2001:4860:4802:32::78 www.google.com.bz
-2001:4860:4802:32::78 www.google.ca
-2001:4860:4802:32::78 www.google.cd
-2001:4860:4802:32::78 www.google.cf
-2001:4860:4802:32::78 www.google.cg
-2001:4860:4802:32::78 www.google.ch
-2001:4860:4802:32::78 www.google.ci
-2001:4860:4802:32::78 www.google.co.ck
-2001:4860:4802:32::78 www.google.cl
-2001:4860:4802:32::78 www.google.cm
-2001:4860:4802:32::78 www.google.cn
-2001:4860:4802:32::78 www.google.com.co
-2001:4860:4802:32::78 www.google.co.cr
-2001:4860:4802:32::78 www.google.com.cu
-2001:4860:4802:32::78 www.google.cv
-2001:4860:4802:32::78 www.google.com.cy
-2001:4860:4802:32::78 www.google.cz
-2001:4860:4802:32::78 www.google.de
-2001:4860:4802:32::78 www.google.dj
-2001:4860:4802:32::78 www.google.dk
-2001:4860:4802:32::78 www.google.dm
-2001:4860:4802:32::78 www.google.com.do
-2001:4860:4802:32::78 www.google.dz
-2001:4860:4802:32::78 www.google.com.ec
-2001:4860:4802:32::78 www.google.ee
-2001:4860:4802:32::78 www.google.com.eg
-2001:4860:4802:32::78 www.google.es
-2001:4860:4802:32::78 www.google.com.et
-2001:4860:4802:32::78 www.google.fi
-2001:4860:4802:32::78 www.google.com.fj
-2001:4860:4802:32::78 www.google.fm
-2001:4860:4802:32::78 www.google.fr
-2001:4860:4802:32::78 www.google.ga
-2001:4860:4802:32::78 www.google.ge
-2001:4860:4802:32::78 www.google.gg
-2001:4860:4802:32::78 www.google.com.gh
-2001:4860:4802:32::78 www.google.com.gi
-2001:4860:4802:32::78 www.google.gl
-2001:4860:4802:32::78 www.google.gm
-2001:4860:4802:32::78 www.google.gr
-2001:4860:4802:32::78 www.google.com.gt
-2001:4860:4802:32::78 www.google.gy
-2001:4860:4802:32::78 www.google.com.hk
-2001:4860:4802:32::78 www.google.hn
-2001:4860:4802:32::78 www.google.hr
-2001:4860:4802:32::78 www.google.ht
-2001:4860:4802:32::78 www.google.hu
-2001:4860:4802:32::78 www.google.co.id
-2001:4860:4802:32::78 www.google.ie
-2001:4860:4802:32::78 www.google.co.il
-2001:4860:4802:32::78 www.google.im
-2001:4860:4802:32::78 www.google.co.in
-2001:4860:4802:32::78 www.google.iq
-2001:4860:4802:32::78 www.google.is
-2001:4860:4802:32::78 www.google.it
-2001:4860:4802:32::78 www.google.je
-2001:4860:4802:32::78 www.google.com.jm
-2001:4860:4802:32::78 www.google.jo
-2001:4860:4802:32::78 www.google.co.jp
-2001:4860:4802:32::78 www.google.co.ke
-2001:4860:4802:32::78 www.google.com.kh
-2001:4860:4802:32::78 www.google.ki
-2001:4860:4802:32::78 www.google.kg
-2001:4860:4802:32::78 www.google.co.kr
-2001:4860:4802:32::78 www.google.com.kw
-2001:4860:4802:32::78 www.google.kz
-2001:4860:4802:32::78 www.google.la
-2001:4860:4802:32::78 www.google.com.lb
-2001:4860:4802:32::78 www.google.li
-2001:4860:4802:32::78 www.google.lk
-2001:4860:4802:32::78 www.google.co.ls
-2001:4860:4802:32::78 www.google.lt
-2001:4860:4802:32::78 www.google.lu
-2001:4860:4802:32::78 www.google.lv
-2001:4860:4802:32::78 www.google.com.ly
-2001:4860:4802:32::78 www.google.co.ma
-2001:4860:4802:32::78 www.google.md
-2001:4860:4802:32::78 www.google.me
-2001:4860:4802:32::78 www.google.mg
-2001:4860:4802:32::78 www.google.mk
-2001:4860:4802:32::78 www.google.ml
-2001:4860:4802:32::78 www.google.com.mm
-2001:4860:4802:32::78 www.google.mn
-2001:4860:4802:32::78 www.google.ms
-2001:4860:4802:32::78 www.google.com.mt
-2001:4860:4802:32::78 www.google.mu
-2001:4860:4802:32::78 www.google.mv
-2001:4860:4802:32::78 www.google.mw
-2001:4860:4802:32::78 www.google.com.mx
-2001:4860:4802:32::78 www.google.com.my
-2001:4860:4802:32::78 www.google.co.mz
-2001:4860:4802:32::78 www.google.com.na
-2001:4860:4802:32::78 www.google.com.ng
-2001:4860:4802:32::78 www.google.com.ni
-2001:4860:4802:32::78 www.google.ne
-2001:4860:4802:32::78 www.google.nl
-2001:4860:4802:32::78 www.google.no
-2001:4860:4802:32::78 www.google.com.np
-2001:4860:4802:32::78 www.google.nr
-2001:4860:4802:32::78 www.google.nu
-2001:4860:4802:32::78 www.google.co.nz
-2001:4860:4802:32::78 www.google.com.om
-2001:4860:4802:32::78 www.google.com.pa
-2001:4860:4802:32::78 www.google.com.pe
-2001:4860:4802:32::78 www.google.com.pg
-2001:4860:4802:32::78 www.google.com.ph
-2001:4860:4802:32::78 www.google.com.pk
-2001:4860:4802:32::78 www.google.pl
-2001:4860:4802:32::78 www.google.pn
-2001:4860:4802:32::78 www.google.com.pr
-2001:4860:4802:32::78 www.google.ps
-2001:4860:4802:32::78 www.google.pt
-2001:4860:4802:32::78 www.google.com.py
-2001:4860:4802:32::78 www.google.com.qa
-2001:4860:4802:32::78 www.google.ro
-2001:4860:4802:32::78 www.google.ru
-2001:4860:4802:32::78 www.google.rw
-2001:4860:4802:32::78 www.google.com.sa
-2001:4860:4802:32::78 www.google.com.sb
-2001:4860:4802:32::78 www.google.sc
-2001:4860:4802:32::78 www.google.se
-2001:4860:4802:32::78 www.google.com.sg
-2001:4860:4802:32::78 www.google.sh
-2001:4860:4802:32::78 www.google.si
-2001:4860:4802:32::78 www.google.sk
-2001:4860:4802:32::78 www.google.com.sl
-2001:4860:4802:32::78 www.google.sn
-2001:4860:4802:32::78 www.google.so
-2001:4860:4802:32::78 www.google.sm
-2001:4860:4802:32::78 www.google.sr
-2001:4860:4802:32::78 www.google.st
-2001:4860:4802:32::78 www.google.com.sv
-2001:4860:4802:32::78 www.google.td
-2001:4860:4802:32::78 www.google.tg
-2001:4860:4802:32::78 www.google.co.th
-2001:4860:4802:32::78 www.google.com.tj
-2001:4860:4802:32::78 www.google.tl
-2001:4860:4802:32::78 www.google.tm
-2001:4860:4802:32::78 www.google.tn
-2001:4860:4802:32::78 www.google.to
-2001:4860:4802:32::78 www.google.com.tr
-2001:4860:4802:32::78 www.google.tt
-2001:4860:4802:32::78 www.google.com.tw
-2001:4860:4802:32::78 www.google.co.tz
-2001:4860:4802:32::78 www.google.com.ua
-2001:4860:4802:32::78 www.google.co.ug
-2001:4860:4802:32::78 www.google.co.uk
-2001:4860:4802:32::78 www.google.com.uy
-2001:4860:4802:32::78 www.google.co.uz
-2001:4860:4802:32::78 www.google.com.vc
-2001:4860:4802:32::78 www.google.co.ve
-2001:4860:4802:32::78 www.google.vg
-2001:4860:4802:32::78 www.google.co.vi
-2001:4860:4802:32::78 www.google.com.vn
-2001:4860:4802:32::78 www.google.vu
-2001:4860:4802:32::78 www.google.ws
-2001:4860:4802:32::78 www.google.rs
-2001:4860:4802:32::78 www.google.co.za
-2001:4860:4802:32::78 www.google.co.zm
-2001:4860:4802:32::78 www.google.co.zw
-2001:4860:4802:32::78 www.google.cat
 216.239.38.120 google.com
+2001:4860:4802:32::78 google.ad
 216.239.38.120 google.ad
+2001:4860:4802:32::78 google.ae
 216.239.38.120 google.ae
+2001:4860:4802:32::78 google.com.af
 216.239.38.120 google.com.af
+2001:4860:4802:32::78 google.com.ag
 216.239.38.120 google.com.ag
+2001:4860:4802:32::78 google.com.ai
 216.239.38.120 google.com.ai
+2001:4860:4802:32::78 google.al
 216.239.38.120 google.al
+2001:4860:4802:32::78 google.am
 216.239.38.120 google.am
+2001:4860:4802:32::78 google.co.ao
 216.239.38.120 google.co.ao
+2001:4860:4802:32::78 google.com.ar
 216.239.38.120 google.com.ar
+2001:4860:4802:32::78 google.as
 216.239.38.120 google.as
+2001:4860:4802:32::78 google.at
 216.239.38.120 google.at
+2001:4860:4802:32::78 google.com.au
 216.239.38.120 google.com.au
+2001:4860:4802:32::78 google.az
 216.239.38.120 google.az
+2001:4860:4802:32::78 google.ba
 216.239.38.120 google.ba
+2001:4860:4802:32::78 google.com.bd
 216.239.38.120 google.com.bd
+2001:4860:4802:32::78 google.be
 216.239.38.120 google.be
+2001:4860:4802:32::78 google.bf
 216.239.38.120 google.bf
+2001:4860:4802:32::78 google.bg
 216.239.38.120 google.bg
+2001:4860:4802:32::78 google.com.bh
 216.239.38.120 google.com.bh
+2001:4860:4802:32::78 google.bi
 216.239.38.120 google.bi
+2001:4860:4802:32::78 google.bj
 216.239.38.120 google.bj
+2001:4860:4802:32::78 google.com.bn
 216.239.38.120 google.com.bn
+2001:4860:4802:32::78 google.com.bo
 216.239.38.120 google.com.bo
+2001:4860:4802:32::78 google.com.br
 216.239.38.120 google.com.br
+2001:4860:4802:32::78 google.bs
 216.239.38.120 google.bs
+2001:4860:4802:32::78 google.bt
 216.239.38.120 google.bt
+2001:4860:4802:32::78 google.co.bw
 216.239.38.120 google.co.bw
+2001:4860:4802:32::78 google.by
 216.239.38.120 google.by
+2001:4860:4802:32::78 google.com.bz
 216.239.38.120 google.com.bz
+2001:4860:4802:32::78 google.ca
 216.239.38.120 google.ca
+2001:4860:4802:32::78 google.cd
 216.239.38.120 google.cd
+2001:4860:4802:32::78 google.cf
 216.239.38.120 google.cf
+2001:4860:4802:32::78 google.cg
 216.239.38.120 google.cg
+2001:4860:4802:32::78 google.ch
 216.239.38.120 google.ch
+2001:4860:4802:32::78 google.ci
 216.239.38.120 google.ci
+2001:4860:4802:32::78 google.co.ck
 216.239.38.120 google.co.ck
+2001:4860:4802:32::78 google.cl
 216.239.38.120 google.cl
+2001:4860:4802:32::78 google.cm
 216.239.38.120 google.cm
+2001:4860:4802:32::78 google.cn
 216.239.38.120 google.cn
+2001:4860:4802:32::78 google.com.co
 216.239.38.120 google.com.co
+2001:4860:4802:32::78 google.co.cr
 216.239.38.120 google.co.cr
+2001:4860:4802:32::78 google.com.cu
 216.239.38.120 google.com.cu
+2001:4860:4802:32::78 google.cv
 216.239.38.120 google.cv
+2001:4860:4802:32::78 google.com.cy
 216.239.38.120 google.com.cy
+2001:4860:4802:32::78 google.cz
 216.239.38.120 google.cz
+2001:4860:4802:32::78 google.de
 216.239.38.120 google.de
+2001:4860:4802:32::78 google.dj
 216.239.38.120 google.dj
+2001:4860:4802:32::78 google.dk
 216.239.38.120 google.dk
+2001:4860:4802:32::78 google.dm
 216.239.38.120 google.dm
+2001:4860:4802:32::78 google.com.do
 216.239.38.120 google.com.do
+2001:4860:4802:32::78 google.dz
 216.239.38.120 google.dz
+2001:4860:4802:32::78 google.com.ec
 216.239.38.120 google.com.ec
+2001:4860:4802:32::78 google.ee
 216.239.38.120 google.ee
+2001:4860:4802:32::78 google.com.eg
 216.239.38.120 google.com.eg
+2001:4860:4802:32::78 google.es
 216.239.38.120 google.es
+2001:4860:4802:32::78 google.com.et
 216.239.38.120 google.com.et
+2001:4860:4802:32::78 google.fi
 216.239.38.120 google.fi
+2001:4860:4802:32::78 google.com.fj
 216.239.38.120 google.com.fj
+2001:4860:4802:32::78 google.fm
 216.239.38.120 google.fm
+2001:4860:4802:32::78 google.fr
 216.239.38.120 google.fr
+2001:4860:4802:32::78 google.ga
 216.239.38.120 google.ga
+2001:4860:4802:32::78 google.ge
 216.239.38.120 google.ge
+2001:4860:4802:32::78 google.gg
 216.239.38.120 google.gg
+2001:4860:4802:32::78 google.com.gh
 216.239.38.120 google.com.gh
+2001:4860:4802:32::78 google.com.gi
 216.239.38.120 google.com.gi
+2001:4860:4802:32::78 google.gl
 216.239.38.120 google.gl
+2001:4860:4802:32::78 google.gm
 216.239.38.120 google.gm
+2001:4860:4802:32::78 google.gp
+216.239.38.120 google.gp
+2001:4860:4802:32::78 google.gr
 216.239.38.120 google.gr
+2001:4860:4802:32::78 google.com.gt
 216.239.38.120 google.com.gt
+2001:4860:4802:32::78 google.gy
 216.239.38.120 google.gy
+2001:4860:4802:32::78 google.com.hk
 216.239.38.120 google.com.hk
+2001:4860:4802:32::78 google.hn
 216.239.38.120 google.hn
+2001:4860:4802:32::78 google.hr
 216.239.38.120 google.hr
+2001:4860:4802:32::78 google.ht
 216.239.38.120 google.ht
+2001:4860:4802:32::78 google.hu
 216.239.38.120 google.hu
+2001:4860:4802:32::78 google.co.id
 216.239.38.120 google.co.id
+2001:4860:4802:32::78 google.ie
 216.239.38.120 google.ie
+2001:4860:4802:32::78 google.co.il
 216.239.38.120 google.co.il
+2001:4860:4802:32::78 google.im
 216.239.38.120 google.im
+2001:4860:4802:32::78 google.co.in
 216.239.38.120 google.co.in
+2001:4860:4802:32::78 google.iq
 216.239.38.120 google.iq
+2001:4860:4802:32::78 google.is
 216.239.38.120 google.is
+2001:4860:4802:32::78 google.it
 216.239.38.120 google.it
+2001:4860:4802:32::78 google.je
 216.239.38.120 google.je
+2001:4860:4802:32::78 google.com.jm
 216.239.38.120 google.com.jm
+2001:4860:4802:32::78 google.jo
 216.239.38.120 google.jo
+2001:4860:4802:32::78 google.co.jp
 216.239.38.120 google.co.jp
+2001:4860:4802:32::78 google.co.ke
 216.239.38.120 google.co.ke
+2001:4860:4802:32::78 google.com.kh
 216.239.38.120 google.com.kh
+2001:4860:4802:32::78 google.ki
 216.239.38.120 google.ki
+2001:4860:4802:32::78 google.kg
 216.239.38.120 google.kg
+2001:4860:4802:32::78 google.co.kr
 216.239.38.120 google.co.kr
+2001:4860:4802:32::78 google.com.kw
 216.239.38.120 google.com.kw
+2001:4860:4802:32::78 google.kz
 216.239.38.120 google.kz
+2001:4860:4802:32::78 google.la
 216.239.38.120 google.la
+2001:4860:4802:32::78 google.com.lb
 216.239.38.120 google.com.lb
+2001:4860:4802:32::78 google.li
 216.239.38.120 google.li
+2001:4860:4802:32::78 google.lk
 216.239.38.120 google.lk
+2001:4860:4802:32::78 google.co.ls
 216.239.38.120 google.co.ls
+2001:4860:4802:32::78 google.lt
 216.239.38.120 google.lt
+2001:4860:4802:32::78 google.lu
 216.239.38.120 google.lu
+2001:4860:4802:32::78 google.lv
 216.239.38.120 google.lv
+2001:4860:4802:32::78 google.com.ly
 216.239.38.120 google.com.ly
+2001:4860:4802:32::78 google.co.ma
 216.239.38.120 google.co.ma
+2001:4860:4802:32::78 google.md
 216.239.38.120 google.md
+2001:4860:4802:32::78 google.me
 216.239.38.120 google.me
+2001:4860:4802:32::78 google.mg
 216.239.38.120 google.mg
+2001:4860:4802:32::78 google.mk
 216.239.38.120 google.mk
+2001:4860:4802:32::78 google.ml
 216.239.38.120 google.ml
+2001:4860:4802:32::78 google.com.mm
 216.239.38.120 google.com.mm
+2001:4860:4802:32::78 google.mn
 216.239.38.120 google.mn
+2001:4860:4802:32::78 google.ms
 216.239.38.120 google.ms
+2001:4860:4802:32::78 google.com.mt
 216.239.38.120 google.com.mt
+2001:4860:4802:32::78 google.mu
 216.239.38.120 google.mu
+2001:4860:4802:32::78 google.mv
 216.239.38.120 google.mv
+2001:4860:4802:32::78 google.mw
 216.239.38.120 google.mw
+2001:4860:4802:32::78 google.com.mx
 216.239.38.120 google.com.mx
+2001:4860:4802:32::78 google.com.my
 216.239.38.120 google.com.my
+2001:4860:4802:32::78 google.co.mz
 216.239.38.120 google.co.mz
+2001:4860:4802:32::78 google.com.na
 216.239.38.120 google.com.na
+2001:4860:4802:32::78 google.com.nf
+216.239.38.120 google.com.nf
+2001:4860:4802:32::78 google.com.ng
 216.239.38.120 google.com.ng
+2001:4860:4802:32::78 google.com.ni
 216.239.38.120 google.com.ni
+2001:4860:4802:32::78 google.ne
 216.239.38.120 google.ne
+2001:4860:4802:32::78 google.nl
 216.239.38.120 google.nl
+2001:4860:4802:32::78 google.no
 216.239.38.120 google.no
+2001:4860:4802:32::78 google.com.np
 216.239.38.120 google.com.np
+2001:4860:4802:32::78 google.nr
 216.239.38.120 google.nr
+2001:4860:4802:32::78 google.nu
 216.239.38.120 google.nu
+2001:4860:4802:32::78 google.co.nz
 216.239.38.120 google.co.nz
+2001:4860:4802:32::78 google.com.om
 216.239.38.120 google.com.om
+2001:4860:4802:32::78 google.com.pa
 216.239.38.120 google.com.pa
+2001:4860:4802:32::78 google.com.pe
 216.239.38.120 google.com.pe
+2001:4860:4802:32::78 google.com.pg
 216.239.38.120 google.com.pg
+2001:4860:4802:32::78 google.com.ph
 216.239.38.120 google.com.ph
+2001:4860:4802:32::78 google.com.pk
 216.239.38.120 google.com.pk
+2001:4860:4802:32::78 google.pl
 216.239.38.120 google.pl
+2001:4860:4802:32::78 google.pn
 216.239.38.120 google.pn
+2001:4860:4802:32::78 google.com.pr
 216.239.38.120 google.com.pr
+2001:4860:4802:32::78 google.ps
 216.239.38.120 google.ps
+2001:4860:4802:32::78 google.pt
 216.239.38.120 google.pt
+2001:4860:4802:32::78 google.com.py
 216.239.38.120 google.com.py
+2001:4860:4802:32::78 google.com.qa
 216.239.38.120 google.com.qa
+2001:4860:4802:32::78 google.ro
 216.239.38.120 google.ro
+2001:4860:4802:32::78 google.ru
 216.239.38.120 google.ru
+2001:4860:4802:32::78 google.rw
 216.239.38.120 google.rw
+2001:4860:4802:32::78 google.com.sa
 216.239.38.120 google.com.sa
+2001:4860:4802:32::78 google.com.sb
 216.239.38.120 google.com.sb
+2001:4860:4802:32::78 google.sc
 216.239.38.120 google.sc
+2001:4860:4802:32::78 google.se
 216.239.38.120 google.se
+2001:4860:4802:32::78 google.com.sg
 216.239.38.120 google.com.sg
+2001:4860:4802:32::78 google.sh
 216.239.38.120 google.sh
+2001:4860:4802:32::78 google.si
 216.239.38.120 google.si
+2001:4860:4802:32::78 google.sk
 216.239.38.120 google.sk
+2001:4860:4802:32::78 google.com.sl
 216.239.38.120 google.com.sl
+2001:4860:4802:32::78 google.sn
 216.239.38.120 google.sn
+2001:4860:4802:32::78 google.so
 216.239.38.120 google.so
+2001:4860:4802:32::78 google.sm
 216.239.38.120 google.sm
+2001:4860:4802:32::78 google.sr
 216.239.38.120 google.sr
+2001:4860:4802:32::78 google.st
 216.239.38.120 google.st
+2001:4860:4802:32::78 google.com.sv
 216.239.38.120 google.com.sv
+2001:4860:4802:32::78 google.td
 216.239.38.120 google.td
+2001:4860:4802:32::78 google.tg
 216.239.38.120 google.tg
+2001:4860:4802:32::78 google.co.th
 216.239.38.120 google.co.th
+2001:4860:4802:32::78 google.com.tj
 216.239.38.120 google.com.tj
+2001:4860:4802:32::78 google.tk
+216.239.38.120 google.tk
+2001:4860:4802:32::78 google.tl
 216.239.38.120 google.tl
+2001:4860:4802:32::78 google.tm
 216.239.38.120 google.tm
+2001:4860:4802:32::78 google.tn
 216.239.38.120 google.tn
+2001:4860:4802:32::78 google.to
 216.239.38.120 google.to
+2001:4860:4802:32::78 google.com.tr
 216.239.38.120 google.com.tr
+2001:4860:4802:32::78 google.tt
 216.239.38.120 google.tt
+2001:4860:4802:32::78 google.com.tw
 216.239.38.120 google.com.tw
+2001:4860:4802:32::78 google.co.tz
 216.239.38.120 google.co.tz
+2001:4860:4802:32::78 google.com.ua
 216.239.38.120 google.com.ua
+2001:4860:4802:32::78 google.co.ug
 216.239.38.120 google.co.ug
+2001:4860:4802:32::78 google.co.uk
 216.239.38.120 google.co.uk
+2001:4860:4802:32::78 google.com.uy
 216.239.38.120 google.com.uy
+2001:4860:4802:32::78 google.co.uz
 216.239.38.120 google.co.uz
+2001:4860:4802:32::78 google.com.vc
 216.239.38.120 google.com.vc
+2001:4860:4802:32::78 google.co.ve
 216.239.38.120 google.co.ve
+2001:4860:4802:32::78 google.vg
 216.239.38.120 google.vg
+2001:4860:4802:32::78 google.co.vi
 216.239.38.120 google.co.vi
+2001:4860:4802:32::78 google.com.vn
 216.239.38.120 google.com.vn
+2001:4860:4802:32::78 google.vu
 216.239.38.120 google.vu
+2001:4860:4802:32::78 google.ws
 216.239.38.120 google.ws
+2001:4860:4802:32::78 google.rs
 216.239.38.120 google.rs
+2001:4860:4802:32::78 google.co.za
 216.239.38.120 google.co.za
+2001:4860:4802:32::78 google.co.zm
 216.239.38.120 google.co.zm
+2001:4860:4802:32::78 google.co.zw
 216.239.38.120 google.co.zw
+2001:4860:4802:32::78 google.cat
 216.239.38.120 google.cat
+2001:4860:4802:32::78 www.google.com
 216.239.38.120 www.google.com
+2001:4860:4802:32::78 www.google.ad
 216.239.38.120 www.google.ad
+2001:4860:4802:32::78 www.google.ae
 216.239.38.120 www.google.ae
+2001:4860:4802:32::78 www.google.com.af
 216.239.38.120 www.google.com.af
+2001:4860:4802:32::78 www.google.com.ag
 216.239.38.120 www.google.com.ag
+2001:4860:4802:32::78 www.google.com.ai
 216.239.38.120 www.google.com.ai
+2001:4860:4802:32::78 www.google.al
 216.239.38.120 www.google.al
+2001:4860:4802:32::78 www.google.am
 216.239.38.120 www.google.am
+2001:4860:4802:32::78 www.google.co.ao
 216.239.38.120 www.google.co.ao
+2001:4860:4802:32::78 www.google.com.ar
 216.239.38.120 www.google.com.ar
+2001:4860:4802:32::78 www.google.as
 216.239.38.120 www.google.as
+2001:4860:4802:32::78 www.google.at
 216.239.38.120 www.google.at
+2001:4860:4802:32::78 www.google.com.au
 216.239.38.120 www.google.com.au
+2001:4860:4802:32::78 www.google.az
 216.239.38.120 www.google.az
+2001:4860:4802:32::78 www.google.ba
 216.239.38.120 www.google.ba
+2001:4860:4802:32::78 www.google.com.bd
 216.239.38.120 www.google.com.bd
+2001:4860:4802:32::78 www.google.be
 216.239.38.120 www.google.be
+2001:4860:4802:32::78 www.google.bf
 216.239.38.120 www.google.bf
+2001:4860:4802:32::78 www.google.bg
 216.239.38.120 www.google.bg
+2001:4860:4802:32::78 www.google.com.bh
 216.239.38.120 www.google.com.bh
+2001:4860:4802:32::78 www.google.bi
 216.239.38.120 www.google.bi
+2001:4860:4802:32::78 www.google.bj
 216.239.38.120 www.google.bj
+2001:4860:4802:32::78 www.google.com.bn
 216.239.38.120 www.google.com.bn
+2001:4860:4802:32::78 www.google.com.bo
 216.239.38.120 www.google.com.bo
+2001:4860:4802:32::78 www.google.com.br
 216.239.38.120 www.google.com.br
+2001:4860:4802:32::78 www.google.bs
 216.239.38.120 www.google.bs
+2001:4860:4802:32::78 www.google.bt
 216.239.38.120 www.google.bt
+2001:4860:4802:32::78 www.google.co.bw
 216.239.38.120 www.google.co.bw
+2001:4860:4802:32::78 www.google.by
 216.239.38.120 www.google.by
+2001:4860:4802:32::78 www.google.com.bz
 216.239.38.120 www.google.com.bz
+2001:4860:4802:32::78 www.google.ca
 216.239.38.120 www.google.ca
+2001:4860:4802:32::78 www.google.cd
 216.239.38.120 www.google.cd
+2001:4860:4802:32::78 www.google.cf
 216.239.38.120 www.google.cf
+2001:4860:4802:32::78 www.google.cg
 216.239.38.120 www.google.cg
+2001:4860:4802:32::78 www.google.ch
 216.239.38.120 www.google.ch
+2001:4860:4802:32::78 www.google.ci
 216.239.38.120 www.google.ci
+2001:4860:4802:32::78 www.google.co.ck
 216.239.38.120 www.google.co.ck
+2001:4860:4802:32::78 www.google.cl
 216.239.38.120 www.google.cl
+2001:4860:4802:32::78 www.google.cm
 216.239.38.120 www.google.cm
+2001:4860:4802:32::78 www.google.cn
 216.239.38.120 www.google.cn
+2001:4860:4802:32::78 www.google.com.co
 216.239.38.120 www.google.com.co
+2001:4860:4802:32::78 www.google.co.cr
 216.239.38.120 www.google.co.cr
+2001:4860:4802:32::78 www.google.com.cu
 216.239.38.120 www.google.com.cu
+2001:4860:4802:32::78 www.google.cv
 216.239.38.120 www.google.cv
+2001:4860:4802:32::78 www.google.com.cy
 216.239.38.120 www.google.com.cy
+2001:4860:4802:32::78 www.google.cz
 216.239.38.120 www.google.cz
+2001:4860:4802:32::78 www.google.de
 216.239.38.120 www.google.de
+2001:4860:4802:32::78 www.google.dj
 216.239.38.120 www.google.dj
+2001:4860:4802:32::78 www.google.dk
 216.239.38.120 www.google.dk
+2001:4860:4802:32::78 www.google.dm
 216.239.38.120 www.google.dm
+2001:4860:4802:32::78 www.google.com.do
 216.239.38.120 www.google.com.do
+2001:4860:4802:32::78 www.google.dz
 216.239.38.120 www.google.dz
+2001:4860:4802:32::78 www.google.com.ec
 216.239.38.120 www.google.com.ec
+2001:4860:4802:32::78 www.google.ee
 216.239.38.120 www.google.ee
+2001:4860:4802:32::78 www.google.com.eg
 216.239.38.120 www.google.com.eg
+2001:4860:4802:32::78 www.google.es
 216.239.38.120 www.google.es
+2001:4860:4802:32::78 www.google.com.et
 216.239.38.120 www.google.com.et
+2001:4860:4802:32::78 www.google.fi
 216.239.38.120 www.google.fi
+2001:4860:4802:32::78 www.google.com.fj
 216.239.38.120 www.google.com.fj
+2001:4860:4802:32::78 www.google.fm
 216.239.38.120 www.google.fm
+2001:4860:4802:32::78 www.google.fr
 216.239.38.120 www.google.fr
+2001:4860:4802:32::78 www.google.ga
 216.239.38.120 www.google.ga
+2001:4860:4802:32::78 www.google.ge
 216.239.38.120 www.google.ge
+2001:4860:4802:32::78 www.google.gg
 216.239.38.120 www.google.gg
+2001:4860:4802:32::78 www.google.com.gh
 216.239.38.120 www.google.com.gh
+2001:4860:4802:32::78 www.google.com.gi
 216.239.38.120 www.google.com.gi
+2001:4860:4802:32::78 www.google.gl
 216.239.38.120 www.google.gl
+2001:4860:4802:32::78 www.google.gm
 216.239.38.120 www.google.gm
+2001:4860:4802:32::78 www.google.gp
+216.239.38.120 www.google.gp
+2001:4860:4802:32::78 www.google.gr
 216.239.38.120 www.google.gr
+2001:4860:4802:32::78 www.google.com.gt
 216.239.38.120 www.google.com.gt
+2001:4860:4802:32::78 www.google.gy
 216.239.38.120 www.google.gy
+2001:4860:4802:32::78 www.google.com.hk
 216.239.38.120 www.google.com.hk
+2001:4860:4802:32::78 www.google.hn
 216.239.38.120 www.google.hn
+2001:4860:4802:32::78 www.google.hr
 216.239.38.120 www.google.hr
+2001:4860:4802:32::78 www.google.ht
 216.239.38.120 www.google.ht
+2001:4860:4802:32::78 www.google.hu
 216.239.38.120 www.google.hu
+2001:4860:4802:32::78 www.google.co.id
 216.239.38.120 www.google.co.id
+2001:4860:4802:32::78 www.google.ie
 216.239.38.120 www.google.ie
+2001:4860:4802:32::78 www.google.co.il
 216.239.38.120 www.google.co.il
+2001:4860:4802:32::78 www.google.im
 216.239.38.120 www.google.im
+2001:4860:4802:32::78 www.google.co.in
 216.239.38.120 www.google.co.in
+2001:4860:4802:32::78 www.google.iq
 216.239.38.120 www.google.iq
+2001:4860:4802:32::78 www.google.is
 216.239.38.120 www.google.is
+2001:4860:4802:32::78 www.google.it
 216.239.38.120 www.google.it
+2001:4860:4802:32::78 www.google.je
 216.239.38.120 www.google.je
+2001:4860:4802:32::78 www.google.com.jm
 216.239.38.120 www.google.com.jm
+2001:4860:4802:32::78 www.google.jo
 216.239.38.120 www.google.jo
+2001:4860:4802:32::78 www.google.co.jp
 216.239.38.120 www.google.co.jp
+2001:4860:4802:32::78 www.google.co.ke
 216.239.38.120 www.google.co.ke
+2001:4860:4802:32::78 www.google.com.kh
 216.239.38.120 www.google.com.kh
+2001:4860:4802:32::78 www.google.ki
 216.239.38.120 www.google.ki
+2001:4860:4802:32::78 www.google.kg
 216.239.38.120 www.google.kg
+2001:4860:4802:32::78 www.google.co.kr
 216.239.38.120 www.google.co.kr
+2001:4860:4802:32::78 www.google.com.kw
 216.239.38.120 www.google.com.kw
+2001:4860:4802:32::78 www.google.kz
 216.239.38.120 www.google.kz
+2001:4860:4802:32::78 www.google.la
 216.239.38.120 www.google.la
+2001:4860:4802:32::78 www.google.com.lb
 216.239.38.120 www.google.com.lb
+2001:4860:4802:32::78 www.google.li
 216.239.38.120 www.google.li
+2001:4860:4802:32::78 www.google.lk
 216.239.38.120 www.google.lk
+2001:4860:4802:32::78 www.google.co.ls
 216.239.38.120 www.google.co.ls
+2001:4860:4802:32::78 www.google.lt
 216.239.38.120 www.google.lt
+2001:4860:4802:32::78 www.google.lu
 216.239.38.120 www.google.lu
+2001:4860:4802:32::78 www.google.lv
 216.239.38.120 www.google.lv
+2001:4860:4802:32::78 www.google.com.ly
 216.239.38.120 www.google.com.ly
+2001:4860:4802:32::78 www.google.co.ma
 216.239.38.120 www.google.co.ma
+2001:4860:4802:32::78 www.google.md
 216.239.38.120 www.google.md
+2001:4860:4802:32::78 www.google.me
 216.239.38.120 www.google.me
+2001:4860:4802:32::78 www.google.mg
 216.239.38.120 www.google.mg
+2001:4860:4802:32::78 www.google.mk
 216.239.38.120 www.google.mk
+2001:4860:4802:32::78 www.google.ml
 216.239.38.120 www.google.ml
+2001:4860:4802:32::78 www.google.com.mm
 216.239.38.120 www.google.com.mm
+2001:4860:4802:32::78 www.google.mn
 216.239.38.120 www.google.mn
+2001:4860:4802:32::78 www.google.ms
 216.239.38.120 www.google.ms
+2001:4860:4802:32::78 www.google.com.mt
 216.239.38.120 www.google.com.mt
+2001:4860:4802:32::78 www.google.mu
 216.239.38.120 www.google.mu
+2001:4860:4802:32::78 www.google.mv
 216.239.38.120 www.google.mv
+2001:4860:4802:32::78 www.google.mw
 216.239.38.120 www.google.mw
+2001:4860:4802:32::78 www.google.com.mx
 216.239.38.120 www.google.com.mx
+2001:4860:4802:32::78 www.google.com.my
 216.239.38.120 www.google.com.my
+2001:4860:4802:32::78 www.google.co.mz
 216.239.38.120 www.google.co.mz
+2001:4860:4802:32::78 www.google.com.na
 216.239.38.120 www.google.com.na
+2001:4860:4802:32::78 www.google.com.nf
+216.239.38.120 www.google.com.nf
+2001:4860:4802:32::78 www.google.com.ng
 216.239.38.120 www.google.com.ng
+2001:4860:4802:32::78 www.google.com.ni
 216.239.38.120 www.google.com.ni
+2001:4860:4802:32::78 www.google.ne
 216.239.38.120 www.google.ne
+2001:4860:4802:32::78 www.google.nl
 216.239.38.120 www.google.nl
+2001:4860:4802:32::78 www.google.no
 216.239.38.120 www.google.no
+2001:4860:4802:32::78 www.google.com.np
 216.239.38.120 www.google.com.np
+2001:4860:4802:32::78 www.google.nr
 216.239.38.120 www.google.nr
+2001:4860:4802:32::78 www.google.nu
 216.239.38.120 www.google.nu
+2001:4860:4802:32::78 www.google.co.nz
 216.239.38.120 www.google.co.nz
+2001:4860:4802:32::78 www.google.com.om
 216.239.38.120 www.google.com.om
+2001:4860:4802:32::78 www.google.com.pa
 216.239.38.120 www.google.com.pa
+2001:4860:4802:32::78 www.google.com.pe
 216.239.38.120 www.google.com.pe
+2001:4860:4802:32::78 www.google.com.pg
 216.239.38.120 www.google.com.pg
+2001:4860:4802:32::78 www.google.com.ph
 216.239.38.120 www.google.com.ph
+2001:4860:4802:32::78 www.google.com.pk
 216.239.38.120 www.google.com.pk
+2001:4860:4802:32::78 www.google.pl
 216.239.38.120 www.google.pl
+2001:4860:4802:32::78 www.google.pn
 216.239.38.120 www.google.pn
+2001:4860:4802:32::78 www.google.com.pr
 216.239.38.120 www.google.com.pr
+2001:4860:4802:32::78 www.google.ps
 216.239.38.120 www.google.ps
+2001:4860:4802:32::78 www.google.pt
 216.239.38.120 www.google.pt
+2001:4860:4802:32::78 www.google.com.py
 216.239.38.120 www.google.com.py
+2001:4860:4802:32::78 www.google.com.qa
 216.239.38.120 www.google.com.qa
+2001:4860:4802:32::78 www.google.ro
 216.239.38.120 www.google.ro
+2001:4860:4802:32::78 www.google.ru
 216.239.38.120 www.google.ru
+2001:4860:4802:32::78 www.google.rw
 216.239.38.120 www.google.rw
+2001:4860:4802:32::78 www.google.com.sa
 216.239.38.120 www.google.com.sa
+2001:4860:4802:32::78 www.google.com.sb
 216.239.38.120 www.google.com.sb
+2001:4860:4802:32::78 www.google.sc
 216.239.38.120 www.google.sc
+2001:4860:4802:32::78 www.google.se
 216.239.38.120 www.google.se
+2001:4860:4802:32::78 www.google.com.sg
 216.239.38.120 www.google.com.sg
+2001:4860:4802:32::78 www.google.sh
 216.239.38.120 www.google.sh
+2001:4860:4802:32::78 www.google.si
 216.239.38.120 www.google.si
+2001:4860:4802:32::78 www.google.sk
 216.239.38.120 www.google.sk
+2001:4860:4802:32::78 www.google.com.sl
 216.239.38.120 www.google.com.sl
+2001:4860:4802:32::78 www.google.sn
 216.239.38.120 www.google.sn
+2001:4860:4802:32::78 www.google.so
 216.239.38.120 www.google.so
+2001:4860:4802:32::78 www.google.sm
 216.239.38.120 www.google.sm
+2001:4860:4802:32::78 www.google.sr
 216.239.38.120 www.google.sr
+2001:4860:4802:32::78 www.google.st
 216.239.38.120 www.google.st
+2001:4860:4802:32::78 www.google.com.sv
 216.239.38.120 www.google.com.sv
+2001:4860:4802:32::78 www.google.td
 216.239.38.120 www.google.td
+2001:4860:4802:32::78 www.google.tg
 216.239.38.120 www.google.tg
+2001:4860:4802:32::78 www.google.co.th
 216.239.38.120 www.google.co.th
+2001:4860:4802:32::78 www.google.com.tj
 216.239.38.120 www.google.com.tj
+2001:4860:4802:32::78 www.google.tk
+216.239.38.120 www.google.tk
+2001:4860:4802:32::78 www.google.tl
 216.239.38.120 www.google.tl
+2001:4860:4802:32::78 www.google.tm
 216.239.38.120 www.google.tm
+2001:4860:4802:32::78 www.google.tn
 216.239.38.120 www.google.tn
+2001:4860:4802:32::78 www.google.to
 216.239.38.120 www.google.to
+2001:4860:4802:32::78 www.google.com.tr
 216.239.38.120 www.google.com.tr
+2001:4860:4802:32::78 www.google.tt
 216.239.38.120 www.google.tt
+2001:4860:4802:32::78 www.google.com.tw
 216.239.38.120 www.google.com.tw
+2001:4860:4802:32::78 www.google.co.tz
 216.239.38.120 www.google.co.tz
+2001:4860:4802:32::78 www.google.com.ua
 216.239.38.120 www.google.com.ua
+2001:4860:4802:32::78 www.google.co.ug
 216.239.38.120 www.google.co.ug
+2001:4860:4802:32::78 www.google.co.uk
 216.239.38.120 www.google.co.uk
+2001:4860:4802:32::78 www.google.com.uy
 216.239.38.120 www.google.com.uy
+2001:4860:4802:32::78 www.google.co.uz
 216.239.38.120 www.google.co.uz
+2001:4860:4802:32::78 www.google.com.vc
 216.239.38.120 www.google.com.vc
+2001:4860:4802:32::78 www.google.co.ve
 216.239.38.120 www.google.co.ve
+2001:4860:4802:32::78 www.google.vg
 216.239.38.120 www.google.vg
+2001:4860:4802:32::78 www.google.co.vi
 216.239.38.120 www.google.co.vi
+2001:4860:4802:32::78 www.google.com.vn
 216.239.38.120 www.google.com.vn
+2001:4860:4802:32::78 www.google.vu
 216.239.38.120 www.google.vu
+2001:4860:4802:32::78 www.google.ws
 216.239.38.120 www.google.ws
+2001:4860:4802:32::78 www.google.rs
 216.239.38.120 www.google.rs
+2001:4860:4802:32::78 www.google.co.za
 216.239.38.120 www.google.co.za
+2001:4860:4802:32::78 www.google.co.zm
 216.239.38.120 www.google.co.zm
+2001:4860:4802:32::78 www.google.co.zw
 216.239.38.120 www.google.co.zw
+2001:4860:4802:32::78 www.google.cat
 216.239.38.120 www.google.cat
index f471cef77628d27b3e57c15ca2abc9761b190572..29f4e6be6eb8b92d2e7296c8b803e0be6d8ea468 100644 (file)
@@ -1,25 +1,11 @@
-#
-# Copyright (c) 2018 Gregory L. Dietsche <Gregory.Dietsche@cuw.edu>
-# This is free software, licensed under the MIT License
-#
+##########################################################################
+#                     **** IMPORTANT ****                                #
+# Do not make changes to this file instead please execute:               #
+# /usr/sbin/safe-search-maintenance                                      #
+# If this file is not working, please ensure dnsmasq is able to READ it! #
+##########################################################################
 
-#
-# IMPORTANT: if this file is not working, make sure that dnsmasq is able to READ it!
-#
+# Last Updated On: Tue Jan 12 13:42:47 CST 2021
 
-#216.239.38.120 restrict.youtube.com
-#2001:4860:4802:32::78 restrict.youtube.com
-
-#IPv6
-2001:4860:4802:32::78 www.youtube.com
-2001:4860:4802:32::78 m.youtube.com
-2001:4860:4802:32::78 youtubei.googleapis.com
-2001:4860:4802:32::78 youtube.googleapis.com
-2001:4860:4802:32::78 www.youtube-nocookie.com
-
-#IPv4
-216.239.38.120 www.youtube.com
-216.239.38.120 m.youtube.com
-216.239.38.120 youtubei.googleapis.com
-216.239.38.120 youtube.googleapis.com
-216.239.38.120 www.youtube-nocookie.com
+2001:4860:4802:32::78 www.youtube.com m.youtube.com youtubei.googleapis.com youtube.googleapis.com www.youtube-nocookie.com
+216.239.38.120 www.youtube.com m.youtube.com youtubei.googleapis.com youtube.googleapis.com www.youtube-nocookie.com
index 585d8bebb59720ce02e498ccbb8205a2d4870b59..4f0f7136e8f5464e35d2fa6591142382c3c37eec 100644 (file)
@@ -1,25 +1,11 @@
-#
-# Copyright (c) 2018 Gregory L. Dietsche <Gregory.Dietsche@cuw.edu>
-# This is free software, licensed under the MIT License
-#
+##########################################################################
+#                     **** IMPORTANT ****                                #
+# Do not make changes to this file instead please execute:               #
+# /usr/sbin/safe-search-maintenance                                      #
+# If this file is not working, please ensure dnsmasq is able to READ it! #
+##########################################################################
 
-#
-# IMPORTANT: if this file is not working, make sure that dnsmasq is able to READ it!
-#
+# Last Updated On: Tue Jan 12 13:42:47 CST 2021
 
-#216.239.38.119 restrictmoderate.youtube.com
-#2001:4860:4802:32::77 restrictmoderate.youtube.com
-
-#IPv6
-2001:4860:4802:32::77 www.youtube.com
-2001:4860:4802:32::77 m.youtube.com
-2001:4860:4802:32::77 youtubei.googleapis.com
-2001:4860:4802:32::77 youtube.googleapis.com
-2001:4860:4802:32::77 www.youtube-nocookie.com
-
-#IPv4
-216.239.38.119 www.youtube.com
-216.239.38.119 m.youtube.com
-216.239.38.119 youtubei.googleapis.com
-216.239.38.119 youtube.googleapis.com
-216.239.38.119 www.youtube-nocookie.com
+2001:4860:4802:32::77 youtube.com m.youtube.com youtubei.googleapis.com youtube.googleapis.com www.youtube-nocookie.com
+216.239.38.119 www.youtube.com m.youtube.com youtubei.googleapis.com youtube.googleapis.com www.youtube-nocookie.com
diff --git a/net/safe-search/files/safe-search-maintenance b/net/safe-search/files/safe-search-maintenance
new file mode 100644 (file)
index 0000000..39d19b1
--- /dev/null
@@ -0,0 +1,488 @@
+#!/bin/sh
+#
+# Copyright (c) 2021 Gregory L. Dietsche <Gregory.Dietsche@cuw.edu>
+# This is free software, licensed under the MIT License
+#
+
+HasIpAddressChanged() {
+  # Create a sorted, unique list of addresses using DNS
+  HOST_LIVE=$(nslookup "$1" | grep "Address\ [0-9]\+:" | sed -r 's/^Address [0-9]+: //' | sort | uniq -i)
+
+  # Create a sorted, unique list of addresess currently in use
+  HOST_SAFE=$(grep -i "^[:0-9a-f]" "$2" | sed 's/ .*//' | sort | uniq -i)
+
+  # dns resolution errors / not being connected to the internet can cause this.
+  if [ -z "$HOST_LIVE" ]; then
+    return 1
+  fi
+
+  #If the lists do not match, then we want to update to match the DNS records.
+  if [ "$HOST_LIVE" = "$HOST_SAFE" ]; then
+    return 1 # IP has NOT changed
+  fi
+
+  return 0 # IP has changed
+}
+
+StartIpAddressUpdate(){
+  echo Updating "$1"
+  RELOAD_DNSMASQ=1
+
+  #Create the new hosts file...
+  cat >"$1"<<EOL
+##########################################################################
+#                     **** IMPORTANT ****                                #
+# Do not make changes to this file instead please execute:               #
+# /usr/sbin/safe-search-maintenance                                      #
+# If this file is not working, please ensure dnsmasq is able to READ it! #
+##########################################################################
+
+# Last Updated On: $(date)
+
+EOL
+}
+
+MakeHost(){
+  for ipAddr in $HOST_LIVE
+  do
+    echo "$ipAddr $1"
+  done
+}
+
+#################################################
+### strict.bing.com                           ###
+#################################################
+HOST_FILE=/etc/safe-search/available/bing.default
+if HasIpAddressChanged strict.bing.com $HOST_FILE; then
+  StartIpAddressUpdate $HOST_FILE
+  MakeHost "bing.com www.bing.com">>$HOST_FILE
+fi
+
+#################################################
+### safe.duckduckgo.com                       ###
+#################################################
+HOST_FILE=/etc/safe-search/available/duckduckgo.default
+if HasIpAddressChanged safe.duckduckgo.com $HOST_FILE; then
+  StartIpAddressUpdate $HOST_FILE
+  MakeHost "duckduckgo.com">>$HOST_FILE
+fi
+
+#################################################
+### restrict.youtube.com                      ###
+#################################################
+HOST_FILE=/etc/safe-search/available/youtube.restrict
+if HasIpAddressChanged restrict.youtube.com $HOST_FILE; then
+  StartIpAddressUpdate $HOST_FILE
+  MakeHost "www.youtube.com m.youtube.com youtubei.googleapis.com youtube.googleapis.com www.youtube-nocookie.com">>$HOST_FILE
+fi
+
+#################################################
+### restrictmoderate.youtube.com              ###
+#################################################
+HOST_FILE=/etc/safe-search/available/youtube.restrictmoderate
+if HasIpAddressChanged restrictmoderate.youtube.com $HOST_FILE; then
+  StartIpAddressUpdate $HOST_FILE
+  MakeHost "www.youtube.com m.youtube.com youtubei.googleapis.com youtube.googleapis.com www.youtube-nocookie.com">>$HOST_FILE
+fi
+
+#################################################
+### forcesafesearch.google.com                ###
+### https://www.google.com/supported_domains  ###
+#################################################
+HOST_FILE=/etc/safe-search/available/google.default
+if HasIpAddressChanged forcesafesearch.google.com $HOST_FILE; then
+  StartIpAddressUpdate $HOST_FILE
+  cat >>"$HOST_FILE"<<EOL
+$(MakeHost "google.com")
+$(MakeHost "google.ad")
+$(MakeHost "google.ae")
+$(MakeHost "google.com.af")
+$(MakeHost "google.com.ag")
+$(MakeHost "google.com.ai")
+$(MakeHost "google.al")
+$(MakeHost "google.am")
+$(MakeHost "google.co.ao")
+$(MakeHost "google.com.ar")
+$(MakeHost "google.as")
+$(MakeHost "google.at")
+$(MakeHost "google.com.au")
+$(MakeHost "google.az")
+$(MakeHost "google.ba")
+$(MakeHost "google.com.bd")
+$(MakeHost "google.be")
+$(MakeHost "google.bf")
+$(MakeHost "google.bg")
+$(MakeHost "google.com.bh")
+$(MakeHost "google.bi")
+$(MakeHost "google.bj")
+$(MakeHost "google.com.bn")
+$(MakeHost "google.com.bo")
+$(MakeHost "google.com.br")
+$(MakeHost "google.bs")
+$(MakeHost "google.bt")
+$(MakeHost "google.co.bw")
+$(MakeHost "google.by")
+$(MakeHost "google.com.bz")
+$(MakeHost "google.ca")
+$(MakeHost "google.cd")
+$(MakeHost "google.cf")
+$(MakeHost "google.cg")
+$(MakeHost "google.ch")
+$(MakeHost "google.ci")
+$(MakeHost "google.co.ck")
+$(MakeHost "google.cl")
+$(MakeHost "google.cm")
+$(MakeHost "google.cn")
+$(MakeHost "google.com.co")
+$(MakeHost "google.co.cr")
+$(MakeHost "google.com.cu")
+$(MakeHost "google.cv")
+$(MakeHost "google.com.cy")
+$(MakeHost "google.cz")
+$(MakeHost "google.de")
+$(MakeHost "google.dj")
+$(MakeHost "google.dk")
+$(MakeHost "google.dm")
+$(MakeHost "google.com.do")
+$(MakeHost "google.dz")
+$(MakeHost "google.com.ec")
+$(MakeHost "google.ee")
+$(MakeHost "google.com.eg")
+$(MakeHost "google.es")
+$(MakeHost "google.com.et")
+$(MakeHost "google.fi")
+$(MakeHost "google.com.fj")
+$(MakeHost "google.fm")
+$(MakeHost "google.fr")
+$(MakeHost "google.ga")
+$(MakeHost "google.ge")
+$(MakeHost "google.gg")
+$(MakeHost "google.com.gh")
+$(MakeHost "google.com.gi")
+$(MakeHost "google.gl")
+$(MakeHost "google.gm")
+$(MakeHost "google.gp")
+$(MakeHost "google.gr")
+$(MakeHost "google.com.gt")
+$(MakeHost "google.gy")
+$(MakeHost "google.com.hk")
+$(MakeHost "google.hn")
+$(MakeHost "google.hr")
+$(MakeHost "google.ht")
+$(MakeHost "google.hu")
+$(MakeHost "google.co.id")
+$(MakeHost "google.ie")
+$(MakeHost "google.co.il")
+$(MakeHost "google.im")
+$(MakeHost "google.co.in")
+$(MakeHost "google.iq")
+$(MakeHost "google.is")
+$(MakeHost "google.it")
+$(MakeHost "google.je")
+$(MakeHost "google.com.jm")
+$(MakeHost "google.jo")
+$(MakeHost "google.co.jp")
+$(MakeHost "google.co.ke")
+$(MakeHost "google.com.kh")
+$(MakeHost "google.ki")
+$(MakeHost "google.kg")
+$(MakeHost "google.co.kr")
+$(MakeHost "google.com.kw")
+$(MakeHost "google.kz")
+$(MakeHost "google.la")
+$(MakeHost "google.com.lb")
+$(MakeHost "google.li")
+$(MakeHost "google.lk")
+$(MakeHost "google.co.ls")
+$(MakeHost "google.lt")
+$(MakeHost "google.lu")
+$(MakeHost "google.lv")
+$(MakeHost "google.com.ly")
+$(MakeHost "google.co.ma")
+$(MakeHost "google.md")
+$(MakeHost "google.me")
+$(MakeHost "google.mg")
+$(MakeHost "google.mk")
+$(MakeHost "google.ml")
+$(MakeHost "google.com.mm")
+$(MakeHost "google.mn")
+$(MakeHost "google.ms")
+$(MakeHost "google.com.mt")
+$(MakeHost "google.mu")
+$(MakeHost "google.mv")
+$(MakeHost "google.mw")
+$(MakeHost "google.com.mx")
+$(MakeHost "google.com.my")
+$(MakeHost "google.co.mz")
+$(MakeHost "google.com.na")
+$(MakeHost "google.com.nf")
+$(MakeHost "google.com.ng")
+$(MakeHost "google.com.ni")
+$(MakeHost "google.ne")
+$(MakeHost "google.nl")
+$(MakeHost "google.no")
+$(MakeHost "google.com.np")
+$(MakeHost "google.nr")
+$(MakeHost "google.nu")
+$(MakeHost "google.co.nz")
+$(MakeHost "google.com.om")
+$(MakeHost "google.com.pa")
+$(MakeHost "google.com.pe")
+$(MakeHost "google.com.pg")
+$(MakeHost "google.com.ph")
+$(MakeHost "google.com.pk")
+$(MakeHost "google.pl")
+$(MakeHost "google.pn")
+$(MakeHost "google.com.pr")
+$(MakeHost "google.ps")
+$(MakeHost "google.pt")
+$(MakeHost "google.com.py")
+$(MakeHost "google.com.qa")
+$(MakeHost "google.ro")
+$(MakeHost "google.ru")
+$(MakeHost "google.rw")
+$(MakeHost "google.com.sa")
+$(MakeHost "google.com.sb")
+$(MakeHost "google.sc")
+$(MakeHost "google.se")
+$(MakeHost "google.com.sg")
+$(MakeHost "google.sh")
+$(MakeHost "google.si")
+$(MakeHost "google.sk")
+$(MakeHost "google.com.sl")
+$(MakeHost "google.sn")
+$(MakeHost "google.so")
+$(MakeHost "google.sm")
+$(MakeHost "google.sr")
+$(MakeHost "google.st")
+$(MakeHost "google.com.sv")
+$(MakeHost "google.td")
+$(MakeHost "google.tg")
+$(MakeHost "google.co.th")
+$(MakeHost "google.com.tj")
+$(MakeHost "google.tk")
+$(MakeHost "google.tl")
+$(MakeHost "google.tm")
+$(MakeHost "google.tn")
+$(MakeHost "google.to")
+$(MakeHost "google.com.tr")
+$(MakeHost "google.tt")
+$(MakeHost "google.com.tw")
+$(MakeHost "google.co.tz")
+$(MakeHost "google.com.ua")
+$(MakeHost "google.co.ug")
+$(MakeHost "google.co.uk")
+$(MakeHost "google.com.uy")
+$(MakeHost "google.co.uz")
+$(MakeHost "google.com.vc")
+$(MakeHost "google.co.ve")
+$(MakeHost "google.vg")
+$(MakeHost "google.co.vi")
+$(MakeHost "google.com.vn")
+$(MakeHost "google.vu")
+$(MakeHost "google.ws")
+$(MakeHost "google.rs")
+$(MakeHost "google.co.za")
+$(MakeHost "google.co.zm")
+$(MakeHost "google.co.zw")
+$(MakeHost "google.cat")
+$(MakeHost "www.google.com")
+$(MakeHost "www.google.ad")
+$(MakeHost "www.google.ae")
+$(MakeHost "www.google.com.af")
+$(MakeHost "www.google.com.ag")
+$(MakeHost "www.google.com.ai")
+$(MakeHost "www.google.al")
+$(MakeHost "www.google.am")
+$(MakeHost "www.google.co.ao")
+$(MakeHost "www.google.com.ar")
+$(MakeHost "www.google.as")
+$(MakeHost "www.google.at")
+$(MakeHost "www.google.com.au")
+$(MakeHost "www.google.az")
+$(MakeHost "www.google.ba")
+$(MakeHost "www.google.com.bd")
+$(MakeHost "www.google.be")
+$(MakeHost "www.google.bf")
+$(MakeHost "www.google.bg")
+$(MakeHost "www.google.com.bh")
+$(MakeHost "www.google.bi")
+$(MakeHost "www.google.bj")
+$(MakeHost "www.google.com.bn")
+$(MakeHost "www.google.com.bo")
+$(MakeHost "www.google.com.br")
+$(MakeHost "www.google.bs")
+$(MakeHost "www.google.bt")
+$(MakeHost "www.google.co.bw")
+$(MakeHost "www.google.by")
+$(MakeHost "www.google.com.bz")
+$(MakeHost "www.google.ca")
+$(MakeHost "www.google.cd")
+$(MakeHost "www.google.cf")
+$(MakeHost "www.google.cg")
+$(MakeHost "www.google.ch")
+$(MakeHost "www.google.ci")
+$(MakeHost "www.google.co.ck")
+$(MakeHost "www.google.cl")
+$(MakeHost "www.google.cm")
+$(MakeHost "www.google.cn")
+$(MakeHost "www.google.com.co")
+$(MakeHost "www.google.co.cr")
+$(MakeHost "www.google.com.cu")
+$(MakeHost "www.google.cv")
+$(MakeHost "www.google.com.cy")
+$(MakeHost "www.google.cz")
+$(MakeHost "www.google.de")
+$(MakeHost "www.google.dj")
+$(MakeHost "www.google.dk")
+$(MakeHost "www.google.dm")
+$(MakeHost "www.google.com.do")
+$(MakeHost "www.google.dz")
+$(MakeHost "www.google.com.ec")
+$(MakeHost "www.google.ee")
+$(MakeHost "www.google.com.eg")
+$(MakeHost "www.google.es")
+$(MakeHost "www.google.com.et")
+$(MakeHost "www.google.fi")
+$(MakeHost "www.google.com.fj")
+$(MakeHost "www.google.fm")
+$(MakeHost "www.google.fr")
+$(MakeHost "www.google.ga")
+$(MakeHost "www.google.ge")
+$(MakeHost "www.google.gg")
+$(MakeHost "www.google.com.gh")
+$(MakeHost "www.google.com.gi")
+$(MakeHost "www.google.gl")
+$(MakeHost "www.google.gm")
+$(MakeHost "www.google.gp")
+$(MakeHost "www.google.gr")
+$(MakeHost "www.google.com.gt")
+$(MakeHost "www.google.gy")
+$(MakeHost "www.google.com.hk")
+$(MakeHost "www.google.hn")
+$(MakeHost "www.google.hr")
+$(MakeHost "www.google.ht")
+$(MakeHost "www.google.hu")
+$(MakeHost "www.google.co.id")
+$(MakeHost "www.google.ie")
+$(MakeHost "www.google.co.il")
+$(MakeHost "www.google.im")
+$(MakeHost "www.google.co.in")
+$(MakeHost "www.google.iq")
+$(MakeHost "www.google.is")
+$(MakeHost "www.google.it")
+$(MakeHost "www.google.je")
+$(MakeHost "www.google.com.jm")
+$(MakeHost "www.google.jo")
+$(MakeHost "www.google.co.jp")
+$(MakeHost "www.google.co.ke")
+$(MakeHost "www.google.com.kh")
+$(MakeHost "www.google.ki")
+$(MakeHost "www.google.kg")
+$(MakeHost "www.google.co.kr")
+$(MakeHost "www.google.com.kw")
+$(MakeHost "www.google.kz")
+$(MakeHost "www.google.la")
+$(MakeHost "www.google.com.lb")
+$(MakeHost "www.google.li")
+$(MakeHost "www.google.lk")
+$(MakeHost "www.google.co.ls")
+$(MakeHost "www.google.lt")
+$(MakeHost "www.google.lu")
+$(MakeHost "www.google.lv")
+$(MakeHost "www.google.com.ly")
+$(MakeHost "www.google.co.ma")
+$(MakeHost "www.google.md")
+$(MakeHost "www.google.me")
+$(MakeHost "www.google.mg")
+$(MakeHost "www.google.mk")
+$(MakeHost "www.google.ml")
+$(MakeHost "www.google.com.mm")
+$(MakeHost "www.google.mn")
+$(MakeHost "www.google.ms")
+$(MakeHost "www.google.com.mt")
+$(MakeHost "www.google.mu")
+$(MakeHost "www.google.mv")
+$(MakeHost "www.google.mw")
+$(MakeHost "www.google.com.mx")
+$(MakeHost "www.google.com.my")
+$(MakeHost "www.google.co.mz")
+$(MakeHost "www.google.com.na")
+$(MakeHost "www.google.com.nf")
+$(MakeHost "www.google.com.ng")
+$(MakeHost "www.google.com.ni")
+$(MakeHost "www.google.ne")
+$(MakeHost "www.google.nl")
+$(MakeHost "www.google.no")
+$(MakeHost "www.google.com.np")
+$(MakeHost "www.google.nr")
+$(MakeHost "www.google.nu")
+$(MakeHost "www.google.co.nz")
+$(MakeHost "www.google.com.om")
+$(MakeHost "www.google.com.pa")
+$(MakeHost "www.google.com.pe")
+$(MakeHost "www.google.com.pg")
+$(MakeHost "www.google.com.ph")
+$(MakeHost "www.google.com.pk")
+$(MakeHost "www.google.pl")
+$(MakeHost "www.google.pn")
+$(MakeHost "www.google.com.pr")
+$(MakeHost "www.google.ps")
+$(MakeHost "www.google.pt")
+$(MakeHost "www.google.com.py")
+$(MakeHost "www.google.com.qa")
+$(MakeHost "www.google.ro")
+$(MakeHost "www.google.ru")
+$(MakeHost "www.google.rw")
+$(MakeHost "www.google.com.sa")
+$(MakeHost "www.google.com.sb")
+$(MakeHost "www.google.sc")
+$(MakeHost "www.google.se")
+$(MakeHost "www.google.com.sg")
+$(MakeHost "www.google.sh")
+$(MakeHost "www.google.si")
+$(MakeHost "www.google.sk")
+$(MakeHost "www.google.com.sl")
+$(MakeHost "www.google.sn")
+$(MakeHost "www.google.so")
+$(MakeHost "www.google.sm")
+$(MakeHost "www.google.sr")
+$(MakeHost "www.google.st")
+$(MakeHost "www.google.com.sv")
+$(MakeHost "www.google.td")
+$(MakeHost "www.google.tg")
+$(MakeHost "www.google.co.th")
+$(MakeHost "www.google.com.tj")
+$(MakeHost "www.google.tk")
+$(MakeHost "www.google.tl")
+$(MakeHost "www.google.tm")
+$(MakeHost "www.google.tn")
+$(MakeHost "www.google.to")
+$(MakeHost "www.google.com.tr")
+$(MakeHost "www.google.tt")
+$(MakeHost "www.google.com.tw")
+$(MakeHost "www.google.co.tz")
+$(MakeHost "www.google.com.ua")
+$(MakeHost "www.google.co.ug")
+$(MakeHost "www.google.co.uk")
+$(MakeHost "www.google.com.uy")
+$(MakeHost "www.google.co.uz")
+$(MakeHost "www.google.com.vc")
+$(MakeHost "www.google.co.ve")
+$(MakeHost "www.google.vg")
+$(MakeHost "www.google.co.vi")
+$(MakeHost "www.google.com.vn")
+$(MakeHost "www.google.vu")
+$(MakeHost "www.google.ws")
+$(MakeHost "www.google.rs")
+$(MakeHost "www.google.co.za")
+$(MakeHost "www.google.co.zm")
+$(MakeHost "www.google.co.zw")
+$(MakeHost "www.google.cat")
+EOL
+fi
+
+if [ "$RELOAD_DNSMASQ" = "1" ]; then
+  echo restarting dnsmasq to activate new IP addresses.
+  /etc/init.d/dnsmasq restart
+fi
index 4659f62c10edcab500f337b648366076136c904f..48eaa68ce81fe2907823623a728803ac1961748f 100644 (file)
@@ -16,5 +16,5 @@ config safe-search 'google'
 
 # Valid modes for youtube are restrict and restrictmoderate
 config safe-search 'youtube'
-       option enabled 0
        option mode 'restrict'
+       option enabled 0
index d72399d7ca066b5b2ca1ea06cc54811ae494f1e7..063e84cc38400317f06d5cb69064a486a7c2f76c 100644 (file)
@@ -1,13 +1,14 @@
 #!/bin/sh
 #
-# Copyright (c) 2018 Gregory L. Dietsche <Gregory.Dietsche@cuw.edu>
+# Copyright (c) 2021 Gregory L. Dietsche <Gregory.Dietsche@cuw.edu>
 # This is free software, licensed under the MIT License
 #
 uci del_list dhcp.@dnsmasq[0].addnhosts=/etc/safe-search/enabled
 uci add_list dhcp.@dnsmasq[0].addnhosts=/etc/safe-search/enabled
 uci commit dhcp
 
-#/etc/init.d/dnsmasq reload #safe-search-update does this for us.
+/usr/sbin/safe-search-maintenance
 /usr/sbin/safe-search-update
+#/etc/init.d/dnsmasq reload #safe-search-update does this for us.
 
 exit 0
index 1ee11d183639324aa2506d50b021cd87815d8c8b..ce8c2c8fc4bacbe5231e3104358883a1db57dd55 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=UDPspeeder
-PKG_VERSION:=20200818.1
+PKG_VERSION:=20210116.0
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/wangyu-/$(PKG_NAME)/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=54bc6dc1283630ed78c033ae26b0f6af24bb92da17784ec64ae56d6e5ca73dd6
+PKG_HASH:=657ae24dfd592a1f6f114342231b24d09baec712957969f425477b9f9fd5994a
 
 PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=LICENSE
index 682bd8ed5e6d527ba08a214a27792eb6ac01f44c..2458ffcfae1f3fa4b03277df4c9157d736f55adb 100644 (file)
@@ -1,14 +1,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=conmon
-PKG_VERSION:=2.0.22
-PKG_RELEASE:=3
+PKG_VERSION:=2.0.24
+PKG_RELEASE:=1
 PKG_LICENSE:=Apache-2.0
 PKG_LICENSE_FILES:=LICENSE
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/containers/$(PKG_NAME)/archive/v$(PKG_VERSION)
-PKG_HASH:=41181db43c544cdd1a31aa851286e8c09a825879656f00f6adde431830893983
+PKG_HASH:=e00bc44a8bd783fd417a5c90d3b8c15035ddc69b18350a31258e7f79aec8c697
 
 PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
 
index 2a206f00026303644dd0951399eabe8fa08f3c68..b381a5124cb828fac3dad01e81a285403d4b1d89 100644 (file)
@@ -1,11 +1,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=docker-compose
-PKG_VERSION:=1.27.4
-PKG_RELEASE:=2
+PKG_VERSION:=1.28.0
+PKG_RELEASE:=1
 
 PYPI_NAME:=docker-compose
-PKG_HASH:=5a5690f24c27d4b43dcbe6b3fae91ba680713208e99ee863352b3bae37bcaa83
+PKG_HASH:=947888fe9377b48c260d59b6511ba205655c6beb45a4b70fbce28f753aacf75a
 
 PKG_MAINTAINER:=Javier Marcet <javier@marcet.info>
 PKG_LICENSE:=Apache-2.0
index a90d5631c75b12cb73b08718e4fcd7d8223dbfe5..9dd18a802abe5566eec4013942f519418d449de0 100644 (file)
@@ -9,12 +9,12 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=fuse3
-PKG_VERSION:=3.10.0
+PKG_VERSION:=3.10.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=fuse-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://github.com/libfuse/libfuse/releases/download/fuse-$(PKG_VERSION)
-PKG_HASH:=26517954567f237a7dbcb532755ba0d2c77575c5d90db7566b6e40ec05b0a039
+PKG_HASH:=d82d74d4c03e099f806e4bb31483955637c69226576bf0ca9bd142f1d50ae451
 PKG_BUILD_DIR:=$(BUILD_DIR)/fuse-$(PKG_VERSION)
 
 PKG_MAINTAINER:=
diff --git a/utils/fuse3/patches/010-uclibc.patch b/utils/fuse3/patches/010-uclibc.patch
deleted file mode 100644 (file)
index 4acc516..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-From 4ebb018e78b53a8afe0368e7cd7a17a67c52e3df Mon Sep 17 00:00:00 2001
-From: Rosen Penev <rosenp@gmail.com>
-Date: Wed, 28 Oct 2020 19:20:35 -0700
-Subject: [PATCH] remove old uclibc hack
-
-This actually prevents sshfs linking to it as fuse_new becomes
-unavailable.
-
-According to the git history, this seems to predate 2006.
-
-Signed-off-by: Rosen Penev <rosenp@gmail.com>
----
- lib/fuse_misc.h | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/lib/fuse_misc.h b/lib/fuse_misc.h
-index a8b59617..f384aeab 100644
---- a/lib/fuse_misc.h
-+++ b/lib/fuse_misc.h
-@@ -10,10 +10,9 @@
- /*
-   Versioned symbols cannot be used in some cases because it
--    - confuse the dynamic linker in uClibc
-     - not supported on MacOSX (in MachO binary format)
- */
--#if (!defined(__UCLIBC__) && !defined(__APPLE__))
-+#ifndef __APPLE__
- # if HAVE_SYMVER_ATTRIBUTE
- #  define FUSE_SYMVER(sym1, sym2) __attribute__ ((symver (sym2)))
- # else
diff --git a/utils/fuse3/patches/020-uclibc.patch b/utils/fuse3/patches/020-uclibc.patch
deleted file mode 100644 (file)
index 8ae47ba..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-From e032ca7a88afe1a7cd028ca63e2993af9c0b91af Mon Sep 17 00:00:00 2001
-From: Rosen Penev <rosenp@gmail.com>
-Date: Wed, 28 Oct 2020 19:25:38 -0700
-Subject: [PATCH] remove fuse_mutex_init
-
-This seems to have been added before 2006 to fix a uclibc bug. It
-doesn't seem to be the case anymore so just get rid of it.
-
-Signed-off-by: Rosen Penev <rosenp@gmail.com>
----
- lib/fuse.c          |  4 ++--
- lib/fuse_loop_mt.c  |  4 ++--
- lib/fuse_lowlevel.c |  4 ++--
- lib/fuse_misc.h     | 14 --------------
- 4 files changed, 6 insertions(+), 20 deletions(-)
-
-diff --git a/lib/fuse.c b/lib/fuse.c
-index 70299ef1..2125cdaa 100755
---- a/lib/fuse.c
-+++ b/lib/fuse.c
-@@ -3390,7 +3390,7 @@ static void fuse_lib_opendir(fuse_req_t req, fuse_ino_t ino,
-       dh->len = 0;
-       dh->filled = 0;
-       dh->nodeid = ino;
--      fuse_mutex_init(&dh->lock);
-+      pthread_mutex_init(&dh->lock, NULL);
-       llfi->fh = (uintptr_t) dh;
-@@ -4973,7 +4973,7 @@ struct fuse *fuse_new_31(struct fuse_args *args,
-       if (node_table_init(&f->id_table) == -1)
-               goto out_free_name_table;
--      fuse_mutex_init(&f->lock);
-+      pthread_mutex_init(&f->lock, NULL);
-       root = alloc_node(f);
-       if (root == NULL) {
-diff --git a/lib/fuse_loop_mt.c b/lib/fuse_loop_mt.c
-index 0c6a5b79..71be15da 100644
---- a/lib/fuse_loop_mt.c
-+++ b/lib/fuse_loop_mt.c
-@@ -65,7 +65,7 @@ static struct fuse_chan *fuse_chan_new(int fd)
-       memset(ch, 0, sizeof(*ch));
-       ch->fd = fd;
-       ch->ctr = 1;
--      fuse_mutex_init(&ch->lock);
-+      pthread_mutex_init(&ch->lock, NULL);
-       return ch;
- }
-@@ -321,7 +321,7 @@ int fuse_session_loop_mt_32(struct fuse_session *se, struct fuse_loop_config *co
-       mt.main.thread_id = pthread_self();
-       mt.main.prev = mt.main.next = &mt.main;
-       sem_init(&mt.finish, 0, 0);
--      fuse_mutex_init(&mt.lock);
-+      pthread_mutex_init(&mt.lock, NULL);
-       pthread_mutex_lock(&mt.lock);
-       err = fuse_loop_start_thread(&mt);
-diff --git a/lib/fuse_lowlevel.c b/lib/fuse_lowlevel.c
-index 83510b3c..d227688b 100644
---- a/lib/fuse_lowlevel.c
-+++ b/lib/fuse_lowlevel.c
-@@ -155,7 +155,7 @@ static struct fuse_req *fuse_ll_alloc_req(struct fuse_session *se)
-               req->se = se;
-               req->ctr = 1;
-               list_init_req(req);
--              fuse_mutex_init(&req->lock);
-+              pthread_mutex_init(&req->lock, NULL);
-       }
-       return req;
-@@ -2958,7 +2958,7 @@ struct fuse_session *fuse_session_new(struct fuse_args *args,
-       list_init_req(&se->interrupts);
-       list_init_nreq(&se->notify_list);
-       se->notify_ctr = 1;
--      fuse_mutex_init(&se->lock);
-+      pthread_mutex_init(&se->lock, NULL);
-       err = pthread_key_create(&se->pipe_key, fuse_ll_pipe_destructor);
-       if (err) {
-diff --git a/lib/fuse_misc.h b/lib/fuse_misc.h
-index f384aeab..f956ab79 100644
---- a/lib/fuse_misc.h
-+++ b/lib/fuse_misc.h
-@@ -22,20 +22,6 @@
- #define FUSE_SYMVER(sym1, sym2)
- #endif
--#ifndef USE_UCLIBC
--#define fuse_mutex_init(mut) pthread_mutex_init(mut, NULL)
--#else
--/* Is this hack still needed? */
--static inline void fuse_mutex_init(pthread_mutex_t *mut)
--{
--      pthread_mutexattr_t attr;
--      pthread_mutexattr_init(&attr);
--      pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ADAPTIVE_NP);
--      pthread_mutex_init(mut, &attr);
--      pthread_mutexattr_destroy(&attr);
--}
--#endif
--
- #ifdef HAVE_STRUCT_STAT_ST_ATIM
- /* Linux */
- #define ST_ATIM_NSEC(stbuf) ((stbuf)->st_atim.tv_nsec)
index 029baa5ee576183d4918c55af40de170798e9a42..c40b2e5453f11cf353c8e37ae7b3e195f730d336 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gptfdisk
-PKG_VERSION:=1.0.5
+PKG_VERSION:=1.0.6
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@SF/$(PKG_NAME)
-PKG_HASH:=0e7d3987cd0488ecaf4b48761bc97f40b1dc089e5ff53c4b37abe30bc67dcb2f
+PKG_HASH:=ddc551d643a53f0bd4440345d3ae32c49b04a797e9c01036ea460b6bb4168ca8
 
 PKG_MAINTAINER:=Alif M. Ahmad <alive4ever@live.com>
 PKG_LICENSE:=GPL-2.0-or-later
@@ -21,7 +21,6 @@ PKG_LICENSE_FILES:=COPYING
 
 PKG_BUILD_PARALLEL:=1
 
-include $(INCLUDE_DIR)/uclibc++.mk
 include $(INCLUDE_DIR)/package.mk
 
 define Package/gptfdisk/Default
@@ -29,7 +28,7 @@ define Package/gptfdisk/Default
   CATEGORY:=Utilities
   SUBMENU:=Disc
   URL:=https://www.rodsbooks.com/gdisk
-  DEPENDS:=$(CXX_DEPENDS)
+  DEPENDS:=+libstdcpp
 endef
 
 define Package/gdisk
@@ -74,10 +73,7 @@ define Package/fixparts/description
 endef
 
 TARGET_CXXFLAGS += -std=c++11 -ffunction-sections -fdata-sections -fno-rtti -flto
-TARGET_LDFLAGS += $(if $(CONFIG_USE_GLIBC),-lm) -Wl,--gc-sections,--as-needed
-ifeq ($(CONFIG_USE_UCLIBCXX),y)
-TARGET_LDFLAGS += -nodefaultlibs
-endif
+TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed
 
 define Package/gdisk/install
        $(INSTALL_DIR) $(1)/usr/bin
diff --git a/utils/gptfdisk/patches/050-Add-some-extra-flushes-before-getline-cin.patch b/utils/gptfdisk/patches/050-Add-some-extra-flushes-before-getline-cin.patch
deleted file mode 100644 (file)
index 1ad8332..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-From b33f93bea332211afae037e4b6f379f0876302d1 Mon Sep 17 00:00:00 2001
-From: Rosen Penev <rosenp@gmail.com>
-Date: Tue, 8 Oct 2019 20:51:54 -0700
-Subject: [PATCH] Add some extra flushes before getline/cin
-
-These are not covered by the previous commits.
-
-Signed-off-by: Rosen Penev <rosenp@gmail.com>
----
- diskio-unix.cc | 2 +-
- gptcurses.cc   | 4 ++--
- parttypes.cc   | 2 +-
- support.cc     | 2 +-
- 4 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/diskio-unix.cc b/diskio-unix.cc
-index d9f8b8d..c38fda5 100644
---- a/diskio-unix.cc
-+++ b/diskio-unix.cc
-@@ -92,7 +92,7 @@ int DiskIO::OpenForRead(void) {
- #if defined(__linux__) && !defined(EFI)
-          if (isOpen && realFilename.substr(0,4) == "/dev") {
-             ostringstream modelNameFilename;
--            modelNameFilename << "/sys/block" << realFilename.substr(4,512) << "/device/model";
-+            modelNameFilename << "/sys/block" << realFilename.substr(4,512) << "/device/model" << flush;
-             ifstream modelNameFile(modelNameFilename.str().c_str());
-             if (modelNameFile.is_open()) {
-                getline(modelNameFile, modelName);
-diff --git a/gptcurses.cc b/gptcurses.cc
-index 4ebfde1..ca6f4ea 100644
---- a/gptcurses.cc
-+++ b/gptcurses.cc
-@@ -422,7 +422,7 @@ void GPTDataCurses::Verify(void) {
-    def_prog_mode();
-    endwin();
-    GPTData::Verify();
--   cout << "\nPress the <Enter> key to continue: ";
-+   cout << "\nPress the <Enter> key to continue: " << flush;
-    cin.get(junk);
-    reset_prog_mode();
-    refresh();
-@@ -820,7 +820,7 @@ void ShowTypes(void) {
-    def_prog_mode();
-    endwin();
-    tempType.ShowAllTypes(LINES - 3);
--   cout << "\nPress the <Enter> key to continue: ";
-+   cout << "\nPress the <Enter> key to continue: " << flush;
-    cin.get(junk);
-    reset_prog_mode();
-    refresh();
-diff --git a/parttypes.cc b/parttypes.cc
-index cd225d1..6c2c8c6 100644
---- a/parttypes.cc
-+++ b/parttypes.cc
-@@ -530,7 +530,7 @@ void PartType::ShowAllTypes(int maxLines) const {
-    cout.unsetf(ios::uppercase);
-    if (maxLines > 0) {
--      cout << "Type search string, or <Enter> to show all codes: ";
-+      cout << "Type search string, or <Enter> to show all codes: " << flush;
-       matchString = ToLower(ReadString());
-    } // if
-    while (thisType != NULL) {
-diff --git a/support.cc b/support.cc
-index 891caad..645ef5d 100644
---- a/support.cc
-+++ b/support.cc
-@@ -127,7 +127,7 @@ uint64_t GetSectorNum(uint64_t low, uint64_t high, uint64_t def, uint64_t sSize,
-    char line[255];
-    do {
--      cout << prompt;
-+      cout << prompt << flush;
-       cin.getline(line, 255);
-       if (!cin.good())
-          exit(5);
--- 
-2.17.1
-
index d6d4ddcf846778e3c26bf69a0e558228336dcbff..e230bea27bfc367812658f16a8d4cec7fb5009ef 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=rtty
-PKG_VERSION:=7.1.5
+PKG_VERSION:=7.2.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL=https://github.com/zhaojh329/rtty/releases/download/v$(PKG_VERSION)
-PKG_HASH:=12de3a20259e89e7ee227b2e23a2e72f20af230b9670124c1c81044c7ce15a98
+PKG_HASH:=10675a12f4333d5b552b6489f04ca4be8821bb67c1fcfca7b002ed7a7fe498c7
 CMAKE_INSTALL:=1
 
 PKG_LICENSE:=MIT