head 1.2; access; symbols pkgsrc-2013Q2:1.2.0.10 pkgsrc-2013Q2-base:1.2 pkgsrc-2012Q4:1.2.0.8 pkgsrc-2012Q4-base:1.2 pkgsrc-2011Q4:1.2.0.6 pkgsrc-2011Q4-base:1.2 pkgsrc-2011Q2:1.2.0.4 pkgsrc-2011Q2-base:1.2 pkgsrc-2009Q4:1.2.0.2 pkgsrc-2009Q4-base:1.2; locks; strict; comment @# @; 1.2 date 2009.06.15.19.45.14; author manu; state dead; branches; next 1.1; 1.1 date 2009.06.06.10.27.31; author manu; state Exp; branches; next ; desc @@ 1.2 log @Update to 0.2.2. From NEWS: * Improve metadata autogeneration: cleanup certificate, allow Organizarion element data to be supplied from Apache configuration @ text @$NetBSD: patch-ab,v 1.1 2009/06/06 10:27:31 manu Exp $ diff -r -U4 auth_mellon_handler.c.orig auth_mellon_handler.c --- auth_mellon_handler.c.orig 2009-06-05 22:07:17.000000000 +0200 +++ auth_mellon_handler.c 2009-06-06 11:59:24.000000000 +0200 @@@@ -82,9 +82,29 @@@@ am_dir_cfg_rec *cfg = am_get_dir_cfg(r); char *url = am_get_endpoint_url(r); char *cert = ""; - if (cfg->sp_cert_file) + if (cfg->sp_cert_file) { + char *sp_cert_file; + char *cp; + const char *begin = "-----BEGIN CERTIFICATE-----"; + const char *end = "-----END CERTIFICATE-----"; + + /* + * Try to remove leading and trailing garbage, as it can + * wreak havoc XML parser if it contains [<>&] + */ + sp_cert_file = apr_pstrdup(p, cfg->sp_cert_file); + + cp = strstr(sp_cert_file, begin); + if (cp != NULL) + sp_cert_file = cp; + + cp = strstr(sp_cert_file, end); + if (cp != NULL) + *(cp + strlen(end)) = '\0'; + + cert = apr_psprintf(p, "" "" "" @@@@ -98,10 +118,11 @@@@ "%s" "" "" "", - cfg->sp_cert_file, - cfg->sp_cert_file); + sp_cert_file, + sp_cert_file); + } return apr_psprintf(p, "" "