Sergey Poznyakoff Software
These are the projects of which I am the primary author.
To facilitate navigating in this list, projects are categorized by their purpose, authorship, and current state. Each project entry lists the categories it pertains to. Clicking on a category name will bring a listing of all projects in that category.
Additionally, a list of related projects is provided where applicable. Each element in that list is a link to the corresponding project entry.
Clicking on a project's name will bring this project's entry as a separate page (a permalink).
Hovering your mouse over the version information of a project shows the list of changes introduced by that version.
Sort controls below allow you to order the list either lexicographically or by the most recent release date, in both directions.
Using the Search control, you can select projects by name. Shell-style globbing patterns (wildcards) are accepted.
(Return to the project listing)
Apache::Config::Preproc
* Change bugtracker address.
This Perl module reads and parses Apache configuration file, expanding constructs like Include, IncludeOptional, IfModule, IfDefine, Use, etc.
Apache::Defaults
- Change bugtracker address.
This Perl module provides a mechanism for detecting version, default settings, and the preloaded modules of the Apache httpd server. It does so by locating the server binary, invoking it with appropriate options and analyzing the output it produces.
Config::AST
- Change bugtracker address.
This perl module aims to provide a generalized implementation of parse tree for various configuration files. It does not implement parser for any existing configuration file format. Instead, it provides an API that can be used by parser implementors to build internal representation for the particular configuration file format.
Config::HAProxy
- Handle the 'resolvers' section. - New class methods for declaring (and undeclaring) sections. - Fix changing the argv of a Node.
A perl module supplying a parser that converts the HAProxy configuration file to a parse tree and provides methods for various operations on this tree, such as: searching, modifying and saving it to a file. This module is superseded by Config::Proxy, which is fully compatible with it and provides a generalized API for editing configuration files of HAProxy and Pound.
Config::Parser
- Change bugtracker address.
Config::Parser provides a framework for writing configuration file parsers. It is an intermediate layer between the abstract syntax tree (Config::AST) and implementation of a parser for a particular configuration file format. The package provides also Config::Parser::Ini – a configuration file parser for ini-style files.
Config::Parser::ldap
- Change bugtracker address
A Perl module for parsing the ldap.conf configuration file.
Config::Proxy
- original revision
File::BackupCopy
- Change bugtracker address.
Perl extension for creating backup file copies. Three backup naming schemes are supported: simple backup creates backup file name by appending single tilde character to the original file name, numbered backup creates backup name by suffixing the original file name with .~N~, where N is a decimal number. Finally, automatic backup selects numbered scheme if at least one numbered backup file already exists and falls back to the simple backup otherwise.
List::Regexp
* Bugfix: escape single characters not occurring within a class.
Perl module that, given a list of strings, produces a regular expression that matches any of the input strings
Mojo::Log::Syslog
- Change bugtracker address.
Syslog logging for Mojo applications
NetSNMP::Sendmail
* Don't bail out if mailq or mailstats fails.
A perl plugin for NetSNMP that provides access to Sendmail statistics information obtained by mailq and mailstats.
Text::Locus
- Change bugtracker address
A Perl class for representing locations in text files. A location in its simplest form consists of file name and line number. In more complex forms, location represents a text fragment spanning several (perhaps not contiguous) lines, or even files.
acmeman
- Catch fatal errors from the Net::ACME2 module.
- Improve pound configuration parser.
- New options to the pound source: "--comment". "--type",
and "--listener". The "--comment" option instructs the
program to issue certificates for hostnames marked by
a specific pragmatic comment. The "--type" option
instructs it to process hostnames defined within listeners
of a particular type ("http" or "https"). Finally,
"--listener" selects listener by its tag.
A tool for automatic creation and renewal of ACME (LetsEncrypt) SSL certificates. The list of domains to handle can be obtained from acmeman or apache configuration files, or from both. If the default acmeman configuration file doesn’t exist, the program scans apache configuration files for a list of domains.
addts
Initial release.
UNIX filter for marking each line of input with the timestamp (useful with Apache ForensicLog).
aspell-gcide
* New options gcide-include-tags and gcide-exclude-tags These options control which tags will be eligible for spell-checking.
A filter for spell-checking GCIDE dictionary files with GNU Aspell.
beam
* Fix threshold calculation in the cleaner module. * Refuse to start if another copy is already running.
A suite of backup programs written in a reasonably portable shell language with the purpose of making backup process as easy as possible. The name is an acronym for “Backup Easy And Manageable”.
certmon
Initial release.
A tool for monitoring the expiration times of remote SSL certificates via HTTPS. Can be used either as a Nagios plugin or as a standalone tool.
cflow
* Configuration system rewritten Cflow is shipped with a set of "profiles", providing defaults for different standards of the C language. For example, to enable support for gcc extensions it suffices to load the "gcc" profile: cflow --profile=gcc Users can define their own profiles and place them in a well-known disk location for further use with the --profile option. Site-wide or user-specific settings can be stored in the default profile, which is always loaded. Two options are provided for managing profiles: --prepend-path modifies the profile search path and -q disables the use of the default profile. The configuration system used in previous versions (via the CFLOW_OPTIONS and CFLOWRC environment variables) is considered deprecated, but is still supported for backward compatibility. * Emacs cflow-mode improved * Bugfixes
This tool analyzes a collection of C source files and prints a graph charting control flow within the program.
cfpeek
* New command line option --done (-d) This option is a counterpart of --init and supplies a cleanup expression, i.e. an expression that will be evaluated when the main loop has iterated over all nodes in the tree. * New parser: DHCPD A parser for dhcpd.conf file. * Drop support for Guile versions prior to 2.2.0
Parses a structured configuration file and retrieves values specified by keyword pathnames or globbing patterns.
ddnsd
* Initial release
Dynamic DNS update daemon. Implements a simple API for updating DNS records via HTTP. It listens for HTTP requests of the following form:
GET /nic/update?hostname=HOST[&myip=IP]
properly signed using basic HTTP authorization, and uses DNS UPDATE
(RFC 2136) protocol to modify the A (or AAAA, for IPv6) record
for HOST to point to the given IP.
If the myip parameter is missing, the originator IP will be used
instead. The latter can optionally be determined using the
X-Forwarded-For HTTP header.
dico
* The gcide module ** idxgcide skips duplicated headwords ** Fixed some gcide entities, introduced missing ones ** Fixed Ancient Greek transliteration ** New option: "watch" When supplied, the module will watch for modifications in the dictionary corpus files and rebuild the index file when necessary. ** HTML output HTML output is enabled by the "html" module option. It is produced only after "OPTION MIME" command command. * Input conversions The argument to DEFINE or MATCH command can optionally be modified before being used in actual search. This allows, for example, to input search terms in transliteration instead of in the actual script. Conversions are implemented by loadable modules and are associated with individual databases. This version is shipped with the new module "greek_kbd", which implements Greek transliteration. * Dicoweb ** Switch to Python 3.11+ with type hints ** Upgrade Django to version 4.2 ** Improve desktop and mobile views using HTML5 ** Implement a dark mode ** Use Poetry and pyproject.toml ** Integrate Pylint and Mypy for development ** Implement various fixes and improvements * pcre module now requires libpcre2 Support for obsolescent libpcre has been withdrawn. * Bugfixes ** GCIDE indexer ** Fix premature freeing of search argument in Python iterators https://puszcza.gnu.org.ua/bugs/?595
GNU Dico provides a flexible modular implementation of dictionary server, a number of modules for it, and a console based dictionary lookup utility. A Web interface is also available.
direvent
* Simultaneous execution limits It is possible to limit number of command instances that are allowed to run simultaneosly for a particular watcher. This is done using the 'max-instances' statement in 'watcher' section. * Restore the nowait default Unless given the 'nowait' option explicitly, watchers waited for the handler to terminate. It is now fixed and 'nowait' is the default, as described in the documentation. * Fix bug in generic to system event translation * Fix sentinel code In some cases setting the sentinel effectively removed the original watcher. That happened if the full file name of the original watcher and its directory part produced the same hash.
GNU Direvent monitors a set of directories on the file system and reacts when their content changes. When a change is detected, the program invokes an external command configured for that kind of change.
eclat
* Fix compilation with gcc 12.2.0
Eclat stands for EC2 Command Line Administrator Tool. It allows you to manage Amazon EC2 services from the command line, fast and easy. Eclat does not require any resource-consuming libraries. It is written in plain C, depends only on libraries which are always installed on any decent system, and has a tiny memory footprint.
fileserv
* Minor fixes.
Simple HTTP server for static files.
gamma
GAMMA stands for a Guile Archive of Multiple Modules with an A just for the ‘A’ of it. It contains a set of useful Guile modules. In particular, it is used by runasimi.org and ellinika.gnu.org.ua.
genlist
This module provides support for general-purpose doubly-linked lists for C: creation, modification, iteration, and sorting.
genrc
* Changes in genrc restart command If "restart" is requested and genrc detects that the command it controls is not running, it will warn about the fact and start the command anyway. This matches the commonly accepted behavior of startup scripts.
Generic helper program for writing system initialization scripts. Depending on the operation mode, it starts, stops, reconfigures or displays the status of a specific program. Primary audience is Slackware system administrators. However, the tool is generic enough to be used on any other Linux (and not only) distribution. In the contrast to another similar programs (e.g. start-stop-daemon), it is designed so that the entire rc file can consist of only one line, invoking (or exec’ing) genrc with the right set of arguments.
gint
GINT provides a framework for easy integration of Guile into arbitrary software projects. It includes Autoconf macros for detecting the presence of Guile on the system, detecting its version number and location of its components, a set of Makefile and Automake rules for snarfing C sources, i.e. generating auxiliary files (.x files, containing symbol information for Guile interpreter, and .doc files, containing information about Guile primitives, their arguments and docstrings), and a C lexer program for extracting docstrings from a C file.
glacier
* Use explicit DESTROY with AUTOLOADs
Command line tool for managing AWS Glacier
grayupload
* New version_semantics value: git-describe Designed for use with version numbers produced by "git describe" command. Presense of the "offset" part indicates an alpha release, its absense indicates a stable one: 0.9-14-gc4f98f0 alpha 1.0.2 stable * New configuration stagement: version_extract Defines a sed expression to use for extracting version number from the name of an archive.
Grayupload uploads software tarballs to ftp.gnu.org, alpha.gnu.org, download.gnu.org.ua, or any other site that uses the automatic ftp upload protocol. Its main audience are GNU developers and developers hosting their software on gnu.org.ua.
grecs
Grecs is a library for parsing structured configuration files from C programs. A structured configuration file has hierarchical structure, with block statements enclosing lower-level statements. Such configurations files are used by many programs, such as, e.g. Bind or Dico.
grot
Initial release.
Grot rotates MySQL binary log files on replication master server. It works by first determining what slaves are connected to the server. Then it connects to each slave and determines what master log file it currently uses. Finally, it removes those logs on master that are older than the oldest of logs used by slaves.
gsc
This project is decommissioned. It’s repository is retained as a historic reference only.
gws
A complete implementation of WebSocket protocol, designed to be used as a git submodule.
haproxy-bulkredirect
Lua library for handling big amounts of redirect rules in HAProxy.
hostproc
Fix deadlock.
Hostproc provides detailed information about processes running on a host over SNMP. The information is grouped in a way similar to the ps(1) output. Additional aggregating features allow the administrator to provide summary statistics for processes matching some criteria and to exclude such processes from the detailed output. The latter feature can be used, in particular, to separate statistics for processes running on the host from those that are run within docker containers. The program is built as a sub-agent for Net-SNMP snmpd and is Linux-specific.
idest
* Convert textual frames to/from the currently used character set The character set is deduced from the locale settings. It can also be set explicitly using the --charset option. * New option --broken-8bit-encoding Use this option for files where textual frames are stored as ISO-8859-1, but are actually using another 8-bit encoding. The argument to this option is the name of the enchoding actually used. In query mode, this option helps display such frames properly. Use it with the --fixup option to fix such frames in the file. * New option --encoding Specifies encoding to store textual frames in ID3 tags. * New option --fixup Modifies the ID3 v2 tag so that it can be understood by most devices. * The --convert option can be used to remove unnecessary ID3 formats. For example, if the file input.mp3 contains both version 1 and 2 tags, the following will remove version 1 tags: idest --convert=2 input.mp3 * Fix processing of unknown frames. * Fix operation of setpic and pic modules with Guile 2.x. * Improve documentation
Idest is an ID3 Edit and Scripting Tool, a command line utility for manipulating ID3 tags. The utility allows to create new tags, to view, modify or delete the existing ones. It also provides a flexible scripting capability.
imapbin
Initial release.
Composes a MIME email message containing the supplied files as attachments and uploads it to an IMAP mailbox given by its URL. Attachment MIME types are determined using the file command’s magic pattern file. Email headers can be configured using command line options.
imprimatur
Imprimatur provides Texinfo macros for various editing tasks such as adding editor notes and annotations, as well as Makeinfo rules for verifying Texinfo document structure, format, and (to a certain extent) content coverage.
ion
Initial release.
Ion runs the supplied program with its three standard streams connected to a tty, which means that the program’s stdin, stdout, and stderr become line-buffered.
joh
* Use IPv6 URLs as proposed by RFC 2732 The address part of an IPv6 URL must be either an IPv6 address in numeric notation *enclosed in square brackets* or a host name, e.g.: inet6://[::1]:1100
A Jabber Over HTTP tunnel. It enables access to Jabber servers from behind firewalls which do not allow outgoing sockets on port 5222.
jumper
* Implement heartbeat event * Add auxiliary program: ifactive * Fix file descriptor leak
Jumper monitors network interfaces for certain kinds of traffic and starts preconfigured external programs when such traffic is detected. It is designed mainly to bring up network links (such as VPN and the like) on demand.
kbdlock
* The program is installed in /usr/bin Prior versions went to /usr/sbin, you will need to remove them manually. * Print /etc/issue before the prompt * Sleep after incorrect password is input * New options: -i (--issue), -s (--sleep), -c (--clear) * Add a manpage * Improve error checking and reporting
A simple console locker program for GNU/Linux systems.
lua-idna
Lua library that provides support for punicode (RFC 3492) and IDNA (RFC 3490).
m4kwargs
Macro package that implements keyword arguments for m4 macros. A keyword argument consists of keyword name and value, separated with a single equals sign. Example of a macro call with single positional and two keyword arguments:
INCR(10, delta=4, sign=neg)
mailfromd
* Arguments to prog action Action hook is passed source location where the action was called. Thus, its arguments are: 1. Identifier of the action. 2. SMTP code of the reply. 3. Extended reply code. 4. Textual message passed to the action. 5. File name of the source location where the action was called. 6. Line number of source location where the action was called. * New debugging functions string stack_trace_format(string fmt) string stack_trace_top(string fmt) These functions format the stack trace at the current point according to the format string fmt. stack_trace_format applies fmt to each frame, and returns the concatenated string. stack_trace_top applies fmt to the top-level frame. * Fix the clamav function The function used a deprecated interface that was removed in clamav version 0.104. * Callout: return the "less critical" answer if no MX gives a definite one. For example, assume three MXs queried during a callout session returned three different results: mf_timeout, mf_temp_failure, and mf_failure. Then, the result of callout_mx will be mf_temp_failure. * Bugfixes ** Accept DNS replies containing forbidden characters ** $i macro is available for use in all handlers This fixes a bug introduced in version 9.0.
Mailfromd is a general-purpose mail filtering daemon for Sendmail, Postfix and MeTA1. It is able to filter both incoming and outgoing messages using criteria of arbitrary complexity, supplied by the administrator in the form of a script file. The daemon interfaces with the MTA using Milter or PMilter protocols.
mangemanche
A modular remote management system for Ping903. Allows the user to inspect configuration of the running server, add or remove IP addresses, synchronize the monitored IP list with the Nagios configuration or an SQL database etc.
mansrv
Formats and returns the requested manpage as HTML. This CGI is specifically designed to help display on-line the documentation in manpage formats for multiple software projects without the need to install these manpages somewhere in the system MANPATH. This is necessary for software forge sites that host a number of projects, such as Puszcza.
mbar
* Revamp template system using variables (RFC 5229). * Pattern is applied to mailboxes only. * Multiple patterns are allowed. * Exclusion patterns. New option --exclude (-x) declares an exclusion pattern. Mailboxes matching any exclusion pattern will be ignored. * Configurable pattern type. The --pattern-type option can be used to declare the kind of matching used in --pattern and/or --exclude options. Possible values are: glob Globbing pattern. This is the default. imap IMAP pattern. regex POSIX extended regular expression. * Various improvements.
A flexible mailbox archiver program based on GNU mailutils.
mbar scans the given mailbox folder for mailboxes matching a supplied pattern. For each mailbox found, a set of criteria is applied to its messages. All messages that matched the criteria are then picked and moved to the mailbox of the same name, located in the backup folder. If the destination mailbox doesn’t exist, it is created with the necessary intermediate directories.
micron
* Micron is a part of GNU project * Take into account DST changes when computing job startup time * Minor fix in crontab parser
An enhanced implementation of UNIX cron daemon.
mmpri
Message modification module for rsyslog that allows you to change the facility (and, optionally, severity) of messages.
mockmta
* Listen on indicated IP address/port. * Use tcp-wrappers.
A simplistic implementation of the SMTP mail transport agent, designed for testing purposes. It behaves almost identically to any real MTA, except that it listens on localhost only and delivers all messages to the given UNIX mailbox file.
mysqlstat
* Minor fixes in mysqlstat-setup * Provide default values for NULL columns
NetSNMP module that provides access to process list statistics and replication status of the mysqld server.
nssync
First actual release.
The nssync utility converts DNS records kept in SQL tables of arbitrary format to BIND zone files.
pam-modules
* pam_fshadow: skip-password option Based on the proposal of Mirsad Goran Todorovac, the new option skip-password instructs pam_fshadow to check whether the user being authenticated is present in the passwd and/or shadow files, without verifying his password. This way pam_fshadow can be used as an auxiliary module in the stack, actual authentication being performed by one of the modules before it.
A collection of useful PAM modules plus a command line utility for checking PAM authentication and other management groups.
parseopt
A library for parsing command line options. Supports all styles of options: short, GNU-style long (double-dash) options, and single-dash ones (find-style). Intended to be used as a git submodule.
pies
* return-code statement accepts negations
Negated status codes or signal numbers can appear in the argument
list to the "return-code" command. The syntax is:
!0 any status code except 0
!EX_OK same as above
!SIGQUIT any signal except SIGQUIT
!SIG+10 any signal except 10
For example, the following statement:
return-code (!0, !SIGHUP, !SIGQUIT) {
notify root;
}
will notify root user if the program exits with any status, except 0
or gets terminated with any signal, except SIGHUP and SIGQUIT.
* New flag: deansify
To be used together with "stderr" or "stdout" statements. This flag
instructs pies to remove ANSI escape sequences from program output
before redirecting it to syslog or a file.
* Syslog subsystem
** Syslog socket is opened on demand.
** New syslog statement: message-queue-size
The statement configures the capacity of the internal log message
queue. Defaults to 64.
** New syslog statement: fallback-ignore-failures
This boolean statement controls how the program handles I/O errors
occurring when writing to the log fallback file. By default, such
errors cause abnormal program termination. This is based on the
fact that log fallback is the last resort when attempting to inform
the user about some condition. If logging is not that critical,
set this value to true. This instructs pies to disable log fallback
file when such an error occurs.
* Fix possible double close of redirector descriptors
GNU pies (pronounced p-yes) is a program invocation and execution supervisor. This utility allows to execute usual foreground-mode applications in detached mode, as if they were daemons. It combines the fucntionality of init and inetd programs. It can be used to control complex multi-component software.
ping903
* Fix handing of the Connection: HTTP handler (both server and client)
Ping903 is designed to periodically monitor a very large number of remote hosts using ICMP ECHO packets. The package is built using the client-server architecture. The main component (ping903) is a daemon that sits in memory and wakes up periodically to send certain number of ICMP echo packets to a preconfigured number of hosts and to collect replies. The resulting round-trip statistics is made available via REST API.
podiff
* Fix https://puszcza.gnu.org.ua/bugs/?562
This tool finds differences in translatable strings and translations between two PO files or between two revisions of the same file. It ignores any differences in comments, entry ordering and spacing.
purgedir
* Rate limiting.
Recursively removes contents of a given directory. Designed for fast removal of a very large number of files. A range of allowable load average (LA) can be given, in which case the program will pause when LA reaches the maximum allowed value and resume operation when it falls below the given minimum.
radius
* Support for Guile 3.x. * Improve testsuite. * Improve docs. * Various bugfixes.
GNU Radius is an extensible and scalable authentication and accounting server.
releaselogparser
Convert byte-like objects to UTF-8 strings.
Software packages usually include textual files describing noteworthy changes in each subsequent release. There exist several formats of such files. This package provides Python framework for parsing the most often used formats of such release log files. Support for any new format can be easily added.
rex
* Hostgroup stack
Rex now maintains a stack of hostgroups. Once you push a hostgroup
name on stack, that hostgroup will be used by any subsequent rex
command, unless it is given the -g option. The new command "group"
(see below) provides ways to pop items off the stack, swap arbitrary
element with the top of stack, select new hostgroups on the fly, etc.
* New command: rex group
The "rex group" command has the following forms:
rex group push GROUP
Push GROUP on stack.
rex group pop
Pop the topmost group off the stack.
rex group swap N
Exchange top of the stack with the Nth element (0-based).
rex group drop N
Remove Nth element from the stack.
rex group select COMMAND ARGS...
Create on top of the stack a temporary group that contains
those hosts from the current hostgroup where the supplied
shell command returns success, i.e. exits with code 0.
rex group show
List the contents of the hostgroup stack.
* Add configuration function for overriding PTR records from rc files
Rex is a remote execution utility that runs a supplied command on a set of remote hosts. Arbitrary data can be supplied to the command in the form of local files, which will be transferred to each remote host prior to running the command and removed afterwards. Both parallel and sequential execution is supported.
Special mode exists to distribute a file or files to several hosts.
Rex is written in TCL and has extensive scripting facilities. It provides a convenient way to administrate multiple servers.
The program is designed to operate in a minimalistic environment. It is self-contained and does not need any external libraries.
rpipe
* Syslog support New option '-S FACILITY' switches diagnostic output to the given syslog facility.
A simple tool for forwarding content of a local file to the stdin of a program running on a remote host via TCP. The tool was created when I needed to run GNU Mailman in a docker container without MTA in it. It implements a slightly modified version of TCPMUX protocol. The same binary (rpipe) serves both as a server (on the remote end) and as a client (on the local end).
rsyslog-omcwl
Initial release.
Rsyslog module for sending logs to Amazon CloudWatch.
runasimi
A web page offering various resources for learning Quechua, a language spoken in the Andes.
runcap
A C module providing an API for running external command and capturing its output.
The function runcap runs an external command and waits for its termination, capturing its stdout and/or stderr and optionally piping the supplied data to its stdin.
rush
* Use getgrouplist call, if available * Fix in rush-po script * Bugfixes
GNU Rush is a Restricted User Shell. It is intended for use with ssh, rsh and similar remote access programs. Using a sophisticated configuration file, Rush gives you complete control over the command lines users can execute, system resources they can use, etc. In particular, it allows to run remote programs in a chrooted environment.
sargon
A Docker authorization plugin that controls container creation. It enables the administrator to excercise control over the containers that users are allowed to create and decide whether to permit creation of privileged containers, what parts of the host file system can be visible to containers via bind or volume mechanism, what memory limits to apply, etc.
slackdesc
Formats a slack-desc file for Slackware package.
slackupgrade
* Support for Slackware 15.0
Upgrades the Slackware installation to a new release. Two upgrade types are supported. In normal upgrade only packages already installed on the system are upgraded. In full upgrade, all packages from the new release are installed. A combination of the two can be achieved by supplying a list of additional Slackware series when running the normal upgrade.
slb
* Support SNMPv3
* Default SNMP version is 2c
* Use newer Grecs
* Drop unneeded dependencies
* Variable assignments in expressions
* Detection of SNMP counter overflows
* Comma operator
* Support for indexed MIBs
This feature allows you to use symbolic names instead of the fixed MIBs
for MIBs that are part of SNMP subtrees. For example, to get number of
packets sent over eth0 into variable "out", you would do the following:
table iftable IF-MIB::ifDescr;
variable out "IF-MIB::ifOutUcastPkts.$iftable[eth1]";
The first statement converts the subtree into a "table" named "iftable".
The second statement references an entry in this table that has
the value "eth1". For example, if the SNMP tree has the following MIB
IF-MIB::ifDescr.10: eth0
then the expression "$iftable[eth]" yields "10"
* Assertion syntax changed.
The assertion statement takes a single argument, which must be a
string consisting of the following three parts:
<oid: string> [!]<opcode>[/i] <value: string>
The <opcode> part can be either an arithmetical operator (=, <, <=, >,
>=), or any of the following string operators:
eq string equality
ne string inequality
prefix oid value must begin with <value>
suffix oid value must end with <value>
glob <value> is a glob(7) pattern that oid value must match
Each of these can be suffixed with "/i" to request case-insensitive comparison.
A "!" in front of opcode reverts its meaning.
The <value> part must not include the type prefix.
A simple load balancer. The utility monitors a set of remote servers, obtaining a set of numeric values via SNMP. These values are used to compute a single floating-point number, called a relative load for that server. The servers are then sorted in order of increasing loads and the resulting table is output (using a configurable format string) to a file or pipe.
slogin
A replacement for /bin/login, intended to be used in system start-up script wherever the root maintenance is needed. It does not update utmp/wtmp and hence is safe to be called when the partition containig these files is not mounted.
slowo
Słowo (the Polish for a word) is a lexical and grammatical analyzer for Polish language.
smap
* Support for Guile 2.2 * Bugfixes * Improved testsuite
An extendable socket map server with a set of modules and framework for writing new socket maps and testing them.
swu
Initial release.
Displays the amount of swap space used by each running program. The utility is Linux-specific.
syslogrelay
* Fix check for hostname presence in the message
This program provides system log forwarding facility for confined environments, such as docker containers. It listens for incoming system log messages on the UNIX socket file /dev/log and forwards them to the specified remote server.
Relayed messages are normalized to make sure they comply with the RFC 3164. In particular, hostname is added if necessary. This is important in docker environments, since otherwise the collector would insert the IP address of the container or gateway in place of the missing hostname, and neither IP is informative enough to identify the container where the message originated.
tallyman
* Per-service ttl * tallyman: support for cgroups v2
Monitors state of running docker containers via SNMP. The package provides two utilities:
tallymanA health state collector to be run inside the container.
stevedoreA container state collector and SNMP agent daemon.
Each container is supposed to run the tallyman command as part of its HEALTHCHECK configuration. This tool takes as its argument the command line that does the actual checking, collects its return and sends it over to the stevedore daemon that acts as a collector and simultaneously as a SNMP subagent, delivering the collected information to the snmpd daemon.
tpnotify
- Fix operation without -d option
Notifies the Translation Project about new POT files
varnish-mib
Rewrite as a stand-alone snmpd agent.
Dynamically loadable object module for net-snmp snmpd that provides access to Varnish Cache statistics.
vcsync
* CVS mode: always remove CVS/Entries.Static
When synchronizing from a CVS checkout, vcsync takes care to always
remove CVS/Entries.Static before proceeding. CVS creates this file
when a check out of an individual file is requested. Once in place,
the file forbids cvs to update any files whose names don't appear
in this file or in CVS/Entries. It has been a reason of recurring
problems until now.
* Gracious handling of foreign destination directories
A destination directory is "foreign" if it is not a checkout (clone) of
the VCS that invoked a hook trying to update it. By default, encountering
such directory aborts the update with the corresponding error message.
This behavior can be changed by setting the foreign-dir-mode configuration
statement to one of the following values:
archive
Archive the offending directory, remove it and then proceed
with the checkout. The command to create archive is set by
the configuration statement "archive-command".
archive-clear
Same as above, but don't remove the directory itself. This
mode isn't applicable to CVS.
clear
Remove everything from the target directory, but don't touch
the directory itself. Then proceed with the checkout. This
mode isn't applicable to CVS.
error
Bail out; this is the default.
remove
Remove the offending directory and check it out from the VCS.
rename
Rename the offending directory and proceed with the checkout.
Vcsync synchronizes files on the file system with the corresponding repository after each commit. It is normally configured as a hook, using the mechanism provided by the version control system of choice (loginfo in CVS, post-commit in SVN, or post-receive in GIT).
vmod-basicauth
* Support for Vinyl Cache 9.0.0
This Vinyl Cache module implements basic HTTP authentication against password files created with the Apache htpasswd utility.
vmod-binlog
* Support for Vinyl Cache 9.0.0
This module provides API for writing binary log files from Vinyl Cache VCL scripts and the utilities for listing and searching in such files.
vmod-dbrw
* Support for Vinyl Cache 9.0.0
Vinyl Cache module implementing database-driven rewrite rules. Intended for use with web sites that need an exceedingly big number of redirect and/or rewrite rules, Vmod-dbrw allows the administrator to keep all rules in an SQL database of arbitrary structure, thereby considerably speeding up their handling. Another advantage of this approach is that rewrite rules stored in a database are easier to maintain.
vmod-dict
* Support for Vinyl Cache 9.0.0
This module for Vinyl Cache adds to it the ability to look up values in a textual dictionary. A dictionary is a disk file containing on each line a keyword-value pair, separated by arbitrary amount of whitespace. Leading and trailing whitespace is ignored. Empty lines and comments (beginning with ‘#’ as the first non-whitespace character) are allowed. Two functions are provided: dict.load loads the dictionary from a disk file into hash table, and dict.lookup retrieves value for a given key.
vmod-geoip
* Support for Vinyl Cache 9.0.0.
A module for Vinyl Cache that provides API for using geolocation functions in VCL scripts.
vmod-remoteip
* Support for Vinyl Cache 9.0.0.
This module is for Vinyl Cache what mod_remoteip is for Apache. It determines the actual client IP address for the connection, using the useragent IP address list presented by a proxy or load balancer via the request headers and a preconfigred list of trusted IP addresses.
vmod-sql
* Support for Vinyl Cache 9.0.0.
This module provides SQL interface for Vinyl Cache. Both MySQL and PostgreSQL are supported.
vmod-tbf
* Support for Varnish 8.0.0.
This module implements token bucket filtering for Vinyl Cache.
vmod-variable
* Support for Vinyl Cache 9.0.0.
Extended variable support for VCL
webtools
A collection of various web-related programs, mostly proof-of-concept ones.
wikitrans
Drop python 2 support
Provides Python framework for translating WikiMedia articles to various formats. The present version supports conversions to plain text, HTML, and Texinfo. A command line translator utility is included.
wit
A wiki translator, a package that supplies Python classes for translating Wiki Markup into another kind of markup, such as, e.g. plain text and HTML. It has been superseded by wikitrans.
wordsplit
This package provides a set of C functions for parsing input strings. Default parsing rules are are similar to those used in Bourne shell. This includes tilde expansion, variable expansion, quote removal, word splitting, command substitution, and path expansion. Parsing is controlled by a number of settings which allow the caller to alter processing at each of these phases or even to disable any of them. Thus, wordsplit can be used for parsing inputs in different formats, from simple character-delimited entries, as in /etc/passwd, and up to complex shell statements.
wydawca
Fix handling of archivation requests.
An automatic release submission daemon. It implements the GNU automatic upload procedure, and supports upload directive files of version 1.2.
wyslij-po
* Fix parsing of po header fields * Use the Language header instead of Language-Team. Support for Language-Team and language tables is retained for backward compatibility. * Organizational change: repository moved to git The repository along with links for cloning can be viewed online at http://git.gnu.org.ua/cgit/wyslij-po.git. See https://puszcza.gnu.org.ua/git/?group=wyslij-po for instructions.
Wyslij-po runs basic checking on PO files given in the command line and submits them to the Translation Project robot.
xenv
* New conditionals: $$ifeq, $$ifneq
Xenv is a text preprocessor. It reads input from files (or the standard input, if none are supplied) and prints it on the standard output, replacing references to environment variables with their actual values. Variables are referenced using POSIX-compatible shell syntax: $NAME, ${NAME}, ${NAME:-word}, ${NAME+=word}, ${NAME:=word}, ${NAME:?word}. A special ternary construct is provided: ${NAME:|word1|word2}, which substitutes the expansion of word1 if NAME is set and the expansion of word2 otherwise. Preprocessor directives provide support for inclusion of external files, conditional text expansion (depending on the value of an environment variable or exit code of an external command), diversions, for and foreach loops etc.
xmltools
A set of Guile primitives for parsing and processing XML files.