[Mailman-Users] Private archives and wilma/glimpse/mhonarc

Todd Pfaff pfaff at edge.cis.mcmaster.ca
Wed Jun 28 00:01:51 CEST 2000


Kevin,

I left something (probably several things) out of my message posted on
April 4 2000.  Look at my script wilma-list-setup for this chunk of code:

/bin/rm -f $top/index.html
cat redirect_index.html | \
sed -e "1,\$s,_LIST_,$list,g" \
> $top/index.html

I forgot to attach the redirect_index.html template.  I've attached it
now.  This will generate a simple HTML redirect file that will take you to
your list-specific wilma URL.

Also, in my case, the only path to the archives is via this cgi-bin path:

ScriptAlias /mailman/ /home/mailman/cgi-bin/

That's it.  No other path for to mailman public archives or to wilma.
No /pipermail Alias, no wilma ScriptAlias.

I've patched private.py so that it serves both public and private
archives, only requesting authentication if the archive is private.
I've attached private.py-patch.

So, essentially what happens is this:

- only path to archives is /mailman/private/listname
- this runs private.py which asks for authentication if the list is
private
- private.py serves up archives/private/listname/index.html
- index.html redirects to /mailman/wilma/listname

Wilma is configured to route all access through this private interface, so
even if people bypass the initial authentication by entering a direct path
to wilma (eg. /mailman/wilma/listname) they will be asked to authenticate
when they click on the wilma browse link.

Wilma access is via these links in /home/mailman/cgi-bin:

lrwxrwxrwx   1 mailman  mailman        21 Feb 13 19:23 .wilma ->
../local/wilma/.wilma
lrwxrwxrwx   1 mailman  mailman        24 Feb 13 19:23 AppCfg.pm ->
../local/wilma/AppCfg.pm
lrwxrwxrwx   1 mailman  mailman        20 Feb 13 19:23 wilma ->
../local/wilma/wilma
lrwxrwxrwx   1 mailman  mailman        28 Feb 13 19:23 wilma_glimpse ->
../local/wilma/wilma_glimpse
lrwxrwxrwx   1 mailman  mailman        28 Feb 13 19:23 wilma_hiliter ->
../local/wilma/wilma_hiliter


On Tue, 27 Jun 2000, Kevin M. Myer wrote:

> Hi,
> 
> I have wilma/glimpse/mhonarc setup as an archiver, using mostly Todd
> Pfaff's instructions and scripts and its working really well for lists
> that have public archives.  However, I can't seem to figure out the
> combination to have it work with a public list but private archive.  
> 
> Here is what happens - with a public list but private archive, I'm taken
> to a URL <http://list-server/mailman/private/listname> where I need to
> enter a subscriber name and password.  Clicking on the Submit Query button
> takes me the equivalent of
> /home/mailman/archives/private/listname/index.html on the file
> system.  This is a file that I think wilma or glimpse creates but
> unfortunately, its always blank.  Ideally, I'd like it to be the same
> interface that I get with wilma so that authorized users can search
> private archives too.  However, there's nothing stopping a user from just
> using the wilma/glimpse layout to request a private list archive.  For
> example, if test-list is a public archive but I want private archives, I
> can still access the private archives by going to
> http://<list-server>/search/wilma/test-list.
> 
> I think all my problems would go away if I could get the
> /home/mailman/archives/private/listname/index.html file to be a non-zero
> file with real content.  Maybe thats what I should aim for (and the
> mailman list archives seem to be broken - I keep getting 502 Proxy
> errors so I can't search :/).
> 
> Does anyone have wilma/glimpse/mhonarc working with private archives?
> 
> Thanks,
> 
> Kevin
> 
> -- 
> Kevin M. Myer
> Systems Administrator
> Lancaster-Lebanon Intermediate Unit 13
> (717)-560-6140
> 
> 
> 
> ------------------------------------------------------
> Mailman-Users maillist  -  Mailman-Users at python.org
> http://www.python.org/mailman/listinfo/mailman-users
> 

--
Todd Pfaff                         \  Email: pfaff at mcmaster dot ca
Computing and Information Services  \ Voice: (905) 525-9140 x22920
ABB 132                              \  FAX: (905) 528-3773
McMaster University                   \
Hamilton, Ontario, Canada  L8S 4M1     \
-------------- next part --------------
<html>
<head>
<meta http-equiv="refresh" content="0;url=/mailman/wilma/_LIST_">
</head>
-------------- next part --------------
--- Mailman/Cgi/private.py.orig	Sun Jun 13 04:10:10 1999
+++ Mailman/Cgi/private.py	Sun Feb 20 23:31:04 2000
@@ -90,7 +90,7 @@
     try:
         path = os.environ['PATH_INFO']
     except KeyError:
-        doc.SetTitle("Private Archive Error")
+        doc.SetTitle("Archive Error")
         doc.AddItem(Header(3, "You must specify a list."))
         print doc.Format(bgcolor="#FFFFFF")
         sys.exit(0)
@@ -102,7 +102,7 @@
     list_info = Utils.GetPathPieces(path)
 
     if len(list_info) < 1:
-        doc.SetTitle("Private Archive Error")
+        doc.SetTitle("Archive Error")
         doc.AddItem(Header(3, "You must specify a list."))
         print doc.Format(bgcolor="#FFFFFF")
         sys.exit(0)
@@ -124,7 +124,7 @@
         listobj = None
     if not (listobj and listobj._ready):
         msg = "%s: No such list." % list_name
-        doc.SetTitle("Private Archive Error - %s" % msg)
+        doc.SetTitle("Archive Error - %s" % msg)
         doc.AddItem(Header(2, msg))
         print doc.Format(bgcolor="#FFFFFF")
         sys.exit(0)
@@ -140,24 +140,27 @@
 	if type(password) == type([]): password = password[0]
 	password = password.value
 
-    is_auth = 0
-    message = ("Please enter your %s subscription email address "
-               "and password." % listobj.real_name)
-    try:
-        is_auth = listobj.WebAuthenticate(user=user,
-                                          password=password,
-                                          cookie='archive')
-    except (Errors.MMBadUserError, Errors.MMBadPasswordError,
-            Errors.MMNotAMemberError): 
-        message = ('Your email address or password were incorrect. '
-                   'Please try again.')
-    except Errors.MMExpiredCookieError:
-        message = 'Your cookie has gone stale, ' \
-                  'enter password to get a new one.',
-    except Errors.MMInvalidCookieError:
-        message = 'Error decoding authorization cookie.'
-    except Errors.MMAuthenticationError:
-        message = 'Authentication error.'
+    if listobj.archive_private:
+        is_auth = 0
+        message = ("Please enter your %s subscription email address "
+                   "and password." % listobj.real_name)
+        try:
+            is_auth = listobj.WebAuthenticate(user=user,
+                                              password=password,
+                                              cookie='archive')
+        except (Errors.MMBadUserError, Errors.MMBadPasswordError,
+                Errors.MMNotAMemberError): 
+            message = ('Your email address or password were incorrect. '
+                       'Please try again.')
+        except Errors.MMExpiredCookieError:
+            message = 'Your cookie has gone stale, ' \
+                      'enter password to get a new one.',
+        except Errors.MMInvalidCookieError:
+            message = 'Error decoding authorization cookie.'
+        except Errors.MMAuthenticationError:
+            message = 'Authentication error.'
+    else:
+        is_auth = 1
     
     if not is_auth:
         # Output the password form


More information about the Mailman-Users mailing list