This is a portable library for performing stream I/O. It provides similar
functionality to the ANSI C Standard I/O functions collectively known as
Stdio. However, it is generally faster and more robust than most Stdio
implementations.
This version of the library has been ported to all known UNIX platforms
including various flavors of IRIX, SUNOS, Solaris, Ultrix, Linux, BSDI,
and MVS/OpenEdition. The library handles 64-bit streams on platforms that
support 64-bit files.
A set of regression tests is available in the subdirectory
$(WRKDIR)/src/lib/sfio/Sfio_t. These tests can be exercised by running
the shell script runtest after building the library.
Shell Flags (shFlags) is a library written to greatly simplify the
handling of command-line flags in Bourne based Unix shell scripts (bash,
dash, ksh, sh, zsh) on many Unix OSes (Linux, Solaris, Mac OS X, etc.).
Most shell scripts use getopt for flags processing, but the different
versions of getopt on various OSes make writing portable shell scripts
difficult. shFlags instead provides an API that doesn't change across
shell and OS versions so the script writer can be confident that the
script will work.
shFlags is a port of the google-gflags C++/Python library.
Carve is a C++ library designed to perform boolean operations between two
arbitrary polygonal meshes. The standard union and intersection operations are
supported, as are symmetric and asymmetric difference. It is also possible to
implement custom operations using Carve, allowing results to be formed from any
combination of inputs.
Carve supports a variety of inputs, including both closed and open surfaces,
faces with arbitrary edge counts and datasets with multiple disjoint,
embedded or touching surfaces. Carve can also interpolate arbitrary
values across faces, meaning that CSG operations need not discard colour,
texture coordinates or other data.
GNetwork is a networking wrapper written in pure C against the Glib/GObject
object framework.
The intention here is to provide a useful and easy-to-develop-against sockets
wrapper for GNOME2 & GTK+ 2.0 programs which require TCP/IP connection
capabilities. It can be used by programs which do not use GNOME or GTK+
anyways,however. It is NOT recommended or intended for high-load server
situations, just user applications which need TCP/IP networking. Proxies are
supported completely transparently, using the same settings as gnome-vfs.
-- The libgnetwork README
xmltex implements a non validating parser for documents matching
the W3C XML Namespaces Recommendation. The system may just be used
to parse the file (expanding entity references and normalising
namespace declarations) in which case it records a trace of the
parse on the terminal. Normally however the information from the
parse is used to trigger TeX typesetting code. Declarations (in
TeX syntax) are provided as part of xmltex to associate TeX code
with the start and end of each XML element, attributes, processing
instructions, and with unicode character data.
libGringotts is a small, easy-to-use, thread-safe C library originally
developed for Gringotts; its purpose is to encapsulate data (generic: ASCII,
but also binary data) in an encrypted and compressed structure, to be written
in a file or used elseway. It makes use of strong encryption algorithms, to
ensure the data are as safe as possible, and allow the user to have the
complete control over all the algorithms used in the process.
For encryptions, libGringotts makes use of the MCrypt and MHash libs by Nikos
Mavroyanopoulos.
libsparkcrypto is a formally verified implementation of several widely used
symmetric cryptographic algorithms using the SPARK programming language and
toolset. For the complete library proofs of the absence of run-time errors
like type range violations, division by zero and numerical overflows are
available. Some of its subprograms include proofs of partial correctness.
The distribution contains test cases for all implemented algorithms and a
benchmark to compare its performance with the OpenSSL library. The achieved
speed has been found to be very close to the optimized C and Assembler
implementations of OpenSSL.
KinoSearch is a loose port of the Java search engine library Apache Lucene,
written in Perl and C. The archetypal application is website search, but it
can be put to many different uses.
KinoSearch1 is a fork of KinoSearch version 0.165 intended to provide stability
and backwards compatibility. For the latest features, see the main branch.
Features
* Extremely fast and scalable - can handle millions of documents
* Full support for 12 Indo-European languages.
* Support for boolean operators AND, OR, and AND NOT; parenthetical
groupings, and prepended +plus and -minus
* Algorithmic selection of relevant excerpts and highlighting of search terms
within excerpts
* Highly customizable query and indexing APIs
* Phrase matching
* Stemming
* Stoplists
H2O is a very fast HTTP server written in C. It can also be used as a library.
It supports:
- HTTP/1.0, HTTP/1.1
- [HTTP/2](http://http2.github.io/)
- draft 16 (and draft 14 to support older clients)
- persistent connections
- chunked encoding
- negotiation methods: NPN, ALPN, Upgrade, direct
- dependency and weight-based prioritization
- server push
- TLS
- uses [OpenSSL](https://www.openssl.org/)
- forward secrecy
- AEAD ciphers
- OCSP stapling (automatically enabled)
- session resumption (internal memory)
- conditional GET using last-modified / etag
- mime-type configuration
- reverse proxy
- persistent upstream connection
You don't have to know anything about objected-oriented Perl, LWP, or the
HTTP module to be able to check your links. This module is designed for
the casual user. It has one function, check_link, that returns the HTTP
response code that it receives when it tries to fetch the web address
passed to it. The undef value is returned for any non-HTTP failure and the
$HTTP::SimpleLinkChecker::ERROR variable is set.
The HEAD method is tried first, although if anything other than a good
status code (those less than 400) is received, another request is made
with the GET method. Note, however, that even with the best code, no
module can control how servers decide to respond to a check, or control
any of the myriad things that can go wrong with the network between you
and the remote server. Some may filter requests based on origin IP
address, user-agent type, or any other arbitrary factor. Some servers may
not respond correctly at all. Furthermore, some servers might be
temporarily down or overloaded. I recommend that you recheck "broken"
links a couple times over a long period (like a day or two) before you
decide they are really broken.