--- openfire-TOT//src/java/org/jivesoftware/openfire/pubsub/PubSubEngine.java 2008-01-24 11:23:41.000000000 -0800 +++ openfire_3_4_4/src/java/org/jivesoftware/openfire/pubsub/PubSubEngine.java 2008-01-24 09:29:47.000000000 -0800 @@ -1516,9 +1516,16 @@ else if ("none".equals(newAffiliation)) { node.addNoneAffiliation(owner); } - else { + else if ("outcast".equals(newAffiliation)) { node.addOutcast(owner); } + else if ("member".equals(newAffiliation)) { + node.addMember(owner); + } + else { + sendErrorPacket(iq, PacketError.Condition.bad_request, null); + return; + } } // Process invalid entities that tried to remove node owners. Send original affiliation @@ -1538,6 +1545,7 @@ entity.addAttribute("affiliation", affiliate.getAffiliation().name()); } } + node.saveToDB(); // Send reply router.route(reply); }