Skip to content

Commit

Permalink
recent tncc.jar looks for files in ~/.pulse_secure rather than ~/.jun…
Browse files Browse the repository at this point in the history
…iper_networks

Signed-off-by: Daniel Lenski <dlenski@gmail.com>
  • Loading branch information
dlenski committed Apr 8, 2020
1 parent 3248730 commit f09cf4a
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 6 deletions.
20 changes: 14 additions & 6 deletions trojans/tncc-wrapper.py
Expand Up @@ -23,6 +23,14 @@
import urllib.request
import ssl

# In order to run this, you will need to build tncc_preload.so (from
# https://github.com/russdill/ncsvc-socks-wrapper) and place it in this
# directory.
#
# Very old versions of the TNCC Java binary expect to find files in
# ~/.juniper_networks instead of ~/.pulse_secure
TNCC_DIRECTORY = "~/.pulse_secure"

ssl._create_default_https_context = ssl._create_unverified_context

class Tncc:
Expand All @@ -34,19 +42,19 @@ def __init__(self, vpn_host):
print('WARNING: no IcedTea Java web plugin JAR found at %s' % self.plugin_jar, file=sys.stderr)
self.plugin_jar = None
self.user_agent = 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1'

def tncc_init(self):
class_names = ('net.juniper.tnc.NARPlatform.linux.LinuxHttpNAR',
'net.juniper.tnc.HttpNAR.HttpNAR')
self.class_name = None

self.tncc_jar = os.path.expanduser('~/.juniper_networks/tncc.jar')
self.tncc_jar = os.path.expanduser(os.path.join(TNCC_DIRECTORY, 'tncc.jar'))
try:
if zipfile.ZipFile(self.tncc_jar, 'r').testzip() is not None:
raise Exception()
except:
print('Downloading tncc.jar...')
os.makedirs(os.path.expanduser('~/.juniper_networks'), exist_ok=True)
os.makedirs(os.path.expanduser(TNCC_DIRECTORY), exist_ok=True)
urllib.request.urlretrieve('https://' + self.vpn_host
+ '/dana-cached/hc/tncc.jar', self.tncc_jar)

Expand All @@ -62,7 +70,7 @@ def tncc_init(self):
raise Exception('Could not find class name for', self.tncc_jar)

self.tncc_preload = \
os.path.expanduser('~/.juniper_networks/tncc_preload.so')
os.path.expanduser(os.path.join(TNCC_DIRECTORY, 'tncc_preload.so'))
if not os.path.isfile(self.tncc_preload):
print('WARNING: no tncc_preload found at %s' % self.tncc_preload, file=sys.stderr)
self.tncc_preload = None
Expand Down Expand Up @@ -91,12 +99,12 @@ def tncc_start(self):
], env={'LD_PRELOAD': self.tncc_preload} if self.tncc_preload else {})



if __name__ == "__main__":
if len(sys.argv) <= 1:
print("Usage: %s [vpn-host]" % sys.argv[0])
raise SystemExit(1)

tncc = Tncc(sys.argv[1])
tncc.tncc_init()
tncc.tncc_start()
1 change: 1 addition & 0 deletions www/changelog.xml
Expand Up @@ -17,6 +17,7 @@
<ul>
<li>Don't abort Pulse connection when server-provided certificate MD5 doesn't match.</li>
<li>Fix off-by-one in check for bad GnuTLS versions, and add build and run time checks.</li>
<li>Convert <tt>tncc-wrapper.py</tt> to Python 3.</li>
</ul><br/>
</li>
<li><b><a href="ftp://ftp.infradead.org/pub/openconnect/openconnect-8.06.tar.gz">OpenConnect v8.06</a></b>
Expand Down

0 comments on commit f09cf4a

Please sign in to comment.