1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# SPDX-License-Identifier: MPL-2.0 OR LGPL-3.0-or-later
#
# libpathrs: safe path resolution on Linux
# Copyright (C) 2019-2025 SUSE LLC
# Copyright (C) 2026 Aleksa Sarai <cyphar@cyphar.com>
#
# == MPL-2.0 ==
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at https://mozilla.org/MPL/2.0/.
#
# Alternatively, this Source Code Form may also (at your option) be used
# under the terms of the GNU Lesser General Public License Version 3, as
# described below:
#
# == LGPL-3.0-or-later ==
#
# This program is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or (at
# your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
[]
= "pathrs"
= "0.2.3"
= "MPL-2.0 OR LGPL-3.0-or-later"
= ["Aleksa Sarai <cyphar@cyphar.com>"]
= "C-friendly API to make path resolution safer on Linux."
= "https://github.com/cyphar/libpathrs"
= "README.md"
= ["file", "fs", "security", "linux"]
= ["filesystem"]
= "2021"
= "1.63"
[]
= { = "experimental" }
[]
# MSRV(1.64): Replace with --crate-type={cdy,static}lib in Makefile.
= ["rlib"]
[]
= []
= ["dep:bytemuck", "bitflags/bytemuck", "dep:rand", "dep:open-enum"]
# All of these _test_* features are only used for our own tests -- they must
# not be used by actual users of libpathrs! The leading "_" should mean that
# they are hidden from documentation (such as the features list on crates.io).
= []
= []
[]
# Enable link-time optimisations.
= true
[]
= "2.2"
= { = "1", = ["extern_crate_std", "derive"], = true }
= "0.14"
= "0.2.178"
= "2"
# MSRV(1.80): Use LazyLock.
# MSRV(1.65): Update to once_cell >= 1.21.
= "1"
# MSRV(1.65): Update to >=0.4.1 which uses let_else. 0.4.0 was broken.
= { = "0.3", = true }
= { = "0.9", = true }
= { = "1.1", = ["fs", "process", "thread", "mount"] }
= "1"
= "2"
= "1.1"
[]
= "1"
= { = "3", = ["cargo"] }
= "0.3"
= "2"
= "3"
= "1"
= "1"
= { = "1.4.1", = ["unstable"] }
[]
= "3"
[]
= { = "warn", = [
# We have special handling for coverage runs (which set cfg(coverage)).
'cfg(coverage)',
# We set these cfgs when building with --features=capi.
'cfg(cdylib)', 'cfg(staticlib)',
# DIY version of <https://github.com/nextest-rs/nextest/discussions/2789>.
'cfg(nextest)',
] }
[]
= "2"
= [
"contrib/fake-enosys",
"e2e-tests/cmd/rust",
]