2003-08-10 2歩

λ killing UUCP

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でインストールしたマシンには最初から入っていない。

λ Ruby/libcurl

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ファイルをくっつけたもの。

λ FileUtils16

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

λ output_rdf.rb

tDiary 1.5.5 から tDiary 1.5.4 に戻した時にエラーが出るようになってしまった。なんじゃかほい。 RSSを表だって公開してるわけでもなかったので削除した。

[]