Exemple #1
0
    def ParseFile(
        self,
        knowledge_base: rdf_client.KnowledgeBase,
        pathspec: rdf_paths.PathSpec,
        filedesc: IO[bytes],
    ) -> Iterator[rdf_config_file.NtpConfig]:
        del knowledge_base  # Unused.
        del pathspec  # Unused.

        # TODO(hanuszczak): This parser only allows single use because it messes
        # with its state. This should be fixed.
        field_parser = NtpdFieldParser()
        for line in field_parser.ParseEntries(
                utils.ReadFileBytesAsUnicode(filedesc)):
            field_parser.ParseLine(line)

        yield rdf_config_file.NtpConfig(
            config=field_parser.config,
            server=field_parser.keyed.get("server"),
            restrict=field_parser.keyed.get("restrict"),
            fudge=field_parser.keyed.get("fudge"),
            trap=field_parser.keyed.get("trap"),
            peer=field_parser.keyed.get("peer"),
            broadcast=field_parser.keyed.get("broadcast"),
            manycastclient=field_parser.keyed.get("manycastclient"))
Exemple #2
0
  def Parse(self, stat, file_object, knowledge_base):
    """Parse a ntp config into rdf."""
    _, _ = stat, knowledge_base

    # TODO(hanuszczak): This parser only allows single use because it messes
    # with its state. This should be fixed.
    field_parser = NtpdFieldParser()
    for line in field_parser.ParseEntries(file_object.read()):
      field_parser.ParseLine(line)

    yield rdf_config_file.NtpConfig(
        config=field_parser.config,
        server=field_parser.keyed.get("server"),
        restrict=field_parser.keyed.get("restrict"),
        fudge=field_parser.keyed.get("fudge"),
        trap=field_parser.keyed.get("trap"),
        peer=field_parser.keyed.get("peer"),
        broadcast=field_parser.keyed.get("broadcast"),
        manycastclient=field_parser.keyed.get("manycastclient"))
Exemple #3
0
 def Parse(self, stat, file_object, knowledge_base):
   """Parse a ntp config into rdf."""
   _, _ = stat, knowledge_base
   # Clean out any residual state.
   self.config = self._defaults.copy()
   self.keyed = {}
   # ntp.conf has no line continuation. Override the default 'cont' values
   # then parse up the lines.
   self.cont = ""
   for line in self.ParseEntries(file_object.read()):
     self.ParseLine(line)
   yield rdf_config_file.NtpConfig(
       config=self.config,
       server=self.keyed.get("server"),
       restrict=self.keyed.get("restrict"),
       fudge=self.keyed.get("fudge"),
       trap=self.keyed.get("trap"),
       peer=self.keyed.get("peer"),
       broadcast=self.keyed.get("broadcast"),
       manycastclient=self.keyed.get("manycastclient"))