<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>32140</bug_id>
          
          <creation_ts>2009-12-03 19:10:45 -0800</creation_ts>
          <short_desc>REGRESSION(r50072): Mailman administrative functionality is broken</short_desc>
          <delta_ts>2009-12-20 13:32:21 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.6</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://src.macosforge.org/webkit-post-data-bug-test.php</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>HasReduction, InRadar, Regression</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="William Siegrist">wsiegrist</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>mrowe</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>168619</commentid>
    <comment_count>0</comment_count>
    <who name="William Siegrist">wsiegrist</who>
    <bug_when>2009-12-03 19:10:45 -0800</bug_when>
    <thetext>Reduced case: http://src.macosforge.org/webkit-post-data-bug-test.php

If you check a box and hit the corresponding submit button, you&apos;ll notice the checkbox name &quot;abc%40def&quot; is encoded as &quot;abc%2540def&quot; only when multipart encoding is used.  I would expect the field name to be the same in both cases. Firefox 3.5.5 and Safari 4.0.4 do not encode the name. I can reproduce with nightly r51580.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168620</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2009-12-03 19:15:41 -0800</bug_when>
    <thetext>This regressed in &lt;http://trac.webkit.org/changeset/50072&gt;.  It breaks administrative functionality within the Mailman interface that is used on lists.webkit.org.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168622</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2009-12-03 19:32:20 -0800</bug_when>
    <thetext>Why did we choose to URL encode field names within these headers?  The only thing that RFC 2388, the multipart/form-data specification, has to say about encoding of field names is:

&gt;    Field names originally in non-ASCII character sets may be encoded
&gt;    within the value of the &quot;name&quot; parameter using the standard method
&gt;   described in RFC 2047.

RFC 2047, Message Header Extensions for Non-ASCII Text, appears to discuss the use of quoted-printable encoding.  The cases we are concerned about a clearly not non-ASCII, but this does seem to directly conflict with our decision to URL encode the field names.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168623</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2009-12-03 19:32:42 -0800</bug_when>
    <thetext>&lt;rdar://problem/7443458&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168668</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-12-03 22:15:06 -0800</bug_when>
    <thetext>Percent escaping was chosen randomly, we can definitely try another encoding form. Encoding the percent sign itself was a poorly thought through last minute change, and it can be just removed from the set of encoded characters for an easy fix.

I did not know about RFC 2388, and I do not know if anyone follows it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170560</commentid>
    <comment_count>5</comment_count>
      <attachid>44644</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-12-10 15:53:24 -0800</bug_when>
    <thetext>Created attachment 44644
proposed fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170564</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-10 15:57:06 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 44644 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170570</commentid>
    <comment_count>7</comment_count>
      <attachid>44644</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2009-12-10 16:17:36 -0800</bug_when>
    <thetext>Comment on attachment 44644
proposed fix

I don’t understand why we *were* using URL encoding for field names.  I don’t understand why we’re now inventing a custom encoding for these fields that looks by all appearances to be URL encoding, and yet cannot be decoded by the other end.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170575</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-12-10 16:23:36 -0800</bug_when>
    <thetext>Mark has suggested an interesting idea for future consideration - even though RFC 2388 doesn&apos;t apply to ASCII characters, we can still use its form of encoding, e.g. =0a. But I don&apos;t think we should be changing this now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170584</commentid>
    <comment_count>9</comment_count>
      <attachid>44644</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-12-10 16:35:08 -0800</bug_when>
    <thetext>Comment on attachment 44644
proposed fix

