Enable signature checks per default. (#168525)
authorMichael Andres <ma@suse.de>
Mon, 24 Apr 2006 12:32:30 +0000 (12:32 +0000)
committerMichael Andres <ma@suse.de>
Mon, 24 Apr 2006 12:32:30 +0000 (12:32 +0000)
devel/devel.ma/Parse.cc
devel/devel.ma/Test.cc
package/libzypp.changes
zypp/KeyRing.cc

index af713d7..993d638 100644 (file)
@@ -256,6 +256,18 @@ inline bool selectForTransact( const NameKindProxy & nkp )
   return nkp.availableBegin()->status().setTransact( true, ResStatus::USER );
 }
 
+  struct PrintX
+  {
+    PrintX( map<NVRA,string> & nvrmap )
+    : m(nvrmap)
+    {}
+    void operator()( const NVRA & i ) const
+    {
+      INT << i << ": " << m[i] << endl;
+    }
+    map<NVRA,string> & m;
+  };
+
 /******************************************************************
 **
 **      FUNCTION NAME : main
@@ -266,12 +278,51 @@ int main( int argc, char * argv[] )
   //zypp::base::LogControl::instance().logfile( "xxx" );
   INT << "===[START]==========================================" << endl;
 
+  map<NVRA,string> nvrmap;
+
+  NVRA a( "foo", Edition(""), Arch_noarch );
+  NVRA b( "baa", Edition(""), Arch_i386 );
+  NVRA c( "kaa", Edition(""), Arch_i486 );
+  NVRA d( "daa", Edition(""), Arch_ppc );
+
+  nvrmap[a] = "A";
+  nvrmap[b] = "B";
+  nvrmap[c] = "C";
+  nvrmap[d] = "D";
+
+  INT << nvrmap.size() << endl;
+  std::for_each( make_map_key_begin( nvrmap ),   make_map_key_end( nvrmap ),
+                 PrintOn<NVRA>(INT) );
+  std::for_each( make_map_key_begin( nvrmap ),   make_map_key_end( nvrmap ),
+                 PrintX(nvrmap) );
+
+  INT << nvrmap[NVRA( "kaa", Edition(""), Arch_i386 )]  << endl;
+
+  return 0;
+
   ResPool pool( getZYpp()->pool() );
 
-  getZYpp()->initTarget( sysRoot );
-  getZYpp()->addResolvables( getZYpp()->target()->resolvables(), true );
-  INT << "Added target: " << pool << endl;
+  if ( 0 )
+    {
+      getZYpp()->initTarget( sysRoot );
+      getZYpp()->addResolvables( getZYpp()->target()->resolvables(), true );
+      INT << "Added target: " << pool << endl;
+    }
+
+  Url myUrl( "dir:/mounts/machcd2/CDs/SLES-10-CD-i386-Beta10/CD1" );
+  Source_Ref src1;
+  USR << src1 << endl;
+  try
+    {
+      src1 = SourceFactory().createFrom( myUrl, "/", Date::now().asSeconds() );
+    }
+  catch ( const Exception & )
+    {
+      ;
+    }
+  USR << src1 << endl;
 
+#if 0
   Source_Ref src1( createSource( "dir:/mounts/machcd2/CDs/SLES-10-CD-i386-Beta10/CD1" ) );
   Source_Ref src2( createSource( "dir:/mounts/machcd2/kukuk/sles10-sp-i386/CD1" ) );
   getZYpp()->addResolvables( src1.resolvables() );
@@ -314,7 +365,7 @@ int main( int argc, char * argv[] )
           ZYppCommitResult res( getZYpp()->commit( policy ) );
         }
     }
-
+#endif
   INT << "===[END]============================================" << endl << endl;
   return 0;
 }
index 4cf38c5..1ab2192 100644 (file)
@@ -33,12 +33,12 @@ static const Pathname sysRoot( "/Local/ROOT" );
 
 ///////////////////////////////////////////////////////////////////
 
-struct DebugStats
+struct DebugStats : public std::unary_function<ResObject::constPtr, bool>
 {
   bool operator()( const ResObject::constPtr & ptr )
   {
     Source_Ref::NumericId srcid = ptr->source().numericId();
-    unsigned mediaid = mediaId( ptr )
+    unsigned mediaid = mediaId( ptr );
     USR << "S"  << srcid
         << "/M" << mediaid
         << " "  << ptr
@@ -46,7 +46,7 @@ struct DebugStats
     return true;
   }
 
-  unsigned mediaId( const ResObject::constPtr ptr & ptr ) const
+  unsigned mediaId( const ResObject::constPtr & ptr ) const
   {
     Package::constPtr pkg( asKind<Package>(ptr) );
     return pkg ? pkg->mediaId() : 0;
@@ -59,6 +59,8 @@ struct DebugStats
     KindMap           _perKind;
 };
 
+inline std::ostream & operator<<( std::ostream & str, const DebugStats & obj )
+{ return str; }
 
 template <class _Iterator>
   std::ostream & vdumpPoolStats( std::ostream & str,
@@ -66,11 +68,7 @@ template <class _Iterator>
   {
     DebugStats stats;
     std::for_each( begin_r, end_r,
-
-                   functor::chain( setTrue_c(PrintPoolItem()),
-                                   setTrue_c(functor::functorRef<void,ResObject::constPtr>(stats)) )
-
-                 );
+                   functor::functorRef<bool,ResObject::constPtr>(stats) );
     return str << stats;
   }
 
@@ -83,6 +81,59 @@ inline bool selectForTransact( const NameKindProxy & nkp )
 
   return nkp.availableBegin()->status().setTransact( true, ResStatus::USER );
 }
+///////////////////////////////////////////////////////////////////
+namespace zypp
+{ /////////////////////////////////////////////////////////////////
+#if 0
+  ///////////////////////////////////////////////////////////////////
+  //
+  //   CLASS NAME : EnumerationClass<_Derived>
+  //
+  /** EnumerationClass.
+  */
+  template<class _Derived>
+    class EnumerationClass
+    {
+    public:
+      /** The enum */
+      typedef _Derived::for_use_in_switch for_use_in_switch;
+
+      /** String representation of enumarator. */
+      const std::string & asString() const;
+
+      /** Enumarator provided for use in \c switch statement. */
+      for_use_in_switch inSwitch() const
+      { return _op };
+
+    protected:
+      /** Ctor */
+      EnumerationClass( for_use_in_switch op_r )
+      : _op( op_r )
+      {}
+    private:
+      /** The enum value. */
+      for_use_in_switch _op;
+    };
+  ///////////////////////////////////////////////////////////////////
+
+  /** \relates EnumerationClass Stream output. */
+  template<class _Derived>
+    inline std::ostream & operator<<( std::ostream & str, const EnumerationClass<_Derived> & obj )
+    { return str << obj.asString(); }
+
+  /** \relates EnumerationClass Stream output. */
+  template<class _Derived>
+    inline bool operator==( const EnumerationClass<_Derived> & lhs, const EnumerationClass<_Derived> & rhs )
+    { return lhs.inSwitch() == rhs.inSwitch(); }
+
+  /** \relates PatchCategory */
+  template<class _Derived>
+    inline bool operator!=( const EnumerationClass<_Derived> & lhs, const EnumerationClass<_Derived> & rhs )
+    { return ! ( lhs == rhs ); }
+#endif
+  /////////////////////////////////////////////////////////////////
+} // namespace zypp
+///////////////////////////////////////////////////////////////////
 
 /******************************************************************
 **
@@ -94,6 +145,21 @@ int main( int argc, char * argv[] )
   //zypp::base::LogControl::instance().logfile( "xxx" );
   INT << "===[START]==========================================" << endl;
 
+  enum for_use_in_switch { a, b, c };
+
+  struct Edef
+  {
+    for_use_in_switch _val;
+    const char * _tostr;
+    const char * _fromstr[];
+  };
+
+  const char * fromstr[] = { "a", "A" };
+
+  Edef x[] = { a, "a", "A" };
+
+  return 0;
+  INT << "===[END]============================================" << endl << endl;
   ResPool pool( getZYpp()->pool() );
 
   if ( 0 )
index 0ed415e..e323f21 100644 (file)
@@ -1,7 +1,12 @@
 -------------------------------------------------------------------
+Mon Apr 24 14:30:41 CEST 2006 - ma@suse.de
+
+- Enable signature checks per default. (#168525)
+
+-------------------------------------------------------------------
 Mon Apr 24 11:20:17 CEST 2006 - visnov@suse.cz
 
-- fix callbacks for providing a single file (#160206) 
+- fix callbacks for providing a single file (#160206)
 
 -------------------------------------------------------------------
 Sun Apr 23 12:28:21 CEST 2006 - kkaempf@suse.de
index b1ce9a7..516d874 100644 (file)
@@ -231,12 +231,6 @@ namespace zypp
 
   bool KeyRing::Impl::verifyFileSignatureWorkflow( const Pathname &file, const Pathname &signature)
   {
-    if ( ! getenv("ZYPP_CHECKSIG") )
-    {
-      MIL << "Digital signature check disabled. Accepting source." << std::endl;
-      return true;
-    }
-
     callback::SendReport<KeyRingReport> report;
     callback::SendReport<KeyRingSignals> emitSignal;
     MIL << "Going to verify signature for " << file << " with " << signature << std::endl;
@@ -419,7 +413,7 @@ namespace zypp
         {
           key.id = what[5];
           key.name = what[10];
-          
+
           std::string line2;
           for(line2 = prog.receiveLine(); !line2.empty(); line2 = prog.receiveLine(), count++ )
           {