Support unverified SSL certificates#74
Open
larsklitzke wants to merge 9 commits intoDinoTools:masterfrom
Open
Conversation
…an optinal ssl context for the query. This is required in order to send a query to a site which has an unverified ssl certificate, i.e a self signed certificate.
the context parameter from the query function to the constructor.
Author
|
Well, it seems that the context parameter for urlopen exists in 2.7.9 <= Python < 3 and was reintroduced in 3.4.3. Thus, the test builds for Python 3.0 - 3.3 are broken. This issue was also discussed on stackoverflow but the only answer was to upgrade Python. So, either merge this patch to the master branch and applications using Overpy with a Python3 version of < 3.4.3 will break, create a new branch which only support Python > 3.3 or simply neglect that pull request. |
Sometimes, the openstreetmap server is inconsistent in that way that the list of node ids of a `Way` contains nodes that actually do not exist. In that case, no nodes of a `Way` will be retrieved even if there are valid nodes. You can now set the strict_mode to False so that invalid nodes will be removed from a Way. The default behaviour still is to try to retrieve the missing nodes and if the node does not exist, a DataIncomplete exception is thrown.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue type
Summary
I have a self hosted OpenStreetMap server which can only be accessed using SSL connections. The certificates are however generated using certbot and thus queries cannot be send using overpy due to the fact that those certificates are by default marked as unverified.
Hence, to fix this issue, I've added a new optional parameter context to the constructor of the Overpass object in order to define an optional ssl context which is passed to the call of urlopen in the query method.
So, if you want to connect to a Overpass server with a self signed certificate, create a new ssl context with:
ssl_context = ssl._create_unverified_context()and setup a new Overpass object using that context
opy = overpy.Overpass(url='https://example.com/api/interpreter', context=ssl_context)