From 496d5c709d9811f03b70ef0eaf6733c13d2564d2 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Wed, 1 Oct 2008 18:35:23 +0200 Subject: * apt-pkg/packagemanager.cc, apt-pkg/deb/dpkgpm.cc: - move the state file writting into the Go() implementation of dpkgpm (closes: #498799) * apt-pkg/algorithms.cc: - fix simulation performance drop (thanks to Ferenc Wagner for reporting the issue) --- apt-pkg/algorithms.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'apt-pkg/algorithms.cc') diff --git a/apt-pkg/algorithms.cc b/apt-pkg/algorithms.cc index eaab4c0ea..59f994cd7 100644 --- a/apt-pkg/algorithms.cc +++ b/apt-pkg/algorithms.cc @@ -37,7 +37,8 @@ pkgProblemResolver *pkgProblemResolver::This = 0; this is not necessary since the pkgCaches are fully shared now. */ pkgSimulate::pkgSimulate(pkgDepCache *Cache) : pkgPackageManager(Cache), iPolicy(Cache), - Sim(&Cache->GetCache(),&iPolicy) + Sim(&Cache->GetCache(),&iPolicy), + group(Sim) { Sim.Init(0); Flags = new unsigned char[Cache->Head().PackageCount]; -- cgit v1.2.3 From 7365ff46a3852e2d3abd2cfdfcfad37ac362c427 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Fri, 3 Oct 2008 20:15:06 +0200 Subject: Fix some typos in docs and translations (thanks to timeless, closes: 368665) --- apt-pkg/algorithms.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'apt-pkg/algorithms.cc') diff --git a/apt-pkg/algorithms.cc b/apt-pkg/algorithms.cc index 59f994cd7..2e2a976bb 100644 --- a/apt-pkg/algorithms.cc +++ b/apt-pkg/algorithms.cc @@ -497,7 +497,7 @@ void pkgProblemResolver::MakeScores() signed short &Score = Scores[I->ID]; - /* This is arbitary, it should be high enough to elevate an + /* This is arbitrary, it should be high enough to elevate an essantial package above most other packages but low enough to allow an obsolete essential packages to be removed by a conflicts on a powerfull normal package (ie libc6) */ -- cgit v1.2.3 From 4805f1cfd795c41db2a3c7fed56c15bb8c350c49 Mon Sep 17 00:00:00 2001 From: "Eugene V. Lyubimkin" Date: Sat, 25 Oct 2008 17:03:16 +0300 Subject: Strip user/password from URL in error message. --- apt-pkg/algorithms.cc | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'apt-pkg/algorithms.cc') diff --git a/apt-pkg/algorithms.cc b/apt-pkg/algorithms.cc index 2e2a976bb..bd59a4749 100644 --- a/apt-pkg/algorithms.cc +++ b/apt-pkg/algorithms.cc @@ -23,6 +23,7 @@ #include #include +#include #include #include #include @@ -1342,7 +1343,22 @@ bool ListUpdate(pkgAcquireStatus &Stat, (*I)->Finished(); - _error->Warning(_("Failed to fetch %s %s\n"),(*I)->DescURI().c_str(), + // stripping username/password from URI if present + string descUri = (*I)->DescURI(); + regex_t userPassRegex; + regcomp(&userPassRegex, "\\://(\\w+)\\:(\\w+)@", REG_EXTENDED); + regmatch_t userPassMatch; + regexec(&userPassRegex, descUri.c_str(), 1, &userPassMatch, 0); + if (userPassMatch.rm_so != -1) // regexp matched + { + // really stripping + size_t stripStart = userPassMatch.rm_so + 3; + size_t stripEnd = userPassMatch.rm_eo; + descUri = descUri.substr(0, stripStart) + + descUri.substr(stripEnd, string::npos); + } + + _error->Warning(_("Failed to fetch %s %s\n"), descUri.c_str(), (*I)->ErrorText.c_str()); if ((*I)->Status == pkgAcquire::Item::StatTransientNetworkError) -- cgit v1.2.3 From 2d6f9accbcf38923911854a918d971c0905b262c Mon Sep 17 00:00:00 2001 From: "Eugene V. Lyubimkin" Date: Sat, 25 Oct 2008 22:49:22 +0300 Subject: Corrected determining if regexp matched. --- apt-pkg/algorithms.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'apt-pkg/algorithms.cc') diff --git a/apt-pkg/algorithms.cc b/apt-pkg/algorithms.cc index bd59a4749..6f30a52da 100644 --- a/apt-pkg/algorithms.cc +++ b/apt-pkg/algorithms.cc @@ -1348,8 +1348,8 @@ bool ListUpdate(pkgAcquireStatus &Stat, regex_t userPassRegex; regcomp(&userPassRegex, "\\://(\\w+)\\:(\\w+)@", REG_EXTENDED); regmatch_t userPassMatch; - regexec(&userPassRegex, descUri.c_str(), 1, &userPassMatch, 0); - if (userPassMatch.rm_so != -1) // regexp matched + int regMatchResult = regexec(&userPassRegex, descUri.c_str(), 1, &userPassMatch, 0); + if (regMatchResult == 0 && userPassMatch.rm_so != -1) // regexp matched { // really stripping size_t stripStart = userPassMatch.rm_so + 3; @@ -1357,6 +1357,7 @@ bool ListUpdate(pkgAcquireStatus &Stat, descUri = descUri.substr(0, stripStart) + descUri.substr(stripEnd, string::npos); } + regfree(&userPassRegex); _error->Warning(_("Failed to fetch %s %s\n"), descUri.c_str(), (*I)->ErrorText.c_str()); -- cgit v1.2.3 From c94e518c5ee831c21063ce38e6446113db087456 Mon Sep 17 00:00:00 2001 From: "Eugene V. Lyubimkin" Date: Sun, 26 Oct 2008 13:39:10 +0200 Subject: Switched from regexp to using existing URI class to strip user/password. --- apt-pkg/algorithms.cc | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) (limited to 'apt-pkg/algorithms.cc') diff --git a/apt-pkg/algorithms.cc b/apt-pkg/algorithms.cc index 6f30a52da..70212e5c9 100644 --- a/apt-pkg/algorithms.cc +++ b/apt-pkg/algorithms.cc @@ -1343,21 +1343,10 @@ bool ListUpdate(pkgAcquireStatus &Stat, (*I)->Finished(); - // stripping username/password from URI if present - string descUri = (*I)->DescURI(); - regex_t userPassRegex; - regcomp(&userPassRegex, "\\://(\\w+)\\:(\\w+)@", REG_EXTENDED); - regmatch_t userPassMatch; - int regMatchResult = regexec(&userPassRegex, descUri.c_str(), 1, &userPassMatch, 0); - if (regMatchResult == 0 && userPassMatch.rm_so != -1) // regexp matched - { - // really stripping - size_t stripStart = userPassMatch.rm_so + 3; - size_t stripEnd = userPassMatch.rm_eo; - descUri = descUri.substr(0, stripStart) + - descUri.substr(stripEnd, string::npos); - } - regfree(&userPassRegex); + ::URI uri((*I)->DescURI()); + uri.User.clear(); + uri.Password.clear(); + string descUri = string(uri); _error->Warning(_("Failed to fetch %s %s\n"), descUri.c_str(), (*I)->ErrorText.c_str()); -- cgit v1.2.3 From 4b94b383390fb93c58fb14460679fadbb3c8ee93 Mon Sep 17 00:00:00 2001 From: "Eugene V. Lyubimkin" Date: Sun, 26 Oct 2008 13:41:09 +0200 Subject: Forgot to remove regex.h include in previous commit. Now done --- apt-pkg/algorithms.cc | 1 - 1 file changed, 1 deletion(-) (limited to 'apt-pkg/algorithms.cc') diff --git a/apt-pkg/algorithms.cc b/apt-pkg/algorithms.cc index 70212e5c9..1d04ae64d 100644 --- a/apt-pkg/algorithms.cc +++ b/apt-pkg/algorithms.cc @@ -23,7 +23,6 @@ #include #include -#include #include #include #include -- cgit v1.2.3