(cherry picked from commit b615789fcc
)
This commit is contained in:
parent
ab100f8ee5
commit
68278f36fd
4 changed files with 53 additions and 0 deletions
2
changelogs/fragments/psrp-copy-empty-file.yml
Normal file
2
changelogs/fragments/psrp-copy-empty-file.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
bugfixes:
|
||||
- psrp - Fix hang when copying an empty file to the remote target
|
|
@ -663,6 +663,9 @@ end {
|
|||
b64_data = base64.b64encode(b_data)
|
||||
yield [to_text(b64_data)]
|
||||
|
||||
if offset == 0: # empty file
|
||||
yield [""]
|
||||
|
||||
rc, stdout, stderr = self._exec_psrp_script(copy_script, read_gen(), arguments=[out_path], force_stop=True)
|
||||
|
||||
return rc, stdout, stderr, sha1_hash.hexdigest()
|
||||
|
|
0
test/integration/targets/connection_psrp/files/empty.txt
Normal file
0
test/integration/targets/connection_psrp/files/empty.txt
Normal file
|
@ -83,3 +83,51 @@
|
|||
- shell_unicode_output.rc == 0
|
||||
- "shell_unicode_output.stdout == '\U0001F4A9\n'"
|
||||
- shell_unicode_output.stderr == ''
|
||||
|
||||
- name: copy empty file
|
||||
win_copy:
|
||||
src: empty.txt
|
||||
dest: C:\Windows\TEMP\empty.txt
|
||||
register: copy_empty
|
||||
|
||||
- name: get result of copy empty file
|
||||
win_stat:
|
||||
path: C:\Windows\TEMP\empty.txt
|
||||
get_checksum: yes
|
||||
register: copy_empty_actual
|
||||
|
||||
- name: assert copy empty file
|
||||
assert:
|
||||
that:
|
||||
- copy_empty.checksum == 'da39a3ee5e6b4b0d3255bfef95601890afd80709'
|
||||
- copy_empty_actual.stat.checksum == 'da39a3ee5e6b4b0d3255bfef95601890afd80709'
|
||||
- copy_empty_actual.stat.size == 0
|
||||
|
||||
- block:
|
||||
- name: fetch empty file
|
||||
fetch:
|
||||
src: C:\Windows\TEMP\empty.txt
|
||||
dest: /tmp/empty.txt
|
||||
flat: yes
|
||||
register: fetch_empty
|
||||
|
||||
- name: get result of fetch empty file
|
||||
stat:
|
||||
path: /tmp/empty.txt
|
||||
get_checksum: yes
|
||||
register: fetch_empty_actual
|
||||
delegate_to: localhost
|
||||
|
||||
- name: assert fetch empty file
|
||||
assert:
|
||||
that:
|
||||
- fetch_empty.checksum == 'da39a3ee5e6b4b0d3255bfef95601890afd80709'
|
||||
- fetch_empty_actual.stat.checksum == 'da39a3ee5e6b4b0d3255bfef95601890afd80709'
|
||||
- fetch_empty_actual.stat.size == 0
|
||||
|
||||
always:
|
||||
- name: remove tmp file
|
||||
file:
|
||||
path: /tmp/empty.txt
|
||||
state: absent
|
||||
delegate_to: localhost
|
||||
|
|
Loading…
Reference in a new issue