<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tibia/querymanager/src/query.cc, branch master</title>
<subtitle>Tibia 7.7 compatible query manager</subtitle>
<id>https://kaplar.net/tibia/querymanager/atom?h=master</id>
<link rel='self' href='https://kaplar.net/tibia/querymanager/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://kaplar.net/tibia/querymanager/'/>
<updated>2026-01-17T03:50:58Z</updated>
<entry>
<title>fix problem with EvictExGuildleaders query</title>
<updated>2026-01-17T03:50:58Z</updated>
<author>
<name>fusion32</name>
<email>marcopuzziello@gmail.com</email>
</author>
<published>2026-01-17T03:50:58Z</published>
<link rel='alternate' type='text/html' href='https://kaplar.net/tibia/querymanager/commit/?id=6052f2452409c2d1560984b2d2c5cfc3517742f4'/>
<id>urn:sha1:6052f2452409c2d1560984b2d2c5cfc3517742f4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>turn error codes into enums + check empty credentials before login</title>
<updated>2025-10-31T01:15:57Z</updated>
<author>
<name>fusion32</name>
<email>marcopuzziello@gmail.com</email>
</author>
<published>2025-10-31T01:15:57Z</published>
<link rel='alternate' type='text/html' href='https://kaplar.net/tibia/querymanager/commit/?id=093e1563df314c661bb1b73524309fd154001ce2'/>
<id>urn:sha1:093e1563df314c661bb1b73524309fd154001ce2</id>
<content type='text'>
  Using enums instead of hard coded numbers for error codes should
help with readability, even though they're local to the functions
that use them to avoid flooding the namespace.
  Checking whether credentials are empty before login will prevent
error messages such as "account disabled" from showing up when no
account is specified, which may look weird. It'll also avoid any
database reads although this shouldn't really make a difference
torwards performance or security since it's only an edge case.
</content>
</entry>
<entry>
<title>prevent password brute force (#4)</title>
<updated>2025-10-30T04:03:01Z</updated>
<author>
<name>fusion32</name>
<email>marcopuzziello@gmail.com</email>
</author>
<published>2025-10-30T04:03:01Z</published>
<link rel='alternate' type='text/html' href='https://kaplar.net/tibia/querymanager/commit/?id=d36b26307d55602e2116ce3fcfa767693c266d7a'/>
<id>urn:sha1:d36b26307d55602e2116ce3fcfa767693c266d7a</id>
<content type='text'>
  Prevent blocked IP addresses and accounts from returning anything
other than a blocked error message. Previously, further attempts
would first check the password which enabled brute force attacks
to use the "invalid account/password" message as an oracle.
</content>
</entry>
<entry>
<title>change how guild data is stored</title>
<updated>2025-10-23T07:26:11Z</updated>
<author>
<name>fusion32</name>
<email>marcopuzziello@gmail.com</email>
</author>
<published>2025-10-23T07:26:11Z</published>
<link rel='alternate' type='text/html' href='https://kaplar.net/tibia/querymanager/commit/?id=27a0df43b33b712462ab5be65462162b9e4bcd29'/>
<id>urn:sha1:27a0df43b33b712462ab5be65462162b9e4bcd29</id>
<content type='text'>
</content>
</entry>
<entry>
<title>world startup/shutdown timestamps + adjust a few column names</title>
<updated>2025-10-17T19:12:31Z</updated>
<author>
<name>fusion32</name>
<email>marcopuzziello@gmail.com</email>
</author>
<published>2025-10-17T19:12:31Z</published>
<link rel='alternate' type='text/html' href='https://kaplar.net/tibia/querymanager/commit/?id=d92f642810dc3125515d64f953d2bee840de1cc1'/>
<id>urn:sha1:d92f642810dc3125515d64f953d2bee840de1cc1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>properly handle text encoding differences with QueryManager clients</title>
<updated>2025-10-17T02:04:00Z</updated>
<author>
<name>fusion32</name>
<email>marcopuzziello@gmail.com</email>
</author>
<published>2025-10-17T01:51:58Z</published>
<link rel='alternate' type='text/html' href='https://kaplar.net/tibia/querymanager/commit/?id=63705942a366d39308251549a018451808c20ac8'/>
<id>urn:sha1:63705942a366d39308251549a018451808c20ac8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>move ResolveHostName outside of GetCharacterEndpoints</title>
<updated>2025-10-16T07:23:52Z</updated>
<author>
<name>fusion32</name>
<email>marcopuzziello@gmail.com</email>
</author>
<published>2025-10-16T07:23:52Z</published>
<link rel='alternate' type='text/html' href='https://kaplar.net/tibia/querymanager/commit/?id=01a6e8dbe42fb6571ad846bee5e1d8cc7c9fba5e'/>
<id>urn:sha1:01a6e8dbe42fb6571ad846bee5e1d8cc7c9fba5e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>GET_WORLD_CONFIG robustness + tidying up a few variable names</title>
<updated>2025-10-14T22:15:28Z</updated>
<author>
<name>fusion32</name>
<email>marcopuzziello@gmail.com</email>
</author>
<published>2025-10-14T22:15:28Z</published>
<link rel='alternate' type='text/html' href='https://kaplar.net/tibia/querymanager/commit/?id=00d91512b48c70c3cebcdb5ed37c601653425bf6'/>
<id>urn:sha1:00d91512b48c70c3cebcdb5ed37c601653425bf6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>most of the postgres primitives/helpers</title>
<updated>2025-10-13T22:47:12Z</updated>
<author>
<name>fusion32</name>
<email>marcopuzziello@gmail.com</email>
</author>
<published>2025-10-13T22:47:12Z</published>
<link rel='alternate' type='text/html' href='https://kaplar.net/tibia/querymanager/commit/?id=b1631a7952d72ce56bd10656fffedc8a7fe322ca'/>
<id>urn:sha1:b1631a7952d72ce56bd10656fffedc8a7fe322ca</id>
<content type='text'>
</content>
</entry>
<entry>
<title>beginning of postgres driver + overall tweaks</title>
<updated>2025-10-13T17:56:50Z</updated>
<author>
<name>fusion32</name>
<email>marcopuzziello@gmail.com</email>
</author>
<published>2025-10-13T17:56:50Z</published>
<link rel='alternate' type='text/html' href='https://kaplar.net/tibia/querymanager/commit/?id=f188d54236256e3b820425a98d7d06e422673a97'/>
<id>urn:sha1:f188d54236256e3b820425a98d7d06e422673a97</id>
<content type='text'>
</content>
</entry>
</feed>
