Commit graph

116 commits

Author SHA1 Message Date
arrai
a24f39a36f [8378] Use exceptions instead of explicit size checking for each packet
CHECK_PACKET_SIZE was pretty error prone; once it was forgotten mangosd
could crash due to the asserts in ByteBuffer.h. That was exploitable by
malicious players.
Furthermore, there were duplicate checks: Additionally to
CHECK_PACKET_SIZE, the ByteBuffer assertions keept an eye
on not exceeding the packet boundaries - just to crash the server for
sure in such a case.
To prevent memory leaks or other undesirable states, please read in
every handler all variables _before_ doing any concrete handling.
2009-08-16 23:50:22 +02:00
tomrus88
2c30020c7e Login with 3.2.2.10257 should work now. 2009-08-15 14:24:04 +04:00
tomrus88
1df1f7cff5 Fixed player movement.
Fixed multinode taxi.
Removed some unhandled opcode spam.
2009-08-09 18:08:14 +04:00
tomrus88
f90f3dd987 Merge commit 'origin/master' into 320
Conflicts:
	src/game/ArenaTeam.cpp
2009-07-29 15:17:37 +04:00
fgenesis
46c314814c [8270] Fixed problem with Alt+F4 in instances.
Signed-off-by: ApoC <apoc@nymfe.net>
2009-07-28 22:44:48 +02:00
tomrus88
3de88aef12 Updated to 10116 client build. 2009-07-17 17:01:47 +04:00
Ambal
58209ee79a [8182] Store and use Map* pointer in WorldObject instead map ids for speedup
Also some code logic cleanups.
Changes let make more cleanups in base map access and other places,
but this chnages not inlcuded in patch.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-07-15 02:13:52 +04:00
Win32
03926619d9 [8151] Fixed some format warnings and typos.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>

SOme changes rewrited with using [8150]
2009-07-09 01:09:12 +04:00
Ambal
9f938a9ed4 [8103] More wide use IsInWorld checks and delayed at teleport operations.
* IsInWorld used to prevent return unexpected not in world objects.
* Delayed operations need to process its in world state.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-07-01 14:00:29 +04:00
VladimirMangos
21a6a26386 [8077] Resolve mixed store and use 2 different flags values types in single field.
* Create new monster move field in Creature class and use it in all cases when expected use MONSTER_MOVE_* flags.
* Store and use MOVEMENTFLAG_* values in field in MovementInfo structure of Player class.
* Cleanups and fix related code.

NOTE: DB in creature_addon store values similar MONSTER_MOVE_* flags, scritps also expected set only this flags.
2009-06-26 01:57:34 +04:00
QAston
a8dea60d6e [8054] First do cleanup then removefromworld for player.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>

Thanks to lordinpvp for patch prepering for mangos.
2009-06-21 01:09:16 +04:00
Ambal
b76c4c2f3c [8026] Obtain object's map directly by calling appropriate WorldObject::GetMap()/GetBaseMap() functions instead of accessing MapManager. Code cleanups. Big thanks Infinity for tests.
Signed-off-by: AlexDereka <dereka.alex@gmail.com>
2009-06-16 12:47:02 +04:00
tomrus88
cae3f0a532 Merge commit 'origin/master' into 310
Conflicts:
	src/game/SpellAuras.cpp
2009-05-31 12:16:25 +04:00
VladimirMangos
2a27a44e2a [7918] Improve portability in work with uint64 string format specifiers and in code literals.
* Replace platform seelction MaNGOS code for select format descriptor for uint64 by using ACE define.
  I64FMTD renamed to UI64FMTD for more clear name.
* Add new define UI64LIT (base at ACE seelction) for build portables uint64 literals.
  Please always use UI64LIT(0x00001) instead less portable 0x00001LL
2009-05-30 22:44:20 +04:00
tomrus88
42f8ce5f3e [7911] Applied coding style. 2009-05-29 19:07:28 +04:00
tomrus88
5e26a2a152 Just a few renames. 2009-05-09 16:01:31 +04:00
tomrus88
908f41b031 Attempt to fix quests. Some other fixes. 2009-05-07 02:04:43 +04:00
tomrus88
7149324247 Fixed problem with integrated client addons 2009-04-29 19:48:33 +04:00
tomrus88
d4323e0071 Merge commit 'origin/master' into 310
Conflicts:
	src/game/CharacterHandler.cpp
	src/game/Player.cpp
2009-04-29 11:51:15 +04:00
VladimirMangos
512c015dc2 [7731] Some code cleanups, warrning fixes. 2009-04-29 04:03:59 +04:00
zhenya
8144f30199 [7730] Some optimizantion and code style.
Signed-off-by: AlexDereka <dereka.alex@gmail.com>
2009-04-29 01:05:21 +04:00
tomrus88
2fc6e75a81 Fixed item buy packets. Thanks to yad02 for reporting.
Fixed client disconnect when boarding transport (by yad02 and woweur).
2009-04-19 11:03:20 +04:00
tomrus88
9b20869a32 Merge branch 'master' into 310
Conflicts:
	src/game/Player.cpp
2009-04-12 14:37:33 +04:00
VladimirMangos
199c09640d [7648] Resolve problems with expected fall damage at near teleport.
Move near teleport landing code to WorldSession::HandleMoveTeleportAck.
This make Player::TeleportTo code working in same way for both far/near teleports.
Move mSemaphoreTeleport from WorldObject to Player and merge with DoNotMove (using 2 fields for far/near teleport flag).
Skip movement packets until landing confirmation for near teleport from client.
2009-04-11 11:06:30 +04:00
arrai
9f8fdea525 Fixed possible crash caused by invalid formed CMSG_AUTH_SESSION 2009-03-19 21:43:33 +01:00
tomrus88
cc6d0e0568 Small update 2009-03-15 10:10:21 +03:00
tomrus88
31b3ee95ad Merge branch 'master' into 310
Conflicts:
	src/game/Level2.cpp
	src/game/PetHandler.cpp
	src/game/Player.cpp
	src/game/Player.h
	src/game/SkillHandler.cpp
