-
Notifications
You must be signed in to change notification settings - Fork 466
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update JBL lunchbox, to utilize new luncheon library #1252
Conversation
Test Results 55 files 353 suites 0s ⏱️ Results for commit 90c8946. |
Channel deleted. |
Minimum allowed coverage is Generated by 🐒 cobertura-action against 90c8946 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Have we done a search on our EdgeDrivers rep to identify if there are any additional cases that we need to address?
I just did, and it appears that JBL/Sonos/Hue are the only drivers that were doing manual chunked transfer decode with Luncheon. Wemo and Samsung Audio have chunked decoding codepaths, but they aren't using Luncheon/Lunchbox data types. |
use_ssl = true | ||
end | ||
|
||
local port = client.base_url.port or default_port | ||
|
||
local sock, err = client.socket_builder(client.base_url.host, port, use_ssl) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this line is required to use 4443
port.
local port = client.base_url.port or default_port
-
peer verification fails
$ curl https://192.168.0.111:4443/authcode --cacert jbl/src/selfSignedRoot.crt
curl: (60) SSL: no alternative certificate subject name matches target host name '192.168.0.111'
More details here: https://curl.haxx.se/docs/sslcerts.html
... -
By insecure option (no peer verification), it works.
$ curl https://192.168.0.111:4443/authcode -k
{"token": "ZmFrZSB0b2tlbg=="} -
In case of 443 port, client verification is required but AFAIK there is no client certificate. So we need to use
4443
port.
$ curl -k https://192.168.0.111:443/authcode
curl: (56) OpenSSL SSL_read: error:1409445C:SSL routines:ssl3_read_bytes:tlsv13 alert certificate required, errno 0
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@sy39ju Here are my thoughts:
1. It looks like this code was already using 443 as the default
2. 443 is the default port for HTTPS, similar to how 80 is the default port for HTTP
3. Using a port other than 443 is dependent on what port the server uses
4. Setting the port to 4443 should be done when the constructor is called, not by overriding the default port typically used by the protocol.
Disregard, I misunderstood the issue.
No description provided.