Skip to content

Commit 79e332b

Browse files
committed
aarch64-gnu + CSA sequence increment.
1 parent 4df32a0 commit 79e332b

File tree

5 files changed

+24
-7
lines changed

5 files changed

+24
-7
lines changed

.github/workflows/ci.yml

+18-1
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,12 @@ jobs:
5151
bin: angryoxide
5252
name: angryoxide-linux-armv7hf-musl.tar.gz
5353

54+
- os_name: Linux-aarch64-gnu
55+
os: ubuntu-20.04
56+
target: aarch64-unknown-linux-gnu
57+
bin: angryoxide
58+
name: angryoxide-linux-aarch64-gnu.tar.gz
59+
5460
toolchain:
5561
- stable
5662

@@ -75,7 +81,18 @@ jobs:
7581
mkdir -p "$TARGET"
7682
./bootstrap/bootstrap-ubi.sh
7783
"$HOME/bin/ubi" --project cross-rs/cross --matching musl --in .
78-
if: matrix.platform.cross
84+
if: matrix.platform.cross && !contains(matrix.platform.target, 'gnu')
85+
86+
- name: Install cross (gnu)
87+
id: cross-nix-gnu
88+
shell: bash
89+
run: |
90+
set -e
91+
export TARGET="$HOME/bin"
92+
mkdir -p "$TARGET"
93+
./bootstrap/bootstrap-ubi.sh
94+
"$HOME/bin/ubi" --project cross-rs/cross --matching musl --in .
95+
if: matrix.platform.cross && contains(matrix.platform.target, 'gnu')
7996

8097
- name: Build binary
8198
uses: houseabsolute/actions-rust-cross@v0

Cargo.lock

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
members = ["libs/libwifi", "libs/libwifi_macros", "libs/pcap-file"]
33

44
[workspace.package]
5-
version = "0.8.27"
5+
version = "0.8.28"
66
authors = ["Ryan Butler"]
77
description = "80211 Attack Tool"
88
license = "GPL"

src/attack.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,8 @@ pub fn csa_attack(oxide: &mut OxideRuntime, beacon: Beacon) -> Result<(), String
7676
if !oxide.config.notx {
7777
// Send 5 beacons with decreasing counts
7878
for count in (0..6).rev() {
79-
let frx = build_csa_beacon(beacon.clone(), new_channel.into(), count);
79+
let sequence = beacon.header.sequence_control.sequence_number + (6 - count as u16);
80+
let frx = build_csa_beacon(beacon.clone(), new_channel.into(), count, sequence);
8081
let _ = write_packet(oxide.raw_sockets.tx_socket.as_raw_fd(), &frx);
8182
oxide.status_log.add_message(StatusMessage::new(
8283
MessageType::Info,

src/tx.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -722,12 +722,11 @@ pub fn build_probe_response(
722722
rth
723723
}
724724

725-
pub fn build_csa_beacon(beacon: Beacon, new_channel: u32, count: u8) -> Vec<u8> {
725+
pub fn build_csa_beacon(beacon: Beacon, new_channel: u32, count: u8, sequence: u16) -> Vec<u8> {
726726
let mut rth: Vec<u8> = RTH_NO_ACK.to_vec();
727727

728728
let mut frx = beacon.clone();
729-
frx.header.sequence_control.sequence_number =
730-
beacon.header.sequence_control.sequence_number + 1;
729+
frx.header.sequence_control.sequence_number = sequence;
731730
frx.station_info
732731
.data
733732
.push((37u8, vec![0u8, new_channel.try_into().unwrap(), count]));

0 commit comments

Comments
 (0)