Theo Buehler <t...@theobuehler.org> writes:

> On Fri, Sep 10, 2021 at 06:54:10AM +0200, Sebastien Marie wrote:
>> On Thu, Sep 09, 2021 at 01:19:21PM -0600, Aaron Bieber wrote:
>> > Hi,
>> > 
>> > Here is a port of cargo-audit:
>> > https://github.com/RustSec/rustsec/tree/main/cargo-audit
>> > 
>> > This isn't the latest version because that fails to build:
>> > https://github.com/rustsec/rustsec/issues/429
>> > 
>> > Unfortunately the program doesn't run unless you specify the full
>> > path. I tried creating a patch to fix it, but I can't make heads or
>> > tails of the code.
>> > 
>> > Thanks to tb@ and semarie@ for pointers on the Makefile!
>> > 
>> > Here is a git mirror as well:
>> > https://github.com/jasperla/openbsd-wip/tree/master/devel/cargo-audit
>> > 
>> > OK? Cluesticks?
>> 
>> Just few nits: crates.inc doesn't have $OpenBSD$ marker, and contains
>> no licence information (see make modcargo-gen-crates-licenses).
>> 
>> Regarding full path, you could look at env:current_exe() calls in the
>> source code. But what is the full path required ? 
>> ${LOCALBASE}/bin/cargo-audit ?
>> 
>> I also wonder if it is possible to redefine argv[0] (or more exactly
>> the rust equiv) at beginning of the program to properly set it (the
>> binary will be always at the same place if installed from ports).
>
> Here's a version of this port that.
>
> - addresses the crates.inc nits from semarie (RCS marker + licenses)
> - fixes WANTLIB/LIB_DEPENDS
> - adds a patch that builds the current_exe() path from the basename of
>   argv[0] appended to ${LOCALBASE}/bin
> - uses the main branch instead of master for advisory-db
>
> This seems to work for me in some light testing.  For example, when it
> is run on an old newsboat repo with a known problem in SmallVec:

Seems to be working for me as well! Thanks! I owe you all the beer :D

>
> $ cargo audit
>     Fetching advisory database from 
> `https://github.com/RustSec/advisory-db.git`
>       Loaded 352 security advisories (from /home/theo/.cargo/advisory-db)
>     Updating crates.io index
>     Scanning Cargo.lock for vulnerabilities (101 crate dependencies)
> Crate:         smallvec
> Version:       0.6.10
> Title:         Buffer overflow in SmallVec::insert_many
> Date:          2021-01-08
> ID:            RUSTSEC-2021-0003
> URL:           https://rustsec.org/advisories/RUSTSEC-2021-0003
> Solution:      Upgrade to >=0.6.14, <1.0.0 OR >=1.6.1
> Dependency tree:
> smallvec 0.6.10
> ├── unicode-normalization 0.1.8
> │   └── idna 0.2.0
> │       └── url 2.1.1
> │           └── libnewsboat 2.20.0
> │               └── libnewsboat-ffi 2.20.0
> └── libnewsboat 2.20.0
>
> error: 1 vulnerability found!
>
> [2. application/x-tar-gz; cargo-audit.tgz]...

Reply via email to