<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.mail.mlmmj.general">
    <title>gmane.mail.mlmmj.general</title>
    <link>http://blog.gmane.org/gmane.mail.mlmmj.general</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mlmmj.general/1366"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mlmmj.general/1365"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mlmmj.general/1364"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mlmmj.general/1357"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mlmmj.general/1354"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mlmmj.general/1341"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mlmmj.general/1340"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mlmmj.general/1337"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mlmmj.general/1334"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mlmmj.general/1324"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mlmmj.general/1321"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mlmmj.general/1316"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mlmmj.general/1302"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mlmmj.general/1301"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mlmmj.general/1298"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mlmmj.general/1280"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mlmmj.general/1269"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mlmmj.general/1268"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mlmmj.general/1260"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.mlmmj.general/1256"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mlmmj.general/1366">
    <title>List archive?</title>
    <link>http://comments.gmane.org/gmane.mail.mlmmj.general/1366</link>
    <description>&lt;pre&gt;Hello,

Is there any archive for this list? mlmmj.org/archive shows a 404.

I am tempted to send a string of mlmmj+gets...

&lt;/pre&gt;</description>
    <dc:creator>Piotr Auksztulewicz</dc:creator>
    <dc:date>2013-03-11T13:03:58</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mlmmj.general/1365">
    <title>feature: resending capability</title>
    <link>http://comments.gmane.org/gmane.mail.mlmmj.general/1365</link>
    <description>&lt;pre&gt;Hey there

I'm running several mailing lists with mlmmj and absolutely satisfied
with this great piece of software. But there is one capability that
would make me love mlmmj even more.

Theres a project where several people are involved. At the moment I'm
the only one receiving it's mail. I'd like to have all mails forwarded
to the project's mailing list to rise transparency and distribute the
burden of dealing with mail to everyone involved. The problem with just
forwarding and then cc-ing replies to outside people is that their
replies won't be directed to the list but to the sender of the original
reply.

I can think of a solution. If mlmmj parsed the mail's body and added
$external_recipient to the list of recipients if the first non-empty
body line was

X-RESEND-TO: $external_recipient

I'd be satisfied. Unfortunately my understanding of C is far from beeing
good enough to make such a change to mlmmj's code, though I can imagine
that this would just add a few lines of code while introducing a great
new use case by empowering mlmmj to act as a gateway to contact a whole
group transparently.

Is my assumption about the effort needed to introduce this feature right
and is anybody willing to invest some minutes on this?

As an alternative: Is there any way to hook a filter (script) between
the MTA and mlmmj that makes a copy of the mail and adds a Reply-To:
header or can you imagine any other solution for this that does not
involve setting up another mailing list software? Perhaps by telling my
MTA (postfix) to add the respective header line to any mail with a
certain string in the To: field.

&lt;/pre&gt;</description>
    <dc:creator>Sebastian Lipp</dc:creator>
    <dc:date>2013-03-04T14:27:12</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mlmmj.general/1364">
    <title>mlmmj, envelope address and BATV</title>
    <link>http://comments.gmane.org/gmane.mail.mlmmj.general/1364</link>
    <description>&lt;pre&gt;Hi everyone. I've posted some time ago this bug report:

   http://mlmmj.org/bugs/bug.php?id=33

along with some patches, fixing mlmmj behavior regarding the 
envelope/mail from address. I've been using these patches ever since to 
fix gmane (which I use for all my mailing lists).

Got the first complaint today from a user coming from a BATV address:

   http://en.wikipedia.org/wiki/Bounce_Address_Tag_Validation

this is news to me. As was discussed before:

   http://article.gmane.org/gmane.mail.mlmmj.general/1277

this clearly requires re-reading a whole lot of stuff now. It has been 
several years since I stopped lurking on nanae, but so far SPF/DKIM have 
been completely transparent. Doesn't seem to be the same for BATV.

ezmlm seem to have the same issue, since it processes addresses 
according to the envelope from, and not from the "From:" header. I've 
been trying to read what exactly mailman does, as mailman also uses 
(used to) to process addresses based on the envelope address, but I 
stopped because of lack of time.

The current version of mlmmj will "work" for these addresses as it will 
trust the "From:" header, but probably breaks a heap of other stuff such 
as bounce/loop detection. Apparently, trusting the From: address 
/should/ be safe whenever DKIM is being used, but this poses some 
additional problems as to where to process DKIM validation entirely (at 
the MTA level?).

