Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Routing key length is not validated

Abierto
#54 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
42/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
cpp, rabbitmq

Línea de trabajo

Comience con los puntos de entrada topology.bind(exchange, queue, longRoutingKey) y producer->send(message, longRoutingKey, ...), y después reproduzca el ejemplo adjunto con una clave de enrutamiento de más de 255 bytes. Rastree dónde gestiona cada operación la clave y verifique que los valores que exceden el tamaño permitido se rechacen sin que la conexión se bloquee ni se cierre.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

The topic exchange routing key has a limitation of 255 bytes (see https://www.rabbitmq.com/tutorials/tutorial-five-go#:~:text=There%20can%20be%20as%20many,be%20in%20the%20same%20form.). However, this limitation is not applied when binding queue to an exchange or sending the message:

To Reproduce

  1. Specify a long routing key (>255 characters) when binging a queue to an exchange:
    topology.bind(exchange, queue, longRoutingKey);
    No errors will be reported but the process will hang forever.
  2. Specify a long routing key (>255 characters) when sending the message:
    producer->send(message, longRoutingKey, ...);
    The following error will be reported:
    13JAN2025_08:46:10.559653 350290 140737331340864 WARN /home/pasick/github/pasick-clean/rmqcpp/src/rmq/rmqio/rmqio_asioconnection.cpp 410 UNINITIALIZED_LOGGER_MANAGER Socket closed: Connection reset by peer. Current state: 1
    and the connection will be closed.

Please refer to the attached sample which demonstrates the issue:
longRoutingKeyIssue.txt

Expected behavior
I believe that the size of the routing key should be validated and do not accept values larger that 255 bytes.

Lenguaje dominante
C++
Estrellas
106
Forks
32
Merge medio
9 h 6 min
PR fusionados (30 d)
4

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de bloomberg/rmqcpp

Todos los issues de bloomberg/rmqcpp

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.