Skip to content
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

hostname is case sensitive (at least on an octopi-0.170/octoprint-1.4.0) #298

Closed
SuperTango opened this issue Apr 13, 2020 · 4 comments
Closed

Comments

@SuperTango
Copy link

I'm not sure if this is a octopod or octoprint problem. If it's octoprint let me know and I'll file it there.

If I add my printer's URL with a case that's different than the machine thinks, the octopod client pops up the "Not refreshing" error banner, and the octoprint.log has repeated errors:

2020-04-13 11:56:36,579 - tornado.access - WARNING - 403 GET /sockjs/websocket (::ffff:192.168.1.1) 1.56ms

(After much trial and error) I found that the hostname on the machine is "3dprinterpi.example.com" (it's not really example.com, but you get the picture). In my octopod printer config, i had the hostname set as "http://3dPrinterPi.example.com". This seems to cause the 403 errors. If I change the hostname to "http://3dprinterpi.example.com", it works.

This is a new install of an octopi with version 0.17.0 and octoprint-1.4.0. I have no experience with any other version of octoprint, so I'm not sure if this is a new issue or not.

@SuperTango
Copy link
Author

I found this issue in tornado: tornadoweb/tornado#610. Seems like tornado expects hostnames to be normalized (lower cased?) when the tornado API is called. Again, not sure if this is an octoprint or octopod issue.

@gdombiak
Copy link
Owner

Hi @SuperTango, thanks for reporting this issue. I'm sure others are going to run into this same thing.

I guess you are pointing to this line that includes the hostname as a header. Based on your test it does seem like it is a case sensitive problem. Both HTTP/1.1 and HTTP/2 indicate that headers should be case insensitive. The link you shared is from 2012 and it seems that Tornado fixed it? If this is indeed a bug in Tornado, I think that Gina (OctoPrint) will defer to them since OctoPrint should not be impacting this.

TL;DR: According to the specification, clients (like OctoPod) should be able to send uppercase/lowercase/any mix and things should still work. This could be a Tornado issue or maybe some validation done by OctoPrint? I never looked at that part of OctoPrint's code to know what is going on.

Sorry I cannot help more.
Regards,
Gaston

@SuperTango
Copy link
Author

OK. Thanks. I filed an issue in octoprint.

@gdombiak
Copy link
Owner

Closing since issue was reported and fixed in OctoPrint (this is a bug in Tornado library)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants