预备升级 Apache 2 + mod_perl 2 。
- 修正 Selima::DataVars 模组,加上 $IS_MP2 ,侦测 mod_perl 的版本是否为第二版。
- 修正 Selima::HTTP 模组和 Selima::AuthDig 类别,原先由 Apache::Constants 汇入常数,改依 $IS_MP2 判断,由 Apache::Constants 或 Apache2::Const 汇入常数。
- 修正 Selima::CallForm 模组、 Selima::DecForm 模组、 Selima::FormFunc 模组、 Selima::GeoIP 模组、 Selima::HTTP 模组、 Selima::Init 模组、 Selima::LogIn 模组、 Selima::LogOut 模组、 Selima::Logging 模组、 Selima::RemoHost 模组、 Selima::ReqURI 模组、 Selima::XHTML 模组、 Selima::Destroy 类别、 Selima::List 类别、 Selima::ListPref 类别、 Selima::Mail 类别、 Selima::Session 类别、 Selima::*::Processor::Public::Guestbook 类别和 Selima::imacat::Processor::Public::Garbage 类别,原先使用 Apache->request() 物件,改依 $IS_MP2 判断,使用 Apache->request() 或 Apache2::RequestUtil->request() 物件。
- 修正 startup.pl 程式,只在 mod_perl 1 下载入 Selima::AuthDig 类别。我暂时找不到 mod_perl 2 下用的 Digest 登入模组,暂时回归使用密码档的旧方式。
- 修正 Selima::GeoIP 模组、 Selima::HTTP 模组、 Selima::LogIn 模组、 Selima::Logging 模组、 Selima::RemoHost 模组、 Selima::Mail 类、 Selima::Session 类别及showenv.cgi 程式,若在 mod_perl 2 下,则载入 Apache2::Connection 类别。
- 修正 Selima::DecForm 模组、 Selima::Init 模组、 Selima::LogOut 模组、 Selima::XHTML 模组及 Selima::ListPref 类别,原用 $r->header_in() 方法,改用 $r->headers_in()->get() 方法、 $r->headers_in()->add() 方法及 $r->headers_in()->set() 方法。
- 修正 showenv.cgi 程式,加上在 mod_perl 2 下载入 Apache2::ServerRec 类别,并修正在 mod_perl 2 下时,显示的 $r->connection() 和 $r->server() 下的方法名称;显示方法名称时,显示的方法符号 -> 修正为 -> 。
- 修正 Selima::RemoHost 模组,原用 $r->get_remote_host() 方法,修正为依 $IS_MP2 判断,使用 $r->connection()->get_remote_host() 方法或 $r->get_remote_host() 方法。