I'm at loss here about what to do here (BATV is still a draft afterall), 
but I figured this would be important to discuss.



&lt;/pre&gt;</description>
    <dc:creator>Yuri D'Elia</dc:creator>
    <dc:date>2012-06-01T13:08:50</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mlmmj.general/1357">
    <title>Mlmmj 1.2.18.0 released</title>
    <link>http://comments.gmane.org/gmane.mail.mlmmj.general/1357</link>
    <description>&lt;pre&gt;Hi, everybody!

I am pleased to announce that Mlmmj 1.2.18.0 has been released. Find it
on the downloads page[1].

This version contains a number of important new features:

- Richer list texts (including a new naming scheme, conditionals,
   automatic wrapping and true UTF-8 support). See README.listtexts for
   more details.
- Notifying posters when their posts are being moderated (notifymod
   tunable).
- Not-me-too feature to avoid having the poster receiving their own
   messages (notmetoo tunable).
- Ability to explicitly reject posts (exposed in new list texts).
- Ability to explicitly obstruct subscriptions (exposed in new list
   texts).
- Unsubscribe from all versions of a list at once (changed behaviour of
   +unsubscribe[-{digest|nomail}]; they now all remove the subscriber
   from all versions of the list).
- Ability to switch between different versions of a list by using
   +subscribe[-{digest|nomail|both}] ('both' means normal and digest, and
   is a 'hidden feature' not mentioned in the supplied list texts).
- Subscription ability in php-admin.

There have also been a number of bug fixes (including fixing some bugs
which could cause mail to be lost), so everybody is encouraged to
upgrade.

The documentation has also been improved.

It is almost entirely backward-compatible. For instance, old list texts
should continue to work (though upgrading them is highly recommended, as
they have been vastly improved for this version). The main
backward-incompatible change is that unsubscribe will now remove a user
from all versions of the list, not just one (no matter which unsubscribe
address is used). Users of the php-admin interface will also need to
modify their configuration files to define $confdir.

(See the ChangeLog[2] for a more detailed list of changes.)

I hope you enjoy the new version.

Ben.



[1] http://mlmmj.org/downloads
[2] http://mlmmj.org/hg/mlmmj/file/RELEASE_1_2_18_0/ChangeLog






&lt;/pre&gt;</description>
    <dc:creator>Ben Schmidt</dc:creator>
    <dc:date>2012-05-29T14:14:38</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mlmmj.general/1354">
    <title>make mlmmj silent about delivery problems</title>
    <link>http://comments.gmane.org/gmane.mail.mlmmj.general/1354</link>
    <description>&lt;pre&gt;Hello list