This change is clearly good. Maybe we can find a better form of encoding than %-encoding in the future, but this will get rid of the regression without reintroducing the problem we originally were fixing by quoting the name.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170588</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-12-10 16:42:44 -0800</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/changeset/51973&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173803</commentid>
    <comment_count>11</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2009-12-20 13:19:38 -0800</bug_when>
    <thetext>Marking this bug as fixed since it was committed in changeset 51973 &lt;http://trac.webkit.org/changeset/51973&gt;. If this is a mistake then reopen this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173810</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-12-20 13:32:21 -0800</bug_when>
    <thetext>This was just an oversight - thanks for noticing!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44644</attachid>
            <date>2009-12-10 15:53:24 -0800</date>
            <delta_ts>2009-12-10 16:35:08 -0800</delta_ts>
            <desc>proposed fix</desc>
            <filename>percent.txt</filename>
            <type>text/plain</type>
            <size>4953</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MTk2OCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMDktMTItMTAgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBs
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyMTQwCisgICAgICAgIFJF
R1JFU1NJT04ocjUwMDcyKTogTWFpbG1hbiBhZG1pbmlzdHJhdGl2ZSBmdW5jdGlvbmFsaXR5IGlz
IGJyb2tlbgorCisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvbWlzYy9wZXJjZW50LXNpZ24taW4t
Zm9ybS1maWVsZC1uYW1lLmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvRm9ybURh
dGFCdWlsZGVyLmNwcDogKFdlYkNvcmU6OmFwcGVuZFF1b3RlZFN0cmluZyk6IERvbid0IGVuY29k
ZSBwZXJjZW50CisgICAgICAgIHNpZ24sIHdlIG5ldmVyIGhhZCBhIGdvb2QgcmVhc29uIHRvIGRv
IHRoYXQuCisKIDIwMDktMTItMTAgIFN0ZXBoZW4gV2hpdGUgIDxzZW5vcmJsYW5jb0BjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6a292LgpJbmRleDogV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5jcHAJKHJldmlzaW9uIDUx
OTY0KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTEyNyw5ICsxMjcsNiBAQCBzdGF0aWMgdm9pZCBhcHBlbmRRdW90ZWRT
dHJpbmcoVmVjdG9yPGNoCiAgICAgICAgIGNhc2UgJyInOgogICAgICAgICAgICAgYXBwZW5kKGJ1
ZmZlciwgIiUyMiIpOwogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgJyUnOgotICAg
ICAgICAgICAgYXBwZW5kKGJ1ZmZlciwgIiUyNSIpOwotICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBhcHBlbmQoYnVmZmVyLCBjKTsKICAgICAgICAgfQpJ
bmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0No
YW5nZUxvZwkocmV2aXNpb24gNTE5NjkpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAwOS0xMi0xMCAgQWxleGV5IFByb3NrdXJ5YWtv
diAgPGFwQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzIxNDAK
KyAgICAgICAgUkVHUkVTU0lPTihyNTAwNzIpOiBNYWlsbWFuIGFkbWluaXN0cmF0aXZlIGZ1bmN0
aW9uYWxpdHkgaXMgYnJva2VuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL21pc2MvcGVyY2VudC1z
aWduLWluLWZvcm0tZmllbGQtbmFtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvbWlzYy9wZXJjZW50LXNpZ24taW4tZm9ybS1maWVsZC1uYW1lLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvbWlzYy9yZXNvdXJjZXMvcGVyY2VudC1zaWduLWluLWZv
cm0tZGF0YS1maWVsZC1uYW1lLmNnaTogQWRkZWQuCisKIDIwMDktMTItMTAgIEFscGhhIExhbSAg
PGhjbGFtQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24u
CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvcGVyY2VudC1zaWduLWluLWZvcm0t
ZmllbGQtbmFtZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9taXNjL3BlcmNlbnQtc2lnbi1pbi1mb3JtLWZpZWxkLW5hbWUtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL3BlcmNlbnQtc2lnbi1p
bi1mb3JtLWZpZWxkLW5hbWUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMg
QEAKK1Rlc3QgZm9yIGJ1ZyAzMjE0MDogTWFpbG1hbiBhZG1pbmlzdHJhdGl2ZSBmdW5jdGlvbmFs
aXR5IGlzIGJyb2tlbi4KKworUEFTUwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9taXNjL3BlcmNlbnQtc2lnbi1pbi1mb3JtLWZpZWxkLW5hbWUtZXhwZWN0ZWQu
dHh0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KTmFtZTogc3ZuOm1pbWUtdHlwZQogICArIHRleHQvcGxhaW4KTmFtZTog
c3ZuOmVvbC1zdHlsZQogICArIG5hdGl2ZQoKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bWlzYy9wZXJjZW50LXNpZ24taW4tZm9ybS1maWVsZC1uYW1lLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL3BlcmNlbnQtc2lnbi1pbi1mb3JtLWZpZWxkLW5h
bWUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9wZXJj
ZW50LXNpZ24taW4tZm9ybS1maWVsZC1uYW1lLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MTAgQEAKKzxmb3JtIG1ldGhvZD0icG9zdCIgYWN0aW9uPSJyZXNvdXJjZXMvcGVyY2VudC1zaWdu
LWluLWZvcm0tZGF0YS1maWVsZC1uYW1lLmNnaSIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0
YSI+Cis8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iYWJjJTQwZGVmIiB2YWx1ZT0idGVzdCI+Cis8
L2Zvcm0+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci53YWl0VW50aWxEb25lKCk7Cit9Citkb2N1bWVudC5mb3Jtc1swXS5zdWJtaXQoKTsKKzwv
c2NyaXB0PgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNj
L3BlcmNlbnQtc2lnbi1pbi1mb3JtLWZpZWxkLW5hbWUuaHRtbApfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk5hbWU6IHN2
bjptaW1lLXR5cGUKICAgKyB0ZXh0L2h0bWwKCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L21pc2MvcmVzb3VyY2VzL3BlcmNlbnQtc2lnbi1pbi1mb3JtLWRhdGEtZmllbGQtbmFtZS5jZ2kK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL3Jlc291cmNlcy9wZXJj
ZW50LXNpZ24taW4tZm9ybS1kYXRhLWZpZWxkLW5hbWUuY2dpCShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL3Jlc291cmNlcy9wZXJjZW50LXNpZ24taW4tZm9ybS1k
YXRhLWZpZWxkLW5hbWUuY2dpCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI2IEBACisjIS91c3Iv
YmluL3BlcmwgLXcKKworcHJpbnQgIkNvbnRlbnQtdHlwZTogdGV4dC9odG1sXG5cbiI7IAorCitw
cmludCAiPHA+VGVzdCBmb3IgPGEgaHJlZj0naHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTMyMTQwJz5idWcgMzIxNDA8L2E+OiBNYWlsbWFuIGFkbWluaXN0cmF0aXZlIGZ1
bmN0aW9uYWxpdHkgaXMgYnJva2VuLjwvcD4iOworcHJpbnQgIjxwcmU+IjsKKworaWYgKCRFTlZ7
J1JFUVVFU1RfTUVUSE9EJ30gZXEgIlBPU1QiKSB7CisgICAgcmVhZChTVERJTiwgJHJlcXVlc3Qs
ICRFTlZ7J0NPTlRFTlRfTEVOR1RIJ30pCisgICAgICAgICAgICAgICAgfHwgZGllICJDb3VsZCBu
b3QgZ2V0IHF1ZXJ5XG4iOworICAgIHByaW50ICRyZXF1ZXN0OworfSBlbHNlIHsKKyAgICBwcmlu
dCAiV3JvbmcgbWV0aG9kOiAiIC4gJEVOVnsnUkVRVUVTVF9NRVRIT0QnfSAuICJcbiI7Cit9IAor
CitwcmludCAiPC9wcmU+PHNjcmlwdD5cbiI7CitwcmludCAidmFyIHByZSA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRzQnlUYWdOYW1lKCdwcmUnKVswXTtcbiI7CitwcmludCAiaWYgKHByZS50ZXh0Q29u
dGVudC5tYXRjaCgnYWJjJTQwZGVmJykpXG4iOworcHJpbnQgIiAgZG9jdW1lbnQud3JpdGUoJ1BB
U1MnKVxuIjsKK3ByaW50ICJlbHNlXG4iOworcHJpbnQgIiAgZG9jdW1lbnQud3JpdGUoJ0ZBSUwn
KVxuIjsKK3ByaW50ICJpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7XG4iOworcHJp
bnQgIiAgcHJlLnNldEF0dHJpYnV0ZSgnc3R5bGUnLCAnZGlzcGxheTpub25lJyk7XG4iOworcHJp
bnQgIiAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpO1xuIjsKK3ByaW50ICJ9XG4i
OworcHJpbnQgIjwvc2NyaXB0PlxuIjsKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbWlzYy9yZXNvdXJjZXMvcGVyY2VudC1zaWduLWluLWZvcm0tZGF0YS1maWVs
ZC1uYW1lLmNnaQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCk5hbWU6IHN2bjpleGVjdXRhYmxlCiAgICsgKgoK
</data>
<flag name="review"
          id="26542"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>