redmineをプロジェクトで使うことになって、 ブラウザ上からのリポジトリの設定でサクっといくのかと 思ったらうまくいかず。
Output was: 'https://xxx.xxxx.co.jp:443' のサーバ証明書の認証中にエラーが発生しました: - 証明書は信頼のおける機関が発行したものではありません。証明書を手動で認証 するためにフィンガープリントを用いてください! 証明書情報: - ホスト名: xxx.xxxx.co.jp - 有効範囲: Fri, 25 Jan 2008 02:54:06 GMT から Sun, 17 Jan 2038 02:54:06 GMT まで - 発行者: XXX - フィンガープリント: xxxxx 拒否しますか (R)、一時的に承認しますか (t)、常に承認しますか (p)? svn: PROPFIND リクエスト (相手: '/xx/xxxx') が失敗しました
↑こんな風に言われます。 お金ない割りにセキュリティはうるさいですから。 SSL証明書は自前でやんす。
どうやったらゴリ押せるのかなって。 クライアント証明とかめんどいからやりたくないなと。
RepositoriesControllerのshowで落っこちてたので、 ずーっとステップ実行して追っていったら、
AbstractAdapterのshelloutってとこで、 拒否しますか (R)、一時的に承認しますか (t)、常に承認しますか (p)? ↑がシカトされてるっぽい。
日本語をその通り取れば、"p"って入れればいいのかなと思って。 ↓こんな風にしてみました。 def shellout(cmd, &block) logger.debug "Shelling out: #{cmd}" if logger && logger.debug? IO.popen(cmd, "r+") do |io| io.puts "p" ← ココ追加 io.close_write block.call(io) if block_given? end end
↓を読んでもそれっぽそうなことが書いてあるし。 http://www.ruby-lang.org/ja/man/html/IO.html