I asked this question some time ago, but never concluded anything (And i don't know how to reply to the old thread since it is not in my inbox anymore, I will just add a link to the archive, hope thats ok:) ) http://mlmmj.org/archive/mlmmj/2011-06/1993.html

Anyways.

We are using mlmmj as for sending newsletters, lots of users, more than 10k.

sometimes the are problems delivering messages to some user. of course this is bad. However, we would prefer that the users users does not get any "some messaged could not be delivered. If you see this things are back to normal." mails.

Last time, ben asked be to look into the last bounce something, I did that, and apparently there had ben some problems at the users ISP end... 

I would prefer, that mlmmj didn't inform the users that there are problems, the mails are not so important that skipping a few will do any harm, where as informing the user that there was technical problems that they otherwise wouldn't know about, makes them sad and or angry...

In other words, the illusion that everything works must be kept for our subscribers.

/Christian&lt;/pre&gt;</description>
    <dc:creator>Christian</dc:creator>
    <dc:date>2012-05-13T22:33:35</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mlmmj.general/1341">
    <title>mlmmj and spf</title>
    <link>http://comments.gmane.org/gmane.mail.mlmmj.general/1341</link>
    <description>&lt;pre&gt;Dear list members,

We operate a small, closed, moderated mailing list that recently stopped 
working for a large part of its subscribers. The organization of which 
these subscribers are a member maintains an SPF record which denies 
access to all servers except a named few, which seems to be the cause of 
these problems.

As a work-around I set mlmmj to use a different from address in the 
"From:" header. This solution is, however, plainly bad as it removes the 
original sender from the headers. I have seen other lists use "Sender:" 
header, but results are a mixed bag. With strict SPF checking of the 
"From:" header in place these mails also don't pass.

What would be the correct solution?

any help, pointers greatly appreciated.

regards, Theo





&lt;/pre&gt;</description>
    <dc:creator>theo borm</dc:creator>
    <dc:date>2012-05-11T11:41:27</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mlmmj.general/1340">
    <title>Mlmmj 1.2.18rc1 published</title>
    <link>http://comments.gmane.org/gmane.mail.mlmmj.general/1340</link>
    <description>&lt;pre&gt;Hi, everybody!

A release candidate for Mlmmj 1.2.18.0 has been published. Find it on
the downloads page[1]. Please test it as much and as soon as possible
and report bugs using our bug tracker[2] or here on the discussion
mailing list. Also please report successes to help gain confidence in
the quality of the code. I anticipate publishing a release in a couple
of weeks if no major bugs are found.

This version contains a number of important new features:

- Richer list texts (including a new naming scheme, conditionals,
   automatic wrapping and true UTF-8 support).
- Notifying posters when their posts are being moderated.
- Not-me-too feature to avoid having the poster receiving their own
   messages.
- Ability to explicitly reject posts.
- Ability to explicitly obstruct subscriptions.
- Unsubscribe from all versions of a list at once.
- Ability to switch between different versions of a list by using
   +subscribe[-{digest|nomail|both}] ('both' means normal and digest, and
   is a 'hidden feature').
- A number of bug fixes (including fixing some bugs which could cause
   mail to be lost).
- Improved documentation.

(See the ChangeLog[3] for a more detailed list of changes.)

It is almost entirely backward-compatible. For instance, old list texts
should continue to work. The main backward-incompatible change is that
unsubscribe will now remove a user from all versions of the list, not
just one (no matter which unsubscribe address is used). Users of the
php-admin interface will also need to modify their configuration files
to define $confdir.

All code changes have been reviewed and undergone a fair amount of
testing, however the program could do with some more testing before
release. Any help with this, and all reports of success or failure, will
be greatly appreciated.

Ben.



[1] http://mlmmj.org/downloads
[2] http://mlmmj.org/bugs
[3] http://mlmmj.org/hg/mlmmj/file/RELEASE_1_2_18rc1/ChangeLog



&lt;/pre&gt;</description>
    <dc:creator>Ben Schmidt</dc:creator>
    <dc:date>2012-05-03T00:37:23</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mlmmj.general/1337">
    <title>&lt;listname&gt;+get-&lt;N&gt;&lt; at &gt;&lt;host&gt;: index from most recent message?</title>
    <link>http://comments.gmane.org/gmane.mail.mlmmj.general/1337</link>
    <description>&lt;pre&gt;Hi,

The &amp;lt;listname&amp;gt;+get-&amp;lt;N&amp;gt;&amp;lt; at &amp;gt;&amp;lt;host&amp;gt; syntax allows you to retrieve messages
from the archives.  However, lists are indexed in the order they were
received, so message 1 is the oldest.  I joined another mailing list
recently where I wanted to respond to a message posted to the list
earlier that day.  If it had been a mlmmj list, how would I retrieve
that message to reply?  I think there should either be a new command
(&amp;lt;listname&amp;gt;+total&amp;lt; at &amp;gt;&amp;lt;host&amp;gt; ?) that returns the index of the most recent
message, or an alternate syntax (&amp;lt;listname&amp;gt;+get+&amp;lt;N&amp;gt;&amp;lt; at &amp;gt;&amp;lt;host&amp;gt; ?) that
returns messages indexed from the most recent.

On the other hand, perhaps I'm just not thinking of this the right way
;).

Thanks,
Trevor

&lt;/pre&gt;</description>
    <dc:creator>W. Trevor King</dc:creator>
    <dc:date>2012-04-17T18:54:46</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mlmmj.general/1334">
    <title>upgrade woes</title>
    <link>http://comments.gmane.org/gmane.mail.mlmmj.general/1334</link>
    <description>&lt;pre&gt;Hi folks,

