Message ID | CAMieACZtdeZvvHWJURtZPpZ_pNXPkC-jFTQHwBEKMFNcMMoQgA@mail.gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | v1.43 - BUG: Connectivity failure when router provides invalid PAC settings | expand |
Scott, You may be interested in this patch series: https://lore.kernel.org/connman/20241212052817.2021264-1-gerickson@nuovations.com/T/#t Our solution was to enable the PACrunner daemon as follows and the PACrunner plugin (which seems to recognize it’s an invalid PAC URL and returns “Direct”): PKG_CONFIG_LIBDIR="$(PROJECT_ROOT)/results/$(PRODUCT_CONFIG)/digi/dey/8.2.0/$(BUILD_CONFIG)/third_party/glib/usr/lib/pkgconfig:$(PROJECT_ROOT)/results/$(PRODUCT_CONFIG)/digi/dey/8.2.0/$(BUILD_CONFIG)/third_party/dbus/usr/lib/pkgconfig:$(PROJECT_ROOT)/results/$(PRODUCT_CONFIG)/digi/dey/8.2.0/$(BUILD_CONFIG)/third_party/curl/usr/lib/pkgconfig" \ $(PROJECT_ROOT)/third_party/pacrunner/repo/configure -C \ AR="$(SYSROOT)/usr/bin/arm-dey-linux-gnueabi/arm-dey-linux-gnueabi-ar" CPP="$(SYSROOT)/usr/bin/arm-dey-linux-gnueabi/arm-dey-linux-gnueabi-cpp" CC="$(SYSROOT)/usr/bin/arm-dey-linux-gnueabi/arm-dey-linux-gnueabi-gcc" CXX="$(SYSROOT)/usr/bin/arm-dey-linux-gnueabi/arm-dey-linux-gnueabi-g++" RANLIB="$(SYSROOT)/usr/bin/arm-dey-linux-gnueabi/arm-dey-linux-gnueabi-ranlib" STRIP="$(SYSROOT)/usr/bin/arm-dey-linux-gnueabi/arm-dey-linux-gnueabi-strip" \ CPPFLAGS="--sysroot=$(PROJECT_ROOT)/rootfs -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -isystem /opt/fwds/sysroots/cortexa9t2hf-neon-dey-linux-gnueabi/usr/include -I$(PROJECT_ROOT)/results/$(PRODUCT_CONFIG)/digi/dey/8.2.0/$(BUILD_CONFIG)/third_party/linux/linux-dey/include -I$(PROJECT_ROOT)/results/$(PRODUCT_CONFIG)/digi/dey/8.2.0/$(BUILD_CONFIG)/third_party/curl/usr/include" \ CFLAGS="--sysroot=$(PROJECT_ROOT)/rootfs -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -fno-omit-frame-pointer -fno-strict-aliasing" \ CURL_CFLAGS="" \ CURL_LIBS="-L$(PROJECT_ROOT)/results/$(PRODUCT_CONFIG)/digi/dey/8.2.0/$(BUILD_CONFIG)/third_party/curl/usr/lib/ -lcurl" \ DBUS_CFLAGS="-I$(PROJECT_ROOT)/results/$(PRODUCT_CONFIG)/digi/dey/8.2.0/$(BUILD_CONFIG)/third_party/dbus/usr/include/dbus-1.0 -I$(PROJECT_ROOT)/results/$(PRODUCT_CONFIG)/digi/dey/8.2.0/$(BUILD_CONFIG)/third_party/dbus/usr/lib/dbus-1.0/include" \ DBUS_LIBS="-L$(PROJECT_ROOT)/results/$(PRODUCT_CONFIG)/digi/dey/8.2.0/$(BUILD_CONFIG)/third_party/dbus/usr/lib/ -ldbus-1" \ GLIB_CFLAGS="-I$(PROJECT_ROOT)/results/$(PRODUCT_CONFIG)/digi/dey/8.2.0/$(BUILD_CONFIG)/third_party/glib/usr/include/gio-unix-2.0 -I$(PROJECT_ROOT)/results/$(PRODUCT_CONFIG)/digi/dey/8.2.0/$(BUILD_CONFIG)/third_party/glib/usr/include/glib-2.0 -I$(PROJECT_ROOT)/results/$(PRODUCT_CONFIG)/digi/dey/8.2.0/$(BUILD_CONFIG)/third_party/glib/usr/lib/glib-2.0/include" \ GLIB_LIBS="-L$(PROJECT_ROOT)/results/$(PRODUCT_CONFIG)/digi/dey/8.2.0/$(BUILD_CONFIG)/third_party/glib/usr/lib/ -lglib-2.0 -Wl,-rpath-link -Wl,$(PROJECT_ROOT)/results/$(PRODUCT_CONFIG)/digi/dey/8.2.0/$(BUILD_CONFIG)/third_party/pcre/usr/lib" \ --with-sysroot=$(PROJECT_ROOT)/rootfs \ --build=x86_64-pc-linux-gnu \ --host=arm-dey-linux-gnueabi \ --target=arm-dey-linux-gnueabi \ --disable-debug \ --disable-duktape \ --disable-test \ --disable-unit \ --enable-curl \ --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var Best, Grant
diff -uNrp old/src/service.c new/src/service.c --- old/src/service.c 2024-09-01 23:34:15.000000000 -1000 +++ new/src/service.c 2025-01-27 13:11:52.713053125 -1000 @@ -1731,8 +1731,18 @@ static bool check_proxy_setup(struct con * to AUTO with an empty URL. */ - if (service->proxy != CONNMAN_SERVICE_PROXY_METHOD_UNKNOWN) + DBG("proxy %d, config %d, pac %s", service->proxy, service->proxy_config, + service->pac); + + if (service->proxy != CONNMAN_SERVICE_PROXY_METHOD_UNKNOWN) { + if ((service->proxy == CONNMAN_SERVICE_PROXY_METHOD_AUTO) && + (service->pac == NULL)) { + DBG("OVERRIDING PROXY METHOD"); + connman_service_set_proxy_method(service, + CONNMAN_SERVICE_PROXY_METHOD_DIRECT); + } return true; + } if (service->proxy_config != CONNMAN_SERVICE_PROXY_METHOD_UNKNOWN &&