Disable and deprecated the --no-proxy-for option.

This commit is contained in:
Bastian Kleineidam 2010-03-07 17:45:48 +01:00
parent b08524aa5f
commit 34a2f4a15d
19 changed files with 738 additions and 837 deletions

View file

@ -157,12 +157,6 @@
# just a homepage
# http://justahomepage/bla
# specify hosts to contact directly without a proxy
# value is a regular expression
#noproxyfor=
# .*\.intra
# .*myinternurl.*
# Ignore specified warnings (see linkchecker -h for the list of
# recognized warnings). Add a comma-separated list of warnings here
# that prevent a valid URL from being logged. Note that the warning

View file

@ -19,6 +19,8 @@ Fixes:
demoted to a warning.
Closes: SF bug #2910588
- cmdline: Expand tilde (~) in filenames given with the --config option.
- cmdline: disabled and deprecated the --no-proxy-for option. Use the
$no_proxy environment variable instead.
Features:
- dns: Updated dnspython module from upstream version 1.8.1.

769
doc/de.po

File diff suppressed because it is too large Load diff

View file

@ -22,4 +22,4 @@ Dokumenten zu prüfen.
Bastian Kleineidam <calvin@users.sourceforge.net>
.
.SH COPYRIGHT
Copyright \(co 2009 Bastian Kleineidam
Copyright \(co 2009\-2010 Bastian Kleineidam

View file

@ -229,12 +229,6 @@ zwischen Verbindungen.
Gibt ein NNTP Rechner für \fBnews:\fP Links. Standard ist die Umgebungsvariable
\fBNNTP_SERVER\fP. Falls kein Rechner angegeben ist, wird lediglich auf
korrekte Syntax des Links geprüft.
.TP
\fB\-\-no\-proxy\-for=\fP\fIREGEX\fP
Rechner welche dem angegebenen regulären Ausdruck entsprechen sollen direkt
und nicht über einen Proxy angesprochen werden.
.br
Diese Option kann mehrmals angegeben werden.
.SH KONFIGURATIONSDATEIEN
Konfigurationsdateien können alle obigen Optionen enthalten. Sie können
@ -325,12 +319,17 @@ Das untige Beispiel sendet zwei Cookies zu allen URLs die mit
Set\-cookie: baggage="elitist"; comment="hologram"
.SH "PROXY UNTERSTÜTZUNG"
Um einen Proxy unter Unix oder Windows zu benutzen, setzen Sie $http_proxy,
$https_proxy oder $ftp_proxy auf die Proxy URL. Die URL sollte die Form
Um einen Proxy unter Unix oder Windows zu benutzen, setzen Sie die
$http_proxy, $https_proxy oder $ftp_proxy Umgebungsvariablen auf die Proxy
URL. Die URL sollte die Form
\fBhttp://\fP[\fIuser\fP\fB:\fP\fIpass\fP\fB@\fP]\fIhost\fP[\fB:\fP\fIport\fP] besitzen. LinkChecker
erkennt auch die Proxy\-Einstellungen des Internet Explorers auf einem
Windows\-System. Auf einem Mac benutzen Sie die Internet Konfiguration.
.
Sie können eine komma\-separierte Liste von Domainnamen in der $no_proxy
Umgebungsvariable setzen, um alle Proxies für diese Domainnamen zu
ignorieren.
.
Einen HTTP\-Proxy unter Unix anzugeben sieht beispielsweise so aus:
export http_proxy="http://proxy.example.com:8080"
@ -343,70 +342,66 @@ Setzen eines Proxies unter der Windows Befehlszeile:
set http_proxy=http://proxy.example.com:8080
.SH "PERFORMED CHECKES"
All URLs have to pass a preliminary syntax test. Minor quoting mistakes will
issue a warning, all other invalid syntax issues are errors. After the
syntax check passes, the URL is queued for connection checking. All
connection check types are described below.
.SH "Durchgeführte Prüfungen"
Alle URLs müssen einen ersten Syntaxtest bestehen. Kleine Kodierungsfehler
ergeben eine Warnung, jede andere ungültige Syntaxfehler sind Fehler. Nach
dem Bestehen des Syntaxtests wird die URL in die Schlange zum
Verbindungstest gestellt. Alle Verbindungstests sind weiter unten
beschrieben.
.
.TP
HTTP links (\fBhttp:\fP, \fBhttps:\fP)
After connecting to the given HTTP server the given path or query is
requested. All redirections are followed, and if user/password is given it
will be used as authorization when necessary. Permanently moved pages issue
a warning. All final HTTP status codes other than 2xx are errors.
HTTP Verknüpfungen (\fBhttp:\fP, \fBhttps:\fP)
Nach Verbinden zu dem gegebenen HTTP\-Server wird der eingegebene Pfad oder
Query angefordert. Alle Umleitungen werden verfolgt, und falls ein
Benutzer/Passwort angegeben wurde werden diese falls notwendig als
Authorisierung benutzt. Permanent umgezogene Webseiten werden als Warnung
ausgegeben. Alle finalen HTTP Statuscodes, die nicht dem Muster 2xx
entsprechen, werden als Fehler ausgegeben.
.
HTML page contents are checked for recursion.
Der Inhalt von HTML\-Seiten wird rekursiv geprüft.
.TP
Local files (\fBfile:\fP)
A regular, readable file that can be opened is valid. A readable directory
is also valid. All other files, for example device files, unreadable or
non\-existing files are errors.
Lokale Dateien (\fBfile:\fP)
Eine reguläre, lesbare Datei die geöffnet werden kann ist gültig. Ein
lesbares Verzeichnis ist ebenfalls gültig. Alle anderen Dateien, zum
Beispiel Gerätedateien, unlesbare oder nicht existente Dateien ergeben einen
Fehler.
.
HTML or other parseable file contents are checked for recursion.
HTML\- oder andere untersuchbare Dateiinhalte werden rekursiv geprüft.
.TP
Mail links (\fBmailto:\fP)
A mailto: link eventually resolves to a list of email addresses. If one
address fails, the whole list will fail. For each mail address we check the
following things:
Mail\-Links (\fBmailto:\fP)
Ein mailto:\-Link ergibt eine Liste von E\-Mail\-Adressen. Falls eine Adresse
fehlerhaft ist, wird die ganze Liste als fehlerhaft angesehen. Für jede
E\-Mail\-Adresse werden die folgenden Dinge geprüft:
.
1) Check the adress syntax, both of the part before and after
the @ sign.
2) Look up the MX DNS records. If we found no MX record,
print an error.
3) Check if one of the mail hosts accept an SMTP connection.
Check hosts with higher priority first.
If no host accepts SMTP, we print a warning.
4) Try to verify the address with the VRFY command. If we got
an answer, print the verified address as an info.
1) Prüfe die Syntax der Adresse, sowohl den Teil vor als auch nach dem @\-Zeichen.
2) Schlage den MX DNS\-Datensatz nach. Falls kein MX Datensatz gefunden wurde, wird ein Fehler ausgegeben.
3) Prüfe, ob einer der Mail\-Rechner eine SMTP\-Verbindung akzeptiert.
Rechner mit höherer Priorität werden zuerst geprüft.
Fall kein Rechner SMTP\-Verbindungen akzeptiert, wird eine Warnung ausgegeben.
4) Versuche, die Adresse mit dem VRFY\-Befehl zu verifizieren. Falls eine Antwort kommt, wird die verifizierte Adresse als Information ausgegeben.
.TP
FTP links (\fBftp:\fP)
FTP\-Links (\fBftp:\fP)
For FTP links we do:
Für FTP\-Links wird Folgendes geprüft:
1) connect to the specified host
2) try to login with the given user and password. The default
user is \*(lqanonymous\*(lq, the default password is \*(lqanonymous@\*(lq.
3) try to change to the given directory
4) list the file with the NLST command
1) Eine Verbindung zum angegeben Rechner wird aufgebaut
2) Versuche, sich mit dem gegebenen Nutzer und Passwort anzumelden. Der Standardbenutzer ist \*(lqanonymous\*(lq, das Standardpasswort ist \*(lqanonymous@\*(lq.
3) Versuche, in das angegebene Verzeichnis zu wechseln
4) Liste die Dateien im Verzeichnis auf mit dem NLST\-Befehl
\- Telnet links (\*(lqtelnet:\*(lq)
\- Telnet\-Links (\*(lqtelnet:\*(lq)
We try to connect and if user/password are given, login to the
given telnet server.
Versuche, zu dem angegeben Telnetrechner zu verginden und falls Benutzer/Passwort angegeben sind, wird versucht, sich anzumelden.
\- NNTP links (\*(lqnews:\*(lq, \*(lqsnews:\*(lq, \*(lqnntp\*(lq)
\- NNTP\-Links (\*(lqnews:\*(lq, \*(lqsnews:\*(lq, \*(lqnntp\*(lq)
We try to connect to the given NNTP server. If a news group or
article is specified, try to request it from the server.
Versuche, zu dem angegebenen NNTP\-Rechner eine Verbindung aufzubaucne. Falls eine Nachrichtengruppe oder ein bestimmter Artikel angegeben ist, wird versucht, diese Gruppe oder diesen Artikel vom Rechner anzufragen.
\- Ignored links (\*(lqjavascript:\*(lq, etc.)
\- Ignorierte Links (\*(lqjavascript:\*(lq, etc.)
An ignored link will only print a warning. No further checking
will be made.
Ein ignorierte Link wird nur eine Warnung ausgeben. Weitere Prüfungen werden nicht gemacht.
Here is a complete list of recognized, but ignored links. The most
prominent of them should be JavaScript links.
Dies ist eine komplette Liste von erkannten, aber ingorierten Links. Die bekanntesten von ihnen dürften JavaScript\-Links sein.
\- \*(lqacap:\*(lq (application configuration access protocol)
\- \*(lqafs:\*(lq (Andrew File System global file names)
@ -445,32 +440,23 @@ FTP links (\fBftp:\fP)
.SH Rekursion
Before descending recursively into a URL, it has to fulfill several
conditions. They are checked in this order:
Bevor eine URL rekursiv geprüft wird, hat diese mehrere Bedingungen zu
erfüllen. Diese werden in folgender Reihenfolge geprüft:
1. A URL must be valid.
1. Eine URL muss gültig sein.
2. A URL must be parseable. This currently includes HTML files,
Opera bookmarks files, and directories. If a file type cannot
be determined (for example it does not have a common HTML file
extension, and the content does not look like HTML), it is assumed
to be non\-parseable.
2. Der URL\-Inhalt muss analysierbar sein. Dies beinhaltet zur Zeit HTML\-Dateien, Opera Lesezeichen, und Verzeichnisse. Falls ein Dateityp nicht erkannt wird, (zum Beispiel weil er keine bekannte HTML\-Dateierweiterung besitzt, und der Inhalt nicht nach HTML aussieht), wird der Inhalt als nicht analysierbar angesehen.
3. The URL content must be retrievable. This is usually the case
except for example mailto: or unknown URL types.
3. Der URL\-Inhalt muss ladbar sein. Dies ist normalerweise der Fall, mit Ausnahme von mailto: oder unbekannten URL\-Typen.
4. The maximum recursion level must not be exceeded. It is configured
with the \*(lq\-\-recursion\-level\*(lq option and is unlimited per default.
4. Die maximale Rekursionstiefe darf nicht überschritten werden. Diese wird mit der Option \*(lq\-\-recursion\-level\*(lq konfiguriert und ist standardmäßig nicht limitiert.
5. It must not match the ignored URL list. This is controlled with
the \*(lq\-\-ignore\-url\*(lq option.
5. Die URL darf nicht in der Liste von ignorierten URLs sein. Die ignorierten URLs werden mit der Option \*(lq\-\-ignore\-url\*(lq konfiguriert.
6. The Robots Exclusion Protocol must allow links in the URL to be
followed recursively. This is checked by searching for a
"nofollow" directive in the HTML header data.
6. Das Robots Exclusion Protocol muss es erlauben, dass Verknüpfungen in der URL rekursiv verfolgt werden können. Dies wird geprüft, indem in den HTML Kopfdaten nach der "nofollow"\-Direktive gesucht wird.
Note that the directory recursion reads all files in that directory, not
just a subset like \*(lqindex.htm*\*(lq.
Beachten Sie, dass die Verzeichnisrekursion alle Dateien in diesem
Verzeichnis liest, nicht nur eine Untermenge wie bspw. \*(lqindex.html*\*(lq.
.SH BEMERKUNGEN
URLs von der Kommandozeile die mit \fBftp.\fP beginnen werden wie \fBftp://ftp.\fP
@ -500,6 +486,9 @@ unbedingt derselbe wie der des Benutzers sein.
.br
\fBftp_proxy\fP \- gibt Standard FTP Proxy an
.br
\fBno_proxy\fP \- kommaseparierte Liste von Domains, die nicht über einen
Proxy\-Server kontaktiert werden
.br
\fBLC_MESSAGES\fP, \fBLANG\fP, \fBLANGUAGE\fP \- gibt Ausgabesprache an
.
.SH RÜCKGABEWERT
@ -539,4 +528,4 @@ Ausdrücken
Bastian Kleineidam <calvin@users.sourceforge.net>
.
.SH COPYRIGHT
Copyright \(co 2000\-2009 Bastian Kleineidam
Copyright \(co 2000\-2010 Bastian Kleineidam

View file

@ -107,12 +107,6 @@ Rekursion durch.
.br
Kommandozeilenoption: \fB\-\-no\-follow\-url\fP
.TP
\fBnoproxyfor=\fP\fIREGEX\fP (MULTILINE)
Rechner welche dem angegebenen regulären Ausdruck entsprechen sollen direkt
und nicht über einen Proxy angesprochen werden.
.br
Kommandozeilenoption: \fB\-\-no\-proxy\-for\fP
.TP
\fBignorewarnings=\fP\fINAME\fP[\fB,\fP\fINAME\fP...]
Ignoriere die kommagetrennte Liste von Warnungen. Siehe \fBlinkchecker \-h\fP
für die Liste von erkannten Warnungen.
@ -415,4 +409,4 @@ BEISPIEL
Bastian Kleineidam <calvin@users.sourceforge.net>
.
.SH COPYRIGHT
Copyright \(co 2000\-2009 Bastian Kleineidam
Copyright \(co 2000\-2010 Bastian Kleineidam

View file

@ -15,4 +15,4 @@ A graphical interface to check links of websites and HTML documents.
Bastian Kleineidam <calvin@users.sourceforge.net>
.
.SH COPYRIGHT
Copyright \(co 2009 Bastian Kleineidam
Copyright \(co 2009-2010 Bastian Kleineidam

View file

@ -230,12 +230,6 @@ requests to the same host. Default is no pause between requests.
Specify an NNTP server for \fBnews:\fP links. Default is the
environment variable \fBNNTP_SERVER\fP. If no host is given,
only the syntax of the link is checked.
.TP
\fB\-\-no\-proxy\-for=\fP\fIREGEX\fP
Contact hosts that match the given regular expression directly instead of
going through a proxy.
.br
This option can be given multiple times.
.SH "CONFIGURATION FILES"
Configuration files can specify all options above. They can also
@ -324,12 +318,15 @@ with \fBhttps://example.org/\fP:
Set-cookie: baggage="elitist"; comment="hologram"
.SH PROXY SUPPORT
To use a proxy on Unix or Windows set $http_proxy, $https_proxy or $ftp_proxy
to the proxy URL. The URL should be of the form
To use a proxy on Unix or Windows set the $http_proxy, $https_proxy or $ftp_proxy
environment variables to the proxy URL. The URL should be of the form
\fBhttp://\fP[\fIuser\fP\fB:\fP\fIpass\fP\fB@\fP]\fIhost\fP[\fB:\fP\fIport\fP].
LinkChecker also detects manual proxy settings of Internet Explorer under
Windows systems. On a Mac use the Internet Config to select a proxy.
.
You can also set a comma-separated domain list in the $no_proxy environment
variables to ignore any proxy settings for these domains.
.
Setting a HTTP proxy on Unix for example looks like this:
export http_proxy="http://proxy.example.com:8080"
@ -342,7 +339,7 @@ Setting a proxy on the Windows command prompt:
set http_proxy=http://proxy.example.com:8080
.SH PERFORMED CHECKES
.SH PERFORMED CHECKS
All URLs have to pass a preliminary syntax test. Minor quoting
mistakes will issue a warning, all other invalid syntax issues
are errors.
@ -502,6 +499,8 @@ same as the host of the user browsing your pages.
.br
\fBftp_proxy\fP - specifies default FTP proxy server
.br
\fBno_proxy\fP - comma-separated list of domains to not contact over a proxy server
.br
\fBLC_MESSAGES\fP, \fBLANG\fP, \fBLANGUAGE\fP - specify output language
.
.SH RETURN VALUE
@ -537,4 +536,4 @@ configuration files
Bastian Kleineidam <calvin@users.sourceforge.net>
.
.SH COPYRIGHT
Copyright \(co 2000-2009 Bastian Kleineidam
Copyright \(co 2000-2010 Bastian Kleineidam

View file

@ -100,12 +100,6 @@ expressions.
.br
Command line option: \fB\-\-no\-follow\-url\fP
.TP
\fBnoproxyfor=\fP\fIREGEX\fP (MULTILINE)
Contact hosts that match the given regular expressions directly instead of
going through a proxy.
.br
Command line option: \fB\-\-no\-proxy\-for\fP
.TP
\fBignorewarnings=\fP\fINAME\fP[\fB,\fP\fINAME\fP...]
Ignore the comma-separated list of warnings. See \fBlinkchecker -h\fP
for the list of recognized warnings.
@ -414,4 +408,4 @@ linkchecker(1)
Bastian Kleineidam <calvin@users.sourceforge.net>
.
.SH COPYRIGHT
Copyright \(co 2000-2009 Bastian Kleineidam
Copyright \(co 2000-2010 Bastian Kleineidam

File diff suppressed because it is too large Load diff

View file

@ -1,4 +1,3 @@
- [PROXY] Deprecate the --no-proxy-for option now that $no_proxy is supported.
- [CHECKING] Parse Word files for hyperlinks (needs win32com)
app = CreateObject("Word.Application")
doc = app.Documents.Open("c:\test.doc")

View file

@ -1,6 +1,16 @@
Upgrading
=========
Migrating from 5.1 to 5.2
-------------------------
The --no-proxy-for option has been deprecated and will be removed
in a future release. Also, the "noproxyfor" entries in configuration
files will not be evaluated anymore.
You should use the $no_proxy environment variable instead, which
specifies a comma-separated list of domains that are not contacted
over proxies.
Migrating from 5.0 to 5.1
-------------------------

View file

@ -1,5 +1,5 @@
# -*- coding: iso-8859-1 -*-
# Copyright (C) 2000-2009 Bastian Kleineidam
# Copyright (C) 2000-2010 Bastian Kleineidam
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -60,12 +60,9 @@ class ProxySupport (object):
log.debug(LOG_CHECK, "using proxy %r", self.proxy)
def ignore_proxy_host (self):
"""Check if self.host is in the no-proxy-for ignore list."""
"""Check if self.host is in the $no_proxy ignore list."""
if urllib.proxy_bypass(self.host):
return True
for ro in self.aggregate.config["noproxyfor"]:
if ro.search(self.host):
return True
no_proxy = os.environ.get("no_proxy")
if no_proxy:
entries = [parse_host_port(x) for x in no_proxy.split(",")]

View file

@ -74,7 +74,6 @@ class Configuration (dict):
self["anchors"] = False
self["externlinks"] = []
self["internlinks"] = []
self["noproxyfor"] = []
self["interactive"] = False
# on ftp, password is set by Pythons ftplib
self["authentication"] = []

View file

@ -1,5 +1,5 @@
# -*- coding: iso-8859-1 -*-
# Copyright (C) 2000-2009 Bastian Kleineidam
# Copyright (C) 2000-2010 Bastian Kleineidam
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -205,21 +205,6 @@ class LCConfigParser (ConfigParser.RawConfigParser, object):
pat = get_link_pat(val, strict=0)
self.config["externlinks"].append(pat)
i += 1
if self.has_option(section, "noproxyfor"):
for val in read_multiline(self.get(section, "noproxyfor")):
self.config["noproxyfor"].append(re.compile(val))
# backward compatibility
i = 1
while 1:
key = "noproxyfor%d" % i
if not self.has_option(section, key):
break
log.warn(LOG_CHECK,
_("the noproxyfor%(num)d syntax is deprecated; use " \
"the new multiline configuration syntax") % {"num": i})
val = self.get(section, key)
self.config["noproxyfor"].append(re.compile(val))
i += 1
if self.has_option(section, "ignorewarnings"):
self.config['ignorewarnings'] = [f.strip() for f in \
self.get(section, 'ignorewarnings').split(',')]

View file

@ -76,8 +76,7 @@ LinkChecker also detects manual proxy settings of Internet Explorer under
Windows systems. On a Mac use the Internet Config to select a proxy.
LinkChecker honors the $no_proxy environment variable. It can be a list
of domain names for which no proxy will be used. This is similar to
the --no-proxy-for option.
of domain names for which no proxy will be used.
Setting a HTTP proxy on Unix for example looks like this:
@ -517,11 +516,12 @@ group.add_option("-N", "--nntp-server", type="string", dest="nntpserver",
"""Specify an NNTP server for 'news:...' links. Default is the
environment variable NNTP_SERVER. If no host is given,
only the syntax of the link is checked."""))
# XXX remove deprecated option
group.add_option("--no-proxy-for", type="string", action="append",
metavar="REGEX",
dest="noproxyfor", help=_(
"""Contact hosts that match the given regular expression directly instead
of going through a proxy. This option can be given multiple times."""))
"""This option is deprecated and does nothing. It will be removed
in a future release."""))
optparser.add_option_group(group)
################# auto completion #####################
@ -624,9 +624,6 @@ if options.externstrict:
pats = [linkcheck.get_link_pat(arg, strict=True) \
for arg in options.externstrict]
config["externlinks"].extend(pats)
if options.noproxyfor:
ros = [try_compile_re(arg) for arg in options.noproxyfor]
config["noproxyfor"].extend(ros)
if options.output:
if "/" in options.output:
logtype, encoding = options.output.split("/", 1)

View file

@ -1,50 +0,0 @@
# -*- coding: iso-8859-1 -*-
# Copyright (C) 2004-2009 Bastian Kleineidam
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
"""
Test proxy handling.
"""
import os
import re
import httpserver
class TestProxy (httpserver.HttpServerTest):
"""Test --no-proxy-for handling."""
def test_no_proxy_for (self):
# Test setting proxy and --no-proxy-for option.
os.environ["http_proxy"] = "http://example.org:8877"
try:
self.start_server()
self.no_proxy_for()
finally:
self.stop_server()
del os.environ["http_proxy"]
def no_proxy_for (self):
url = u"http://localhost:%d/tests/checker/data/favicon.ico" % \
self.port
nurl = url
resultlines = [
u"url %s" % url,
u"cache key %s" % nurl,
u"real url %s" % nurl,
u"info Ignoring proxy setting `http://example.org:8877'.",
u"valid",
]
confargs = {"noproxyfor": [re.compile("localhost")]}
self.direct(url, resultlines, recursionlevel=0, confargs=confargs)

View file

@ -21,12 +21,6 @@ nofollow=
nofollow_imadoofus2
nofollow1=nofollow_oldimadoofus1
nofollow2=nofollow_oldimadoofus2
noproxyfor=
noproxyfor_imadoofus1
noproxyfor_imadoofus2
# IMADOOFUS
noproxyfor1=noproxyfor_oldimadoofus1
noproxyfor2=noproxyfor_oldimadoofus2
ignorewarnings=url-unnormed,url-unicode-domain,anchor-not-found
[authentication]

View file

@ -1,5 +1,5 @@
# -*- coding: iso-8859-1 -*-
# Copyright (C) 2006-2009 Bastian Kleineidam
# Copyright (C) 2006-2010 Bastian Kleineidam
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -54,12 +54,6 @@ class TestConfig (unittest.TestCase):
for suffix in ("1", "2"):
key = "%s%simadoofus%s" % (prefix1, prefix2, suffix)
self.assertTrue(key in patterns)
patterns = [x.pattern for x in config["noproxyfor"]]
for prefix1 in ("noproxyfor_",):
for prefix2 in ("", "old"):
for suffix in ("1", "2"):
key = "%s%simadoofus%s" % (prefix1, prefix2, suffix)
self.assertTrue(key in patterns)
for key in ("url-unnormed","url-unicode-domain","anchor-not-found"):
self.assertTrue(key in config["ignorewarnings"])
# authentication section