- Add startup banner with NO AUTH warning - Add --max-decompress-gb CLI flag (default 1 GB) - Add hard cap for --max-upload-mb at 4096 MB (4 GiB) - Add max_decompress_gb form field parsing - Update CLI help text with security model documentation - Add comprehensive security model docs to serve.rs rustdoc This implements the security constraints required by the bead: - No built-in authentication (deploy behind reverse proxy) - No file-path parameters (multipart upload only) - Hard caps to prevent integer overflow - Visible security warnings at startup Closes: pdftract-4li3d
19 lines
618 B
Rust
19 lines
618 B
Rust
use lzw::{Decoder, MsbReader};
|
|
|
|
fn main() {
|
|
// Test basic encoding/decoding
|
|
let data = b"hello world!";
|
|
|
|
// Encode with LzwWriter (LSB first)
|
|
let mut encoded = Vec::new();
|
|
{
|
|
let mut encoder = lzw::LsbWriter::new(&mut encoded);
|
|
std::io::Write::write_all(&mut encoder, data).expect("Failed to write data");
|
|
}
|
|
println!("Encoded: {:02x?}", encoded);
|
|
|
|
// Decode
|
|
let mut decoder = Decoder::<MsbReader>::new(MsbReader::new(), 8);
|
|
let (consumed, decoded) = decoder.decode_bytes(&encoded).unwrap();
|
|
println!("Decoded: {:?}", std::str::from_utf8(decoded).unwrap());
|
|
}
|