I went through the ActiveMQ 4.0 RC2 code, checking how temporary topics
are implemented. They seem to be regular topics, with generated
pseudo-random topic names. Names are created by concatenating the
connection identifier and a counter number. Is this correct?
Is there a possibility of name-clashes between two clients? Or does the
connection identifier take care of this?
How hard it is to wiretap a temporary topic? If I understood correctly,
broker does not dispatch messages to clients not listening to given
topic. So wiretapping requires knowing/guessing temp topic names, correct?
I'm a bit worried on this because incremental counter is used to
generate topic names. Guessing the name of a temp topic created by
another client is quite easy. Why a cryptographically strong pseudo
random number is not used instead? In Java they can be obtained very
easily by using java.util.UUID.
- About the implementation of temporary topics Aleksi Kallio
-