Eng Automatiséierung, déi Méint laang zouverlässeg verbonnen huet, funktionéiert no engem Client-Update net méi, wärend deeselwechte Profil nach ëmmer vun Hand verbënnt. Dee Muster weist op de Steierungskontrakt an net op de VPN-Server. Iergendeen huet geännert, wéi eng Aktioun d’App unhëlt, oder wéi eng Kennung si erwaart, an d’Aufgab schéckt nach ëmmer déi al. D’Bindung nei opzebauen kascht manner Zäit wéi de Server nach eng Kéier z’iwwerpréiwen.

De Kontrakt gehéiert zu enger App an engem Versiounsberäich

OpenVPN Connect an OpenVPN for Android sinn ënnerschiddlech Uwendungen, an en Intent, dee ee Paket nennt, bewierkt an der anerer näischt. Ier s du d’Aufgab beréiers, bestäteg, wéi e Client installéiert ass a wéi eng Versioun d’Verhalen ervirbruecht huet, mat deem s de vergläichs. Fir Connect op Android 3.3.2 oder méi nei erwaart déi dokumentéiert Tasker-Integratioun eng Profil-ID. Méi al Anleitungen, déi en Uweisungsnumm mat AS oder PC virsetzen, beschreiwen e fréiere Kontrakt, an se an eng aktuell Aufgab ze kopéieren ass de gewéinleche Grond, firwat näischt geschitt.

Déi Versiounsgrenz erkläert déi meescht Rapporten, datt et virdru funktionéiert huet. D’App huet d’Funktioun net futti gemaach; si huet geännert, wat d’Funktioun unhëlt. Behandel de Versiounsberäich als Deel vum Kontrakt, géint deen s de schreifs.

Wou d’Kennung hierkënnt

Maach de gewënschte Profil an Connect op a kopéier seng Profil-ID aus den Detailer vum Profil selwer. Benotz dee Wäert amplaz vun engem Numm, deen s de aus der Lëscht kenns, well den Numm ass eng Etikett an d’Kennung ass dat, woumat d’App vergläicht. D’Verbindungsfelder vun der Aktioun Send Intent an Tasker gesinn aus wéi de Block hei drënner, woubäi nëmmen d’Kennung ersat gëtt. Hal och d’App-Instanz vum perséinlechen oder Aarbechtsprofil konsequent.

Action: net.openvpn.openvpn.CONNECT
Extra: net.openvpn.openvpn.AUTOSTART_PROFILE_ID:'PROFILE_ID'
Extra: net.openvpn.openvpn.AUTOCONNECT:true
Package: net.openvpn.openvpn
Class: net.openvpn.unified.MainActivity
Target: Activity

Eng Kopie am Aarbechtsprofil mat demselwechte Paketnumm an engem anere gespäicherte Profil hëlt den Intent un a fënnt kee passende Profil, wat wéi eng futti Aufgab ausgesäit an net wéi e Beräichsfehler. Gëtt de Profil nei importéiert oder ersat, behandelt d’Kennung als verdächteg a kontrolléier se nach eng Kéier. En Neiimport bréngt dacks en neien Profilitem, och wann den Uweisungsnumm onverännert bleift. Kontrolléier d’Kennung, ier s de eppes anescht änderst.

Looss net-zougehéiereg Felder eidel wéi dokumentéiert. Felder fir Kategorie, MIME-Typ an Daten, déi de Guide net freet, kënnen änneren, wéi Android den Intent opléist, an en Intent, deen anescht opgeléist gëtt, kann d’App starten ouni däi Profil ze starten.

Wat d’Aktioun mécht, a wat se dir iwwerléisst

Den Verbindungs-Intent schécke freet d’App, e Profil ze starten. En ëmgeet net d’Autorisatioun, déi dee Profil verlaangt. Connect kann nach ëmmer eng Ufro weisen, an dofir geet de dokumentéierte autonome Fall dovun aus, datt et keng weider Autorisatioun a keng gespäichert Verbindungsdaten gëtt. D’Versuchung ass, déi Grenz ewechzehuelen, andeems Passwierder oder Geheimnisser vum privaten Schlëssel an en gedeelten Tasker-Export agebaut ginn.

Maach dat net. En Aufgabenexport ass eng Textdatei, déi d’Leit a Chatthreads kopéieren, an d’Geheimnisser, déi do stinn, sinn opgedeckt am Moment, wou en gedeelt gëtt. Benotz d’gespäichert Verbindungsdaten vun der App selwer, wann de Profil se brauch, a looss MFA-Ufroen Ufroen bleiwen. Alles, wat d’Ufro vermeit, andeems d’Äntwert gespäichert gëtt, huet d’Geheimnis verréckelt amplaz de Problem ze léisen.

D’Trennsäit huet seng eegen dokumentéiert Aktioun, an et ass keen Trick géint de Client:

Action: net.openvpn.openvpn.DISCONNECT
Extra: net.openvpn.openvpn.STOP:true
Package: net.openvpn.openvpn
Class: net.openvpn.unified.MainActivity
Target: Activity

Sech mat engem bewosst net-existéierende Profil ze verbannen, fir eng Trennung ze forcéieren, ass déi Zort Workaround, déi an alen Threads opdaucht an duerno no engem Update stëll feelt. Benotz déi explizit Aktioun.

Kontrolléier den Zoustand, ier den nächste Schrëtt leeft

En erfollegräichen Intent-Start beweist, datt d’Ufro geliwwert gouf, net datt en Tunnel existéiert. Wann d’Aufgab duerno eng intern Uwendung opmécht,brauch dee Schrëtt eng Beräitschafsbedingung mat enger begrenzter Zäitlimitt. Eng direkt Aktioun no dem Schécke wäert iergendwann géint eng Ufro lafen.

$ adb shell cmd package resolve-activity --brief net.openvpn.openvpn
net.openvpn.openvpn/net.openvpn.unified.MainActivity
$ adb shell dumpsys activity activities | grep -i openvpn

D’resolve-Ufro bestätegt, datt d’Paket an d’Aktivitéit, op déi s de zils, op deem Gerät existéieren, wat en Tippfeeler am Klassefeld ausschléisst. Den Aktivitéitsdump weist, wat no dem Laf vun denger Aufgab tatsächlech am Virdergrond ass, an et ass dee bëllegste Wee ze gesinn, ob d’App eng Ufro opgemaach huet amplaz sech ze verbannen. Féier béides no enger feelgeschloener Aufgab aus, amplaz ze roden, wéi ee Feld falsch ass. Eng Ofwäichung am Klassennumm gëtt direkt e Feeler, wärend e fehlende Profil guer keen sichtbare Feeler gëtt.

Entscheet d’Eegentum vun der Trennung, ier s de d’Aufgab ausliefers. Eng Ofkierzung, déi en Tunnel ofbaut, vun deem eng aner Aarbechtsaufgab ofhänkt, erzéilt en Support-Ticket, dee senger Ursaach a guer näischt gläicht. Zwou Automatiséierungen ze halen, déi deeselwechte Client steieren, erzéilt e Renne, deen s de net aus de Loggen debugge kanns, also läsch déi iwwerholl Aktioun, soubal déi nei funktionéiert.

Ähnlech Artikelen