GhostBSD Source Tree

repository·stable/15·Indexed 40 days ago

https://github.com/ghostbsd/ghostbsd-src

The foundational code for the GhostBSD operating system, based on the FreeBSD source tree. It includes the kernel, system libraries, userland utilities, and third-party integrations such as a high-performance POSIX bc/dc implementation, the bsddialog TUI utility and libbsddialog library, and libexpat CMake integration.

Tokens
266.7K
Snippets
787
Records
1.4K
Agent score
100%

What's inside GhostBSD

  1. Overview of OpenSSL QUIC support

    stable/15

    OpenSSL provides support for the QUIC secure transport protocol (carried over UDP), which offers advantages like multiple communication streams, fast connection initiation, and connection migration.

    Version Support:

    • OpenSSL 3.2+: Supports making QUIC connections as a client.
    • OpenSSL 3.5+: Adds support for server-side QUIC.

    Key Resources for Developers:

    • Introductory Guides: The [OpenSSL Guide] covers TLS, QUIC, and other functionalities.
    • API Reference: The openssl-quic(7) manual page provides a reference for QUIC functionality and how the API differs from standard TLS.
    • Code Samples:
      • Complete source for guide samples: demos/guide/
      • Demo-Driven Design (DDD) examples: doc/designs/ddd/
      • HTTP/3 client example (using nghttp3): demos/http3/
      • Basic QUIC server implementation: demos/quic/server/
  2. Overview of libfido2

    stable/15

    libfido2 provides library functionality and command-line tools to communicate with FIDO devices over USB or NFC. It also provides capabilities to verify attestation and assertion signatures.

    Supported Protocols:

    • FIDO U2F (CTAP 1)
    • FIDO2 (CTAP 2)

    Core Dependencies:

    • libcbor
    • OpenSSL (1.1 or newer)
    • zlib
    • libudev (Required on Linux)

    Language Bindings:

    • .NET: Fido2Net
    • Go: go-libfido2
    • Perl: p5-FIDO-Raw
    • Rust: libfido2
  3. Overview of libecc capabilities

    stable/15

    libecc is a C99 library for Elliptic Curve Cryptography (ECC) designed for readability, auditability, and portability. It is suitable for embedded targets because it uses no dynamic allocation and has no external dependencies (not even libc).

    Supported Cryptographic Primitives

    Signatures

    • ISO 14888-3:2018 Core: ECDSA, ECKCDSA, ECGDSA, ECRDSA, EC{,O}SDSA, ECFSDSA, SM2.
    • EdDSA: Ed25519 and Ed448 (RFC 8032).
    • BIGN: Standardized in STB 34.101.45-2013 (supports any curve/hash).
    • BIP0340: Bitcoin Schnorr proposal (supports any curve/hash).

    ECDH (Diffie-Hellman)

    • ECC-CDH: NIST SP 800-56A Rev. 3.
    • Montgomery Curves: X25519 and X448 (RFC 7748).

    Batch Verification

    Supported for signature schemes that preserve projective point coordinate information (e.g., ECFSDSA, EdDSA, and BIP0340). Using the Bos-Coster algorithm, batch verification can provide 2x to 6.5x speedups for batches of at least 10 signatures, though it increases memory usage linearly with the number of signatures.

  4. Overview of the OpenSSL Toolkit components

    stable/15

    The OpenSSL toolkit is a commercial-grade toolkit for TLS, DTLS, and QUIC protocols, consisting of three primary components:

    • libssl: Implements TLS protocol versions up to TLSv1.3 ([RFC 8446]), DTLS protocol versions up to DTLSv1.2 ([RFC 6347]), and the QUIC version 1 protocol ([RFC 9000]).
    • libcrypto: A general-purpose cryptographic library that serves as the foundation for the TLS implementation but can be used independently.
    • openssl: A command-line utility used for cryptographic tasks such as:
      • Creating key parameters.
      • Creating X.509 certificates, CSRs, and CRLs.
      • Calculating message digests.
      • Encryption and decryption.
      • Testing SSL/TLS/DTLS clients and servers.
      • Testing QUIC clients.
      • Handling S/MIME signed or encrypted mail.
  5. Overview of dma (DragonFly Mail Agent)

    stable/15

    dma is a lightweight Mail Transport Agent (MTA) intended for home and office environments. It functions by accepting mail from locally installed Mail User Agents (MUA) and delivering it either locally or to remote destinations.

    Key features for remote delivery include:

    • TLS/SSL support
    • SMTP authentication

    Note: dma is not a replacement for heavy-duty MTAs like sendmail(8) or postfix(1). It does not listen on port 25 for incoming connections.

  6. Overview of libsodium capabilities

    stable/15

    libsodium is a portable, cross-compilable software library designed for high-level cryptographic operations. It is a fork of NaCl with a compatible API and provides extended functionality for:

    • Encryption and decryption
    • Digital signatures
    • Password hashing
    • Other core cryptographic operations

    It is designed to be easy to use and provides the building blocks for creating higher-level cryptographic tools.

  7. Overview of openresolv

    stable/15

    openresolv is a resolvconf implementation designed to manage the /etc/resolv.conf file. It acts as a middleman between network configuration services (like DHCP daemons) and the local domain name resolution configuration.

    It solves the problem of multiple network interfaces (e.g., wired, wireless, or VPNs) competing to control /etc/resolv.conf. Instead of simply appending nameservers, openresolv stores, removes, and lists full resolv.conf configurations generated for specific interfaces, allowing for dynamic ordering and zone-based configuration.

  8. Overview of QLogic 8300 series Driver Features

    stable/15

    The if_qlxgbe driver for the QLogic 83xx 10Gigabit Ethernet/CNA supports the following hardware offload and networking features:

    • Large Segment Offload: Supported over both TCP IPv4 and TCP IPv6.
    • Checksum Offload: Supported for TCP and UDP over both IPv4 and IPv6.
    • Receive Side Scaling (RSS)
    • Jumbo Frames
    • VLAN Tagging
  9. Overview of Portable OpenSSH

    stable/15

    Portable OpenSSH is a complete implementation of the SSH protocol (version 2) designed for secure remote login, command execution, and file transfer. It is a port of OpenBSD's OpenSSH to Unix-like operating systems (Linux, OS X, Cygwin) and includes polyfills for OpenBSD APIs, sshd sandboxing, and support for OS-native authentication like PAM.

    Core components include:

    • ssh: The SSH client.
    • sshd: The SSH server.
    • scp and sftp: File transfer utilities.
    • ssh-keygen: Key generation tool.
    • ssh-agent: Run-time key storage.
    • Various supporting programs.