Official GNU Software
Software that forms part of the GNU project.
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)
anubis
** New operation mode: proxy ** Command line option precedence Command line options take precedence over configuration file statements. ** elif statement A familiar `elif' statement is supported, e.g.: if condition-1 action-list-1 elif condition-2 action-list-2 elif condition-3 action-list-3 else action-list-4 fi ** New CONTROL statement esmtp-auth-delayed. When set to `yes', this statement instructs Anubis to postpone ESMTP authentication until MAIL command is issued by the client. This allows to change authentication credentials in the SMTP section (see below). ** SMTP section The new section "SMTP" is invoked each time an SMTP command is received. This section may alter the command's argument, using the "modify command", e.g.: BEGIN SMTP regex :extended modify command [ehlo] "foo.bar.net" if command ["mail from:"] "<(.*)>(.*)" modify command ["mail from:"] "<root@bar.net>\2" fi END It is also allowed to use esmtp-* keywords in this section, provided that `esmtp-auth-delayed yes' is set in the CONTROL section. Changes in the ESMTP authentication credentials take effect if they occur either before receiving MAIL command from the client, or when handling this command, e.g.: BEGIN SMTP if command ["mail from:"] "<smith(\+.*)?@@example.net>" esmtp-auth-id smith esmtp-password guessme else esmtp-auth no fi END ** New keywords: log-facility and log-tag ** Guile output By default Scheme's standard error and output ports are redirected to syslog, using priorities `err' and `warning' correspondingly. ** MySQL options file When using MySQL for Anubis user database, the database parameters and access credentials are read from the file /etc/my.cnf, section "anubis". Additionally, two URL parameters are provided: "options-file", which sets the name of the options file, and "options-group", which sets the name of the group.
An SMTP message submission daemon. It represents an intermediate layer between mail user agent (MUA) and mail transport agent (MTA), receiving messages from the MUA, applying to them a set of predefined changes and finally inserting modified messages into an MTA routing network. The set of changes applied to a message is configurable on a system-wide and per-user basis.
cflow
* Multiple start functions are allowed The '--main' option can be given multiple times. A separate graph will be drawn for each function given as its argument. * New option --target=FUNCTION If this option is given, the produced graph will contain only paths leading from start function (or functions) to the given FUNCTION. Multiple '--target' options are allowed. * New output format: dot The '-f dot' (or '--format=dot') option instructs cflow to output graph as a description in DOT language, suitable as input to graphviz programs. * cflow-mode: new commands for navigating in the graph: c go to the calling function n go to the next function at the same nesting level p go to the previous function at the same nesting level * Bugfixes: ** CVE-2019-16165 ** CVE-2019-16166 ** Fix parsing of K&R style function declarations ** Improve parsing of typecasts ** Fix recursive call detection
This tool analyzes a collection of C source files and prints a graph charting control flow within the program.
cpio
* New option --ignore-dirnlink Valid in copy-out mode, it instructs cpio to ignore the actual number of links reported for each directory member and always store 2 instead. * Changes in --reproducible option The --reproducible option implies --ignore-dirlink. In other words, it is equivalent to --ignore-devno --ignore-dirnlink --renumber-inodes. * Use GNU ls algorithm for deciding timestamp format in -tv mode * Bugfixes ** Fix cpio header verification. ** Fix handling of device numbers on copy out. ** Fix calculation of CRC in copy-out mode. ** Rewrite the fix for CVE-2015-1197. ** Fix combination of --create --append --directory. ** Fix appending to archives bigger than 2G.
GNU cpio copies files into or out of a cpio or tar archive. The archive can be another file on the disk, a magnetic tape, or a pipe. GNU cpio supports a wide variety of archive formats.
dico
* Bugfixes in the gcide module * Fix searches in the gcider utility * Support for Python 2 has been withdrawn
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
* Introduce compound events The "change" event is implemented on GNU/Linux and FreeBSD. This event is delivered when a file was modified and closed. * New configuration statement for manipulating the environment. The "environ" statement is now a compound statement. It can contain five kinds of substatements: "clear" to clear the environment, "keep" to retain certain variables while clearing the environment, "set" to set a variable, "unset" to unset a variable or variables, and "eval" to evaluate a variable reference for side effects. Both "keep" and "unset" can take globbing pattern as their argument, in which case they affect all variables matching that pattern. The value part in the "set" statement is subject to variable expansion. The "environ" block can appear in global context as well. In this case it applies to all watchers. The support for the old one-line "environ" syntax is retained for backward compatibility. * Variable expansion in arguments to some configuration statements. Both macro and environment variables are expanded in arguments to all substatements of the new "environ" block statement and in the argument to the "command" statement. In the latter case, expansion of the environment variables is controlled by the "shell" option. If the option is set, the variable will be expanded by the shell. Otherwise, they are expanded by direvent prior to invoking the command. * Rewrite the recursive watching support In particular, this fixes the bug where recursive watchers silently assumed that the "create" generic event was configured for the watcher. * Change interface for bulk closing of file descriptors To speed up launching of the user commands, system-dependent interfaces for closing the file descriptors above the given one are used, if available.
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.
gcide
GNU Collaborative International Dictionary of English, a free dictionary based on Webster’s Revised Unabridged Dictionary Version (published 1913) with additions from WordNet, proof-read and supplemented by volunteers from around the world.
gdbm
* Bucket cache switched from balanced tree to hash table Change suggested by Terence Kelly. * Speed up flushing the changed buckets on disk * New option codes for gdbm_setopt ** GDBM_GETDBFORMAT Return the database format. ** GDBM_GETDIRDEPTH Return the directory depth, i.e. the number of initial (most significant) bits in hash value that are interpreted as index to the directory. ** GDBM_GETBUCKETSIZE Return maximum number of keys per bucket. ** GDBM_GETCACHEAUTO Return the status of the automatic cache adjustment. ** GDBM_SETCACHEAUTO Enable or disable automatic cache adjustment.
GNU dbm is a library of database functions that use extendible hashing and works similar to the standard UNIX dbm functions. These routines are provided to a programmer needing to create and manipulate a hashed database.
gnulib
Gnulib is a central location for common GNU code, which is shared among many GNU (and non-GNU) packages.
inetutils
* ftp An old inability to allow other names than the canonical name has been corrected. This means that a machine entry in the .netrc file will now be used as expected. Previously any alias name was replaced by the corresponding canonical name, before reading the .netrc file. The internal command `hash' accepts a suffixed letter to the size argument, like `12k', instead of 12288. Made a minor change to the syntax of the command itself, allowing size changes independently of activation of hash markings. After a transfer the summary gives the speed as `Mbytes/s', `kbytes/s', or `bytes/s'. The .netrc file can be overridden by the environment variable NETRC. Of even higher precedence is the new option `-N/--netrc'. The access to the resulting file, whatever method, is now denied unless it is a regular file. * ifconfig Better command line parsing on BSD and Solaris systems. Touch only changeable flags on all systems. * logger The ability to use numerical facilities is restored to full range. * ping, ping6 The ability to specify a pattern as payload is corrected. * syslogd A new switch `-T/--local-time' makes the service ignore a time stamp passed on by the remote host, recording instead the local time at the moment the message was received. As a short form of `--pidfile', the switch `-P' is new. In common with other syslogd implementations, rsyslogd and sysklogd, there has for a long time existed an attack vector based on large facility numbers, made public in CVE-2014-3684. This is now mended in our code base. * telnetd The ability to autologin a client, without using authentication, is now functional in the expected manner, i.e., the prompt for a user name is suppressed in favour of an immediate password prompt. In a setting where the client is using a UTF-8 encoding, it was common to observe strange characters in most responses. This was caused by the server daemon, due to incomplete purging of internal protocol data. The issue should now be resolved. * whois Improved cooperation with servers like `whois.arin.net', `whois.eu', and `whois.ripe.net'.
Inetutils, or GNU Internet Utilities, are the basic internet utilities of the GNU Operating System.
mailutils
* Support for Berkeley DB version 2 withdrawn * Bugfixes ** rdcache streams: fix stream size computation ** tlsfdstr streams: fix error handling ** wordwrap streams: fix handling of overflowing lines
GNU Mailutils is a swiss army knife of electronic mail handling. It contains a rich set of mail-related utilities and daemons, including pop3d
, imap4d
, sieve
and several domain-specific mail delivery agents.
micron
* Appending cronjob output to a file Output of a cronjob can be captured and appended to a disk file, instead of sending it via email or logging it using syslog. This is controlled by the _MICRON_OUTFILE (global) and _JOB_OUTFILE (per-job) built-in variables. * New option -P FILE Writes PID of the running process to FILE. The file will be removed when the program terminates. * Option -v replaces -o To set initial value of a built-in variable, use the "-v NAME=VALUE" option. * The -V option To obtain the micrond version, use the -V option. * Bugfixes ** Fix allocation of environment and built-in variables defined in crontabs.
An enhanced implementation of UNIX cron daemon.
paxutils
Paxutils is intended to provide a set of archiver programs. It will include tar
and cpio
utilities and will provide POSIX pax
program.
pies
* New configuration keywords ** sigterm SIG Available for use in "component" sections. This statement defines signal which pies should send to the running component instance in order to terminate it. Defaults to SIGTERM. * Fix the component shutdown sequence The shutdown sequence is determined taking into account dependencies between components, so that all dependent components are stopped before their prerequisite components. * Fallback log file Fallback log file is a place where pies writes out of band log messages, i.e. messages about not being able to open syslog socket or send logs to it. Regular log messages are diverted to this file if syslog was requested, but cannot be used because of a permanent error. * Bugfixes ** Fix piesctl config reload ** Fix configuration preprocessing. ** Varios fixes in REST API server.
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.
radius
* Configuration file raddb/config The syslog statement takes an optional 4th argument specifying syslog tag to use, e.g.: channel default { syslog local1.info radiusd; }; * New attributes ** GNU-Server-Address Holds IP address of the RADIUS server that recieved the request. Notice, that the value of this attribute is "0.0.0.0" if there are no `listen' statement in your `raddb/config'. ** GNU-Server-Port Holds UDP port number of the RADIUS server that recieved the request. * Automake function AM_GNU_RADIUS is provided, for checking if GNU Radius is installed from configure.ac scripts. * Guile support requires Guile version 1.8 or later. * Bugfixes ** Pass NAS-IP-Address to mlc_stop_query
GNU Radius is an extensible and scalable authentication and accounting server.
rush
* Fix invalid memory addressing in remopt command * Fix building with flex >= 2.6.1 (EOF check)
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.
tar
* Fail when building GNU tar, if the platform supports 64-bit time_t but the build uses only 32-bit time_t. * Leave the devmajor and devminor fields empty (rather than zero) for non-special files, as this is more compatible with traditional tar. * Bug fixes ** Fix interaction of --update with --wildcards. ** When extracting archives into an empty directory, do not create hard links to files outside that directory. ** Handle partial reads from regular files. ** Warn "file changed as we read it" less often. Formerly, tar warned if the file's size or ctime changed. However, this generated a false positive if tar read a file while another process hard-linked to it, changing its ctime. Now, tar warns if the file's size, mtime, user ID, group ID, or mode changes. Although neither heuristic is perfect, the new one should work better in practice. ** Fix --ignore-failed-read to ignore file-changed read errors as far as exit status is concerned. You can now suppress file-changed issues entirely with --ignore-failed-read --warning=no-file-changed. ** Fix --remove-files to not remove a file that changed while we read it. ** Fix --atime-preserve=replace to not fail if there was no need to replace, either because we did not read the file, or the atime did not change. ** Fix race when creating a parent directory while another process is also doing so. ** Fix handling of prefix keywords not followed by "." in pax headers. ** Fix handling of out-of-range sparse entries in pax headers. ** Fix handling of --transform='s/s/@/2'. ** Fix treatment of options ending in / in files-from list. ** Fix crash on 'tar --checkpoint-action exec=\"'. ** Fix low-memory crash when reading incremental dumps. ** Fix --exclude-vcs-ignores memory allocation misuse.
GNU tar is an archiver program. It is used to create and manipulate files that are actually collections of many other files; the program provides users with an organized and systematic method of controlling a large amount of data.
texinfo
This is a bug-fix release with minimal changes. * texi2any . fix performance regression when Perl binary extension (XS) modules are not being used (e.g. with TEXINFO_XS=omit) * info . further fix of recoding of UTF-8 files to ASCII to avoid text disappearing from nodes . avoid possible freeze at start of a file with `-v nodeline=pointers'
Texinfo is the official documentation format of the GNU project. It uses a single source file to produce output in a number of formats, both online and printed (dvi, html, info, pdf, xml, etc.).