Example #1
0
def read_contact_from_path( privkey_str, contact_path ):
   
   contact_json_str = storage.read_encrypted_file( privkey_str, contact_path )
   if contact_json_str is None:
      log.error( "Could not read contact %s" % contact_path )
      return None
   
   try:
      contact = storage.json_to_tuple( SyndicateContact, contact_json_str )
   except Exception, e:
      log.error("Failed to load contact %s" % contact_path )
      log.exception(e)
      return None
Example #2
0
def read_incoming_message( privkey_str, msg_timestamp, msg_id, volume=None ):
   mpath = incoming_message_path( msg_timestamp, msg_id )
   
   msg_json = storage.read_encrypted_file( privkey_str, mpath, volume=volume )
   if msg_json is None:
      log.error("Failed to read incoming message %s" % message_handle( msg_timestamp, msg_id ))
      return None
   
   try:
      msg = storage.json_to_tuple( SyndicateIncomingMessage, msg_json )
   except Exception, e:
      log.error("Failed to parse incoming message")
      log.exception(e)
      return None
Example #3
0
def read_stored_message( privkey_str, folder, msg_timestamp, msg_id, volume=None, receiver_pubkey_pem=None ):
   if receiver_pubkey_pem is None:
      pkey = CryptoKey.importKey( privkey_str )
      receiver_pubkey_pem = pkey.publickey().exportKey()

   mpath = stored_message_path( receiver_pubkey_pem, folder, msg_timestamp, msg_id )
   
   if not storage.path_exists( mpath, volume=volume ):
      log.error("No message at %s" % mpath )
      return None
   
   msg_json = storage.read_encrypted_file( privkey_str, mpath, volume=volume )
   if msg_json is None:
      log.error("Failed to read message")
      return None
   
   try:
      msg = storage.json_to_tuple( SyndicateMessage, msg_json )
   except Exception, e:
      log.error("Failed to parse message")
      log.exception(e)
      return None
Example #4
0
def read_syndicate_user_id( privkey_pem, volume ):
   uid_path = storage.volume_path( USER_STORAGE_DIR, "syndicate_user_id" )
   return storage.read_encrypted_file( privkey_pem, uid_path, volume=volume )
Example #5
0

#-------------------------
def read_message_from_volume( vol_inst, sender_pubkey_str, receiver_pubkey_str, receiver_privkey_str, incoming_message ):
   try:
      sender_addr_parsed = contact.parse_addr( incoming_message.sender_addr )
   except Exception, e:
      log.exception(e)
      log.error("Could not parse email")
      return None
   
   log.info("Read message from %s" % (incoming_message.sender_addr))

   try:
      msg_path = stored_message_path( receiver_pubkey_str, SENT_FOLDER, incoming_message.timestamp, incoming_message.id )
      msg_json = storage.read_encrypted_file( receiver_privkey_str, msg_path, volume=vol_inst, sender_pubkey_pem=sender_pubkey_str )
   except Exception, e:
      log.exception(e)
      log.error("Failed to read %s" % msg_path )
      return None 
  
   if msg_json is None:
      log.error("Failed to read message from Volume")
      return None

   # unserialize
   try:
      msg = storage.json_to_tuple( SyndicateMessage, msg_json )
   except Exception, e:
      log.exception(e)
      log.error("Failed to parse %s" % msg_path )