https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r287269 | pitel | 2010-09-17 10:37:49 +0200 (Pá, 17 zář 2010) | 8 lines
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/
........
r287270 | pitel | 2010-09-17 10:42:37 +0200 (Pá, 17 zář 2010) | 6 lines
Asterisk crashing because of double free when EWS request fails
The free is done later in code. I think ast_free() should have built in checks for double free.
(closes issue #17782)
........
r287271 | pitel | 2010-09-17 10:44:28 +0200 (Pá, 17 zář 2010) | 6 lines
Events are visible after they were removed from EWS calendar
Because we must merge calendar even when it's empty.
(closes issue #17786)
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@287272
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
#include <ne_uri.h>
#include <ne_request.h>
#include <ne_auth.h>
+#include <ne_redirect.h>
#include <libxml/xmlmemory.h>
#include <libxml/parser.h>
}
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);
#include <ne_xml.h>
#include <ne_xmlreq.h>
#include <ne_utils.h>
+#include <ne_redirect.h>
#include "asterisk/module.h"
#include "asterisk/calendar.h"
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 */
+ ast_calendar_merge_events(ctx->pvt->owner, ctx->pvt->events);
return NE_XML_DECLINE;
}
return 1;
if (ret != NE_OK) { /* Error handling */
ast_log(LOG_WARNING, "Unable to communicate with Exchange Web Service at '%s': %s\n", ctx->pvt->url, ne_get_error(ctx->pvt->session));
ne_request_destroy(req);
- ast_free(request);
ne_xml_destroy(parser);
return -1;
}
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");
#include <ne_uri.h>
#include <ne_request.h>
#include <ne_auth.h>
+#include <ne_redirect.h>
#include <iksemel.h>
#include "asterisk/module.h"
}
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);
#include <ne_uri.h>
#include <ne_request.h>
#include <ne_auth.h>
+#include <ne_redirect.h>
#include "asterisk/module.h"
#include "asterisk/calendar.h"
}
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);