From 4ecbea80b59f0707dd7389abeede725d6cca340d Mon Sep 17 00:00:00 2001 From: einhornimmond Date: Tue, 18 May 2021 11:32:54 +0200 Subject: [PATCH] add check for memo also in login-server --- login_server/src/cpp/JSONInterface/JsonCreateTransaction.cpp | 3 +++ login_server/src/cpp/model/gradido/TransactionBase.h | 3 ++- login_server/src/cpp/model/gradido/TransactionTransfer.cpp | 4 ++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/login_server/src/cpp/JSONInterface/JsonCreateTransaction.cpp b/login_server/src/cpp/JSONInterface/JsonCreateTransaction.cpp index 786af9d71..7fb40913e 100644 --- a/login_server/src/cpp/JSONInterface/JsonCreateTransaction.cpp +++ b/login_server/src/cpp/JSONInterface/JsonCreateTransaction.cpp @@ -108,6 +108,9 @@ Poco::JSON::Object* JsonCreateTransaction::transfer(Poco::Dynamic::Var params) else { result = stateError("parameter format unknown"); } + if (mMemo.size() < 5 || mMemo.size() > 150) { + result = stateError("memo is not set or not in expected range [5;150]"); + } if (result) { mm->releaseMemory(target_pubkey); return result; diff --git a/login_server/src/cpp/model/gradido/TransactionBase.h b/login_server/src/cpp/model/gradido/TransactionBase.h index 6a82b2a28..9f5a87d85 100644 --- a/login_server/src/cpp/model/gradido/TransactionBase.h +++ b/login_server/src/cpp/model/gradido/TransactionBase.h @@ -31,7 +31,8 @@ namespace model { TRANSACTION_VALID_INVALID_AMOUNT, TRANSACTION_VALID_INVALID_PUBKEY, TRANSACTION_VALID_INVALID_GROUP_ALIAS, - TRANSACTION_VALID_INVALID_SIGN + TRANSACTION_VALID_INVALID_SIGN, + TRANSACTION_VALID_INVALID_MEMO }; const char* TransactionValidationToString(TransactionValidation result); diff --git a/login_server/src/cpp/model/gradido/TransactionTransfer.cpp b/login_server/src/cpp/model/gradido/TransactionTransfer.cpp index 759d79690..ef0d3a3f6 100644 --- a/login_server/src/cpp/model/gradido/TransactionTransfer.cpp +++ b/login_server/src/cpp/model/gradido/TransactionTransfer.cpp @@ -186,6 +186,10 @@ namespace model { addError(new Error(function_name, "sender and receiver are the same")); return TRANSACTION_VALID_INVALID_PUBKEY; } + if (mMemo.size() < 5 || mMemo.size() > 150) { + addError(new Error(function_name, "memo is not set or not in expected range [5;150]")); + return TRANSACTION_VALID_INVALID_MEMO; + } return TRANSACTION_VALID_OK; }