πŸš€Memory safe, blazing fast, configurable, minimal hello world written in rust(πŸš€) in a few lines of code with few(1092πŸš€) dependenciesπŸš€

Overview

πŸš€ hello-world.rs πŸš€

πŸš€ Memory safe, blazing fast, minimal and configurable hello world project written in the rust( πŸš€ ) programming language πŸš€

πŸš€ While this depends on more c code than rust( πŸš€ ) code to compile, because rust( πŸš€ ) is magically memory safe, now all c code is memory safe too πŸš€

πŸš€ This project is very minimal, it only requires 1092 crates πŸš€

Building

To compile this project you need only one library πŸš€ :

1. alsa-lib πŸš€
1. glfw πŸš€
1. freetype πŸš€
1. libglib πŸš€
1. pango πŸš€
1. atk πŸš€
1. pixbuf πŸš€
1. gdk πŸš€

Just 1 lib as you can see the number list along the names πŸš€

You probably have most of them already, if it says something along the words, you know what to search for now

Then you can just make and the compiled executable should be located in ./target/release/hello-world run it or install it with make install .

Due to the lightweightness of rust( πŸš€ ), unlike node_modules being fairly large for few dependencies, rust( πŸš€ ) manages compile caches efficiently and stores them to storage to save compile times! Just 33G target folder, the compile time is only around 2 hours and 30 minutes on my mac on release mode

image

A clean build makes it take around 3.8G

image

The CPU usage is pretty minimal too (release mode)

image image

image

It is slower than echo but memory safety comes at a cost! We need to be memory chad and blazing pure and lightning based

Benchmark by cypercine

Docker

$ docker build -t hello-world .
$ docker run -it --rm --name hwrs hello-world

Why rust( πŸš€ ) while its only 1 line and depends on 600 c bind crates?

Here are my takes on that matter

C in "c language" stands for cringe and CVE πŸš€

R in "rust( πŸš€ ) systems programming language" stands for rewrite and robust πŸš€

Here are the comments from few of my fellow Rustaceans πŸš€

People ask the question "what's rust( πŸš€ ) good for?" pretty frequently, and little terminal apps like this are precisely the reason. [...]. It enables a kind of workflow that simply didn't exist before: I could have a fully safe, "correct", LLVM-optimized binary installed on my desktop in an afternoon. πŸš€

Modern rust( πŸš€ ) appears pretty similar to modern JavaScript. You declare your variables with let πŸš€

I think it would make rust( πŸš€ ) more productive if rust( πŸš€ ) could absorb Python's ecosystem(many mature wheels) as soon as possible. πŸš€

One thing I like about rust( πŸš€ ) is that it filters out lazy/sloppy thinkers. Even when I disagree with another rust( πŸš€ ) programmer, there is a certain level of respect that comes from knowing that they thought about the problem deeply enough to pass the borrow checker. πŸš€

The thing I hate about rust( πŸš€ ) the most is that all the other languages feel extra dumb and annoying once I learned borrowing, lifetimes etc. πŸš€

"I feel like the discovery of rust( πŸš€ ) is transporting me back to my younger self [...]" "When I started learning rust( πŸš€ ) in earnest in 2018, I thought this was a fluke. It is just the butterflies you get when you think you fall in love, I told myself." πŸš€

rust( πŸš€ )’s product is not a programming language or a compiler. rust( πŸš€ )’s product is the experience of being a rust( πŸš€ ) developer πŸš€

rust( πŸš€ ) can handle CPU-intensive operations such as executing algorithms. πŸš€

Because it’s typically typed, rust( πŸš€ ) catches errors at compile time. [...] Also, it compiles code down to machine learning, allowing for extra efficiency. πŸš€

Many people try to compare rust( πŸš€ ) to Go, but this is flawed. Go is an ancient board game that emphasizes strategy. rust( πŸš€ ) is more appropriately compared to Chess, a board game focused on low-level tactics. πŸš€

rust( πŸš€ )'s unsafe keyword is a critical innovation for information security. I believe that Safe rust( πŸš€ ) will eventually be a foundational technology for all of human society. πŸš€