I run two mlmmj mailing lists.  One of them called "table" is moderated, one isn't.  In upgrading my Debian Linux box, I forgot that upgrading mlmmj would happen automatically, and it upgraded to Debian package 1.2.17-2 (on squeeze).  Whoops.  Whatever happened in the upgrade, the unmoderated list still seems to work, but the moderated "table" list now sends emails to the moderator with blank payloads:


If the moderator approves the post as a test, then the unmolested email will go out to the mailing list, but he can't see what he's moderating.

Any thoughts on what it might be?  I searched for subjects with "blank" and "empty" in them in the mailing list, but I couldn't find any likely hits.

Thanks so much for your help!

=-ddt-&amp;gt;




&lt;/pre&gt;</description>
    <dc:creator>Dave Taylor</dc:creator>
    <dc:date>2012-04-01T23:41:07</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mlmmj.general/1324">
    <title>deleting posts from archive</title>
    <link>http://comments.gmane.org/gmane.mail.mlmmj.general/1324</link>
    <description>&lt;pre&gt;Hello,

what is the recommended way of deleting posts from the archive?
Someone sent sensible data to a public mailing list and wants it to be
purged from the archive. Can I simply delete the respective message ID
from the folder, or will this confuse mlmmj?

Thanks,
Florian



&lt;/pre&gt;</description>
    <dc:creator>Florian Effenberger</dc:creator>
    <dc:date>2012-03-16T09:04:18</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mlmmj.general/1321">
    <title>How to disable bounce probes</title>
    <link>http://comments.gmane.org/gmane.mail.mlmmj.general/1321</link>
    <description>&lt;pre&gt;Hello,

Is it possible to disable mlmmj bounce probe feature ?

I have an open mailing list (anybody can post), receiving lot of spam.
This list is more like an alias (as in /etc/aliases), with multiple
destinations, but it's convenient for me to have it managed by mlmmj.

Those spams are deleted by the subscribers antispams, however, mlmmj
receives bounces, and send bounce probes to check, I guess, that the
subscriber is active.

So my users are receiving the following.
Question : is it possible to disable bounce probes ?

"
Some messages to you could not be delivered. If you're seeing this
message it means things are back to normal, and it's merely for your
information.

Here is the list of the bounced messages:
"

Thanks in advance,
Marc
&lt;/pre&gt;</description>
    <dc:creator>Marc MAURICE</dc:creator>
    <dc:date>2012-03-15T21:12:19</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mlmmj.general/1316">
    <title>Mlmmj 1.2.18a1 released</title>
    <link>http://comments.gmane.org/gmane.mail.mlmmj.general/1316</link>
    <description>&lt;pre&gt;An alpha release for the upcoming Mlmmj 1.2.18 has been published. Find
it on the downloads page[1]. Please help test it if you can and report
bugs using our bug tracker[2] or here on the discussion mailing list.
Also please report successes to help gain confidence in the quality of
the code. Please also contact me (the maintainer, Ben Schmidt) if you
can help with code review.

This version contains a number of important new features:

- Richer list texts (including a new naming scheme, conditionals,
   automatic wrapping and true UTF-8 support).
- Notifying posters when their posts are being moderated.
- Not-me-too feature to avoid having the poster receiving their own
   messages.
- Ability to explicitly reject posts.
- Ability to explicitly obstruct subscriptions.
- Unsubscribe from all versions of a list at once.
- Ability to switch between different versions of a list by using
   +subscribe[-{digest|nomail|both}] ('both' means normal and digest, and
   is a 'hidden feature').
- A number of bug fixes (including fixing some bugs which could cause
   mail to be lost).
- Improved documentation.

(See the ChangeLog[3] for a more detailed list of changes.)

It is almost entirely backward-compatible. For instance, old list texts
should continue to work. The main backward-incompatible change is that
unsubscribe will now remove a user from all versions of the list, not
just one (no matter which unsubscribe address is used).

It has only been minimally tested and not all changes have been reviewed
yet, so there will probably be some bugs, possibly some nasty ones,
waiting to be found. Any and all help with code review and testing will
be greatly appreciated.

Following further code review and testing, a beta version and/or release
candidate will be published.

Ben.



[1] http://mlmmj.org/downloads
[2] http://mlmmj.org/bugs
[3] mlmmj.org/hg/mlmmj/file/RELEASE_1_2_18a1/ChangeLog






