r24864: - Correct failure of libsmbclient against a version of Windows found on a NAS
authorDerrell Lipman <derrell@samba.org>
Sat, 1 Sep 2007 18:34:50 +0000 (18:34 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:30:28 +0000 (12:30 -0500)
commitc3678b45df9faba9680c0a4e790b446bb3e7ac62
tree42acce0ad631fe26097a7cc24241a09a5cf94ede
parent00737da4f4e47f43a2fcfcbcecc7d0b44c2dd774
r24864: - Correct failure of libsmbclient against a version of Windows found on a NAS
  device.  The device resets a NBT connection on port 139 when it receives a
  NetBIOS keepalive request.  That request should be supported when NetBIOS is
  in use; Windows is behaving badly.

  libsmbclient needs a way to determine if a connection is still alive, and
  was using a NetBIOS keepalive request if port 139 was in use (on the
  assumption that it was probably NBT), and getpeername() when port 139 was
  not being used (assuming naked transport).

  This patch simplifies the code by exclusively using getpeername() to check
  whether a connection is still alive.  The NetBIOS keepalive request is
  optional anyway (with preference being given to using TCP mechanisms for the
  same purpose), so this should be both simpler and more reliable.

Derrell
(This used to be commit 1f122352b02e3f4be9ac2d638b18807dafd05429)
source3/libsmb/libsmbclient.c