Reading a moderately large file (7MB) fails with Ua Expert due to a limit of transferred segments:
Message is "Reading UA file 'ns=2;i=5005' not completed after 100 reads - stop read"
100 times 4096 Bytes is less than 7MB, which is correctly announced in the Size property of the file object (as well as the buffer limit of 4096 Bytes).
Ua Expert should either allow configuring the number of reads or better - simply calculate a proper limit by using the aforementioned object properties.
Is there a workaround for the moment which I could use?
File Transfer Failed
Moderator: uaexpert
- Support Team
- Hero Member
- Posts: 3208
- Joined: 18 Mar 2011, 15:09
Re: File Transfer Failed
Hi,
yes you are correct we limited the read to not end up in deep recursion, which may be a security risk. That said the buffer should be bigger (but less than message size). The UaExpert file read is a quick hack, unfortunately for "less moderate" files than yours, but good enough for simple testing of the general function.
But agree that could do much better. Will forward to development.
Thank you.
yes you are correct we limited the read to not end up in deep recursion, which may be a security risk. That said the buffer should be bigger (but less than message size). The UaExpert file read is a quick hack, unfortunately for "less moderate" files than yours, but good enough for simple testing of the general function.
But agree that could do much better. Will forward to development.
Thank you.
Best regards
Unified Automation Support Team
Unified Automation Support Team
-
- Jr. Member
- Posts: 2
- Joined: 05 Nov 2024, 17:56
Re: File Transfer Failed
Making the 100 limit configurable would help. (Sidenote / question / curiosity: In what way is not having a limit a security risk? DoS-Attacks? In that case, the server should enforce the limit, not the client)
- Support Team
- Hero Member
- Posts: 3208
- Joined: 18 Mar 2011, 15:09
Re: File Transfer Failed
Hi,
yes, you could avoid DoS attacks by having limits configured that avaoid, high load, stacking up calls and communication buffers and memory, and the like. So from availability perspective it would be good to "limit" to useful and acceptable values (depending on the horse power of your machine).
yes, you could avoid DoS attacks by having limits configured that avaoid, high load, stacking up calls and communication buffers and memory, and the like. So from availability perspective it would be good to "limit" to useful and acceptable values (depending on the horse power of your machine).
Best regards
Unified Automation Support Team
Unified Automation Support Team