&lt;/pre&gt;</description>
    <dc:creator>Ben Schmidt</dc:creator>
    <dc:date>2012-03-12T17:30:33</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mlmmj.general/1302">
    <title>Subscribers management in php-admin</title>
    <link>http://comments.gmane.org/gmane.mail.mlmmj.general/1302</link>
    <description>&lt;pre&gt;Hello mlmmj team,

Here is a patch I made to add simple subscribers management in the 
php-admin interface.

I added some lines in php-admin README file in order to fix some 
permission issues. Those issues might also
be relevant for the perl version.

I also suggest you to add a log_error line in subscriberfuncs.c. Without 
it we have no clue about what is wrong when mlmmj is not able to read 
subdir files.

Feel free to adapt my patch if needed.

Thanks for providing mlmmj to us !

Regards,
Marc
diff -r 3168aed4b01a contrib/web/php-admin/README
--- a/contrib/web/php-admin/READMEWed Feb 22 00:11:07 2012 +1100
+++ b/contrib/web/php-admin/READMEMon Feb 27 22:41:56 2012 +0100
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -22,8 +22,19 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
    you need to create a group (eg. mlmmj) and add both users to it. The
    subscribers.d directory then needs to be writable by that group:
 
+     # addgroup mlmmj
+     # adduser wwwrun mlmmj
+     # adduser mailuser mlmmj
      # chgrp -R mlmmj /var/spool/mlmmj/mlmmj-test/subscribers.d/
      # chmod -R g+w /var/spool/mlmmj/mlmmj-test/subscribers.d/
+     # chmod g+s /var/spool/mlmmj/mlmmj-test/subscribers.d/
+
+   setgid flag is needed when the webserver calls mlmmj-sub and creates a file
+   under subscribers.d, to keep the mlmmj group.
+
+   If using the Exim mailserver, you should add initgroups = true in your
+   mlmmj_transport, otherwise it won't be able to write files having write
+   permission to mlmmj group.
 
 5) To enable access control on Apache you have to rename dot.htaccess to
    .htaccess and edit the path inside the file to point to a htpasswd file
diff -r 3168aed4b01a contrib/web/php-admin/htdocs/index.php
--- a/contrib/web/php-admin/htdocs/index.phpWed Feb 22 00:11:07 2012 +1100
+++ b/contrib/web/php-admin/htdocs/index.phpMon Feb 27 22:41:56 2012 +0100
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -35,15 +35,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 $lists = "";
 
