[prev in list] [next in list] [prev in thread] [next in thread] 

List:       zeromq-dev
Subject:    [zeromq-dev] zmq assertion error with nmap UDP scan
From:       Frederic Barnabe <barnabef () gmail ! com>
Date:       2014-08-26 15:06:04
Message-ID: CAJQ9OLmG7rX9hfhpyDpPdv39pJnGn2c9ZJE4WmhGaHPWiEc5wQ () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Hi,

I'm new to this list (well, I'm new to anything ZeroMQ in fact).  I've
searched for the past couple of days but could not find any information on
this.

My client is using ZeroMQ with the java bindings for epgm communication,
but when they run a UPD port scan on their machine, the application stops
with an assertion error in the logs : Assertion failed: status ==
PGM_IO_STATUS_NORMAL (pgm_socket.cpp:627)

nmap command used : nmap -sU <IP> -v -n -p 5589
epgm is obviously listening on port 5589

By digging in the code, I discovered that OpenPGM returns a status code not
handled by ZMQ.  In this case, nmap sends an empty UDP message and OpenPGM
returns PGM_IO_STATUS_EOF in the pgm_recvmsgv function.  ZMQ then throws an
assertion error and exits the process, which my client doesn't like at all!

By adding PGM_IO_STATUS_EOF in the if statements, I have been able to
prevent the process to close, but I'm wondering if it could brake something
else.  I also had to add the status code in the if statement of line 683 of
pgm_socket.cpp to make it work.

I'm using ZMQ 4.0.4 source code on RedHat 6.4.

Frederic

[Attachment #5 (text/html)]

<div dir="ltr">Hi,<div><br></div><div>I&#39;m new to this list (well, I&#39;m new to \
anything ZeroMQ in fact).   I&#39;ve searched for the past couple of days but could \
not find any information on this.</div><div><br></div>

<div>My client is using ZeroMQ with the java bindings for epgm communication, but \
when they run a UPD port scan on their machine, the application stops with an \
assertion error in the logs : Assertion failed: status == PGM_IO_STATUS_NORMAL \
(pgm_socket.cpp:627)</div>

<div><br></div><div>nmap command used :  nmap -sU &lt;IP&gt; -v -n -p \
5589</div><div>epgm is obviously listening on port 5589</div><div><br></div><div>By \
digging in the code, I discovered that OpenPGM returns a status code not handled by \
ZMQ.   In this case, nmap sends an empty UDP message and OpenPGM returns \
PGM_IO_STATUS_EOF in the  pgm_recvmsgv function.   ZMQ then throws an assertion error \
and exits the process, which my client doesn&#39;t like at all!</div>

<div><br></div><div>By adding PGM_IO_STATUS_EOF in the if statements, I have been \
able to prevent the process to close, but I&#39;m wondering if it could brake \
something else.   I also had to add the status code in the if statement of line 683 \
of pgm_socket.cpp to make it work.</div>

<div><br></div><div>I&#39;m using ZMQ 4.0.4 source code on RedHat \
6.4.</div><div><br></div><div>Frederic</div></div>



_______________________________________________
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic