feat: harden gateway reply remap and leaf loop transparency
This commit is contained in:
@@ -879,6 +879,8 @@ public sealed class NatsServer : IMessageRouter, ISubListAccess, IDisposable
|
||||
var replyTo = message.ReplyTo;
|
||||
if (ReplyMapper.TryRestoreGatewayReply(replyTo, out var restoredReply))
|
||||
replyTo = restoredReply;
|
||||
else if (ReplyMapper.HasGatewayReplyPrefix(replyTo))
|
||||
replyTo = null;
|
||||
|
||||
DeliverRemoteMessage(message.Account, message.Subject, replyTo, message.Payload);
|
||||
}
|
||||
@@ -891,6 +893,8 @@ public sealed class NatsServer : IMessageRouter, ISubListAccess, IDisposable
|
||||
var subject = message.Subject;
|
||||
if (LeafLoopDetector.TryUnmark(subject, out var unmarked))
|
||||
subject = unmarked;
|
||||
else if (LeafLoopDetector.HasLoopMarker(subject))
|
||||
return;
|
||||
|
||||
DeliverRemoteMessage(message.Account, subject, message.ReplyTo, message.Payload);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user