missing URL-encoding in audit log

Andrew Morgan morgan at orst.edu
Mon Jul 24 19:25:57 EDT 2017


On Mon, 24 Jul 2017, Cantor, Scott wrote:

> On 7/24/17, 6:23 PM, "users on behalf of Andrew Morgan" 
> <users-bounces at shibboleth.net on behalf of morgan at orst.edu> wrote:
>
>> I didn't find an open bug for this.  Should the IDP be escaping the 
>> pipe symbol somehow?
>
> I'm not sure if it's legal in a URL in general, but the audit log 
> doesn't know anything about what delimiter you're using because that's 
> arbitrary. So it would probably require that some kind of pluggable 
> behavior be used, which is sort of already what it has since the audit 
> field can be overridden with an arbitrary script or class to produce the 
> value to log.

The original Apache logs have it URL-encoded:

[23/Jul/2017:14:08:10 -0700] "GET /idp/profile/cas/login?service=https%3A%2F%2Fcourses.ecampus.oregonstate.edu%2Ffishes-collection%2Fimage.php%3Fid%3D1038%7CisIframe HTTP/1.1" 302 398
[23/Jul/2017:14:08:35 -0700] "POST /cas/samlValidate?TARGET=https%3A%2F%2Fcourses.ecampus.oregonstate.edu%2Ffishes-collection%2Fimage.php%3Fid%3D1038%7CisIframe HTTP/1.1" 200 11906

so it appears that the clients are doing the right thing to encode it.

I don't see docs on using a script to produce the value on 
https://wiki.shibboleth.net/confluence/display/IDP30/AuditLoggingConfiguration.

I see a new feature in 3.3 is shibboleth.AuditFieldReplacementMap.  Could 
I use that to replace "|" with "%6C"?  Something like this in audit.xml:

     <util:map id="shibboleth.AuditFieldReplacementMap">
         <entry key="|" value="%6C" />
     </util:map>

Thanks,
 	Andy


More information about the users mailing list