rapid7/metasploit-framework — pull request #2828 by jvennix-r7 (2014-01-06 01:00:22+00:00)
Title: Fixes #8732, sessions -c truncates output on osx python meterpreter session

So it seems like it takes a while on my osx machine for output to appear on the `stdout` python buffer. Simply waiting for the process to end, then reading any available output does not seem to work. I also tried adding a `self.std.flush` before the final read, but it made no effect. Instead I changed it to read until a '' is returned. From the [docs](http://docs.python.org/2/library/stdtypes.html?highlight=read#file.read): "An empty string is returned when EOF is encountered immediately."

Verification steps:
- [ ] Regenerate the python meterpreter payload
- [ ] Verify you can get a python meterpreter session on a windows box. Ensure you can run a command and the output is present: `sessions -i 1 -c ping`
- [ ] Verify you can get a python meterpreter session on an osx box. Ensure you can run a command and the output is present: `sessions -i 1 -c ping`
- [ ] Verify you can get a python meterpreter session on a linux box. Ensure you can run a command and the output is present: `sessions -i 1 -c ping`