UUCPは普通いらんので setuid されたファイルを減らす作業。
cd /usr/ports/net/freebsd-uucp make install; make deinstall pkg_delete base-uucp-1.06.1 chflags noschg /usr/bin/uux /usr/bin/uustat /usr/bin/cu /usr/bin/uucp /usr/bin/uuname rm /usr/bin/uux /usr/bin/uustat /usr/bin/cu /usr/bin/uucp /usr/bin/uuname
FreeBSD-5.1Rでインストールしたマシンには最初から入っていない。
example.rb にはないけど、一応証明書を設定するプロパティsslcertが定義されている。
w.url = 'https://mimori.org/~h/tdiary/update.rb'
w.cainfo = '/etc/ssl/certs/ca-bundle.crt'
w.sslcert = '/home/h/.ssh/hoge.pem'
params = {}
params['old'] = "#{year}#{month}#{day}"
params['year'] = year
params['month'] = month
params['day'] = day
params['title'] = CGI::escape(title)
params['body'] = CGI::escape(NKF::nkf( '-m0 -Xed', body ))
params['replace'] = 'true'
paramarr = []
params.each { |key, value| paramarr.push("#{key}=#{value}") }
w.postfields = paramarr.join(";")
w.perform
sslcertに指定するファイルは、courier-imapdで使うのと同じように 公開証明書とPRIVATE KEYファイルをくっつけたもの。
Ruby 1.8 の fileutils.rb 非互換性を吸収するモジュールを作ってみた。 tdiaryinst.rb用。
module FileUtils16
def FileUtils16.mkdir_p(dir, *options)
begin
FileUtils.mkdir_p(dir, *options)
rescue TypeError
optionhash = {}
options.each { |o| optionhash[o] = true }
FileUtils.mkdir_p(dir, optionhash)
end
end
def FileUtils16.cp(src, dest, *options)
begin
FileUtils.cp(src, dest, *options)
rescue TypeError
optionhash = {}
options.each { |o| optionhash[o] = true }
FileUtils.cp(src, dest, optionhash)
end
end
def FileUtils16.cp_r(src, dest, *options)
begin
FileUtils.cp_r(src, dest, *options)
rescue TypeError
optionhash = {}
options.each { |o| optionhash[o] = true }
FileUtils.cp_r(src, dest, optionhash)
end
end
def FileUtils16.rm(list, *options)
begin
FileUtils.rm(list, *options)
rescue TypeError
optionhash = {}
options.each { |o| optionhash[o] = true }
FileUtils.rm(list, optionhash)
end
end
def FileUtils16.ln_s(list, destdir, *options)
begin
FileUtils.ln_s(list, destdir, *options)
rescue TypeError
optionhash = {}
options.each { |o| optionhash[o] = true }
FileUtils.ln_s(list, destdir, optionhash)
end
end
def FileUtils16.chmod(mode, list, *options)
begin
FileUtils.chmod(mode, list, *options)
rescue TypeError
optionhash = {}
options.each { |o| optionhash[o] = true }
FileUtils.chmod(mode, list, optionhash)
end
end
end
tDiary 1.5.5 から tDiary 1.5.4 に戻した時にエラーが出るようになってしまった。なんじゃかほい。 RSSを表だって公開してるわけでもなかったので削除した。