Tag release v5.2.0
References: #169, #171, #172, #173
- Issue - The
ElasticBeanstalkSQSDmiddleware's Docker host check now only consultsremote_addr, the raw TCP peer address, instead of also acceptingremote_ip.remote_ipis derived from the client-suppliedX-Forwarded-Forheader whenever the peer address is itself private, so a request from any private address could name the Docker gateway and be treated as local. Loopback peer addresses are accepted by the check, so requests proxied over loopback are unaffected. - Issue - Only classes inheriting from
ActiveJob::Baseare executed by theElasticBeanstalkSQSDmiddleware, preventing arbitrary classes named in an SQS message from being instantiated and run. Job class and periodic task names are validated as constant paths and resolved without searching the namespace's ancestors, so a request cannot name a constant outside the intended namespace. - Feature - Adds a new configuration object for elastic beanstalk sqsd middleware, with an optional
job_class_allowlistconfiguration toElasticBeanstalkSQSDmiddleware to restrict which job classes can be dispatched. When set, the allowlist is checked before the class name is resolved, so an excluded class is never loaded.