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

RFE: Add --nomanifests disabler #437

Closed
n3npq opened this issue Apr 25, 2018 · 4 comments
Closed

RFE: Add --nomanifests disabler #437

n3npq opened this issue Apr 25, 2018 · 4 comments

Comments

@n3npq
Copy link
Contributor

n3npq commented Apr 25, 2018

RPM attempts to read CLI file arguments as a manifest if a header cannot be read from the file.

Since manifests are parsed free field, rpm behavior can become quite complex, particularly when ../../.. relative paths are parsed.

There's a slew of mostly unimportant issues (IMHO: manifests are a very minor unused feature in RPM) that can/will be discovered by fuzzing.

Hence there needs to be a means to disable manifest reading from the rpm CLI

@pmatilai
Copy link
Member

Um, there already is such a disabler since prehistoric times (certainly it was in 4.4.x already) and working just fine (it's even tested in the testsuite), only it's --nomanifest instead of your suggested plural.

@n3npq
Copy link
Contributor Author

n3npq commented Apr 26, 2018

Good.

Meanwhile I suggest you look at the refactored lib/rpminstall.c tryReadManifest(). There is no logic there preventing the call.

@n3npq
Copy link
Contributor Author

n3npq commented Apr 26, 2018

You might also consider supporting manifests to be downloaded and treated like lists of urls to download. shrug

@n3npq
Copy link
Contributor Author

n3npq commented Apr 26, 2018

The real problem is that there are two places where manifests are read: lib/rpminstall.c (extremely old code) should be extended to use rpmgi* argument processing, thereby removing duplicated code and simplifying rpminstall.c.

Don't forget to move the popt entry from poptQV.c if/when you do so.

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