■CommuniGate Pro v5.4.2のAndroid対応状況
先日CommuniGate Proがv5.4.2となりExchange互換機能AirSyncの一部バグが修正されたということで問題のあったAndroid対応を検証したメモ。確かに修正は確認できたが非常に微妙な感じ。更なる改善を願うところ。
■動作確認した環境
1) Scientific Linux 5.7 x86(5.6から継続アップデート)
Communigate Pro v5.4.2(v5.3系から継続アップデート)
2)Scientific Linux 5.7 x86(新規インストール)
CommuniGate Pro v5.4.2(新規インストール)
どちらの環境でも結果は同じだったので、以下の検証結果はv5.4.2の問題と考える。
■検証結果
1)Nexus One (Android2.3.6公式ROM)
メール・連絡先・カレンダー同期OK
デバイス管理者登録:ダイアログのみ表示、実際登録されず
リモートワイプ:実行できず
2)001HT(Android2.3.3公式ROM)
メール・連絡先・カレンダー同期OK
デバイス管理者登録:HTCのカスタマイズで項目自体が存在しない
リモートワイプ:即時実行可能
3)GalaxyTab(GT-P1000)(Android2.3.3 XXJQ1 rooted)
メール・連絡先・カレンダー同期OK
デバイス管理者登録:ダイアログのみ表示、実際登録されず
リモートワイプ:メールフォルダ操作で実行される…ように見えるが初期化されない
4)Archos 80 G9(Android3.2公式ROM)
メール・連絡先・カレンダー同期OK
デバイス管理者登録:ダイアログ表示、権限確認表示、メールとして登録
リモートワイプ:メールフォルダ操作で実行される…ように見えるが初期化されない
5)ASUS TF101(Android3.2.1公式ROM)
メール・連絡先・カレンダー同期OK
デバイス管理者登録:ダイアログ表示、権限確認表示、メールとして登録
リモートワイプ:メールフォルダ操作で実行される、完全に初期化
ざっくりと見てAndroid2.3.xには非対応、Android3.2.xには対応しているように見える。リモートワイプなどシステム関連の権限を必要するため、Android2.2以降で新設されたデバイス管理者メニューに必要に応じた権限とそのパーミッション設定が必要となるが、Android2.3.x系では必要な権限の登録が行われない。HTC社の製品のみHTC Senseのカスタマイズでデバイス管理者を必要とせずワイプが可能になっているため、001HTでのみ正しくワイプが機能しているが、HTC社の製品の場合は前述の理由によりCommuniGate Pro v5.3.x系でもリモートワイプ可能だった。今回GalaxyTabでもワイプが動作したように見えた(再起動して情報をワイプしている状況が表示された)のだが、キャッシュ等が削除されただけでアカウントやアプリ含めたデータ類はそのままで、端末の初期化はされなかった。おそらくデバイス管理者に正しい設定がされていない影響と思われる。
2.3.xでは登録されないデバイス管理者が、何故かAndroid3.2.xでは権限表示された上で適切に登録されることが今回確認できた。TF101では即時ではないもののメールのフォルダを表示しようとした瞬間に端末が再起動され、データの消去が行われ初期化された上で新規登録画面が立ち上がってきた。Archos 80 G9ではやはりメールのフォルダを表示しようとした際に再起動に入るため端末の電源は落ちるがそのまま終了してしまう。電源長押しで起動させた後、何故かパスワード設定のみが反映された状態で起動し、リモートワイプで使用したアカウントのパスワードでログインすると、アプリやデータはそのまま利用可能な状態で残っていた。これはデバイス管理者の権限が反映されたことを示しているが、なぜワイプまでできず中途半端に終わっているのはよくわからない…。Archos製品は他社製品と少し実装が異なり、初期化オプションを複数提供するためシステムイメージをループバックマウントすることでシステム全体をセキュアに保つ仕組みが採用されていることに関係しているのかもしれない。
ワイプの実行のためにメールフォルダの操作が必要になっているのは、ワイプ実行に必要なProvisionコマンドの発行のため。通常iOSやWindows Phone 7.5ではサーバ側でワイプ指定した時点で、接続を切られた端末側が再アクセスしてProvisionコマンドを要求に応じて返してくることでワイプが実行されるのだが、Android端末では何故かサーバ側でProvisionコマンドを要求しても返してこない。仕方がないので端末側でProvisionコマンドを発行させるために必要な操作として、InBox以外のメールフォルダを開いてみるという動作を行う。フォルダを開こうとするとサーバから拒否されるため、FolderSyncの再問合せをした際に、Provisionコマンドの応答を行うことになる。本来すぐに実行されるべきコマンドが一定操作をしないと行われないことは、おそらくCommuniGate Pro側の要求送信内容の問題だと思われるので、ここも改善してもらいところである。
■まとめ
CommuniGate Pro v5.4.2でAirSyncのバグが一部修正されデバイス管理者登録部分の動作がやや改善されたことは確認できたものの、まだAndroid2.3系ではワイプなどセキュリティ系機能が実用にならず、3.2系でも機種によっては適切に動作しないことが確認できた。iOSやWindows Phone 7.5の端末では問題なく動作するだけに、シェアの大きいAndroid端末でうまく動作しないことは残念というしかない。デバイス管理者の登録やワイプ実行のためのProvisionコマンドの要求発行内容とタイミングについて更に改善をしてもらいたいと思う。とりあえずメールやカレンダーの同期といった主要な部分は動作しているので実使用上大きな問題はないケースも多いとは思われるが、セキュリティ系で必要な機能についてCommuniGate ProとAndroid端末を組み合わせて利用したい場合には、利用端末で適切に動作するかどうか事前に確認することを強くオススメする。
【追記】Galaxy Nexusが届いたので追記
6)Galaxy Nexus (Android4.0.1公式ROM)
メール・連絡先・カレンダー同期OK
デバイス管理者登録:ダイアログ表示無し、登録されず
リモートワイプ:実行できず
3.xで対応していた部分がバージョンアップでまた未対応になってしまった模様…。codenameでは正しく動作しワイプできたことから4.0の仕様変更自体の問題ではなさそう。CGS社にはレポートしてあるのだがいつになったら直してくれるのだろう…。