From: Ian L. <il...@us...> - 2005-01-13 01:57:06
|
On Thu, 13 Jan 2005, Tony wrote: >I would assume that this means that the mail is still being >archived, just that the interface to it is broken ? Yep. >You say that the web server and mail server are different >machines, is the communication between them simply a CGI >transaction ? The mail server is supposed to (but doesn't currently) invoke mailt via procmail to update a mailbox index (mbox.mi) as well as storing the mail in a normal mbox. The compute server runs a nightly cron job to rebuild the index file from the current contents of the mbox. The web server just reads the index and mbox. >I've had a quick look at the CVS and the main interface to the >mail archive is a PHP page that refers to a .htaccess file that >redirects the script to appropriate location. What does this >htaccess file currently look like ? =====8<----- $ cat ~mesh/publicweb/list/.htaccess RedirectMatch msg(.*)\.html http://www.itee.uq.edu.au/~mesh/list/oldmap.php/$1 RedirectMatch msg/([1-9][0-9/]*) http://www.itee.uq.edu.au/~mesh/cgi-bin/view-list.cgi/$1 =====8<----- >Would I be able to setup the mail interface on a machine at my >place and get it to pull the data from the mail server or >wouldn't this work (ie. would a UQ firewall prevent this) ? For development we can probably find a way to get you whatever, but it's not really going to be a goer for deployment. I think the interface you're referring to is just the files on disk, so the only way for you to access those is to have the web server serve up the whole files to you (currently 50MB and 1.3MB for the data and index respectively). >What currently makes the mail store endian specific ? See the structs in src/mailt/index.h (and probably others). They are mmap()'d in from the index file and accessed directly. Thus their contents are always in machine endianness. They would need to be converted on read and write e.g. with ntohl() and friends, which also requires making them sized types. The current (lack of) type sizing is also a portability issue, although less difficult to deal with than the endianness. David has done part of the work on his leonard-dev branch, but I don't know how far he's got. I think the only other place is the reading of the index file in list/index.inc.php, which doesn't appear to be in CVS (David?). I've attached a copy. >Any specific OS that you would recommend it will compile easiest >on ? I think FreeBSD, OpenBSD, Mac OS X, Linux and Solaris all work either out of the box or with minimal Makefile hacking. David's autotools work (on leonard-dev again) should improve this further, too. >Sorry for all the questions, just trying to understand how it >all works. If I have a look at it and figure it out, then I will >also try to add more documentation. Thanks! Ian |