操作
Bug(バグ) #1206
完了アクセスブロックが意図しないタイミングで解消される
開始日:
2010-06-28
期日:
進捗率:
0%
予定工数:
3.6 で発生するか:
3.8 で発生するか:
説明
Overview (現象)¶
PC版のみで確認。
確認したOpenPNEのバージョンは3.5.3。
- (1) メンバーAとBがフレンドになる
- (2) メンバーAがメンバーBをアクセスブロックする
- (3) メンバーAとメンバーBがどちらかの操作によりフレンドを解消する
- (4) メンバーAがメンバーBのページにアクセスする
- (5) メンバーBがメンバーAのページにアクセスできる
(1) と (2) の順序は交換可能。
(2) でアクセスブロックを行ったにもかかわらず、(5) でアクセスされるのは意図しない流れだと思われる。
Causes (原因)¶
フレンドを解消した状態 (3) で、member_relationship テーブルのメンバーAとBの両者に関するレコードが is_friend=0, is_friend_pre=0 となるが、その状態で相手にアクセスするとそのレコードが削除されるようになっているのが原因だと思われる。
そのレコードには is_access_block の情報が含まれており、削除されてしまうことで意図しない (5) のアクセスが可能になってしまっている。
This issue is occurred by opIntroFriendPlugin.
PluginIntroFriendTable::deleteCheck() is celled, it delete non friend relationships.
Way to fix (修正内容)¶
具体的な修正箇所はソースコードを追っていないのでここでは示せない。
Minoru Takai さんが14年以上前に更新
3.2.x のBPが再現しないことによる Invalid でクローズされたため、改めて確認しました。
手元で確認した限りでは、レコードの削除(本件の問題)は OpenPNE 3.6 以降でのみ生じるようです。
操作