W. Curtis Preston wrote:
So it seems I misunderstood your previous post. Sorry about that. I followed your suggestion. Both of them, actually. I tried all of the following URLs, to no avail. The first two do at least display just the username in question. I did change the chunksize variable and did the latter two URLs, and that didn't work either. (In case it's not obvious, I tried using the values off/on and 0/1 in case that was the problem.)
I finally had some time to devote to debugging this, and I know what the problem is. The 2.1.10 change was made because the local part of an email address can be quoted with a double quote as in "john&jane"@example.com. The presence of those double quotes would break the HTML for the membership list page by creating things like
<INPUT name=""john&jane"@example.com_nomail" type="CHECKBOX" value="on" ...
This was avoided by quoting the email address so the above would become
<INPUT name="%22john%26jane%22%40example.com_nomail" type="CHECKBOX" value="on" ...
However, this means the CGI script now expects field names to be quoted as above.
The problem in this case is that when you specify these parameters as query fragments in the URL, the Python class that Mailman uses to retrieve the parameters unquotes the query fragments, whereas it doesn't do this with POST data. This means the admin CGI script is looking for things like user%40example.com_nomail, and if they are provided as POST data, that's what it sees, but if they are provided as query fragments of a GET URL, it sees user@example.com_nomail which doesn't work.
This means instead of giving the email as user%40example.com in a URL query fragment, you need to give it as user%2540example.com which will result in the %25 being changed to % and the script seeing user%40example.com.
Note also that you can subscribe the user and set options with a single GET URL. For example:
Note the following:
I have specified subscribees instead of subscribees_upload as in the OP. This doesn't matter; either will work, but subscribees is shorter. Note the address here is raw, not encoded.
I have corrected send_notifications_to_list_owner which was notification_to_list_owner in the OP.
I have omitted allmodbit_val=0 since this is ignored unless allmodbit_btn is present.
I have setmemberopts_btn=1 since the actual value is ignored - only the presence or absence of the key is significant.
I have omitted the '=0' option settings. In most cases (language is an exception), ommitting a setting is the same as setting it to unchecked or empty. This does mean that settings which are on by default must be explicitly set whether you do it with one step or two or they will be turned off. The exception is language which will be unchanged if omitted.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan