more open-like O_CREAT support?
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
Direzione di ricerca
Start by reading Root::create_file and comparing how the openat2 and O_PATH resolvers handle creation flags. The issue asks whether to support O_CREAT without O_EXCL and O_NOFOLLOW, including dangling symlink targets; determine what each resolver can safely implement and document the behavior. Done means the supported flag combinations and resolver behavior are settled and covered by tests.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
At the moment, Root::create_file is explcitly O_CREAT|O_EXCL|O_NOFOLLOW which is the most secure and straight-forward implemementation that will work regardless of the resolver implementation.
However, it seems possible users might prefer having more open-like O_CREAT support. Namely:
O_CREATwithoutO_EXCL, to allow you to create-or-open an existing directory (possibly withO_TRUNC). This is a fairly common thing programs do, so blocking it in the interests of safety is probably something people will bristle against.O_CREATwithoutO_NOFOLLOWallows you to create the target of a dangling symlink. I suspect this is a very rarely-used feature ofO_CREAT(and I view it as a mis-feature) but it is something that it is not reasonably possible to emulate as alibpathrsuser without going through a lot of hoops. It's not clear to me whether this is going to be reasonable to implement for theO_PATHresolver (foropenat2it's trivial).
- Lingua principale
- Rust
- Stelle
- 146
- Fork
- 12
- Merge medio
- 1g 16h
- PR unite (30g)
- 20
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di cyphar/libpathrs
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
cyphar/libpathrs#434 · 4 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 43/100
cyphar/libpathrs#469 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
rust tests
Difficoltà 4/5 3-5 giorni Idoneità per principianti 38/100
I maintainer di solito rispondono entro 1 giorno
-
api/procfs linux/upstream
Difficoltà 4/5 3-5 giorni Idoneità per principianti 44/100
I maintainer di solito rispondono entro 1 giorno
-
api/cffi bindings/go bindings/python ideas welcome
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di cyphar/libpathrs
Issue simili
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 70/100
OpenZeppelin/openzeppelin-relayer#967 ·
I maintainer di solito rispondono entro 1 giorno
-
DecisionOutcome::label() / n_dosed(): engine-side mapping so downstream needs no wildcard armAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
src/runs.rs:1987: a missing --source-run-id now answers 400 "Source run ... does not exist", not 404Apertanightly-audit
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
antithesishq/snouty#602 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
libnativeapi/nativeapi#21 ·