-
Notifications
You must be signed in to change notification settings - Fork 14.7k
Fix the flakey UDP channel tests #20729
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix the flakey UDP channel tests #20729
Conversation
61489f0 to
d733ed8
Compare
d733ed8 to
2bbcd7d
Compare
29cdc8c to
da91209
Compare
b25ab8c to
98a21b0
Compare
|
The PHP setup task for 7.4 and 8.3 on macos 13 are failing with this output when run with PHP Setup Error with macos-13 Runnerhttps://github.com/rapid7/metasploit-framework/actions/runs/19974896801/job/57288717145?pr=20729 Detailshttps://github.com/rapid7/metasploit-framework/actions/runs/19976548277/job/57294121174?pr=20729 This occurred in the Setup Ruby task: |
4f10407 to
eb001b8
Compare
f1feb91 to
7c57c88
Compare
a26179e to
69492b9
Compare
673fdff to
83d27b2
Compare
| } | ||
| ], | ||
| module_tests: [ | ||
| { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
iirc at the minute there's a 1 to 1 mapping of the post/test modules to the automated meterpreter tests so that we can ensure consistency in the payload behaviors - is there any context on why we need to delete the test here? 👀
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These tests are all skipped because PHP doesn't support services, railgun or the registry API. The command exec tests don't run anymore because PHP 5.3 isn't a runner.
3233349 to
c7212c1
Compare
| - { name: java, runtime_version: 21 } | ||
|
|
||
| # PHP | ||
| - { name: php, runtime_version: 5.3 } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Instead of dropping 5.3 support entirely from the test suite; what are your thoughts on just providing a different UX for the broken behavior? i.e. provide graceful degradation for just the failing UDP behavior that is it problematic, that way in the future we can know if the payload breaks entirely versus a subset of the behavior being unsupported
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It also looks like this PR description suggests the functionality should pass: rapid7/metasploit-payloads#787
This resolves those issues so the socket tests that are intended to pass do pass with both PHP v8.4 on Linux and PHP v5.3 on Winows.
php 5.3 windows-2022:
Failures:
1) Meterpreter php stageless php/meterpreter_reverse_tcp windows post/test/socket_channels windows/php meterpreter successfully opens a session for the "php/meterpreter_reverse_tcp" payload and passes the "post/test/socket_channels" tests
Failure/Error: expect(test_line).to_not include('FAILED', '[-] FAILED', '[-] Exception', '[-] '), "Unexpected error: #{test_line}"
Unexpected error: [-] FAILED: [UDP] Receives data from the peer
c7212c1 to
afc26c4
Compare
afc26c4 to
b47e3d9
Compare
|
Superseded by #20868 |
Should fix most of the Meterpreter acceptance tests. This whole things was a giant exercise in CI whack a mole where almost all of the issues were related to the runners and not actually in Meterpreter.
Requires rapid7/metasploit-payloads#787 for the one issue that was due to Meterpreter.