Details
Description
Description of problem:
When creating paged queue, there is no check whether the file /var/lib/qpidd/<queue_name> exists or not. Hence it is possible to rewrite files like "lock" or "systemId" there.
(Severity of the bug depends on importance of these files for the broker, that apparently is fine to be started with the files overwritten)
Note that creating a file named e.g. "rhm" (that is directory in /var/lib/qpidd) is disallowed even now.
Version-Release number of selected component (if applicable):
0.27 (current upstream)
How reproducible:
100%
Steps to Reproduce:
qpid-send -a "lock; {create:always, delete:always, node: { x-declare: {arguments: {'qpid.paging':'True' }}}}"
echo $?
qpid-send -a "systemId; {create:always, delete:always, node: { x-declare: {arguments: {'qpid.paging':'True' }}}}"
echo $?
Actual results:
0
0
Expected results:
Both should return an error like:
qpid-send: framing-error: Attempting to re-write file /home/pmoravec/.qpidd/systemId for paged queue "systemId" (/home/pmoravec/qpid-trunk/qpid/cpp/src/qpid/sys/posix/MemoryMappedFile.cpp:68)
Attachments
Attachments
Issue Links
- is related to
-
QPID-5485 Deleting paged queue does not remove underlying file
- Closed