Bug 1723265
Summary: | recursion fails when broken symlink is present | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 8 | Reporter: | Cédric Jeanneret <cjeanner> |
Component: | logrotate | Assignee: | Kamil Dudka <kdudka> |
Status: | CLOSED ERRATA | QA Contact: | Frantisek Sumsal <fsumsal> |
Severity: | medium | Docs Contact: | |
Priority: | unspecified | ||
Version: | 8.1 | CC: | bdobreli, fsumsal, kdudka, msecaur, pmatilai |
Target Milestone: | rc | ||
Target Release: | 8.0 | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | logrotate-3.14.0-4.el8 | Doc Type: | If docs needed, set a value |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2020-11-04 01:59:23 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Cédric Jeanneret
2019-06-24 05:34:00 UTC
Upstream seems confused, popt does not implement any globbing beyond using glibc's glob() for finding its own config files. As I pointed out in the upstream ticket, logrotate *could* be affected by this glibc fix to revert a long-standing broken behavior on glob() regarding broken symlinks: https://sourceware.org/bugzilla/show_bug.cgi?id=866. Reassigning to logrotate, until proven otherwise this is strictly between logrotate and glibc. The upstream bug report you refer to is about a different issue -- whether symlinks should be included in the glob result or not. However, Cédric is reporting an issue about regular files not being processed when a broken symlink appears in the directory being globbed. I have not tried to reproduce it myself. It could be logrotate's issue as you say. Panu, could you please clarify the situation about popt's upstream? Does it still exist? If yes, the URL in popt.spec should be updated. Do you need a separate bug report for that? We sheltered popt at https://github.com/rpm-software-management/popt just a couple of weeks ago due to upstream vanishing for the second time within a year, but we beyond that I don't know yet what, if anything, is going to happen. So updating URL's is premature at this point. As for the issue itself, I just pointed out the glibc issue because it seems closely related - I can quite easily imagine code which does not expect to see broken symlinks (due to the longstanding glibc behavior) from glob() doing unexpected things when those broken symlinks are suddenly there again. Unexpected things such as stopping with error code and returning nothing. But that's just a guess, I didn't try reproducing either because I don't see how popt could be involved in this at all. Panu was right. This is a bug of logrotate. I have pushed a fix upstream: https://github.com/logrotate/logrotate/commit/4297f011 Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (logrotate bug fix and enhancement update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2020:4538 *** Bug 2021216 has been marked as a duplicate of this bug. *** |