Skip to content

Commit

Permalink
Adjustments for mobile size
Browse files Browse the repository at this point in the history
  • Loading branch information
smunn committed Jun 15, 2021
1 parent 5bb9aa7 commit 60ef069
Show file tree
Hide file tree
Showing 14 changed files with 149 additions and 45 deletions.
3 changes: 2 additions & 1 deletion .prettierignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
# Ignore some template partials, because prettier adds closing HTML tags
layouts/partials/header.html
layouts/partials/header.html
layouts/partials/md-top-context.html
21 changes: 20 additions & 1 deletion assets/sass/_theme-overrides.scss
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,25 @@ body,
background-color: #051735 !important;
}

.pt-md-8 {
@media (min-width: 768px) {
.pt-md-8 {
padding-top: 8rem !important;
}
}

.pt-10 {
padding-top: 1;
}

.pt-7 {
padding-top: 7rem !important;
}
.pt-8 {
padding-top: 8rem !important;
}
.pt-9 {
padding-top: 9rem !important;
}
.pt-10 {
padding-top: 10rem !important;
}
21 changes: 21 additions & 0 deletions assets/sass/main.scss
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,24 @@ body {
transform: rotate(-1deg);
display: inline-block;
}

.initiative_list_item {
.initiative-status {
text-align: center;
}
&__meta {
.initiative-status {
padding-top: 20px;
}
}

&__blogLanding {
margin-bottom: 20px;
}
}

.initiative-description {
ol {
padding-left: 17px;
}
}
71 changes: 54 additions & 17 deletions content/en/about.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,6 @@
slug: about
---

<section class="slice slice-sm">
<div class="container">

<h2>Who We Are</h2>

<p>Prossimo is an <a href="https://www.abetterinternet.org/">Internet Security Research Group project (ISRG)</a> project.</p>
Expand All @@ -14,15 +11,33 @@ <h2>Who We Are</h2>

<h2>Goals</h2>

<p>Our first goal is to move the Internet's security-sensitive software infrastructure to <a href="/docs/memory-safety/">memory safe</a> code. Many of the most critical software vulnerabilities are memory safety issues in C and C++ code. While there are ways to reduce the risk, including fuzzing and static analysis, such mitigations do not eliminate the risk and they consume a lot of resource on an ongoing basis. Using memory safe languages eliminates the entire class of issues. We recognize the amount of work it will take to move significant portions of the Internet’s C and C++ software infrastructure to memory safe code, but the Internet will be around for a long time. There is time for ambitious efforts to pay off. By being smart about our initial investments, focusing on the most critical components, we can start seeing significant returns within 1-2 years.</p>

<p>Our second goal is to change the way people think about memory safety. Today it’s considered perfectly normal and acceptable to deploy software written in languages that aren't memory safe, like C and C++, on a network edge, despite the overwhelming evidence for how dangerous this is. Our hope is that we can get people to fully recognize the risk and view memory safety as a requirement for software in security-sensitive roles.</p>
<p>
Our first goal is to move the Internet's security-sensitive software infrastructure to <a href="/docs/memory-safety/">memory safe</a> code. Many of the most
critical software vulnerabilities are memory safety issues in C and C++ code. While there are ways to reduce the risk, including fuzzing and static analysis,
such mitigations do not eliminate the risk and they consume a lot of resource on an ongoing basis. Using memory safe languages eliminates the entire class of
issues. We recognize the amount of work it will take to move significant portions of the Internet’s C and C++ software infrastructure to memory safe code, but
the Internet will be around for a long time. There is time for ambitious efforts to pay off. By being smart about our initial investments, focusing on the
most critical components, we can start seeing significant returns within 1-2 years.
</p>

<p>
Our second goal is to change the way people think about memory safety. Today it’s considered perfectly normal and acceptable to deploy software written in
languages that aren't memory safe, like C and C++, on a network edge, despite the overwhelming evidence for how dangerous this is. Our hope is that we can get
people to fully recognize the risk and view memory safety as a requirement for software in security-sensitive roles.
</p>

<h2>Prossimo's Role</h2>

<p>We view ISRG's role as providing strategic planning, facilitation, and communication. We identify high impact projects, build and maintain relationships with maintainers and funders, help develop plans, and coordinate the work. This includes raising the necessary funds and getting them to the right people (often maintainers). We communicate with the public regarding progress and momentum in order to build support for the project and the ideas behind it.</p>
<p>
We view ISRG's role as providing strategic planning, facilitation, and communication. We identify high impact projects, build and maintain relationships with
maintainers and funders, help develop plans, and coordinate the work. This includes raising the necessary funds and getting them to the right people (often
maintainers). We communicate with the public regarding progress and momentum in order to build support for the project and the ideas behind it.
</p>

<p>We believe we have a strong competency in identifying work that is both high impact and efficiently achievable. Our aim is for funding entrusted to us to provide a strong return on investment in terms of making the Internet’s software infrastructure safer for everyone.</p>
<p>
We believe we have a strong competency in identifying work that is both high impact and efficiently achievable. Our aim is for funding entrusted to us to
provide a strong return on investment in terms of making the Internet’s software infrastructure safer for everyone.
</p>

<h2>Development Model</h2>

Expand All @@ -34,22 +49,44 @@ <h3>1. Identify critical projects with the best return on investment potential</

<h3>2. Work with maintainers whenever possible</h3>

<p>Maintainers have valuable knowledge and the ability to ship memory safety updates to their existing users. Building competing software and getting users to switch is much more difficult. By working with maintainers, and funding them when it makes sense, we can get safer software into the hands of users more quickly.</p>
<p>
Maintainers have valuable knowledge and the ability to ship memory safety updates to their existing users. Building competing software and getting users to
switch is much more difficult. By working with maintainers, and funding them when it makes sense, we can get safer software into the hands of users more
quickly.
</p>

<p>Funding maintainers for the work helps to create buy-in and alleviates resource concerns.</p>

<h3>3. Prefer a modular approach</h3>

<p>We encourage projects to replace libraries or modular functionality with memory safe libraries, rather than embark upon ground-up rewrites. This allows us to break up the work into manageable pieces and deliver value incrementally.</p>
<p>
We encourage projects to replace libraries or modular functionality with memory safe libraries, rather than embark upon ground-up rewrites. This allows us to
break up the work into manageable pieces and deliver value incrementally.
</p>

<p>It also allows for build-time configuration to select implementations when existing users need the ability to opt-in to the older unsafe versions, either because their environment does not support the new language or because there is a functionality difference. This addresses the concern many maintainers have about abandoning certain specialized users.</p>
<p>
It also allows for build-time configuration to select implementations when existing users need the ability to opt-in to the older unsafe versions, either
because their environment does not support the new language or because there is a functionality difference. This addresses the concern many maintainers have
about abandoning certain specialized users.
</p>

<p>Since many projects will end up using the same memory safe libraries, this approach also allows us to invest and build confidence in a particular set of libraries. Investments in a library for one project will add value across multiple projects. For example - the curl project will use the Hyper and Rustls libraries. The work we do to build excellent C API wrappers and improve the integration experience will help with many projects that will use the libraries in the future.</p>
<p>
Since many projects will end up using the same memory safe libraries, this approach also allows us to invest and build confidence in a particular set of
libraries. Investments in a library for one project will add value across multiple projects. For example - the curl project will use the Hyper and Rustls
libraries. The work we do to build excellent C API wrappers and improve the integration experience will help with many projects that will use the libraries in
the future.
</p>

<h3>4. Build trust by providing additional success stories over time</h3>

<p>Some maintainers are understandably hesitant to make fundamental changes to how their projects work, such as adding a new language or replacing important libraries with new ones. It’s on us to make the case, and we will do that by building up a corpus of success stories and continuing to engage with maintainers about how their concerns can be addressed.</p>

<p>We will start by working with more progressive maintainers that need less convincing. As those projects succeed and get positive feedback, other maintainers will come to trust the model that we advocate. Our hope is that over time we can convince more conservative maintainers that moving to memory safe code, with our support, is a worthwhile endeavor.</p>
</div>
</section>
<p>
Some maintainers are understandably hesitant to make fundamental changes to how their projects work, such as adding a new language or replacing important
libraries with new ones. It’s on us to make the case, and we will do that by building up a corpus of success stories and continuing to engage with maintainers
about how their concerns can be addressed.
</p>

<p>
We will start by working with more progressive maintainers that need less convincing. As those projects succeed and get positive feedback, other maintainers
will come to trust the model that we advocate. Our hope is that over time we can convince more conservative maintainers that moving to memory safe code, with
our support, is a worthwhile endeavor.
</p>
26 changes: 20 additions & 6 deletions content/en/initiative/rustls.html
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,29 @@

<h2>The Story</h2>

<p>The story of our work with <a href="https://github.com/ctz/rustls">Rustls</a> begins with another piece of software, OpenSSL. OpenSSL is a ubiquitous TLS library, used in a large percentage of all devices connected to the Internet. Unfortunately, it's written in C and has a long history of memory safety vulnerabilities.</p>
<p>
The story of our work with <a href="https://github.com/ctz/rustls">Rustls</a> begins with another piece of software, OpenSSL. OpenSSL is a ubiquitous TLS
library, used in a large percentage of all devices connected to the Internet. Unfortunately, it's written in C and has a long history of memory safety
vulnerabilities.
</p>

<p>It's important for the security of the Internet that we move away from TLS libraries that aren't memory safe. In our view, however, it's highly unlikely that we can get the OpenSSL project to move away from C. As such, we need to work on a memory safe alternative and get the Internet's critical software infrastructure to make the switch.</p>
<p>
It's important for the security of the Internet that we move away from TLS libraries that aren't memory safe. In our view, however, it's highly unlikely that
we can get the OpenSSL project to move away from C. As such, we need to work on a memory safe alternative and get the Internet's critical software
infrastructure to make the switch.
</p>

<p>Fortunately, there is an excellent alternative to OpenSSL for many use cases. Rustls is a <a href="https://github.com/ctz/rustls/blob/main/audit/TLS-01-report.pdf">high-quality</a> TLS implementation written in Rust, a memory safe language. We believe Rustls represents the future of TLS implementation on the Internet.</p>
<p>
Fortunately, there is an excellent alternative to OpenSSL for many use cases. Rustls is a
<a href="https://github.com/ctz/rustls/blob/main/audit/TLS-01-report.pdf">high-quality</a> TLS implementation written in Rust, a memory safe language. We
believe Rustls represents the future of TLS implementation on the Internet.
</p>

<p>We're investing in Rustls in two ways:</p>

<o1>
<ol>
<li>We've contracted with Dirkjan Ochtman to make a number of improvements to the Rustls library.</li>
<li>ISRG engineer Jacob Hoffman-Andrews has developed a C API for Rustls that existing C-based projects can use to make their TLS implementation memory safe.</li>
</o1>
<li>
ISRG engineer Jacob Hoffman-Andrews has developed a C API for Rustls that existing C-based projects can use to make their TLS implementation memory safe.
</li>
</ol>
10 changes: 5 additions & 5 deletions layouts/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
{{ partial "header.html" . }}
<section
id="home-hero"
class="position-relative mb-md-5 pb-1 pt-5"
class="position-relative mb-3 pb-1 pt-6 pb-3 pt-sm-5"
style="
background-image: url(assets/img/intro/hero/bg.jpg);
background-color: #dce0e9;
Expand Down Expand Up @@ -54,10 +54,10 @@ <h1 class="display-4 mb-lg-5">

<section class="container py-lg-1 py-1" id="initiatives">
<h2 class="h1 text-center">Initiatives</h2>
{{ partial "home/initiative_list_item.html" (dict "title" "Linux Kernel" "url" "/initiative/linux-kernel" "image" "/images/tux.svg" "description" "Let's make it possible to write memory-safe drivers for the Linux kernel." "backgroundColor" "#e8fcf8") }}
{{ partial "home/initiative_list_item.html" (dict "title" "curl" "url" "/initiative/curl" "image" "/images/curl.svg" "description" "Let's make TLS and HTTP networking code in curl memory-safe." "backgroundColor" "#e6e9ee") }}
{{ partial "home/initiative_list_item.html" (dict "title" "Rustls" "url" "/initiative/rustls" "image" "/images/rustls.png" "description" "Let's build an excellent memory-safe TLS library intended to replace OpenSSL in many projects." "backgroundColor" "#e8fcf8") }}
{{ partial "home/initiative_list_item.html" (dict "title" "mod_tls" "url" "/initiative/mod_tls" "image" "/images/httpd.svg" "description" "Let's make it possible to use memory safe TLS networking in Apache httpd." "backgroundColor" "#e6e9ee") }}
{{ partial "home/initiative_list_item.html" (dict "title" "Linux Kernel" "project_status" "TK" "funding_status" "TK" "url" "/initiative/linux-kernel" "image" "/images/tux.svg" "description" "Let's make it possible to write memory-safe drivers for the Linux kernel." "backgroundColor" "#e8fcf8") }}
{{ partial "home/initiative_list_item.html" (dict "title" "curl" "project_status" "TK" "funding_status" "TK" "url" "/initiative/curl" "image" "/images/curl.svg" "description" "Let's make TLS and HTTP networking code in curl memory-safe." "backgroundColor" "#e6e9ee") }}
{{ partial "home/initiative_list_item.html" (dict "title" "Rustls" "project_status" "TK" "funding_status" "TK" "url" "/initiative/rustls" "image" "/images/rustls.png" "description" "Let's build an excellent memory-safe TLS library intended to replace OpenSSL in many projects." "backgroundColor" "#e8fcf8") }}
{{ partial "home/initiative_list_item.html" (dict "title" "mod_tls" "project_status" "TK" "funding_status" "TK" "url" "/initiative/mod_tls" "image" "/images/httpd.svg" "description" "Let's make it possible to use memory safe TLS networking in Apache httpd." "backgroundColor" "#e6e9ee") }}
</section>

<section
Expand Down
2 changes: 1 addition & 1 deletion layouts/partials/head.html
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@

<link rel="preconnect" href="https://fonts.gstatic.com" />
<link
href="https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;0,800;1,300;1,400;1,600;1,700;1,800&display=swap"
href="https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;0,800;0,900;1,300;1,400;1,600;1,700;1,800;1,900&display=swap"
rel="stylesheet"
/>
<link rel="stylesheet" media="screen" href="/createx-theme/vendor/simplebar/dist/simplebar.min.css" />
Expand Down
2 changes: 1 addition & 1 deletion layouts/partials/header.html
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@
<li class="nav-item d-sm-none d-block">
<a
href="/sponsor"
class="btn btn-sm btn-primary m-3"
class="btn btn-sm btn-mint m-3"
>
Become a Sponsor
</a>
Expand Down
13 changes: 11 additions & 2 deletions layouts/partials/home/initiative_list_item.html
Original file line number Diff line number Diff line change
@@ -1,8 +1,17 @@
<article class="row no-gutters mb-sm-5 mb-grid-gutter rounded" style="background-color: {{.backgroundColor}}">
<article class="initiative_list_item row no-gutters mb-sm-5 mb-grid-gutter rounded" style="background-color: {{.backgroundColor}}">
<div class="col-md-6 pt-sm-5 pt-4 pb-lg-5 pb-4 pr-lg-0 pl-lg-5 px-4 text-md-left text-center align-self-center">
<h3 class="h2 mb-3">{{.title}}</h3>
<p class="pb-2 text-muted">{{.description}}</p>
<a href="{{.url}}" class="btn btn-outline-primary">View initiative</a>
<div class="initiative_list_item__meta">
<a href="{{.url}}" class="btn btn-outline-primary">View initiative</a>
<div class="initiative-status">
{{ if .project_status }}
<div>Project Status: {{ .project_status }}</div>
{{ end }} {{ if .funding_status }}
<div>Funding Status: {{ .funding_status }}</div>
{{ end }}
</div>
</div>
</div>

<div class="col-md-6 d-flex align-items-center justify-content-center py-2">
Expand Down
2 changes: 1 addition & 1 deletion layouts/partials/initiative/initiative_hero.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<div class="initiative-hero container-fluid mb-3 position-relative mb-md-5 pt-md-8 pt-8 pb-md-4" style="background: #{{ .Params.background }};">
<div class="initiative-hero container-fluid mb-3 position-relative mb-md-5 pt-md-8 pt-6 pb-4 pb-md-4" style="background: #{{ .Params.background }};">
<div class="row">
<div class="col-md-8 offset-md-2 text-center">
<h1>{{ .Params.Title}}</h1>
Expand Down
4 changes: 2 additions & 2 deletions layouts/partials/md-top-context.html
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
<section class="slice slice-sm">
<div class="container">
<section class="">
<div class="">
15 changes: 9 additions & 6 deletions layouts/post/list.html
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
{{ define "main" }}
<div>
{{ $posts := where .Site.RegularPages "Type" "in" (slice "post") }} {{ range $posts }} {{ .Date.Format $.Site.Params.time_format_default }}
<h2>{{ .Title }}</h2>
{{ with .Params.excerpt }} {{ . | markdownify }} {{ else }} {{ .Summary }} {{ end }}
<br />
<a href="{{ .Permalink }}">{{ i18n "read_more" }}</a><br />
<br />
{{ $posts := where .Site.RegularPages "Type" "in" (slice "post") }} {{ range $posts }}
<div class="initiative_list_item__blogLanding">
{{ .Date.Format $.Site.Params.time_format_default }}
<h2>{{ .Title }}</h2>
<p>{{ with .Params.excerpt }} {{ . | markdownify }} {{ else }} {{ .Summary }} {{ end }}</p>

<a href="{{ .Permalink }}">{{ i18n "read_more" }}</a><br />
<br />
</div>
{{ end }} {{ with .Site.Home.OutputFormats.Get "RSS" -}}
<p>{{ i18n "subscribe_rss" . | safeHTML }}</p>
{{ end }}
Expand Down
Loading

0 comments on commit 60ef069

Please sign in to comment.