summaryrefslogtreecommitdiff
path: root/methods/rsh.cc
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2015-11-04 14:48:36 +0100
committerDavid Kalnischkies <david@kalnischkies.de>2015-11-05 12:21:33 +0100
commit23e64f6d0facf9610c1042326ad9850e071e8349 (patch)
treecd1beda585ecbb992076838403ef775168e20d08 /methods/rsh.cc
parent30c8107e9c56d7d78dcf9136f94aeed9d631dfb3 (diff)
allow acquire method specific options via Binary scope
Allows users who know what they are getting themselves into with this trick to e.g. disable privilege dropping for e.g. file:// until they can fix up the permissions on those repositories. It helps also the test framework and people with a similar setup (= me) to run in less modified environments.
Diffstat (limited to 'methods/rsh.cc')
-rw-r--r--methods/rsh.cc18
1 files changed, 7 insertions, 11 deletions
diff --git a/methods/rsh.cc b/methods/rsh.cc
index 44aa7084d..bcd688833 100644
--- a/methods/rsh.cc
+++ b/methods/rsh.cc
@@ -387,7 +387,7 @@ bool RSHConn::Get(const char *Path,FileFd &To,unsigned long long Resume,
// RSHMethod::RSHMethod - Constructor /*{{{*/
// ---------------------------------------------------------------------
/* */
-RSHMethod::RSHMethod() : pkgAcqMethod("1.0",SendConfig)
+RSHMethod::RSHMethod(std::string const &pProg) : aptMethod(pProg.c_str(),"1.0",SendConfig), Prog(pProg)
{
signal(SIGTERM,SigTerm);
signal(SIGINT,SigTerm);
@@ -399,15 +399,13 @@ RSHMethod::RSHMethod() : pkgAcqMethod("1.0",SendConfig)
// ---------------------------------------------------------------------
bool RSHMethod::Configuration(std::string Message)
{
- char ProgStr[100];
-
- if (pkgAcqMethod::Configuration(Message) == false)
+ if (aptMethod::Configuration(Message) == false)
return false;
- snprintf(ProgStr, sizeof ProgStr, "Acquire::%s::Timeout", Prog);
- TimeOut = _config->FindI(ProgStr,TimeOut);
- snprintf(ProgStr, sizeof ProgStr, "Acquire::%s::Options", Prog);
- RshOptions = _config->Tree(ProgStr);
+ std::string const timeconf = std::string("Acquire::") + Prog + "::Timeout";
+ TimeOut = _config->FindI(timeconf, TimeOut);
+ std::string const optsconf = std::string("Acquire::") + Prog + "::Options";
+ RshOptions = _config->Tree(optsconf.c_str());
return true;
}
@@ -548,8 +546,6 @@ int main(int, const char *argv[])
{
setlocale(LC_ALL, "");
- RSHMethod Mth;
- Prog = strrchr(argv[0],'/');
- Prog++;
+ RSHMethod Mth(flNotDir(argv[0]));
return Mth.Run();
}