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,
""
"