[Debian-iot-maintainers] Bug#1028909: /usr/bin/ozwcp: localhost:8090 returns 200, File not found: cp.html
Witold Baryluk
witold.baryluk at gmail.com
Sat Jan 14 19:11:33 GMT 2023
Package: openzwave-controlpanel
Version: 1.6~git20200306.4b8a39d-1
Severity: important
File: /usr/bin/ozwcp
X-Debbugs-Cc: witold.baryluk at gmail.com
Probably some system paths not set up correctly
user at debian:~$ ozwcp
2023-01-14 18:57:38.439 Error, Cannot find a path to the configuration files at ./config/, Using /etc/openzwave/ instead...
2023-01-14 18:57:38.439 Info, Reading /etc/openzwave/options.xml for Options
2023-01-14 18:57:38.439 Warning, Failed to Parse options.xml: Failed to open file
2023-01-14 18:57:38.439 Info, Options:
2023-01-14 18:57:38.439 Info, appendlogfile: false
2023-01-14 18:57:38.439 Info, associate: true
2023-01-14 18:57:38.439 Info, assumeawake: true
2023-01-14 18:57:38.439 Info, autoupdateconfigfile: true
2023-01-14 18:57:38.440 Info, configpath: /etc/openzwave/
2023-01-14 18:57:38.440 Info, consoleoutput: true
2023-01-14 18:57:38.440 Info, customsecuredcc: 0x62,0x4c,0x63
2023-01-14 18:57:38.440 Info, drivermaxattempts: 5
2023-01-14 18:57:38.440 Info, dumptriggerlevel: 1
2023-01-14 18:57:38.440 Info, enablesis: true
2023-01-14 18:57:38.440 Info, enforcesecurereception: true
2023-01-14 18:57:38.440 Info, exclude:
2023-01-14 18:57:38.440 Info, include:
2023-01-14 18:57:38.440 Info, includeinstancelabel: true
2023-01-14 18:57:38.440 Info, interface:
2023-01-14 18:57:38.440 Info, intervalbetweenpolls: false
2023-01-14 18:57:38.440 Info, language:
2023-01-14 18:57:38.440 Info, logfilename: OZW_Log.txt
2023-01-14 18:57:38.440 Info, logging: true
2023-01-14 18:57:38.440 Info, networkkey:
2023-01-14 18:57:38.440 Info, notifyondriverunload: false
2023-01-14 18:57:38.440 Info, notifytransactions: false
2023-01-14 18:57:38.440 Info, performreturnroutes: false
2023-01-14 18:57:38.440 Info, pollinterval: 30000
2023-01-14 18:57:38.440 Info, queueloglevel: 9
2023-01-14 18:57:38.440 Info, refreshallusercodes: false
2023-01-14 18:57:38.440 Info, reloadafterupdate: AWAKE
2023-01-14 18:57:38.440 Info, retrytimeout: 10000
2023-01-14 18:57:38.440 Info, saveconfiguration: true
2023-01-14 18:57:38.440 Info, saveloglevel: 8
2023-01-14 18:57:38.440 Info, securitystrategy: SUPPORTED
2023-01-14 18:57:38.440 Info, suppressvaluerefresh: false
2023-01-14 18:57:38.440 Info, userpath:
2023-01-14 18:57:38.440 Always, OpenZwave Version Starting Up
2023-01-14 18:57:38.445 Info, Loading Localization File /etc/openzwave/Localization.xml
2023-01-14 18:57:38.446 Info, Loaded /etc/openzwave/Localization.xml With Revision 12
2023-01-14 18:57:38.446 Always, Using Language Localization
2023-01-14 18:57:38.447 Info, Loading NotificationCCTypes File /etc/openzwave/NotificationCCTypes.xml
2023-01-14 18:57:38.447 Info, Loaded /etc/openzwave/NotificationCCTypes.xml With Revision 11
2023-01-14 18:57:38.448 Info, Loading SensorMultiLevelCCTypes File /etc/openzwave/SensorMultiLevelCCTypes.xml
2023-01-14 18:57:38.448 Info, Loaded /etc/openzwave/SensorMultiLevelCCTypes.xml With Revision 4
webserver starting port 8090
Warning: MHD_USE_THREAD_PER_CONNECTION must be used only with MHD_USE_INTERNAL_POLLING_THREAD. Flag MHD_USE_INTERNAL_POLLING_THREAD was added. Consider setting MHD_USE_INTERNAL_POLLING_THREAD explicitly.
^C
$ curl --output - -v http://localhost:8090/
* Trying 127.0.0.1:8090...
* Connected to localhost (127.0.0.1) port 8090 (#0)
> GET / HTTP/1.1
> Host: localhost:8090
> User-Agent: curl/7.87.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Date: Sat, 14 Jan 2023 18:58:54 GMT
< Content-Length: 92
<
* Connection #0 to host localhost left intact
<html><head><title>File not found</title></head><body>File not found: cp.html</body></html>
Additionally wrong HTTP status code is retured (should be 404), and wrong
Content-Type (missing, which makes it look like binary, but should be
text/html).
If I strace the ozwcp and do a HTTP request I got this:
[pid 3353605] pselect6(7, [6], [], [], NULL, NULL) = 1 (in [6])
[pid 3353605] recvfrom(6, "GET / HTTP/1.1\r\nHost: localhost:"..., 16384, 0, NULL, NULL) = 442
[pid 3353605] newfstatat(AT_FDCWD, "cp.html", 0x7fec321ab730, 0) = -1 ENOENT (No such file or directory)
[pid 3353605] sendmsg(6, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="HTTP/1.1 200 OK\r\nDate: Sat, 14 J"..., iov_len=76}, {iov_base="<html><head><title>File not foun"..., iov_len=92}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 168
Indicating to me it is looking at cp.html in the current working directory, which is wrong.
If I cd into /usr/share/openzwave-controlpanel, and then start ozwcp, it
does load the main page, but Firefox console shows that there is number
of missing components (404 errors):
GET http://localhost:8090/cp.js 404 Not Found
GET http://localhost:8090/javascript/bootstrap/css/bootstrap.min.css 404 Not Found
GET http://localhost:8090/javascript/jquery/jquery.min.js 404 Not Found
GET http://localhost:8090/javascript/bootstrap/js/bootstrap.min.js 404 Not Found
GET http://localhost:8090/javascript/bootstrap/js/bootstrap.min.js 404 Not Found (yes, second time)
GET http://localhost:8090/favicon.png 404 Not Found
It does not even look for them on a disk
[pid 3365287] <... recvfrom resumed>"GET /javascript/bootstrap/js/boo"..., 16384, 0, NULL, NULL) = 444
[pid 3365287] sendmsg(6, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="HTTP/1.1 404 Not Found\r\nDate: Sa"..., iov_len=83}, {iov_base="<html><head><title>Nothingness</"..., iov_len=95}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL <unfinished ...>
Page is not usable.
user at debian:~$ dpkg -L openzwave-controlpanel
/.
/usr
/usr/bin
/usr/bin/ozwcp
/usr/share
/usr/share/doc
/usr/share/doc/openzwave-controlpanel
/usr/share/doc/openzwave-controlpanel/README
/usr/share/doc/openzwave-controlpanel/TODO.Debian
/usr/share/doc/openzwave-controlpanel/changelog.Debian.gz
/usr/share/doc/openzwave-controlpanel/copyright
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/openzwave-controlpanel
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/ozwcp.1.gz
/usr/share/openzwave-controlpanel
/usr/share/openzwave-controlpanel/cp.html
/usr/share/openzwave-controlpanel/cp.js
/usr/share/openzwave-controlpanel/openzwavetinyicon.png
/usr/share/openzwave-controlpanel/ozwcp.html
-- System Information:
Debian Release: bookworm/sid
APT prefers testing-debug
APT policy: (500, 'testing-debug'), (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 6.2.0-rc2 (SMP w/32 CPU threads; PREEMPT)
Kernel taint flags: TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages openzwave-controlpanel depends on:
ii libc6 2.36-7
ii libgcc-s1 12.2.0-13
ii libjs-bootstrap 3.4.1+dfsg-3
ii libjs-jquery 3.6.1+dfsg+~3.5.14-1
ii libmicrohttpd12 0.9.75-4
ii libopenzwave1.6 1.6.1914+ds-1+b1
ii libstdc++6 12.2.0-13
openzwave-controlpanel recommends no packages.
openzwave-controlpanel suggests no packages.
-- no debconf information
More information about the Debian-iot-maintainers
mailing list