2009-03-11 12:22:58 +03:00
Triply
8a9942619b [7404] Fixed cheating in rated arena matches by alt+f4.
Signed-off-by: Triply <triply@getmangos.com>
2009-03-08 01:48:41 +01:00
balrok
54f2dbefa0 [7403] much more unneeded includes removed
now i extended my script:
NAME="Chat"; ack -c $NAME | ack ":1$" | sed 's/:1//' | xargs /usr/bin/ack-grep -l "include \""$NAME".h\"" | xargs /bin/sed -i '/include "'$NAME'.h"/d'

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-03-08 02:22:17 +03:00
balrok
f3ea479f6e removed duplicated includes
i used the following script
(i have no awk-skills :-/ i guess with awk it will look much better)
for i in `ls *.h`
do
    HEADER="#include \\\""`echo $i | sed 's/\./\\\\./'`"\\\"" #a grep-readable #include "file.h"
    # following should deletes the first occurence of a duplicated
    # (#include) line
    # if an include is more then once in this file this script
    # has to be run more often - i don't know a better solution
    grep -cH "$HEADER" *.[hcpp]* | grep -v :1$ | grep -v :0 | sed -r 's/:[0-9]*$//' | xargs sed -i '0,/#include "'$i'"/{//d;}'
done

Signed-off-by: VladimirMangos <vladimir@getmangos.com>

Restored build for x64: WorldSession expected to be fist include in WorldSession.cpp
2009-03-08 02:08:16 +03:00
VladimirMangos
49322fa20a Restore save tutorials only at character save and implement this for EquipmentSets 2009-03-04 19:17:59 +03:00
tomrus88
e6a66cdc54 Updated to new client build 2009-03-04 14:58:11 +03:00
Triply
4994611582 [7359] Fixed crash when removing battleground from BGFreeSlotQueue.
Fixed player will now drop a flag before he logs out, if he is in BG.

Signed-off-by: Triply <triply@getmangos.com>
2009-02-28 09:55:17 +01:00
GriffonHeart
1fb8a52032 Propertly send SMSG_SET_PHASE_SHIFT to inform client about phase shift at phase change.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-02-15 12:00:47 +03:00
balrok
b75157946c [7269] Use enum type for battleground queue type ids, and related cleanups.
* renamed a variable to make the content of it more clear: type->arenaslot
* renamed BattleGroundQueueTypeId-variables to bgQueueTypeId
  just to make it easier reading the code (cause there existed
  3 different names for this..)
* renamed GetBattleGroundQueueId to GetBattleGroundQueueTypeId
  again this is just for better understanding
* Renamed [GS]etQueueType and m_Queue_type
* Renamed to [GS]etQueueId and m_QueueId

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-02-12 09:00:28 +03:00
GriffonHeart
75121a5823 [7255] Allows saving characters in Battle Grounds.
* Now player can join to BG after logout during 5 minutes, if BG in progress.
* All players after server crash or restart should appear at the battlemaster

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-02-09 16:15:29 +03:00
freghar
11ed0e99a8 [7146] Trailing whitespace code cleanup
Signed-off-by: freghar <compmancz@gmail.com>
2009-01-22 18:10:16 +01:00
VladimirMangos
6003fd4049 Add transaction guards for account data save DELETE/INSERT pair. 2009-01-04 00:30:21 +03:00
arrai
c6f48843ad [7017] Updated copyright notice for new year 2009-01-03 18:09:51 +01:00
arrai
28ee9a7c39 [6972] Fixed teleporting players home at logging out in invalid instances 2008-12-29 14:47:55 +01:00
tomrus88
5d4d7292b9 Merge branch 'master' into 303
Conflicts:
	src/game/Player.h
2008-12-12 18:14:49 +03:00
VladimirMangos
d386a67d27 [6898] Prevent processing incoming packates for closed connection. 2008-12-12 02:00:47 +03:00
VladimirMangos
3da9f3f4cc [6889] Backport some not client version specific changes and fixes from 303 branch. 2008-12-09 14:08:29 +03:00
tomrus88
ee7f7a0a08 Merge branch 'master' into 303
Conflicts:
	src/game/Player.cpp
	src/mangosd/mangosd.conf.dist.in
2008-11-30 14:05:56 +03:00
VladimirMangos
51546c7ab7 [6858] Prevent cheating with ignore waiting in login queue.
Cheating preventing at reconect for queued session and sending unexpected packets to server.
Removed unneeded after ACE related changes kicked sessions list.
2008-11-29 08:04:37 +03:00
tomrus88
397efd4fac Merge branch 'master' into 303
Conflicts:
	src/game/SpellEffects.cpp
2008-11-18 18:08:58 +03:00
hunuza
ac00eee418 Replace some MapManager::Instance().GetMap() calls with WorldObject::GetMap() 2008-11-17 17:24:53 +01:00
tomrus88
dcb39d1512 Cleanup 2008-11-16 21:17:56 +03:00
tomrus88
3e8ebb024f Fixed: pet spells, possible sql injection, increased sql query size once again 2008-11-04 18:25:37 +03:00
tomrus88
9cc6f1f3ec Merge branch 'master' into 303
Conflicts:
	src/game/Level2.cpp
	src/game/Pet.cpp
	src/game/Player.cpp
2008-11-03 14:44:58 +03:00