profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/agrover/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Andy Grover agrover Portland, OR http://groveronline.com Rust, Python, C. Plays the bass. Takes pictures. Likes clicky keyboards.

agrover/froyo 59

A flexible and redundant long-term storage system for Linux, using DM and XFS

agrover/deja-dup 3

Some hacking on https://launchpad.net/deja-dup

agrover/pylcd 3

Python bindings for using lcdproc

agrover/melvin 2

Rust library for using LVM and Linux devicemapper

agrover/pysnapper 2

A rough script to snap periodic webcam pics

agrover/af_unix-rs 1

Rust library to use AF_UNIX sockets

agrover/BandRadar 1

A defunct event website for Portland Oregon

agrover/blockdev-rs 1

Rust bindings for libblockdev

agrover/conffiles 1

my emacs config

agrover/libstoragemgmt 1

A library for storage management

push eventagrover/boringtun

Jeff Hiner

commit sha cb83c8e0d6d7590bca93cb8e79a3f6d5be63b829

Update and rework dependencies Update parking_lot, base64, and slog. Move binary dependencies into a feature, and build by default. This allows library users to avoid building clap, slog-term, and daemonize. Don't build binary deps for --lib in CI/CD

view details

Andy Grover

commit sha 8f7848e8761174a76c8ee904c435105c232b46f4

Minimize use of wildcard use declarations Be more consistent by replacing with explicit use decls when possible. Leave some spots with libc::*, will address later. Leave some spots with super::* in tests, this is ok. Leave one spot (TimerName) using a wildcard to bring enum members into scope. Also, instead of having crypto submodules be pub, export the main structs in crypto/mod.rs. This makes use decls a little shorter and less redundant.

view details

Andy Grover

commit sha 3017cf8de27e60480283a7722560e6a14d7f35c7

Remove Tun and Sock traits With due respect to 2d8626490e where these traits were added, they aren't used and the code is easier to read without them. If these become needed, it should be straightforward to add them back.

view details

push time in 2 months

push eventagrover/conffiles

Andy Grover

commit sha 6da6ea1474f15bcd3dd3c5a3adbd42d925e6a408

latest changes for lsp and misc

view details

push time in 2 months

startedumanwizard/libsieve

started time in 2 months

push eventagrover/boringtun

Andy Grover

commit sha 4bc320bce1507e7921db642659e175edb7271d51

Minimize use of wildcard use declarations Be more consistent by replacing with explicit use decls when possible. Leave some spots with libc::*, will address later. Leave some spots with super::* in tests, this is ok. Leave one spot (TimerName) using a wildcard to bring enum members into scope. Also, instead of having crypto submodules be pub, export the main structs in crypto/mod.rs. This makes use decls a little shorter and less redundant.

view details

Andy Grover

commit sha 1fba1fb320ff49ce1fa06faf76ed8fe826466822

Remove Tun and Sock traits With due respect to 2d8626490e where these traits were added, they aren't used and the code is easier to read without them. If these become needed, it should be straightforward to add them back.

view details

push time in 2 months

push eventagrover/boringtun

Andy Grover

commit sha 4ba1ac95c3908e634108188e5d5931f17c047ab6

Minimize use of wildcard use declarations Be more consistent by replacing with explicit use decls when possible. Leave some spots with libc::*, will address later. Leave some spots with super::* in tests, this is ok. Leave one spot (TimerName) using a wildcard to bring enum members into scope. Also, instead of having crypto submodules be pub, export the main structs in crypto/mod.rs. This makes use decls a little shorter and less redundant.

view details

Andy Grover

commit sha 1437679e7a48372eff154d10f4905c4b35c1b451

Remove Tun and Sock traits With due respect to 2d8626490e where these traits were added, they aren't used and the code is easier to read without them. If these become needed, it should be straightforward to add them back.

view details

push time in 2 months

push eventagrover/boringtun

Andy Grover

commit sha e04a7da322a2220659fc73e6ebfbeec9e580ff9b

