summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Kalnischkies <kalnischkies@gmail.com>2009-12-11 00:32:01 +0100
committerDavid Kalnischkies <kalnischkies@gmail.com>2009-12-11 00:32:01 +0100
commit9f542bae2b3620887345ebc3e61970f8903123a0 (patch)
treef6bd11f0c9e3e32914c86d02592ab642961ec6ab
parentbb1293d975294884a95b9cb298432c9cf9ecc995 (diff)
add config setting for User-Agent in http and https to the Acquire group,
thanks Timothy J. Miller! (Closes: #355782)
-rw-r--r--debian/changelog3
-rw-r--r--doc/apt.conf.5.xml7
-rw-r--r--doc/examples/configure-index3
-rw-r--r--methods/http.cc3
-rw-r--r--methods/https.cc5
5 files changed, 18 insertions, 3 deletions
diff --git a/debian/changelog b/debian/changelog
index c54fb431b..0cfd36c00 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -94,6 +94,9 @@ apt (0.7.25) UNRELEASED; urgency=low
- rewrite to be able to handle even big patch files
- adopt optional mmap+iovec patch from Morten Hustveit
(Closes: #463354) which should speed up a bit. Thanks!
+ * methods/http{,s}.cc
+ - add config setting for User-Agent to the Acquire group,
+ thanks Timothy J. Miller! (Closes: #355782)
[ Chris Leick ]
* doc/ various manpages:
diff --git a/doc/apt.conf.5.xml b/doc/apt.conf.5.xml
index e2db9defb..726bca2cc 100644
--- a/doc/apt.conf.5.xml
+++ b/doc/apt.conf.5.xml
@@ -275,7 +275,12 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
<para>The used bandwidth can be limited with <literal>Acquire::http::Dl-Limit</literal>
which accepts integer values in kilobyte. The default value is 0 which deactivates
the limit and tries uses as much as possible of the bandwidth (Note that this option implicit
- deactivates the download from multiple servers at the same time.)</para></listitem>
+ deactivates the download from multiple servers at the same time.)</para>
+
+ <para><literal>Acquire::http::User-Agent</literal> can be used to set a different
+ User-Agent for the http download method as some proxies allow access for clients
+ only if the client uses a known identifier.</para>
+ </listitem>
</varlistentry>
<varlistentry><term>https</term>
diff --git a/doc/examples/configure-index b/doc/examples/configure-index
index f5f996460..333c8df7e 100644
--- a/doc/examples/configure-index
+++ b/doc/examples/configure-index
@@ -191,6 +191,7 @@ Acquire
Max-Age "86400"; // 1 Day age on index files
No-Store "false"; // Prevent the cache from storing archives
Dl-Limit "7"; // 7Kb/sec maximum download rate
+ User-Agent "Debian APT-HTTP/1.3";
};
// HTTPS method configuration:
@@ -204,6 +205,8 @@ Acquire
CaPath "/etc/ssl/certs";
Verify-Host" "true";
AllowRedirect "true";
+
+ User-Agent "Debian APT-CURL/1.0";
};
ftp
diff --git a/methods/http.cc b/methods/http.cc
index 3b210f6b6..2dae87a02 100644
--- a/methods/http.cc
+++ b/methods/http.cc
@@ -731,7 +731,8 @@ void HttpMethod::SendReq(FetchItem *Itm,CircleBuf &Out)
Req += string("Authorization: Basic ") +
Base64Encode(Uri.User + ":" + Uri.Password) + "\r\n";
}
- Req += "User-Agent: Debian APT-HTTP/1.3 ("VERSION")\r\n\r\n";
+ Req += "User-Agent: " + _config->Find("Acquire::http::User-Agent",
+ "Debian APT-HTTP/1.3 ("VERSION")") + "\r\n\r\n";
if (Debug == true)
cerr << Req << endl;
diff --git a/methods/https.cc b/methods/https.cc
index 86d7f3a6b..a4f39c379 100644
--- a/methods/https.cc
+++ b/methods/https.cc
@@ -211,7 +211,10 @@ bool HttpsMethod::Fetch(FetchItem *Itm)
curl_easy_setopt(curl, CURLOPT_MAX_RECV_SPEED_LARGE, dlLimit);
// set header
- curl_easy_setopt(curl, CURLOPT_USERAGENT,"Debian APT-CURL/1.0 ("VERSION")");
+ curl_easy_setopt(curl, CURLOPT_USERAGENT,
+ _config->Find("Acquire::https::User-Agent",
+ _config->Find("Acquire::http::User-Agent",
+ "Debian APT-CURL/1.0 ("VERSION")")));
// set timeout
int timeout = _config->FindI("Acquire::http::Timeout",120);