mirror of
https://git.krews.org/morningstar/Arcturus-Community.git
synced 2024-11-30 09:50:51 +01:00
Cleanup pet exploit fix.
This commit is contained in:
parent
1765e337a2
commit
a71853d0c2
@ -23,6 +23,9 @@ import gnu.trove.map.hash.THashMap;
|
|||||||
import gnu.trove.procedure.TObjectProcedure;
|
import gnu.trove.procedure.TObjectProcedure;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
|
import static com.eu.habbo.messages.incoming.catalog.CheckPetNameEvent.PET_NAME_LENGTH_MAXIMUM;
|
||||||
|
import static com.eu.habbo.messages.incoming.catalog.CheckPetNameEvent.PET_NAME_LENGTH_MINIMUM;
|
||||||
|
|
||||||
public class CatalogBuyItemEvent extends MessageHandler {
|
public class CatalogBuyItemEvent extends MessageHandler {
|
||||||
@Override
|
@Override
|
||||||
public void handle() throws Exception {
|
public void handle() throws Exception {
|
||||||
@ -192,11 +195,9 @@ public class CatalogBuyItemEvent extends MessageHandler {
|
|||||||
// temp patch, can a dev with better knowledge than me look into this asap pls.
|
// temp patch, can a dev with better knowledge than me look into this asap pls.
|
||||||
if (page instanceof PetsLayout) { // checks it's the petlayout
|
if (page instanceof PetsLayout) { // checks it's the petlayout
|
||||||
String[] check = extraData.split("\n"); // splits the extradata
|
String[] check = extraData.split("\n"); // splits the extradata
|
||||||
if (check.length != 3) return; // checks if there's 3 parts (always is with pets, if not it fucks them off)
|
if ((check.length != 3) || (check[0].length() < PET_NAME_LENGTH_MINIMUM) || (check[0].length() > PET_NAME_LENGTH_MAXIMUM) || (!StringUtils.isAlphanumeric(check[0])))// checks if there's 3 parts (always is with pets, if not it fucks them off)
|
||||||
if (!StringUtils.isAlphanumeric(check[0])) { // checks the data to see if it has any nasties. expected format is: name/0/COLORCODE
|
|
||||||
return; // if it does it fucks off.
|
return; // if it does it fucks off.
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
Emulator.getGameEnvironment().getCatalogManager().purchaseItem(page, item, this.client.getHabbo(), count, extraData, false);
|
Emulator.getGameEnvironment().getCatalogManager().purchaseItem(page, item, this.client.getHabbo(), count, extraData, false);
|
||||||
|
|
||||||
|
@ -6,6 +6,9 @@ import com.eu.habbo.messages.outgoing.catalog.PetNameErrorComposer;
|
|||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
public class CheckPetNameEvent extends MessageHandler {
|
public class CheckPetNameEvent extends MessageHandler {
|
||||||
|
public static int PET_NAME_LENGTH_MINIMUM = Emulator.getConfig().getInt("hotel.pets.name.length.min");
|
||||||
|
public static int PET_NAME_LENGTH_MAXIMUM = Emulator.getConfig().getInt("hotel.pets.name.length.max");
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handle() throws Exception {
|
public void handle() throws Exception {
|
||||||
String petName = this.packet.readString();
|
String petName = this.packet.readString();
|
||||||
@ -13,7 +16,7 @@ public class CheckPetNameEvent extends MessageHandler {
|
|||||||
int minLength = Emulator.getConfig().getInt("hotel.pets.name.length.min");
|
int minLength = Emulator.getConfig().getInt("hotel.pets.name.length.min");
|
||||||
int maxLength = Emulator.getConfig().getInt("hotel.pets.name.length.max");
|
int maxLength = Emulator.getConfig().getInt("hotel.pets.name.length.max");
|
||||||
|
|
||||||
if (petName.length() < minLength) {
|
if (petName.length() < PET_NAME_LENGTH_MINIMUM) {
|
||||||
this.client.sendResponse(new PetNameErrorComposer(PetNameErrorComposer.NAME_TO_SHORT, minLength + ""));
|
this.client.sendResponse(new PetNameErrorComposer(PetNameErrorComposer.NAME_TO_SHORT, minLength + ""));
|
||||||
} else if (petName.length() > maxLength) {
|
} else if (petName.length() > maxLength) {
|
||||||
this.client.sendResponse(new PetNameErrorComposer(PetNameErrorComposer.NAME_TO_LONG, maxLength + ""));
|
this.client.sendResponse(new PetNameErrorComposer(PetNameErrorComposer.NAME_TO_LONG, maxLength + ""));
|
||||||
|
@ -26,6 +26,7 @@ import com.eu.habbo.habbohotel.wired.highscores.WiredHighscoreManager;
|
|||||||
import com.eu.habbo.messages.PacketManager;
|
import com.eu.habbo.messages.PacketManager;
|
||||||
import com.eu.habbo.messages.incoming.camera.CameraPublishToWebEvent;
|
import com.eu.habbo.messages.incoming.camera.CameraPublishToWebEvent;
|
||||||
import com.eu.habbo.messages.incoming.camera.CameraPurchaseEvent;
|
import com.eu.habbo.messages.incoming.camera.CameraPurchaseEvent;
|
||||||
|
import com.eu.habbo.messages.incoming.catalog.CheckPetNameEvent;
|
||||||
import com.eu.habbo.messages.incoming.floorplaneditor.FloorPlanEditorSaveEvent;
|
import com.eu.habbo.messages.incoming.floorplaneditor.FloorPlanEditorSaveEvent;
|
||||||
import com.eu.habbo.messages.incoming.hotelview.HotelViewRequestLTDAvailabilityEvent;
|
import com.eu.habbo.messages.incoming.hotelview.HotelViewRequestLTDAvailabilityEvent;
|
||||||
import com.eu.habbo.messages.incoming.rooms.promotions.BuyRoomPromotionEvent;
|
import com.eu.habbo.messages.incoming.rooms.promotions.BuyRoomPromotionEvent;
|
||||||
@ -131,6 +132,9 @@ public class PluginManager {
|
|||||||
AchievementManager.TALENTTRACK_ENABLED = Emulator.getConfig().getBoolean("hotel.talenttrack.enabled");
|
AchievementManager.TALENTTRACK_ENABLED = Emulator.getConfig().getBoolean("hotel.talenttrack.enabled");
|
||||||
InteractionRoller.NO_RULES = Emulator.getConfig().getBoolean("hotel.room.rollers.norules");
|
InteractionRoller.NO_RULES = Emulator.getConfig().getBoolean("hotel.room.rollers.norules");
|
||||||
RoomManager.SHOW_PUBLIC_IN_POPULAR_TAB = Emulator.getConfig().getBoolean("hotel.navigator.populartab.publics");
|
RoomManager.SHOW_PUBLIC_IN_POPULAR_TAB = Emulator.getConfig().getBoolean("hotel.navigator.populartab.publics");
|
||||||
|
CheckPetNameEvent.PET_NAME_LENGTH_MINIMUM = Emulator.getConfig().getInt("hotel.pets.name.length.min");
|
||||||
|
CheckPetNameEvent.PET_NAME_LENGTH_MAXIMUM = Emulator.getConfig().getInt("hotel.pets.name.length.max");
|
||||||
|
|
||||||
|
|
||||||
ChangeNameCheckUsernameEvent.VALID_CHARACTERS = Emulator.getConfig().getValue("allowed.username.characters", "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_-=!?@:,.");
|
ChangeNameCheckUsernameEvent.VALID_CHARACTERS = Emulator.getConfig().getValue("allowed.username.characters", "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_-=!?@:,.");
|
||||||
CameraPublishToWebEvent.CAMERA_PUBLISH_POINTS = Emulator.getConfig().getInt("camera.price.points.publish", 5);
|
CameraPublishToWebEvent.CAMERA_PUBLISH_POINTS = Emulator.getConfig().getInt("camera.price.points.publish", 5);
|
||||||
|
Loading…
Reference in New Issue
Block a user