Mercurial > hgrepos > hgweb.cgi > after5
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] |