aboutsummaryrefslogtreecommitdiffstats
path: root/patches/schleuder.patch
diff options
context:
space:
mode:
authorGuilhem Moulin <guilhem.moulin@fripost.org>2012-09-22 16:43:38 +0200
committerGuilhem Moulin <guilhem.moulin@fripost.org>2012-09-24 15:13:14 +0200
commit4239920246a5123644fd7a778b467aa371f990e6 (patch)
tree0113d4df774bb04b23a712dc47317d6bb30cf5e0 /patches/schleuder.patch
parent8d76ab3fcff608c82d5c43ad87ec8988b69478b3 (diff)
Custom patches for the list managers.
Diffstat (limited to 'patches/schleuder.patch')
-rw-r--r--patches/schleuder.patch99
1 files changed, 99 insertions, 0 deletions
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