You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Upd. Cleantalk.php. Rotate moderate. Now use CURLOPT_RESOLVE for IP instead of converting IP as string if IP is used as fallback. - #894
alexandergull
changed the title
Upd. Cleantalk.php. Rotate moderate. Now use CURLOPT_RESOLVE for IP instead of converting IP as string if IP is used as fallback. https://app.doboard.com/1/task/55885
Upd. Cleantalk.php. Rotate moderate. Now use CURLOPT_RESOLVE for IP instead of converting IP as string if IP is used as fallback.
Sep 21, 2026
❌ Patch coverage is 77.46479% with 16 lines in your changes missing coverage. Please review.
✅ Project coverage is 33.39%. Comparing base (968b546) to head (f9fef08). ⚠️ Report is 124 commits behind head on dev.
The reason will be displayed to describe this comment to others. Learn more.
Warning
Copilot's review of this pull request may be incomplete because some of the changed files are excluded by your Copilot content exclusion settings. See Excluding content from Copilot for details.
🔵 Needs a closer look
Rotation excludes cached IPs without attempting them, which can break feedback delivery and DNS recovery.
Avoid blacklisting cached IP when the request is skipped
lib/Cleantalk/Antispam/Cleantalk.php:285
This marks the cached IP as failed even when the initial request was skipped because work_url is empty or expired. Both feedback callers reject stored HTTPS URLs with their HTTP-only check but now load work_ip, so they reach this case. If that IP is the only candidate, rotation skips it and feedback is sent to a relative URL; with an expired URL, retries lose IP pinning and cannot recover from DNS failures. Only blacklist the cached IP after an actual failed request. Here, $result === false identifies a skipped request because sendRequest() returns a response object even on failure.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
https://app.doboard.com/1/task/55885