-$dir = opendir($topdir);
-while ($file = readdir($dir)) {
+# use scandir to have alphabetical order
+foreach (scandir($topdir) as $file) {
     if (!ereg("^\.",$file))
     {
-$lists .= "&amp;lt;a href=\"edit.php?list=".urlencode($file)."\"&amp;gt;".
-    htmlentities($file)."&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;\n";
+$lists .= "&amp;lt;p&amp;gt;".htmlentities($file)."&amp;lt;br/&amp;gt;
+&amp;lt;a href=\"edit.php?list=".urlencode($file)."\"&amp;gt;Config&amp;lt;/a&amp;gt; - &amp;lt;a href=\"subscribers.php?list=".urlencode($file)."\"&amp;gt;Subscribers&amp;lt;/a&amp;gt;
+&amp;lt;/p&amp;gt;
+";
     }
 }
-closedir($dir); 
 
 $tpl-&amp;gt;assign(array("LISTS" =&amp;gt; $lists));
 
diff -r 3168aed4b01a contrib/web/php-admin/htdocs/subscribers.php
--- /dev/nullThu Jan 01 00:00:00 1970 +0000
+++ b/contrib/web/php-admin/htdocs/subscribers.phpMon Feb 27 22:41:56 2012 +0100
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,86 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+&amp;lt;?php
+
+# show errors like permission denied...
+ini_set('display_errors',1);
+
+require(dirname(dirname(__FILE__))."/conf/config.php");
+require(dirname(__FILE__)."/class.rFastTemplate.php");
+
+$tpl = new rFastTemplate($templatedir);
+
+# get the list parameter and check that list exists
+$list = $_GET["list"];
+
+if(!isset($list))
+die("no list specified");
+
+if (dirname(realpath($topdir."/".$list)) != realpath($topdir))
+die("list outside topdir");
+
+if(!is_dir($topdir."/".$list))
+die("non-existent list");
+
+# this will be displayed on the to of the page
+$message = "";
+
+# subscribe some people if tosubscribe is set
+if (isset($_POST["tosubscribe"])) {
+
+foreach (preg_split('/\r\n|\n|\r/', $_POST["tosubscribe"]) as $line) {
+$email = trim($line);
+if ($email != "") {
+$cmd = "/usr/bin/mlmmj-sub -L /var/spool/mlmmj/$list -a '$email' 2&amp;gt;&amp;amp;1";
+exec($cmd, $out, $ret);
+if ($ret !== 0) {
+$message.= "Subscribe error for $email &amp;lt;!--cmd=$cmd out=".implode($out)." ret=$ret--&amp;gt; &amp;lt;br/&amp;gt;";
+}
+}
+
+}
+
+# delete some people if delete is set
+} else if (isset($_POST["delete"])) {
+
+$email = $_POST["email"];
+$cmd = "/usr/bin/mlmmj-unsub -L /var/spool/mlmmj/$list -a '$email' 2&amp;gt;&amp;amp;1";
+exec($cmd, $out, $ret);
+if ($ret !== 0) {
+$message = "Unsubscribe error. cmd=$cmd out=".implode($out)." ret=$ret";
+}
+}
+
+$subscribers="";
+
+# get subscribers from mlmmj
+$cmd = "/usr/bin/mlmmj-list -L /var/spool/mlmmj/$list 2&amp;gt;&amp;amp;1";
+exec($cmd, $out, $ret);
+if ($ret !== 0) {
+$message.= "Error: Could not get subscribers list.";
+}
+
+foreach ($out as $email) {
+$email = trim($email);
+
+$form = "&amp;lt;form action=\"subscribers.php?list=$list\" method=\"post\" style=\"margin: 0; margin-left: 1em\"&amp;gt;";
+$form.= "&amp;lt;input type=\"hidden\" name=\"email\" value=\"".htmlspecialchars($email)."\" /&amp;gt;";
+$form.= "&amp;lt;input type=\"submit\" name=\"delete\" value=\"Remove\" /&amp;gt;";
+$form.= "&amp;lt;/form&amp;gt;";
+
+$subscribers.= "&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;".htmlspecialchars($email)."&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$form&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;\n";
+}
+
+if ($subscribers === "") {
+$subscribers = "&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;This list is empty.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;\n";
+}
+
+# set template vars
+$tpl-&amp;gt;define(array("main" =&amp;gt; "subscribers.html"));
+
+$tpl-&amp;gt;assign(array("LIST" =&amp;gt; $list));
+$tpl-&amp;gt;assign(array("MESSAGE" =&amp;gt; "&amp;lt;/p&amp;gt;$message&amp;lt;/p&amp;gt;"));
+$tpl-&amp;gt;assign(array("SUBS" =&amp;gt; $subscribers));
+
+$tpl-&amp;gt;parse("MAIN","main");
+$tpl-&amp;gt;FastPrint("MAIN");
+
+?&amp;gt;
diff -r 3168aed4b01a contrib/web/php-admin/templates/subscribers.html
--- /dev/nullThu Jan 01 00:00:00 1970 +0000
+++ b/contrib/web/php-admin/templates/subscribers.htmlMon Feb 27 22:41:56 2012 +0100
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,38 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+&amp;lt;html&amp;gt;
+&amp;lt;head&amp;gt;
+&amp;lt;title&amp;gt;mlmmj - {LIST} subscribers&amp;lt;/title&amp;gt;
+&amp;lt;style type="text/css"&amp;gt;
+#subscribers {
+float: left;
+}
+
+#addsubscribers {
+        float: left;
+margin-left: 2em;
+}
+#index {
+clear: both;
+}
+&amp;lt;/style&amp;gt;
+&amp;lt;/head&amp;gt;
+&amp;lt;body&amp;gt;
+&amp;lt;h1&amp;gt;{LIST} subscribers&amp;lt;/h1&amp;gt;
+
+{MESSAGE}
+
+&amp;lt;table id="subscribers"&amp;gt;
+{SUBS}
+&amp;lt;/table&amp;gt;
+
+&amp;lt;form method="post" action="subscribers.php?list={LIST}" id="addsubscribers"&amp;gt;
+Add subscribers:&amp;lt;br/&amp;gt;
+&amp;lt;textarea name="tosubscribe" rows="5" cols="30"&amp;gt;
+&amp;lt;/textarea&amp;gt;&amp;lt;br/&amp;gt;
+&amp;lt;input type="submit" name="submit" value="Add" /&amp;gt;
+&amp;lt;/form&amp;gt;
+
+&amp;lt;p id="index"&amp;gt;
+&amp;lt;a href="index.php"&amp;gt;Index&amp;lt;/a&amp;gt;
+&amp;lt;/p&amp;gt;
+&amp;lt;/body&amp;gt;
+&amp;lt;/html&amp;gt;
diff -r 3168aed4b01a src/subscriberfuncs.c
--- a/src/subscriberfuncs.cWed Feb 22 00:11:07 2012 +1100
+++ b/src/subscriberfuncs.cMon Feb 27 22:41:56 2012 +0100
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -132,6 +132,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 subreadname = concatstr(2, subddirname, dp-&amp;gt;d_name);
 subread = open(subreadname, O_RDONLY);
 if(subread &amp;lt; 0) {
+                log_error(LOG_ARGS, "Could not open %s", subreadname);
 myfree(subreadname);
 continue;
 }
