diff --git a/S3/Config.py b/S3/Config.py index ec6bf8eff..eaf495d93 100644 --- a/S3/Config.py +++ b/S3/Config.py @@ -253,6 +253,11 @@ def read_config_file(self, configfile): _option = _option.strip() self.update_option(option, _option) + # allow acl_public to be set from the config file too, even though by + # default it is set to None, and not present in the config file. + if cp.get('acl_public'): + self.update_option('acl_public', cp.get('acl_public')) + if cp.get('add_headers'): for option in cp.get('add_headers').split(","): (key, value) = option.split(':') diff --git a/s3cmd b/s3cmd index 9cddc597b..6785ab7f0 100755 --- a/s3cmd +++ b/s3cmd @@ -2726,7 +2726,8 @@ def main(): ## Special handling for tri-state options (True, False, None) cfg.update_option("enable", options.enable) - cfg.update_option("acl_public", options.acl_public) + if options.acl_public is not None: + cfg.update_option("acl_public", options.acl_public) ## Check multipart chunk constraints if cfg.multipart_chunk_size_mb < MultiPartUpload.MIN_CHUNK_SIZE_MB: