new-calendar-page: add support for webcal:// links
Turns out, all we have to do is rewrite the URL to https://. I'm surprised this works, but I don't see any problems with it. I tested subscribing to webcal://www.gnome.org/start/unstable/schedule.ics. See also: #481
This commit is contained in:
@@ -356,6 +356,16 @@ validate_url_cb (gpointer data)
|
|||||||
|
|
||||||
if (uri != NULL && SOUP_URI_IS_VALID (uri))
|
if (uri != NULL && SOUP_URI_IS_VALID (uri))
|
||||||
{
|
{
|
||||||
|
/* "Support" webcal:// links by converting them to https://. This works
|
||||||
|
* because WebDAV is an extension of HTTP, so we can treat it as normal
|
||||||
|
* HTTP.
|
||||||
|
*
|
||||||
|
* Note we don't allow hidden use of http://, since we want to protect the
|
||||||
|
* user from accidentally leaking calendars in the clear. Only https://.
|
||||||
|
*/
|
||||||
|
if (strcmp (uri->scheme, "webcal") == 0)
|
||||||
|
soup_uri_set_scheme (uri, SOUP_URI_SCHEME_HTTPS);
|
||||||
|
|
||||||
discover_sources (self);
|
discover_sources (self);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
Reference in New Issue
Block a user