Skip to content

Commit 7c70048

Browse files
committed
Fix bind() before connect, and case that can happen in SMB
1 parent 32bd92f commit 7c70048

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

scapy/layers/msrpce/rpcclient.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,10 @@ def from_smblink(cls, smbcli, smb_kwargs={}, **kwargs):
148148

149149
@property
150150
def session(self) -> DceRpcSession:
151-
return self.sock.session
151+
try:
152+
return self.sock.session
153+
except AttributeError:
154+
raise ValueError("Client is not connected ! Please connect()")
152155

153156
def connect(
154157
self,
@@ -485,7 +488,8 @@ def _check_bind_context(self, interface, contexts) -> bool:
485488
for i, ctx in enumerate(contexts):
486489
if ctx.result == 0:
487490
# Context was accepted. Remove all others from cache
488-
self.contexts[interface] = [self.contexts[interface][i]]
491+
if len(self.contexts[interface]) != 1:
492+
self.contexts[interface] = [self.contexts[interface][i]]
489493
return True
490494

491495
return False

0 commit comments

Comments
 (0)