&lt;/pre&gt;</description>
    <dc:creator>Marc MAURICE</dc:creator>
    <dc:date>2012-02-27T21:50:31</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mlmmj.general/1301">
    <title>Premature push deleted</title>
    <link>http://comments.gmane.org/gmane.mail.mlmmj.general/1301</link>
    <description>&lt;pre&gt;Hi, team,

I'm afraid I pushed prematurely a couple of days ago. Since I don't think anyone 
is following the codebase *too* closely, I have simply removed the offending 
commits; they can be considered an abandoned branch of development. If you have 
pulled in the last couple of days, please strip the changesets from your 
repository/rebase any changes you have made onto the new head. A more solid 
changeset should appear shortly (and then an alpha release as I work through more 
testing and code review).

Ben.






&lt;/pre&gt;</description>
    <dc:creator>Ben Schmidt</dc:creator>
    <dc:date>2012-02-21T17:00:34</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mlmmj.general/1298">
    <title>ezmlm to mlmmj migration - messages</title>
    <link>http://comments.gmane.org/gmane.mail.mlmmj.general/1298</link>
    <description>&lt;pre&gt;hello folks, 

as the subject already tells I want to migrate from ezmlm (-idx) to
mlmmj. 
I do not worry about the subscribers/moderators (there was an thread on
that already) but about the archived mailing list messages. I need them
within mlmmj, taken from ezmlm archive(s). 

Some questions that poped up, other suggestions welcome, too!
1) Has anyone already done it? How?
2) Is the message storage just the plain message in mlmmj as it appears
   to be in ezmlm?
3) Is there a way to re-index messages just copied from ezmlm-archive to
   mlmmj? (depends on the answers to 2)
4) Worst case scenario: request messages from ezmlm with the address
   (MAIL FROM:) of the mlmmj mailing list. Does that sound feasible?

Any pointers welcome, thanks in advance, 

Marcus



&lt;/pre&gt;</description>
    <dc:creator>MERIGHI Marcus</dc:creator>
    <dc:date>2012-02-18T12:45:38</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mlmmj.general/1280">
    <title>mlmmj-recieve -&gt; mlmmj-receive</title>
    <link>http://comments.gmane.org/gmane.mail.mlmmj.general/1280</link>
    <description>&lt;pre&gt;Hi,

Is there a plan to rename mlmmj-recieve as mlmmj-receive, as it should?
IMHO, that'd be a good thing to fix this typo. There's many way to have
a transition, one of them would be to have a symlink for few years, then
remove the old one later on, once everyone had enough time to fix their
setup (or keep the old one forever, I don't mind that, I just mind that
someone would type it without the spelling mistake and fail to
understand what happens...).

Thoughts?

Thomas



&lt;/pre&gt;</description>
    <dc:creator>Thomas Goirand</dc:creator>
    <dc:date>2012-01-22T18:59:55</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mlmmj.general/1269">
    <title>[patch] man page fixes</title>
    <link>http://comments.gmane.org/gmane.mail.mlmmj.general/1269</link>
    <description>&lt;pre&gt;Hi,

