Skip to content

Commit

Permalink
Merge pull request #1562 in ITERATE/cyberduck from bugfix/TRAC-10573 …
Browse files Browse the repository at this point in the history
…to master

* commit 'b571843c488f3bc22edb369e8f980c94b4288ec0':
  Fix #10573. Do not attempt to read attributes of pending multipart upload.
  • Loading branch information
automerge committed Jan 24, 2019
2 parents a04052d + b571843 commit 68b00eb
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 0 deletions.
Expand Up @@ -57,6 +57,9 @@ public S3AccessControlListFeature(final S3Session session) {
@Override
public Acl getPermission(final Path file) throws BackgroundException {
try {
if(file.getType().contains(Path.Type.upload)) {
return Acl.EMPTY;
}
if(containerService.isContainer(file)) {
// This method can be performed by anonymous services, but can only succeed if the
// bucket's existing ACL already allows write access by the anonymous user.
Expand Down
Expand Up @@ -60,6 +60,9 @@ public PathAttributes find(final Path file) throws BackgroundException {
if(file.isRoot()) {
return PathAttributes.EMPTY;
}
if(file.getType().contains(Path.Type.upload)) {
return PathAttributes.EMPTY;
}
if(containerService.isContainer(file)) {
final PathAttributes attributes = new PathAttributes();
attributes.setRegion(new S3LocationFeature(session, session.getClient().getRegionEndpointCache()).getLocation(file).getIdentifier());
Expand Down
Expand Up @@ -77,6 +77,9 @@ public LifecycleConfiguration getConfiguration(final Path file) throws Backgroun
if(container.isRoot()) {
return LifecycleConfiguration.empty();
}
if(file.getType().contains(Path.Type.upload)) {
return LifecycleConfiguration.empty();
}
try {
final LifecycleConfig status = session.getClient().getLifecycleConfig(container.getName());
if(null != status) {
Expand Down
3 changes: 3 additions & 0 deletions s3/src/main/java/ch/cyberduck/core/s3/S3LoggingFeature.java
Expand Up @@ -53,6 +53,9 @@ public LoggingConfiguration getConfiguration(final Path file) throws BackgroundE
if(bucket.isRoot()) {
return LoggingConfiguration.empty();
}
if(file.getType().contains(Path.Type.upload)) {
return LoggingConfiguration.empty();
}
try {
final StorageBucketLoggingStatus status
= session.getClient().getBucketLoggingStatusImpl(bucket.getName());
Expand Down

0 comments on commit 68b00eb

Please sign in to comment.