mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 21:23:58 +01:00
Add API for getting human readable descriptions of a compress_method_t
See: https://bugs.torproject.org/21667
This commit is contained in:
parent
f8218b5ada
commit
3a05687c6d
@ -343,6 +343,32 @@ compression_method_get_name(compress_method_t method)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/** Table of compression human readable method names. */
|
||||
static const struct {
|
||||
compress_method_t method;
|
||||
const char *name;
|
||||
} compression_method_human_names[] = {
|
||||
{ NO_METHOD, "uncompressed" },
|
||||
{ GZIP_METHOD, "gzipped" },
|
||||
{ ZLIB_METHOD, "deflated" },
|
||||
{ LZMA_METHOD, "LZMA compressed" },
|
||||
{ ZSTD_METHOD, "Zstandard compressed" },
|
||||
{ UNKNOWN_METHOD, "unknown encoding" },
|
||||
};
|
||||
|
||||
/** Return a human readable string representation of the compression method
|
||||
* <b>method</b>, or NULL if the method isn't recognized. */
|
||||
const char *
|
||||
compression_method_get_human_name(compress_method_t method)
|
||||
{
|
||||
unsigned i;
|
||||
for (i = 0; i < ARRAY_LENGTH(compression_method_human_names); ++i) {
|
||||
if (method == compression_method_human_names[i].method)
|
||||
return compression_method_human_names[i].name;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/** Return the compression method represented by the string <b>name</b>, or
|
||||
* UNKNOWN_METHOD if the string isn't recognized. */
|
||||
compress_method_t
|
||||
|
@ -50,6 +50,7 @@ int tor_compress_is_compression_bomb(size_t size_in, size_t size_out);
|
||||
int tor_compress_supports_method(compress_method_t method);
|
||||
unsigned tor_compress_get_supported_method_bitmask(void);
|
||||
const char * compression_method_get_name(compress_method_t method);
|
||||
const char *compression_method_get_human_name(compress_method_t method);
|
||||
compress_method_t compression_method_get_by_name(const char *name);
|
||||
|
||||
const char *tor_compress_version_str(compress_method_t method);
|
||||
|
Loading…
Reference in New Issue
Block a user