Please also apply these man page fixes. I'm currently adding this patch
in the Debian packaging to reduce lintian warnings which are quite
annoying me when working on MLMMJ: too many warnings, and I wont see
anything... By the way, hyphen-as-minus use are breaking groff
indentation, so it's a good thing to fix them.

Cheers,

Thomas Goirand (zigo)
&lt;/pre&gt;</description>
    <dc:creator>Thomas Goirand</dc:creator>
    <dc:date>2012-01-22T09:08:52</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mlmmj.general/1268">
    <title>[patch] Remove bashism from src/mlmmj-make-ml.sh.in</title>
    <link>http://comments.gmane.org/gmane.mail.mlmmj.general/1268</link>
    <description>&lt;pre&gt;Hi,

src/mlmmj-make-ml.sh.in declares it uses sh and not bash, but it has
bashism which may fail if dash is the default implementation for sh
(which is the case now in both Debian and Ubuntu).

Please apply the attached patch which removes bashism in
src/mlmmj-make-ml.sh.in. I've been carrying this patch for too long, and
I'd like to have it removed from the debian/patches folder for the next
release of MLMMJ.

Thanks,

Thomas Goirand (zigo)
&lt;/pre&gt;</description>
    <dc:creator>Thomas Goirand</dc:creator>
    <dc:date>2012-01-22T07:52:20</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mlmmj.general/1260">
    <title>Add Suscribers</title>
    <link>http://comments.gmane.org/gmane.mail.mlmmj.general/1260</link>
    <description>&lt;pre&gt;Please can someone help.  I may be using mimmj in the near future and
have osme questions.  I need to be able to subscribe/unsubscribe users
vie email.  For example set an email to 

 

Mlmmj+subscribe-IrPigkPjf+DYtjvyW6yDsg&amp;lt; at &amp;gt;public.gmane.org

 

With a body that has a bunch of emails to add.

 

Can this be done?

 

Thanks

Cody

&lt;/pre&gt;</description>
    <dc:creator>Cody Moreshead</dc:creator>
    <dc:date>2012-01-17T20:47:39</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mlmmj.general/1256">
    <title>Code review request</title>
    <link>http://comments.gmane.org/gmane.mail.mlmmj.general/1256</link>
    <description>&lt;pre&gt;Hi, everyone,

I am working towards implementing everything necessary for the new list
texts and publishing an alpha or beta release, hopefully late this
month.

As always, code review is worthwhile, and there are a number of
changesets now ready for review. If you're a competent C coder, I'd love
it if you'd take a look and send me any comments, or just give the
changeset a thumbs up. Preferably do this on the list so others know the
changeset has been reviewed and we don't duplicate work. Be sure to
state explicitly which changeset you are referring to in your reply.

- http://mlmmj.org/hg/mlmmj/rev/0f9082bde7ef
- http://mlmmj.org/hg/mlmmj/rev/43979253cf97
- http://mlmmj.org/hg/mlmmj/rev/255d277b37db
- http://mlmmj.org/hg/mlmmj/rev/c9237f9a3465
- http://mlmmj.org/hg/mlmmj/rev/5dc52f70e76b
- http://mlmmj.org/hg/mlmmj/rev/8479195595af

Note that I am trialling having diff ignore whitespace changes when
viewing the changesets online, so indentation changes won't appear. I
think this will make some changesets easier to review.

Thanks in advance,

Ben.






&lt;/pre&gt;</description>
    <dc:creator>Ben Schmidt</dc:creator>
    <dc:date>2012-01-16T15:10:18</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.mlmmj.general/1253">
    <title>Stripping changesets from listtexts hg repo</title>
    <link>http://comments.gmane.org/gmane.mail.mlmmj.general/1253</link>
    <description>&lt;pre&gt;Hi,

Just a note to say I have stripped a couple of changesets from the listtexts hg 
repository. If anybody has pulled those changesets (which were only there for a 
few hours), please strip them from yours also. The reason is that I included the 
email addresses of contributors in the log message and they appeared unobfuscated 
in the web interface, which I'm not happy with.

Ben.






&lt;/pre&gt;</description>
    <dc:creator>Ben Schmidt</dc:creator>
    <dc:date>2011-10-10T09:29:16</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.mail.mlmmj.general">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.mail.mlmmj.general</link>
  </textinput>
</rdf:RDF>
