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
This commit is contained in:
Jan Kalab
2010-09-17 08:37:49 +00:00
parent ff5ffb3725
commit 455d54493c
4 changed files with 9 additions and 1 deletions

View File

@@ -34,6 +34,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include <ne_uri.h>
#include <ne_request.h>
#include <ne_auth.h>
#include <ne_redirect.h>
#include <libxml/xmlmemory.h>
#include <libxml/parser.h>
@@ -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);

View File

@@ -35,6 +35,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include <ne_xml.h>
#include <ne_xmlreq.h>
#include <ne_utils.h>
#include <ne_redirect.h>
#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");

View File

@@ -34,6 +34,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include <ne_uri.h>
#include <ne_request.h>
#include <ne_auth.h>
#include <ne_redirect.h>
#include <iksemel.h>
#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);

View File

@@ -33,6 +33,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include <ne_uri.h>
#include <ne_request.h>
#include <ne_auth.h>
#include <ne_redirect.h>
#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);