comparison after5.rb @ 56:ba64f43f07f7 draft

umask of ML/spool changed.
author HIROSE Yuuji <yuuji@gentei.org>
date Fri, 22 Jun 2012 22:30:39 +0900
parents 9a82edb295ca
children d089cb42619d
comparison
equal deleted inserted replaced
55:9a82edb295ca 56:ba64f43f07f7
2 # -*- coding: euc-jp -*- 2 # -*- coding: euc-jp -*-
3 # 3 #
4 # Associative Scheduling Table - after5 4 # Associative Scheduling Table - after5
5 # (C)2003, 2004, 2006, 2008, 2012 by HIROSE Yuuji [yuuji<at>gentei.org] 5 # (C)2003, 2004, 2006, 2008, 2012 by HIROSE Yuuji [yuuji<at>gentei.org]
6 # $Id: after5.rb,v 1.19 2012/04/01 11:52:25 yuuji Exp yuuji $ 6 # $Id: after5.rb,v 1.19 2012/04/01 11:52:25 yuuji Exp yuuji $
7 # Last modified Thu Jun 21 21:42:34 2012 on firestorm 7 # Last modified Thu Jun 21 22:53:35 2012 on firestorm
8 # See http://www.gentei.org/~yuuji/software/after5/ 8 # See http://www.gentei.org/~yuuji/software/after5/
9 # このスクリプトはEUCで保存してください。 9 # このスクリプトはEUCで保存してください。
10 $hgid = <<_HGID_.split[1..-2].join(" ") 10 $hgid = <<_HGID_.split[1..-2].join(" ")
11 $HGid$ 11 $HGid$
12 _HGID_ 12 _HGID_
1668 m.close 1668 m.close
1669 else 1669 else
1670 # exec(@attr['mail'], "-s", subject, to) 1670 # exec(@attr['mail'], "-s", subject, to)
1671 recipient = rcptto || to.split(/,\s*|\s+/) 1671 recipient = rcptto || to.split(/,\s*|\s+/)
1672 #p recipient 1672 #p recipient
1673 File.umask(077) 1673 File.umask(027)
1674 if spoolto && spoolto.is_a?(String) && 1674 if spoolto && spoolto.is_a?(String) &&
1675 proc { 1675 proc {
1676 require 'fileutils' 1676 require 'fileutils'
1677 begin 1677 begin
1678 test(?d, spoolto) or FileUtils.mkdir_p(spoolto, 0700) 1678 test(?d, spoolto) or FileUtils.mkdir_p(spoolto, 0750)
1679 test(?w, spoolto) 1679 test(?w, spoolto)
1680 rescue 1680 rescue
1681 nil 1681 nil
1682 end}.call && 1682 end}.call &&
1683 (tee=open("|-", "w")) # popen should be done in if-condition 1683 (tee=open("|-", "w")) # popen should be done in if-condition
2730 end 2730 end
2731 end 2731 end
2732 if viamail then 2732 if viamail then
2733 prohibitviahttp() 2733 prohibitviahttp()
2734 name = ENV['DEFAULT'] 2734 name = ENV['DEFAULT']
2735 unless grepgroup(name)
2736 sendMail(@opt['maintainer'], "no group",
2737 sprintf("Invalid group address: %s(%s@%s)\nSent by %s\n" +
2738 "URL: %s\n------------\n",
2739 name, ENV['LOCAL'], ENV['HOST'], ENV['SENDER'],
2740 @opt['url']) +
2741 "> "+STDIN.readlines.join("> "))
2742 exit 0 # should exit 0 in mail mode
2743 end
2735 else # via http 2744 else # via http
2736 return nil unless checkauth 2745 return nil unless checkauth
2737 name = @params['name'].untaint 2746 name = @params['name'].untaint
2747 unless grepgroup(name)
2748 @O.print @H.p("No such group: #{name}")
2749 return true
2750 end
2738 nick = @sc.nickname(@params['user']) 2751 nick = @sc.nickname(@params['user'])
2739 from = sprintf("%s <%s>", nick, @params['user']) 2752 from = sprintf("%s <%s>", nick, @params['user'])
2740 body = @params['body'].gsub("\r", "").untaint 2753 body = @params['body'].gsub("\r", "").untaint
2741 end 2754 end
2742 bracket = @sc.getgroupattr(name, 'subjtag') || @params['mailbracket'] 2755 bracket = @sc.getgroupattr(name, 'subjtag') || @params['mailbracket']
2764 "X-ML-Driver" => ($hgid || @myname), 2777 "X-ML-Driver" => ($hgid || @myname),
2765 "X-ML-Driver-URI" => $myurl, 2778 "X-ML-Driver-URI" => $myurl,
2766 "X-ML-Name" => name, 2779 "X-ML-Name" => name,
2767 "X-ML-URI" => sprintf("%s?-groupman+%s", @opt['url'], name), 2780 "X-ML-URI" => sprintf("%s?-groupman+%s", @opt['url'], name),
2768 "Errors-to" => @opt['maintainer'], 2781 "Errors-to" => @opt['maintainer'],
2769 "Return-path" => @opt['maintainer']} 2782 "Return-path" => @opt['maintainer']} # This should be ML-owner
2770 Dir.chdir @mydir 2783 Dir.chdir @mydir
2771 rcpts = if grepgroup(name) 2784 rcpts = if grepgroup(name)
2772 @sc.members(name) 2785 @sc.members(name)
2773 else 2786 else
2774 [name] 2787 [name]

yatex.org