diff options
author | David Kalnischkies <david@kalnischkies.de> | 2015-11-04 14:48:36 +0100 |
---|---|---|
committer | David Kalnischkies <david@kalnischkies.de> | 2015-11-05 12:21:33 +0100 |
commit | 23e64f6d0facf9610c1042326ad9850e071e8349 (patch) | |
tree | cd1beda585ecbb992076838403ef775168e20d08 /methods/rsh.cc | |
parent | 30c8107e9c56d7d78dcf9136f94aeed9d631dfb3 (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.cc | 18 |
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(); } |