s3: Fix connecting to port-139 only servers
authorVolker Lendecke <vl@samba.org>
Sat, 22 Jan 2011 15:22:42 +0000 (16:22 +0100)
committerKarolin Seeger <kseeger@samba.org>
Sun, 23 Jan 2011 18:40:55 +0000 (19:40 +0100)
When the TCP RST came before the 5 msecs timeout kicked in, we
viewed this as final, as state->req_139 was not set yet.

Fix bug introduced by a fix for bug #7881 (winbind flaky against w2k8).
(cherry picked from commit f2a19b87725f9318e983dff6358a3eee721bff08)
(cherry picked from commit 569be63e727e69e7e52ec39f40e60903c6826614)

source3/libsmb/smbsock_connect.c

index 8ab12c5e2a2746279145abd48dfcbe41b9c57d3c..b6c1c3c058a76c1359b7e311ab8d7a901ba9491f 100644 (file)
@@ -221,12 +221,14 @@ struct tevent_req *smbsock_connect_send(TALLOC_CTX *mem_ctx,
        /*
         * After 5 msecs, fire the 139 request
         */
-       subreq = tevent_wakeup_send(state, ev, timeval_current_ofs(0, 5000));
-       if (tevent_req_nomem(subreq, req)) {
+       state->req_139 = tevent_wakeup_send(
+               state, ev, timeval_current_ofs(0, 5000));
+       if (tevent_req_nomem(state->req_139, req)) {
                TALLOC_FREE(state->req_445);
                return tevent_req_post(req, ev);
        }
-       tevent_req_set_callback(subreq, smbsock_connect_do_139, req);
+       tevent_req_set_callback(state->req_139, smbsock_connect_do_139,
+                               req);
        return req;
 }