コード例 #1
0
ファイル: http_data_store.py プロジェクト: suelspahiu/grr
    def UnlockSubject(self, subject, transid):
        """Unlocks subject using lock id."""
        request = rdf_data_store.DataStoreRequest(subject=[subject])
        blob = rdf_protodict.DataBlob(string=transid)
        value = rdf_data_store.DataStoreValue(value=blob)
        request.values.Append(value)

        # We do not care about the server response.
        typ = rdf_data_server.DataStoreCommand.Command.UNLOCK_SUBJECT
        self._MakeSyncRequest(request, typ)

        return transid
コード例 #2
0
ファイル: http_data_store.py プロジェクト: burdzwastaken/grr
  def UnlockSubject(self, subject, transid, token):
    """Unlocks subject using transaction id."""
    self.security_manager.CheckDataStoreAccess(token, [subject], "w")

    request = rdf_data_store.DataStoreRequest(subject=[subject])
    if token:
      request.token = token
    blob = rdf_protodict.DataBlob(string=transid)
    value = rdf_data_store.DataStoreValue(value=blob)
    request.values.Append(value)

    # We do not care about the server response.
    typ = rdf_data_server.DataStoreCommand.Command.UNLOCK_SUBJECT
    self._MakeSyncRequest(request, typ)

    return transid
コード例 #3
0
ファイル: http_data_store.py プロジェクト: suelspahiu/grr
    def ExtendSubjectLock(self, subject, transid, lease_time):
        """Extends lock of subject."""
        request = rdf_data_store.DataStoreRequest(subject=[subject])
        specific = rdf_data_store.TimestampSpec.Type.SPECIFIC_TIME
        request.timestamp = rdf_data_store.TimestampSpec(start=lease_time,
                                                         type=specific)
        blob = rdf_protodict.DataBlob(string=transid)
        value = rdf_data_store.DataStoreValue(value=blob)
        request.values.Append(value)

        typ = rdf_data_server.DataStoreCommand.Command.EXTEND_SUBJECT
        response = self._MakeSyncRequest(request, typ)

        if not response.results:
            return None
        result = response.results[0]
        if not result.values:
            return None
        value = result.values[0].value.string
        return transid if transid == value else None
コード例 #4
0
ファイル: store.py プロジェクト: firebitsbr/grr
 def _AddTransactionId(self, response, subject, transid):
   blob = rdf_protodict.DataBlob(string=transid)
   value = rdf_data_store.DataStoreValue(value=blob)
   response.results.Append(subject=subject, values=[value])