Lets try always supplying the AES keys to Packet dearmor() and see if that prevents the coma problem.

This commit is contained in:
Adam Ierymenko 2021-02-13 00:01:49 -05:00
parent 7c2066c258
commit 147945d20f
No known key found for this signature in database
GPG Key ID: C8877CF2D7A5D7F3
2 changed files with 6 additions and 3 deletions

View File

@ -67,7 +67,7 @@ bool IncomingPacket::tryDecode(const RuntimeEnvironment *RR,void *tPtr,int32_t f
const SharedPtr<Peer> peer(RR->topology->getPeer(tPtr,sourceAddress));
if (peer) {
if (!trusted) {
if (!dearmor(peer->key(), peer->aesKeysIfSupported())) {
if (!dearmor(peer->key(), peer->aesKeys())) {
RR->t->incomingPacketMessageAuthenticationFailure(tPtr,_path,packetId(),sourceAddress,hops(),"invalid MAC");
peer->recordIncomingInvalidPacket(_path);
return true;

View File

@ -534,12 +534,15 @@ public:
*/
inline int8_t bondingPolicy() { return _bondingPolicy; }
//const AES *aesKeysIfSupported() const
//inline const AES *aesKeysIfSupported() const
//{ return (const AES *)0; }
const AES *aesKeysIfSupported() const
inline const AES *aesKeysIfSupported() const
{ return (_vProto >= 12) ? _aesKeys : (const AES *)0; }
inline const AES *aesKeys() const
{ return _aesKeys; }
private:
struct _PeerPath
{