Voor het gebruikelijke ~/.subversion/servers-bestand van een Unix-gebruiker somt deze inspectie geselecteerde proxy-invoer en hostgroep-toewijzingen op zonder opgeslagen wachtwoorden af te drukken:

from configparser import ConfigParser
from pathlib import Path

settings = ConfigParser(interpolation=None)
settings.read(Path.home() / '.subversion' / 'servers')
for key in ('http-proxy-host', 'http-proxy-port',
            'http-proxy-exceptions'):
    print(key, settings.get('global', key, fallback=''))

if settings.has_section('groups'):
    for group, patterns in settings.items('groups'):
        print('group', group, patterns)

Houd de hostnaam van de repository bij deze uitvoer. Het script rapporteert bestandsinhoud, niet de route die Subversion uiteindelijk koos.

Controleer naast global ook het benoemde gedeelte van de overeenkomende groep. Het gedeelte groups koppelt namen aan serverpatronen; host- en poortwaarden van een overeenkomende groep kunnen de standaardwaarden overschrijven, en uitzonderingen kunnen een anders geconfigureerde proxy omzeilen.

Houd daarna rekening met bronnen op systeemniveau en platformspecifieke bronnen, een aangepaste configuratiemap en overschrijvingen vanaf de opdrachtregel. Vraag de bestanden van het werkelijke account of de aanroep op, niet de thuismap van een andere gebruiker.

Een viewer zou waarden moeten labelen naar bron en bereik. Eén niet-gekwalificeerde systeemproxy-tekenreeks verliest zowel de hostspecifieke beslissing als het onderscheid tussen invoer uit gebruikersbestanden en systeembeleid.

Gerelateerde artikelen