openfire 서버에서 자기 자신을 초대하는 버그(?)가 있어 수정을 해야 합니다.
문제) 메신져 클라이언트에서 자기 자신을 초대(?) 웅? 왜?
그래서 다음과 같이 수정하였습니다.
IQRosterHandler.java
문제) 메신져 클라이언트에서 자기 자신을 초대(?) 웅? 왜?
그래서 다음과 같이 수정하였습니다.
IQRosterHandler.java
for (org.xmpp.packet.Roster.Item item : packet.getItems()) {
if (item.getSubscription() == org.xmpp.packet.Roster.Subscription.remove) {
removeItem(cachedRoster, packet.getFrom(), item);
} else {
/**
* 자기 자신을 초대 못하게 정의함.
*/
if (sender.getNode().equals(item.getJID().getNode())) {
Log.debug("IQRosterHandle : " + sender.getNode() + "Invite friends failed!");
return null;
}
if (cachedRoster.isRosterItem(item.getJID())) {
// existing item
RosterItem cachedItem = cachedRoster
.getRosterItem(item.getJID());
cachedItem.setAsCopyOf(item);
cachedRoster.updateRosterItem(cachedItem);
} else {
// new item
cachedRoster.createRosterItem(item);
}
}
}
if (item.getSubscription() == org.xmpp.packet.Roster.Subscription.remove) {
removeItem(cachedRoster, packet.getFrom(), item);
} else {
/**
* 자기 자신을 초대 못하게 정의함.
*/
if (sender.getNode().equals(item.getJID().getNode())) {
Log.debug("IQRosterHandle : " + sender.getNode() + "Invite friends failed!");
return null;
}
if (cachedRoster.isRosterItem(item.getJID())) {
// existing item
RosterItem cachedItem = cachedRoster
.getRosterItem(item.getJID());
cachedItem.setAsCopyOf(item);
cachedRoster.updateRosterItem(cachedItem);
} else {
// new item
cachedRoster.createRosterItem(item);
}
}
}
'Management > openfire' 카테고리의 다른 글
[ 목차 ] Openfire Messenger eclipse 디버깅 (0) | 2011.03.15 |
---|---|
[ openfire ] 메신져 서버 한글 깨짐현상. (1) | 2010.12.23 |
[ openfire ] 2010.11.22 Roster 삭제 현상. (0) | 2010.11.22 |
[ openfire ] 메신져 관련 데이터 정리 (0) | 2010.11.17 |
openfire 분석 - 1 (1) | 2010.08.20 |