ChugR opened a new pull request #717: DISPATCH-975: Enforce max message size on message ingress URL: https://github.com/apache/qpid-dispatch/pull/717 MaxMessageSize may be specified globally, per vhost, or per vhost user group. The global setting applies to all vhosts for which maxMessageSize is unspecified. The vhost setting applies to all vhost user groups for which maxMessageSize is unspecified. The vhost user group setting overrides all other settings. A maxMessageSize setting of zero disables maxMessageSize enforcement. Links over which maxMessageSize is being enforced will advertise the size in the max-message-size field of the Attach frame. Qpid-dispatch ignores the max-message-size field received in incoming Attach frames. Message size for maxMessageSize purposes is calculated to be the number of AMQP octets in the Annotated Message. This includes the header, delivery-annotations, message-annotations, properties, application-properties, application-data, and footer sections. Administrators and users must be aware that a "message" consisting a single character string (the application-data) will be much larger over the wire after properties and annotations have been inserted. Max message size is enforced on message/transfer ingress only. Interior routers form a trusted domain where messages that have entered by one interior router are allowed to any destination in the system. Edge routers are not trusted; messages from an edge router must be checked again by the attached interior router before they are forwarded to the trusted network. * Transfer size is checked as a message enters an interior router. A message that passes an interior router size check is free to go to any destination on that router or any other interior or edge router. * Transfers size is checked as a message enters an edge router. A message that passes an edge router size check is free to go to any destination on that edge router. If the message is uplinked to an interior router then that interior router may apply another max message size check possibly using a different maximum message size setting. When a message exceeds max size then: * Disposition of rejected is returned to the sender for that delivery. * Copies of the message being delivered through the router network are aborted. * The connection to the sender is closed with condition: "amqp:connection:message-size-exceeded" Self test includes a four-router linear network with two interior and two edge routers. Tests try oversize and undersize messages with a variety of sender and receiver attachment points in that network. TODO: * No tests yet for multicast or link route.
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
