[linux-l] Juniper-VPN mit IcedTea-Web + OpenJDK unter Debian

Volker Grabsch vog at notjusthosting.com
Sa Dez 24 01:10:44 CET 2011


dejoh at t-online.de schrieb:
> Danke Volker,
> 
> Dir und allen Listenlesern wünsche ich frohe Weihnachten

Bitte sehr. Aber einen hab ich noch. :-)  Vorher wünsche
aber auch ich euch allen fröhliche und entspannte Feiertage!


Problem
=======

    Ich möchte auf ein Juniper-VPN über das entsprechende
    Java-Applet zugreifen.

    Leider lässt sich keine TCP-Verbindung aufbauen. In der
    Kommandozeile zeigt der Browser folgende Fehlermeldung:

        netscape.javascript.JSObject cannot be cast to java.lang.String

    Es sind IcedTea-Web und OpenJDK unter Debian installiert. [1]
    Des Problem existiert in Iceweasel/Firefox genauso wie in
    Chromium. Mit dem proprietären JRE+Plugin von Sun/Oracle
    funktioniert es jedoch.

Lösung
======

    Das Problem ist bekannt [2] und wurde erst vor wenigen Tagen
    in IcedTea-Web behoben [3]. Fast ein Weihnachtsgeschenk!

    Leider gibt es noch kein neue Release von IcedTea-Web,
    und es wird wohl noch etwas dauern, bis das in die
    Standard-Pakete hinein wandert.

    Also bauen wir es uns selbst. Wir könnten nun der
    offiziellen Anleitung folgen (make && make install),
    dann jedoch würde es spätestens beim nächsten Upgrade
    Probleme geben.

    Also lieber gleich ein sauberes Debian-Paket. Das
    ist gar nicht so schwer! Als Benutzer "root"
    installieren wir zunächst alle Hilfspakete, die
    wir zum Selberbauen von IcedTea-Web benötigen:

        aptitude build-dep icedtea-web

    Alles weitere können wir als normaler User erledigen.
    Zunächst laden wir den aktuellen Quellcode des
    offiziellen Debian-Pakets herunter:

        apt-get source icedtea-web
        cd icedtea-web-1.1.4

    Dann laden wir uns die Bugfix-Patches from IcedTea-
    Projekt herunter und patchen damit direkt den Quelltext:

        wget -O- http://icedtea.classpath.org/hg/release/icedtea-web-1.1/raw-rev/cdd0bbf399e8 | patch -p1
        wget -O- http://icedtea.classpath.org/hg/release/icedtea-web-1.1/raw-rev/9f7d46c3314d | patch -p1

    Leider schlägt das Patchen an zwei Dateien fehl,
    nämlich an ChangeLog und NEWS. Das ist aber für
    uns egal, hauptsache der eigentliche Programmcode
    wird sauber gepatcht, und das wird er. Die
    fehlgeschlagenen Patches können wir daher getrost
    ignorieren und den hinterlassenen Müll wegräumen:

        rm ChangeLog.rej ChangeLog.orig NEWS.rej NEWS.orig

    Unangenehm ist, dass wir unsere Änderungen nochmals
    extra in einen zusätzlichen Patch umwandeln müssen,
    aber das erledigt folgendes Kommando automatisch
    für uns:

        dpkg-source --commit . juniperbugfix

    Jetzt zählen wir nur noch die Versionsnummer hoch. Die
    neue Versionsnummer wird dabei gerade so gewählet, dass
    unser selbstgebautes Paket von zukünftigen (offiziellen)
    icedtea-Paketen wieder überschrieben werden wird,
    nicht jedoch vom aktellen. So passiert bei zukünftigen
    Upgrades genau das, was wir haben wollen.

        dch -l '.juniperbugfix' -m 'Juniper Bugfix'

    Damit sind die Vorbereitungen abgeschlossen, und wir
    können die Debian-Pakete bauen:

        dpkg-buildpackage -b -uc -us

    Fertig! Jetzt brauchen wir nur noch unsere neuen
    Debian-Pakete zu installieren (als root):

        dpkg -i ../icedtea*.deb

Anmerkungen
===========

    Ich habe das unter Debian/Wheezy (Testing) getestet,
    aber Debian/Squeeze (Stable) und Debian/Sid (Unstable)
    sollten genauso funktionieren.

    Damit können wir auf das Juniper-VPN mit einem freien
    Browser über ein freies Plugin mit einem freien JDK
    zugreifen!

    Einziger Haken: Der vom Browser heruntergeladene
    Java-Code des Juniper-Gateways ist natürlich nach
    wie vor proprietär ...


Gruß
Volker


[1] Java-Browser-Plugin unter Debian
    http://mlists.in-berlin.de/pipermail/linux-l-mlists.in-berlin.de/2011-December/067191.html

[2] Unable to connect to connect with Juniper VPN client
    https://bugzilla.redhat.com/show_bug.cgi?id=586194

[3] Changesets im Development-Branch sowie im Release-1.1-Branch
    http://icedtea.classpath.org/hg/icedtea-web/shortlog/320?revcount=2
    http://icedtea.classpath.org/hg/release/icedtea-web-1.1/shortlog/278?revcount=2

[4] Building IcedTea-Web
    http://icedtea.classpath.org/wiki/IcedTea-Web#Building_IcedTea-Web

-- 
Volker Grabsch
---<<(())>>---