Opened 11 years ago

Closed 11 years ago

Last modified 11 years ago

#13 closed Bug / Defect (fixed)

Not using --push on server makes client sending PUSH_REQUEST continuously

Reported by: David Sommerseth Owned by: David Sommerseth
Priority: critical Milestone: beta 2.2
Component: Configuration Version: OpenVPN git master branch (Community Ed)
Severity: Not set (select this one, unless your'e a OpenVPN developer) Keywords:
Cc:

Description (last modified by David Sommerseth)

Reported to sf.net bug tracker:
http://sourceforge.net/tracker/?func=detail&atid=454719&aid=3009984&group_id=48978

When not using --push on the server side, the client sends new PUSH_REQUESTS which blocks the tunnel being set up properly.

Adding either --tcp-nodelay (even though we're using UDP) or a --push statement resolves this issue.

Confirmed on 2.1.1 and openvpn-testing.git (commit bdd699ccafd4f566e87e3ed127)

Attached config files for reproducing this issue from the openvpn-testing.git source tree.

Attachments (3)

nopush_server.conf (361 bytes) - added by David Sommerseth 11 years ago.
Reproducer: Server side config
nopush_client.conf (218 bytes) - added by David Sommerseth 11 years ago.
Reproducer: Client side config
0001-Fixed-client-hang-when-server-don-t-PUSH-aka-the-NO_.patch (2.1 KB) - added by David Sommerseth 11 years ago.
Patch fixing this issue

Download all attachments as: .zip

Change History (7)

Changed 11 years ago by David Sommerseth

Attachment: nopush_server.conf added

Reproducer: Server side config

Changed 11 years ago by David Sommerseth

Attachment: nopush_client.conf added

Reproducer: Client side config

comment:1 Changed 11 years ago by David Sommerseth

Description: modified (diff)

comment:2 Changed 11 years ago by David Sommerseth

Owner: set to David Sommerseth
Status: newaccepted

Changed 11 years ago by David Sommerseth

Patch fixing this issue

comment:3 Changed 11 years ago by David Sommerseth

Resolution: fixed
Status: acceptedclosed
Version: 2.1.0 / 2.1.1openvpn-testing

This commit solves the issue. It got applied to the bugfix2.1 and merged into allmerged Jun 17.

commit cb56a3ebe65871ae37894503e35c0b3703ee17a5
Author: David Sommerseth <dazo@…>
Date: Sun Jun 13 00:35:55 2010 +0200

Fixed client hang when server don't PUSH (aka the NO_SOUP_FOR_YOU patch)


Solves bug ticket 13
<https://community.openvpn.net/openvpn/ticket/13>


When the client sends PUSH_REQUESTS, it waits until the server sends PUSH_RE
If the server do not have anything to push to the client nothing happens. T
client will then regularly send new PUSH_REQUESTS until it gets an answer, w
results in not completing the connection negotiation.


This patch makes the server send an empty PUSH_REPLY when it has nothing to
to push to the client.


Signed-off-by: David Sommerseth <dazo@…>
Acked-by: James Yonan <james@…>

comment:4 Changed 11 years ago by David Sommerseth

Milestone: beta 2.2
Note: See TracTickets for help on using tickets.