Skip to Content.
Sympa Menu

en - RE: [sympa-users] Whitelist/Modlist for Sympa 6.2

Subject: The mailing list for listmasters using Sympa

List archive

Chronological Thread  
  • From: Steve Shipway <address@concealed>
  • To: John R Levine <address@concealed>
  • Cc: "address@concealed" <address@concealed>
  • Subject: RE: [sympa-users] Whitelist/Modlist for Sympa 6.2
  • Date: Mon, 5 Oct 2015 02:50:29 +0000

> my $cap = [split '/', $in{'cap'}];

However, $in{'cap'} is set from the CGI params in scalar mode, and so will
to be all the passed cap variables concatenated with a null separator. My
TT2 is using POST to send two cap variables (the sub-action, and the file
content). Sympa makes the (reasonable) assumption that there can only be
one cap variable (since it expects it to come from PATH_INFO split by '/')
and so does not split $in{cap} on nulls, resulting in this problem.

My problem is that
- I need to pass two parameters,
- I cannot pass a textarea in a GET
- A form cannot return parameters as pathinfo
- The Sympa plugin architecture only passes 'cap' to the plugin
- 'cap' is set from either pathinfo or GET/POST params (with GET/POST taking
precedence)
- Sympa assumes only one instance of 'cap' exists (as would be the case were
it coming from PATH_INFO) so no need to split on nulls!

A simple fix would be for Sympa to split $in{'cap'} using $cap = [split
/[\/\x00]/, $in{'cap'}]; instead before passing it to the process()
function.

A better fix would be for Sympa to pass the entire \%in to the
custom_action::process() function rather than passing only [split
'/',$in{'cap'}]; however this would not be backwards compatible so is
unlikely to happen, I think.

Steve


Steve Shipway
T: +64 9 3737 599 ext 86487
E: address@concealed

Attachment: smime.p7s
Description: S/MIME cryptographic signature




Archive powered by MHonArc 2.6.19+.

Top of Page