summaryrefslogtreecommitdiff
path: root/apt-pkg
diff options
context:
space:
mode:
Diffstat (limited to 'apt-pkg')
-rw-r--r--apt-pkg/acquire-item.cc4
-rw-r--r--apt-pkg/contrib/strutl.cc26
-rw-r--r--apt-pkg/sourcelist.cc18
3 files changed, 27 insertions, 21 deletions
diff --git a/apt-pkg/acquire-item.cc b/apt-pkg/acquire-item.cc
index 019fb66a9..7639dd59a 100644
--- a/apt-pkg/acquire-item.cc
+++ b/apt-pkg/acquire-item.cc
@@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: acquire-item.cc,v 1.37 1999/09/01 07:01:14 jgg Exp $
+// $Id: acquire-item.cc,v 1.38 1999/10/17 07:30:23 jgg Exp $
/* ######################################################################
Acquire Item - Item to acquire
@@ -136,7 +136,7 @@ pkgAcqIndex::pkgAcqIndex(pkgAcquire *Owner,const pkgSourceList::Item *Location)
DestFile = _config->FindDir("Dir::State::lists") + "partial/";
DestFile += URItoFileName(Location->PackagesURI());
- // Create the item
+ // Create the item
Desc.URI = Location->PackagesURI() + ".gz";
Desc.Description = Location->PackagesInfo();
Desc.Owner = this;
diff --git a/apt-pkg/contrib/strutl.cc b/apt-pkg/contrib/strutl.cc
index 1af8c4304..93a2b39cd 100644
--- a/apt-pkg/contrib/strutl.cc
+++ b/apt-pkg/contrib/strutl.cc
@@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: strutl.cc,v 1.29 1999/08/28 01:49:08 jgg Exp $
+// $Id: strutl.cc,v 1.30 1999/10/17 07:30:23 jgg Exp $
/* ######################################################################
String Util - Some usefull string functions.
@@ -326,11 +326,14 @@ string SubstVar(string Str,string Subst,string Contents)
file name should be unique and never occur again for a different file */
string URItoFileName(string URI)
{
- string::const_iterator I = URI.begin() + URI.find(':') + 1;
- for (; I < URI.end() && *I == '/'; I++);
-
+ // Nuke 'sensitive' items
+ ::URI U(URI);
+ U.User = string();
+ U.Password = string();
+ U.Access = "";
+
// "\x00-\x20{}|\\\\^\\[\\]<>\"\x7F-\xFF";
- URI = QuoteString(string(I,URI.end() - I),"\\|{}[]<>\"^~_=!@#$%^&*");
+ URI = QuoteString(U,"\\|{}[]<>\"^~_=!@#$%^&*");
string::iterator J = URI.begin();
for (; J != URI.end(); J++)
if (*J == '/')
@@ -809,17 +812,24 @@ void URI::CopyFrom(string U)
/* */
URI::operator string()
{
- string Res = Access + ':';
+ string Res;
+
+ if (Access.empty() == false)
+ Res = Access + ':';
+
if (Host.empty() == false)
{
- Res += "//";
+ if (Access.empty() == false)
+ Res += "//";
+
if (User.empty() == false)
{
- Res += "//" + User;
+ Res += User;
if (Password.empty() == false)
Res += ":" + Password;
Res += "@";
}
+
Res += Host;
if (Port != 0)
{
diff --git a/apt-pkg/sourcelist.cc b/apt-pkg/sourcelist.cc
index 48d32f908..1fdbd834e 100644
--- a/apt-pkg/sourcelist.cc
+++ b/apt-pkg/sourcelist.cc
@@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: sourcelist.cc,v 1.16 1999/09/30 06:30:34 jgg Exp $
+// $Id: sourcelist.cc,v 1.17 1999/10/17 07:30:23 jgg Exp $
/* ######################################################################
List of Sources
@@ -370,15 +370,11 @@ string pkgSourceList::Item::SourceInfo(string Pkg,string Ver,string Comp) const
/* */
string pkgSourceList::Item::SiteOnly(string URI) const
{
- unsigned int Pos = URI.find(':');
- if (Pos == string::npos || Pos + 3 > URI.length())
- return URI;
- if (URI[Pos + 1] != '/' || URI[Pos + 2] != '/')
- return URI;
-
- Pos = URI.find('/',Pos + 3);
- if (Pos == string::npos)
- return URI;
- return string(URI,0,Pos);
+ ::URI U(URI);
+ U.User = string();
+ U.Password = string();
+ U.Path = string();
+ U.Port = 0;
+ return U;
}
/*}}}*/