mirror of
https://github.com/loot/libloot.git
synced 2026-07-27 14:16:01 -07:00
Update CXX to v1.0.192
This commit is contained in:
Generated
+23
-23
@@ -99,9 +99,9 @@ checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6"
|
||||
|
||||
[[package]]
|
||||
name = "codespan-reporting"
|
||||
version = "0.12.0"
|
||||
version = "0.13.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fe6d2e5af09e8c8ad56c969f2157a3d4238cebc7c55f0a517728c38f7b200f81"
|
||||
checksum = "af491d569909a7e4dee0ad7db7f5341fef5c614d5b8ec8cf765732aba3cff681"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"termcolor",
|
||||
@@ -195,23 +195,24 @@ checksum = "4f211af61d8efdd104f96e57adf5e426ba1bc3ed7a4ead616e15e5881fd79c4d"
|
||||
|
||||
[[package]]
|
||||
name = "cxx"
|
||||
version = "1.0.161"
|
||||
version = "1.0.192"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a3523cc02ad831111491dd64b27ad999f1ae189986728e477604e61b81f828df"
|
||||
checksum = "bbda285ba6e5866529faf76352bdf73801d9b44a6308d7cd58ca2379f378e994"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"cxx-build",
|
||||
"cxxbridge-cmd",
|
||||
"cxxbridge-flags",
|
||||
"cxxbridge-macro",
|
||||
"foldhash",
|
||||
"foldhash 0.2.0",
|
||||
"link-cplusplus",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cxx-build"
|
||||
version = "1.0.161"
|
||||
version = "1.0.192"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "212b754247a6f07b10fa626628c157593f0abf640a3dd04cce2760eca970f909"
|
||||
checksum = "af9efde466c5d532d57efd92f861da3bdb7f61e369128ce8b4c3fe0c9de4fa4d"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"codespan-reporting",
|
||||
@@ -224,9 +225,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "cxxbridge-cmd"
|
||||
version = "1.0.161"
|
||||
version = "1.0.192"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f426a20413ec2e742520ba6837c9324b55ffac24ead47491a6e29f933c5b135a"
|
||||
checksum = "3efb93799095bccd4f763ca07997dc39a69e5e61ab52d2c407d4988d21ce144d"
|
||||
dependencies = [
|
||||
"clap",
|
||||
"codespan-reporting",
|
||||
@@ -238,20 +239,19 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "cxxbridge-flags"
|
||||
version = "1.0.161"
|
||||
version = "1.0.192"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a258b6069020b4e5da6415df94a50ee4f586a6c38b037a180e940a43d06a070d"
|
||||
checksum = "3092010228026e143b32a4463ed9fa8f86dca266af4bf5f3b2a26e113dbe4e45"
|
||||
|
||||
[[package]]
|
||||
name = "cxxbridge-macro"
|
||||
version = "1.0.161"
|
||||
version = "1.0.192"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e8dec184b52be5008d6eaf7e62fc1802caf1ad1227d11b3b7df2c409c7ffc3f4"
|
||||
checksum = "31d72ebfcd351ae404fb00ff378dfc9571827a00722c9e735c9181aec320ba0a"
|
||||
dependencies = [
|
||||
"indexmap",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"rustversion",
|
||||
"syn",
|
||||
]
|
||||
|
||||
@@ -372,6 +372,12 @@ version = "0.1.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
|
||||
|
||||
[[package]]
|
||||
name = "foldhash"
|
||||
version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb"
|
||||
|
||||
[[package]]
|
||||
name = "getrandom"
|
||||
version = "0.2.15"
|
||||
@@ -409,7 +415,7 @@ checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289"
|
||||
dependencies = [
|
||||
"allocator-api2",
|
||||
"equivalent",
|
||||
"foldhash",
|
||||
"foldhash 0.1.5",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -553,9 +559,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "link-cplusplus"
|
||||
version = "1.0.10"
|
||||
version = "1.0.12"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4a6f6da007f968f9def0d65a05b187e2960183de70c160204ecfccf0ee330212"
|
||||
checksum = "7f78c730aaa7d0b9336a299029ea49f9ee53b0ed06e9202e8cb7db9bae7b8c82"
|
||||
dependencies = [
|
||||
"cc",
|
||||
]
|
||||
@@ -937,12 +943,6 @@ dependencies = [
|
||||
"windows-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rustversion"
|
||||
version = "1.0.20"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2"
|
||||
|
||||
[[package]]
|
||||
name = "saphyr"
|
||||
version = "0.0.6"
|
||||
|
||||
+14
-17
@@ -164,7 +164,7 @@ loot::Vertex convert(const loot::rust::Vertex& vertex) {
|
||||
std::string(file.GetName()),
|
||||
file.GetDisplayName(),
|
||||
file.GetCondition(),
|
||||
::rust::Slice(convert<loot::rust::MessageContent>(file.GetDetail())),
|
||||
convert<loot::rust::MessageContent>(file.GetDetail()),
|
||||
file.GetConstraint());
|
||||
} catch (const ::rust::Error& e) {
|
||||
std::rethrow_exception(mapError(e));
|
||||
@@ -194,8 +194,7 @@ loot::rust::MessageType convert(loot::MessageType messageType) {
|
||||
try {
|
||||
return loot::rust::multilingual_message(
|
||||
convert(message.GetType()),
|
||||
::rust::Slice(
|
||||
convert<loot::rust::MessageContent>(message.GetContent())),
|
||||
convert<loot::rust::MessageContent>(message.GetContent()),
|
||||
message.GetCondition());
|
||||
} catch (const ::rust::Error& e) {
|
||||
std::rethrow_exception(mapError(e));
|
||||
@@ -219,7 +218,7 @@ loot::rust::MessageType convert(loot::MessageType messageType) {
|
||||
return loot::rust::new_plugin_cleaning_data(
|
||||
data.GetCRC(),
|
||||
data.GetCleaningUtility(),
|
||||
::rust::Slice(convert<loot::rust::MessageContent>(data.GetDetail())),
|
||||
convert<loot::rust::MessageContent>(data.GetDetail()),
|
||||
data.GetITMCount(),
|
||||
data.GetDeletedReferenceCount(),
|
||||
data.GetDeletedNavmeshCount());
|
||||
@@ -242,21 +241,19 @@ loot::rust::MessageType convert(loot::MessageType messageType) {
|
||||
}
|
||||
|
||||
output->set_load_after_files(
|
||||
::rust::Slice(convert<loot::rust::File>(metadata.GetLoadAfterFiles())));
|
||||
convert<loot::rust::File>(metadata.GetLoadAfterFiles()));
|
||||
output->set_requirements(
|
||||
::rust::Slice(convert<loot::rust::File>(metadata.GetRequirements())));
|
||||
output->set_incompatibilities(::rust::Slice(
|
||||
convert<loot::rust::File>(metadata.GetIncompatibilities())));
|
||||
output->set_messages(
|
||||
::rust::Slice(convert<loot::rust::Message>(metadata.GetMessages())));
|
||||
output->set_tags(
|
||||
::rust::Slice(convert<loot::rust::Tag>(metadata.GetTags())));
|
||||
output->set_dirty_info(::rust::Slice(
|
||||
convert<loot::rust::PluginCleaningData>(metadata.GetDirtyInfo())));
|
||||
output->set_clean_info(::rust::Slice(
|
||||
convert<loot::rust::PluginCleaningData>(metadata.GetCleanInfo())));
|
||||
convert<loot::rust::File>(metadata.GetRequirements()));
|
||||
output->set_incompatibilities(
|
||||
convert<loot::rust::File>(metadata.GetIncompatibilities()));
|
||||
output->set_messages(convert<loot::rust::Message>(metadata.GetMessages()));
|
||||
output->set_tags(convert<loot::rust::Tag>(metadata.GetTags()));
|
||||
output->set_dirty_info(
|
||||
convert<loot::rust::PluginCleaningData>(metadata.GetDirtyInfo()));
|
||||
output->set_clean_info(
|
||||
convert<loot::rust::PluginCleaningData>(metadata.GetCleanInfo()));
|
||||
output->set_locations(
|
||||
::rust::Slice(convert<loot::rust::Location>(metadata.GetLocations())));
|
||||
convert<loot::rust::Location>(metadata.GetLocations()));
|
||||
|
||||
return output;
|
||||
} catch (const ::rust::Error& e) {
|
||||
|
||||
@@ -83,8 +83,13 @@ std::vector<T> convert(const ::rust::Vec<U>& vec) {
|
||||
}
|
||||
|
||||
template<typename T, typename U>
|
||||
const std::vector<::rust::Box<T>> convert(const std::vector<U>& vec) {
|
||||
return convert<::rust::Box<T>, U>(::rust::Slice(vec));
|
||||
const ::rust::Vec<::rust::Box<T>> convert(const std::vector<U>& vec) {
|
||||
::rust::Vec<::rust::Box<T>> output;
|
||||
for (const auto& element : vec) {
|
||||
output.push_back(convert(element));
|
||||
}
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -87,8 +87,7 @@ std::vector<Group> Database::GetUserGroups() const {
|
||||
|
||||
void Database::SetUserGroups(const std::vector<Group>& groups) {
|
||||
try {
|
||||
database_->set_user_groups(
|
||||
::rust::Slice(convert<loot::rust::Group>(groups)));
|
||||
database_->set_user_groups(convert<loot::rust::Group>(groups));
|
||||
} catch (const ::rust::Error& e) {
|
||||
std::rethrow_exception(mapError(e));
|
||||
}
|
||||
|
||||
+5
-2
@@ -138,8 +138,11 @@ impl Database {
|
||||
.collect())
|
||||
}
|
||||
|
||||
// This is ugly, but Group can't be held as a value in C++ and CXX doesn't support Vec<Box<Group>> as a parameter, so this can't take ownership of the input groups.
|
||||
pub fn set_user_groups(&self, groups: &[Box<Group>]) -> Result<(), VerboseError> {
|
||||
#[expect(
|
||||
clippy::vec_box,
|
||||
reason = "Group is an opaque type to C++ so needs to be held in a Box."
|
||||
)]
|
||||
pub fn set_user_groups(&self, groups: Vec<Box<Group>>) -> Result<(), VerboseError> {
|
||||
let groups = to_vec_of_unwrapped(groups);
|
||||
self.0
|
||||
.write()
|
||||
|
||||
+13
-12
@@ -118,6 +118,7 @@ impl TryFrom<ffi::LogLevel> for libloot::LogLevel {
|
||||
clippy::allow_attributes,
|
||||
clippy::multiple_unsafe_ops_per_block,
|
||||
clippy::needless_lifetimes,
|
||||
clippy::vec_box,
|
||||
reason = "Required by CXX. clippy::allow_attributes is because CXX doesn't support #[expect(...)]"
|
||||
)]
|
||||
#[cxx::bridge(namespace = "loot::rust")]
|
||||
@@ -273,7 +274,7 @@ mod ffi {
|
||||
|
||||
pub fn user_groups(&self) -> Result<Vec<Group>>;
|
||||
|
||||
pub fn set_user_groups(&self, groups: &[Box<Group>]) -> Result<()>;
|
||||
pub fn set_user_groups(&self, groups: Vec<Box<Group>>) -> Result<()>;
|
||||
|
||||
pub fn groups_path(
|
||||
&self,
|
||||
@@ -315,7 +316,7 @@ mod ffi {
|
||||
|
||||
pub fn multilingual_message(
|
||||
message_type: MessageType,
|
||||
contents: &[Box<MessageContent>],
|
||||
contents: Vec<Box<MessageContent>>,
|
||||
condition: &str,
|
||||
) -> Result<Box<Message>>;
|
||||
|
||||
@@ -466,21 +467,21 @@ mod ffi {
|
||||
|
||||
pub fn unset_group(&mut self);
|
||||
|
||||
pub fn set_load_after_files(&mut self, files: &[Box<File>]);
|
||||
pub fn set_load_after_files(&mut self, files: Vec<Box<File>>);
|
||||
|
||||
pub fn set_requirements(&mut self, files: &[Box<File>]);
|
||||
pub fn set_requirements(&mut self, files: Vec<Box<File>>);
|
||||
|
||||
pub fn set_incompatibilities(&mut self, files: &[Box<File>]);
|
||||
pub fn set_incompatibilities(&mut self, files: Vec<Box<File>>);
|
||||
|
||||
pub fn set_messages(&mut self, messages: &[Box<Message>]);
|
||||
pub fn set_messages(&mut self, messages: Vec<Box<Message>>);
|
||||
|
||||
pub fn set_tags(&mut self, tags: &[Box<Tag>]);
|
||||
pub fn set_tags(&mut self, tags: Vec<Box<Tag>>);
|
||||
|
||||
pub fn set_dirty_info(&mut self, info: &[Box<PluginCleaningData>]);
|
||||
pub fn set_dirty_info(&mut self, info: Vec<Box<PluginCleaningData>>);
|
||||
|
||||
pub fn set_clean_info(&mut self, info: &[Box<PluginCleaningData>]);
|
||||
pub fn set_clean_info(&mut self, info: Vec<Box<PluginCleaningData>>);
|
||||
|
||||
pub fn set_locations(&mut self, locations: &[Box<Location>]);
|
||||
pub fn set_locations(&mut self, locations: Vec<Box<Location>>);
|
||||
|
||||
pub fn merge_metadata(&mut self, plugin: &PluginMetadata);
|
||||
|
||||
@@ -502,7 +503,7 @@ mod ffi {
|
||||
name: String,
|
||||
display_name: &str,
|
||||
condition: &str,
|
||||
detail: &[Box<MessageContent>],
|
||||
detail: Vec<Box<MessageContent>>,
|
||||
constraint: &str,
|
||||
) -> Result<Box<File>>;
|
||||
|
||||
@@ -565,7 +566,7 @@ mod ffi {
|
||||
pub fn new_plugin_cleaning_data(
|
||||
crc: u32,
|
||||
cleaning_utility: String,
|
||||
detail: &[Box<MessageContent>],
|
||||
detail: Vec<Box<MessageContent>>,
|
||||
itm_count: u32,
|
||||
deleted_reference_count: u32,
|
||||
deleted_navmesh_count: u32,
|
||||
|
||||
+57
-13
@@ -141,9 +141,13 @@ pub fn new_message(
|
||||
Ok(Box::new(Message(message)))
|
||||
}
|
||||
|
||||
#[expect(
|
||||
clippy::vec_box,
|
||||
reason = "MessageContent is an opaque type to C++ so needs to be held in a Box."
|
||||
)]
|
||||
pub fn multilingual_message(
|
||||
message_type: MessageType,
|
||||
contents: &[Box<MessageContent>],
|
||||
contents: Vec<Box<MessageContent>>,
|
||||
condition: &str,
|
||||
) -> Result<Box<Message>, VerboseError> {
|
||||
let contents = to_vec_of_unwrapped(contents);
|
||||
@@ -306,35 +310,67 @@ impl PluginMetadata {
|
||||
Location::wrap_slice(self.0.locations())
|
||||
}
|
||||
|
||||
pub fn set_load_after_files(&mut self, files: &[Box<File>]) {
|
||||
#[expect(
|
||||
clippy::vec_box,
|
||||
reason = "File is an opaque type to C++ so needs to be held in a Box."
|
||||
)]
|
||||
pub fn set_load_after_files(&mut self, files: Vec<Box<File>>) {
|
||||
self.0.set_load_after_files(to_vec_of_unwrapped(files));
|
||||
}
|
||||
|
||||
pub fn set_requirements(&mut self, files: &[Box<File>]) {
|
||||
#[expect(
|
||||
clippy::vec_box,
|
||||
reason = "File is an opaque type to C++ so needs to be held in a Box."
|
||||
)]
|
||||
pub fn set_requirements(&mut self, files: Vec<Box<File>>) {
|
||||
self.0.set_requirements(to_vec_of_unwrapped(files));
|
||||
}
|
||||
|
||||
pub fn set_incompatibilities(&mut self, files: &[Box<File>]) {
|
||||
#[expect(
|
||||
clippy::vec_box,
|
||||
reason = "File is an opaque type to C++ so needs to be held in a Box."
|
||||
)]
|
||||
pub fn set_incompatibilities(&mut self, files: Vec<Box<File>>) {
|
||||
self.0.set_incompatibilities(to_vec_of_unwrapped(files));
|
||||
}
|
||||
|
||||
pub fn set_messages(&mut self, messages: &[Box<Message>]) {
|
||||
#[expect(
|
||||
clippy::vec_box,
|
||||
reason = "Message is an opaque type to C++ so needs to be held in a Box."
|
||||
)]
|
||||
pub fn set_messages(&mut self, messages: Vec<Box<Message>>) {
|
||||
self.0.set_messages(to_vec_of_unwrapped(messages));
|
||||
}
|
||||
|
||||
pub fn set_tags(&mut self, tags: &[Box<Tag>]) {
|
||||
#[expect(
|
||||
clippy::vec_box,
|
||||
reason = "Tag is an opaque type to C++ so needs to be held in a Box."
|
||||
)]
|
||||
pub fn set_tags(&mut self, tags: Vec<Box<Tag>>) {
|
||||
self.0.set_tags(to_vec_of_unwrapped(tags));
|
||||
}
|
||||
|
||||
pub fn set_dirty_info(&mut self, info: &[Box<PluginCleaningData>]) {
|
||||
#[expect(
|
||||
clippy::vec_box,
|
||||
reason = "PluginCleaningData is an opaque type to C++ so needs to be held in a Box."
|
||||
)]
|
||||
pub fn set_dirty_info(&mut self, info: Vec<Box<PluginCleaningData>>) {
|
||||
self.0.set_dirty_info(to_vec_of_unwrapped(info));
|
||||
}
|
||||
|
||||
pub fn set_clean_info(&mut self, info: &[Box<PluginCleaningData>]) {
|
||||
#[expect(
|
||||
clippy::vec_box,
|
||||
reason = "PluginCleaningData is an opaque type to C++ so needs to be held in a Box."
|
||||
)]
|
||||
pub fn set_clean_info(&mut self, info: Vec<Box<PluginCleaningData>>) {
|
||||
self.0.set_clean_info(to_vec_of_unwrapped(info));
|
||||
}
|
||||
|
||||
pub fn set_locations(&mut self, locations: &[Box<Location>]) {
|
||||
#[expect(
|
||||
clippy::vec_box,
|
||||
reason = "Location is an opaque type to C++ so needs to be held in a Box."
|
||||
)]
|
||||
pub fn set_locations(&mut self, locations: Vec<Box<Location>>) {
|
||||
self.0.set_locations(to_vec_of_unwrapped(locations));
|
||||
}
|
||||
|
||||
@@ -381,11 +417,15 @@ impl From<Box<PluginMetadata>> for libloot::metadata::PluginMetadata {
|
||||
#[repr(transparent)]
|
||||
pub struct File(libloot::metadata::File);
|
||||
|
||||
#[expect(
|
||||
clippy::vec_box,
|
||||
reason = "File is an opaque type to C++ so needs to be held in a Box."
|
||||
)]
|
||||
pub fn new_file(
|
||||
name: String,
|
||||
display_name: &str,
|
||||
condition: &str,
|
||||
detail: &[Box<MessageContent>],
|
||||
detail: Vec<Box<MessageContent>>,
|
||||
constraint: &str,
|
||||
) -> Result<Box<File>, VerboseError> {
|
||||
let mut file = libloot::metadata::File::new(name);
|
||||
@@ -534,10 +574,14 @@ impl TryFrom<TagSuggestion> for libloot::metadata::TagSuggestion {
|
||||
#[repr(transparent)]
|
||||
pub struct PluginCleaningData(libloot::metadata::PluginCleaningData);
|
||||
|
||||
#[expect(
|
||||
clippy::vec_box,
|
||||
reason = "PluginCleaningData is an opaque type to C++ so needs to be held in a Box."
|
||||
)]
|
||||
pub fn new_plugin_cleaning_data(
|
||||
crc: u32,
|
||||
cleaning_utility: String,
|
||||
detail: &[Box<MessageContent>],
|
||||
detail: Vec<Box<MessageContent>>,
|
||||
itm_count: u32,
|
||||
deleted_reference_count: u32,
|
||||
deleted_navmesh_count: u32,
|
||||
@@ -630,6 +674,6 @@ impl From<Box<Location>> for libloot::metadata::Location {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn to_vec_of_unwrapped<T: Clone, U: From<Box<T>>>(slice: &[Box<T>]) -> Vec<U> {
|
||||
slice.iter().cloned().map(Into::into).collect()
|
||||
pub fn to_vec_of_unwrapped<T: Clone, U: From<Box<T>>>(vec: Vec<Box<T>>) -> Vec<U> {
|
||||
vec.into_iter().map(Into::into).collect()
|
||||
}
|
||||
|
||||
@@ -1,6 +1,31 @@
|
||||
|
||||
# cargo-vet audits file
|
||||
|
||||
[[audits.codespan-reporting]]
|
||||
who = "Oliver Hamlet <git@ortham.net>"
|
||||
criteria = "safe-to-deploy"
|
||||
delta = "0.12.0 -> 0.13.1"
|
||||
|
||||
[[audits.cxx]]
|
||||
who = "Oliver Hamlet <git@ortham.net>"
|
||||
criteria = "safe-to-deploy"
|
||||
delta = "1.0.161 -> 1.0.192"
|
||||
|
||||
[[audits.cxx-build]]
|
||||
who = "Oliver Hamlet <git@ortham.net>"
|
||||
criteria = "safe-to-deploy"
|
||||
delta = "1.0.161 -> 1.0.192"
|
||||
|
||||
[[audits.cxxbridge-flags]]
|
||||
who = "Oliver Hamlet <git@ortham.net>"
|
||||
criteria = "safe-to-deploy"
|
||||
delta = "1.0.161 -> 1.0.192"
|
||||
|
||||
[[audits.cxxbridge-macro]]
|
||||
who = "Oliver Hamlet <git@ortham.net>"
|
||||
criteria = "safe-to-deploy"
|
||||
delta = "1.0.161 -> 1.0.192"
|
||||
|
||||
[[audits.libloading]]
|
||||
who = "Oliver Hamlet <git@ortham.net>"
|
||||
criteria = "safe-to-deploy"
|
||||
@@ -13,6 +38,11 @@ criteria = "safe-to-deploy"
|
||||
version = "18.5.1"
|
||||
notes = "This is my own crate published using Trusted Publishing, but I can't mark it as trusted by cargo-vet because it doesn't support Trusted Publishing and just sees that the publisher is unknown."
|
||||
|
||||
[[audits.link-cplusplus]]
|
||||
who = "Oliver Hamlet <git@ortham.net>"
|
||||
criteria = "safe-to-deploy"
|
||||
delta = "1.0.10 -> 1.0.12"
|
||||
|
||||
[[audits.loot-condition-interpreter]]
|
||||
who = "Oliver Hamlet <git@ortham.net>"
|
||||
criteria = "safe-to-deploy"
|
||||
|
||||
+15
-80
@@ -97,6 +97,15 @@ criteria = "safe-to-deploy"
|
||||
delta = "2.1.1 -> 2.3.0"
|
||||
notes = "Minor refactoring, nothing new."
|
||||
|
||||
[[audits.bytecode-alliance.audits.foldhash]]
|
||||
who = "Alex Crichton <alex@alexcrichton.com>"
|
||||
criteria = "safe-to-deploy"
|
||||
version = "0.1.3"
|
||||
notes = """
|
||||
Only a minor amount of `unsafe` code in this crate related to global per-process
|
||||
initialization which looks correct to me.
|
||||
"""
|
||||
|
||||
[[audits.bytecode-alliance.audits.hashbrown]]
|
||||
who = "Chris Fallin <chris@cfallin.org>"
|
||||
criteria = "safe-to-deploy"
|
||||
@@ -267,18 +276,6 @@ that the RNG here is not cryptographically secure.
|
||||
"""
|
||||
aggregated-from = "https://chromium.googlesource.com/chromiumos/third_party/rust_crates/+/refs/heads/main/cargo-vet/audits.toml?format=TEXT"
|
||||
|
||||
[[audits.google.audits.foldhash]]
|
||||
who = "Lukasz Anforowicz <lukasza@chromium.org>"
|
||||
criteria = "safe-to-deploy"
|
||||
version = "0.1.3"
|
||||
notes = """
|
||||
`ub-risk-2` review notes can be found in https://crrev.com/c/6071306/5/third_party/rust/chromium_crates_io/vendor/foldhash-0.1.3/src/seed.rs
|
||||
|
||||
`does-not-implement-crypto` based on `README.md` which explicitly says that
|
||||
\"Foldhash is **not appropriate for any cryptographic purpose**.\"
|
||||
"""
|
||||
aggregated-from = "https://chromium.googlesource.com/chromium/src/+/main/third_party/rust/chromium_crates_io/supply-chain/audits.toml?format=TEXT"
|
||||
|
||||
[[audits.google.audits.foldhash]]
|
||||
who = "Adrian Taylor <adetaylor@chromium.org>"
|
||||
criteria = "safe-to-deploy"
|
||||
@@ -432,74 +429,6 @@ version = "0.8.5"
|
||||
notes = "Contains no unsafe"
|
||||
aggregated-from = "https://chromium.googlesource.com/chromium/src/+/main/third_party/rust/chromium_crates_io/supply-chain/audits.toml?format=TEXT"
|
||||
|
||||
[[audits.google.audits.rustversion]]
|
||||
who = "Lukasz Anforowicz <lukasza@chromium.org>"
|
||||
criteria = "safe-to-deploy"
|
||||
version = "1.0.14"
|
||||
notes = """
|
||||
Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'``, `'\bnet\b'``, `'\bunsafe\b'``
|
||||
and there were no hits except for:
|
||||
|
||||
* Using trivially-safe `unsafe` in test code:
|
||||
|
||||
```
|
||||
tests/test_const.rs:unsafe fn _unsafe() {}
|
||||
tests/test_const.rs:const _UNSAFE: () = unsafe { _unsafe() };
|
||||
```
|
||||
|
||||
* Using `unsafe` in a string:
|
||||
|
||||
```
|
||||
src/constfn.rs: \"unsafe\" => Qualifiers::Unsafe,
|
||||
```
|
||||
|
||||
* Using `std::fs` in `build/build.rs` to write `${OUT_DIR}/version.expr`
|
||||
which is later read back via `include!` used in `src/lib.rs`.
|
||||
|
||||
Version `1.0.6` of this crate has been added to Chromium in
|
||||
https://source.chromium.org/chromium/chromium/src/+/28841c33c77833cc30b286f9ae24c97e7a8f4057
|
||||
"""
|
||||
aggregated-from = "https://chromium.googlesource.com/chromium/src/+/main/third_party/rust/chromium_crates_io/supply-chain/audits.toml?format=TEXT"
|
||||
|
||||
[[audits.google.audits.rustversion]]
|
||||
who = "Adrian Taylor <adetaylor@chromium.org>"
|
||||
criteria = "safe-to-deploy"
|
||||
delta = "1.0.14 -> 1.0.15"
|
||||
aggregated-from = "https://chromium.googlesource.com/chromium/src/+/main/third_party/rust/chromium_crates_io/supply-chain/audits.toml?format=TEXT"
|
||||
|
||||
[[audits.google.audits.rustversion]]
|
||||
who = "danakj <danakj@chromium.org>"
|
||||
criteria = "safe-to-deploy"
|
||||
delta = "1.0.15 -> 1.0.16"
|
||||
aggregated-from = "https://chromium.googlesource.com/chromium/src/+/main/third_party/rust/chromium_crates_io/supply-chain/audits.toml?format=TEXT"
|
||||
|
||||
[[audits.google.audits.rustversion]]
|
||||
who = "Dustin J. Mitchell <djmitche@chromium.org>"
|
||||
criteria = "safe-to-deploy"
|
||||
delta = "1.0.16 -> 1.0.17"
|
||||
notes = "Just updates windows compat"
|
||||
aggregated-from = "https://chromium.googlesource.com/chromium/src/+/main/third_party/rust/chromium_crates_io/supply-chain/audits.toml?format=TEXT"
|
||||
|
||||
[[audits.google.audits.rustversion]]
|
||||
who = "Liza Burakova <liza@chromium.org>"
|
||||
criteria = "safe-to-deploy"
|
||||
delta = "1.0.17 -> 1.0.18"
|
||||
aggregated-from = "https://chromium.googlesource.com/chromium/src/+/main/third_party/rust/chromium_crates_io/supply-chain/audits.toml?format=TEXT"
|
||||
|
||||
[[audits.google.audits.rustversion]]
|
||||
who = "Dustin J. Mitchell <djmitche@chromium.org>"
|
||||
criteria = "safe-to-deploy"
|
||||
delta = "1.0.18 -> 1.0.19"
|
||||
notes = "No unsafe, just doc changes"
|
||||
aggregated-from = "https://chromium.googlesource.com/chromium/src/+/main/third_party/rust/chromium_crates_io/supply-chain/audits.toml?format=TEXT"
|
||||
|
||||
[[audits.google.audits.rustversion]]
|
||||
who = "Daniel Cheng <dcheng@chromium.org>"
|
||||
criteria = "safe-to-deploy"
|
||||
delta = "1.0.19 -> 1.0.20"
|
||||
notes = "Only minor updates to documentation and the mock today used for testing."
|
||||
aggregated-from = "https://chromium.googlesource.com/chromium/src/+/main/third_party/rust/chromium_crates_io/supply-chain/audits.toml?format=TEXT"
|
||||
|
||||
[[audits.google.audits.serde]]
|
||||
who = "Lukasz Anforowicz <lukasza@chromium.org>"
|
||||
criteria = "safe-to-deploy"
|
||||
@@ -927,6 +856,12 @@ delta = "2.1.0 -> 2.1.1"
|
||||
notes = "Fairly trivial changes, no chance of security regression."
|
||||
aggregated-from = "https://hg.mozilla.org/mozilla-central/raw-file/tip/supply-chain/audits.toml"
|
||||
|
||||
[[audits.mozilla.audits.foldhash]]
|
||||
who = "Erich Gubler <erichdongubler@gmail.com>"
|
||||
criteria = "safe-to-deploy"
|
||||
delta = "0.1.5 -> 0.2.0"
|
||||
aggregated-from = "https://hg.mozilla.org/mozilla-central/raw-file/tip/supply-chain/audits.toml"
|
||||
|
||||
[[audits.mozilla.audits.getrandom]]
|
||||
who = "Chris Martin <cmartin@mozilla.com>"
|
||||
criteria = "safe-to-deploy"
|
||||
|
||||
Reference in New Issue
Block a user