Use ip_network_table instead of homegrown trie impl (#184) ip_network_table crate is exactly what we need so use it instead of own trie impl. Big code/complexity reduction. Keep all unit tests. This in turn uses ip_network and treemap crates, these both look good too. (wireguard-rs also uses these, fwiw.) Make small changes to rest of code as needed. AllowedIps interface is mostly the same but I couldn't resist a few tweaks.

view details

Andy Grover

commit sha 42fe8454facaa825c64d04a825ced1db2c4b6940

Fix clippy warnings (#183) Straightforward, except one spot where Clippy make things worse, and another spot where requiring per-fn docs was not really valuable.

view details

Andy Grover

commit sha e78a23ac89d7e86b8a5e67c99e15bd1ce70e77cd

Minimize use of wildcard use declarations Be more consistent by replacing with explicit use decls when possible. Leave some spots with libc::*, will address later. Leave some spots with super::* in tests, this is ok. Leave one spot (TimerName) using a wildcard to bring enum members into scope. Also, instead of having crypto submodules be pub, export the main structs in crypto/mod.rs. This makes use decls a little shorter and less redundant.

view details

Andy Grover

commit sha 32bde176515416f94cd6dcb063677684e1a3795e

Remove Tun and Sock traits With due respect to 2d8626490e where these traits were added, they aren't used and the code is easier to read without them. If these become needed, it should be straightforward to add them back.

view details

push time in 2 months

issue openedstratis-storage/project

feature: quotas

It should be possible to constrain the amount of space that a filesystem uses.

See https://docs.oracle.com/cd/E23823_01/html/819-5461/gazvb.html for ZFS's implementation. They have quotas to ensure a dataset doesn't use too much space, and also reservations, to ensure a certain amount of space is available. There are three levels: quota covers a dataset and all its descendants, refquota covers just the dataset w/o descendants, and then there are also user and group quotas. So that 's one idea of how far we could go with quotas

However our underlying technology may be limiting in this area. There's nothing in dm-thinpool to limit the size of a thin volume to less than the size the filesystem thinks it has been allocated. We could use XFS's quota capabilities, see https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/xfsquota.html. This would give us the equivalent of refquota.

created time in 2 months

push eventagrover/conffiles

Andy Grover

commit sha 4467f76dbaf36646ae4a4f7f88ea697bbe5ea2e5

more rainbow parens

view details

push time in 3 months

push eventagrover/conffiles

Andy Grover

commit sha 35bcf90f8f13f6b534ec0cc97c787808220d0e8e

fix rust ? and default face

view details

push time in 3 months

PR opened cloudflare/boringtun

Use ip_network_table instead of homegrown trie impl

ip_network_table crate is exactly what we need so use it instead of own trie impl. Big code/complexity reduction. Keep all unit tests.

This in turn uses ip_network and treemap crates, these both look good too. (wireguard-rs also uses these, fwiw.)

Make small changes to rest of code as needed. AllowedIps interface is mostly the same but I couldn't resist a few tweaks.

+72 -458

0 comment

6 changed files

pr created time in 3 months

create barnchagrover/boringtun

branch : redo-allowedips

created branch time in 3 months

push eventagrover/boringtun

Andy Grover

commit sha 5922668b59236597425254aa1774902796c65cde

Use socket2 crate socket2 is the current best way to do advanced socket config without unsafe code. This lets us remove a lot of our own code using unsafe libc directly, in udp_unix.rs. One related change is our UDPSocket's sendto() now returns a Result. This requires some handling of Result in calling code that is a little bit wordy -- to emit a diagnostic but not abort, to match the old behavior (for now).

view details

Andy Grover

commit sha e20f681b383cf66c0653e69f5e74f7e31d041882

Rename read->recv and write->send

view details

Andy Grover

commit sha 08ba13504d7f622d3862f4af9d99a66b3f9fa2e1

Simplify err handling in one spot I don't think we need to map the error for a different one.

view details

push time in 3 months

push eventagrover/conffiles

Andy Grover

commit sha cdd88df8fc66aa9f6e2858d8f7e2c2c8c9598bc9

make org mode play nice with cua

view details

push time in 3 months

PR opened cloudflare/boringtun

Fix clippy warnings

Straightforward, except one spot where Clippy make things worse, and another spot where requiring per-fn docs was not really valuable.

+32 -34

0 comment

8 changed files

pr created time in 3 months

create barnchagrover/boringtun

branch : clippy

created branch time in 3 months

push eventagrover/boringtun

Andy Grover

commit sha e0cfa2814fa711b102ff0f30f1a3a414f1b126c7

test 2

view details

push time in 3 months

PR opened rust-lang/socket2

Add recv_from_into_buf()

It would be nice to have a way to use recv_from without needing MaybeUninit, even if it's a little less efficient.

The code is trivial, IMO the hard part is coming up with a clear name for this method in comparison to recv_from. Any better options?

fixes #223

+9 -0

0 comment

1 changed file

pr created time in 3 months

create barnchagrover/socket2

branch : hack

created branch time in 3 months

fork agrover/socket2

Advanced configuration options for sockets.

https://docs.rs/socket2/

fork in 3 months

push eventagrover/boringtun

Andy Grover

commit sha 4c8e2340ead75991a2d1b435dc066eb7dc063dd3

test

view details

push time in 3 months

push eventagrover/boringtun

Andy Grover

commit sha 63e837377f6ed2c8184730c4568ccbf60c89644d

test

view details

push time in 3 months

push eventagrover/boringtun

Andy Grover

commit sha 04891b0dd65a780b7ba816a40b5b366e6fe36297

test

view details

push time in 3 months

issue commentrust-lang/socket2

Socket::recv_from taking a &mut [u8]

The goal of this crate is to create and use a socket using advanced configuration options (those that are not available in the types in the standard library) without using any unsafe code.

Is this no longer the case, then?

danielrh

comment created time in 3 months

push eventagrover/boringtun

Andy Grover

commit sha 3b7a1596348a3fabe5ec25be3cd59a9def6dbd09

test

view details

push time in 3 months

pull request commentcloudflare/boringtun

Fixes part 1

oops there are some cross-arch issues. Working on it.

agrover

comment created time in 3 months

push eventagrover/boringtun

Andy Grover

commit sha 03e91d7c222c328a9f8261e08b256220af01a7a6

Use socket2 crate socket2 is the current best way to do advanced socket config without unsafe code. This lets us remove a lot of our own code using unsafe libc directly, in udp_unix.rs. One related change is our UDPSocket's sendto() now returns a Result. This requires some handling of Result in calling code that is a little bit wordy -- to emit a diagnostic but not abort, to match the old behavior (for now).

view details

Andy Grover

commit sha b3fc60a88ba0c13a962710baa4f6668067a8883f

Rename read->recv and write->send

view details

Andy Grover

commit sha 34abb9ed0520df02be8d491e8bd6d98005f594a2

Simplify err handling in one spot I don't think we need to map the error for a different one.

view details

push time in 3 months

push eventagrover/boringtun

Andy Grover

commit sha 316e5a5a44d4cbad609cf52f9006f6606e9addc2

Remove Tun and Sock traits With due respect to 2d8626490e where these traits were added, they aren't used and the code is easier to read without them. If these become needed, it should be straightforward to add them back.

view details

Andy Grover

commit sha ec203188f076a094d1f00d74e790a3ec14702bb9

Use socket2 crate socket2 is the current best way to do advanced socket config without unsafe code. This lets us remove a lot of our own code using unsafe libc directly, in udp_unix.rs. One related is change is our UDPSocket's sendto() now returns a Result. This requires some handling of Result in calling code that is a little bit wordy -- to emit a diagnostic but not abort, to match the old behavior (for now).

view details

Andy Grover

commit sha 116e06f9c0d09c15991dde18ebbd37d2a888e956

Rename read->recv and write->send

view details

Andy Grover

commit sha 300b1527a246d26e6082f0e94d9c81c5ee8dc99e

Simplify err handling in one spot I don't think we need to map the error for a different one.

view details

push time in 3 months

pull request commentcloudflare/boringtun

Fixes part 1

@kloepper @cbranch @Bren2010 have a look?

agrover

comment created time in 3 months

PR opened cloudflare/boringtun

Fixes part 1

Here are some cleanups of some things. Shouldn't break anything.

+277 -499

0 comment

21 changed files

pr created time in 3 months

create barnchagrover/boringtun

branch : fixes-1

created branch time in 3 months