pr_21327.patch 1.4 KB

123456789101112131415161718192021222324252627282930313233343536
  1. --- overleaf/services/web/app/src/infrastructure/RateLimiter.js
  2. +++ overleaf/services/web/app/src/infrastructure/RateLimiter.js
  3. @@ -39,7 +39,7 @@ class RateLimiter {
  4. keyPrefix: `rate-limit:${name}`,
  5. storeClient: rclient,
  6. })
  7. - if (opts.subnetPoints) {
  8. + if (opts.subnetPoints && !Settings.rateLimit?.subnetRateLimiterDisabled) {
  9. this._subnetRateLimiter = new RateLimiterFlexible.RateLimiterRedis({
  10. ...opts,
  11. points: opts.subnetPoints,
  12. --- overleaf/services/web/config/settings.defaults.js
  13. +++ overleaf/services/web/config/settings.defaults.js
  14. @@ -777,6 +777,8 @@ module.exports = {
  15. reloadModuleViewsOnEachRequest: process.env.NODE_ENV === 'development',
  16. rateLimit: {
  17. + subnetRateLimiterDisabled:
  18. + process.env.SUBNET_RATE_LIMITER_DISABLED === 'true',
  19. autoCompile: {
  20. everyone: process.env.RATE_LIMIT_AUTO_COMPILE_EVERYONE || 100,
  21. standard: process.env.RATE_LIMIT_AUTO_COMPILE_STANDARD || 25,
  22. --- etc/overleaf/settings.js
  23. +++ etc/overleaf/settings.js
  24. @@ -212,6 +212,11 @@ const settings = {
  25. enabled: process.env.OVERLEAF_CSP_ENABLED !== 'false',
  26. },
  27. + rateLimit: {
  28. + subnetRateLimiterDisabled:
  29. + process.env.SUBNET_RATE_LIMITER_DISABLED !== 'false',
  30. + },
  31. +
  32. // These credentials are used for authenticating api requests
  33. // between services that may need to go over public channels
  34. httpAuthUsers,