MCPcopy Index your code
hub / github.com/sshuttle/sshuttle / start

Method start

sshuttle/client.py:411–455  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

409 raise Fatal('%r returned %d' % (self.argv, rv))
410
411 def start(self):
412 self.pfile.write(b'ROUTES\n')
413 for (family, ip, width, fport, lport) \
414 in self.subnets_include + self.auto_nets:
415 self.pfile.write(b'%d,%d,0,%s,%d,%d\n' % (family, width,
416 ip.encode("ASCII"),
417 fport, lport))
418 for (family, ip, width, fport, lport) in self.subnets_exclude:
419 self.pfile.write(b'%d,%d,1,%s,%d,%d\n' % (family, width,
420 ip.encode("ASCII"),
421 fport, lport))
422
423 self.pfile.write(b'NSLIST\n')
424 for (family, ip) in self.nslist:
425 self.pfile.write(b'%d,%s\n'
426 % (family, ip.encode("ASCII")))
427
428 self.pfile.write(
429 b'PORTS %d,%d,%d,%d\n'
430 % (self.redirectport_v6, self.redirectport_v4,
431 self.dnsport_v6, self.dnsport_v4))
432
433 udp = 0
434 if self.udp:
435 udp = 1
436 if self.user is None:
437 user = b'-'
438 elif isinstance(self.user, str):
439 user = bytes(self.user, 'utf-8')
440 else:
441 user = b'%d' % self.user
442 if self.group is None:
443 group = b'-'
444 elif isinstance(self.group, str):
445 group = bytes(self.group, 'utf-8')
446 else:
447 group = b'%d' % self.group
448 self.pfile.write(b'GO %d %s %s %s %d\n' %
449 (udp, user, group, bytes(self.tmark, 'ascii'), os.getpid()))
450 self.pfile.flush()
451
452 line = self.pfile.readline()
453 self.check()
454 if line != b'STARTED\n':
455 raise Fatal('%r expected STARTED, got %r' % (self.argv, line))
456
457 def sethostip(self, hostname, ip):
458 assert not re.search(br'[^-\w\.]', hostname)

Callers 3

serverreadyFunction · 0.80
__init__Method · 0.80

Calls 4

checkMethod · 0.95
FatalClass · 0.90
writeMethod · 0.80
flushMethod · 0.80

Tested by

no test coverage detected