[Evolvis-commits] r297: Added mailing-lists support. They should work. ↵ ↵ We do it by adding a new mailingList entry type in the LDAP directory , ↵ and then exporting the relevant data into it (that' s sql2ldif.pl' s↵ job ) after having actually created them in Mailman (that' s↵ create-mailing-lists .pl's job). All this is triggered by a crontab. ↵
mirabilos at evolvis.org
mirabilos at evolvis.org
Thu Feb 25 14:14:53 CET 2010
Author: mirabilos
Date: 2010-02-25 13:14:53 +0000 (Thu, 25 Feb 2010)
New Revision: 297
Added:
trunk/gforge_base/evolvisforge/gforge/deb-specific/create-mailing-lists.pl
Modified:
trunk/gforge_base/evolvisforge/
trunk/gforge_base/evolvisforge/gforge/deb-specific/install-exim.sh
trunk/gforge_base/evolvisforge/gforge/deb-specific/sf-httpd.conf.template
trunk/gforge_base/evolvisforge/gforge/deb-specific/sourceforge.schema
trunk/gforge_base/evolvisforge/gforge/debian/changelog
trunk/gforge_base/evolvisforge/gforge/debian/rules
trunk/gforge_base/evolvisforge/gforge/debian/sourceforge.cron.d
trunk/gforge_base/evolvisforge/gforge/utils/sql2ldif.pl
Log:
Added mailing-lists support. They should work.
We do it by adding a new mailingList entry type in the LDAP directory,
and then exporting the relevant data into it (that's sql2ldif.pl's
job) after having actually created them in Mailman (that's
create-mailing-lists.pl's job). All this is triggered by a crontab.
Property changes on: trunk/gforge_base/evolvisforge
___________________________________________________________________
Name: bzr:revision-info
- timestamp: 2001-09-14 19:31:32.000000000 +0000
committer: lo-lan-do
+ timestamp: 2001-09-14 19:34:48.000000000 +0000
committer: lo-lan-do
Name: bzr:file-ids
- gforge/debian/sourceforge.postinst 7 at 9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk%2Fgforge%2Fdebian%2Fsourceforge.postinst
+ gforge/deb-specific/create-mailing-lists.pl 68 at 9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk%2Fgforge%2Fdeb-specific%2Fcreate-mailing-lists.pl
gforge/deb-specific/install-exim.sh 54 at 9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk%2Fgforge%2Fdeb-specific%2Finstall-exim.sh
gforge/deb-specific/sf-httpd.conf.template 7 at 9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk%2Fgforge%2Fdeb-specific%2Fsf-httpd.conf.template
gforge/deb-specific/sourceforge.schema 7 at 9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk%2Fgforge%2Fdeb-specific%2Fsourceforge.schema
gforge/debian/changelog 7 at 9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk%2Fgforge%2Fdebian%2Fchangelog
gforge/debian/rules 7 at 9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk%2Fgforge%2Fdebian%2Frules
gforge/debian/sourceforge.cron.d 7 at 9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk%2Fgforge%2Fdebian%2Fsourceforge.cron.d
gforge/utils/sql2ldif.pl 2 at 9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk%2Fgforge%2Futils%2Fsql2ldif.pl
Name: bzr:revision-id:v4
- 1 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:1
2 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:2
3 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:7
4 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:9
5 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:10
6 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:11
7 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:12
8 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:13
9 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:14
10 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:15
11 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:16
12 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:17
13 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:18
14 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:19
15 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:20
16 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:21
17 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:22
18 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:23
19 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:24
20 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:25
21 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:26
22 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:27
23 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:28
24 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:29
25 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:30
26 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:31
27 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:32
28 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:33
29 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:34
30 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:35
31 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:36
32 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:37
33 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:38
34 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:39
35 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:40
36 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:41
37 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:42
38 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:43
39 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:44
40 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:45
41 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:46
42 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:47
43 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:48
44 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:49
45 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:50
46 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:51
47 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:52
48 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:53
49 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:54
50 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:55
51 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:56
52 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:57
53 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:58
54 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:59
55 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:60
56 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:61
57 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:62
58 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:63
59 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:64
60 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:65
61 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:66
62 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:67
+ 1 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:1
2 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:2
3 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:7
4 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:9
5 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:10
6 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:11
7 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:12
8 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:13
9 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:14
10 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:15
11 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:16
12 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:17
13 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:18
14 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:19
15 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:20
16 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:21
17 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:22
18 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:23
19 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:24
20 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:25
21 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:26
22 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:27
23 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:28
24 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:29
25 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:30
26 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:31
27 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:32
28 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:33
29 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:34
30 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:35
31 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:36
32 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:37
33 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:38
34 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:39
35 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:40
36 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:41
37 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:42
38 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:43
39 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:44
40 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:45
41 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:46
42 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:47
43 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:48
44 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:49
45 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:50
46 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:51
47 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:52
48 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:53
49 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:54
50 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:55
51 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:56
52 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:57
53 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:58
54 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:59
55 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:60
56 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:61
57 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:62
58 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:63
59 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:64
60 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:65
61 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:66
62 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:67
63 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:68
Name: bzr:text-parents
- gforge/debian/sourceforge.postinst svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:56
+ gforge/deb-specific/install-exim.sh svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:66
gforge/deb-specific/sf-httpd.conf.template svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:29
gforge/deb-specific/sourceforge.schema svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:66
gforge/debian/changelog svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:64
gforge/debian/rules svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:54
gforge/debian/sourceforge.cron.d svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:7
gforge/utils/sql2ldif.pl svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:50
Added: trunk/gforge_base/evolvisforge/gforge/deb-specific/create-mailing-lists.pl
===================================================================
--- trunk/gforge_base/evolvisforge/gforge/deb-specific/create-mailing-lists.pl (rev 0)
+++ trunk/gforge_base/evolvisforge/gforge/deb-specific/create-mailing-lists.pl 2010-02-25 13:14:53 UTC (rev 297)
@@ -0,0 +1,104 @@
+#!/usr/bin/perl -w
+#
+# $Id$
+#
+# Create the mailing-lists from the database
+# Roland Mas, debian-sf (Sourceforge for Debian)
+
+use DBI ;
+use strict ;
+use diagnostics ;
+use File::Temp qw/ :mktemp /;
+
+use vars qw/ $dbh $sys_lists_host $domain_name / ;
+
+use vars qw// ;
+
+sub debug ( $ ) ;
+
+require ("/usr/lib/sourceforge/lib/include.pl") ; # Include all the predefined functions
+require ("/etc/sourceforge/local.pl") ;
+
+&db_connect ;
+
+$dbh->{AutoCommit} = 0;
+$dbh->{RaiseError} = 1;
+eval {
+ my ($query, $sth, @array, @lines, $line) ;
+
+ $query = "SELECT mail_group_list.group_list_id,
+ mail_group_list.list_name,
+ users.user_name,
+ mail_group_list.password,
+ mail_group_list.description
+ FROM mail_group_list, users
+ WHERE mail_group_list.status = 1
+ AND mail_group_list.list_admin = users.user_id" ; # Status = 1: list just created on the website
+ $sth = $dbh->prepare ($query) ;
+ $sth->execute () ;
+ while (my @myarray = $sth->fetchrow_array ()) {
+ push @lines, \@myarray ;
+ }
+ $sth->finish () ;
+
+ foreach $line (@lines) {
+ @array = @{$line} ;
+ my ($group_list_id, $listname, $user_name, $password, $description) ;
+ my ($tmp) ;
+
+ ($group_list_id, $listname, $user_name, $password, $description)= @array ;
+ my $cmd = "/usr/sbin/newlist -q $listname $user_name\@users.$domain_name $password >/dev/null 2>&1" ;
+ #print "cmd = <$cmd>\n" ;
+ system ($cmd) ;
+
+ $query = "UPDATE mail_group_list SET status = 2 where group_list_id = group_list_id" ; # Status = 2: list created on Mailman
+ $sth = $dbh->prepare ($query) ;
+ $sth->execute () ;
+ $sth->finish () ;
+
+ $tmp = mktemp ("/tmp/XXXXXX") ;
+ $cmd = "/usr/lib/mailman/bin/config_list -o $tmp $listname" ;
+ #print "cmd = <$cmd>\n" ;
+ system ($cmd) ;
+ open CONFIG, ">>$tmp" ;
+ print CONFIG "description = '$description'\n" ;
+ print CONFIG "host_name = '$sys_lists_host'\n" ;
+ print CONFIG "web_page_url = 'http://$sys_lists_host/cgi-bin/mailman/'\n" ;
+ close CONFIG ;
+ $cmd = "/usr/lib/mailman/bin/config_list -i $tmp $listname" ;
+ #print "cmd = <$cmd>\n" ;
+ system ($cmd) ;
+ unlink $tmp ;
+
+ $query = "UPDATE mail_group_list SET status = 3 where group_list_id = group_list_id" ; # Status = 3: list configured on Mailman
+ $sth = $dbh->prepare ($query) ;
+ $sth->execute () ;
+ $sth->finish () ;
+
+ #debug "Committing." ;
+ $dbh->commit () ;
+ }
+
+ # There should be a commit at the end of every block above.
+ # If there is not, then it might be symptomatic of a problem.
+ # For safety, we roll back.
+ $dbh->rollback ();
+};
+
+if ($@) {
+ warn "Transaction aborted because $@" ;
+ debug "Transaction aborted because $@" ;
+ $dbh->rollback ;
+ debug "Please report this bug on the Debian bug-tracking system." ;
+ debug "Please include the previous messages as well to help debugging." ;
+ exit 1 ;
+}
+
+$dbh->rollback ;
+$dbh->disconnect ;
+
+sub debug ( $ ) {
+ my $v = shift ;
+ chomp $v ;
+ print STDERR "$v\n" ;
+}
Property changes on: trunk/gforge_base/evolvisforge/gforge/deb-specific/create-mailing-lists.pl
___________________________________________________________________
Name: svn:executable
+ *
Modified: trunk/gforge_base/evolvisforge/gforge/deb-specific/install-exim.sh
===================================================================
--- trunk/gforge_base/evolvisforge/gforge/deb-specific/install-exim.sh 2010-02-25 13:14:49 UTC (rev 296)
+++ trunk/gforge_base/evolvisforge/gforge/deb-specific/install-exim.sh 2010-02-25 13:14:53 UTC (rev 297)
@@ -55,43 +55,35 @@
user = nobody
group = nogroup
-#forward_for_lists:
-# domains = $sys_lists_host
-# driver = aliasfile
-# file_transport = address_file
-# pipe_transport = address_pipe
-# query = "select \'|/usr/lib/mailman/mail/wrapper post \'||list_name
-# from mail_group_list where list_name = \'$local_part\'"
-# search_type = pgsql
-# user=root
-# group=root
-#
-#forward_for_lists_admin:
-# domains = $sys_lists_host
-# driver = aliasfile
-# file_transport = address_file
-# pipe_transport = address_pipe
-# query = "select \'|/usr/lib/mailman/mail/wrapper mailowner \'||list_name
-# from mail_group_list where list_name =
-# substring(\'$local_part\' for (octet_length(\'$local_part\')-6)) and
-# substring(\'$local_part\' from (octet_length(\'$local_part\')-5)) = \'-admin\'"
-# search_type = pgsql
-# user=root
-# group=root
-#
-#forward_for_lists_request:
-# domains = $sys_lists_host
-# driver = aliasfile
-# file_transport = address_file
-# pipe_transport = address_pipe
-# query = "select \'|/usr/lib/mailman/mail/wrapper mailcmd \'||list_name
-# from mail_group_list where list_name =
-# substring(\'$local_part\' for (octet_length(\'$local_part\')-8)) and
-# substring(\'$local_part\' from (octet_length(\'$local_part\')-7)) = \'-request\'"
-# search_type = pgsql
-# user=root
-# group=root
-## END SOURCEFORGE BLOCK #
+forward_for_sourceforge_lists:
+ domains = $sys_lists_host
+ driver = aliasfile
+ pipe_transport = address_pipe
+ query = \"ldap:///cn=\$local_part,ou=mailingList,$sys_ldap_base_dn?listPostaddress\"
+ search_type = ldap
+ user = nobody
+ group = nogroup
+
+forward_for_sourceforge_lists_admin:
+ domains = $sys_lists_host
+ suffix = -owner : -admin
+ driver = aliasfile
+ pipe_transport = address_pipe
+ query = \"ldap:///cn=\$local_part,ou=mailingList,$sys_ldap_base_dn?listOwnerAddress\"
+ search_type = ldap
+ user = nobody
+ group = nogroup
+
+forward_for_sourceforge_lists_request:
+ domains = $sys_lists_host
+ suffix = -request
+ driver = aliasfile
+ pipe_transport = address_pipe
+ query = \"ldap:///cn=\$local_part,ou=mailingList,$sys_ldap_base_dn?listRequestAddress\"
+ search_type = ldap
+ user = nobody
+ group = nogroup
+# END SOURCEFORGE BLOCK #
" ;
while (($l = <>) !~ /^\s*end\s*$/) { print $l ; };
Modified: trunk/gforge_base/evolvisforge/gforge/deb-specific/sf-httpd.conf.template
===================================================================
--- trunk/gforge_base/evolvisforge/gforge/deb-specific/sf-httpd.conf.template 2010-02-25 13:14:49 UTC (rev 296)
+++ trunk/gforge_base/evolvisforge/gforge/deb-specific/sf-httpd.conf.template 2010-02-25 13:14:53 UTC (rev 297)
@@ -53,13 +53,22 @@
<VirtualHost {ip_address}>
ServerName {lists_host}
AddHandler cgi-script .cgi
+
ScriptAlias /mailman/ /usr/lib/mailman/cgi-bin/
+
+ Alias /pipermail /var/lib/mailman/archives/public
+ <Directory /var/lib/mailman/archives/public>
+ AllowOverride Options
+ Options FollowSymLinks
+ </Directory>
+
Alias /doc/mailman/images /usr/share/doc/mailman/images
<Location /doc/mailman/images>
order allow,deny
allow from all
</Location>
- RedirectMatch permanent /$ http://{lists_host}/cgi-bin/mailman/listinfo
+
+ RedirectMatch permanent ^/$ http://{lists_host}/cgi-bin/mailman/listinfo
</VirtualHost>
<VirtualHost {ip_address}:443>
Modified: trunk/gforge_base/evolvisforge/gforge/deb-specific/sourceforge.schema
===================================================================
--- trunk/gforge_base/evolvisforge/gforge/deb-specific/sourceforge.schema 2010-02-25 13:14:49 UTC (rev 296)
+++ trunk/gforge_base/evolvisforge/gforge/deb-specific/sourceforge.schema 2010-02-25 13:14:53 UTC (rev 297)
@@ -18,7 +18,7 @@
EQUALITY caseIgnoreIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-attributetype ( 1.1.2.2.4 NAME 'postAddress'
+attributetype ( 1.1.2.2.4 NAME 'listPostAddress'
DESC 'The address of the mailing-list'
EQUALITY caseIgnoreIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
@@ -39,4 +39,4 @@
objectclass ( 1.1.2.2.4 NAME 'x-sourceforgeMailingList' SUP top AUXILIARY
DESC 'Abstraction of a Sourceforge Mailing List'
- MAY ( x-cvsShell $ x-forward-email ) )
+ MAY ( listPostAddress $ listOwnerAddress $ listRequestAddress ) )
Modified: trunk/gforge_base/evolvisforge/gforge/debian/changelog
===================================================================
--- trunk/gforge_base/evolvisforge/gforge/debian/changelog 2010-02-25 13:14:49 UTC (rev 296)
+++ trunk/gforge_base/evolvisforge/gforge/debian/changelog 2010-02-25 13:14:53 UTC (rev 297)
@@ -1,4 +1,4 @@
-sourceforge (2.5-10+10) unstable; urgency=low
+sourceforge (2.5-10+11) unstable; urgency=low
* Fixed /etc/aliases entry for sourceforge user. Really, this time.
* Fixed Trove software map (closes: #108297).
@@ -22,11 +22,16 @@
anymore, but it's better nevertheless.
* [Christian] Added SF_robot and Replicator entry in sql2ldif script.
* [Christian] Made ldap_add_password template var work.
- * [Christian] Added ldap check in apache/php config
- * [Christian] Ldap online support enabled. Require intensiv test
- and probably security enhancement similar to database
+ * Mailing-lists should now work. The emails should also be sent to the
+ list with the same LDAP trick we used for the email forwarding, and
+ the web part of Mailman be correctly configured.
+ * Fixed apache-ssl support (apache + libapache-mod-ssl was the only
+ combination I had previously tested).
+ * [Christian] Added ldap check in apache/php config.
+ * [Christian] Ldap online support enabled. Requires intensive testing
+ and probably security enhancements similar to database.
- -- Christian Bayle <bayle at aist.enst.fr> Wed, 12 Sep 2001 23:13:29 +0200
+ -- Roland Mas <lolando at debian.org> Fri, 14 Sep 2001 22:30:18 +0200
sourceforge (2.5-10) unstable; urgency=low
Modified: trunk/gforge_base/evolvisforge/gforge/debian/rules
===================================================================
--- trunk/gforge_base/evolvisforge/gforge/debian/rules 2010-02-25 13:14:49 UTC (rev 296)
+++ trunk/gforge_base/evolvisforge/gforge/debian/rules 2010-02-25 13:14:53 UTC (rev 297)
@@ -133,6 +133,9 @@
install -m 755 deb-specific/install-ftp.sh $(CURDIR)/debian/sourceforge/usr/lib/sourceforge/bin/
install -m 644 deb-specific/sf-proftpd.conf $(CURDIR)/debian/sourceforge/etc/sourceforge/
+ # Mailing-lists
+ install -m 755 deb-specific/create-mailing-lists.pl $(CURDIR)/debian/sourceforge/usr/lib/sourceforge/bin/
+
# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.
Modified: trunk/gforge_base/evolvisforge/gforge/debian/sourceforge.cron.d
===================================================================
--- trunk/gforge_base/evolvisforge/gforge/debian/sourceforge.cron.d 2010-02-25 13:14:49 UTC (rev 296)
+++ trunk/gforge_base/evolvisforge/gforge/debian/sourceforge.cron.d 2010-02-25 13:14:53 UTC (rev 297)
@@ -41,5 +41,8 @@
# DNS Update
0 * * * * sourceforge [ $web_only != "true" ] && [ -x /usr/lib/sourceforge/bin/dns_conf.pl ] && /usr/lib/sourceforge/bin/dns_conf.pl && /usr/sbin/rndc reload &>/dev/null
+# Mailing-list creation
+55 * * * * root [ $web_only != "true" ] && [ -x /usr/lib/sourceforge/bin/create-mailing-lists.pl ] && /usr/lib/sourceforge/bin/create-mailing-lists.pl
+
# CVS/user/group update
0 * * * * root [ $web_only != "true" ] && [ -x /usr/lib/sourceforge/bin/update-user-group-cvs.sh ] && /usr/lib/sourceforge/bin/update-user-group-cvs.sh
Modified: trunk/gforge_base/evolvisforge/gforge/utils/sql2ldif.pl
===================================================================
--- trunk/gforge_base/evolvisforge/gforge/utils/sql2ldif.pl 2010-02-25 13:14:49 UTC (rev 296)
+++ trunk/gforge_base/evolvisforge/gforge/utils/sql2ldif.pl 2010-02-25 13:14:53 UTC (rev 297)
@@ -122,6 +122,33 @@
}
#
+# Dump mailing-lists entries (ou=mailingList)
+#
+
+$query = "SELECT mail_group_list.group_list_id,
+ mail_group_list.list_name,
+ users.user_name,
+ mail_group_list.password,
+ mail_group_list.description
+ FROM mail_group_list, users
+ WHERE mail_group_list.status = 3
+ AND mail_group_list.list_admin = users.user_id" ;
+$rel = $dbh->prepare($query);
+$rel->execute();
+
+while(my ($group_list_id, $listname, $user_name, $password, $description) = $rel->fetchrow()) {
+ print "dn: cn=$listname,ou=mailingList,$sys_ldap_base_dn
+objectClass: x-sourceforgeMailingList
+objectClass: top
+cn: $listname
+listPostAddress: \"|/var/lib/mailman/mail/wrapper post $listname\"
+listOwnerAddress: \"|/var/lib/mailman/mail/wrapper mailowner $listname\"
+listRequestAddress: \"|/var/lib/mailman/mail/wrapper mailcmd $listname\"
+";
+ print "\n";
+}
+
+#
# Dump CVS group entries (ou=cvsGroup)
#
@@ -207,6 +234,13 @@
objectClass: domainRelatedObject
associatedDomain: $sys_default_domain
+dn: ou=mailingList,$sys_ldap_base_dn
+ou: mailingList
+objectClass: top
+objectClass: organizationalUnit
+objectClass: domainRelatedObject
+associatedDomain: $sys_lists_host
+
dn: cn=Replicator,$sys_ldap_base_dn
cn: Replicator
sn: Replicator the Robot
More information about the evolvis-commits
mailing list