Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

ZPAQ: many configuration options missing from Squash plugin #206

Open
pothos opened this issue Jul 29, 2016 · 1 comment
Open

ZPAQ: many configuration options missing from Squash plugin #206

pothos opened this issue Jul 29, 2016 · 1 comment

Comments

@pothos
Copy link

pothos commented Jul 29, 2016

Not only "1" and "5" are valid parameters, but also e.g. "x6.0ci1.1.1.1.2aw2mm16tst" for text (see libzpaq.h), so only an integer from 1 to 5 is not enough.
Lateron even c.startBlock(const char* config, …) could also be used instead of compress() to allow usage of own algorithms through their ZPAQL config file .

@nemequ
Copy link
Member

nemequ commented Jul 30, 2016

You're right, we don't expose a lot of ZPAQ's flexibility, and we should. I don't know when I'll get to this, so in case you would like to take a stab at it:

The relevant code is at plugins/zpaq/squash-zpaq.cpp:49 and :151 (C++ makes this harder, sorry. With C you wouldn't need the second bit). Basically, there should be one option for each thing you're trying to set; LZHAM has lots of options so it should be a good example, and the options API is in squash-options.h. If you need any help, just ask here or drop by #squash on FreeNode.

If you decide to wait, I should warn you that it might be a while. There is a lot of stuff I want to do in Squash first, and ZPAQ isn't very interesting to me since it's not safe for decompression (an attacker can create an archive which causes an infinite loop).

@nemequ nemequ changed the title ZPAQ: Compression Method as String ZPAQ: many configuration options missing from Squash plugin Aug 11, 2016
# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

No branches or pull requests

2 participants