v2.0.3-rc (#32)
	
		
			
	
		
	
	
		
	
		
			Some checks failed
		
		
	
	
		
			
				
	
				BlockStorage/repertory/pipeline/head Something is wrong with the build of this commit
				
			
		
		
	
	
				
					
				
			
		
			Some checks failed
		
		
	
	BlockStorage/repertory/pipeline/head Something is wrong with the build of this commit
				
			# Changelog ## v2.0.3-rc ### Issues * \#28 \[bug\] Address slow directory responses in S3 mounts for deeply nested directories * \#29 \[bug\] S3 error responses are not being logged * \#30 \[bug\] Sia provider error responses are not logged * \#31 \[bug\] S3 provider should limit max key size to 1024 ### Changes from v2.0.2-rc * Always use direct for read-only providers * Fixed externally removed files not being processed during cleanup * Fixed http headers not being added for requests * Fixed incorrect `stat` values for remote mounts * Fixed invalid directory nullptr error on remote mounts * Fixed memory leak in event system * Refactored application shutdown * Refactored event system * Updated build system to Alpine 3.21.0 * Updated build system to MinGW-w64 12.0.0 * Updated copyright to 2018-2025 Reviewed-on: #32
This commit is contained in:
		@@ -1,5 +1,5 @@
 | 
			
		||||
/*
 | 
			
		||||
  Copyright <2018-2024> <scott.e.graves@protonmail.com>
 | 
			
		||||
  Copyright <2018-2025> <scott.e.graves@protonmail.com>
 | 
			
		||||
 | 
			
		||||
  Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
			
		||||
  of this software and associated documentation files (the "Software"), to deal
 | 
			
		||||
@@ -53,19 +53,19 @@ private:
 | 
			
		||||
  i_file_manager *fm_{};
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
  void add_all_items(const stop_type &stop_requested);
 | 
			
		||||
  void add_all_items(stop_type &stop_requested);
 | 
			
		||||
 | 
			
		||||
  void process_removed_directories(std::deque<removed_item> removed_list,
 | 
			
		||||
                                   const stop_type &stop_requested);
 | 
			
		||||
                                   stop_type &stop_requested);
 | 
			
		||||
 | 
			
		||||
  void process_removed_files(std::deque<removed_item> removed_list,
 | 
			
		||||
                             const stop_type &stop_requested);
 | 
			
		||||
                             stop_type &stop_requested);
 | 
			
		||||
 | 
			
		||||
  void process_removed_items(const stop_type &stop_requested);
 | 
			
		||||
  void process_removed_items(stop_type &stop_requested);
 | 
			
		||||
 | 
			
		||||
  void remove_deleted_items(const stop_type &stop_requested);
 | 
			
		||||
  void remove_deleted_items(stop_type &stop_requested);
 | 
			
		||||
 | 
			
		||||
  void remove_unmatched_source_files(const stop_type &stop_requested);
 | 
			
		||||
  void remove_unmatched_source_files(stop_type &stop_requested);
 | 
			
		||||
 | 
			
		||||
protected:
 | 
			
		||||
  [[nodiscard]] static auto create_api_file(std::string path, std::string key,
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
/*
 | 
			
		||||
  Copyright <2018-2024> <scott.e.graves@protonmail.com>
 | 
			
		||||
  Copyright <2018-2025> <scott.e.graves@protonmail.com>
 | 
			
		||||
 | 
			
		||||
  Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
			
		||||
  of this software and associated documentation files (the "Software"), to deal
 | 
			
		||||
@@ -82,7 +82,7 @@ private:
 | 
			
		||||
                               const encrypt_config &cfg,
 | 
			
		||||
                               std::string &api_path) const -> bool;
 | 
			
		||||
 | 
			
		||||
  void remove_deleted_files(const stop_type &stop_requested);
 | 
			
		||||
  void remove_deleted_files(stop_type &stop_requested);
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
  [[nodiscard]] auto create_directory(const std::string &api_path,
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
/*
 | 
			
		||||
  Copyright <2018-2024> <scott.e.graves@protonmail.com>
 | 
			
		||||
  Copyright <2018-2025> <scott.e.graves@protonmail.com>
 | 
			
		||||
 | 
			
		||||
  Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
			
		||||
  of this software and associated documentation files (the "Software"), to deal
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
/*
 | 
			
		||||
  Copyright <2018-2024> <scott.e.graves@protonmail.com>
 | 
			
		||||
  Copyright <2018-2025> <scott.e.graves@protonmail.com>
 | 
			
		||||
 | 
			
		||||
  Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
			
		||||
  of this software and associated documentation files (the "Software"), to deal
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
/*
 | 
			
		||||
  Copyright <2018-2024> <scott.e.graves@protonmail.com>
 | 
			
		||||
  Copyright <2018-2025> <scott.e.graves@protonmail.com>
 | 
			
		||||
 | 
			
		||||
  Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
			
		||||
  of this software and associated documentation files (the "Software"), to deal
 | 
			
		||||
@@ -54,14 +54,18 @@ private:
 | 
			
		||||
                                      const std::string &object_name) const
 | 
			
		||||
      -> api_error;
 | 
			
		||||
 | 
			
		||||
  [[nodiscard]] auto
 | 
			
		||||
  create_directory_object(const std::string &api_path,
 | 
			
		||||
                          const std::string &object_name) const -> api_error;
 | 
			
		||||
 | 
			
		||||
  [[nodiscard]] auto create_directory_paths(const std::string &api_path,
 | 
			
		||||
                                            const std::string &key) const
 | 
			
		||||
      -> api_error;
 | 
			
		||||
 | 
			
		||||
  [[nodiscard]] auto create_file_extra(const std::string &api_path,
 | 
			
		||||
                                       api_meta_map &meta)
 | 
			
		||||
      -> api_error override;
 | 
			
		||||
 | 
			
		||||
  [[nodiscard]] auto create_path_directories(const std::string &api_path,
 | 
			
		||||
                                             const std::string &key) const
 | 
			
		||||
      -> api_error;
 | 
			
		||||
 | 
			
		||||
  [[nodiscard]] auto decrypt_object_name(std::string &object_name) const
 | 
			
		||||
      -> api_error;
 | 
			
		||||
 | 
			
		||||
@@ -85,6 +89,9 @@ private:
 | 
			
		||||
    return s3_config_;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  [[nodiscard]] auto set_meta_key(const std::string &api_path,
 | 
			
		||||
                                  api_meta_map &meta) -> api_error;
 | 
			
		||||
 | 
			
		||||
protected:
 | 
			
		||||
  [[nodiscard]] auto create_directory_impl(const std::string &api_path,
 | 
			
		||||
                                           api_meta_map &meta)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
/*
 | 
			
		||||
  Copyright <2018-2024> <scott.e.graves@protonmail.com>
 | 
			
		||||
  Copyright <2018-2025> <scott.e.graves@protonmail.com>
 | 
			
		||||
 | 
			
		||||
  Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
			
		||||
  of this software and associated documentation files (the "Software"), to deal
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user