aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMicah Elizabeth Scott <beth@torproject.org>2023-01-18 14:14:47 -0800
committerDavid Goulet <dgoulet@torproject.org>2023-01-25 14:13:31 -0500
commita1d3d201aeeb1360f5b34497040e908d932f65d9 (patch)
treeaa75a12ba949ce50384f0d769e2d367e37b00597
parent40e39b1e65b84890dd81ab6cd6d40d61844ac0fb (diff)
downloadtor-maint-0.4.5.tar.gz
tor-maint-0.4.5.zip
compress_lzma: New enum values from liblzma 5.3.xmaint-0.4.5
Add new liblzma enums (LZMA_SEEK_NEEDED and LZMA_RET_INTERNAL*) conditional to the API version they arrived in. The first stable version of liblzma this affects is 5.4.0 Fixes #40741 Signed-off-by: Micah Elizabeth Scott <beth@torproject.org>
-rw-r--r--changes/ticket407412
-rw-r--r--src/lib/compress/compress_lzma.c30
2 files changed, 32 insertions, 0 deletions
diff --git a/changes/ticket40741 b/changes/ticket40741
new file mode 100644
index 0000000000..2a9f72489d
--- /dev/null
+++ b/changes/ticket40741
@@ -0,0 +1,2 @@
+ o Minor feature (lzma):
+ - Fix compiler warnings for liblzma >= 5.3.1. Closes ticket 40741.
diff --git a/src/lib/compress/compress_lzma.c b/src/lib/compress/compress_lzma.c
index 8884b020e8..0cb1ece761 100644
--- a/src/lib/compress/compress_lzma.c
+++ b/src/lib/compress/compress_lzma.c
@@ -73,6 +73,23 @@ lzma_error_str(lzma_ret error)
return "Unable to progress";
case LZMA_PROG_ERROR:
return "Programming error";
+#if LZMA_VERSION >= 50030010
+ case LZMA_SEEK_NEEDED:
+ // This can be returned by the .xz file_info decoder but with
+ // lzma_alone_decoder/encoder as we use, it should never be seen.
+ return "Seek needed";
+#endif
+#if LZMA_VERSION >= 50030020
+ case LZMA_RET_INTERNAL1:
+ case LZMA_RET_INTERNAL2:
+ case LZMA_RET_INTERNAL3:
+ case LZMA_RET_INTERNAL4:
+ case LZMA_RET_INTERNAL5:
+ case LZMA_RET_INTERNAL6:
+ case LZMA_RET_INTERNAL7:
+ case LZMA_RET_INTERNAL8:
+ FALLTHROUGH;
+#endif
default:
return "Unknown LZMA error";
}
@@ -306,6 +323,19 @@ tor_lzma_compress_process(tor_lzma_compress_state_t *state,
case LZMA_OPTIONS_ERROR:
case LZMA_DATA_ERROR:
case LZMA_PROG_ERROR:
+#if LZMA_VERSION >= 50030010
+ case LZMA_SEEK_NEEDED:
+#endif
+#if LZMA_VERSION >= 50030020
+ case LZMA_RET_INTERNAL1:
+ case LZMA_RET_INTERNAL2:
+ case LZMA_RET_INTERNAL3:
+ case LZMA_RET_INTERNAL4:
+ case LZMA_RET_INTERNAL5:
+ case LZMA_RET_INTERNAL6:
+ case LZMA_RET_INTERNAL7:
+ case LZMA_RET_INTERNAL8:
+#endif
default:
log_warn(LD_GENERAL, "LZMA %s didn't finish: %s.",
state->compress ? "compression" : "decompression",