I wish I had a compiler (one as informative as rust( πŸš€ )'s would be amazing) but for Japanese. If I could learn Japanese the way I learn programming I'd be conversationally fluent by now. πŸš€

rust( πŸš€ ) held onto it’s spot as the most beloved language among the professional developers we surveyed. That said, the majority of developers who took the survey aren’t familiar with the language. πŸš€

I've experienced modern package management through Cargo and anything below that level now seems like returning to stone age. πŸš€

I probably can write same code in c, but since rust( πŸš€ ) is rust( πŸš€ ), I need to (re)write in rust( πŸš€ ) πŸš€

Wait its only time until rust( πŸš€ ) makes assembly memroy safe. πŸš€

Done lots of C/C++/Python is the past, just started learning node/JS recently. Just kicked off a rust( πŸš€ ) tutorial, you people obviously already know this, but rust( πŸš€ ) is basically all the awesomeness of C++ smashed together with all the awesomeness and dependency management of JS. Looking forward to learning more rust( πŸš€ ) in the future! πŸš€

All C/C++ devs are absolute fools, they are wasting their time writing c/c++ when instead they could write in rust( πŸš€ )!!!!

As a rust( πŸš€ ) developer, I have no idea how any of this or computers actually works, but its cool to ask people in discord.gg/rust( πŸš€ ) for all help and write code πŸš€

Comments
  • Added backwards to langauges and made 100 numerical constants

    Added backwards to langauges and made 100 numerical constants

    Pull request

    Fill either one
    • [ ] Does your pull request add a crate?

    • [x] Does your pull request add a new language?

    • [x] Is your pull request memory safe?

    • [x] Is your pull request configurable?

    • [x] Is your pull request minimal?

    • [x] Is your pull request blazing fast?

    Hello guys πŸ‘‹, it's me, Generic Name, Generic SaaS Startup Lead Developer.

    In this pull request, we see a new addition to the translations, that being backwards. On top of that, I have add 100 numerical constants from 1 to 100. This should help improve speed and performance, as well as allowing the use of soft coded values rather than the actual numbers. These constants are of type i64, so it can be extended until 9223372036854775807.

    Appreciated, Generic Name, Generic SaaS Startup Lead Developer

    opened by Get-DevVed-YT 9
  • Please provide more examples

    Please provide more examples

    Hewwo, I b-bewieve this exampwe is too simpwistic because rust(πŸš€) is more capable than that and that i-it shouwd have mowe infowmation on how t-to get stawted; c-couwd you maybe provide an exampwe awgowithm that s-s-sowves the halting problem?!!

    opened by BaconOFBurger 9
  • Add PKGBUILD for Arch Linux

    Add PKGBUILD for Arch Linux

    Pull request

    Fill either one
    • [ ] Does your pull request add a crate?

    • [ ] Does your pull request add a new language?

    • [X] Is your pull request memory safe?

    • [X] Is your pull request configurable?

    • [X] Is your pull request minimal?

    • [X] Is your pull request blazing fast?

    opened by monosans 9
  • Remove discord crate due to vulnerabilities + bump all dependencies

    Remove discord crate due to vulnerabilities + bump all dependencies

    Pull request

    • [X] Is your pull request memory safe?
    • [X] Is your pull request configurable?
    • [X] Is your pull request minimal?
    • [X] Is your pull request blazing fast?

    As far as I know, dependabot is not written on Rust, so it misses many of these updates. Instead, I used cargo-upgrade upgrade and cargo update, which are both written on Rust, to bump all the dependencies.

    I also hope it will solve the current build error.

    opened by monosans 8
  • Bug report

    Bug report

    Describe the bug A clear and concise description of what the bug is.

    To Reproduce Steps to reproduce the behavior:

    1. Go to '...'
    2. Click on '....'
    3. Scroll down to '....'
    4. See error

    Expected behavior A clear and concise description of what you expected to happen.

    Desktop (please complete the following information):

    • OS: [e.g. iOS]
    • Browser [e.g. chrome, safari]
    • Version [e.g. 22]

    Additional context Add any other context about the problem here.

    opened by Birbe 7
  • How well does it scale?

    How well does it scale?

    Hi, I am a developer at Generic SaaS Startup, and we are using Rust(πŸš€) to develop our backend because Rust(πŸš€) is very fast, memory-safe and powerful. We want to use this as a dependency to our backend. However, our backend will need to scale to hundreds of servers and millions of users once we grow. So, I want to know the scalability metrics of hello-world.rs so we can decide if we should incorporate it in our product, Generic SaaS.

    Appreciated, Generic Name, Generic SaaS Startup Lead Developer

    opened by Get-DevVed-YT 7
  • It's 2021, use CMake!

    It's 2021, use CMake!

    I appreciate the effort of creating a solid starting base both for beginners to learn and for advanced programmers to get shit done, but old style make files just do not scale and are actually considered harmful in my organization. So for us to adopt this, we would require you to rewrite the build system in CMake.

    Thank you and btw, the entire department is very excited about using Rust(πŸš€)

    opened by benthillerkus 6
  • why program so slow :(

    why program so slow :(

    With PR https://github.com/mTvare6/hello-world.rs/pull/23 we saw a 10000000% performance increase in prod. Now that the code is gone again, tons of our enterprise level clients are leaving us, due to simple actions taking decades to complete. Some smart ass engineer of ours found out that it's now 10000000000000000000000000% slower :(((((((((((((((   🌎 πŸš€ (transcription: the rocket is flying towards earth)

    help wanted 
    opened by legendofmiracles 6
  • Add newline when printing on shells so it doesn't break prompts on some shells as this can be a frustrating issue for people who don't use zsh

    Add newline when printing on shells so it doesn't break prompts on some shells as this can be a frustrating issue for people who don't use zsh

    Pull request

    Fill either one
    • [x] Does your pull request add a crate?

    • [ ] Does your pull request add a new language?

    • [x] Is your pull request memory safe?

    • [ ] Is your pull request configurable?

    • [x] Is your pull request minimal?

    • [x] Is your pull request blazing fast?

    opened by BBaoVanC 5
  • Generic SaaS has been launched!

    Generic SaaS has been launched!

    Hello guys πŸ‘‹, it's me, Generic Name, Generic SaaS Startup Lead Developer.

    This isn't much of an issue, but I wanted to let you guys know Generic SaaS is finally up! After multiple datacenter fires, we changed our architecture and intertwined a system to work with hello-world.rs, so now we can balance the load of memory between different servers.

    Anyway, the link is https://genericsaas.ml/ if you want to check it out.

    Appreciated, Generic Name, Generic SaaS Startup Lead Developer

    opened by Get-DevVed-YT 5
  • Our servers exploded

    Our servers exploded

    Hello guys πŸ‘‹, it's me, Generic Name, Generic SaaS Startup Lead Developer.

    Recently, we tried to use hello-world.rs as a dependency in our backend.

    When we tried to run it, the servers exploded and our datacenter burnt down.

    We lost millions of dollars is damages.

    Our datacenter has been rebuilt and we added new servers.

    Does anyone have any idea what went wrong? We only tried to spawn one million threads of hello-world.rs, so I don't see what went wrong.

    Appreciated, Generic Name, Generic SaaS Startup Lead Developer

    opened by Get-DevVed-YT 5
  • build(deps): bump clap from 3.2.6 to 4.0.0-rc.2

    build(deps): bump clap from 3.2.6 to 4.0.0-rc.2

    Bumps clap from 3.2.6 to 4.0.0-rc.2.

    Release notes

    Sourced from clap's releases.

    v4.0.0-rc.2

    No release notes provided.

    v4.0.0-rc.1

    No release notes provided.

    v3.2.22

    [3.2.22] - 2022-09-16

    Fixes

    • Unify dependencies on terminal_size to the 0.2 release

    v3.2.21

    [3.2.21] - 2022-09-12

    Features

    • TypedValueParser::map to allow reusing existing value parsers for other purposes

    v3.2.20

    [3.2.20] - 2022-09-02

    Features

    • ArgMatches::get_count help for ArgAction::Count
    • ArgMatches::get_flag help for ArgAction::SetTrue / ArgAction::SetFalse

    v3.2.19

    [3.2.19] - 2022-08-30

    Fixes

    • (help) Ensure required arguments for parent commands aren't shown in their subcommands when using args_conflicts_with_subcommand

    v3.2.18

    [3.2.18] - 2022-08-29

    Fixes

    • (help) Command::print_help now respects Command::colored_help
    • (derive) Improved error messages

    v3.2.17

    [3.2.17] - 2022-08-12

    Fixes

    • (derive) Expose #[clap(id = ...)] attribute to match Arg's latest API

    ... (truncated)

    Changelog

    Sourced from clap's changelog.

    Change Log

    All notable changes to this project will be documented in this file.

    The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

    [Unreleased] - ReleaseDate

    Highlights

    Arg::num_args(range)

    Clap has had several ways for controlling how many values will be captured without always being clear on how they interacted, including

    • Arg::multiple_values(true)
    • Arg::number_of_values(4)
    • Arg::min_values(2)
    • Arg::max_values(20)
    • Arg::takes_value(true)

    These have now all been collapsed into Arg::num_args which accepts both single values and ranges of values. num_args controls how many raw arguments on the command line will be captured as values per occurrence and independent of value delimiters.

    See Issue 2688 for more background.

    Polishing Help

    Clap strives to give a polished CLI experience out of the box with little ceremony. With some feedback that has accumulated over time, we took this release as an opportunity to re-evaluate our --help output to make sure it is meeting that goal.

    In doing this evaluation, we wanted to keep in mind:

    • Whether other CLIs had ideas that make sense to apply
    • Providing an experience that fits within the rest of applications and works across all shells

    Before:

    git
    A fictional versioning CLI
    

    USAGE: git <SUBCOMMAND>

    OPTIONS: -h, --help Print help information

    SUBCOMMANDS: </tr></table>

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • blazingπŸš€fastπŸš€πŸš€memory-safeπŸš€πŸš€πŸš€update (πŸš€)

    blazingπŸš€fastπŸš€πŸš€memory-safeπŸš€πŸš€πŸš€update (πŸš€)

    Pull request

    Fill either one
    • [ πŸš€] Does your pull request add a crate?

    • [πŸš€ ] Does your pull request add a new language?

    • [x] Is your pull request memory safe?

    • [x] Is your pull request configurable?

    • [x] Is your pull request minimal?

    • [x] Is your pull request blazing fast? (πŸš€)

    opened by neu-ma-tic 0
  • WS-2022-0242 (High) detected in owning_ref-0.3.3.crate

    WS-2022-0242 (High) detected in owning_ref-0.3.3.crate

    WS-2022-0242 - High Severity Vulnerability

    Vulnerable Library - owning_ref-0.3.3.crate

    A library for creating references that carry their owner with them.

    Library home page: https://crates.io/api/v1/crates/owning_ref/0.3.3/download

    Dependency Hierarchy:

    • chashmap-2.2.2.crate (Root Library)
      • :x: owning_ref-0.3.3.crate (Vulnerable Library)

    Found in HEAD commit: a5a175063bd51fcbbce0eaba88d1b9b6ad315911

    Found in base branch: master

    Vulnerability Details

    All versions of owning_ref in Rust have multiple soundness issues that may result in a use-after free. The crate violates Rust's aliasing rules, which may cause miscompilations on recent compilers that emit the LLVM noalias attribute.

    Publish Date: 2022-01-26

    URL: WS-2022-0242

    CVSS 3 Score Details (8.8)

    Base Score Metrics:

    • Exploitability Metrics:
      • Attack Vector: Network
      • Attack Complexity: Low
      • Privileges Required: None
      • User Interaction: Required
      • Scope: Unchanged
    • Impact Metrics:
      • Confidentiality Impact: High
      • Integrity Impact: High
      • Availability Impact: High

    For more information on CVSS3 Scores, click here.


    Step up your Open Source Security Game with Mend here

    security vulnerability 
    opened by mend-bolt-for-github[bot] 2
  • build(deps): bump crossterm from 0.21.0 to 0.25.0

    build(deps): bump crossterm from 0.21.0 to 0.25.0

    Bumps crossterm from 0.21.0 to 0.25.0.

    Release notes

    Sourced from crossterm's releases.

    0.25

    BREAKING: Copy trait is removed from Event, you can keep it by removing the "bracked-paste" feature flag. However, this flag might be standardized in the future. We removed the Copy from Event because the new Paste event, which contains a pasted string into the terminal, which is a non-copy string.

    • Add the ability to paste a string in into the terminal and fetch the pasted string via events (see Event::Paste and EnableBracketedPaste ).
    • Add support for functional key codes from kitty keyboard protocol. Try out by PushKeyboardEnhancementFlags. This protocol allows for:
      • See: https://sw.kovidgoyal.net/kitty/keyboard-protocol/#modifiers
      • Press, Repeat, and Release event kinds for kitty-enabled terminals.
      • SUPER, HYPER, META modifiers.
      • Media keycodes
      • Right/left SHIFT, Control, Alt, Super, Hyper, Meta
      • IsoLevel3Shift, IsoLevel5Shift
      • Capslock, scroll lock, numlock
      • Printscreen, pauze, menue, keyboard begin.
    • Create SetStyle command to allow setting various styling in one command.
    • Terminal Focus events (see Event::FocusGained and Event::FocusLost), WINDOWS ONLY.

    0.24

    • Add DoubleUnderlined, Undercurled, Underdots the text, Underdotted, Underdashes, Underdashed attributes and allow coloring their foreground/background color.
    • Fix windows unicode character parsing, this fixed various key combinations and support typing unicode characters.
    • Consistency and better documentation on mouse cursor operations (BREAKING CHANGE).
      • MoveTo, MoveToColumn, MoveToRow are 0-based. (left top most cell is 0,0). Moving like this is absolute
      • MoveToNextLine, MoveToPreviousLine, MoveUp, MoveDown, MoveRight, MoveLeft are 1-based,. Moving like this is relative. Moving 1 left means moving 1 left. Moving 0 to the left is not possible, wikipedia states that most terminals will just default to 1.
    • terminal::size returns error when previously it returned (0,0).
    • Remove println from serialization code.
    • Fix the mouse up for the middle and right buttons.
    • Fix escape codes on Git-Bash + Windows Terminal / Alacritty / WezTerm.
    • Add support for cursor keys in application mode.

    0.23

    • Update dependencies.
    • Add 0 check for all cursor functions to prevent undefined behaviour.
    • Add CSIu key parsing for unix.
    • Improve control character window key parsing supporting (e.g. CTRL [ and ])
    • Update library to 2021 edition.

    0.22.1

    • Update yanked version crossterm-winapi and move to crossterm-winapi 0.9.0.
    • Changed panic to error when calling disable-mouse capture without setting it first.
    • Update bitflags dependency.
    Changelog

    Sourced from crossterm's changelog.

    Version 0.25.0

    BREAKING: Copy trait is removed from Event, you can keep it by removing the "bracked-paste" feature flag. However this flag might be standardized in the future. We removed the Copy from Event because the new Paste event, which contains a pasted string into the terminal, which is a non-copy string.

    • Add ability to paste a string in into the terminal and fetch the pasted string via events (see Event::Paste and EnableBracketedPaste ).
    • Add support for functional key codes from kitty keyboard protocol. Try out by PushKeyboardEnhancementFlags. This protocol allows for:
      • See: https://sw.kovidgoyal.net/kitty/keyboard-protocol/#modifiers
      • Press, Repeat, Release event kinds.
      • SUPER, HYPER, META modifiers.
      • Media keycodes
      • Right/left SHIFT, Control, Alt, Super, Hyper, Meta
      • IsoLevel3Shift, IsoLevel5Shift
      • Capslock, scroll lock, numlock
      • Printscreen, pauze, menue, keyboard begin.
    • Create SetStyle command to allow setting various styling in one command.
    • Terminal Focus events (see Event::FocusGained and Event::FocusLost)

    Version 0.24.0

    • Add DoubleUnderlined, Undercurled, Underdots the text, Underdotted, Underdashes, Underdashed attributes and allow coloring their foreground / background color.
    • Fix windows unicode character parsing, this fixed various key combinations and support typing unicode characters.
    • Consistency and better documentation on mouse cursor operations (BREAKING CHANGE).
      • MoveTo, MoveToColumn, MoveToRow are 0-based. (left top most cell is 0,0). Moving like this is absolute
      • MoveToNextLine, MoveToPreviousLine, MoveUp, MoveDown, MoveRight, MoveLeft are 1-based,. Moving like this is relative. Moving 1 left means moving 1 left. Moving 0 to the left is not possible, wikipedia states that most terminals will just default to 1.
    • terminal::size returns error when previously it returned (0,0).
    • Remove println from serialisation code.
    • Fix mouse up for middle and right buttons.
    • Fix escape codes on Git-Bash + Windows Terminal / Alacritty / WezTerm.
    • Add support for cursor keys in application mode.

    Version 0.23.2

    • Update signal-hook and mio to version 0.8.

    Version 0.23.1

    • Fix control key parsing problem.

    Version 0.23

    • Update dependencies.
    • Add 0 check for all cursor functions to prevent undefined behaviour.
    • Add CSIu key parsing for unix.
    • Improve control character window key parsing supporting (e.g. CTRL [ and ])
    • Update library to 2021 edition.

    Version 0.22.1

    • Update yanked version crossterm-winapi and move to crossterm-winapi 0.9.0.
    • Changed panic to error when calling disable-mouse capture without setting it first.
    • Update bitflags dependency.

    Version 0.22

    • Fix serde Color serialisation/deserialization inconsistency.
    • Update crossterm-winapi 0.8.1 to fix panic for certain mouse events

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • CVE-2022-37434 (High) detected in libz-sys-1.1.8.crate

    CVE-2022-37434 (High) detected in libz-sys-1.1.8.crate

    CVE-2022-37434 - High Severity Vulnerability

    Vulnerable Library - libz-sys-1.1.8.crate

    Low-level bindings to the system libz library (also known as zlib).

    Library home page: https://crates.io/api/v1/crates/libz-sys/1.1.8/download

    Dependency Hierarchy:

    • tensorflow-0.17.0.crate (Root Library)
      • tensorflow-sys-0.20.0.crate
        • curl-0.4.43.crate
          • curl-sys-0.4.55+curl-7.83.1.crate
            • :x: libz-sys-1.1.8.crate (Vulnerable Library)

    Found in HEAD commit: a5a175063bd51fcbbce0eaba88d1b9b6ad315911

    Found in base branch: master

    Vulnerability Details

    zlib through 1.2.12 has a heap-based buffer over-read or buffer overflow in inflate in inflate.c via a large gzip header extra field. NOTE: only applications that call inflateGetHeader are affected. Some common applications bundle the affected zlib source code but may be unable to call inflateGetHeader (e.g., see the nodejs/node reference).

    Publish Date: 2022-08-05

    URL: CVE-2022-37434

    CVSS 3 Score Details (9.8)

    Base Score Metrics:

    • Exploitability Metrics:
      • Attack Vector: Network
      • Attack Complexity: Low
      • Privileges Required: None
      • User Interaction: None
      • Scope: Unchanged
    • Impact Metrics:
      • Confidentiality Impact: High
      • Integrity Impact: High
      • Availability Impact: High

    For more information on CVSS3 Scores, click here.


    Step up your Open Source Security Game with Mend here

    security vulnerability 
    opened by mend-bolt-for-github[bot] 0
Owner
mTvare
Hello, I am good with c, python, java and c++ and mess round with other langs. I like doing cli and gamedev projects.
mTvare
Redirect Deno dependencies from semantic versions to the newest fitting version on deno.land/x

Deno Semver Redirect Redirect Deno dependencies from semantic versions to the newest fitting version on deno.land/x. See also this Deno Issue. How to

EdJoPaTo 8 Mar 12, 2022
Salvo is a powerful and simplest web server framework in Rust world

Salvo is an extremely simple and powerful Rust web backend framework. Only basic Rust knowledge is required to develop backend services.

Salvo 849 Sep 25, 2022
VRS is a simple, minimal, free and open source static web server written in Rust

VRS is a simple, minimal, free and open source static web server written in Rust which uses absolutely no dependencies and revolves around Rust's std::net built-in utility.

null 33 Sep 18, 2022
Tiny-lsm - super simple in-memory blocking LSM for constant-size keys and values

tiny-lsm Super simple in-memory blocking LSM for constant-size keys and values. Despite being single-threaded and blocking, this is still capable of o

Tyler Neely 49 Aug 23, 2022
A blazingly fast static web server with routing, templating, and security in a single binary you can set up with zero code. :zap::crab:

binserve ⚑ ?? A blazingly fast static web server with routing, templating, and security in a single binary you can set up with zero code. ?? UPDATE: N

Mufeed VH 672 Sep 18, 2022
Source Code for 'Practical Rust Web Projects' by Shing Lyu

Apress Source Code This repository accompanies Practical Rust Web Projects by Shing Lyu (Apress, 2021). Download the files as a zip using the green bu

Apress 41 Jun 22, 2022
Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust.

Actix Web Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust Features Supports HTTP/1.x and HTTP/2 Streaming and pipelining

Actix 15.2k Sep 19, 2022
A fast, boilerplate free, web framework for Rust

Tower Web A web framework for Rust with a focus on removing boilerplate. API Documentation Tower Web is: Fast: Fully asynchronous, built on Tokio and

Carl Lerche 968 Sep 24, 2022
:zap: fast http framework for rust

zap ⚑ The mission of zap is, to deliver a basic, but fast rust web server library. Documentation About This code is based on tokio's minihttp project,

Daniel Oltmanns 51 Jun 7, 2022
Host These Things Please - a basic http server for hosting a folder fast and simply

http Host These Things Please - a basic HTTP server for hosting a folder fast and simply Selected features See the manpage for full list. Symlinks fol

thecoshman 354 Aug 30, 2022
Simple and fast web server

see Overview Simple and fast web server as a single executable with no extra dependencies required. Features Built with Tokio and Hyper TLS encryption

null 167 Sep 24, 2022
A real fast minecraft api (wip)

crust a real fast minecraft api (huge emphasis on W I P!!!) read the docs built with this section should list any major frameworks that you built your

thrizzle 3 Aug 9, 2022
Static Web Server - a very small and fast production-ready web server suitable to serve static web files or assets

Static Web Server (or SWS abbreviated) is a very small and fast production-ready web server suitable to serve static web files or assets.

Jose Quintana 396 Sep 23, 2022
simple static file server written in Rust based on axum framework

static-server simple static file server written in Rust based on axum framework I'm learning Rust and axum. My thought is simple. axum has a static-fi

null 18 Sep 25, 2022
Helpers to build Perl extensions written in Rust.

Module-Install-Rust Helpers to build Perl extensions written in Rust. INSTALLATION To install this module, run the following commands: perl Makef

Vickenty Fesunov 1 Oct 13, 2019
A web application completely written in Rust. 🌍

WebApp.rs A web application completely written in Rust Target of this project is to write a complete web application including backend and frontend wi

Sascha Grunert 2k Sep 27, 2022
Super tiny pastebin webapp written in rust.

MicroBin MicroBin is a super tiny and simple self hosted pastebin app written in Rust. The executable is around 6MB and it uses 2MB memory (plus your

DΓ‘niel SzabΓ³ 429 Sep 30, 2022
handle some lichess.org/tournament load with rust, while learning rust

lila-http Take some of the HTTP load away from lila. WIP! Arena tournaments Clients connected to a tournament page request new data about the tourname

Thibault Duplessis 19 Jul 5, 2022
Simple http server in Rust (Windows/Mac/Linux)

How it looks like? Screenshot Command Line Arguments Simple HTTP(s) Server 0.6.1 USAGE: simple-http-server [FLAGS] [OPTIONS] [--] [root] FLAGS:

LinFeng Qian 730 Sep 24, 2022