From 4239920246a5123644fd7a778b467aa371f990e6 Mon Sep 17 00:00:00 2001 From: Guilhem Moulin Date: Sat, 22 Sep 2012 16:43:38 +0200 Subject: Custom patches for the list managers. --- patches/schleuder.patch | 99 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 patches/schleuder.patch (limited to 'patches/schleuder.patch') diff --git a/patches/schleuder.patch b/patches/schleuder.patch new file mode 100644 index 0000000..c9b6799 --- /dev/null +++ b/patches/schleuder.patch @@ -0,0 +1,99 @@ +diff -u usr/bin/schleuder dev/bin/schleuder +--- usr/bin/schleuder ++++ usr/dev/schleuder +@@ -44,8 +44,12 @@ + arg = ARGV.shift + if arg == '-test' + process_test(ARGV) +- elsif arg =~ /[A-Za-z0-9]+/ +- process_list(arg.gsub(/-(sendkey|bounces)$/, '')) ++ elsif arg =~ /[A-Za-z0-9]+/ ++ l,d = arg.split('#') ++ l = l.gsub(/-(sendkey|bounce)$/, '') ++ list = l ++ list += '@' + d unless d.nil? ++ process_list(list) + else + usage + end +diff -u usr/bin/schleuder-newlist dev/bin/schleuder-newlist +--- usr/bin/schleuder-newlist ++++ dev/bin/schleuder-newlist +@@ -128,17 +128,19 @@ + end + + # Verify init member +- Schleuder.log.debug "Verifying init member..." +- list_initmember = ListCreator::verify_emailvar( +- args[:list_initmember] || '', +- interactive, +- "Email address of the lists' initial member" +- ) +- list_initmemberkey = ListCreator::verify_filevar( +- args[:list_initmemberkey] || '', +- interactive, +- "the public key of the lists' initial member" +- ) ++ unless args[:list_initmember].nil? and args[:list_initmemberkey].nil? and !interactive ++ Schleuder.log.debug "Verifying init member..." ++ list_initmember = ListCreator::verify_emailvar( ++ args[:list_initmember], ++ interactive, ++ "Email address of the lists' initial member" ++ ) ++ list_initmemberkey = ListCreator::verify_filevar( ++ args[:list_initmemberkey], ++ interactive, ++ "the public key of the lists' initial member" ++ ) ++ end + Schleuder.log.debug "Arguments verified..." + + Schleuder.log.debug "Initialize list..." +@@ -162,10 +164,8 @@ + Schleuder.log.debug "Import list's keypair..." + ListCreator::import_keypair(list,list_privatekeyfile,list_publickeyfile) + end +- if (list_initmember != 'none' and list_initmemberkey != 'none') then +- Schleuder.log.debug "Add initmember to list..." +- ListCreator::add_init_member(list,list_initmember,list_initmemberkey) +- end ++ Schleuder.log.debug "Add initmember to list..." ++ ListCreator::add_init_member(list,list_initmember,list_initmemberkey) + # store the config + Schleuder.log.debug "Store list config..." + list.config = list.config +@@ -185,8 +185,12 @@ + end + + def self.add_init_member(list,list_initmember,list_initmemberkey) +- Schleuder::Crypt.new(list.config.gpg_password).add_key_from_file(list_initmemberkey) +- list.members = Array.new(1,Schleuder::Member.new({ :email => list_initmember })) ++ if list_initmember.nil? ++ list.members = Array.new ++ else ++ Schleuder::Crypt.new(list.config.gpg_password).add_key_from_file(list_initmemberkey) unless list_initmemberkey.nil? ++ list.members = Array.new(1,Schleuder::Member.new({ :email => list_initmember })) ++ end + end + + def self.verify_strvar(var,interactive,question) +diff -u usr/lib/ruby/1.8/schleuder/list.rb dev/lib/ruby/1.8/schleuder/list.rb +--- usr/lib/ruby/1.8/schleuder/list.rb ++++ dev/lib/ruby/1.8/schleuder/list.rb +@@ -31,12 +31,13 @@ + file = File.join(@listdir, Schleuder.config.lists_memberfile) + @log.debug("reading #{file}") + @_members = [] +- YAML::load_file(file).each do |h| ++ yaml = YAML::load_file(file) ++ yaml.each do |h| + unless h.kind_of? Schleuder::Member + h = Schleuder::Member.new(h) + end + @_members << h +- end ++ end unless yaml.nil? + end + @_members + end -- cgit v1.2.3