{"push_id":859521066,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"d4cf98fe2fd0c35991cab5b487a98c79e0051c57","before":"87d8d93db5473983d22b30797787ddbdce2e550f","commits":[{"sha":"d4cf98fe2fd0c35991cab5b487a98c79e0051c57","author":{"email":"625169824b719df98706d88646d0aae6f368ae4d@scylladb.com","name":"Nadav Har'El"},"message":"cpiod: fix handling of prefix + absolute symlinks\n\nWe use (in scripts/build) cpiod's \"prefix\" feature, to allow uploading\nfiles to some mount-point - in our case \"/zfs/zfs\".\n\nThere is a problem with absolute-pathname symbolic links: Imagine that\nsomeone adds a symbolic link in \"/target\" pointing to \"/orig\". Now,\nhe further uploads a file \"/target/file\". The existing code uploaded\nthis file into prefix+path, i.e., to /zfs/zfs/target/file. However,\nthis won't work: /zfs/zfs/target is an absolute-pathname symbolic link\nto \"/orig\". While this link will indeed work on the final system (where\nthe filesystem is mounted on \"/\") it won't work during the upload because\n\"/orig\" does not exist now - only \"/zfs/zfs/orig\" exists.\n\nSo our only recourse is to process and expand symbolic links in our\nown code. We ignore relative symbolic links - they are already treated\ncorrectly (although using too many \"..\" can let you escape out of the\nprefix), but need to implement links to absolute paths differently -\nadding the prefix to the target of that link.\n\nThis patch doesn't fix any existing module, but preemptively fixes a bug\nwhich could be noticed in some future module. For example, the following\nmanifest triggers this bug and is fixed by this fix:\n\n    /xyz: /tmp        # this silly construct creates an empty directory\n    /zzz: ->/xyz\n    /zzz/qqq: /tmp\n\nSigned-off-by: Nadav Har'El <nyh@scylladb.com>","distinct":true,"url":"https://api.github.com/repos/imp/osv/commits/d4cf98fe2fd0c35991cab5b487a98c79e0051c57"}]}