KeePassSync Amazon S3 won't upload

Help
Anonymous
2011-02-19
2013-07-13

  • Anonymous
    2011-02-19

    When I try to upload an object larger than 1 MB it fails with "Inline data
    exceeds the maximum allowed size"

    System.Web.Services.Protocols.SoapException: Inline data exceeds the maximum
    allowed size
    at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClien
    tMessage message, WebResponse response, Stream responseStream, Boolean
    asyncCall)
    at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String
    methodName, Object parameters)
    at com.amazonaws.s3.AmazonS3.PutObjectInline(String Bucket, String Key,
    MetadataEntry] Metadata, Byte[ Data, Int64 ContentLength, Grant
    AccessControlList, StorageClass StorageClass, Boolean StorageClassSpecified,
    String AWSAccessKeyId, DateTime Timestamp, Boolean TimestampSpecified, String
    Signature, String Credential)

     

  • Anonymous
    2011-02-25

    It looks like this is a limit of the SOAP API to S3: https://forums.aws.amazo
    n.com/message.jspa?messageID=62684

    Someone will have to change the call to PutObjectInline to PutObject, and
    include the file as an attachment, rather than as a part of the request.

     

  • Anonymous
    2011-02-25

    After looking into it a little bit more, I don't think it's possible to use
    the SOAP API to do a PutObject directly. Amazon provides an SDK for .Net which
    can do this (specific documentation on PutObject here: http://docs.amazonwebs
    ervices.com/AmazonS3/latest/dev/index.html?UploadObjSingleOpNET.html).
    In a pinch just the one upload function could be rewritten to use
    this, but long-term the SOAP APIs should probably be abandoned for Amazon's
    SDK. shrug

    Now someone just needs to step up and do the work ;-)

    In the meantime, you may check that you have compression enabled, and you
    could empty the recycle bin in your database, if it's not empty. I think that
    keepasssync depends on the recycle bin not being empty to sync properly
    (remove entries), so you may want to ensure that all clients are synced before
    emptying that out.

     
  • ctd1500
    ctd1500
    2013-07-13

    I have updated KeePassSync to support S3 with databases larger than 1MB, available here: https://github.com/ctd1500/KeePassSync

    I don't know that I will re-write it to support all of the Amazon SDK, but larger databases sync properly now.