Imported Upstream version 1.2.0
[platform/upstream/libzip.git] / TODO.md
diff --git a/TODO.md b/TODO.md
index 3fe55e1..5cdb79c 100644 (file)
--- a/TODO.md
+++ b/TODO.md
@@ -1,13 +1,5 @@
 # API Plans
 
-## Encryption
-
-````c
-struct zip *zip_open_encrypted(const char *path, int flags, const char *password, int *errorp);
-int zip_set_encryption(struct zip *archive, zip_uint64_t idx, zip_uint16_t method, const char *password);
-void zip_set_archive_encryption(struct zip *archive, zip_uint16_t method, const char *password);
-````
-
 ## Prefixes
 
 For example for adding extractors for self-extracting zip archives.
@@ -16,15 +8,6 @@ zip_set_archive_prefix(struct zip *za, const zip_uint8_t *data, zip_uint64_t len
 const zip_uint8_t *zip_get_archive_prefix(struct zip *za, zip_uint64_t *lengthp);
 ````
 
-## Progress Callback
-
-Register callback; will be called from `zip_close()` after each file has been processed.
-
-````c
-typedef void (*zip_progress_callback_t)(double);
-void zip_register_progress_callback(zip_t *, zip_progress_callback_t);
-````
-
 # API Issues
 
 * `zip_get_archive_comment` has `int *lenp` argument.  Cleaner would be `zip_uint32_t *`.
@@ -36,6 +19,14 @@ void zip_register_progress_callback(zip_t *, zip_progress_callback_t);
 
 # Features
 
+* Winzip AES support
+  * test cases decryption: <=20, >20, stat for both
+  * test cases encryption: no password, default password, file-specific password, 128/192/256, <=20, >20
+  * support testing on Linux
+  * support testing on macOS
+* xz support
+* consistently use `_zip_crypto_clear()` for passwords
+* implement compression flags for `zip_set_file_compression()`
 * support setting extra fields from zip_source
   * introduce layers of extra fields:
     * original
@@ -87,7 +78,6 @@ void zip_register_progress_callback(zip_t *, zip_progress_callback_t);
 * use bool
 * use `ZIP_SOURCE_SUPPORTS_{READABLE,SEEKABLE,WRITABLE}`
 * use `zip_source_seek_compute_offset()`
-* move compat refs from `zipint.h` to own file, and include that in `zipint.h` and `src`
 * get rid of `zip_get_{compression,encryption}_implementation()`
 * use `zip_*int*_t` internally
 
@@ -160,8 +150,6 @@ void zip_register_progress_callback(zip_t *, zip_progress_callback_t);
 * `zip_source_file()`: don't allow write if start/len specify a part of the file
 * script to check if all exported symbols are marked with `ZIP_EXTERN`, add to make distcheck
 
-* re-implement fix for OS X sandboxing (`zip_archive_set_tempdir()`).
-
 * document: `zip_source_write()`: length can't be > `ZIP_INT64_MAX`
 * document: `ZIP_SOURCE_CLOSE` implementation can't return error
 * keep error codes in man pages in sync