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

Version: 4.3  —  2024-01-05
** Fix compilation with GDBM 1.18.1

** Support for Guile version 2.2.0 and later

Support for prior versions has been withdrawn.

** anubisusr requires GnuTLS

** New configuration statement: use-pam

Used in CONTROL section, this boolean statement enables or disables
the use of the Pluggable Authentication Module interface for
accounting and session management.

** New configuration statement: identd-keyfile

Sets the name of the file with shared keys used for decryting replies
from the auth service.  It is used in traditional mode if anubis
receives an encrypted response from the client's identd server
(e.g. if they are running pidentd with encryption).

** Bugfixes
	  
Category:
Description:

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.

Related projects:

cflow

Version: 1.7  —  2021-12-30
* 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
	  
Category:
Description:

This tool analyzes a collection of C source files and prints a graph charting control flow within the program.

Related projects:

cpio

Version: 2.15  —  2024-01-14
* Fix operation of --no-absolute-filenames --make-directories
* Restore access and modification times of symlinks in copy-in
  and copy-pass modes.
	  
Category:
Description:

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.

Related projects:

dico

Version: 2.11  —  2021-04-27
* Bugfixes in the gcide module

* Fix searches in the gcider utility

* Support for Python 2 has been withdrawn
	  
Category:
Description:

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.

Related projects:

direvent

Version: 5.4  —  2024-07-02
* 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.
	  
Category:
Description:

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.

Related projects:

gcide

(Not released)
Category:
Description:

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.

Related projects:

gdbm

Version: 1.24  —  2024-07-02
* New gdbm_load option: --update

The --update (-U) option instructs gdbm_load to update an existing
database.

* Fix semantics of gdbm_load -r

The --replace (-r) is valid only when used together with --update.

* Use getline in gdbmtool shell.

* New function: gdbm_load_from_file_ext

In contrast to gdbm_load and gdbm_load_from_file, which derive
the value of the flag parameter for gdbm_open from the value
of their "replace" argument, this function allows the caller to
specify it explicitly.  The prototype is:

  int gdbm_load_from_file_ext (GDBM_FILE *pdbf, FILE *fp,
			       int flags, int replace,
			       int meta_mask,
			       unsigned long *line);

* Bugfixes

** Fix binary dump format for key and/or data of zero size.
   (see https://puszcza.gnu.org.ua/bugs/?565)
** Fix location tracking and recover command in gdbtool.
   (see https://puszcza.gnu.org.ua/bugs/?566)
** Fix possible buffer underflow in gdbmload.
** Ensure any padding bytes in avail_elem structure are filled with 0.
   (fixes https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1031276)
** Improve the documentation.
	  
Category:
Description:

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.

Related projects:

gnulib

(Not released)
Category:
Description:

Gnulib is a central location for common GNU code, which is shared among many GNU (and non-GNU) packages.

go-gdbm

(Not released)
Category:
Description:

Go API for GNU DBM.

Related projects:

inetutils

Version: 1.9.3  —  May 12, 2015
* 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'.
	  
Category:
Description:

Inetutils, or GNU Internet Utilities, are the basic internet utilities of the GNU Operating System.

mailutils

Version: 3.17  —  2024-01-06
* Use of TLS in pop3d and imap4d

If not explicitly specified, the TLS mode to use (ondemand, connect,
etc.) is derived from the configured port.  E.g., for imap4d, port 143
implies ondemand mode, and port 993 implies connection mode.

The global tls-mode setting is used only when the mode cannot be
detemined otherwise, i.e. neither per-server tls-mode is given nor
the port gives any clues as to the TLS mode to use.

* Bugfixes

** movemail: fix handling of -P option.
** pop3d, imap4d: fix global timeout and transcript configuration statements
** pop3d, imap4d: global tls-mode is used only when the mode to use cannot
   be determined otherwise.
** pop3d, imap4d: if not set explicitly, derive tls mode from the port used.
** Improve file safety checking routine.
** Fix compilation with new gcc versions.
	  
Category:
Description:

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.

Related projects:

micron

Version: 1.4  —  2024-01-06
* Micron is a part of GNU project

* Take into account DST changes when computing job startup time

* Minor fix in crontab parser
	  
Category:
Description:

An enhanced implementation of UNIX cron daemon.

paxutils

(Not released)
Category:
Description:

Paxutils is intended to provide a set of archiver programs. It will include tar and cpio utilities and will provide POSIX pax program.

Related projects:

pies

Version: 1.8  —  2022-08-13
* 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.
	  
Category:
Description:

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.

Related projects:

radius

Version: 1.6  —  2008-12-06
* 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 Gule version 1.8 or later.

* Bugfixes
** Pass NAS-IP-Address to mlc_stop_query
	  
Category:
Description:

GNU Radius is an extensible and scalable authentication and accounting server.

rush

Version: 2.4  —  2024-08-09
* Use getgrouplist call, if available

* Fix in rush-po script

* Bugfixes
	  
Category:
Description:

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.

Related projects:

tar

Version: 1.35  —  2023-07-18
* 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.
	  
Category:
Description:

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.

Related projects:

texinfo

Version: 7.1.1  —  7 September 2024
This is a bug-fix release with minimal changes.

* texi2any
  . fix potential crash when @include is used inside a table
  . do not complain about presence of @anchor inside @item in a table
  . C source files that are generated from *.xs files are no no longer
    distributed, so xsubpp from Perl is needed to build XS modules.
  . fix bug that led to memory alignment error on SPARC
  . performance improvement and fixes for MinGW
  . test failures due to floating point rounding error fixed (observed
    on IBM POWER9 processor)

* info
  . crash when setting style to invalid value fixed
  . potential call of memcpy with null argument fixed
	  
Category:
Description:

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.).

Related projects: