Znuny/Znuny LTS is a fork of the ((OTRS)) Community Edition, one of the most flexible web-based ticketing systems used for Customer Service, Help Desk, IT Service Management.
This mod fixes the following upload cache problems:
(1)
If one uploads many files (dropping files test0.bin-test9.bin in one move) races may occur and file id in DOM won't match file ids in web upload dir on server, i.e.:
This problem was solved by removing unnecessary FileID attribute from upload data struct to avoid any races that may occur between filename list and fileid list. Only filename will be used to identify items added to upload cache.
This bug is dangerous - think about uploading some confidential stuff by mistake, then removing it (disappears from UI) and sending message with different set of files than displayed in UI (i.e. with confidential stuff that user wanted to remove).
(2)
Double clicking trash icon to remove attachment generates two requests to server and one will cause an error.
(3)
Unused upload handling code removed.
Type of change
'1 - 🐞 bug 🐞' - Bugfix (non-breaking change which fixes an issue)
Breaking change
Removes FileID attribute from web upload cache objects to avoid races.
Proposed change
This mod fixes the following upload cache problems:
(1) If one uploads many files (dropping files test0.bin-test9.bin in one move) races may occur and file id in DOM won't match file ids in web upload dir on server, i.e.:
This may be fixed with patch (which unblocks updating all file ids on upload not just for one file)...
...but using file ids for identification of uploaded files is not race condition resistant; to provoke race condition apply patch
and drop files test01.bin and test02.bin (same size) in one move; after upload there will be:
not
This problem was solved by removing unnecessary FileID attribute from upload data struct to avoid any races that may occur between filename list and fileid list. Only filename will be used to identify items added to upload cache.
This bug is dangerous - think about uploading some confidential stuff by mistake, then removing it (disappears from UI) and sending message with different set of files than displayed in UI (i.e. with confidential stuff that user wanted to remove).
(2) Double clicking trash icon to remove attachment generates two requests to server and one will cause an error.
(3) Unused upload handling code removed.
Type of change
Breaking change
Removes FileID attribute from web upload cache objects to avoid races.
Additional information
Replaces: https://github.com/znuny/Znuny/pull/179 Author-Change-Id: IB#1113065
Checklist