More specific check for service imports vs any internal sub

Signed-off-by: Neil Twigg <neil@nats.io>
This commit is contained in:
Neil Twigg
2023-07-12 19:52:20 +01:00
parent fbbbe28278
commit 1434ee7da8

View File

@@ -3127,8 +3127,8 @@ var needFlush = struct{}{}
// deliverMsg will deliver a message to a matching subscription and its underlying client.
// We process all connection/client types. mh is the part that will be protocol/client specific.
func (c *client) deliverMsg(prodIsMQTT bool, sub *subscription, acc *Account, subject, reply, mh, msg []byte, gwrply bool) bool {
// Check sub client and check echo. Only do this if not an internal sub.
if sub.client == nil || (c == sub.client && !sub.client.echo && sub.icb == nil) {
// Check sub client and check echo. Only do this if not a service import.
if sub.client == nil || (c == sub.client && !sub.client.echo && !sub.si) {
return false
}