Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Document the deltarpm format #16

Open
DemiMarie opened this issue Mar 7, 2022 · 5 comments
Open

Document the deltarpm format #16

DemiMarie opened this issue Mar 7, 2022 · 5 comments

Comments

@DemiMarie
Copy link

What is the format of a deltarpm package?

@mlschroe
Copy link

mlschroe commented Mar 10, 2022

I guess "drpm" is compatible to "deltarpm". The format is somewhat documented here:

https://github.com/rpm-software-management/deltarpm/blob/master/README

@DemiMarie
Copy link
Author

I guess "drpm" is compatible to "deltarpm". The format is somewhat documented here:

https://github.com/rpm-software-management/deltarpm/blob/master/README

What is the format of the delta instructions? This is the part that confuses me.

@DemiMarie
Copy link
Author

To elaborate: I want to audit the drpm implementation for security, and doing that requires knowing what the format of the input is.

@mlschroe
Copy link

IIRC there are just two types of instructions:

  1. copy n bytes from the "literal" data
  2. copy n bytes from the reconstructed old cpio archive at position p, modifying the bytes by adding n bytes from the "addblock" data

It's the same as in the "bsdiff" tool.

@DemiMarie
Copy link
Author

IIRC there are just two types of instructions:

  1. copy n bytes from the "literal" data
  2. copy n bytes from the reconstructed old cpio archive at position p, modifying the bytes by adding n bytes from the "addblock" data

It's the same as in the "bsdiff" tool.

Can those instructions, and their encoding, be documented in detail? The documentation should be sufficient should for someone to reimplement the format from scratch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants