• [FreeBSD-Announce] FreeBSD Quarterly Status Report - First Quarter 2020

    From Lorenzo Salvadore@21:1/5 to All on Mon Apr 13 07:00:00 2020
    FreeBSD Project Quarterly Status Report - First Quarter 2020
    Introduction

    Welcome, to the quarterly reports, of the future! Well, at least the
    first quarterly report from 2020. The new timeline, mentioned in the
    last few reports, still holds, which brings us to this report, which
    covers the period of January 2020 - March 2020.

    As you will see from this report, we've had quite an active quarter
    with big changes to both kernel, userland, documentation, ports, and
    third-party projects in the form of everything from bug and security
    fixes over new features to speed improvements and optimizations.

    As this report also covers the start of the epidemic, it's also
    interesting to note that a quick glance at the svn logs reveal that
    there has been no overall drop in number of source commits, that docs
    commits have also stayed constant, and that ports have seen an upwards
    trend.

    We hope that all of you are and yours are as safe as can be managed,
    and that we get through this together by working together.

    -- Daniel Ebdrup Jensen, debdrup@freebsd.org
    __________________________________________________________________

    FreeBSD Team Reports

    * FreeBSD Foundation
    * FreeBSD Core Team
    * FreeBSD Release Engineering Team
    * Cluster Administration Team
    * Continuous Integration
    * Ports Collection
    * FreeBSD Graphics Team status report

    Projects

    * NFS over TLS implementation
    * Import of the Kyua test framework
    * Linux compatibility layer update
    * syzkaller on FreeBSD

    Kernel

    * if_bridge
    * sigfastblock(2)
    * arm64 LSE atomic instructions
    * FreeBSD on Microsoft HyperV and Azure
    * FreeBSD on the ARM Morello platform
    * NXP ARM64 SoC support
    * ENA FreeBSD Driver Update

    Architectures

    * FreeBSD/powerpc Project
    * FreeBSD/RISC-V Project

    Userland Programs

    * GCC 4.2.1 Retirement
    * elfctl utility
    * ELF Tool Chain

    Ports

    * KDE on FreeBSD
    * XFCE
    * Wine on FreeBSD
    * Go on freebsd/arm64
    * sysctlmibinfo2 API

    Documentation

    * FreeBSD Translations on Weblate
    * FreeBSD Manpages overhaul

    Third-Party Projects

    * pot and the nomad pot driver
    * NomadBSD
    __________________________________________________________________

    FreeBSD Team Reports

    Entries from the various official and semi-official teams, as found in
    the Administration Page.

    FreeBSD Foundation

    Contact: Deb Goodkin <deb@FreeBSDFoundation.org>

    The FreeBSD Foundation is a 501(c)(3) non-profit organization dedicated
    to supporting and promoting the FreeBSD Project and community
    worldwide. Funding comes from individual and corporate donations and is
    used to fund and manage software development projects, conferences and
    developer summits, and provide travel grants to FreeBSD contributors.
    The Foundation purchases and supports hardware to improve and maintain
    FreeBSD infrastructure and provides resources to improve security,
    quality assurance, and release engineering efforts; publishes marketing
    material to promote, educate, and advocate for the FreeBSD Project;
    facilitates collaboration between commercial vendors and FreeBSD
    developers; and finally, represents the FreeBSD Project in executing
    contracts, license agreements, and other legal arrangements that
    require a recognized legal entity.

    Here are some highlights of what we did to help FreeBSD last quarter:

    General

    We moved! Our new address is: The FreeBSD Foundation 3980 Broadway St.
    STE #103-107 Boulder, CO 80304 USA

    In February, the board of directors had an all-day board meeting in
    Berkely, CA, where FreeBSD began! We put together our strategic plans
    for the next 2 years, which includes software developments projects we
    want to support and some educational initiatives.

    COVID-19 impacts the Foundation. We put policies in place for all of
    our staff members to work from home. We also put a temporary ban on
    travel for staff members. We are continuing our work supporting the
    community and Project, but some of our work and responses are delayed
    because of changes in some of our priorities and the impact of limited
    childcare for a few of our staff members.

    Partnerships and Commercial User Support

    We help facilitate collaboration between commercial users and FreeBSD
    developers. We also meet with companies to discuss their needs and
    bring that information back to the Project. In Q1, Deb Goodkin met with
    commercial users at LinuxConfAu in Australia, FOSDEM in Belgium, and
    SCALE18x in the US. These venues provide an excellent opportunity to
    meet with commercial and individual users and contributors to FreeBSD.
    It's not only beneficial for the above, but it also helps us understand
    some of the applications where FreeBSD is used. In addition to meeting
    with commercial users at conferences, we continued discussions over
    email or on calls over the quarter.

    Fundraising Efforts

    Last quarter we raised $57,000! Thank you to everyone who came through,
    especially in this economic crisis we have found ourselves in. It
    heartens us deeply that individuals and organizations have supported
    our efforts, when there are so many people, animals, and businesses in
    need right now. We also want to extend a big thank you to Tarsnap,
    VMWare, and Stormshield for leading the way with Silver level
    donations. We hope other organizations will follow their lead and give
    back to help us continue supporting FreeBSD.

    We are 100% funded by donations, and those funds go towards software
    development work to improve FreeBSD, FreeBSD advocacy around the world,
    keeping FreeBSD secure, continuous integration improvements, sponsoring
    BSD-related and computing conferences, legal support for the Project,
    and many other areas.

    Please consider making a donation to help us continue and increase our
    support for FreeBSD: https://www.FreeBSDfoundation.org/donate/.

    We also have the Partnership Program, to provide more benefits for our
    larger commercial donors. Find out more information at
    https://www.FreeBSDfoundation.org/FreeBSD-foundation-partnership-program/
    and share with your companies!

    OS Improvements

    The Foundation supports software development projects to improve the
    FreeBSD operating system through our full time technical staff,
    contractors, and project grant recipients. They maintain and improve
    critical kernel subsystems, add new features and functionality, and fix
    problems.

    Over the last quarter there were 273 commits to the FreeBSD base system
    source repository tagged with FreeBSD Foundation sponsorship, about 12%
    of base system commits over the quarter. Many of these are part of
    sponsored or staff projects that have their own entries in this FreeBSD
    Quarterly Report, but Foundation staff and contractors (Ed Maste,
    Konstantin Belousov, Mark Johnston, Li-Wen Hsu) also support the
    project with an ongoing series of bug fixes, build fixes, and
    miscellaneous improvements that don't warrant a separate entry.

    Ed committed miscellaneous improvements to various parts of FreeBSD's
    build infrastructure, largely prompted by the work to retire the
    obsolete GCC 4.2.1. This included removal of the LLVM_LIBUNWIND option
    (now always set), and the removal of unused gperf, gcov, and the GPL
    devicetree compiler (dtc). Ed committed sendfile support for the
    Linuxulator, submitted by previous intern Bora Özarslan, and tested and
    committed a number of submitted bug fixes for the Microchip
    USB-Ethernet controller if_muge driver. Ed also updated the copy of
    OpenSSH in the base system to 7.9p1, with additional updates in
    progress, and worked on a number of security advisories released during
    the quarter.

    Konstantin Belousov and Mark Johnston both performed a large number of
    code reviews during the quarter under Foundation sponsorship. This work
    helps developers in the FreeBSD community and those working at
    companies using FreeBSD to integrate their work into FreeBSD.

    In addition to work described elsewhere in this report Konstantin also
    continued his usual series of bug fixes and improvements. This quarter
    this included low-level x86 support, fixing sendfile bugs, file system
    and vfs bug fixes, and dozens of other miscellaneous improvements.
    Additional work included a variety of commits to support Hygon x86 CPUs
    and improvements to the runtime linker (rtld)'s direct execution mode.

    Mark Johnston continued his work on the Syzkaller system-call fuzzer,
    and committed fixes for many issues reported by Syzkaller. Mark triaged
    a large number of submitted bug reports and in many cases committed
    attached patches or developed fixes. Mark also addressed dozens of
    Coverity Scan reports.

    Mark's other changes included arm64 Large System Extensions (LSE)
    atomic operations, low-level arm64 and x86 work, virtual memory (VM)
    work, and bug fixes or other improvements to syslog, the lagg(4) link
    aggregation driver, and build reproducibility.

    Li-Wen Hsu committed many changes to tests in the base system, such as
    turning off known failing tests tracked by PRs, test-related pkgbase
    fixes, and other improvements.

    Continuous Integration and Quality Assurance

    The Foundation provides a full-time staff member who is working on
    improving our automated testing, continuous integration, and overall
    quality assurance efforts.

    During the first quarter of 2020, Foundation staff continued to improve
    the Project's CI infrastructure, worked with contributors to fix the
    failing build and test cases. The building of a CI staging environment
    is in progress on the new machine purchased by the Foundation. We are
    also working with other teams in the Project for their testing needs.
    For example, we added a new job for running LTP (Linux Testing Project)
    on the Linuxulator, to validate improvements in the Foundation's
    sponsored Linux emulation work. We are also working with many external
    projects and companies to improve their support of FreeBSD.

    See the FreeBSD CI section of this report for completed work items and
    detailed information.

    Supporting FreeBSD Infrastructure

    The Foundation provides hardware and support to improve the FreeBSD
    infrastructure. Last quarter, we continued supporting FreeBSD hardware
    located around the world. We purchased one server for a mirror in
    Malaysia, and signed the MOU for the new NYI colocation facility in
    Illinois. NYI generously provides this as an in-kind donation to the
    Project.

    FreeBSD Advocacy and Education

    A large part of our efforts are dedicated to advocating for the
    Project. This includes promoting work being done by others with
    FreeBSD; producing advocacy literature to teach people about FreeBSD
    and help make the path to starting using FreeBSD or contributing to the
    Project easier; and attending and getting other FreeBSD contributors to
    volunteer to run FreeBSD events, staff FreeBSD tables, and give FreeBSD
    presentations.

    The FreeBSD Foundation sponsors many conferences, events, and summits
    around the globe. These events can be BSD-related, open source, or
    technology events geared towards underrepresented groups. We support
    the FreeBSD-focused events to help provide a venue for sharing
    knowledge, to work together on projects, and to facilitate
    collaboration between developers and commercial users. This all helps
    provide a healthy ecosystem. We support the non-FreeBSD events to
    promote and raise awareness of FreeBSD, to increase the use of FreeBSD
    in different applications, and to recruit more contributors to the
    Project.

    Check out some of the advocacy and education work we did last quarter:
    * Organized and presented at the first ever FreeBSD Mini-Conf
    LinuxConfAu 2020, in Gold Coast, Australia in addition to
    sponsoring the conference itself. The recap can be found here.
    * Presented BSD Dev Room at FOSDEM '20, in Brussels, Belgium and
    represented FreeBSD at a stand along with other members of the
    community. Find out more here:
    https://www.freebsdfoundation.org/blog/fosdem-2020-conference-recap/
    * Represented FreeBSD at Apricot 2020 in Melbourne, Australia and
    sponsored the event.
    * Industry Partner Sponsor for USENIX FAST '20 in Santa Clara, CA
    * Sponsored FOSSASIA 2020, in Singapore
    * Committed to hold FreeBSD Day at SCALE 18x, in Pasadena, CA
    * Held a "Getting Started with FreeBSD Workshop" at SCALE 18x in
    addition to giving a talk, representing FreeBSD at the Expo and
    holding a "Why FreeBSD is Me" BoF. Check out the conference recap.

    We continued producing FreeBSD advocacy material to help people promote
    FreeBSD.

    Learn more about our efforts in 2019 to advocate for FreeBSD.

    In addition to the information found in the Development Projects update
    section of this report, take a minute to check out the latest update
    blogs:
    * POWER to the People: Making FreeBSD a First Class Citizen on POWER.
    * Development Project Update: Toolchain Modernization.

    Read more about our conference adventures in the conference recaps and
    trip

    reports in our monthly newsletters.

    We help educate the world about FreeBSD by publishing the
    professionally produced FreeBSD Journal. As we mentioned previously,
    the FreeBSD Journal is now a free publication. Find out more and access
    the latest issues.

    You can find out more about events we attended and upcoming events
    here. As is the case for most of us in this industry, SCALE was the
    last event we will be attending for a few months. However, we're
    already working on how we can make more on-line tutorials and how-to
    guides available to facilitate getting more folks to try out FreeBSD.
    In the meantime, please check out the how-to guides we already have
    available!

    We have continued our work with a new website developer to help us
    improve our website. Work has begun to make it easier for community
    members to find information more easily and to make the site more
    efficient.

    Legal/FreeBSD IP

    The Foundation owns the FreeBSD trademarks, and it is our
    responsibility to protect them. We also provide legal support for the
    core team to investigate questions that arise.

    Go to http://www.FreeBSDfoundation.org/ to find out how we support
    FreeBSD and how we can help you!
    __________________________________________________________________

    FreeBSD Core Team

    Contact: FreeBSD Core Team <core@FreeBSD.org>

    The FreeBSD Core Team is the governing body of FreeBSD.
    * Core approved a source commit bit for Alfredo Dal'Ava Júnior.
    Alfredo has been working on powerpc64 support. Justin Hibbits
    (jhibbits) will mentor Alfredo.
    * Core approved a source commit bit for Ryan Moeller. Ryan has been
    working on porting ZoL to FreeBSD. Alexander Motin (mav) and Matt
    Macy (mmacy) will mentor Ryan.
    * Core approved a source commit bit for Nick O'Brien. Nick has been
    working on RISC-V at Axiado. Kristof Provost (kp) and Philip Paeps
    (philip) will mentor Nick.
    * Core approved a source commit bit for Richard Scheffenegger.
    Richard has been contributing TCP work. Michael Tuexen (tuexen)
    will mentor Richard and Rodney Grimes (rgrimes) will act as
    co-mentor.
    * Core approved a source commit bit for Aleksandr Fedorov. Aleksandr
    has been testing and reviewing bhyve networking code. Vincenzo
    Maffione (vmaffione) will mentor Aleksandr and John Baldwin (jhb)
    will act as co-mentor.
    * Core requested that the freebsd-mobile@ list be retired as it was
    almost exclusively receiving spam. postmaster@ completed core's
    request.
    * Core approved third party authentication for some project services
    with certain conditions. For example, for authentication with
    Google, users must be using a FreeBSD.org account with two-factor
    authentication enabled. For GitHub, we will enable and force
    multi-factor authentication for our organization.
    * The Core-initiated Git Transition Working Group continued to meet
    over the first quarter of 2020. Their report is still forthcoming.
    __________________________________________________________________

    FreeBSD Release Engineering Team

    Links
    FreeBSD 11.4-RELEASE schedule
    URL: https://www.freebsd.org/releases/11.4R/schedule.html
    FreeBSD 12.2-RELEASE schedule
    URL: https://www.freebsd.org/releases/12.2R/schedule.html
    FreeBSD development snapshots
    URL: https://download.freebsd.org/ftp/snapshots/ISO-IMAGES/

    Contact: FreeBSD Release Engineering Team <re@FreeBSD.org>

    The FreeBSD Release Engineering Team is responsible for setting and
    publishing release schedules for official project releases of FreeBSD,
    announcing code freezes and maintaining the respective branches, among
    other things.

    The FreeBSD Release Engineering Team published the schedules for the
    upcoming 11.4-RELEASE and 12.2-RELEASE cycles.

    Much time was spent by Glen Barber working on updates to the various
    build tools adding support for builds from both Subversion and Git.
    This is very much a work in progress, as there are a number of
    inter-connected moving parts.

    Additionally throughout the quarter, several development snapshots
    builds were released for the head, stable/12, and stable/11 branches.

    Much of this work was sponsored by Rubicon Communications, LLC
    (netgate.com) and the FreeBSD Foundation.
    __________________________________________________________________

    Cluster Administration Team

    Links
    Cluster Administration Team members
    URL: https://www.freebsd.org/administration.html#t-clusteradm

    Contact: Cluster Administration Team <clusteradm@FreeBSD.org>

    The FreeBSD Cluster Administration Team consists of the people
    responsible for administering the machines that the Project relies on
    for its distributed work and communications to be synchronised. In this
    quarter, the team has worked on the following:
    * Upgrade all ref- and universe- machines
    * South Africa mirror (JINX) is online
    * Package service of Seattle, USA mirror (TUK) is online
    * Ongoing systems administration work:
    + Creating accounts for new committers.
    + Backups of critical infrastructure.
    + Keeping up with security updates in 3rd party software.

    Work in progress:
    * Setup Malaysia (KUL) mirror
    * Setup Brazil (BRA) mirror
    * Setup Amsterdam (PKT) mirror
    * Review the service jails and service administrators operation.
    * Infrastructure of building aarch64 and powerpc64 packages
    + NVME issues on PowerPC64 Power9 blocking dual socket machine
    from being used as pkg builder.
    + Drive upgrade test for pkg builders (SSDs) courtesy of the
    FreeBSD Foundation.
    + Boot issues with Aarch64 reference machines.
    * New NYI.net sponsored colocation space in Chicago-land area.
    * Prepare resource for git working group
    * Searching for more mirror providers
    + https://wiki.freebsd.org/Teams/clusteradm/generic-mirror-layout
    + https://wiki.freebsd.org/Teams/clusteradm/tiny-mirror
    __________________________________________________________________

    Continuous Integration

    Links
    FreeBSD Jenkins Instance
    URL: https://ci.FreeBSD.org
    FreeBSD Hardware Testing Lab
    URL: https://ci.FreeBSD.org/hwlab
    FreeBSD CI artifact archive
    URL: https://artifact.ci.FreeBSD.org
    FreeBSD CI weekly report
    URL: https://hackmd.io/@FreeBSD-CI
    FreeBSD Jenkins wiki
    URL: https://wiki.freebsd.org/Jenkins
    Hosted CI wiki
    URL: https://wiki.freebsd.org/HostedCI
    3rd Party Software CI
    URL: https://wiki.freebsd.org/3rdPartySoftwareCI
    Tickets related to freebsd-testing@
    URL: https://preview.tinyurl.com/y9maauwg
    FreeBSD CI Repository
    URL: https://github.com/freebsd/freebsd-ci

    Contact: Jenkins Admin <jenkins-admin@FreeBSD.org>
    Contact: Li-Wen Hsu <lwhsu@FreeBSD.org>

    Contact: freebsd-testing Mailing List Contact: IRC #freebsd-ci channel
    on EFNet

    The FreeBSD CI team maintains the continuous integration system and
    related tasks for the FreeBSD project. The CI system regularly checks
    the committed changes can be successfully built, then performs various
    tests and analysis of the results. The artifacts from the build jobs
    are archived in the artifact server for further testing and debugging
    needs. The CI team members examine the failing builds and unstable
    tests and work with the experts in that area to fix the codes or adjust
    test infrastructure. The details of these efforts are available in the
    weekly CI reports.

    During the first quarter of 2020, we continue working with the
    contributors and developers in the project for their testing needs and
    also keep working with external projects and companies to improve their
    support of FreeBSD.

    Important changes:
    * All the -head jobs are using clang/lld toolchain
    * All the -head test are using kyua in the base
    * RISC-V jobs now generate full disk image and run tests in QEMU with
    OpenSBI
    * freebsd-doc job also checks building of www.freebsd.org

    New jobs added:
    * https://ci.freebsd.org/job/FreeBSD-head-amd64-test_ltp/
    * https://ci.freebsd.org/job/FreeBSD-head-powerpc64-images/
    * https://ci.freebsd.org/job/FreeBSD-head-powerpc64-testvm/

    Work in progress:
    * Collecting and sorting CI tasks and ideas here
    * Setup the CI stage environment and put the experimental jobs on it
    * Implementing automatic tests on bare metal hardware
    * Adding drm ports building test against -CURRENT
    * Testing and merging pull requests in the FreeBSD-ci repo
    * Planning for running ztest and network stack tests
    * Helping more 3rd software get CI on FreeBSD through a hosted CI
    solution
    * Adding non-x86 test jobs.
    * Adding external toolchain related jobs.
    * Adding more hardware to the hardware lab

    Please see freebsd-testing@ related tickets for more WIP information,
    and join the efforts

    Sponsor: The FreeBSD Foundation
    __________________________________________________________________

    Ports Collection

    Links
    About FreeBSD Ports
    URL: https://www.FreeBSD.org/ports/
    Contributing to Ports
    URL: https://www.freebsd.org/doc/en_US.ISO8859-1/articles/contributing/ports-contributing.html
    FreeBSD Ports Monitoring
    URL: http://portsmon.freebsd.org/index.html
    Ports Management Team
    URL: https://www.freebsd.org/portmgr/index.html

    Contact: René Ladan <portmgr-secretary@FreeBSD.org>
    Contact: FreeBSD Ports Management Team <portmgr@FreeBSD.org>

    The Ports Management Team is responsible for overseeing the overall
    direction of the Ports Tree, building packages, and personnel matters.
    Below is what happened in the last quarter.

    During the last quarter the number of ports settled in at 39,000. There
    are currently just over 2,400 open PRs of which 640 are unassigned. The
    last quarter saw 8146 commits by 173 committers to the HEAD branch and
    357 commits by 52 committers to the 2020Q1 branch. This means the
    number of PRs grew although the committer activity remained more or
    less constant.

    As always, people come and go. This time we welcomed Loïc Bartoletti
    (lbartoletti@), Mikael Urankar (mikael@), Kyle Evans (kevans@, who is
    already a src committer), and Lorenzo Salvadore (salvadore@, who we
    already know for compiling these reports you are reading right now). We
    said goodbye to dbn@ and theraven@, who we hope to see back in the
    future.

    On the infrastructure side, USES=qca was added and USES=zope was
    removed. The latter was also due to it was incompatible with Python 3,
    and portmgr is in the process of removing Python 2.7 from the Ports
    Tree. This means that all ports that currently rely on Python 2.7 need
    to be updated to work with Python 3 or be removed.

    After a long period of work by multiple people, Xorg got updated from
    the 1.18 to the 1.20 release series. Also, the web browsers were
    updated: Firefox to version 75.0, Firefox ESR to 68.7.0, and Chromium
    to 80.0.3987.149. The package manager itself got updated to version
    1.13.2.

    antoine@ ran 29 exp-runs during the last quarter for various updates to
    KDE, poppler, pkg and build tools; and test compatibility with src
    changes: removing procfs-based debugging, fixing TLS alignment, and
    only including libssp_nonshared.a in libc for the i386 and Power
    architectures.
    __________________________________________________________________

    FreeBSD Graphics Team status report

    Links
    Project GitHub page
    URL: https://github.com/FreeBSDDesktop

    Contact: FreeBSD Graphics Team <x11@freebsd.org>
    Contact: Niclas Zeising <zeising@freebsd.org>

    The FreeBSD X11/Graphics team maintains the lower levels of the FreeBSD
    graphics stack. This includes graphics drivers, graphics libraries such
    as the MESA OpenGL implementation, the X.org xserver with related
    libraries and applications, and Wayland with related libraries and
    applications.

    The biggest highlight by far during the previous quarter was the long
    awaited update of xorg-server to version 1.20. After years of work by
    many people, this update finally landed in the form of xorg-server
    1.20.7. With this update came a couple of new things, most notably,
    FreeBSD 12 and later was switched to use the udev/evdev backend by
    default for handling input devices, such as mice and keyboards.
    Together with this release, the OpenGL library implementation mesa was
    switched to use DRI3 by default, instead of the older DRI2.

    These updates caused some fallout when they first were comitted, most
    notably issues with keyboards. But with help from Michael Gmelin and
    others on the mailing lists, most issues were sorted fast.
    Unfortunately version 304 of the nVidia graphics driver is no longer
    supported as of this release.

    Since this update, xorg-server has also been bumped to 1.20.8, which is
    the latest upstream release.

    Apart from this update, there has also been ongoing work to keep the
    various drm-kmod ports and packages up to date, mostly in response to
    changes in FreeBSD CURRENT and to security issues found in the Intel
    i915 driver.

    We have also done updates as needed to keep the graphics and input
    stack up to date and working, and deprecated and removed several old
    and no longer used drivers, applications and libraries.

    We have also continued our regularly scheduled bi-weekly meetings.

    People who are interested in helping out can find us on the
    x11@FreeBSD.org mailing list, or on our gitter chat:
    (https://gitter.im/FreeBSDDesktop/Lobby). We are also available in
    #freebsd-xorg on EFNet.

    We also have a team area on GitHub where our work repositories can be
    found: https://github.com/FreeBSDDesktop
    __________________________________________________________________

    Projects

    Projects that span multiple categories, from the kernel and userspace
    to the Ports Collection or external projects.

    NFS over TLS implementation

    Contact: Rick Macklem <rmacklem@freebsd.org>

    In an effort to improve NFS security, an internet draft which I expect
    will become and RFC soon specifies the use of TLS 1.3 to encrypt all
    data traffic on a Sun RPC connection used for NFS.

    Although NFS has been able to use sec=krb5p to encrypt data on the
    wire, this requires a Kerberos environment and, as such, has not been
    widely adopted. It also required that encryption/decryption be done in
    software, since only the RPC message NFS arguments are encrypted. Since
    Kernel TLS is capable of using hardware assist to improve performance
    and does not require Kerberos, NFS over TLS may be more widely adopted,
    once implementations are available.

    Since FreeBSD's kernel TLS requires that data be in ext_pgs mbufs for
    transmission, most of the work so far has been modifying the NFS code
    that builds the protocol arguments to optionally use ext_pgs mbufs.
    Coding changes to handle received ext_pgs mbufs has also been done,
    although this may not be required by the receive kernel TLS.

    The kernel RPC has also been modified to do the STARTTLS Null RPC and
    to do upcalls to userland daemons that perform the
    SSL_connect()/SSL_accept(), since the kernel TLS does not do this
    initial handshake. So far only a self signed certificate on the server,
    with no requirement for the client to have a certificate has been
    implemented.

    Work is still needed to be done for the case where the NFS client is
    expected to have a signed certificate. In particular, it is not obvious
    to me what the correct solution is for clients that do not have a fixed
    IP address/DNS name. The code now is about ready for testing, but
    requires that the kernel TLS be able to support receive as well as
    transmit. Patches to the kernel TLS for receive are being worked on by
    jhb@freebsd.org.

    Once receive side kernel TLS becomes available, the code in subversion
    under base/projects/nfs-over-tls will need third party testing and a
    security evaluation by someone familiar with TLS.
    __________________________________________________________________

    Import of the Kyua test framework

    Links
    The FreeBSD Test Suite
    URL: https://wiki.freebsd.org/TestSuite

    Contact: Brooks Davis <brooks@FreeBSD.org>

    The FreeBSD test suite uses the Kyua test framework to run tests.

    Historically Kyua has been installed from the ports collection
    (devel/kyua). While this is fine for mainstream architectures, it can
    pose bootstrapping issues on new architectures and package installation
    is quite slow under emulation or on FPGA based systems. By including it
    in the FreeBSD base system we can avoid these issues.

    We hope that this inclusion will spur testing of embedded platforms and
    simplify the process of testing within continuous integration systems.

    We currently plan to retain the devel/kyua port to serve FreeBSD
    versions without and to serve as a development version.

    Sponsor: DARPA
    __________________________________________________________________

    Linux compatibility layer update

    Contact: Edward Tomasz Napierala <trasz@FreeBSD.org>

    Work during this quarter focused on source code cleanup and making it
    easier to debug missing functionality. There were, however, some
    user-visible changes: added support for TCP_CORK as required by Nginx,
    added support MAP_32BIT flag, which fixes Mono binaries from Ubuntu
    Bionic, and a fix for DNS resolution with glibc newer than 2.30, which
    affected CentOS 8.

    The Linux Test Project tests that are being run as part of the the
    FreeBSD Continuous Integration infrastructure now include the Open
    POSIX test suite.

    There's still a lot to do:
    * There are pending reviews for patches that add extended attributes
    support, and fexecve(2) syscall, and they require wrapping up and
    committing
    * There are over 400 failing LTP tests. Some of them are false
    positives, some are easy to fix bugs, and some require adding new
    system calls. Any help is welcome.

    Sponsor: The FreeBSD Foundation
    __________________________________________________________________


    [continued in next message]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)