BUG: MSMQ Private Queue Security Settings Do Not Change Until Restart (272512)



The information in this article applies to:

  • Microsoft Message Queuing 2.0

This article was previously published under Q272512

SYMPTOMS

Changes to the security settings of a private queue do not take affect until you restart the MSMQ service or restart the computer.

CAUSE

When you open an MSMQ queue, the MSMQ service creates and caches an internal "queue object." This object continues to persist for an indefinite period after the queue is closed. Attempts to modify private queue security settings through calls to MQSetQueueSecurity() (and indirectly through graphical user interface tools) affect the LQS file associated with the private queue and do not update this cached object.

If you reopen the private queue before the cached object has been purged, the security settings will be taken from the cached object instead of the LQS file. It is not currently possible to manually purge this object, nor is it possible to determine its cached status.

RESOLUTION

You need to restart the MSMQ service after making changes to a private queue's security settings.

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.

MORE INFORMATION

Steps to Reproduce Behavior

On a computer running Microsoft Windows 2000, follow these steps:
  1. Create a private queue with "Full Control" permissions granted to "Everyone".
  2. Send messages to this queue from a local user account on a remote computer. The messages should be accepted.
  3. Edit the queue's security settings: Grant "Full Control" to the local administrator but remove all access rights for "Everyone".
  4. Send additional messages to this queue from a local user account on a remote computer. The messages should be rejected but will instead be accepted.
  5. Restart the MSMQ service on the receiving computer.
  6. Send additional messages from a local user account on a remote computer. The messages will now be rejected.

Modification Type:MajorLast Reviewed:10/15/2002
Keywords:kbBug KB272512