aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-06-15 21:46:03 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-06-15 21:46:03 +0000
commitd6552085275eb74ed1ac60ac2e3ab2930cb9ea9f (patch)
tree6568264214021f58808210f4dd283a07bafebfbf
parent769879d25f8f7abcbd623514523f0ad09507d636 (diff)
parentd20063e65cebf5d8014d1b311e996e4426805d20 (diff)
downloadvsock-android12-mainline-tzdata3-release.tar.gz
Change-Id: Ie323db439d5584f3437508a05b1ea04b92812935
-rw-r--r--.cargo_vcs_info.json2
-rw-r--r--Android.bp15
-rw-r--r--Cargo.toml13
-rw-r--r--Cargo.toml.orig4
-rw-r--r--METADATA10
-rw-r--r--README.android3
-rw-r--r--TEST_MAPPING19
-rw-r--r--cargo2android.json9
-rw-r--r--src/lib.rs32
-rw-r--r--tests/vsock.rs7
10 files changed, 31 insertions, 83 deletions
diff --git a/.cargo_vcs_info.json b/.cargo_vcs_info.json
index 3d9568d..c3a6da8 100644
--- a/.cargo_vcs_info.json
+++ b/.cargo_vcs_info.json
@@ -1,5 +1,5 @@
{
"git": {
- "sha1": "9b5e180bf04fd1d02db0c1e79c5ddd838dd42328"
+ "sha1": "c24bde75d75afb29563cc465f4c3e2cedfea69b9"
}
}
diff --git a/Android.bp b/Android.bp
index 17b9a91..36b9fb8 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1,5 +1,4 @@
-// This file is generated by cargo2android.py --config cargo2android.json.
-// Do not modify this file as changes will be overridden on upgrade.
+// This file is generated by cargo2android.py --run --device --dependencies.
package {
default_applicable_licenses: ["external_rust_crates_vsock_license"],
@@ -22,16 +21,16 @@ rust_library {
name: "libvsock",
host_supported: true,
crate_name: "vsock",
- cargo_env_compat: true,
- cargo_pkg_version: "0.2.6",
srcs: ["src/lib.rs"],
edition: "2018",
rustlibs: [
"liblibc",
"libnix",
],
- apex_available: [
- "//apex_available:platform",
- "com.android.virt",
- ],
}
+
+// dependent_library ["feature_list"]
+// bitflags-1.2.1 "default"
+// cfg-if-1.0.0
+// libc-0.2.86 "default,extra_traits,std"
+// nix-0.19.1
diff --git a/Cargo.toml b/Cargo.toml
index 0002416..c4b49fa 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -3,16 +3,17 @@
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
-# to registry (e.g., crates.io) dependencies.
+# to registry (e.g., crates.io) dependencies
#
-# If you are reading this file be aware that the original Cargo.toml
-# will likely look very different (and much more reasonable).
-# See Cargo.toml.orig for the original contents.
+# If you believe there's an error in this file please file an
+# issue against the rust-lang/cargo repository. If you're
+# editing this file be aware that the upstream Cargo.toml
+# will likely look very different (and much more reasonable)
[package]
edition = "2018"
name = "vsock"
-version = "0.2.6"
+version = "0.2.3"
authors = ["fsyncd", "rust-vsock"]
exclude = ["test_fixture"]
description = "Virtio socket support for Rust"
@@ -24,7 +25,7 @@ repository = "https://github.com/rust-vsock/vsock-rs"
version = "0.2.79"
[dependencies.nix]
-version = "0.23.0"
+version = "0.19.1"
[dev-dependencies.rand]
version = "0.8.3"
diff --git a/Cargo.toml.orig b/Cargo.toml.orig
index 7a6d39a..afe8103 100644
--- a/Cargo.toml.orig
+++ b/Cargo.toml.orig
@@ -1,6 +1,6 @@
[package]
name = "vsock"
-version = "0.2.6"
+version = "0.2.3"
authors = ["fsyncd", "rust-vsock"]
description = "Virtio socket support for Rust"
repository = "https://github.com/rust-vsock/vsock-rs"
@@ -12,7 +12,7 @@ exclude = ["test_fixture"]
[dependencies]
libc = "0.2.79"
-nix = "0.23.0"
+nix = "0.19.1"
[dev-dependencies]
rand = "0.8.3"
diff --git a/METADATA b/METADATA
index 768fa97..1f3b1c3 100644
--- a/METADATA
+++ b/METADATA
@@ -7,13 +7,13 @@ third_party {
}
url {
type: ARCHIVE
- value: "https://static.crates.io/crates/vsock/vsock-0.2.6.crate"
+ value: "https://static.crates.io/crates/vsock/vsock-0.2.3.crate"
}
- version: "0.2.6"
+ version: "0.2.3"
license_type: NOTICE
last_upgrade_date {
- year: 2022
- month: 3
- day: 1
+ year: 2021
+ month: 2
+ day: 9
}
}
diff --git a/README.android b/README.android
new file mode 100644
index 0000000..2ca244b
--- /dev/null
+++ b/README.android
@@ -0,0 +1,3 @@
+local_modifications:
+ "Cherry-picked https://github.com/qwandor/vsock-rs/commit/4f73c26fc9a95e36e3ac4d304a02b6a424d7bcfd to fix Android build. This should be included in the next upstream release."
+ See patches/src.lib.diff
diff --git a/TEST_MAPPING b/TEST_MAPPING
deleted file mode 100644
index b7c1df9..0000000
--- a/TEST_MAPPING
+++ /dev/null
@@ -1,19 +0,0 @@
-// Generated by update_crate_tests.py for tests that depend on this crate.
-{
- "presubmit": [
- {
- "name": "microdroid_manager_test"
- },
- {
- "name": "virtualizationservice_device_test"
- }
- ],
- "presubmit-rust": [
- {
- "name": "microdroid_manager_test"
- },
- {
- "name": "virtualizationservice_device_test"
- }
- ]
-}
diff --git a/cargo2android.json b/cargo2android.json
deleted file mode 100644
index 42b7833..0000000
--- a/cargo2android.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "apex-available": [
- "//apex_available:platform",
- "com.android.virt"
- ],
- "dependencies": true,
- "device": true,
- "run": true
-} \ No newline at end of file
diff --git a/src/lib.rs b/src/lib.rs
index aaeb393..82d5092 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -17,17 +17,15 @@
//! Virtio socket support for Rust.
-use libc::*;
-use nix::ioctl_read_bad;
-use std::ffi::c_void;
-use std::fs::File;
use std::io::{Error, ErrorKind, Read, Result, Write};
use std::mem::{self, size_of};
-use std::net::Shutdown;
use std::os::unix::io::{AsRawFd, FromRawFd, IntoRawFd, RawFd};
+
+use libc::*;
+use std::ffi::c_void;
+use std::net::Shutdown;
use std::time::Duration;
-pub use libc::{VMADDR_CID_ANY, VMADDR_CID_HOST, VMADDR_CID_HYPERVISOR, VMADDR_CID_LOCAL};
pub use nix::sys::socket::{SockAddr, VsockAddr};
fn new_socket() -> libc::c_int {
@@ -136,11 +134,10 @@ impl VsockListener {
};
let mut vsock_addr_len = size_of::<sockaddr_vm>() as socklen_t;
let socket = unsafe {
- accept4(
+ accept(
self.socket,
&mut vsock_addr as *mut _ as *mut sockaddr,
&mut vsock_addr_len,
- SOCK_CLOEXEC,
)
};
if socket < 0 {
@@ -507,22 +504,3 @@ impl Drop for VsockStream {
unsafe { close(self.socket) };
}
}
-
-const IOCTL_VM_SOCKETS_GET_LOCAL_CID: usize = 0x7b9;
-ioctl_read_bad!(
- vm_sockets_get_local_cid,
- IOCTL_VM_SOCKETS_GET_LOCAL_CID,
- u32
-);
-
-/// Gets the CID of the local machine.
-///
-/// Note that when calling [`VsockListener::bind`], you should generally use [`VMADDR_CID_ANY`]
-/// instead, and for making a loopback connection you should use [`VMADDR_CID_LOCAL`].
-pub fn get_local_cid() -> Result<u32> {
- let f = File::open("/dev/vsock")?;
- let mut cid = 0;
- // SAFETY: the kernel only modifies the given u32 integer.
- unsafe { vm_sockets_get_local_cid(f.as_raw_fd(), &mut cid) }?;
- Ok(cid)
-}
diff --git a/tests/vsock.rs b/tests/vsock.rs
index 52d908b..d51bad0 100644
--- a/tests/vsock.rs
+++ b/tests/vsock.rs
@@ -17,7 +17,7 @@
use rand::RngCore;
use sha2::{Digest, Sha256};
use std::io::{Read, Write};
-use vsock::{get_local_cid, SockAddr, VsockAddr, VsockStream, VMADDR_CID_HOST};
+use vsock::{SockAddr, VsockAddr, VsockStream};
const TEST_BLOB_SIZE: usize = 1_000_000;
const TEST_BLOCK_SIZE: usize = 5_000;
@@ -67,8 +67,3 @@ fn test_vsock() {
assert_eq!(expected, actual);
}
-
-#[test]
-fn test_get_local_cid() {
- assert_eq!(get_local_cid().unwrap(), VMADDR_CID_HOST);
-}