En versionssträng bevisar inte en funktion i ett VPN-plugin
Ett paketnummer är inte en funktionslista. Analysera epoch, upstream och revision, kontrollera vad som är installerat och bevisa sedan alternativet där det bor.
Tre frågor skiljer ett versionsargument från en funktionsutredning: vilken komponent som ska tillhandahålla alternativet, vilken version av den komponenten som faktiskt är installerad och vad dess ändringslogg säger om det. Numret på ett plugin ensamt besvarar ingen av dem. Den frestande genvägen, att jämföra en förkortad version med ett minimum från en handledning, misslyckas eftersom distributioners versionssträngar inte är decimaltal. Bestäm vad du jämför innan du jämför det.
Alternativet kan bo i NetworkManager, i dess VPN-plugin, i den underliggande motorn eller i ett separat skrivbordsgränssnitt. Det är fyra projekt med fyra utgivningshistorier.
Fyra komponenter, fyra utgivningshistorier
Redigeraren du ser är vanligtvis ett plugin, och pluginet anropar en motor som OpenVPN-binären eller en WireGuard-implementering. NetworkManager självt tillhandahåller anslutningsmodellen, och ett skrivbordsgränssnitt kan lägga till egna fält ovanpå. En funktion kan förekomma i vilken som helst av dem, och uppgradering av en uppgraderar inte de andra. En nyare motor är inte bevis för att den installerade redigeraren kan importera ett alternativ som motorn stöder.
Börja med symtomet: saknas fältet i dialogen, är det frånvarande efter import, eller finns det men ignoreras? De observationerna pekar på olika komponenter och kräver olika bevis.
Analysera versionen innan du jämför den
Debians paketpolicy definierar formatet som epoch, upstream-version och paketeringsrevision. Först jämförs epoch, sedan upstream-delen, sedan revisionen, enligt pakethanterarens egna sorteringsregler och inte decimalaritmetik eller enkel alfabetisk sortering. En tilde sorteras före allt, även före slutet av den delen, och det är så en utgivningskandidat föregår den slutliga utgivningen. Det är den separata läsningen av delarna som gör en jämförelse meningsfull.
Hitta inte på en omvandlingsregel för något annat schema där 0.8.999 ser nära 0.9 ut. Siffrors närhet är inte bevis om innehållet.
Fråga vad som är installerat och vad det skulle vara
apt-cache policy rapporterar den installerade versionen, kandidaten och förrådet som var och en kommer från, för varje paket du namnger. Läs den för både motorn och pluginet, och anteckna fullständiga strängar i stället för förkortade former. Lokala metadata kan vara inaktuella, och en kandidatversion bevisar inte att en körande process har laddat den bygget. Om en tjänst inte har startats om sedan uppgraderingen kan filen på disken och beteendet du observerar vara oense.
Läs sedan motsvarande ändringslogg. En paketeringsrevision kan bära patchar utan att anta ett nytt upstream-nummer, och det är precis det fall där versionen ser oförändrad ut och beteendet skiljer sig.
Bevisa alternativet i komponenten som äger det
För ett importproblem, undersök de stödda fälten i det installerade pluginet och det sparade resultatet i stället för bara dialogen. En etikett, ett inbyggt datafält och ett motorargument kan vara tre representationer av en inställning, och lyckad import av en fil säger ingenting om huruvida varje direktiv överlevde. Namnge funktionen exakt: till exempel att acceptera detta direktiv medan dess betydelse för autentisering bevaras.
Om den stödda bygget för den utgivningen saknar integrationen, välj en godkänd uppdateringsväg eller en annan klient. Att blanda ett annat utgivningsförråd, eller att tillämpa en arkiverad källpatch för att höja ett synligt nummer, byter ett versionsargument mot ett icke-stött system.
En användbar rapport namnger distributionen, de fullständiga paketversionerna, ägaren av den aktiva anslutningen, det nödvändiga alternativet och det observerade sparade beteendet. Det är en reproducerbar fråga.