aboutsummaryrefslogtreecommitdiff
path: root/src/server/database/Database/Field.cpp
diff options
context:
space:
mode:
authorTreeston <treeston.mmoc@gmail.com>2020-08-02 22:52:21 +0200
committerShauren <shauren.trinity@gmail.com>2020-08-03 22:37:47 +0200
commit73922d2a857614d27ddb9dfa517687b8018e5d39 (patch)
tree2d1d2babf54728e4e784138b00105eaf042f35df /src/server/database/Database/Field.cpp
parent77380f032b772ff180b6b663d241079a12eb608b (diff)
Core/Authserver: Re-organize the `accounts` table (PR #25135)
- no longer use sha_pass_hash for anything else core-side (.account, SOAP, RA) - salt/verifier/session_key are now binary - old s/v/sha_pass_hash fields kept around for backwards compatibility - sha_pass_hash is still updated (for now), s/v are not - sha_pass_hash is only read if s/v have been manually changed - SRP6 b now uses the full 32 bytes of randomness (instead of randomly only using 19) (cherry picked from commit 3164b58c7d170810b69378950c0891e5f5b8678b)
Diffstat (limited to 'src/server/database/Database/Field.cpp')
-rw-r--r--src/server/database/Database/Field.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/server/database/Database/Field.cpp b/src/server/database/Database/Field.cpp
index 1a5f74348c0..657cc062409 100644
--- a/src/server/database/Database/Field.cpp
+++ b/src/server/database/Database/Field.cpp
@@ -16,6 +16,7 @@
*/
#include "Field.h"
+#include "Errors.h"
#include "Log.h"
#include "MySQLHacks.h"
@@ -247,6 +248,12 @@ std::vector<uint8> Field::GetBinary() const
return result;
}
+void Field::GetBinarySizeChecked(uint8* buf, size_t length) const
+{
+ ASSERT(data.value && (data.length == length), "Expected %zu-byte binary blob, got %sdata (%u bytes) instead", length, data.value ? "" : "no ", data.length);
+ memcpy(buf, data.value, length);
+}
+
void Field::SetByteValue(char const* newValue, uint32 length)
{
// This value stores raw bytes that have to be explicitly cast later