<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<meta content="text/html; charset=US-ASCII" http-equiv="Content-Type">
<title>
GitLab
</title>
<style>img {
max-width: 100%; height: auto;
}
</style>
</head>
<body>
<div class="content">
<h3>
James Browning pushed to branch 20l22-Docker
at <a href="https://gitlab.com/NTPsec/ntpsec">NTPsec / ntpsec</a>
</h3>
<h4>
Commits:
</h4>
<ul>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/946f212b4a48a569b11bfcf449e3a7afe63badcb">946f212b</a></strong>
<div>
<span>by Richard Laager</span>
<i>at 2020-12-27T15:30:53-06:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Remove shebang from pythonize-header
This is run using an explicit interpreter by pylib/wscript:
ctx(
before=['pyc', 'pyo'],
cwd=srcnode,
rule='${PYTHON} ${SRC} >${TGT}',
source=["../wafhelpers/pythonize-header", "../include/ntp.h"],
target=target2,
)
I also removed the execute bit.
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/152ca26e34c668e4f379acf6aca0624f1942c38a">152ca26e</a></strong>
<div>
<span>by Richard Laager</span>
<i>at 2020-12-27T15:32:29-06:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Remove shebang from tlscheck
This is run using an explicit interpreter from tests/option-tester.sh.
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/b7dcb972b1f93aff7ebfc43ea5c73e94762aba0a">b7dcb972</a></strong>
<div>
<span>by James Browning</span>
<i>at 2020-12-31T12:49:22-06:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">ntpviz doc: Document comma as --datadir separator
Signed-off-by: Richard Laager <rlaager@wiktel.com>
[I changed the example syntax slightly.]
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/d8bd811a49675864b62e08fd489b227a7260ab20">d8bd811a</a></strong>
<div>
<span>by James Browning</span>
<i>at 2020-12-31T12:50:08-06:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">ntpviz doc: Remove stray backtick
Signed-off-by: Richard Laager <rlaager@wiktel.com>
[I split this from the previous commit.]
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/5b13095ead4f6245a936395965f005f8d75c2868">5b13095e</a></strong>
<div>
<span>by James Browning</span>
<i>at 2020-12-31T11:37:21-08:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Update some docs to reflect post 1.2.0 changes.
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/a02dd44f0bd8b1dd61302e1cd9fb6747d96c8458">a02dd44f</a></strong>
<div>
<span>by James Browning</span>
<i>at 2020-12-31T11:37:21-08:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">ntp.ntpc: Fix libntpc version checking.
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/2c771b33af3625f11af8a4f4b995b22d9eb15515">2c771b33</a></strong>
<div>
<span>by James Browning</span>
<i>at 2020-12-31T11:37:21-08:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">ntpq: Do not crash on sysinfo. Use a bitvector as it should be.
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/f76af8b7f4080ce7c1334f24c74c7259b84dc899">f76af8b7</a></strong>
<div>
<span>by James Browning</span>
<i>at 2020-12-31T11:37:21-08:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Remove --build-epoch and replace it with arbitrary --build-desc text.
Passing '--build-desc=$(date -u +%Y-%m-%dT%H:%M:%Sz)' restores the previous
default extended version.
The build epoch has been replaced with a hardcoded timestamp which will be
manually updated every nine years or so (approx 512w). This makes the
binaries reproducible by default.</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/ec8fc06d17f4f0ee6c89dfdff4d8a048d5291353">ec8fc06d</a></strong>
<div>
<span>by James Browning</span>
<i>at 2020-12-31T11:37:21-08:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">test: pass output through polystr when writing build/main/test.log
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/c09978ebd79327ba2a30a6bce4cb7029e72a7c83">c09978eb</a></strong>
<div>
<span>by James Browning</span>
<i>at 2020-12-31T11:37:21-08:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">ntpviz: Do not explode but behave badly on --local-offset-multiplot.
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/166748761c645b1239fafb1b2b2254d561a98296">16674876</a></strong>
<div>
<span>by Richard Laager</span>
<i>at 2020-12-31T14:03:26-06:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Shorten version number description
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/6c62cc8a8256d22db34a8e9399f77bae12d07b0b">6c62cc8a</a></strong>
<div>
<span>by Richard Laager</span>
<i>at 2020-12-31T14:05:15-06:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Change "pull request" to "merge request"
GitLab calls them "merge requests".
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/f6735fecd3edd26e4c8eb5549914d0f844143018">f6735fec</a></strong>
<div>
<span>by James Browning</span>
<i>at 2020-12-31T14:13:19-06:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">docs: Add English names for some Greek letters.
Signed-off-by: Richard Laager <rlaager@wiktel.com>
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/2f9cdbb6b572b7831b37b92f1b93985d288d59f5">2f9cdbb6</a></strong>
<div>
<span>by Hal Murray</span>
<i>at 2021-01-01T16:36:00-08:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add CPU usage to NTS-KE log message
Not supported on NetBSD
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/c08795af017d8166d78f6daecd642e54e46e366a">c08795af</a></strong>
<div>
<span>by Hal Murray</span>
<i>at 2021-01-01T16:36:00-08:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Don't build libaes_siv if --disable-nts
It used to build and then get ignored
This means it doesn't have to build on old systems.
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/9f96d2c4d3ad61253cb8eea3f426580907a370e6">9f96d2c4</a></strong>
<div>
<span>by Hal Murray</span>
<i>at 2021-01-01T16:36:00-08:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add OpenSSL version to printout
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/4810ab4ed1e30bc57e4bfaf6ba08806834ee0afa">4810ab4e</a></strong>
<div>
<span>by Hal Murray</span>
<i>at 2021-01-01T16:36:00-08:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Tweaks to ntsinfo
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/29d3b3a7643e58cb40666e5eaea4e107ca09e5d4">29d3b3a7</a></strong>
<div>
<span>by Hal Murray</span>
<i>at 2021-01-01T16:36:00-08:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add getpid() and gettiimeofday() to attic/clocks
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/c0e8ef2d02e3e64bfbc31754d1faf305057eae4b">c0e8ef2d</a></strong>
<div>
<span>by Hal Murray</span>
<i>at 2021-01-01T16:36:00-08:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix typo in subr name: check_aead=>check_alpn
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/8a0be7dcb3a88c4ab2aa772d40197d1cba8f9e70">8a0be7dc</a></strong>
<div>
<span>by Hal Murray</span>
<i>at 2021-01-01T16:41:30-08:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Update HOWTO-OpenSSL to 3.0.0 alpha9
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/e355749411b053e2cc94890e4777d5d92aba4cac">e3557494</a></strong>
<div>
<span>by Hal Murray</span>
<i>at 2021-01-01T16:42:02-08:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add CLOCK_TAI to attic/clocks.c
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/a8e9f895d09a928fafb644812c884db35625e611">a8e9f895</a></strong>
<div>
<span>by James Browning</span>
<i>at 2021-01-13T10:29:46-08:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">ntpq: solve #689 - 'ntpq -c raw -c readvar' crashes ...
----
File "/usr/sbin/ntpq", line 327, in printvars
text = ntp.poly.polystr(session.response.replace(
TypeError: replace() argument 1 must be str, not bytes
----
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/bfb31615f3cc582ce83059fadf55d39500805218">bfb31615</a></strong>
<div>
<span>by James Browning</span>
<i>at 2021-01-13T10:29:46-08:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">ntpq: solve #690 - ntpq does not print associd when 0 ...
Some scripts written for C ntpq require it however.
reverts 2d4a83fb 'Fix a minor g;itch reported by Hal.'
No evidence has arisen to the nature of the glitch.
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/7f2dd3ba4f8cf9354ca9cbf72055368a4f52099b">7f2dd3ba</a></strong>
<div>
<span>by Miroslav Lichvar</span>
<i>at 2021-01-20T17:46:14+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">ntpdig: Fix steplimit option.
Fix the -M/steplimit option to accept milliseconds as documented.
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/833a676938f51e531b9b42bbd04bfca4ee6be2dd">833a6769</a></strong>
<div>
<span>by Miroslav Lichvar</span>
<i>at 2021-01-20T17:46:15+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Improve ntpdate script.
- Change default to step or slew with 500ms limit as classic ntpdate
- Don't pass -o (no longer supported by ntpdig)
- Initialize ADJUST variable
- Add -h option to print usage
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/fd9fc9592cea19e78c95caa86b347719d7fe4c11">fd9fc959</a></strong>
<div>
<span>by Brendan Bank</span>
<i>at 2021-02-01T18:30:23+00:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Update packet.py In the readvars method in the Peer class self.session.readvars() is called however readvars is not a valid method in session (ControlSession class). The correct method seems to be readvar. </pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/99313307c88c6fd892d5d76ae259874eab82dcf4">99313307</a></strong>
<div>
<span>by Brendan Bank</span>
<i>at 2021-02-01T18:30:23+00:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Update test_packet.py rename readvars to readvar as session does not have a readvars method</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/22f0a8ed252a041c4e1752d029b1e53cfcacf194">22f0a8ed</a></strong>
<div>
<span>by James Browning</span>
<i>at 2021-02-01T19:38:59+00:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">www: fix '&mu' and space out sitemap.
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/2ae1199c9f495ce7680027a34f4f5609e8a518c4">2ae1199c</a></strong>
<div>
<span>by James Browning</span>
<i>at 2021-02-01T19:44:19+00:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">ntpdig: Try to handle gaierror better ...
to replicate "ntpdig example.tld" without the quotes.
only symptomatic on Python 3.
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/5f198af7cf308cf406ef6de853b40103a0c26ea2">5f198af7</a></strong>
<div>
<span>by Sami Farin</span>
<i>at 2021-02-08T13:51:13+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix parsing of commandline parameter 'P'
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/74e3959c2b8caf8f3d9002cd5e241178a5f704db">74e3959c</a></strong>
<div>
<span>by James Browning</span>
<i>at 2021-02-09T15:44:27+00:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">ntp_control: Rewrite 3 varlist blocks cutting lines ...
They became 3 near single line callers and 2 new functions.</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/cc8928942ba997774d73ed6ef185339e5a9a6316">cc892894</a></strong>
<div>
<span>by James Browning</span>
<i>at 2021-02-09T15:44:27+00:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">mode6: Change many CS_* macro inserts to switch key.
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/8e0a23daf15c1af04e7aca8e46468b8d3e59ebf2">8e0a23da</a></strong>
<div>
<span>by James Browning</span>
<i>at 2021-02-09T15:44:27+00:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">ntp_control: Add macros to shorten the code/reveal (anti-)patterns.
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/cc94863012751f5c206aa966408a52d004e08d8e">cc948630</a></strong>
<div>
<span>by James Browning</span>
<i>at 2021-02-09T15:44:27+00:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">ntp_control: Actually use macros to shorten code/reveal (anti-)patterns.
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/33fb2ddf3b9c556bb60df91618850a89d0459f75">33fb2ddf</a></strong>
<div>
<span>by James Browning</span>
<i>at 2021-02-09T15:44:27+00:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">ntp_control: strip most ctl_put_* functions to abstracted wrappers.
Wrapping ctl_put_unqstr, saves some lines.</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/90214ebc8b6d7a438f01156a1220eab229941ce9">90214ebc</a></strong>
<div>
<span>by James Browning</span>
<i>at 2021-02-09T16:05:21+00:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">ntp_proto: mutate is_vn_mode_acceptable() ...
- Reject improperly formed v1 packets
- reject packets under 48 octets in length
- Rename to is_packet_not_low_rot()
It is said some ntp3/4 clients wrongly claim to be v1, block them all.
Even the shortest mode 6 is at least 12 octets long.
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/09531f403ccf104dbd369aa8a504e4f075f9acac">09531f40</a></strong>
<div>
<span>by JamesB192</span>
<i>at 2021-02-09T08:28:59-08:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">CI: Work Rawhide the old way and don't build its Docker images.
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/-/commit/d5e994e66e12327697e193475adaf771c8c26820">d5e994e6</a></strong>
<div>
<span>by JamesB192</span>
<i>at 2021-02-09T14:32:29-08:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">CI: remove all traces of Fedora Rawhide
</pre>
</li>
</ul>
<h4>30 changed files:</h4>
<ul>
<li class="file-stats">
<a href="#446be6c58aaf8d95020c50b3ea5a4c66604dc852">
<span class="deleted-file">
−
.dockerfiles/fedora-rawhide
</span>
</a>
</li>
<li class="file-stats">
<a href="#1dbeff7b763ad6c0e655335e65351211f675b458">
<span class="deleted-file">
−
.dockerfiles/fedora-rawhide-gpsd
</span>
</a>
</li>
<li class="file-stats">
<a href="#85a337571cefd35f8842c647bc80fdce706e428b">
.gitlab-ci-docker-images.yml
</a>
</li>
<li class="file-stats">
<a href="#587d266bb27a4dc3022bbed44dfa19849df3044c">
.gitlab-ci.yml
</a>
</li>
<li class="file-stats">
<a href="#9cfdb1ca6f275d1c6858e49459a47d423fe98378">
.gitlab-opttest-ci.yml
</a>
</li>
<li class="file-stats">
<a href="#e2db2bf8935a29abf75a3286bb2dc35bf833e9a0">
HOWTO-OpenSSL
</a>
</li>
<li class="file-stats">
<a href="#653458cabe0549b8c46be38150897af018763060">
NEWS.adoc
</a>
</li>
<li class="file-stats">
<a href="#cf9b8f8485653dafe5c6683ec77cbf1ca9c205b3">
attic/clocks.c
</a>
</li>
<li class="file-stats">
<a href="#3175e9c0c267052dcbea07d39c7e2e7a5e9c629e">
attic/ntpdate
</a>
</li>
<li class="file-stats">
<a href="#0c8688dc80a180443ffe988ce4ea37dbf7f9d871">
attic/random.c
</a>
</li>
<li class="file-stats">
<a href="#6aad525e680265871b9320d085c3e3a37e9efa05">
devel/hacking.adoc
</a>
</li>
<li class="file-stats">
<a href="#96667c514d24d82f708c5a9218ab0987a1cd520c">
docs/includes/mrufail.adoc
</a>
</li>
<li class="file-stats">
<a href="#d96b8b7265d97a55245051e34736004667a175de">
docs/includes/ntpviz-body.adoc
</a>
</li>
<li class="file-stats">
<a href="#3a40d2db3c2493587cd207e808db1184f95e442c">
docs/sitemap.adoc
</a>
</li>
<li class="file-stats">
<a href="#cc8510c72c2cfb1c4e4f1e37b78e4d538b57e5cb">
docs/stats.adoc
</a>
</li>
<li class="file-stats">
<a href="#5e0fce9acc6e0e17a3faccf9a42ea8cc593c0cea">
include/ntp.h
</a>
</li>
<li class="file-stats">
<a href="#61b762d1e673f1ae3229f3c514638457abc5de84">
libntp/ntp_calendar.c
</a>
</li>
<li class="file-stats">
<a href="#ddbe41d72d7411cd4be98227414ca80e7bcb05d6">
ntpclients/ntpdig.py
</a>
</li>
<li class="file-stats">
<a href="#1e60eda49b85967df279325efe9771b98e43f873">
ntpclients/ntpq.py
</a>
</li>
<li class="file-stats">
<a href="#5d7267c06a32341332961589a5641bb0142dca20">
ntpclients/ntpviz.py
</a>
</li>
<li class="file-stats">
<a href="#403246f0aef784495bc035a970fa42eae64e2b4a">
ntpd/ntp_control.c
</a>
</li>
<li class="file-stats">
<a href="#a9eeb2d7f139fd99254bacd1e507b63de174c843">
ntpd/ntp_proto.c
</a>
</li>
<li class="file-stats">
<a href="#5ed258e118427794a94bfd9b47ab21c60a701577">
ntpd/ntpd.c
</a>
</li>
<li class="file-stats">
<a href="#4188e892f41c12f300287a7e79074f6da4611f73">
ntpd/nts_client.c
</a>
</li>
<li class="file-stats">
<a href="#f2a76773af5c8626dfdd65c4c6ab3a967f644a4d">
ntpd/nts_server.c
</a>
</li>
<li class="file-stats">
<a href="#fa796daa7a999a1b8f2b9df09e018c0f425813d5">
packaging/packaging.adoc
</a>
</li>
<li class="file-stats">
<a href="#971315766abcc894012a00dc04419577ac5eccf8">
pylib/ntpc.py
</a>
</li>
<li class="file-stats">
<a href="#e0397ae65951b0adbbedbbb14a096009aaa63642">
pylib/packet.py
</a>
</li>
<li class="file-stats">
<a href="#a61fb9541c7ffe95e3b809ea55001114580d13e4">
pylib/util.py
</a>
</li>
<li class="file-stats">
<a href="#48b9ace875188a1a6b065b960b4d06b87955c732">
tests/pylib/test_packet.py
</a>
</li>
</ul>
<h5>The diff was not included because it is too large.</h5>
</div>
<div class="footer" style="margin-top: 10px;">
<p style="font-size: small; color: #666;">
—
<br>
<a href="https://gitlab.com/NTPsec/ntpsec/-/compare/6393fca90d22f5bec76080bf06aa58fd2b4a7e8f...d5e994e66e12327697e193475adaf771c8c26820">View it on GitLab</a>.
<br>
You're receiving this email because of your account on gitlab.com.
If you'd like to receive fewer emails, you can
adjust your notification settings.
</p>
</div>
</body>
</html>