Exemplo n.º 1
0
 def testMissingSignedBinary(self):
     missing_urn = rdfvalue.RDFURN("aff4:/config/executables/not/exist")
     with self.assertRaises(signed_binary_utils.SignedBinaryNotFoundError):
         signed_binary_utils.DeleteSignedBinary(missing_urn)
     with self.assertRaises(signed_binary_utils.SignedBinaryNotFoundError):
         signed_binary_utils.FetchBlobsForSignedBinaryByURN(missing_urn)
     with self.assertRaises(signed_binary_utils.SignedBinaryNotFoundError):
         signed_binary_utils.FetchSizeOfSignedBinary(missing_urn)
Exemplo n.º 2
0
  def Handle(self, args, token=None):
    if not args.path:
      raise ValueError("Invalid binary path: %s" % args.path)

    root_urn = _GetBinaryRootUrn(args.type)
    try:
      signed_binary_utils.DeleteSignedBinary(root_urn.Add(args.path))
    except signed_binary_utils.SignedBinaryNotFoundError:
      raise GrrBinaryNotFoundError(
          "No binary with type=%s and path=%s was found." %
          (args.type, args.path))
Exemplo n.º 3
0
 def testDeleteSignedBinary(self):
   binary1_urn = rdfvalue.RDFURN("aff4:/config/executables/foo1")
   binary2_urn = rdfvalue.RDFURN("aff4:/config/executables/foo2")
   signed_binary_utils.WriteSignedBinaryBlobs(
       binary1_urn, [rdf_crypto.SignedBlob().Sign(b"\x00", self._private_key)])
   signed_binary_utils.WriteSignedBinaryBlobs(
       binary2_urn, [rdf_crypto.SignedBlob().Sign(b"\x11", self._private_key)])
   self.assertCountEqual(signed_binary_utils.FetchURNsForAllSignedBinaries(),
                         [binary1_urn, binary2_urn])
   signed_binary_utils.DeleteSignedBinary(binary1_urn)
   self.assertCountEqual(signed_binary_utils.FetchURNsForAllSignedBinaries(),
                         [binary2_urn])
Exemplo n.º 4
0
  def Handle(self, args, context=None):
    if not args.path:
      raise ValueError("Invalid binary path: %s" % args.path)

    # We do not allow deleting GRR binaries if the readonly configuration
    # flag is set.
    if config.CONFIG["Server.grr_binaries_readonly"]:
      raise GrrBinaryIsNotDeletableError(
          f"GRR binary ({args.path}, {args.type}) can't be deleted: "
          "all binaries are read-only.")

    root_urn = _GetBinaryRootUrn(args.type)
    try:
      signed_binary_utils.DeleteSignedBinary(root_urn.Add(args.path))
    except signed_binary_utils.SignedBinaryNotFoundError:
      raise GrrBinaryNotFoundError(
          "No binary with type=%s and path=%s was found." %
          (args.type, args.path))