summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Rewritten to improve readability.bwarsaw2001-05-311-11/+15
|
* Make this template look more like unsub.txt. Improves readability.bwarsaw2001-05-311-12/+15
|
* Slight readability fix.bwarsaw2001-05-311-1/+1
|
* A high reworked template for better formatting, and the new memberbwarsaw2001-05-311-126/+212
| | | | | | options page features, including ability to change your address, global changes to passwords and enable/disable, password reminders, etc.
* This file is no longer necessary. All the functionality has beenbwarsaw2001-05-311-346/+0
| | | | moved to the options.py file.
* NewVars(): Add mod_password and moderator attributes to list schemas.bwarsaw2001-05-311-0/+2
|
* DATA_FILE_VERSION: Bump this so that list config.db schemas will bebwarsaw2001-05-311-1/+1
| | | | updated to include the mod_password and moderator attributes.
* Changes to support the new world order of authentication, usingbwarsaw2001-05-311-61/+150
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | authorization contexts and the roles of User, List Owner, List Moderator, (List) Creator/Destroyer, Site Administrator. Specifically, InitVars(): Add a mod_password attribute that can contain the sha hashed list moderator's password. ValidAdminPassword(), ConfirmAdminPassword(): Removed as obsolete. AuthContextInfo(): Given an authorization context, and optionally a user (if authcontext == AuthUser), return the context's secret and cookie key. The tuple (None, None) is returned if the authcontext is bogus. MMNotAMemberError is raised if the user isn't a member of the list, and MMBadUserError is raised if the user's secret is None. Authenticate(): The non-web way of doing authentication. Takes a list of allowed authcontexts (and optionally a user name if AuthUser is one of those contexts), and a response string (i.e. password). Returns the authcontext from the argument sequence that matches the response, or UnAuthorized if none of them did. WebAuthenticate(): The web way of doing authentication. The arguments are the same as Authenticate(), but first the cookie data is checked. If that fails, then Authenticate() is used. Returns a flag indicating whether authentication succeeded or not. MakeCookie(): Now takes an authcontext and optionally a user (required if authcontext is AuthUser). Generates a cookie item for this context. ZapCookie(): Now takes an authcontext and optionally a user (required if authcontext is AuthUser). Generates an empty cookie item for this context, effectively logging out that authcontext. CheckCookie(): Now takes an authcontext and optionally a user (required if authcontext is AuthUser). Returns a flag indicating whether the authcontext's cookie matches the expected value, i.e. whether they are cookie authenticated or not. ChangeUserPassword(): Remove the test for IsListInitialized(), and removed the Save() call, since all paths to this method should be wrapped in the standard lock-modify-save-unlock fence.
* _dispose(): When a message is destined "toowner" and the metadatabwarsaw2001-05-311-1/+12
| | | | | contains the "tomoderators" key, sent the message to both the list owners and the list moderators.
* hold_for_approval(): We want the admin notification message to appearbwarsaw2001-05-311-4/+9
| | | | | | | | | to come from the list owner to avoid any unnecessary bounce processing. Also, and more importantly, set the message's metadata "tomoderators" flag so that the admin notification message will be sent to both the list owners and the list moderators.
* Update a comment.bwarsaw2001-05-311-1/+3
|
* process(): Use the new world order for doing authentication. Sincebwarsaw2001-05-311-4/+8
| | | | | | | | | | | | | this isn't a web auth, we just use Authenticate() and pass in the appropriate authcontext. In this case, we're allowing either the list moderator or the list owner to approve messages. We're specifically /not/ allowing the site administrator in order to reduce the urge to send the site password through email in the clear. Also, accept either "Approved: password" or "Approve: password" headers.
* main(), process_form(), print_results(): We don't need to pass thebwarsaw2001-05-311-5/+5
| | | | | document background color as an argument anymore. Other colors are no longer hardcoded, but taken from mm_cfg.
* main(): Use the new world order for authentication, by usingbwarsaw2001-05-311-39/+25
| | | | | | | | mlist.WebAuthenticate() and passing in the authentication contexts. In this case when the roster is private to members, the authcontext is the AuthUser, AuthListModerator, AuthListAdmin, and AuthSiteAdmin. When the context is list-admin only, then the authcontext is AuthListModerator, AuthListAdmin, and AuthSiteAdmin.
* main(), process_request(), request_deletion(): We don't need to passbwarsaw2001-05-311-16/+21
| | | | | | | | | | the document background color as an argument anymore. Other colors are no longer hardcoded, but taken from mm_cfg. process_request(): Use the new world order for authentication, by using mlist.WebAuthenticate() and passing in the authentication contexts. In this case the AuthCreator, AuthListAdmin, and AuthSiteAdmin can all delete lists.
* main(): We don't need to pass the document background color as anbwarsaw2001-05-312-7/+7
| | | | | argument anymore. Other colors are no longer hardcoded, but taken from mm_cfg.
* listinfo_overview(): We don't need to pass the document backgroundbwarsaw2001-05-311-3/+3
| | | | | color as an argument anymore. Other colors are no longer hardcoded, but taken from mm_cfg.
* main(), process_request(), request_creation(): We don't need to passbwarsaw2001-05-311-18/+21
| | | | | the document background color as an argument anymore. Other colors are no longer hardcoded, but taken from mm_cfg.
* main(): We don't need to pass the document background color as anbwarsaw2001-05-311-6/+11
| | | | | | argument to Format() anymore. success(): Handle the the new CHANGE_OF_ADDRESS confirmable action.
* main(): Convert to the new world order for authentication. We don'tbwarsaw2001-05-311-87/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | use Auth.authentication() anymore because mlist.WebAuthenticate() now does the job nicely, with all the acceptable authentication contexts passed as an argument. Also, when logging out, ZapCookie() takes an authentication context (in this case it's AuthListAdmin). main(), admin_overview(), option_help(), show_variables(), add_options_table_item(), membership_options(), submit_button(): We don't need to pass the document background color as an argument anymore. Other colors are no longer hardcoded, but taken from mm_cfg. show_results(): Small change to admindb link text; these are called moderator requests now. password_inputs(): Change this section so that it prompts for both changes to the list owner passwords, and the list moderator passwords, the latter of which gains access only to the pending requests page. change_options(): Because we no longer require the admin password in order to change the password (because it would have had to have been supplied in order to even get here), we can simplify the password change processing. We also need to add the moderator password change processing, and this should happen before the list owner password change processing, because the latter requires that the authorization cookie be regenerated.
* CGI_PROGS: The handle_opts cgi is obsolete.bwarsaw2001-05-311-1/+1
|
* de-string-module-ificationbwarsaw2001-05-311-9/+11
| | | | | main(): Use the new world order for sending a message (i.e. not through HandlerAPI). Also, do the mlist.Save() in the try: block.
* main(): Improved the readability of a message.bwarsaw2001-05-311-1/+1
|
* Updated a comment.bwarsaw2001-05-311-5/+5
|
* Stupid change because the last checkin failed to say:bwarsaw2001-05-311-1/+2
| | | | | authenticate(): This is removed as obsolete because of the new authentication scheme.
* loginpage(): Add the standard footer to the login page. The loginbwarsaw2001-05-311-35/+8
| | | | | | | template is now in admlogin.html instead of admlogin.txt. If the scriptname is "admindb", then we're asking for the list-moderators password (although the list owner's password will still work of course).
* Document: Set the default background color of the document tobwarsaw2001-05-311-1/+5
| | | | | | | | | | | | mm_cfg.WEB_BGCOLOR. Document.set_bgcolor(): New method to set the bgcolor attribute. Document.Format(): Add self.bgcolor to the kws dictionary if it isn't already there (i.e. allow it to be overridden by the caller). This means that we don't need to pass the background color in the Format() call for most cases. Cleans up the code and parameterizes the background color for site customization.
* maketext(): When interpolating the dict into the template, catchbwarsaw2001-05-311-1/+1
| | | | | ValueError too. This can happen if there's a typo in the template such that a bogus format character appears (e.g. %(blah)y).
* Added another confirmable action: a change of address request.bwarsaw2001-05-311-2/+7
| | | | | | | | Specifically, CHANGE_OF_ADDRESS: new constant for this type of confirmable request. new(): Add CHANGE_OF_ADDRESS to the assert.
* HoldSubscription(): Removed some old language setting cruft. Also,bwarsaw2001-05-311-10/+6
| | | | | | | | | | the subscription request email should appear to come from the -owner not the -admin to avoid unnecessary bounce processing. Also, because this message is part of the pending moderation requests (i.e. a moderator can approve or disapprove a subscription request), set the message metadata key "tomoderators" so that the message will be delivered to both the list owners and the list moderators.
* FormatOptionButton(): Formatting, but also change the 'passwdremind'bwarsaw2001-05-311-22/+20
| | | | | | | | value to 'remind'. FormatDisabledNotice(): Cleaned up the text message by using multi-line strings and string interpolation. This should also improve the ability for these messages to be translated into Japanese.
* SetUserDigest(): Do not do a self.Save() at the end of this. Ibwarsaw2001-05-311-2/+0
| | | | | | | | believe all calls to SetUserDigest() should be wrapped in the standard lock-munge-save-unlock fences. If not, they should be! This should radically improve performance when many of these calls are made sequentially.
* MailUserPassword(): Include the full posting email address of the listbwarsaw2001-05-311-2/+3
| | | | | | | | | in the userpass.txt notification. Change the 'adminaddr' key to 'owneraddr' since we want them to contact the list-owner@ with questions, not the list-admin@ (which does bounce processing). Also, sent the message as if it were coming from the -admin address not the -request address.
* New user configurable variables, for control of the (non-templated)bwarsaw2001-05-311-7/+46
| | | | | | | | | | | | | | | | | | | | | | | | | web UI colors: WEB_BGCOLOR WEB_HEADERCOLOR WEB_ADMINITEM_COLOR WEB_ADMINPW_COLOR ADMIN_COOKIE_LIFE is removed. We now only support session cookies. New authentication role variables: UnAuthorized AuthUser AuthCreator AuthListAdmin AuthListModerator AuthSiteAdmin With an explanation of what each role is for. Code will glom together sequences of authentication roles when they want to do a web-authentication. This essentially specifies which passwords/cookies will be accepted for a particular task.
* Many updates for the 2.1a2 release.bwarsaw2001-05-311-35/+167
|
* Added a note about tools you'll need if you want to run "makebwarsaw2001-05-291-5/+5
| | | | | | | | | catalogs" (ordinarily not necessary by most users). .po.mo: fixed reversed argument order %/LC_MESSAGES/mailman.mo: rule wasn't needed since the .po.mo rule %does the trick.
* Fix typo observed by nobody (aka Anonymous) in SF bug #426002: 'data' shouldtwouters2001-05-291-1/+1
| | | | | | | be 'date'. I don't usually like touching pipermail, but in this case, the pain is minimal. Closes SF bug #426002.
* In the definition of LOG_IDENT and SCRIPTDIR, don't try to glue stringtwouters2001-05-292-2/+2
| | | | | | | | literals together with ##. That's not what ## is for; ## is to glue together stringified versions of tokens. The fact that it worked was a bug in GCC. Thanx to Jeff Dairiki for reminding me to take care of this. This fixes SF bug #227694.
* Re-BSDify the Makefiles, by not expecting make to expand '{eggs,ham}' intwouters2001-05-293-6/+6
| | | | | | | | | globs. (BSD 'make' does not, GNU make does.) I'm sure there is a more satisfying way to do this, but in this case, with only two alternatives in only two cases, just writing them out was the way of least resistance. Also added '-f' to a few 'rm's to avoid warning about ignored errors (missing files).
* main(): Do not send a password reminder to a user if they havebwarsaw2001-05-251-7/+9
| | | | | | | | | | | suppressed reminders for a particular list. The user will have to disable reminders for all lists they are members of if they really don't want to get any such messages. mail_passwords(): Convert away from the old-style HandlerAPI mechanism of sending the reminder message. Also, de-string-module-ification.
* The add the field (with replacement tags) for suppressing the passwordbwarsaw2001-05-251-4/+9
| | | | | | | | | | | | | | | | reminder for this list. IMPORTANT: THIS TEXT NEEDS TRANSLATION. Widen the personal options table to 100% (still not sure about this one -- it was 80%, but it didn't look good not centered). Switch the order of the "Don't receive my own mail" buttons. It was confusing that this was the only one that was ordered "Yes" then "No". ALSO: Un DOS-ified this file; line endings should be Unix-style only, i.e. \n not \r\n.
* The add the field (with replacement tags) for suppressing the passwordbwarsaw2001-05-251-4/+9
| | | | | | | | | | | reminder for this list. Widen the personal options table to 100% (still not sure about this one -- it was 80%, but it didn't look good not centered). Switch the order of the "Don't receive my own mail" buttons. It was confusing that this was the only one that was ordered "Yes" then "No".
* main(): The options.html template now has a field for suppressing thebwarsaw2001-05-251-0/+4
| | | | | | password reminder for this list. Support is added for <mm-dont-get-password-reminder-button> and <mm-get-password-reminder-button> replacements.
* process_form(): Add support for SuppressPasswordReminder user option.bwarsaw2001-05-251-0/+4
|
* UserNotification.send(): Add optional **_kws which are passed straightbwarsaw2001-05-251-3/+4
| | | | through to the enqueue() method.
* GetAvailableLanguages(): Add a comment.bwarsaw2001-05-251-0/+4
|
* GetAvailableLanguages(): Always add the server default language to thebwarsaw2001-05-251-0/+1
| | | | list of available languages.
* FormatOptionButton(): Teach this about the SuppressPasswordReminderbwarsaw2001-05-251-9/+9
| | | | user option.
* SuppressPasswordReminder: New per-list user option which allows a userbwarsaw2001-05-251-0/+1
| | | | | | to suppress password reminders for this list only. If they turn this option on for all lists in a virtual domain, they will not get the password reminder email at all.
* Added Vizi Szilardbwarsaw2001-05-251-0/+1
|