I'm using the wifi101 library in conjunction with the mqtt samples for connecting to google cloud platform. The example code fails to connect. While talking to the esp32 users in their thread on the same failure, they pointed me to a routine for setting root CA cert.
When I went to look for how to add the api, I noticed the two code bases use different networking stacks. I'm using the MKR1000 and it uses the wifi101.h and creates a Client *netClient. Later this pointer is instantiated with a netClient = new WiFiSSLClient();
So here is the problem. I'm trying to find the setcacert() or setRootCA() call the esp32/esp8266 code uses to fix the similar problem I have encountered. Looking at libraries/WiFi101/src, I examine WiFiSSLClient.h and notice it has a base class of WiFiClient. I examine the peer file WiFiClient in WiFiClient.h and notice it has a base class of Client. This file
also has a #include<Client.h>.
Now, when I look for Client.h, I don't find it in ~/Arduino/libraries. I do find a Client.h in the ~/arduino-1.8.13/hardware/arduino/avr/cores/arduino/Client.h Immediatly, I'm thinking the MKR1000 uses a samd core and not an 8-bit AVR core so this is problably not used. Then when I examine the class in that file, i notice it has a connect(host,port) routine. The connect routines in the wifi101 libs are a wrapper around connect() from the client base class. However the wifi101 classes use a connect routine where a third parameter is specified. ie connect(host,port,sock options). This does not match the one in the arduino sdk dir.
So, my question is where is the Client.h this code is including?