From 455d54493c8abd7e8cc2fe8b6886adf264184e5d Mon Sep 17 00:00:00 2001 From: Jan Kalab Date: Fri, 17 Sep 2010 08:37:49 +0000 Subject: [PATCH] Support for HTTP redirects in calendar's URL libneon does not support HTTP redirects (3xx responses) by default. You must tell it to follow them. Also, another little unsigned int fix. (closes issue #17776) Review: https://reviewboard.asterisk.org/r/921/ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@287269 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- res/res_calendar_caldav.c | 2 ++ res/res_calendar_ews.c | 4 +++- res/res_calendar_exchange.c | 2 ++ res/res_calendar_icalendar.c | 2 ++ 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/res/res_calendar_caldav.c b/res/res_calendar_caldav.c index e0d8c483e6..dd150afd6c 100644 --- a/res/res_calendar_caldav.c +++ b/res/res_calendar_caldav.c @@ -34,6 +34,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include #include #include +#include #include #include @@ -643,6 +644,7 @@ static void *caldav_load_calendar(void *void_data) } pvt->session = ne_session_create(pvt->uri.scheme, pvt->uri.host, pvt->uri.port); + ne_redirect_register(pvt->session); ne_set_server_auth(pvt->session, auth_credentials, pvt); if (!strcasecmp(pvt->uri.scheme, "https")) { ne_ssl_trust_default_ca(pvt->session); diff --git a/res/res_calendar_ews.c b/res/res_calendar_ews.c index 504d156f75..4932423055 100644 --- a/res/res_calendar_ews.c +++ b/res/res_calendar_ews.c @@ -35,6 +35,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include #include #include +#include #include "asterisk/module.h" #include "asterisk/calendar.h" @@ -197,7 +198,7 @@ static int startelm(void *userdata, int parent, const char *nspace, const char * return NE_XML_ABORT; } - ast_debug(3, "EWS: %d calendar items to load\n", items); + ast_debug(3, "EWS: %u calendar items to load\n", items); ctx->pvt->items = items; if (items < 1) { /* Stop processing XML if there are no events */ @@ -838,6 +839,7 @@ static void *ewscal_load_calendar(void *void_data) ast_debug(3, "secret = %s\n", pvt->secret); pvt->session = ne_session_create(pvt->uri.scheme, pvt->uri.host, pvt->uri.port); + ne_redirect_register(pvt->session); ne_set_server_auth(pvt->session, auth_credentials, pvt); ne_set_useragent(pvt->session, "Asterisk"); diff --git a/res/res_calendar_exchange.c b/res/res_calendar_exchange.c index b1707c5e2a..8f3989c5df 100644 --- a/res/res_calendar_exchange.c +++ b/res/res_calendar_exchange.c @@ -34,6 +34,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include #include #include +#include #include #include "asterisk/module.h" @@ -693,6 +694,7 @@ static void *exchangecal_load_calendar(void *void_data) } pvt->session = ne_session_create(pvt->uri.scheme, pvt->uri.host, pvt->uri.port); + ne_redirect_register(pvt->session); ne_set_server_auth(pvt->session, auth_credentials, pvt); if (!strcasecmp(pvt->uri.scheme, "https")) { ne_ssl_trust_default_ca(pvt->session); diff --git a/res/res_calendar_icalendar.c b/res/res_calendar_icalendar.c index 300da2ac9b..d91cd0fe09 100644 --- a/res/res_calendar_icalendar.c +++ b/res/res_calendar_icalendar.c @@ -33,6 +33,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include #include #include +#include #include "asterisk/module.h" #include "asterisk/calendar.h" @@ -420,6 +421,7 @@ static void *ical_load_calendar(void *void_data) } pvt->session = ne_session_create(pvt->uri.scheme, pvt->uri.host, pvt->uri.port); + ne_redirect_register(pvt->session); ne_set_server_auth(pvt->session, auth_credentials, pvt); if (!strcasecmp(pvt->uri.scheme, "https")) { ne_ssl_trust_default_ca(pvt->session);