�ɲɾ�����ӯ�����һ��ˣ��������С���˴��ͣ�������P���ҹ��ñ˽��ά�Բ��������˸߸ԣ�������ơ��ҹ��ñ�����ά�Բ���ˡ���˳^�ӣ������ӡ� ���ͯj�ӣ��ƺ���ӣ� ? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!usr/share/doc/make/NEWS000064400000205030152525576010010650 0ustar00GNU make NEWS -*-indented-text-*- History of user-visible changes. 10 June 2016 See the end of this file for copyrights and conditions. All changes mentioned here are more fully described in the GNU make manual, which is contained in this distribution as the file doc/make.texi. See the README file and the GNU make manual for instructions for reporting bugs. Version 4.2.1 (10 Jun 2016) A complete list of bugs fixed in this version is available here: h ttp://sv.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=107&set=custom This release is a bug-fix release. Version 4.2 (22 May 2016) A complete list of bugs fixed in this version is available here: http://sv.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=106&set=custom * New variable: $(.SHELLSTATUS) is set to the exit status of the last != or $(shell ...) function invoked in this instance of make. This will be "0" if successful or not "0" if not successful. The variable value is unset if no != or $(shell ...) function has been invoked. * The $(file ...) function can now read from a file with $(file * The interface to GNU make's "jobserver" is stable as documented in the manual, for tools which may want to access it. WARNING: Backward-incompatibility! The internal-only command line option --jobserver-fds has been renamed for publishing, to --jobserver-auth. * The amount of parallelism can be determined by querying MAKEFLAGS, even when the job server is enabled (previously MAKEFLAGS would always contain only "-j", with no number, when job server was enabled). * VMS-specific changes: * Perl test harness now works. * Full support for converting Unix exit status codes to VMS exit status codes. BACKWARD INCOMPATIBILITY Notice: On a child failure the VMS exit code is now the encoded Unix exit status that Make usually generates, not the VMS exit status of the child. Version 4.1 (05 Oct 2014) A complete list of bugs fixed in this version is available here: http://sv.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=105&set=custom * New variables: $(MAKE_TERMOUT) and $(MAKE_TERMERR) are set to non-empty values if stdout or stderr, respectively, are believed to be writing to a terminal. These variables are exported by default. * Allow a no-text-argument form of the $(file ...) function. Without a text argument nothing is written to the file: it is simply opened in the requested mode, then closed again. * Change the fatal error for mixed explicit and implicit rules, that was introduced in GNU make 3.82, to a non-fatal error. However, this syntax is still deprecated and may return to being illegal in a future version of GNU make. Makefiles that rely on this syntax should be fixed. See https://savannah.gnu.org/bugs/?33034 * VMS-specific changes: * Support for library files added, including support for using the GNV ar utility. * Partial support for properly encoding Unix exit status codes into VMS exit status codes. WARNING: Backward-incompatibility! These are different exit status codes than Make exited with in the past. * Macros to hold the current make command are set up to translate the argv[0] string to a VMS format path name and prefix it with "MCR " so that the macro has a space in it. WARNING: Backward-incompatibility! This may break complex makefiles that do processing on those macros. This is unlikely because so much in that area was not and is still not currently working on VMS, it is unlikely to find such a complex makefile, so this is more likely to impact construction of a future makefile. * A command file is always used to run the commands for a recipe. WARNING: Backward-incompatibility! Running the make self tests has exposed that there are significant differences in behavior when running with the command file mode. It is unknown if this will be noticed by most existing VMS makefiles. Version 4.0 (09 Oct 2013) A complete list of bugs fixed in this version is available here: http://sv.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=101&set=custom * WARNING: Backward-incompatibility! If .POSIX is specified, then make adheres to the POSIX backslash/newline handling requirements, which introduces the following changes to the standard backslash/newline handling in non-recipe lines: * Any trailing space before the backslash is preserved * Each backslash/newline (plus subsequent whitespace) is converted to a single space * New feature: GNU Guile integration This version of GNU make can be compiled with GNU Guile integration. GNU Guile serves as an embedded extension language for make. See the "Guile Function" section in the GNU Make manual for details. Currently GNU Guile 1.8 and 2.0+ are supported. In Guile 1.8 there is no support for internationalized character sets. In Guile 2.0+, scripts can be encoded in UTF-8. * New command line option: --output-sync (-O) enables grouping of output by target or by recursive make. This is useful during parallel builds to avoid mixing output from different jobs together giving hard-to-understand results. Original implementation by David Boyce . Reworked and enhanced by Frank Heckenbach . Windows support by Eli Zaretskii . * New command line option: --trace enables tracing of targets. When enabled the recipe to be invoked is printed even if it would otherwise be suppressed by .SILENT or a "@" prefix character. Also before each recipe is run the makefile name and linenumber where it was defined are shown as well as the prerequisites that caused the target to be considered out of date. * New command line option argument: --debug now accepts a "n" (none) flag which disables all debugging settings that are currently enabled. * New feature: The "job server" capability is now supported on Windows. Implementation contributed by Troy Runkel * New feature: The .ONESHELL capability is now supported on Windows. Support added by Eli Zaretskii . * New feature: "!=" shell assignment operator as an alternative to the $(shell ...) function. Implemented for compatibility with BSD makefiles. Note there are subtle differences between "!=" and $(shell ...). See the description in the GNU make manual. WARNING: Backward-incompatibility! Variables ending in "!" previously defined as "variable!= value" will now be interpreted as shell assignment. Change your assignment to add whitespace between the "!" and "=": "variable! = value" * New feature: "::=" simple assignment operator as defined by POSIX in 2012. This operator has identical functionality to ":=" in GNU make, but will be portable to any implementation of make conforming to a sufficiently new version of POSIX (see http://austingroupbugs.net/view.php?id=330). It is not necessary to define the .POSIX target to access this operator. * New feature: Loadable objects This version of GNU make contains a "technology preview": the ability to load dynamic objects into the make runtime. These objects can be created by the user and can add extended functionality, usable by makefiles. * New function: $(file ...) writes to a file. * New variable: $(GNUMAKEFLAGS) will be parsed for make flags, just like MAKEFLAGS is. It can be set in the environment or the makefile, containing GNU make-specific flags to allow your makefile to be portable to other versions of make. Once this variable is parsed, GNU make will set it to the empty string so that flags will not be duplicated on recursion. * New variable: `MAKE_HOST' gives the name of the host architecture make was compiled for. This is the same value you see after 'Built for' when running 'make --version'. * Behavior of MAKEFLAGS and MFLAGS is more rigorously defined. All simple flags are grouped together in the first word of MAKEFLAGS. No options that accept arguments appear in the first word. If no simple flags are present MAKEFLAGS begins with a space. Flags with both short and long versions always use the short versions in MAKEFLAGS. Flags are listed in alphabetical order using ASCII ordering. MFLAGS never begins with "- ". * Setting the -r and -R options in MAKEFLAGS inside a makefile now works as expected, removing all built-in rules and variables, respectively. * If a recipe fails, the makefile name and linenumber of the recipe are shown. * A .RECIPEPREFIX setting is remembered per-recipe and variables expanded in that recipe also use that recipe prefix setting. * In -p output, .RECIPEPREFIX settings are shown and all target-specific variables are output as if in a makefile, instead of as comments. * On MS-Windows, recipes that use ".." quoting will no longer force invocation of commands via temporary batch files and stock Windows shells, they will be short-circuited and invoked directly. (In other words, " is no longer a special character for stock Windows shells.) This avoids hitting shell limits for command length when quotes are used, but nothing else in the command requires the shell. This change could potentially mean some minor incompatibilities in behavior when the recipe uses quoted string on shell command lines. Version 3.82 (28 Jul 2010) A complete list of bugs fixed in this version is available here: http://sv.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=104&set=custom * Compiling GNU make now requires a conforming ISO C 1989 compiler and standard runtime library. * WARNING: Backward-incompatibility! The POSIX standard for make was changed in the 2008 version in a fundamentally incompatible way: make is required to invoke the shell as if the '-e' flag were provided. Because this would break many makefiles that have been written to conform to the original text of the standard, the default behavior of GNU make remains to invoke the shell with simply '-c'. However, any makefile specifying the .POSIX special target will follow the new POSIX standard and pass '-e' to the shell. See also .SHELLFLAGS below. * WARNING: Backward-incompatibility! The '$?' variable now contains all prerequisites that caused the target to be considered out of date, even if they do not exist (previously only existing targets were provided in $?). * WARNING: Backward-incompatibility! Wildcards were not documented as returning sorted values, but the results have been sorted up until this release.. If your makefiles require sorted results from wildcard expansions, use the $(sort ...) function to request it explicitly. * WARNING: Backward-incompatibility! As a result of parser enhancements, three backward-compatibility issues exist: first, a prerequisite containing an "=" cannot be escaped with a backslash any longer. You must create a variable containing an "=" and use that variable in the prerequisite. Second, variable names can no longer contain whitespace, unless you put the whitespace in a variable and use the variable. Third, in previous versions of make it was sometimes not flagged as an error for explicit and pattern targets to appear in the same rule. Now this is always reported as an error. * WARNING: Backward-incompatibility! The pattern-specific variables and pattern rules are now applied in the shortest stem first order instead of the definition order (variables and rules with the same stem length are still applied in the definition order). This produces the usually-desired behavior where more specific patterns are preferred. To detect this feature search for 'shortest-stem' in the .FEATURES special variable. * WARNING: Backward-incompatibility! The library search behavior has changed to be compatible with the standard linker behavior. Prior to this version for prerequisites specified using the -lfoo syntax make first searched for libfoo.so in the current directory, vpath directories, and system directories. If that didn't yield a match, make then searched for libfoo.a in these directories. Starting with this version make searches first for libfoo.so and then for libfoo.a in each of these directories in order. * New command line option: --eval=STRING causes STRING to be evaluated as makefile syntax (akin to using the $(eval ...) function). The evaluation is performed after all default rules and variables are defined, but before any makefiles are read. * New special variable: .RECIPEPREFIX allows you to reset the recipe introduction character from the default (TAB) to something else. The first character of this variable value is the new recipe introduction character. If the variable is set to the empty string, TAB is used again. It can be set and reset at will; recipes will use the value active when they were first parsed. To detect this feature check the value of $(.RECIPEPREFIX). * New special variable: .SHELLFLAGS allows you to change the options passed to the shell when it invokes recipes. By default the value will be "-c" (or "-ec" if .POSIX is set). * New special target: .ONESHELL instructs make to invoke a single instance of the shell and provide it with the entire recipe, regardless of how many lines it contains. As a special feature to allow more straightforward conversion of makefiles to use .ONESHELL, any recipe line control characters ('@', '+', or '-') will be removed from the second and subsequent recipe lines. This happens _only_ if the SHELL value is deemed to be a standard POSIX-style shell. If not, then no interior line control characters are removed (as they may be part of the scripting language used with the alternate SHELL). * New variable modifier 'private': prefixing a variable assignment with the modifier 'private' suppresses inheritance of that variable by prerequisites. This is most useful for target- and pattern-specific variables. * New make directive: 'undefine' allows you to undefine a variable so that it appears as if it was never set. Both $(flavor) and $(origin) functions will return 'undefined' for such a variable. To detect this feature search for 'undefine' in the .FEATURES special variable. * The parser for variable assignments has been enhanced to allow multiple modifiers ('export', 'override', 'private') on the same line as variables, including define/endef variables, and in any order. Also, it is possible to create variables and targets named as these modifiers. * The 'define' make directive now allows a variable assignment operator after the variable name, to allow for simple, conditional, or appending multi-line variable assignment. * VMS-specific changes: * Michael Gehre (at VISTEC-SEMI dot COM) supplied a fix for a problem with timestamps of object modules in OLBs. The timestamps were not correctly adjusted to GMT based time, if the local VMS time was using a daylight saving algorithm and if daylight saving was switched off. * John Eisenbraun (at HP dot COM) supplied fixes and and an enhancement to append output redirection in action lines. * Rework of ctrl+c and ctrl+y handling. * Fix a problem with cached strings, which showed on case-insensitive file systems. * Build fixes for const-ified code in VMS specific sources. * A note on appending the redirected output. With this change, a simple mechanism is implemented to make ">>" work in action lines. In VMS there is no simple feature like ">>" to have DCL command or program output redirected and appended to a file. GNU make for VMS already implements the redirection of output. If such a redirection is detected, an ">" on the action line, GNU make creates a DCL command procedure to execute the action and to redirect its output. Based on that, now ">>" is also recognized and a similar but different command procedure is created to implement the append. The main idea here is to create a temporary file which collects the output and which is appended to the wanted output file. Then the temporary file is deleted. This is all done in the command procedure to keep changes in make small and simple. This obviously has some limitations but it seems good enough compared with the current ">" implementation. (And in my opinion, redirection is not really what GNU make has to do.) With this approach, it may happen that the temporary file is not yet appended and is left in SYS$SCRATCH. The temporary file names look like "CMDxxxxx.". Any time the created command procedure can not complete, this happens. Pressing Ctrl+Y to abort make is one case. In case of Ctrl+Y the associated command procedure is left in SYS$SCRATCH as well. Its name is CMDxxxxx.COM. * Change in the Ctrl+Y handling. The CtrlY handler now uses $delprc to delete all children. This way also actions with DCL commands will be stopped. As before the CtrlY handler then sends SIGQUIT to itself, which is handled in common code. * Change in deleteing temporary command files. Temporary command files are now deleted in the vms child termination handler. That deletes them even if a Ctrl+C was pressed. * The behavior of pressing Ctrl+C is not changed. It still has only an effect, after the current action is terminated. If that doesn't happen or takes too long, Ctrl+Y should be used instead. Version 3.81 (01 Apr 2006) * GNU make is ported to OS/2. * GNU make is ported to MinGW. The MinGW build is only supported by the build_w32.bat batch file; see the file README.W32 for more details. * WARNING: Future backward-incompatibility! Up to and including this release, the '$?' variable does not contain any prerequisite that does not exist, even though that prerequisite might have caused the target to rebuild. Starting with the _next_ release of GNU make, '$?' will contain all prerequisites that caused the target to be considered out of date. See http://savannah.gnu.org/bugs/?16051 * WARNING: Backward-incompatibility! GNU make now implements a generic "second expansion" feature on the prerequisites of both explicit and implicit (pattern) rules. In order to enable this feature, the special target '.SECONDEXPANSION' must be defined before the first target which takes advantage of it. If this feature is enabled then after all rules have been parsed the prerequisites are expanded again, this time with all the automatic variables in scope. This means that in addition to using standard SysV $$@ in prerequisites lists, you can also use complex functions such as $$(notdir $$@) etc. This behavior applies to implicit rules, as well, where the second expansion occurs when the rule is matched. However, this means that when '.SECONDEXPANSION' is enabled you must double-quote any "$" in your filenames; instead of "foo: boo$$bar" you now must write "foo: foo$$$$bar". Note that the SysV $$@ etc. feature, which used to be available by default, is now ONLY available when the .SECONDEXPANSION target is defined. If your makefiles take advantage of this SysV feature you will need to update them. * WARNING: Backward-incompatibility! In order to comply with POSIX, the way in which GNU make processes backslash-newline sequences in recipes has changed. If your makefiles use backslash-newline sequences inside of single-quoted strings in recipes you will be impacted by this change. See the GNU make manual subsection "Splitting Recipe Lines" (node "Splitting Lines"), in section "Recipe Syntax", chapter "Writing Recipe in Rules", for details. * WARNING: Backward-incompatibility! Some previous versions of GNU make had a bug where "#" in a function invocation such as $(shell ...) was treated as a make comment. A workaround was to escape these with backslashes. This bug has been fixed: if your makefile uses "\#" in a function invocation the backslash is now preserved, so you'll need to remove it. * New command line option: -L (--check-symlink-times). On systems that support symbolic links, if this option is given then GNU make will use the most recent modification time of any symbolic links that are used to resolve target files. The default behavior remains as it always has: use the modification time of the actual target file only. * The "else" conditional line can now be followed by any other valid conditional on the same line: this does not increase the depth of the conditional nesting, so only one "endif" is required to close the conditional. * All pattern-specific variables that match a given target are now used (previously only the first match was used). * Target-specific variables can be marked as exportable using the "export" keyword. * In a recursive $(call ...) context, any extra arguments from the outer call are now masked in the context of the inner call. * Implemented a solution for the "thundering herd" problem with "-j -l". This version of GNU make uses an algorithm suggested by Thomas Riedl to track the number of jobs started in the last second and artificially adjust GNU make's view of the system's load average accordingly. * New special variables available in this release: - .INCLUDE_DIRS: Expands to a list of directories that make searches for included makefiles. - .FEATURES: Contains a list of special features available in this version of GNU make. - .DEFAULT_GOAL: Set the name of the default goal make will use if no goals are provided on the command line. - MAKE_RESTARTS: If set, then this is the number of times this instance of make has been restarted (see "How Makefiles Are Remade" in the manual). - New automatic variable: $| (added in 3.80, actually): contains all the order-only prerequisites defined for the target. * New functions available in this release: - $(lastword ...) returns the last word in the list. This gives identical results as $(word $(words ...) ...), but is much faster. - $(abspath ...) returns the absolute path (all "." and ".." directories resolved, and any duplicate "/" characters removed) for each path provided. - $(realpath ...) returns the canonical pathname for each path provided. The canonical pathname is the absolute pathname, with all symbolic links resolved as well. - $(info ...) prints its arguments to stdout. No makefile name or line number info, etc. is printed. - $(flavor ...) returns the flavor of a variable. - $(or ...) provides a short-circuiting OR conditional: each argument is expanded. The first true (non-empty) argument is returned; no further arguments are expanded. Expands to empty if there are no true arguments. - $(and ...) provides a short-circuiting AND conditional: each argument is expanded. The first false (empty) argument is returned; no further arguments are expanded. Expands to the last argument if all arguments are true. * Changes made for POSIX compatibility: - Only touch targets (under -t) if they have a recipe. - Setting the SHELL make variable does NOT change the value of the SHELL environment variable given to programs invoked by make. As an enhancement to POSIX, if you export the make variable SHELL then it will be set in the environment, just as before. * On MS Windows systems, explicitly setting SHELL to a pathname ending in "cmd" or "cmd.exe" (case-insensitive) will force GNU make to use the DOS command interpreter in batch mode even if a UNIX-like shell could be found on the system. * On VMS there is now support for case-sensitive filesystems such as ODS5. See the README.VMS file for information. * Parallel builds (-jN) no longer require a working Bourne shell on Windows platforms. They work even with the stock Windows shells, such as cmd.exe and command.com. * Updated to autoconf 2.59, automake 1.9.5, and gettext 0.14.1. Users should not be impacted. * New translations for Swedish, Chinese (simplified), Ukrainian, Belarusian, Finnish, Kinyarwandan, and Irish. Many updated translations. A complete list of bugs fixed in this version is available here: http://savannah.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=103 Version 3.80 (03 Oct 2002) * A new feature exists: order-only prerequisites. These prerequisites affect the order in which targets are built, but they do not impact the rebuild/no-rebuild decision of their dependents. That is to say, they allow you to require target B be built before target A, without requiring that target A will always be rebuilt if target B is updated. Patch for this feature provided by Greg McGary . * For compatibility with SysV make, GNU make now supports the peculiar syntax $$@, $$(@D), and $$(@F) in the prerequisites list of a rule. This syntax is only valid within explicit and static pattern rules: it cannot be used in implicit (suffix or pattern) rules. Edouard G. Parmelan provided a patch implementing this feature; however, I decided to implement it in a different way. * The argument to the "ifdef" conditional is now expanded before it's tested, so it can be a constructed variable name. Similarly, the arguments to "export" (when not used in a variable definition context) and "unexport" are also now expanded. * A new function is defined: $(value ...). The argument to this function is the _name_ of a variable. The result of the function is the value of the variable, without having been expanded. * A new function is defined: $(eval ...). The arguments to this function should expand to makefile commands, which will then be evaluated as if they had appeared in the makefile. In combination with define/endef multiline variable definitions this is an extremely powerful capability. The $(value ...) function is also sometimes useful here. * A new built-in variable is defined, $(MAKEFILE_LIST). It contains a list of each makefile GNU make has read, or started to read, in the order in which they were encountered. So, the last filename in the list when a makefile is just being read (before any includes) is the name of the current makefile. * A new built-in variable is defined: $(.VARIABLES). When it is expanded it returns a complete list of variable names defined by all makefiles at that moment. * A new command line option is defined, -B or --always-make. If specified GNU make will consider all targets out-of-date even if they would otherwise not be. * The arguments to $(call ...) functions were being stored in $1, $2, etc. as recursive variables, even though they are fully expanded before assignment. This means that escaped dollar signs ($$ etc.) were not behaving properly. Now the arguments are stored as simple variables. This may mean that if you added extra escaping to your $(call ...) function arguments you will need to undo it now. * The variable invoked by $(call ...) can now be recursive: unlike other variables it can reference itself and this will not produce an error when it is used as the first argument to $(call ...) (but only then). * New pseudo-target .LOW_RESOLUTION_TIME, superseding the configure option --disable-nsec-timestamps. You might need this if your build process depends on tools like "cp -p" preserving time stamps, since "cp -p" (right now) doesn't preserve the subsecond portion of a time stamp. * Updated translations for French, Galician, German, Japanese, Korean, and Russian. New translations for Croatian, Danish, Hebrew, and Turkish. * Updated internationalization support to Gettext 0.11.5. GNU make now uses Gettext's "external" feature, and does not include any internationalization code itself. Configure will search your system for an existing implementation of GNU Gettext (only GNU Gettext is acceptable) and use it if it exists. If not, NLS will be disabled. See ABOUT-NLS for more information. * Updated to autoconf 2.54 and automake 1.7. Users should not be impacted. * VMS-specific changes: * In default.c define variable ARCH as IA64 for VMS on Itanium systems. * In makefile.vms avoid name collision for glob and globfree. * This is the VMS port of GNU Make done by Hartmut.Becker@compaq.com. It is based on the specific version 3.77k and on 3.78.1. 3.77k was done by Klaus Kmpf , the code was based on the VMS port of GNU Make 3.60 by Mike Moretti. It was ported on OpenVMS/Alpha V7.1, DECC V5.7-006. It was re-build and tested on OpenVMS/Alpha V7.2, OpenVMS/VAX 7.1 and 5.5-2. Different versions of DECC were used. VAXC was tried: it fails; but it doesn't seem worth to get it working. There are still some PTRMISMATCH warnings during the compile. Although perl is working on VMS the test scripts don't work. The function $shell is still missing. There is a known bug in some of the VMS CRTLs. It is in the shipped versions of VMS V7.2 and V7.2-1 and in the currently (October 1999) available ECOs for VMS V7.1 and newer versions. It is fixed in versions shipped with newer VMS versions and all ECO kits after October 1999. It only shows up during the daylight saving time period (DST): stat() returns a modification time 1 hour ahead. This results in GNU make warning messages. For a just created source you will see: $ gmake x.exe gmake.exe;1: *** Warning: File 'x.c' has modification time in the future (940582863 > 940579269) cc /obj=x.obj x.c link x.obj /exe=x.exe gmake.exe;1: *** Warning: Clock skew detected. Your build may be incomplete. A complete list of bugs fixed in this version is available here: http://savannah.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=102 Version 3.79.1 (23 Jun 2000) * .SECONDARY with no prerequisites now prevents any target from being removed because make thinks it's an intermediate file, not just those listed in the makefile. * New configure option --disable-nsec-timestamps, but this was superseded in later versions by the .LOW_RESOLUTION_TIME pseudo-target. Version 3.79 (04 Apr 2000) * GNU make optionally supports internationalization and locales via the GNU gettext (or local gettext if suitable) package. See the ABOUT-NLS file for more information on configuring GNU make for NLS. * Previously, GNU make quoted variables such as MAKEFLAGS and MAKEOVERRIDES for proper parsing by the shell. This allowed them to be used within make build scripts. However, using them there is not proper behavior: they are meant to be passed to subshells via the environment. Unfortunately the values were not quoted properly to be passed through the environment. This meant that make didn't properly pass some types of command line values to submakes. With this version we change that behavior: now these variables are quoted properly for passing through the environment, which is the correct way to do it. If you previously used these variables explicitly within a make rule you may need to re-examine your use for correctness given this change. * A new pseudo-target .NOTPARALLEL is available. If defined, the current makefile is run serially regardless of the value of -j. However, submakes are still eligible for parallel execution. * The --debug option has changed: it now allows optional flags controlling the amount and type of debugging output. By default only a minimal amount information is generated, displaying the names of "normal" targets (not makefiles) that were deemed out of date and in need of being rebuilt. Note that the -d option behaves as before: it takes no arguments and all debugging information is generated. * The `-p' (print database) output now includes filename and linenumber information for variable definitions, to aid debugging. * The wordlist function no longer reverses its arguments if the "start" value is greater than the "end" value. If that's true, nothing is returned. * Hartmut Becker provided many updates for the VMS port of GNU make. See the README.VMS file for more details. * VMS-specific changes: * Fix a problem with automatically remaking makefiles. GNU make uses an execve to restart itself after a successful remake of the makefile. On UNIX systems execve replaces the running program with a new one and resets all signal handling to the default. On VMS execve creates a child process, signal and exit handlers of the parent are still active, and, unfortunately, corrupt the exit code from the child. Fix in job.c: ignore SIGCHLD. * Added some switches to reflect latest features of DECC. Modifications in makefile.vms. * Set some definitions to reflect latest features of DECC. Modifications in config.h-vms (which is copied to config.h). * Added extern strcmpi declaration to avoid 'implicitly declared' messages. Modification in make.h. * Default rule for C++, conditionals for gcc (GCC_IS_NATIVE) or DEC/Digital/ Compaq c/c++ compilers. Modifications in default.c. * Usage of opendir() and friends, suppress file version. Modifications in dir.c. * Added VMS specific code to handle ctrl+c and ctrl+y to abort make. Modifications in job.c. * Added support to have case sensitive targets and dependencies but to still use case blind file names. This is especially useful for Java makefiles on VMS: .SUFFIXES : .SUFFIXES : .class .java .java.class : javac "$< HelloWorld.class : HelloWorld.java * A new macro WANT_CASE_SENSITIVE_TARGETS in config.h-vms was introduced. It needs to be enabled to get this feature; default is disabled. The macro HAVE_CASE_INSENSITIVE_FS must not be touched: it is still enabled. Modifications in file.c and config.h-vms. * Bootstrap make to start building make is still makefile.com, but make needs to be re-made with a make to make a correct version: ignore all possible warnings, delete all objects, rename make.exe to a different name and run it. * Made some minor modifications to the bootstrap build makefile.com. Version 3.78 (22 Sep 1999) * Two new functions, $(error ...) and $(warning ...) are available. The former will cause make to fail and exit immediately upon expansion of the function, with the text provided as the error message. The latter causes the text provided to be printed as a warning message, but make proceeds normally. * A new function $(call ...) is available. This allows users to create their own parameterized macros and invoke them later. Original implementation of this function was provided by Han-Wen Nienhuys . * A new function $(if ...) is available. It provides if-then-else capabilities in a builtin function. Original implementation of this function was provided by Han-Wen Nienhuys . * Make defines a new variable, .LIBPATTERNS. This variable controls how library dependency expansion (dependencies like ``-lfoo'') is performed. * Make accepts CRLF sequences as well as traditional LF, for compatibility with makefiles created on other operating systems. * Make accepts a new option: -R, or --no-builtin-variables. This option disables the definition of the rule-specific builtin variables (CC, LD, AR, etc.). Specifying this option forces -r (--no-builtin-rules) as well. * A "job server" feature, suggested by Howard Chu . On systems that support POSIX pipe(2) semantics, GNU make can now pass -jN options to submakes rather than forcing them all to use -j1. The top make and all its sub-make processes use a pipe to communicate with each other to ensure that no more than N jobs are started across all makes. To get the old behavior of -j back, you can configure make with the --disable-job-server option. * The confusing term "dependency" has been replaced by the more accurate and standard term "prerequisite", both in the manual and in all GNU make output. * GNU make supports the "big archive" library format introduced in AIX 4.3. * GNU make supports large files on AIX, HP-UX, and IRIX. These changes were provided by Paul Eggert . (Large file support for Solaris and Linux was introduced in 3.77, but the configuration had issues: these have also been resolved). * The Windows 95/98/NT (W32) version of GNU make now has native support for the Cygnus Cygwin release B20.1 shell (bash). * The GNU make regression test suite, long available separately "under the table", has been integrated into the release. You can invoke it by running "make check" in the distribution. Note that it requires Perl (either Perl 4 or Perl 5) to run. Version 3.77 (28 Jul 1998) * Implement BSD make's "?=" variable assignment operator. The variable is assigned the specified value only if that variable is not already defined. * Make defines a new variable, "CURDIR", to contain the current working directory (after the -C option, if any, has been processed). Modifying this variable has no effect on the operation of make. * Make defines a new default RCS rule, for new-style master file storage: ``% :: RCS/%'' (note no ``,v'' suffix). Make defines new default rules for DOS-style C++ file naming conventions, with ``.cpp'' suffixes. All the same rules as for ``.cc'' and ``.C'' suffixes are provided, along with LINK.cpp and COMPILE.cpp macros (which default to the same value as LINK.cc and COMPILE.cc). Note CPPFLAGS is still C preprocessor flags! You should use CXXFLAGS to change C++ compiler flags. * A new feature, "target-specific variable values", has been added. This is a large change so please see the appropriate sections of the manual for full details. Briefly, syntax like this: TARGET: VARIABLE = VALUE defines VARIABLE as VALUE within the context of TARGET. This is similar to SunOS make's "TARGET := VARIABLE = VALUE" feature. Note that the assignment may be of any type, not just recursive, and that the override keyword is available. COMPATIBILITY: This new syntax means that if you have any rules where the first or second dependency has an equal sign (=) in its name, you'll have to escape them with a backslash: "foo : bar\=baz". Further, if you have any dependencies which already contain "\=", you'll have to escape both of them: "foo : bar\\\=baz". * A new appendix listing the most common error and warning messages generated by GNU make, with some explanation, has been added to the GNU make User's Manual. * Updates to the GNU make Customs library support (see README.customs). * Updates to the Windows 95/NT port from Rob Tulloh (see README.W32), and to the DOS port from Eli Zaretski (see README.DOS). * VMS-specific changes: * This is the VMS port of GNU Make. It is based on the VMS port of GNU Make 3.60 by Mike Moretti. This port was done by Klaus Kmpf * There is first-level support available from proGIS Software, Germany. Visit their web-site at http://www.progis.de to get information about other vms software and forthcoming updates to gnu make. * /bin/sh style I/O redirection is supported. You can now write lines like mcr sys$disk:[]program.exe < input.txt > output.txt &> error.txt * Makefile variables are looked up in the current environment. You can set symbols or logicals in DCL and evaluate them in the Makefile via $(). Variables defined in the Makefile override VMS symbols/logicals ! * Functions for file names are working now. See the GNU Make manual for $(dir ...) and $(wildcard ...). Unix-style and VMS-style names are supported as arguments. * The default rules are set up for GNU C. Building an executable from a single source file is as easy as 'make file.exe'. * The variable $(ARCH) is predefined as ALPHA or VAX resp. Makefiles for different VMS systems can now be written by checking $(ARCH) as in ifeq ($(ARCH),ALPHA) $(ECHO) "On the Alpha" else $(ECHO) "On the VAX" endif * Command lines of excessive length are correctly broken and written to a batch file in sys$scratch for later execution. There's no limit to the lengths of commands (and no need for .opt files :-) any more. * Empty commands are handled correctly and don't end in a new DCL process. Version 3.76.1 (19 Sep 1997) * Small (but serious) bug fix. Quick rollout to get into the GNU source CD. Version 3.76 (16 Sep 1997) * GNU make now uses automake to control Makefile.in generation. This should make it more consistent with the GNU standards. * VPATH functionality has been changed to incorporate the VPATH+ patch, previously maintained by Paul Smith . See the manual. * Make defines a new variable, `MAKECMDGOALS', to contain the goals that were specified on the command line, if any. Modifying this variable has no effect on the operation of make. * A new function, `$(wordlist S,E,TEXT)', is available: it returns a list of words from number S to number E (inclusive) of TEXT. * Instead of an error, detection of future modification times gives a warning and continues. The warning is repeated just before GNU make exits, so it is less likely to be lost. * Fix the $(basename) and $(suffix) functions so they only operate on the last filename, not the entire string: Command Old Result New Result ------- ---------- ---------- $(basename a.b) a a $(basename a.b/c) a a.b/c $(suffix a.b) b b $(suffix a.b/c) b/c * The $(strip) function now removes newlines as well as TABs and spaces. * The $(shell) function now changes CRLF (\r\n) pairs to a space as well as newlines (\n). * Updates to the Windows 95/NT port from Rob Tulloh (see README.W32). * Eli Zaretskii has updated the port to 32-bit protected mode on MSDOS and MS-Windows, building with the DJGPP v2 port of GNU C/C++ compiler and utilities. See README.DOS for details, and direct all questions concerning this port to Eli Zaretskii or DJ Delorie . * VMS-specific changes: * John W. Eaton has updated the VMS port to support libraries and VPATH. * The cd command is supported if it's called as $(CD). This invokes the 'builtin_cd' command which changes the directory. Calling 'set def' doesn't do the trick, since a sub-shell is spawned for this command, the directory is changed *in this sub-shell* and the sub-shell ends. * Libraries are not supported. They were in GNU Make 3.60 but somehow I didn't care porting the code. If there is enough interest, I'll do it at some later time. * The variable $^ separates files with commas instead of spaces (It's the natural thing to do for VMS). * See defaults.c for VMS default suffixes and my definitions for default rules and variables. * The shell function is not implemented yet. * Load average routines haven't been implemented for VMS yet. * The default include directory for including other makefiles is SYS$SYSROOT:[SYSLIB] (I don't remember why I didn't just use SYS$LIBRARY: instead; maybe it wouldn't work that way). * The default makefiles make looks for are: makefile.vms, gnumakefile, makefile., and gnumakefile. . * The stat() function and handling of time stamps in VMS is broken, so I replaced it with a hack in vmsfunctions.c. I will provide a full rewrite somewhere in the future. Be warned, the time resolution inside make is less than what vms provides. This might be a problem on the faster Alphas. * You can use a : in a filename only if you precede it with a backslash ('\'). E.g.- hobbes\:[bogas.files] * Make ignores success, informational, or warning errors (-S-, -I-, or -W-). But it will stop on -E- and -F- errors. (unless you do something to override this in your makefile, or whatever). * Remote stuff isn't implemented yet. * Multiple line DCL commands, such as "if" statements, must be put inside command files. You can run a command file by using \@. Version 3.75 (27 Aug 1996) * The directory messages printed by `-w' and implicitly in sub-makes, are now omitted if Make runs no commands and has no other messages to print. * Make now detects files that for whatever reason have modification times in the future and gives an error. Files with such impossible timestamps can result from unsynchronized clocks, or archived distributions containing bogus timestamps; they confuse Make's dependency engine thoroughly. * The new directive `sinclude' is now recognized as another name for `-include', for compatibility with some other Makes. * Aaron Digulla has contributed a port to AmigaDOS. See README.Amiga for details, and direct all Amiga-related questions to . * Rob Tulloh of Tivoli Systems has contributed a port to Windows NT or 95. See README.W32 for details, and direct all Windows-related questions to . * VMS-specific changes: * Lots of default settings are adapted for VMS. See default.c. * Long command lines are now converted to command files. * Comma (',') as a separator is now allowed. See makefile.vms for an example. Version 3.73 (05 Apr 1995) * Converted to use Autoconf version 2, so `configure' has some new options. See INSTALL for details. * You can now send a SIGUSR1 signal to Make to toggle printing of debugging output enabled by -d, at any time during the run. Version 3.72 (04 Nov 1994) * DJ Delorie has ported Make to MS-DOS using the GO32 extender. He is maintaining the DOS port, not the GNU Make maintainer; please direct bugs and questions for DOS to . MS-DOS binaries are available for FTP from ftp.simtel.net in /pub/simtelnet/gnu/djgpp/. * The `MAKEFLAGS' variable (in the environment or in a makefile) can now contain variable definitions itself; these are treated just like command line variable definitions. Make will automatically insert any variable definitions from the environment value of `MAKEFLAGS' or from the command line, into the `MAKEFLAGS' value exported to children. The `MAKEOVERRIDES' variable previously included in the value of `$(MAKE)' for sub-makes is now included in `MAKEFLAGS' instead. As before, you can reset `MAKEOVERRIDES' in your makefile to avoid putting all the variables in the environment when its size is limited. * If `.DELETE_ON_ERROR' appears as a target, Make will delete the target of a rule if it has changed when its recipe exits with a nonzero status, just as when the recipe gets a signal. * The automatic variable `$+' is new. It lists all the dependencies like `$^', but preserves duplicates listed in the makefile. This is useful for linking rules, where library files sometimes need to be listed twice in the link order. * You can now specify the `.IGNORE' and `.SILENT' special targets with dependencies to limit their effects to those files. If a file appears as a dependency of `.IGNORE', then errors will be ignored while running the recipe to update that file. Likewise if a file appears as a dependency of `.SILENT', then the recipe to update that file will not be printed before it is run. (This change was made to conform to POSIX.2.) Version 3.71 (21 May 1994) * The automatic variables `$(@D)', `$(%D)', `$(*D)', `$(. usr/share/doc/libmpc/NEWS000064400000016110152525604460011201 0ustar00Changes in version 1.1.0: - Minimally required library versions: GMP 5.0.0 and MPFR 3.0.0 - Fixed issues with MPFR 4.0.0 - New functions: mpc_cmp_abs, mpc_rootofunity - Improved speed for corner cases of mpc_asin, mpc_sin, see http://lists.gforge.inria.fr/pipermail/mpc-discuss/2013-December/001266.html - Rewrite of the testing framework - New mpcbench tool, used with "make bench" - Fixed handling of over- and underflows with directed rounding in the "other direction" for mpc_cos, mpc_sin, mpc_exp and mpc_pow, see http://lists.gforge.inria.fr/pipermail/mpc-discuss/2015-March/001336.html - Fixed a bug in mpc_atan(0,y) with |y| near 1, see http://lists.gforge.inria.fr/pipermail/mpc-discuss/2017-March/001404.html Changes in version 1.0.3: - Fixed mpc_pow, see http://lists.gforge.inria.fr/pipermail/mpc-discuss/2014-October/001315.html - #18257: Switched to libtool 2.4.5. Changes in version 1.0.2: - Fixed mpc_atan, mpc_atanh for (+-0, +-1), see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57994#c7 - Fixed mpc_log10 for purely imaginary argument, see http://lists.gforge.inria.fr/pipermail/mpc-discuss/2012-September/001208.html Changes in version 1.0.1: - Switched to automake 1.11.6, see https://lists.gnu.org/archive/html/automake/2012-07/msg00023.html - #14669: Fixed extraction of CC from gmp.h - Fixed case of intermediate zero real or imaginary part in mpc_fma, found by hydra with GMP_CHECK_RANDOMIZE=1346362345 Changes in version 1.0: - First release as a GNU package - License change: LGPLv3+ for code, GFDLv1.3+ (with no invariant sections) for documentation - 100% of all lines are covered by tests - Functions renamed: mpc_mul_2exp to mpc_mul_2ui, mpc_div_2exp to mpc_div_2ui - 0^0, which returned (NaN,NaN) previously, now returns (1,+0) - Removed compatibility with K&R compilers, untestable due to lack of such compilers - New functions: mpc_log10, mpc_mul_2si, mpc_div_2si - Speed-ups: - mpc_fma - Bug fixes: - mpc_div and mpc_norm now return a value indicating the effective rounding direction, as the other functions - mpc_mul, mpc_sqr and mpc_norm now return correct results even if there are over- or underflows during the computation - mpc_asin, mpc_proj, mpc_sqr: Wrong result when input variable has infinite part and equals output variable is corrected - mpc_fr_sub: Wrong return value for imaginary part is corrected Changes in version 0.9: - New functions: - mpc_set_dc, mpc_set_ldc, mpc_get_dc, mpc_get_ldc for converting between mpc type variables and C variables of type double _Complex or long double _Complex - mpc_sin_cos, computing simultaneously the sine and cosine - Speed-ups: - mpc_pow_si through binary exponentiation - mpc_pow_z when the exponent fits in a long - mpc_tan through the use of mpc_sin_cos - Bug fixes: - trigonometric functions: infinite loop due to overflow for large arguments - mpc_exp: close to infinite loop for argument close to 0 - mpc_sqrt: close to infinite loop for argument close to 1 - mpc_add_si: replaced macro by function, since the macro evaluated the same expression twice - Logging feature for debugging: ./configure --enable-logging #include "mpc-log.h" instead of #include "mpc.h" - Minimally required library versions: gmp 4.3.2, mpfr 2.4.2 Changes in version 0.8.2: - Speed-up of mpc_pow_ui through binary exponentiation Changes in version 0.8.1: - Bug fixes: - mpc_acosh, mpc_asinh, mpc_atanh: swap of precisions between real and imaginary parts - mpc_atan: memory leak - mpc_log: wrong ternary value in data file; masked by bug in mpfr-2.4.1 Changes in version 0.8 ("Dianthus deltoides"): - New functions: - mpc_asin, mpc_acos, mpc_atan, mpc_asinh, mpc_acosh, mpc_atanh, mpc_pow_d, mpc_pow_ld, mpc_pow_si, mpc_pow_ui, mpc_pow_z, mpc_pow_fr - Bug fixes: - mpc_ui_div: real divisor Changes in version 0.7 ("Campanula uniflora"): - New functions: mpc_pow, mpc_set_nan, mpc_swap - Bug fixes: - mpc_log: along branch cut - mpc_norm: infinite loop in case of overflow - mpc_ui_div, mpc_div, mpc_fr_div: handling of division by 0 and infinities following the example code of the C99 standard - compilation with g++ - Makefile.vc updated (thanks to Mickael Gastineau) - Minimal gmp version is 4.2 - Changed MPC_SET_X_Y macro - Functions mpc_random and mpc_random2 removed Changes in version 0.6 ("Bellis perennis"): - New functions: mpc_get_str, mpc_set_str, mpc_strtoc, mpc_set_uj, mpc_set_sj, mpc_set_ld, mpc_set_ld_ld, mpc_set_si_si, mpc_set_uj_uj, mpc_set_sj_sj, mpc_set_f, mpc_set_f_f, mpc_set_q, mpc_set_q_q, mpc_set_z, mpc_set_z_z and mpc_free_str - New macro: MPC_SET_X_Y - mpc_set_ui_fr removed - Default precision removed, as well as mpc_init and all mpc_init_set* combinations; use mpc_init2 or mpc_init3, followed by mpc_set, instead - mpc_exp, mpc_log, mpc_cos, mpc_sin, mpc_tan, mpc_cosh, mpc_sinh, mpc_tanh and mpc_sqrt return inexact value - inp_str returns inexact value and the number of read characters in an additional parameter - Get default $CC and $CFLAGS from gmp.h (__GMP_CC / __GMP_CFLAGS, which are available as of GMP 4.2.3) - Bug fixes: - mpc_get_version and MPC_VERSION_STRING agree - Compilation on i686-pc-cygwin and i686-pc-mingw32 fixed Changes in version 0.5.2: - New macros: - version number: MPC_VERSION_NUM, MPC_VERSION - Makefile.vc updated (thanks to Mickael Gastineau) - Compilation on Debian-Gnu-Linux-PowerPC and MacOsX fixed (thanks to Laurent Fousse and Mickael Gastineau) Changes in version 0.5.1: - New functions: - mpc_set_fr_fr - mpc_real, mpc_imag - mpc_arg, mpc_proj - New macros: - version number: MPC_VERSION_MAJOR, MPC_VERSION_MINOR, MPC_VERSION_PATCHLEVEL, MPC_VERSION_STRING - references to number parts: mpc_realref and mpc_imagref - Test framework rewritten - Configure checks for recent gmp (>= 4.2) and mpfr (>= 2.3.1) libraries - New configure options: --with-gmp-lib, --with-gmp-include, --with-mpfr-lib, and --with-mpfr-include - Export declarations for MSWindows, makefile.vc updated (thanks to Mickael Gastineau) - Optimisations: - cmp_mul_fr, cmp_sin, cmp_cos - Bug fixes: - configure looks for gmp first, then for mpfr - mpc_cos, mpc_div, mpc_div_fr, mpc_fr_sub, mpc_mul_fr, mpc_set_fr, mpc_sqr - fix handling of special values: mpc_exp, mpc_log, mpc_mul, mpc_norm, mpc_sqr, mpc_sqrt Changes in version 0.5 ("Aconitum neomontanum"): - Support for autotools - New functions: - logarithm - trigonometric functions: mpc_cos, mpc_tan - hyperbolic functions: mpc_cosh, mpc_sinh, mpc_tanh - Bug fixes: - mpc_sqrt with directed rounding Copyright (C) 2008, 2009, 2010, 2011, 2012, 2013, 2014 INRIA Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty. usr/share/doc/less/NEWS000064400000075406152525703760010721 0ustar00 NEWS about less ====================================================================== For the latest news about less, see the "less" Web page: http://www.greenwoodsoftware.com/less You can also download the latest version of less from there. To report bugs, suggestions or comments, send email to bug-less@gnu.org ====================================================================== Major changes between "less" versions 487 and 530 * Don't output terminal init sequence if using -F and file fits on one screen. * When using -S, mark truncated lines with a special character. The character can be changed or disabled via the new --rscroll option. * New command M marks the last line displayed on the screen. * New command ESC-m removes a line mark. * Status column (enabled via -J) now shows mark letters. * Status column shows search matches even if highlighting is disabled via -G. * A second ESC-u command will clear search match markers in the status column. * Do same ANSI escape code filtering for tag matching that we do for searching, to help when viewing syntax-highlighted code. * Catch SIGTERM and clean up before exiting. * Fix bug initializing default charset on Windows. * Handle keypad ENTER key correctly if it sends something other than newline. * Fix buffering bug when using stdin with a LESSOPEN pipe. * On Windows, allow 'u' in -D option to enable underlining. * On Windows, use underline in sgr mode. * On Windows, convert UTF-8 to multibyte if console is not UTF-8. * Update Unicode tables to 2017-03-08. * Pass-thru Unicode formating chars (Cf type) instead of treating them as binary chars. But treat them as binary if -U is set. * Fix erroneous binary file warning when UTF-8 file contains ANSI SGR sequences. * Fix bugs when using LESSOPEN and switching between stdin and other files. * Fix some bugs handling filenames containing shell metacharacters. * Fix some memory leaks. * Allow some debugging environment variables to be set in lesskey file. * Code improvements: . Use ANSI prototypes in funcs.h declarations. . Fix some const mismatches. . Remove archaic "register" in variable declarations. ====================================================================== Major changes between "less" versions 481 and 487 * New commands ESC-{ and ESC-} to shift to start/end of displayed lines. * Make search highlights work correctly when changing caselessness with -i. * New option -Da in Windows version to enable SGR mode. * Fix "nothing to search" error when top or bottom line on screen is empty. * Fix bug when terminal has no "cm" termcap entry. * Fix incorrect display when entering double-width chars in search string. * Fix bug in Unicode handling that missed some double width characters. * Update Unicode database to 9.0.0. ====================================================================== Major changes between "less" versions 458 and 481 * Don't overwrite history file; just append to it. * New command ESC-G goes to end of currently buffered data in a pipe. * Disable history feature when compiled with LESSHISTFILE set to "-". * In more-compatible mode, make the -p option apply to every file opened, not just the first one. * In more-compatible mode, change the -e option to work like -E, not -EF. * Treat multiple CRs before LF are like one CR (all the CRs are hidden). * Allow "extra" string in lesskey file to append to a multi-char command (like a search pattern), without executing the command. * Ignore -u/-U setting while viewing help file, so that underline and bold chars are displayed correctly. * Improve detection of "binary" files in UTF-8 mode. * Fix bug with ++ commands. * Fix bug where prompt was sometimes not displayed with +G. * Fix possible memory corruption * Fix bugs and improve performance in ampersand filtering. * Automate construction of Unicode tables from Unicode database. * Allow %% escape sequence in LESSOPEN variable. ====================================================================== Major changes between "less" versions 451 and 458 * Allow backslash escaping of metacharacters in LESS environment variable after the --use-backslash option. * Don't quit if syntax errors are found in command line options. * Increase sizes of some internal buffers. * Fix configure bug with --with-regex=none. * Fix crash with "stty rows 0". * Fix Win32 attribute display bug. * Fix display bug when using up/down arrow on the command line. ====================================================================== Major changes between "less" versions 444 and 451 * Add ESC-F command to keep reading data until a pattern is found. * Use exit code of LESSOPEN script if LESSOPEN starts with "||". * When up/down arrow is used on the command line immediately after typing text, the next command starting with that text is found. * Add support for GNU regex. * Add configure option --with-regex=none and fix compile errors when compiling with no regex library. * Fix bugs handling SGR sequences in Win32. * Fix possible crashes caused by malformed LESSOPEN or LESSCLOSE variables. * Fix bug highlighting text which is discontiguous in the file due to backspace processing. * Fix bug in displaying status column when scrolling backwards with -J and -S in effect. ====================================================================== Major changes between "less" versions 443 and 444 * Fix bug in unget handling that can cause strange effects on the command line. * Remove vestiges of obsolete -l option that can cause a crash. ====================================================================== Major changes between "less" versions 436 and 443 * Change search behavior such that when a search is given an explicit pattern, the entire displayed screen is included in the search and not just the portion after the target line. * Add -A option to change search behavior to the old way: only the portion of the screen after the target line is searched. * Add %F formatting to prompt strings, replaced by the last component of the input file. * Control-G while editing a command exits the command. * Less now exits with status 2 if control-C is pressed and -K is in effect. * Fix "ungetc overflow" when passing long commands via the -p option. * Fix bug in using line filtering via the & command in combination with -i and -I. * Fix bug in handling negative arguments to the -j option. * Fix bug in handling %t in prompt strings. * Improve handling of long option names. * Improve percentage calculation for very large files. ====================================================================== Major changes between "less" versions 429 and 436 * Don't pass "-" to non-pipe LESSOPEN unless it starts with "-". * Allow a fraction as the argument to the -# (--shift) option. * Fix highlight bug when underlined/overstruck text matches at end of line. * Fix non-regex searches with ctrl-R. ====================================================================== Major changes between "less" versions 424 and 429 * LESSOPEN pipe will now be used on standard input, if the LESSOPEN environment variable begins with "|-". * The -D option with one number now means use the normal background color. * Don't change permissions on history file if it is not a regular file. * Fix non-ANSI-compliant code that caused problems with some compilers. * Fix binary file detection in UTF-8 mode. * Fix display problems with long lines on "ignaw" terminals. * Fix problem interrupting the line number calculation for initial prompt. * Fix SGR emulation when dealing with multiple attributes (eg. bold+underline). * Fix highlight bug when searching for underlined/overstruck text. ====================================================================== Major changes between "less" versions 418 and 424 * New "&" command allows filtering of lines based on a pattern. * Status column now displays a search match, even if the matched string is scrolled off screen because -S is in effect. * Improve behavior of -F option. * Allow CSI character (0x9B) to work in UTF-8 mode. * Output carriage return at startup in case terminal doesn't default to column 1. * Fix bug in '' (quote, quote) command after G command. ====================================================================== Major changes between "less" versions 416 and 418 * Color escape sequences are now supported in WIN32 build. * Makefile now uses EXEEXT feature of autoconf. * Fix search bug when using -R and text contains ANSI color escape sequences. * Fix crash when using -r with UTF-8 text containing 0x9B bytes. * Fix display bug when using ' command to move less than one page forward. * Update GPL to version 3. ====================================================================== Major changes between "less" versions 409 and 416 * New --follow-name option makes F command follow the name of a file rather than the file descriptor if an open file is renamed. * Make searching with -i/-I work correctly with non-ASCII text. * Fix DJGPP build. ====================================================================== Major changes between "less" versions 406 and 409 * Support CSI escape sequences, like SGR escape sequences. * Fix bug which caused screen to fail to repaint when window is resized. * Fix bug in using -i and -I flags with non-ASCII text. * Fix configure bug on systems which don't support langinfo.h. * Fix crash when searching text containing certain invalid UTF-8 sequences. ====================================================================== Major changes between "less" versions 394 and 406 * Allow decimal point in number for % (percent) command. * Allow decimal point in number for -j option (fraction of screen height). * Make n command fetch previous pattern from history file on first search. * Don't rewrite history file if it has not changed. * Don't move to bottom of screen on first page. * Don't output extraneous newlines, so copy & pasting lines from the output works better. * The -c option has been made identical with the -C option. * Allow "/dev/null" as synomym for "-" in LESSHISTFILE to indicate that no history file should be used. * Search can now find text which follows a null byte, if the PCRE library is used, or if no-regex searching (ctrl-R) is used. * Better compatibility with POSIX more specification. * Make -f work for directories. * Make "t" cmd traverse tags in the correct order. * Allow a few binary characters in the input file before warning that the file is binary. * Don't warn that file is binary if it merely contains ANSI color sequences and -R is in effect. * Update Unicode character tables. * Support DESTDIR in Makefile. * Fix bug when filename contains certain shell metacharacters such as "$". * Fix bug when resizing the window while waiting for input from a pipe. * Fix configure bugs. ====================================================================== Major changes between "less" versions 382 and 394 * Add history file to save search and shell command history between invocations of less. * Improve behavior of history list for search and shell commands. * Add -K (or --quit-on-intr) option to make less exit immediately on ctrl-C. * Improve handling of UTF-8 files and commands, including better line wrapping and handling double-width chars. * Added LESSUTFBINFMT environment variable to control display of non-printable characters in a UTF-8 file. * Add --with-secure option to configure, to make it easier to build a secure version of less. * Show search matches in the status column even if search highlights are disabled via the -G option or the ESC-u command. * Improve performance when the file contains very long lines. * Add "windows" charset. * Add man page for lessecho. * Add support for erase2 character, treated same as erase. * Use ASCII lowercase/uppercase logic when operating on the command line. * Update makefile for Borland C++ 5.5.1. * Fix bug in calculating number of pages for %D prompt. * Fix bug in handling tag file error. * Fix obscure bug if input file is deleted while viewing help. * Fix bug handling filenames which include square brackets. * Fix possible buffer overflow in "global" tag search. * Fix possible buffer overflow in usage of LESSOPEN and LESSCLOSE. * Fix buffer overflow in reverse search. ====================================================================== Major changes between "less" versions 381 and 382 * Removed some old copyrighted code. This probably breaks OS/9 support. ====================================================================== Major changes between "less" versions 378 and 381 * New -L option to disable LESSOPEN processing. * Further support for large (64 bit) file addressing. Large file support is now set up by the configure script. * Use autoconf 2.54. Replace configure.in, acconfig.h, defines.h.top with configure.ac. * Overstriking underscore with underscore is now bold or underlined depending on context. * Use only 7 spaces for line numbers in -N mode, if possible. * Fix some bugs in handling overstriking in UTF-8 files. * Fix some nroff issues in the man page. ====================================================================== Major changes between "less" versions 376 and 378 * Bug fixes: Default buffer space is now 64K as documented. Search highlighting works properly when used with -R. Windows version works properly when input file contains carriage returns. Clean up some compiler warnings. ====================================================================== Major changes between "less" versions 358 and 376 * -x option can now specify multiple variable-width tab stops. * -X option no longer disables keypad initialization. New option --no-keypad disables keypad initialization. * New commands t and T step through multiple tag matches. Added support for "global(1)" tags (see http://www.gnu.org/software/global/global.html). * New prompt style set by option -Pw defines the message printed while waiting for data in the F command. * System-wide lesskey file now defaults to sysless in etc directory instead of .sysless in bin directory. Use "configure --sysconfdir=..." to change it. (For backwards compatibility, .sysless in bin is still recognized.) * Pressing RightArrow or LeftArrow while entering a number now shifts the display N columns rather than editing the number itself. * Status column (enabled with -J) now shows search results. * Windows version sets window title. * Default LESSCHARSET for MS-DOS versions is now "dos". * Searching works better with ANSI (SGR) escape sequences. ANSI color escape sequences are now supported in the MS-DOS (DJGPP) version. * Improved performance in reading very large pipes. * Eliminated some dependencies on file offets being 32 bits. * Fixed problems when viewing files with very long lines. * Fixed overstriking in UTF-8 mode, and overstriking tabs. * Improved horizontal shifting of text using -R option with ANSI color. * Improved handling of filenames containing shell metacharacters. * Some fixes for EBCDIC systems. * Some fixes for OS/2 systems. ====================================================================== Major changes between "less" versions 354 and 358 * Add -J (--status-column) option to display a status column. * Add -# (--shift) option to set default horizontal shift distance. Default horizontal shift distance is now one-half screen width. * Horizontal shifting does not shift line numbers if -N is in effect. * Horizontal shifting acts as though -S were set, to avoid confusion. ====================================================================== Major changes between "less" versions 352 and 354 * Allow space after numeric-valued command line options. * Fix problem with configuring terminal libraries on some systems. * Add support for PCRE regular expression library. * Add --with-regex option to configure to allow manually selecting a regular expression library. * Fix bug compiling with SECURE = 1. ====================================================================== Major changes between "less" versions 346 and 352 * Enable UTF-8 if "UTF-8" appears in locale-related environment variables. * Add --with-editor option to configure script. * The -M prompt and = message now show the top and bottom line number. * Fix bug in running the editor on a file whose name contains quotes, etc. * Fix bug in horizontal scrolling of long lines. * Fix bug in doing :d on a file which contains marks. * Fix bug causing cleared lines to sometimes be filled with standout, bold, underline, etc. on certain terminals. * Fixes for MS-DOS (DJGPP) version. ====================================================================== Major changes between "less" versions 340 and 346 * The UTF-8 character set is now supported. * The default character set is now latin1 rather than ascii. * New option -R (--RAW-CONTROL-CHARS) is like -r but handles long (wrapped) lines correctly, as long as the input contains only normal text and ANSI color escape sequences. * New option -F (--quit-if-one-screen) quits if the text fits on the first screen. * The -w option now highlights the target line of a g or p command. * A system-wide lesskey file is supported (LESSKEY_SYSTEM). * New escape for prompt strings: %c is replaced by column number. * New escape for prompt strings: %P is replaced by percentage into file, based on line number rather than byte offset. * HOME and END keys now jump to beginning of file or end of file. ====================================================================== Major changes between "less" versions 337 and 340 * Command line options for less may now be given in either the old single-letter form, or a new long name form (--option-name). See the less man page or "less --help" for the list of long option names. * Command line options for lesskey may now be given in a new long name form. See the lesskey man page for the list of long option names. * New command -- toggles an option using the long option name. * New command __ queries an option using the long option name. * The old -- command is renamed as -!. * If a ^P is entered between the dash and the option letter of the - command, the message describing the new setting is suppressed. * Lesskey files may now contain \k escape sequences to represent the "special" keys (arrows, PAGE-UP/PAGE-DOWN, HOME, END, INSERT, DELETE). * New command :d removes the current file from the list of files. * New option -~ (like -w before version 335) suppresses tildes after end-of-file. * Less is now released under the GNU General Public License. ====================================================================== Major changes between "less" versions 335 and 337 * Fixed bugs in "make install". ====================================================================== Major changes between "less" versions 332 and 335 * The old -w flag (suppress tildes after end-of-file) has been removed. * New -w flag highlights the first new line after a forward-screen. * New -W flag highlights the first new line after any forward movement. * Window resize works even if LINES and/or COLUMNS environment variables are incorrect. * New percent escapes for prompt strings: %d is replaced by the page number, and %D is replaced by the number of pages in the file. * Added charsets "iso8859" and "ebcdic". * In Windows version, uses HOMEDRIVE and HOMEPATH if HOME is not defined. * Fixed some bugs causing incorrect display on DOS/Windows. ====================================================================== Major changes between "less" versions 330 and 332 * Filenames from the command line are entered into the command history, so UPARROW/DOWNARROW can be used to retrieve them from the :e command. * Now works correctly on Windows when using a scrolling terminal window (buffer larger than display window). * On Windows, now restores the console screen on exit. Use -X to get the old behavior. * Fixed bug on Windows when CAPS-LOCK or NUM-LOCK is pressed. * Fixed bug on Windows when piping output of an interactive program. * Fixed bug in tags file processing when tags file has DOS-style line terminators (CR/LF). * Fixed compilation problem on OS/2. ====================================================================== Major changes between "less" versions 321 and 330 * Now supports filenames containing spaces (in double quotes). New option -" can be used to change the quoting characters. * In filename completion, a slash is appended to a directory name. If the environment variable LESSSEPARATOR is set, the value of that variable, rather than a slash, is appended. * LeftArrow and RightArrow are same as ESC-[ and ESC-]. * Added commands ESC-( and ESC-), same as ESC-[ and ESC-]. * A "quit" command defined in a lesskey file may now have an "extra" string, which is used to return an exit code from less when it quits. * New environment variables LESSMETACHARS and LESSMETAESCAPE provide more control over how less interfaces to the shell. * Ported to Microsoft Visual C compiler for Windows. * Ported to DJGPP compiler for MS-DOS. * Bug fixes. ====================================================================== Major changes between "less" versions 291 and 321 * Command line at bottom of screen now scrolls, so it can be longer than the screen width. * New commands ESC-] and ESC-[ scroll the display horizontally. * New command ESC-SPACE scrolls forward a full screen, even if it hits end-of-file. * Alternate modifiers for search commands: ^N is same as !, ^F is same as @, and ^E is same as *. * New modifier for search commands: ^K means highlight the matches currently on-screen, but don't move to the first match. * New modifier for search commands: ^R means don't use regular expressions in the search. * Environment variable LESSKEY gives name of default lesskey file. * Environment variable LESSSECURE will force less to run in "secure" mode. * Command line argument "--" signals that the rest of the arguments are files (not option flags). * Help file (less.hlp) is no longer installed. Help text is now embedded in the less executable itself. * Added -Ph to change the prompt for the help text. Added -Ps to change the default short prompt (same as plain -P). * Ported to the Borland C compiler for MS-DOS. * Ported to Windows 95 & Windows NT. * Ported to OS-9. * Ported to GNU Hurd. ====================================================================== Major changes between "less" versions 290 and 291 * Less environment variables can be specified in lesskey files. * Fixed MS-DOS build. ====================================================================== Major changes between "less" versions 278 and 290 * Accepts GNU-style options "--help" and "--version". * OS/2 version looks for less.ini in $HOME before $INIT and $PATH. * Bug fixes ====================================================================== Major changes between "less" versions 252 and 278 * A LESSOPEN preprocessor may now pipe the converted file data to less, rather than writing it to a temporary file. * Search pattern highlighting has been fixed. It now highlights reliably, even if a string is split across two screen lines, contains TABs, etc. * The -F flag (which suppress search highlighting) has been changed to -G. A new flag, -g, changes search highlighting to highlight only the string found by the last search command, instead of all strings which match the last search command. * New flag -I acts like -i, but ignores case even if the search pattern contains uppercase letters. * Less now checks for the environment variable VISUAL before EDITOR. * Ported to OS/2. ====================================================================== Major changes between "less" versions 237 and 252 * Changes in line-editing keys: The literal key is now ^V or ^A rather than \ (backslash). Filename completion commands (TAB and ^L) are disabled when typing a search pattern. * Line-editing command keys can be redefined using lesskey. * Lesskey with no input file defaults to $HOME/.lesskey rather than standard input. * New option -V displays version number of less. * New option -V displays version number of lesskey. * Help file less.hlp is now installed by default in /usr/local/share rather than /usr/local/lib. ====================================================================== Major changes between "less" versions 170 and 237 * By popular demand, text which matches the current search pattern is highlighted. New -F flag disables this feature. * Henry Spencer's regexp.c is now included, for systems which do not have a regular expression library. regexp.c is Copyright (c) 1986 by University of Toronto. * New line-editing keys, including command history (arrow keys) and filename completion (TAB). * Input preprocessor allows modification of input files (e.g. uncompress) via LESSOPEN/LESSCLOSE environment variables. * New -X flag disables sending termcap "ti" and "te" (initialize and deinitialize) strings to the terminal. * Changing -i from within less now correctly affects a subsequent repeated search. * Searching for underlined or overstruck text now works when the -u flag is in effect, rather than the -i flag. * Use setlocale (LANG and LC_CTYPE environment variables) to determine the character set if LESSCHARSET/LESSCHARDEF are not set. * The default format for displaying binary characters is now standout (reverse video) rather than blinking. This can still be changed by setting the LESSBINFMT environment variable. * Use autoconf installation technology. * Ported to MS-DOS. ******************************** Things that may surprise you ******************************** * When you enter text at the bottom of the screen (search string, filename, etc.), some keys act different than previously. Specifically, \ (backslash), ESC, TAB, BACKTAB, and control-L now have line editing functions. * Some previous unofficial versions of less were able to display compressed files. The new LESSOPEN/LESSCLOSE feature now provides this functionality in a different way. * Some previous unofficial versions of less provided a -Z flag to set the number of lines of text to retain between full screen scrolls. The -z-n flag (that is, -z with a negative number) provides this functionality. ====================================================================== Major changes between "less" versions 123 and 170 * New option -j allows target lines to be positioned anywhere on screen. * New option -S truncates displayed line at the screen width, rather than wrapping onto the next line. * New option -y limits amount of forward scroll. * New option -T specifies a "tags" file. * Non-printable, non-control characters are displayed in octal. Such characters, as well as control characters, are displayed in blinking mode. * New command -+ sets an option to its default. * New command -- sets an option to the opposite of its default. * Lesskey file may have a string appended to a key's action, which acts as though typed in after the command. * New commands ESC-^F and ESC-^B match arbitrary types of brackets. * New command F monitors a growing file (like "tail -f"). * New command | pipes a section of the input file into a shell command. * New command :x directly jumps to a file in the command line list. * Search commands have been enhanced and reorganized: n Repeat search, same direction. N Repeat search, opposite direction. ESC-/ Search forward thru file boundaries ESC-? Search backward thru file boundaries ESC-n Repeat search thru file boundaries, same direction. ESC-N Repeat search thru file boundaries, opposite direction. Special character * causes search to search thru file boundaries. Special character @ causes search to begin at start/end of file list. * Examining a new file adds it to the command line list. A list of files, or an expression which matches more than one file, may be examined; all of them are added to the command line list. * Environment variables LESSCHARSET and LESSCHARDEF can define a non-ASCII character set. * Partial support for MSDOS, including options -R for repainting screen on quit, -v/-V to select video mode, and -W to change window size. ====================================================================== Major changes between "less" versions 97 and 123 * New option (-N) causes line numbers to be displayed in the text of the file (like vi "set nu"). * New option (-?) prints help message immediately. * New option (-r) displays "raw" control characters, without mapping them to ^X notation. * New option (-f) forces less to open non-regular files (directories, etc). * New option (-k) can be used to specify lesskey files by name. * New option (-y) can be used to set a forward scroll limit (like -h sets a backward scroll limit). * File marks (set by the m command) are now preserved when a new file is edited. The ' command can thus be used to switch files. * New command ESC-/ searches all files (on the command line) for a pattern. * New command ESC-n repeats previous search, spanning files. * The N command has been changed to repeat the previous search in the reverse direction. The old N command is still available via :n. * New command ESC-N repeats previous search in the reverse direction and spanning files. * 8 bit characters are now supported. A new option (-g) can be used to strip off the eighth bit (the previous behavior). * Options which take a following string (like -t) may now optionally have a space between the option letter and the string. * Six new commands { } ( ) [ and ] can be used to match brackets of specific types, similar to vi % command. * New commands z and w move forward/backward one window and simultaneously set the window size. * Prompt string expansion now has %L for line number of the last line in the file, and %E for the name of the editor. Also, % escapes which refer to a line (b=bottom, t=top, etc.) can use j for the jump target line. * New environment variable LESSEDIT can be used to tailor the command string passed to the editor by the v command. * Examining a file which was previously examined will return to the same position in the file. * A "%" is expanded to the current filename and a "#" to the previous filename, in both shell commands and the E command. (Previously % worked only in shell commands and # worked only in the E command.) * New command ":ta" is equivalent to "-t". * New command "s" is equivalent to "-l". * The - command may be followed by "+X" to revert to the default for option X, or "-X" to get the opposite of the default. * Lesskey files may now include characters after the action as extra input to be parsed after the action; for example: "toggle-option X" to toggle a specific option X. usr/share/doc/p11-kit/NEWS000064400000041575152526017210011126 0ustar000.23.22 (stable) * Fix memory-safety issues that affect the RPC protocol (CVE-2020-29361, CVE-2020-29362, and CVE-2020-29363), discovered and fixed by David Cook * anchor: Prefer persistent format when storing anchor [PR#329] * common: Fix infloop in p11_path_build [PR#326, PR#327] * proxy: C_CloseAllSessions: Make sure that calloc args are non-zero [PR#325] * common: Check for a NULL locale before freeing it [PR#321] * Build and test fixes [PR#313, PR#315, PR#317, PR#318, PR#319, PR#323, PR#330, PR#333, PR#334, PR#335, PR#338, PR#339] 0.23.21 (stable) * proxy: Do not assign duplicate slot IDs [PR#282] * common: Get program name based on executable path if possible [PR#307] * anchor: Exit with non-zero code, if any error occurs [PR#304] * Build and test fixes [PR#283, PR#290, PR#291, PR#292, PR#296, PR#299, PR#305, PR#306, PR#309, PR#311] 0.23.20 (stable) * Revert "Fix RPC when length-s are 0" changes [PR#276] 0.23.19 (stable) * common: add Russian PKCS#11 extensions to pkcs11x.h header [PR#255] * Add simple bash completion for provided commands [PR#258] * Unbreak list matching in enable-in and disable-in [PR#262] * Fix RPC when length-s are 0 [PR#259] * rpc: Add vsock transport support [PR#270] * trust: Support CKA_NSS_{SERVER,EMAIL}_DISTRUST_AFTER [PR#265] * Build fixes [PR#271, PR#272, PR#273, ...] 0.23.18 (stable) * rpc: Allow empty CK_DATE value [PR#253] * build: Meson fixes [PR#245] * build: Adjust feature parity between meson and autotools [PR#247] 0.23.17 (stable) * common: Fix uClibc-ng compilation [PR#237] * trust: do not allow daylight to invalidate date validation [PR#236] * build: Port to meson build system [PR#231, PR#234] * rpc: On UNIX wait on condition variable instead of FD if header is for a different thread [PR#232] * doc: Add 'server' command in help [PR#229] * Build and test fixes [PR#230] 0.23.16 (stable) * proxy: Support C_WaitForSlotEvent() if CKF_DONT_BLOCK is specified [PR#225] * conf: Ignore user configuration if the program is running as root [PR#226] * proxy: Refresh slot list on every C_GetSlotList call [PR#224] * modules: Fix index used in call to p11_dict_remove() [PR#219] * Fix Win32 p11_dl_error crash [PR#218] * modules: check gl.modules before iterates on it when freeing [PR#217] * trust: Ignore unreadable content in anchors [PR#215] * extract-jks: Prefer _p11_extract_jks_timestamp to SOURCE_DATE_EPOCH [PR#213] 0.23.15 (stable) * trust: Improve error handling if backed trust file is corrupted [PR#206] * url: Prefer upper-case letters in hex characters when encoding [PR#193] * trust/extract-jks.c: also honor SOURCE_DATE_EPOCH time [PR#202] * virtual: Prefer fixed closures to libffi closures [PR#196] * Fix issues spotted by coverity and cppcheck [PR#194, PR#204] * Build and test fixes [PR#164, PR#191, PR#199, PR#201] 0.23.14 (stable) * proxy: Avoid invalid memory access when unloading proxy module [PR#180] * Update pkcs11 header to allow SoftHSMv2 to compile [PR#181] * build: Restore libpthread dependency [PR#183] * Build fixes [PR#188] 0.23.13 (stable) * server: Enable socket activation through systemd [PR#173] * rpc-server: p11_kit_remote_serve_tokens: Allow exporting all modules [PR#174] * proxy: Fail early if there is no slot mapping [PR#175] * Remove hard dependency on libpthread [PR#177] * Build fixes [PR#170, PR#176] 0.23.12 (stable) * Fix compile error when PKCS#11 GNU calling convention is enabled [PR#160] * Fix getauxval() and secure_getenv() emulation on macOS and FreeBSD [PR#167] * Build and test fixes on macOS [PR#162, PR#168] 0.23.11 (stable) * trust: Add extractor for edk2/cacerts.bin [PR#139] * modules: Add option to control module visibility from proxy [PR#140] * trust: Prevent trust module being loaded by proxy module [PR#142] * library: Use dedicated locale object for printing error [PR#148] * Treat CKR_CRYPTOKI_ALREADY_INITIALIZED correctly [PR#134] * Improve const correctness for P11KitUri [PR#152] * PKCS#11 URI scheme comparison is now case insensitive [PR#156] * Build and test fixes [PR#151, PR#149, PR#141, PR#138, PR#135] 0.23.10 (devel) * filter: Respect "write-protected" vendor-specific attribute in PKCS#11 URI [PR#129] * server: Improve shell integration and documentation [PR#107, PR#108] * proxy: Reuse existing slot ID mapping in after fork() [PR#120] * trust: Forcibly mark "Default Trust" read-only [PR#123] * New function p11_kit_override_system_files() which can be used for testing [PR#110] * trust: Filter out duplicate extensions [PR#69] * Update translations [PR#128] * Bug fixes [PR#125, PR#126] 0.23.9 (devel) * Fix p11-kit server regressions [PR#103, PR#104] * trust: Respect anyExtendedKeyUsage in CA certificates [PR#99] * Build fixes related to reallocarray [PR#96, PR#98, PR#100] 0.23.8 (devel) * Improve vendor query attributes handling in PKCS#11 URI [PR#92] * Add OTP and GOST mechanisms to pkcs11.h [PR#90, PR#91] * New envvar P11_KIT_NO_USER_CONFIG to stop looking at user configurations [PR#87] * Build fixes for Solaris and 32-bit big-endian platforms [PR#81, PR#86] 0.23.7 (devel) * Fix memory issues with "p11-kit server" [PR#78] * Build fixes [PR#77 ...] 0.23.6 (devel) * Port "p11-kit server" to Windows and portability fixes of the RPC protocol [PR#67, PR#72, PR#74] * Recover the old behavior of "trust anchor --remove" [PR#70, PR#71] * Build fixes [PR#63 ...] 0.23.5 (devel) * Fix license notice of common/unix-peer.c [PR#58] * Remove systemd unit files for now [PR#60] * Build fixes for FreeBSD [PR#56] 0.23.4 (devel) * Recognize query attributes defined in PKCS#11 URI (RFC7512) [PR#31, PR#37, PR#52] * The trust policy module now recognizes CKA_NSS_MOZILLA_CA_POLICY attribute, used by Firefox [#99453, PR#46] * Add 'trust dump' command to dump all PKCS#11 objects in the persistence format [PR#44] * New experimental 'p11-kit server' command that allows PKCS#11 forwarding through a Unix domain socket. A client-side module p11-kit-client.so is also provided [PR#15] * Add systemd unit files for exporting the proxy module through a Unix domain socket [PR#35] * New P11KitIter API to iterate over slots, tokens, and modules in addition to objects [PR#28] * libffi dependency is now optional [PR#9] * Build fixes for FreeBSD, macOS, and Windows [PR#32, PR#39, PR#45] 0.23.3 (devel) * Install private executables in libexecdir [#98817] * Fix link error of proxy module on macOS [#98022] * Use new PKCS#11 URI specification for URIs [#97245] * Support x-init-reserved argument of C_Initialize() in remote modules [#80519] * Incorporate changes from PKCS#11 2.40 specification * Bump libtool library version * Documentation fixes * Build fixes [#87192 ...] 0.23.2 (devel) * Fix forking issues with libffi [#90289 ...] * Updated translations * Build fixes [#90827 #89081 #92434 #92520 #92445 #92551 #92843 #92842 #92807 #93211 ...] 0.23.1 (devel) * Use new PKCS#11 URI draft fields for URIs [#86474 #87582] * Add pem-directory-hash extract format * Build fixes 0.22.1 (stable) * Use SubjectKeyIdentifier for CKA_ID when available [#84761] * Allow 'BEGIN PuBLIC KEY' PEM blocks in .p11-kit files * Bump libtool library version * Build fixes [#84665 ...] 0.22.0 (stable) * Remove the 'isolated = yes' option due to unclear semantics replacement forth coming in later versions. * Use secure_getenv() where necessary * Run separate binary for 'p11-kit remote' command 0.21.3 (unstable) * New public pkcs11x.h header containing extensions [#83495] * Export necessary defines to lookup attached extensions [#83495] * Use term 'attached extensions' rather than 'stabled extensions' * Make proxy module respect 'critical = no' [#83651] * Show public-key-info in 'trust list --details' * Build fixes [#75674 ...] 0.21.2 (unstable) * Don't use invalid keys for looking up stapled extensions [#82328] * Better error messages when invalid certificate extensions * Fix parsing of some odd OpenSSL TRUSTED CERTIFICATE files * Fix some leaks, and memory issues * Silence some clang scanner warnings * Fix build against older pthread implementations [#82617] * Move to a non-recursive Makefile * Can now specify which tests to run on command line 0.21.1 (unstable) * Add new 'isolate' pkcs11 config option [#80472] * Add 'p11-kit remote' command for isolating modules [#54105] * Don't complain about C_Finalize after a fork * Other minor fixes 0.20.3 (stable) * Fix problems reinitializing managed modules after fork * Fix bad bookkeeping when fail initializing one of the modules * Fix case where module would be unloaded while in use [#74919] * Remove assertions when module used before initialized [#74919] * Fix handling of mmap failure and mapping empty files [#74773] * Stable p11_kit_be_quiet() and p11_kit_be_loud() functions * Require automake 1.12 or later * Build fixes for Windows [#76594 #74149] 0.20.2 (stable) * Fix bug where blacklist didn't affect extracted ca-anchors if the anchor and blacklist were not in the same trust path (regression) [#73558] * Check for race in BasicConstraints stapled extension [#69314] * autogen.sh now runs configure as srcdir != builddir by default * Build fixes and cleanup 0.20.1 (stable) * Extract compat trust data after we've changes * Skip compat extraction if running as non-root * Better failure messages when removing anchors * Build cleanup 0.20.0 (stable) * Doc fixes 0.19.4 (unstable) * 'trust anchor' now adds/removes certificate anchors * 'trust list' lists trust policy stuff * 'p11-kit extract' is now 'trust extract' * 'p11-kit extract-trust' is now 'trust extract-compat' * Workarounds for working on broken zfsonlinux.org [#68525] * Add --with-module-config parameter to the configure script [#68122] * Add support for removing stored PKCS#11 objects in trust module * Various debugging tweaks 0.19.3 (unstable) * Fix up problems with automake testing * Fix a bunch of memory leaks in newly refactored code * Don't use _GNU_SOURCE and the unportability it brings * Testing fixes 0.19.2 (unstable) * Add basic 'trust anchor' command to store a new anchor * Support for writing out trust token objects * Port to use CKA_PUBLIC_KEY_INFO and updated trust store spec * Add option to use freebl for hashing * Implement reloading of token data * Fix warnings and possible minor bugs highlighted by code scanners * Don't load configs in home directories when running setuid or setgid * Support treating ~/.config as $XDG_CONFIG_HOME * Use $XDG_DATA_HOME/pkcs11 as default user config directory * Use $TMPDIR instead of $TEMP while testing * Open files and fds with O_CLOEXEC * Abort initialization if a critical module fails to load * Don't use thread-unsafe functions: strerror, getpwuid * Fix p11_kit_space_strlen() result when empty string * Refactoring of where various components live * Build fixes 0.19.1 (unstable) * Refactor API to be able to handle managed modules * Deprecate much of old p11-kit API * Implement concept of managed modules * Make C_CloseAllSessions function work for multiple callers * New dependency on libffi * Fix possible threading problems reported by hellgrind * Add log-calls option * Mark p11_kit_message() as a stable function * Use our own unit testing framework 0.18.3 (stable) * Fix reinitialization of trust module [#65401] * Fix crash in trust module C_Initialize * Mac OS fixes [#57714] 0.18.2 (stable) * Build fixes [#64378 ...] 0.18.1 (stable) * Put the external tools in $libdir/p11-kit * Documentation build fixes 0.18.0 (stable) * Fix use of trust module with gcr and empathy [#62896] * Further tweaks to trust module date parsing * Fix unaligned memory reads [#62819] * Win32 fixes [#63062, #63046] * Debug and logging tweaks [#62874] * Other build fixes 0.17.5 (unstable) * Don't try to guess at overflowing time values on 32-bit systems [#62825] * Test fixes [#927394] 0.17.4 (unstable) * Check for duplicate certificates in a token, warn and discard [#62548] * Implement a proper index so we have decent load performance 0.17.3 (unstable) * Use descriptive labels for the trust module tokens [#62534] * Remove the temporary built in distrust objects * Make extracted output directories and files read-only [#61898] * Don't export unnecessary ABI * Build fixes [#62479] 0.17.2 (unstable) * Fix build on 32-bit linux * Fix several crashers 0.17.1 (unstable) * Support a p11-kit specific PKCS#11 attribute persistence format [#62156] * Use the SHA1 hash of SPKI as the CKA_ID in the trust module by default [#62329] * Refactor a trust builder which builds objects out of parsed data [#62329] * Combine trust policy when extracting certificates [#61497] * The extract --comment option adds comments to PEM bundles [#62029] * A new 'priority' config option for ordering modules [#61978] * Make each configured path its own trust module token [#61499] * Use --with-trust-paths to configure trust module [#62327] * Fix bug decoding some PEM files * Better debug output for trust module lookups * Work around bug in NSS when doing serial number lookups * Work around broken strndup() function in firefox * Fix the nickname for the distrusted attribute * Build fixes 0.16.4 (stable) * Display per command help again [#62153] * Don't always print tools debug output [#62152] 0.16.3 (stable) * When iterating don't skip tokens without the CKF_TOKEN_INITIALIZED flag * Hardcode some distrust records for NSS temporarily * Parse global options better in the p11-kit command * Better debugging 0.16.2 (stable) * Fix regression in 'p11-kit extract --purpose' option [#62009] * Documentation updates * Build fixes [#62001, ...] 0.16.1 (stable) * Don't break when cA field of BasicConstraints is missing [#61975] * Documentation fixes and updates * p11-kit extract-trust is a placeholder script now 0.16.0 (stable) * Update the pkcs11.h header for new mechanisms * Fix build and tests on mingw64 (ie: win32) * Relicense LGPL code to BSD license * Documentation tweaks * Pull translations from Transifex [#60792] * Build fixes [#61739, #60894, #61740] 0.15.2 (unstable) * Add German and Finish translations * Better define the libtasn1 dependency * Crasher and bug fixes * Build fixes 0.15.1 (unstable) * Fix some memory leaks * Add a location for packages to drop module configs * Documentation updates and fixes * Add command line tool manual page * Remove unused err() function and friends * Move more code into common/ directory and refactor * Add a system trust policy module * Refactor how the p11-kit command line tool works * Add p11-kit extract and extract-trust commands * Don't complain if we cannot access ~/.pkcs11/pkcs11.conf * Refuse to load the p11-kit-proxy.so as a registered module * Don't fail initialization if last initialized module fails 0.14 * Change default for user-config to merge * Always URI-encode the 'id' attribute in PKCS#11 URIs * Expect a .module extension on module configs * Windows compatibility fixes * Testing fixes * Build fixes 0.13 * Don't allow reading of PIN files larger than 4096 bytes * If a module is not marked as critical then ignore init failure * Use preconditions to check for input problems and out of memory * Add enable-in and disable-in options to module config * Fix the flags in pin.h * Use gcc extensions to check varargs during compile * Fix crasher when a duplicate module is present * Fix broken hashmap behavior * Testing fixes * Win32 build fixes * 'p11-kit -h' now works * Documentation fixes 0.12 * Build fix 0.11 * Remove automatic reinitialization of PKCS#11 after fork 0.10 * Build fixes, for windows, gcc 4.6.1 0.9 * p11-kit can't be used as a static library * Fix problems crashing when freeing TLS on windows * Add debug output to windows init and uninit of library * Build fixes, especially for windows 0.8 * Rename non-static functions to have a _p11_xxx prefix * No concurrent calling of C_Initialize and C_Finalize * Print more information in 'p11-kit -l' * Initial port to win32 * Build, testing fixes 0.7 * Expand p11-kit config variables correctly invarious build scenarios * Add test tool to print out error messages * Build fix on FreeBSD 0.6 * Add concept of a default module directory from which modules with relative paths are loaded. * Renamed pkg-config variables to make it clearer what's what. 0.5 * Fix crasher in p11_kit_registered_modules() * Add 'critical' setting for modules, which defaults to 'no' * Fix initialization issues in the proxy module 0.4 * Fix endless loop if module forks during initialization * Update PKCS#11 URI code for new draft of spec * Don't fail when duplicate modules are configured * Better debug output * Add example configuration documentation * Support whitespace in PKCS#11 URIs 0.3 * Rewrite hash table, and simplify licensing. * Correct paths for p11-kit config files. * Many build fixes and tweaks. 0.2 * List token labels in 'p11-kit -l' * Add API's for handing the pinfile part of URIs * Use /etc/pkcs11 by default instead of ${prefix}/etc/pkcs11 * Bug fixes 0.1 * Initial release usr/share/doc/gtk2/NEWS000064400000005023152526024130010572 0ustar00Overview of Changes from GTK+ 2.24.31 to 2.24.32 ================================================ * Build: - Support Visual Studio 2017 * Bug fixes: 136059 Ctrl-navigation works in opposite direction in right-to-left text 165385 Win32 keyboard handling still incomplete 358970 gtk_scale_set_digits does not cause value to be rounded if draw-value... 468868 Popup of "appears-as-list" ComboBox does not change screen with its t... 554057 Calling gtk_menu_shell_select_item() on GtkMenuBar can break grabs (a... 569581 Using the US-Intl keyboard layout causes unexpected character combina... 618160 Documentation for gtk_combo_box_get_active_iter is unclear 658111 gtk_label_set_pattern() is reset by a call to gtk_box_pack_start() 676550 Adding underlines to Label with gtk_label_set_pattern() does not work 696624 Japanese (Korean/Chinese) XIM input mode indicator has not been worki... 701296 gtkfixed accepts toplevel windows into its children list after gtk_wi... 729651 Crash in GtkFileChooserButton with appears-as-list 734946 Implement GContentType on OSX 768722 Keyboard shortcuts for russian characters doesn't work 769214 keyval field not filled correctly for Pause key 772389 Appending a character to a GtkEntry control in overwrite mode rings t... 772794 segfault when on unchecked XListInputDevices return value 773587 recent-manager: Add a limit to the list's size 776909 gtk_adjustment_clamp_page: Conditional jump or move depends on uninit... 777683 SIGBUS due to gdk_x11_window_set_opacity 778542 Use UTF-8 encoding for tooltips on files in the "recently used" list 778811 Enter submenus when activating their parent item 779009 Missing property-change::accessible-description events when the toolt... 779081 GtkTextView: expose API to get Pango line direction 779605 GLib-CRITICAL Source ID xxx was not found when attempting to remove it 781020 GIMP UI vector icons are drawn way too small 781605 GtkVolumeButton limited to 10 values 785165 Set translation domain for parameter_string in gtk_init_with_args 785672 Entry: Setting icon tooltip to empty disables tooltip on whole widget 786771 Critical about mismatched GdkDisplays when opening Inspector combobox 787158 gtk_widget_get_preferred_width on GtkToolbar gives wrong minimum width 787195 gtk_toolbar_set_show_arrow does not show an arrow 787410 entry: fix memory leak 788577 Global -GtkComboBox-appears-as-list breaks opening menu-mode CBs by k... * Translation updates: Hungarian Indonesian Polish For older news, see http://git.gnome.org/cgit/gtk+/plain/NEWS usr/share/doc/wget/NEWS000064400000113731152526043720010705 0ustar00GNU Wget NEWS -- history of user-visible changes. Copyright (C) 1997-2018 Free Software Foundation, Inc. See the end for copying conditions. Please send GNU Wget bug reports to . * Changes in Wget 1.19.5 * Fix cookie injection (CVE-2018-0494) * Enable TLS1.3 with recent OpenSSL environment * New option --ciphers to set GnuTLS / OpenSSL ciphers directly * Updated CSS grammar to CSS 2.2 * Fixed several memleaks found by OSS-Fuzz * Fixed several buffer overflows found by OSS-Fuzz * Fixed several integer overflows found by OSS-Fuzz * Several minor bug fixes * Changes in Wget 1.19.4 * A major bug that caused GZip'ed pages to never be decompressed has been fixed * Support for Content-Encoding and Transfer-Encoding have been marked as experimental and disabled by default * Changes in Wget 1.19.3 * Prevent erroneous decompression of .gz and .tgz files with broken servers * Added support for HTTP 308 Permanent Redirect response * Fix a segfault in some cases where the Content-Type header is not sent * Support OpenSSL 1.1 builds without using deprecated features * Fix netrc file detection on Windows * Several minor bug fixes * Changes in Wget 1.19.2 * Fix CVE-2017-13089 (Stack overflow in HTTP protocol handling) * Fix CVE-2017-13090 (Heap overflow in HTTP protocol handling) * New option --compression for gzip Content-Encoding * New option --[no]-netrc to control .netrc parsing * Added GNU extensions to .netrc parsing * Improved IDNA 2003 compatibility * Fix VPATH issues * Improved and extended the test suite * Support Wayback Machine's X-Archive-Orig-last-modified * Several bug fixes * Changes in Wget 1.19.1 * Fix bugs, a regression, portability/build issues * Add new option --retry-on-http-error * Changes in Wget 1.19 * New option --use-askpass=COMMAND. Fetch user/password by calling an external program. * Use IDNA2008 (+ TR46 if available) through libidn2 * When processing a Metalink header, --metalink-index= allows to process the header's application/metalink4+xml files. * When processing a Metalink file, --trust-server-names enables the use of the destination file names specified in the Metalink file, otherwise a safe destination file name is computed. * When processing a Metalink file, enforce a safe destination path. Remove any drive letter prefix under w32, i.e. 'C:D:file'. Call libmetalink's metalink_check_safe_path() to prevent absolute, relative, or home paths: https://tools.ietf.org/html/rfc5854#section-4.1.2.1 https://tools.ietf.org/html/rfc5854#section-4.2.8.3 * When processing a Metalink file, --directory-prefix= sets the top of the retrieval tree to prefix for Metalink downloads. * When processing a Metalink file, reject downloaded files which don't agree with their own metalink:size value: https://tools.ietf.org/html/rfc5854#section-4.2.16 * When processing a Metalink file, with --continue resume partially downloaded files and keep fully downloaded files even if they fail the verification. * When processing a Metalink file, create the parent directories of a "path/file" destination file name: https://tools.ietf.org/html/rfc5854#section-4.1.2.1 https://tools.ietf.org/html/rfc5854#section-4.2.8.3 * On a recursive download, append a .tmp suffix to temporary files that will be deleted after being parsed, and create them readable/writable only by the owner. * New make target 'check-valgrind' * Fix several bugs * Fix compatibility issues * Changes in Wget 1.18 * By default, on server redirects to a FTP resource, use the original URL to get the local file name. Close CVE-2016-4971. This introduces a backward-incompatibility for HTTP->FTP redirects and any script that relies on the old behaviour must use --trust-server-names. * Check the HSTS file is not world-writable before using it. * Parse attributes on a recursive download. * Fix problem with SNI server names having trailing dot(s) * New options --bind-dns-address and --dns-servers. * When Wget is built with libiconv, it now converts non-ASCII URIs to the locale's codeset when it creates files. The encoding of the remote files and URIs is taken from --remote-encoding, defaulting to UTF-8. The result is that non-ASCII URIs and files downloaded via HTTP/HTTPS and FTP will have names on the local filesystem that correspond to their remote names. * Changes in Wget 1.17.1 * Fix compile error when IPv6 is disabled or SSL is not present. * Fix HSTS memory leak. * Fix progress output in non-C locales. * Fix SIGSEGV when -N and --content-disposition are used together. * Add --check-certificate=quiet to tell wget to not print any warning about invalid certificates. * Changes in Wget 1.17 ** Remove FTP passive to active fallback due to privacy concerns. ** Add support for --if-modified-since. ** Add support for metalink through --input-metalink and --metalink-over-http. ** Add support for HSTS through --hsts and --hsts-file. ** Add option to restrict filenames under VMS. ** Add support for --rejected-log which logs to a separate file the reasons why URLs are being rejected and some context around it. ** Add support for FTPS. ** Do not download/save file on error when --spider enabled ** Add --convert-file-only option. This option converts only the filename part of the URLs, leaving the rest of the URLs untouched. * Changes in Wget 1.16.3 ** Fix a regression introduced by wget 1.16.2 that --quiet is not really quiet anymore. * Changes in Wget 1.16.2 ** Native uuid generation on Windows ** Fix build on Solaris ** Allow progress bar on stderr when -o is used ** Accept 5-digit port numbers in FTP EPSV responses. ** Support older versions of flex. ** Updated translations. * Changes in Wget 1.16.1 ** Add --enable-assert configure option. ** Use pkg-config to check for libraries presence. ** Do not limit --secure-protocol=auto|pfs to TLSv1.0. ** Add --secure-protocol=TLSv1_1|TLSv1_2 . ** Full C89 source code compliance. ** Select and use the most secure authentication scheme with HTTP connections. ** Fix issues with turkish locales. ** Handle 504 Gateway Timeout. ** New option --crl-file to load Certificate Revocation Lists. ** Add valgrind support to tests suite. ** Fix an off-by-one problem in the progress bar (introduced in 1.16). * Changes in Wget 1.16 ** No longer create local symbolic links by default. Closes CVE-2014-4877. ** Use libpsl for verifying cookie domains. ** Default progress bar output changed. ** Introduce --show-progress to force display the progress bar. ** Introduce --no-config. The wgetrc files will not be read. ** Introduce --start-pos to allow starting downloads from a specified position. ** Fix a problem with ISA Server Proxy and keep-alive connections. * Changes in Wget 1.15 ** Add support for --method. ** Add support for file names longer than MAX_FILE. ** Support FTP listing for the FTP Server on Windows Server 2008 R2. ** Fix a regression when -c and --content-disposition are used together. ** Support shorthand URLs in an input file. ** Fix -c with servers that don't specify a content-length. ** Add support for MD5-SESS ** Do not fail on non fatal GNU TLS alerts during handshake. ** Add support for --https-only. When used wget will follow only HTTPS links in recursive mode. ** Support Perfect-Forward Secrecy in --secure-protocol. ** Fix a problem with some IRI links that are not followed when contained in a HTML document. ** Support some FTP servers that return an empty list with "LIST -a". ** Specify Host with the HTTP CONNECT method. ** Use the correct HTTP method on a redirection. * Changes in Wget 1.14 ** Add support for content-on-error. It allows to store the HTTP payload on 4xx or 5xx errors. ** Add support for WARC files. ** Fix a memory leak problem in the GNU TLS backend. ** Autoreconf works again for distributed tarballs. ** Print some diagnostic messages to stderr not to stdout. ** Report stdout close errors. ** Accept the --report-speed option. ** Enable client certificates when GNU TLS is used. ** Add support for TLS Server Name Indication. ** Accept the arguments --accept-regex and --reject-regex. ** The GNU TLS backend honors correctly the timeout value. ** Add support for RFC 2617 Digest Access Authentication. * Changes in Wget 1.13.4 ** Now --version and --help work again. ** Fix a build error on solaris 10 sparc. ** Now --timestamping and --continue work well together. ** Return a network failure when FTP downloads fail and --timestamping is specified. ** Fix a segfault on an incomplete STYLE tag. * Changes in Wget 1.13.3 ** Support HTTP/1.1 ** Now by default the GNU TLS library for secure connections, instead of OpenSSL. ** Fix some portability issues. ** Handle properly malformed status line in a HTTP response. ** Ignore zero length domains in $no_proxy. ** Set new cookies after an authorization failure. ** Exit with failure if -k is specified and -O is not a regular file. ** Cope better with unclosed html tags. ** Print diagnostic messages to stderr, not stdout. ** Do not use an additional HEAD request when --content-disposition is used, but use directly GET. ** Report the average transfer speed correctly when multiple URL's are specified and -c influences the transferred data amount. ** GNU TLS backend works again. ** Now --timestamping and --continue works well together. ** By default, on server redirects, use the original URL to get the local file name. Close CVE-2010-2252. This introduces a backward-incompatibility; any script that relies on the old behaviour must use --trust-server-names. ** Fix a problem when -k is used and some URLs are specified trough CSS. ** Convert correctly URLs that need to be encoded to local files when following links. ** Use persistent connections with proxies supporting them. ** Print the total download time as part of the summary for recursive downloads. ** Now it is possible to specify a different startup configuration file trough the --config option. ** Fix an infinite loop with the error ' has sprung into existence' on a network error and -nc is used. ** Now --adjust-extension does not modify the file extension if the file ends in .htm. ** Support HTTP/1.1 307 redirects keep request method. ** Now --no-parent doesn't fetch undesired files if HTTP and HTTPS are used by the same host on different pages. ** Do not attempt to remove the file if it is not in the accept rules but it is the output destination file. ** Introduce `show_all_dns_entries' to print all IP addresses corresponding to a DNS name when it is resolved. * Changes in Wget 1.12 ** Mailing list MOVED to bug-wget@gnu.org ** SECURITY FIX: It had been possible to trick Wget into accepting SSL certificates that don't match the host name, through the trick of embedding NUL characters into the certs' common name. Fixed by Joao Ferreira . ** Added support for CSS. This includes: - Parsing links from CSS files, and from CSS content found in HTML style tags and attributes. - Supporting conversion of links found within CSS content, when --convert-links is specified. - Ensuring that CSS files end in the ".css" filename extension, when --convert-links is specified. CSS support in Wget is thanks to Ted Mielczarek . ** Added support for Internationalized Resource Identifiers (IRIs, RFC 3987). When support is enabled (requires libidn and libiconv), links with non-ASCII bytes are translated from their source encoding to UTF-8 before percent-encoding. IRI support was added by Saint Xavier , as his project for the Google Summer of Code. ** Wget now provides more sensible exit status codes when downloads don't proceed as expected (see the manual). ** --default-page option (and associated wgetrc command) added to support alternative default names for index.html. ** --ask-password option (and associated wgetrc command) added to support password prompts at the console. ** The --input-file option now also handles retrieving links from an external file. ** The output generated by the --version option now includes information on how it was built, and the set of configure-time options that were selected. ** --html-extension has been renamed to --adjust-extension, to reflect the fact that it now also applies to CSS content. --html-extension is still acceptable, but is now deprecated. ** An "ascii" specifier is now accepted by --restrict-file-names, which forces the percent-encoding of all non-ASCII bytes ** Several previously existing, but undocumented .wgetrc options are now documented: save_headers, spider, and user_agent, auth_no_challenge, and keep_session_cookies. Also added documentation for the "lowercase" and "uppercase" values for --restrict-file-names, which had been present since Wget 1.11. * Changes in Wget 1.11.4 ** Fixed an issue (apparently a regression) where -O would refuse to download when -nc was given, even though the file didn't exist. ** Fixed a situation where Wget could abort with --continue if the remote server gives a content-length of zero when the file exists locally with content. ** Fixed a crash on some systems, due to Wget casting a pointer-to-long to a pointer-to-time_t. ** Translation updates for Catalan. * Changes in Wget 1.11.3 ** Downgraded -N with -O to a warning, rather than an error. ** Translation updates * Changes in Wget 1.11.2 ** Fixed a problem in authenticating over HTTPS through a proxy. (Regression in 1.11 over 1.10.2.) ** The combination of -r or -p with -O, which was disallowed in 1.11, has been downgraded to a warning in 1.11.2. (-O and -N, which was never meaningful, is still an error.) ** Further improvements to progress bar displays in non-English locales (too many spaces could be inserted, causing the display to scroll). ** Successive invocations of Wget on FTP URLS, with --no-remove-listing and --continue, was causing Wget to append, rather than replace, information in the .listing file, and thereby download the same files multiple times. This has been fixed in 1.11.2. ** Wget 1.11 no longer allowed ".." to persist at the beginning of URLs, for improved conformance with RFC 3986. However, this behavior presents problems for some FTP setups, and so they are now preserved again, for FTP URLs only. * Changes in Wget 1.11.1. ** Interrupted downloads no longer result in renaming the file (regression in 1.11 over 1.10.2). ** Progress bar now displays correctly in non-English locales (and a related assertion failure was fixed). ** Wget no longer issues a GET request over HTTP for files it should know it's not going to download (regression in 1.11 over 1.10.2). ** Added option --auth-no-challenge, to support broken pre-1.11 authentication-before-server-challenge, which turns out to still be useful for some limited cases. ** Documentation of accept/reject lists in the manual's "Types of Files" section now explains various aspects of their behavior that may be surprising, and notes that they may change in the future. ** Documentation of --no-parents now explains how a trailing slash, or lack thereof, in the specified URL, will affect behavior. * Changes in Wget 1.11. ** Timestamping now uses the value from the most recent HTTP response, rather than the first one it got. ** Authentication information is no longer sent as part of the Referer header in recursive fetches. ** No authentication credentials are sent until a challenge is issued, for improved security. Authentication handling is still not RFC-compliant, as once a Basic challenge has been received, it will assume it can send credentials to any URL at that same host, and not just the ones at or below the original authenticated location. Credentials for Digest authentication are still never saved or issued automatically, and continue to require a challenge for each resource. ** Added --max-redirect option, allowing the user to specify what should be the maximum number of HTTP redirects to follow. ** Wget now supports saving HTTP downloads using file names specified by the `Content-Disposition' header. This is a standard way of specifying the file name used by many web dynamically generated pages. However, the current implementation is inefficient, and known to have bugs. It is EXPERIMENTAL only, and not enabled by default. Use --content-disposition to enable it. ** The new option `--ignore-case' makes Wget ignore case when matching files, directories, and wildcards. This affects the -X, -I, -A, and -R options, as well as globbing in FTP URLs. ** ETA projection is now displayed in "dot" progress output as well as in the default progress bar. (The dot progress is used by default when logging Wget's output to file using the `-o' option.) ** The "lockable boolean" argument type is no longer supported. It was only used by the passive_ftp .wgetrc setting. If you're running broken scripts or Perl modules that unconditionally specify `--passive-ftp' and your firewall disallows it, you can override them by replacing wget with a script that execs wget "$@" --no-passive-ftp. ** The source code has been migrated to Mercurial. The repositories are available at http://hg.addictivecode.org/. Prior to this, the source code was hosted on Subversion (migrated from the original CVS); you can still get access to older tags and branches for Wget in the Subversion repository at http://addictivecode.org/svn/wget/. * Changes in Wget 1.10. ** Downloading files larger than 2GB, sometimes referred to as "large files", now works on systems that support them. This includes the majority of modern Unixes, as well as MS Windows. ** IPv6 is now supported by Wget. Unlike the experimental code in 1.9, this version supports dual-family systems. The new flags `--inet4' and `--inet6' (or `-4' and `-6' for short) force the use of IPv4 and IPv6 respectively. Note that IPv6 support has not yet been tested on Windows. ** Microsoft's proprietary "NTLM" method of HTTP authentication is now supported. This authentication method is undocumented and only used by IIS. Note that *proxy* authentication is not supported in this release; you can only authenticate to the target web site. ** Wget no longer truncates partially downloaded files when download has to start over because the server doesn't support Range. Instead, with such servers Wget now simply ignores the data up to the byte where the last attempt left off, and only then continues appending to the file. That way the downloaded file never shrinks, and download retries from servers without support for partial downloads work even when downloading to stdout. ** SSL/TLS changes: *** SSL/TLS downloads now attempt to verify the server's certificate against the recognized certificate authorities. This requires CA certificates to have been installed in a location visible to the OpenSSL library. If this is not the case, you can get the bundle yourself from a source you trust (for example, the bundle extracted from Mozilla available at http://curl.haxx.se/docs/caextract.html), and point Wget to the PEM file using the `--ca-certificate' command-line option or the corresponding `.wgetrc' command. *** Secure downloads now verify that the host name in the URL matches the "common name" in the certificate presented by the server. *** Although the above checks provide more secure downloads, they unavoidably break interoperability with some sites that worked with previous versions, particularly those using self-signed, expired, or otherwise invalid certificates. If you encounter "certificate verification" errors or complaints that "common name doesn't match requested host name" and are convinced of the site's authenticity, you can use `--no-check-certificate' to bypass both checks. *** Talking to SSL/TLS servers over proxies now actually works. Previous versions of Wget erroneously sent GET requests for https URLs. Wget 1.10 utilizes the CONNECT method designed for this purpose. *** The SSL/TLS-related options have been redesigned and, for the first time, documented in the manual. The old, undocumented, options are no longer supported. ** Passive FTP is now the default FTP transfer mode. Use `--no-passive-ftp' or specify `passive_ftp = off' in your init file to revert to the old behavior. ** The `--header' option can now be used to override generated headers. For example, `wget --header="Host: foo.bar" http://127.0.0.1' tells Wget to connect to localhost, but to specify "foo.bar" in the `Host' header. In previous versions such use of `--header' lead to duplicate headers in HTTP requests. ** The responses without headers, aka "HTTP 0.9" responses, are detected and handled. Although HTTP 0.9 has long been obsolete, it is still occasionally used, sometimes by accident. ** The progress bar is now updated regularly even when the data does not arrive from the network. ** Wget no longer preserves permissions of files retrieved by FTP by default. Anonymous FTP servers frequently use permissions like "664", which might not be what the user wants. The new option `--preserve-permissions' and the corresponding `.wgetrc' variable can be used to revert to the old behavior. ** The new option `--protocol-directories' instructs Wget to also use the protocol name as a directory component of local file names. ** Options that previously unconditionally set or unset various flags are now boolean options that can be invoked as either `--OPTION' or `--no-OPTION'. Options that required an argument "on" or "off" have also been changed this way, but they still accept the old syntax for backward compatibility. For example, instead of `--glob=off' you can write `--no-glob'. Allowing `--no-OPTION' for every `--OPTION' and the other way around is useful because it allows the user to override non-default behavior specified via `.wgetrc'. ** The new option `--keep-session-cookies' causes `--save-cookies' to save session cookies (normally only kept in memory) along with the permanent ones. This is useful because many sites track important information, such as whether the user has authenticated, in session cookies. With this option multiple Wget runs are treated as a single browser session. ** Wget now supports the --ftp-user and --ftp-password command switches to set username and password for FTP, and the --user and --password command switches to set username and password for both FTP and HTTP. The --http-passwd and --proxy-passwd command switches have been renamed to --http-password and --proxy-password respectively, and the related http_passwd and proxy_passwd .wgetrc commands to http_password and proxy_password respectively. The login and passwd .wgetrc commands have been deprecated. * `wget -b' now works correctly under Windows. * Wget 1.9.1 is a bugfix release with no user-visible changes. * Changes in Wget 1.9. ** It is now possible to specify that POST method be used for HTTP requests. For example, `wget --post-data="id=foo&data=bar" URL' will send a POST request with the specified contents. ** IPv6 support is available, although it's still experimental. ** The `--timeout' option now also affects DNS lookup and establishing the TCP connection. Previously it only affected reading and writing data. Those three timeouts can be set separately using `--dns-timeout', `--connection-timeout', and `--read-timeout', respectively. ** Download speed shown by the progress bar is based on the data recently read, rather than the average speed of the entire download. The ETA projection is still based on the overall average. ** It is now possible to connect to FTP servers through FWTK firewalls. Set ftp_proxy to an FTP URL, and Wget will automatically log on to the proxy as "username@host". ** The new option `--retry-connrefused' makes Wget retry downloads even in the face of refused connections, which are otherwise considered a fatal error. ** The new option `--no-dns-cache' may be used to prevent Wget from caching DNS lookups. ** Wget no longer escapes characters in local file names based on whether they're appropriate in URLs. Escaping can still occur for nonprintable characters or for '/', but no longer for frequent characters such as space. You can use the new option --restrict-file-names to relax or strengthen these rules, which can be useful if you dislike the default or if you're downloading to non-native partitions. ** Handling of HTML comments has been dumbed down to conform to what users expect and other browsers do: instead of being treated as SGML declaration, a comment is terminated at the first occurrence of "-->". Use `--strict-comments' to revert to the old behavior. ** Wget now correctly handles relative URIs that begin with "//", such as "//img.foo.com/foo.jpg". ** Boolean options in `.wgetrc' and on the command line now accept values "yes" and "no" along with the traditional "on" and "off". ** It is now possible to specify decimal values for timeouts, waiting periods, and download rate. For instance, `--wait=0.5' now works as expected, as does `--dns-timeout=0.5' and even `--limit-rate=2.5k'. * Wget 1.8.2 is a bugfix release with no user-visible changes. * Wget 1.8.1 is a bugfix release with no user-visible changes. * Changes in Wget 1.8. ** A new progress indicator is now available and used by default. You can choose the progress bar type with `--progress=TYPE'. Two types are available, "bar" (the new default), and "dot" (the old dotted indicator). You can permanently revert to the old progress indicator by putting `progress = dot' in your `.wgetrc'. ** You can limit the download rate of the retrieval using the `--limit-rate' option. For example, `wget --limit-rate=15k URL' will tell Wget not to download the body of the URL faster than 15 kilobytes per second. ** Recursive retrieval and link conversion have been revamped: *** Wget now traverses links breadth-first. This makes the calculation of depth much more reliable than before. Also, recursive downloads are faster and consume *significantly* less memory than before. *** Links are converted only when the entire retrieval is complete. This is the only safe thing to do, as only then is it known what URLs have been downloaded. *** BASE tags are handled correctly when converting links. Since Wget already resolves when resolving handling URLs, link conversion now makes the BASE tags point to an empty string. *** HTML anchors are now handled correctly. Links to an anchor in the same document (), which used to confuse Wget, are now converted correctly. *** When in page-requisites (-p) mode, no-parent (-np) is ignored when retrieving for inline images, stylesheets, and other documents needed to display the page. *** Page-requisites (-p) mode now works with frames. In other words, `wget -p URL-THAT-USES-FRAMES' will now download the frame HTML files, and all the files that they need to be displayed properly. ** `--base' now works conjunction with `--input-file', providing a base for each URL and thereby allowing the URLs in the file to be relative. ** If a host has more than one IP address, Wget uses the other addresses when accessing the first one fails. ** Host directories now contain port information if the URL is at a non-standard port. ** Wget now supports the robots.txt directives specified in . ** URL parser has been fixed, especially the infamous overzealous quoting. Wget no longer dequotes reserved characters, e.g. `%3F' is no longer translated to `?', nor `%2B' to `+'. Unsafe characters which are not reserved are still escaped, of course. ** No more than 20 successive redirections are allowed. * Wget 1.7.1 is a bugfix release with no user-visible changes. * Changes in Wget 1.7. ** SSL (`https') pages now work if you compile Wget with SSL support; use the `--with-ssl' configure flag. You need to have OpenSSL installed. ** Cookies are now supported. Wget will accept cookies sent by the server and return them in later requests. Additionally, it can load and save cookies to disk, in the same format that Netscape uses. ** "Keep-alive" (persistent) HTTP connections are now supported. Using keep-alive allows Wget to share one TCP/IP connection for many retrievals, making multiple-file downloads faster and less stressing for the server and the network. ** Wget now recognizes FTP directory listings generated by NT and VMS servers. ** It is now possible to recurse through FTP sites where logging in puts you in some directory other than '/'. ** You may now use `~' to mean home directory in `.wgetrc'. For example, `load_cookies = ~/.netscape/cookies.txt' works as you would expect. ** The HTML parser has been rewritten. The new one works more reliably, allows finer-grained control over which tags and attributes are detected, and has better support for some features like correctly skipping comments and declarations, decoding entities, etc. It is also more general. ** tags are now respected. ** Wget's internal tables now use hash tables instead of linked lists where appropriate. This results in huge speedups when retrieving large sites (thousands of documents). ** Wget now has a man page, automatically generated from the Texinfo documentation. (The last version that shipped with a man page was 1.4.5). To get this, you need to have pod2man from the Perl distribution installed on your system. * Changes in Wget 1.6 ** Administrative changes. *** Maintainership. Due to Hrvoje being plagued with a "real job", Dan Harkless is the most active maintainer (not that he doesn't have a real job as well). Hrvoje still participates occasionally, and both are being helped by many other people. *** Web page. Thanks to Jan Prikryl, Wget has an "official" web page. Take a look at: http://sunsite.dk/wget/ *** Anonymous CVS. Thanks to ever-helpful Karsten Thygesen, Wget sources are now available at an anonymous CVS server. Take a look at the web page for downloading instructions. ** New -K / --backup-converted / backup_converted = on option causes files modified due to -k to be saved with a .orig prefix before being changed. When using -N as well, it is these .orig files that are compared against the server. ** New --follow-tags / follow_tags = ... option allows you to restrict Wget to following only certain HTML tags when doing a recursive retrieval. -G / --ignore-tags / ignore_tags = ... is just the opposite -- all tags but the ones you specify will be followed. ** New --waitretry / waitretry = SECONDS option allows waiting between retries of failed downloads. Wget will use "linear" backoff, waiting 1 second after the first failure, 2 after the second, up to SECONDS. waitretry is set to 10 by default in the system wgetrc. ** New -p / --page-requisites / page_requisites = on option causes Wget to download all ancillary files necessary to display a given HTML page properly (e.g. inlined images). ** New -E / --html-extension / html_extension = on option causes Wget to append ".html" to text/html filenames not ending in regexp "\.[Hh][Tt][Mm][Ll]?". ** New type of .wgetrc command -- "lockable Boolean". Can be set to on, off, always, or never. This allows the .wgetrc to override the commandline. So far, passive_ftp is the only .wgetrc command which takes a lockable Boolean. ** A number of new translation files have been added. ** New --bind-address / bind_address =
option for people on hosts bound to multiple IP addresses. ** wget now accepts (illegal per HTTP spec) relative URLs in HTTP redirects. * Wget 1.5.3 is a bugfix release with no user-visible changes. * Wget 1.5.2 is a bugfix release with no user-visible changes. * Wget 1.5.1 is a bugfix release with no user-visible changes. * Changes in Wget 1.5.0 ** Wget speaks many languages! On systems with gettext(), Wget will output messages in the language set by the current locale, if available. At this time we support Czech, German, Croatian, Italian, Norwegian and Portuguese. ** Opie (Skey) is now supported with FTP. ** HTTP Digest Access Authentication (RFC2069) is now supported. ** The new `-b' option makes Wget go to background automatically. ** The `-I' and `-X' options now accept wildcard arguments. ** The `-w' option now accepts suffixes `s' for seconds, `m' for minutes, `h' for hours, `d' for days and `w' for weeks. ** Upon getting SIGHUP, the whole previous log is now copied to `wget-log'. ** Wget now understands proxy settings with explicit usernames and passwords, e.g. `http://user:password@proxy.foo.com/'. ** You can use the new `--cut-dirs' option to make Wget create less directories. ** The `;type=a' appendix to FTP URLs is now recognized. For instance, the following command will retrieve the welcoming message in ASCII type transfer: wget "ftp://ftp.somewhere.com/welcome.msg;type=a" ** `--help' and `--version' options have been redone to conform to standards set by other GNU utilities. ** Wget should now be compilable under MS Windows environment. MS Visual C++ and Watcom C have been used successfully. ** If the file length is known, percentages are displayed during download. ** The manual page, now hopelessly out of date, is no longer distributed with Wget. * Wget 1.4.5 is a bugfix release with no user-visible changes. * Wget 1.4.4 is a bugfix release with no user-visible changes. * Changes in Wget 1.4.3 ** Wget is now a GNU utility. ** Can do passive FTP. ** Reads .netrc. ** Info documentation expanded. ** Compiles on pre-ANSI compilers. ** Global wgetrc now goes to /etc (i.e. $sysconfdir). ** Lots of bugfixes. * Changes in Wget 1.4.2 ** New mirror site at ftp://sunsite.auc.dk/pub/infosystems/wget/, thanks to Karsten Thygesen. ** Mailing list! Mail to wget-request@sunsite.auc.dk to subscribe. ** New option --delete-after for proxy prefetching. ** New option --retr-symlinks to retrieve symbolic links like plain files. ** rmold.pl -- script to remove files deleted on the remote server ** --convert-links should work now. ** Minor bugfixes. * Changes in Wget 1.4.1 ** Minor bugfixes. ** Added -I (the opposite of -X). ** Dot tracing is now customizable; try wget --dot-style=binary * Changes in Wget 1.4.0 ** Wget 1.4.0 [formerly known as Geturl] is an extensive rewrite of Geturl. Although many things look suspiciously similar, most of the stuff was rewritten, like recursive retrieval, HTTP, FTP and mostly everything else. Wget should be now easier to debug, maintain and, most importantly, use. ** Recursive HTTP should now work without glitches, even with Location changes, server-generated directory listings and other naughty stuff. ** HTTP regetting is supported on servers that support Range specification. WWW authorization is supported -- try wget http://user:password@hostname/ ** FTP support was rewritten and widely enhanced. Globbing should now work flawlessly. Symbolic links are created locally. All the information the Unix-style ls listing can give is now recognized. ** Recursive FTP is supported, e.g. wget -r ftp://gnjilux.cc.fer.hr/pub/unix/util/ ** You can specify "rejected" directories, to which you do not want to enter, e.g. with wget -X /pub ** Time-stamping is supported, with both HTTP and FTP. Try wget -N URL. ** A new texinfo reference manual is provided. It can be read with Emacs, standalone info, or converted to HTML, dvi or postscript. ** Fixed a long-standing bug, so that Wget now works over SLIP connections. ** You can have a system-wide wgetrc (/etc/wgetrc by default). Settings in $HOME/.wgetrc override the global ones, of course :-) ** You can set up quota in .wgetrc to prevent sucking too much data. Try `quota = 5M' in .wgetrc (or quota = 100K if you want your sysadmin to like you). ** Download rate is printed after retrieval. ** Wget now sends the `Referer' header when retrieving recursively. ** With the new --no-parent option Wget can retrieve FTP recursively through a proxy server. ** HTML parser, as well as the whole of Wget was rewritten to be much faster and less memory-consuming (yes, both). ** Absolute links can be converted to relative links locally. Check wget -k. ** Wget catches hangup, filtering the output to a log file and resuming work. Try kill -HUP %?wget. ** User-defined headers can be sent. Try wget http://fly.cc.her.hr/ --header='Accept-Charset: iso-8859-2' ** Acceptance/Rejection lists may contain wildcards. ** Wget can display HTTP headers and/or FTP server response with the new `-S' option. It can save the original HTTP headers with `-s'. ** socks library is now supported (thanks to Antonio Rosella ). Configure with --with-socks. ** There is a nicer display of REST-ed output. ** Many new options (like -x to force directory hierarchy, or -m to turn on mirroring options). ** Wget is now distributed under GNU General Public License (GPL). ** Lots of small features I can't remember. :-) ** A host of bugfixes. * Changes in Geturl 1.3 ** Added FTP globbing support (ftp://fly.cc.fer.hr/*) ** Added support for no_proxy ** Added support for ftp://user:password@host/ ** Added support for %xx in URL syntax ** More natural command-line options ** Added -e switch to execute .geturlrc commands from the command-line ** Added support for robots.txt ** Fixed some minor bugs * Geturl 1.2 is a bugfix release with no user-visible changes. * Changes in Geturl 1.1 ** REST supported in FTP ** Proxy servers supported ** GNU getopt used, which enables command-line arguments to be ordered as you wish, e.g. geturl http://fly.cc.fer.hr/ -vo log is the same as geturl -vo log http://fly.cc.fer.hr/ ** Netscape-compatible URL syntax for HTTP supported: host[:port]/dir/file ** NcFTP-compatible colon URL syntax for FTP supported: host:/dir/file ** supported ** autoconf supported ---------------------------------------------------------------------- Copyright information: Copyright (C) 1997-2005 Free Software Foundation, Inc. Permission is granted to anyone to make or distribute verbatim copies of this document as received, in any medium, provided that the copyright notice and this permission notice are preserved, thus giving the recipient permission to redistribute in turn. Permission is granted to distribute modified versions of this document, or of portions of it, under the above conditions, provided also that they carry prominent notices stating who last changed them. usr/share/doc/kmod/NEWS000064400000045754152526052420010677 0ustar00kmod 25 ======= - Improvements - Add module signature to modinfo output - Add support for external directories in depmod: now there's a new "external" keyword parsed by depmod when calculating the dependencies. It allows to add modules to other directories which are not relative to where the modules are commonly installed. This results in modules.dep and friends now understanding absolute paths rather than relative paths only. For more information see depmod.d(1). - Add support for CONFIG_MODULE_REL_CRCS - Add missing documentation references in man pages - Handle the case in which module has a .TOC symbol already while calculating dependencies - Improve testsuite and allow to use mkosi to run testsuite in different distros kmod 24 ======= - Improvements: - Add more information on dependency loop - Sanitize use of strcpy and allow to grow from small strings on stack (common case) to bigger strings on heap when needed - Bug fixes - Fix wrong dependency loops being reported by depmod - Fix crashes when reporting dependency loops - Fix parsing kernel command line containing quotes - Fix leaks on error paths kmod 23 ======= - Improvements: - Don't add comment to modules.devname if it would otherwise be empty to play nice with tools detecting empty files - Allow building with BSD sed, that doesn't have -E flag - Ignore .TOC. symbols in depmod parsing as it's for PPC64 the equivalent of _GLOBAL_OFFSET_TABLE_ - Teach modinfo about PKCS#7 module signatures: it doesn't add any other info besides telling the user the module is signed since kernel doesn't add other info on the module section - Bug fixes - Fix -s and -p compat options to insmod triggering force flag - Fix long lines from /proc/modules not being handled correctly by kmod_module_new_from_loaded() and kmod_module_get_size() and several other library functions that use them - Fix crash on modinfo while checking for available signature of unknown type - Fix documentation generation with gtk-doc kmod 22 ======= - Tools: - Change defaul log level for tools to WARNING rather than ERROR and update some log levels for current messages - depmod doesn't fallback to uname if a bad version is passed in the command line anymore. We just exit with an error. - insmod was taught the -f flag, just like in modprobe. It was previously silently ignoring it. - libkmod - New kmod_get_dirname() API to get the module directory set in the context - Bug fixes: - Fix return code in error path of kmod_module_insert_module(). We were previously returning ENOSYS rather than ENOENT. kmod 21 ======= - New features: - kmod tool started to learn the "insert" and "remove" commands that are the simplified versions of the older modprobe tool. These commands are still work in progress so they are hidden behind a --enable-experimental flag during build. It should not be enabled unless you know what you're doing. - kmod tool now prints the relevant configuration options it was built with when the "--version" argument is passed. This helps to mitigate problems for example when the user is trying to load a compressed module but kmod was built without support for the compression method. - Improvements to testsuite: - Cache built modules so it is easier to run "make check" on build servers by distro maintainers. If kmod is configured with --disable-test-modules the modules from cache will be used by "make check". No changes to the tests are needed and all of them can run fine. kmod 20 ======= - Bug fixes: - Handle bogus values from ELF, making sure they don't overflow while parsing the file - Fix leak in depmod when -b flag is passed multiple times - Multiple minor fixes from static analysis by coverity and clang-analyze - Fix race between loading modules and checking if it's loaded in the kernel - New features: - There's a change in behavior regarding builtin modules: we now only consider as builtin those that are present in modules.builtin index. Previously we were also checking the presence of /sys/module/, but this is racy and only modules that contain parameters are the ones creating a directory in sysfs. Now some commands will start to fail, e.g. "modprobe vt". Since vt can't be compiled as a module it's not present in modules.builtin index. Previously we would report at as builtin, but now we fail because we couldn't find the module. - Improvements: - Integration of gcov into the build. Currently libkmod is at ~70% covered and tools at ~50% by tests in the testsuite. Utility functions and structures in shared have more than 90% of coverage. - Upload build to coverity - Improvements to testsuite: - Fix parsing return codes of init_module() calls - Add tests for utility functions in shared/ - Add tests for kmod_module_remove_module() - Add playground, in which our own modules are compiled - Port all tests to use modules from module-playground instead of copying prebuilt modules to the repository - Properly handle binaries that exit with no output - Besides comparing the output of commands, allow to copy to stdout/stderr kmod 19 ======= - Bug fixes: - Fix missing CLOEXEC in library - Fix error message while opening kmod's index - New features: - Add kmod(8) man page - Allow to build with libc's without be32toh() - Move code around separating common code and data structures into a shared directory. This allows to share more code between library and tools, making the binary size of tools smaller. - Clarify tools vs library licenses - static-nodes: when writing in tmpfiles format, indicate that creation of static nodes should only happen at boot. This is used and required by systemd-217+. - Improvements to testsuite: - Add tests for newly created shared/ code - Improve how tests are declared so there's less boilerplate code for each test. kmod 18 ======= - Bug fixes: - Fix leaks in error paths - Fix use-after-free in hash implementation causing a wrong index to be generated by depmod with out-of-tree modules - New features: - Calling depmod with modules creating a dependency loop will now make depmod return an error and not update the indexes. This is to protect the current index not being overridden by another index that may cause a boot failure, depending on the buggy module. It's a necessary change in behavior regarding previous kmod releases and module-init-tools. The error message was also improved to output the modules that caused the dependency cycle. - Improvements to testsuite: - Fix and improve expected-fail test - Add tests for hashmap implementation kmod 17 ======= - Bug fixes: - Fix matching a "." in kernel cmdline, making garbage in the command line be parsed as kmod options - Fix man pages to clarify we don't fallback to parsing modules.dep but instead we depend on modules.dep.bin (generated by depmod) to be present - Fix ELF parsing on 32 bit systems assigning the wrong class. - Fix partial matches of search directives in depmod. Previously having a line in depmod.conf such as "search foo foobar built-in" would cause unpretictable results because foo is a partial match of foobar as well. - Fix unaligned access in modinfo when getting the signature from a module - Make sure softdeps are treated as optional dependencies - New features: - Accept special files given to "-C" switch in modprobe. This way it's possible to skip system configuration with "modprobe -C /dev/null" - Do not require xsltproc on released tarballs - Don't use Werror anymore - Add experimental python bindings, merged from python-kmod repository (https://github.com/agrover/python-kmod) - Parse softdeps exported by the kernel as /lib/modules/`uname -r`/modules.softdep - Improvements to testsuite: - Check the list of loaded modules after a test kmod 16 ======= - Bug fixes: - Fix usage of readdir_r() - Add some missing checks for memory allocation errors - New features: - Remove option from libkmod to allow waiting on module removal if the module is being used. It's dangerous since it can block the caller indefinitely. - Improve compatibility with musl libc - Add fallback implementation for compilers without _Static_assert(), e.g. gcc < 4.6 - Minor optimizations to the hash table - Make depmod warn if a module has incorrect devname specification - Use cleanup attribute kmod 15 ======= - Bug fixes: - kmod static-nodes doesn't fail if modules.devname isn't available - Fix getting boolean parameter from kernel cmdline in case the value is omitted - Fix some mkdir_p() corner cases (used in testsuite and static-nodes) - New features: - kmod static-nodes creates parent directories if given a -o option - kmod binary statically links to libkmod - if distro is only interested in the kmod tool (for example in an initrd) it can refrain from installing the library - Add shell completion for kmod tool kmod 14 ======= - Bug fixes: - Fix some format strings - Protect against NULL being passed around to index - Avoid calling syscall() with -1 when finit_module() is not available, since this doesn't always work - Fix not being able to remove alias due to checking the module's refcount - Minor fixes and refactors - New features: - Improve libkmod documentation, particularly on how flags are dealt with. - Remove ability to build a static libkmod - Add static-nodes command to kmod that parses modules.devname generating output in useful formats kmod 13 ======= - Bug fixes: - Add the long option --symbol-prefix option to depmod (it was absent) and fix its behavior - Don't abort if there's a bogus line in configuration file like "alias psmouse off". Some distros are carrying this since the days of modutils - New features: - Add support for finit_module(2). If the module is load straight from the disk and without compression we use finit_module() syscall when available, falling back to init_module() otherwise - kmod_module_get_info() also returns the signature if the module is signed and modinfo uses it - Use secure_getenv if available - rmmod understands builtin modules, just like modprobe does - Improve compatibility with musl-libc - Test cases exit with success when receiving a signal if they are xfail tests kmod 12 ======= - Bug fixes: - Fix removing vermagic from module when told to force load a module - Fix removing __versions section when told to force load a module: we need to mangle the section header, not the section. - modinfo no longer fails while loading a module from file when path contains ".ko" substring kmod 11 ======= - Improvements to testsuite: - Fix testsuite defining symbols twice on 32 bit systems - Allow to check generated files against correct ones - New features: - libkmod now keeps a file opened after the first call to kmod_module_get_{info,versions,symbols,dependency_symbols}. This reduces signficantly the amount of time depmod tool takes to execute. Particularly if compressed modules are used. - Remove --with-rootprefix from build system. It was not a great idea after all and should not be use since it causes more harm then benefits. - Hide --wait option on rmmod. This feature is being targeted for removal from kernel. rmmod still accepts this option, but it's hidden now: man page and usage() say nothing about it and if it's used, user will get a 10s sleep. This way we can check and help if anyone is using this feature. - Refactor message logging on all tools, giving proper prefix, routing everything to syslog when asked for, etc. - Bug fixes: - Fix parsing of modules.order when using compressed modules - Usage messages go to stdout instead of stderr - Fix memory leak in hash implementation kmod 10 ======= - New features: - Read coresize from /sys if supported - Add flag to kmod_module_probe_insert() to apply blacklisting during probe only if mod is an alias. Now modprobe uses this flag by default. This is needed to fix a change in behavior regarding module-init-tools and ultimately makes us loading a blacklisted module. - Better formatting in man pages - Add option to disable building man pages at build time - Fixes in the testsuite and refactoring of LDPRELOAD'ed libraries - Re-licensing testsuite as LGPL kmod 9 ====== - Improvements to the testsuite: - Check for correct handling of softdep loops - Check for correct handling of install command loops - Bug fixes: - Fix build with compilers that don't support --gc-sections - Handle errors when dealing with gzipped modules - depmod now handles errors while writing indices, so it doesn't end up with a corrupted index without telling the user kmod 8 ====== - No new features, small bug fixes only. - Fix a bug in "modprobe -c" output: be compatible with module-init-tools - Give a useful error message when init_module fails due to bad parameter or unknown symbols - Fix doc generation kmod 7 ====== - Re-order dirs for configuration files to match the change in systemd and udev: now the priority is: 1. /etc/modprobe.d 2. /run/modprobe.d 3. /lib/modprobe.d - Fix setting CFLAGS/LDFLAGS in build system. This prevented us from not allowing the user to set his preferences. - Bug fixes: - Return same error codes of module-init-tools when removing modules with modprobe - Fix builtin output in "--show-depends" when target kernel is not the same of the running kernel - 'modprobe -r' always look at all command line arguments - Fix '-q' usage in modprobe kmod 6 ====== - New API in libkmod: - kmod_module_apply_filter(): a generic function to apply filters in a list of modules. This deprecates the use of kmod_module_get_filtered_blacklist() - More tests in testsuite - Add compatibility with uClibc again - Lookup modules.builtin.bin to decide if a module is built in kernel - Downgrade some log messages so we don't annoy people with useless messages - Bug fixes: - Flag --ignore-loaded was not being properly handled - Infinite loop with softdeps - Infinite loop with dumb user configuration with install commands - Fix leak in index when there's a partial match - Move repository and tarballs to kernel.org kmod 5 ====== - Break libkmod's API to insert a module like modprobe does. It now accepts extra an extra argument to print its action and acceptable flags were sanitized. - Share more code between modprobe and libkmod: using the new version of kmod_module_probe_insert_module() it's possible to share a great amount of code between modprobe and libkmod - modprobe no longer works with paths: it only accepts module names and/or aliases now. - testsuite was added to repository, allowing automated tests to be run and easing the way bugs are reproduced. - modprobe: when dumping configuration ('-c' option) separate config and indexes by adding a commented line between them. - Fix bugs wrt normalizing aliases and module names - Fix bug wrt inserting an alias that resolves to multiple modules: we should not stop on the first error, but rather continue to try loading other modules. - Fix unaligned memory access in hash function, causing depmod to output wrong information in ARMv5 - Fix man page build and install: now they are only installed if tools are enabled kmod 4 ====== - New APIs in libkmod to: - Get configuration lists: blacklists, install commands, remove commands, aliases, options and softdeps - Dump indexes - Several bugs fixed in libkmod, modprobe, depmod and modinfo - API documentation: if configure with run with --enable-gtk-doc, the API doc will be generated by make. Gtk-doc is required for that. - Man pages are built, which replace man pages from module-init-tools - 'include' and 'config' options in *.conf files were deprecated - configure is not run by autogen.sh. Instead, a common set of options is printed. If you are hacking on kmod, consider using bootstrap-configure script. - 'modprobe -c' works as expected now. As opposed to module-init-tools, it dumps the parsed configuration, not only the file contents. kmod 3 ====== - New APIs in libkmod to: - Get symbols from module, parsing the ELF section - Get dependency symbols - Check if resources are still valid or if libkmod must be reloaded - Insert module like modprobe, checking (soft-)dependencies, commands, blacklist. It can run commands by itself and to call a callback function. - Support to load modules compressed with xz - Tools are now bundled together in a single tool called kmod. It can be called using symlinks with the same names as tools from module-init-tools. E.g: /usr/bin/lsmod -> /usr/bin/kmod. With this we are aiming to complete a 1:1 replacement of module-init-tools. - The only missing tool, depmod, was added to kmod together with the necessary APIs in libkmod. - If a program using libkmod runs for a long time, as for example udev, it must check if it doesn't have to re-load libkmod. A new helper function was added in libkmod to check if context is still valid and udev is already using it. - An 'unaligned access' bug was fixed. So those architecture that does not handle unaligned access can use kmod, too. kmod 2 ====== Some bugs fixed: the worst of them was with an infinite loop when an alias matched more than one module. - New APIs in libkmod to: - Get soft dependencies - Get info from module files parsing ELF - Get modversions from files parsing ELF - Support to load gzipped kernel modules: kmod can be compiled with support to gzipped modules by giving the --enable-zlib flag - Support to forcefully load modules, both vermagic and modversion - Support to force and nowait removal flags - Configuration files are parsed in the same order as modprobe: files are sorted alphabetically (independently of their dir) and files with the same name obey a precedence order - New tool: kmod-modinfo - kmod-modprobe gained several features to be a 1:1 replacement for modprobe. The only missing things are the options '--showconfig' and '-t / -l'. These last ones have been deprecated long ago and they will be removed from modprobe. A lot of effort has been put on kmod-modprobe to ensure it maintains compabitility with modprobe. - linux-modules@vger.kernel.org became the official mailing list for kmod kmod 1 ====== First version of kmod and its library, libkmod. In the libkmod it's currently possible to: - List modules currently loaded - Get information about loaded modules such as initstate, refcount, holders, sections, address and size - Lookup modules by alias, module name or path - Insert modules: options from configuration and extra options can be passed, but flags are not implemented, yet - Remove modules - Filter list of modules using blacklist - For each module, get the its list of options and install/remove commands - Indexes can be loaded on startup to speedup lookups later Tools provided with the same set of options as in module-init-tools: - kmod-lsmod - kmod-insmod - kmod-rmmod - kmod-modprobe, with some functionality still missing (use of softdep, dump configuration, show modversions) usr/share/doc/libmcrypt/NEWS000064400000030015152526071210011730 0ustar00March 08 2003: (version 2.5.7) - The mcrypt_symb.c file is generated only when needed. This should fix some problems in systems with incompatible sed. January 19 2003: (version 2.5.6) - Fixes in win32 detection and DLL building. - Fixes for solaris (a symbol was not exported) - Corrected bug which made algorithm symbols to be inserted twice in symbol table. - panama algorithm was removed December 22 2002: (version 2.5.5) - Better win32 detection and DLL building. - Changed some variables names in gost.c to allow compiling with gcc and K6 optimizations. - Some buffer overrun checks on input. Patches and suggestions by Ilia A. - Made the default behaviour to include all algorithms into the main library, instead of using dynamic modules. Dynamic loading is disabled by default. The --enable-dynamic-loading flag can be used in the configure script, to get the old behaviour. - Some fixes in ECB mode. August 16 2002: (version 2.5.3) - The const keyword is now used in the exported functions - Corrected problem in libltdl's configure script June 22 2002: (version 2.5.2) - Fixed bug in the returned IV size of ARCFOUR - Fixed bug in mcrypt_readdir() which prevented the test programs to work. May 30 2002: (version 2.5.1) - Corrected the license. COPYING.LIB (LGPL) is now included instead of COPYING (GPL) Mar 09th 2002: (version 2.5.0) - Several corrections in stream and block cipher modes. - Added --disable-dynamic-loading configure option - The IV modifications in Arcfour and Wake have been disabled by default. - Added CTR mode for block ciphers. - Fixes in nCFB and nOFB modes. - Added mcrypt_enc_get_state() function. - Added test for nCFB, CFB, nOFB and CTR with AES Feb 14th 2002: - nOFB and nCFB modes can now encrypt and decrypt plaintext of size less than block size. Feb 1st 2002: (version 2.4.22) - Corrected nasty bug in init code Jan 31 2002: (version 2.4.21) - Corrected problems in Makefiles - Minor bug fixes Jan 24th 2002: (version 2.4.20) - Corrected bug in mcrypt_module_open() Dec 15th 2001: (version 2.4.19) - Cleanups in the code. Nov 9th 2001: (version 2.4.18) - Fixed memory leak Sep 24th 2001: (version 2.4.17) - Corrected bug in mcrypt_module_get_supported_key_size() - Removed unneeded strdup declaration. - Corrected bug in ofb mode (reported by Phillip Oleson) - Corrected some bugs in configure.in (patch by Phillip Oleson) Sep 8th 2001: (version 2.4.16) - Added option to include algorithms and modes into the library (making possible a static library) eg. './configure --with-included-algos="rijndael-128 twofish cbc ecb"' will add rijndael, twofish with cbc and ecb into the library - Added nCFB mode (experimental) - Changed mcrypt_strerror() return value to const. Jul 12th 2001: - Corrected readdir_r() behavior in Solaris (Patch by Andrew Libby ) June 9th 2001: (version 2.4.15) - Check if the installed libltdl includes lt_dlmutex_register() - Fixes in libmcrypt-config script May 18th 2001: (version 2.4.13) - Corrects behaviour when an older libltdl is found in the system. - Updated mcrypt_mutex_register() May 17th 2001: (version 2.4.12) - Updated the libltdl library included - Several fixes in modules - Added scripts to allow easier and faster library version detection April 30th 2001: (version 2.4.11) - Corrected memory leaks in mcrypt_module_close() March 18th 2001: (version 2.4.10) - Corrected bugs in blowfish and blowfish-compat January 23th 2001: (version 2.4.9-beta) - Due to an endianness handling problem Blowfish algorithm was not compatible with other implementations. Now it has been corrected. If you want to access the old algorithm used use the "blowfish-compat" module. - Fixes in mcrypt_list_algorithms() for some systems. Bugs pointed out by Jonathan Woolmington - Fixes in stream mode. - mcrypt_generic_init() no longer fails if smaller key is used. It uses the most appropriate key size of the algorithm and pads with zeros. - Fixes in wake algorithm (and support for IV). - IV is now used in arcfour (arcfour-iv is now longer used). Speedups in Arcfour. - mcrypt_generic_deinit() function added. January 1st 2001: (version 2.4.8) - Corrected bug in rijndael-256 (reported by: Sami Farin ) This makes the algorithm incompatible with previous versions. October 20th 2000: (version 2.4.6) - Compiles under win32 using cygwin (with -mno-cygwin) - Added mcrypt_strerror() September 18th 2000: (version 2.4.5) - Updates in the documentation - Libmcrypt can now be used without libltdl (in systems where libdl is present) - Added the mcrypt_enc_set_state() function. - Speedups in the blowfish algorithm May 12th, 2000: (version 2.4.4) - Added Panama algorithm April 3rd, 2000: (version 2.4.2) - Added missing symbols. April 2nd, 2000: (version 2.4.1) - Bugfixes - Internal changes in mode modules - Changes in the documentation March 19th, 2000: (version 2.4.0) - Corrected bugs in the extra algorithms. - Libmcrypt is now thread safe without need for posix thread locks. - Libmcrypt is no longer compatible with 2.2 or 2.3 version. - Speedups in the library. - The crypt algorithm has changed. In order for it's output to be compatible with the unix crypt output, the key must be generated using crypt(3). This was made in order to remove the key transformation, which was included in the algorithm. - The crypt algorithm was renamed to enigma. - Changed many function's names in order to minimize namespace polution. View the manpage for more information. March 4th, 2000: (version 2.3.4) - Improved POSIX Threads detection by Sascha Schumann - Arcfour was renamed to arcfour-iv. The arcfour algorithm now does not support iv (as the original algorithm does). - Modes for block algorithms are not limited any more to a 256 bit block size. - Mcrypt 2.2 compatibility functions were added. - mcrypt_get_algo_key_size(), mcrypt_get_algo_block_size() functions were added. February 28th, 2000: (version 2.3.3) - Some dlsyms were cached causing a 50% increase in speed. February 27th, 2000: - A slightly modified version of libmcrypt 2.2.4 was released in order for mcrypt 2.5.0 to be able to compile against that series of libmcrypt. February 22, 2000: - mcrypt_is_block_algorithm_mode(), mcrypt_is_block_mode(), mcrypt_is_block_algorithm(), functions were added. - Bugfixes in the mcrypt_module_self_test(). February 8th, 2000: - Keygen functionality was added to the cvs version of libmhash. Libmcrypt seems to compile fine. January 21st, 2000: - Locks were added to libltdl calls so libmcrypt is still thread safe. January 20th, 2000: (version 2.3.0) - Tried to include libltdl. Not succesful yet. It compiles but it does not work. - keygen functionality was removed. It will be added to libmhash http://schumann.cx/mhash January 13th, 2000: - Changed the sha-1 algorithm implementation - mcrypt_get_iv_size now calls the specified mode, not the algorithm - arcfour was added. December 12th, 1999: - Included patches by Steve Underwood, to allow an arbitary number of streams of encryption. - Thread locking was changed, in order to allow multiple encryption, and avoid dead locks. December 10th, 1999: - Wake algorithm now supports IV. December 4th, 1999: - Changes in modules/modes in order to be thread-safe. December 2nd, 1999: - Bug fixes in the panama and xtea algorithms. - The version of the module now can be checked at run-time (check mcrypt.h) November 30th, 1999: - Corrections in the panama algorithm, in order to work fine in big-endian machines. November 29th, 1999: - encrypt() function crypt.c was renamed to __encrypt() in order to compile in some systems. - version number is included in the modules. - mcrypt_list_algorithms(), mcrypt_list_modes() and mcrypt_list_keygen() now check if the file is an mcrypt module (has the _mcrypt_xxx_version function). November 28th, 1999: - MARS was added (as a separate module) November 26th, 1999: - mcrypt_perror(int) function was added. It prints the text of an mcrypt error code. - Versioning has been changed. The release is no longer included in the library name. - Documentation was updated. November 25th, 1999: - crypt() and setkey() functions for enigma, were renamed to __crypt() and __setkey() to keep some libcs happy. - Corrected typo mistakes in twofish.c. - Patched wake.c to work in bigendian machines. - IDEA, RC4, RC6 which were non-free now are in a separate distribution. November 24th, 1999: - sdes key generation module was corrected. Now it works fine with des(1). November 20th, 1999: - Mcrypt is now modular. Modes, algorithm, and key generation modules, can be loaded dynamically. November 17th, 1999: - PANAMA stream algorithm was added (experimental). - WAKE stream algorithm was added (experimental). November 13th, 1999: - Blowfish algorithm was changed, it is now compatible with other implementations. - Accessing algorithms is now different. You do not specify TWOFISH_256, to access TWOFISH algorithm with 256 bit key, but TWOFISH with keylength of 32 bytes (==256 bits). This is more flexible than the previous API since you can access more keys. October 16th, 1999: - The new API is completed. - STREAM mode was added. - RC4 was added. October 15th, 1999: - libmcrypt is maintained using CVS. - Major changes in the internal of the library. Much cleaner code. October 14th, 1999: - Serpent was added. October 10th, 1999: - Bugfix in sha1. October 4th, 1999: - Bugfixes in rc2 and rc6. - rijndael implementation by Mike Scott was added. September 29th, 1999: - Minor bugfixes and optimization in the library. Now it uses less memory. September 20th, 1999: - Fixes in RC2, RC6 and SAFER+ code, so they work the same way in big-endian and little-endian machines. - Porting of SERPENT, MARS and RIJNDAEL is not ready, they do not work right in bigendian machines. - Bugfixes in the tests. Tests failed if one or two algorithms failed. September 19th, 1999 - SERPENT was added in 128,192,256 key modes. September 15th, 1999 - MARS and RIJNDAEL were added in 128,192,256 key modes. - RC6 was splitted to RC6_128, RC6_192 and RC6_256 (the old RC6 is equal to RC6_256) - RC2 was splitted to RC2_128, RC2_256 and RC2_1024 (the old RC2 is equal to RC2_1024) September 14th, 1999 - Twofish code was changed. Now it uses Dr Brian Gladman's code. - RC2 code was changed. June 26th, 1999 - buffer overflow fixed in lib/mcrypt.c. Pointed out by Don Sutherland June 23th, 1999 - RC2 code was cleared. - RC6 was changed according to the specification. It is RC6 32/20/32. RC6, SAFER+, LOKI97 and CAST-256 codes are actually Dr Brian Gladman's code a bit modified for mcrypt. - shared library version has changed (at last!) June 22th, 1999 - SAFER+, LOKI97 and CAST-256 Added. June 15th, 1999 - Version 2.2 - Changes in the xTEA algorithm. Some extra parenthesis made the algorithm differ from the specification. Pointed out by Lars Nordentoft . Read the README.xtea for more information. June 12th, 1999 - Version 2.1.1 - Changes in the documentation which was inaccurate. June 11th, 1999 - Version 2.1 - _mcrypt_ was placed as a prefix to all internal functions so they do not pollute namespace. May 29th, 1999 - test suites added - Blowfish was divided to blowfish-448, -256, -192, -128. - CBC can now accept IV - mlock and munlock is used before mallocing and freeing any memory, thus if such capabilities exist the library guarrantees that no password is written in the disk (as swap etc.) - gen_key_md5() was added and gen_key() was renamed to gen_key_sha1() gen_key() is still defined to be gen_keysha1(). May 26th, 1999 - Version 2.0 - Documentation was incorrect and innacurate. Corrected. - A #define WORDS_BIGENDIAN 0 was removed from acconfig.h, this was confusing all the library headers, and thus the library was useless. - nbit-ofb mode added. n is the blocksize of the algorithm. Still experimental. May 24th, 1999 - Version 1.93 - defined get_block_size to be mcrypt_get_block_size so php3.0.8 compiles ok May 17th, 1999 - Version 1.9 - gen_key() changed - libtool support (based on Sascha Schumann's patches) usr/share/doc/mlocate/NEWS000064400000015676152526075370011402 0ustar00Changes in version 0.26: - New option -A, --all, that requires all patterns to match. Based on a patch by Carlos J. G. Duarte . - Add a >3-second margin when checking whether a directory is being currently modified, to account for low timestamp precision on FAT and for Linux kernel races. - Make the test suite more reliable and a little faster. - Updated translations. Changes in version 0.25: - Handle zero-length file names (a kernel bug) more gracefully. - Avoid PATH_MAX to hopefully support Hurd better. - Document that parent directories must exist for permission checking. - Minor bug fixes. - Updated translations. Changes in version 0.24: - Use /proc/self/mountinfo for bind mount detection; recent distributions symlink /etc/mtab to /proc/self/mounts, losing information we need. - Fix a man page typo. Patch by John Bradshaw . - Updated translations. Changes in version 0.23.1: - New or updated translations: - Greek by Pierros Papadeas - Traditional Chinese by Chai Zhenhua and Wei-Lun Chao Changes in version 0.23: - Don't prune no-op bind mounts (mounting a directory over itself) - New or updated translations: - Arabic by Amjad Saad and Munzir Taha (منذر طه) - Bosnian by Nikola Pajtić , Miloš Komarčević and Edmon Begoli - German by Christian Faulhammer - Persian by Mostafa - Dutch by Geert Warrink Changes in version 0.22.4: - New or updated translations: - Hungarian by Peter Bojtos - Swedish by Göran Uddeborg - Ukrainian by Maxim V. Dzumanenko Changes in version 0.22.3: - New or updated translations: - Asturian by Marcos Alvarez Costales - Greek by Pierros Papadeas - British English by Bruce Cowan - Korean by Eunju Kim - Russian by Anatoliy Guskov , Raspopov Sergey , and Yulia - Simplified Chinese by CHAI Zhenhua Changes in version 0.22.2: - New or updated translations: - Portuguese by Rui Gouveia - Japanese by Hyu_gabaru Ryu_ichi - Polish by Piotr Drąg Changes in version 0.22.1: - Fix mlocate.db format documentation. Patch by Tomas Zellerin . - New or updated translations: - Canadian by Xavier Queralt Mateu - Danish by Kris Thomsen - German by Thomas Spura - French by Charles-Antoine Couret - Japanese by Hyu_gabaru Ryu_ichi - Dutch by R.E. van der Luit Changes in version 0.22: - Ignore --require-visibility in locate if the database is not owned by group mlocate or it is readable by others (#7). - Refuse to open unprivileged databases in directories only accessible by group mlocate. - New or updated translations: - Spanish by H. Daniel Cabrera and Domingo Becker - Hungarian by Sulyok Péter - Swedish by Magnus Glantz - Simplified Chinese by CHAI Zhenhua Changes in version 0.21.1: - Clarified updatedb.conf(5) a bit. - New or updated translations: - Catalan by Xavier Queralt Mateu - German by Thomas Spura - Italian by Francesco Tombolini - Polish by Piotr Drąg - Brazilian Portuguese by Taylon Silmer - Serbian by Miloš Komarčević Changes in version 0.21: - New variable PRUNENAMES, new updatedb options --add-prunenames and --prunenames. Resolves ticket:2. - Fix prunepaths and bind mount pruning in certain cases. - Lock the database in updatedb to avoid more than one updatedb running concurrently. - Remove the temporary database file if updatedb aborts with an assertion failure. - Fix sorting of prunefs if an entry contains uppercase characters. Resolves ticket:3. - New or updated translations: - Brazilian Portuguese by Igor Pires Soares and Ivo Nascimento - Czech - Hungarian by Nagy Enikő - Malay/Bahasa Melayu by Mohd Izhar Firdaus Ismail Changes in version 0.20: - Fix more typos in man pages. Patch by Adeodato Simó . - Workaround (make check) failures when running as root. - New translations: - Brazilian Portuguese by Diego Búrigo Zacarão , - Bulgarian by Alexander Todorov , - French by Robert-André Mauchin and Thomas Canniot , - German by Fabian Affolter , - Italian by Silvio Pierro and Gianluca Busiello , - Polish by Piotr Drąg , - Serbian by Nikola Pajtić and Miloš Komarčević Changes in version 0.19: - New home page at https://fedorahosted.org/mlocate/ . - New updatedb option --debug-pruning. - Fix typos in man pages. Patch by A. Costa . - Make some aspects of the source code more portable. Patches by Steve Edwards . Changes in version 0.18: - Fix uninitialized memory access when dbpath contains "-" - Add some examples to the man pages Changes in version 0.17: - Don't hang if a NFS filesystem in an excluded subtree is unavailable. Changes in version 0.16: - INCOMPATIBLE CHANGE: The --database-root parameter of updatedb is always canonicalized. - Allow global exclusion of bind mounts - Fix string matching in some multibyte locales if no glob characters are used - Use gnulib, for better portability to non-Linux systems - Use O_NOATIME in updatedb - Miscellaneous small fixes, efficiency improvements and cleanups. Changes in version 0.15: - Use /proc/self/mounts or /proc/mounts if available - Add a test suite - Fix typos in error messages Changes in version 0.14: - Fix case-insensitive search with rare bracket expression constructs. - Speed up case-insensitive search about five times. Changes in version 0.13: - Fix a brown-paper-bag bug in Makefile.am, installing updatedb set-GID instead of locate. Changes in version 0.12: - Avoid assertion failures on invalid nanosecond times returned by Captive NTFS. Changes in version 0.11: - Nonprintable characters are replaced by `?' when stdout is a tty and --null is not specified. - updatedb is installed to $(bindir). usr/share/doc/gzip/NEWS000064400000054031152526310050010676 0ustar00GNU gzip NEWS -*- outline -*- * Noteworthy changes in release 1.9 (2018-01-07) [stable] ** Bug fixes gzip -d -S SUFFIX file.SUFFIX would fail for any upper-case byte in SUFFIX. E.g., before, this command would fail: $ :|gzip > kT && gzip -d -S T kT gzip: kT: unknown suffix -- ignored [bug present since the beginning] When decompressing data in 'pack' format, gzip no longer mishandles leading zeros in the end-of-block code. [bug introduced in gzip-1.6] When converting from system-dependent time_t format to the 32-bit unsigned MTIME format used in gzip files, if a timestamp does not fit gzip now substitutes zero instead of the timestamp's low-order 32 bits, as per Internet RFC 1952. When converting from MTIME to time_t format, if a timestamp does not fit gzip now warns and substitutes the nearest in-range value instead of crashing or silently substituting an implementation-defined value (typically, the timestamp's low-order bits). This affects timestamps before 1970 and after 2106, and timestamps after 2038 on platforms with 32-bit signed time_t. [bug present since the beginning] Commands implemented via shell scripts are now more consistent about failure status. For example, 'gunzip --help >/dev/full' now consistently exits with status 1 (error), instead of with status 2 (warning) on some platforms. [bug present since the beginning] Support for VMS and Amiga has been removed. It was not working anyway, and it reportedly caused file name glitches on MS-Windowsish platforms. * Noteworthy changes in release 1.8 (2016-04-26) [stable] ** Bug fixes gzip -l no longer falsely reports a write error when writing to a pipe. [bug introduced in gzip-1.7] Port to Oracle Solaris Studio 12 on x86-64. [bug present since at least gzip-1.2.4] When configuring gzip, ./configure DEFS='...-DNO_ASM...' now suppresses assembler again. [bug introduced in gzip-1.3.5] * Noteworthy changes in release 1.7 (2016-03-27) [stable] ** Changes in behavior The GZIP environment variable is now obsolescent; gzip now warns if it is used, and rejects attempts to use dangerous options or operands. You can use an alias or script instead. Installed programs like 'zgrep' now use the PATH environment variable as usual to find subsidiary programs like 'gzip' and 'grep'. Previously they prepended the installation directory to the PATH, which sometimes caused 'make check' to test the wrong gzip executable. [bug introduced in gzip-1.3.13] ** New features gzip now accepts the --synchronous option, which causes it to use fsync and similar primitives to transfer output data to the output file's storage device when the file system supports this. Although this option makes gzip safer in the presence of system crashes, it can make gzip considerably slower. gzip now accepts the --rsyncable option. This option is accepted in all modes, but has effect only when compressing: it makes the resulting output more amenable to efficient use of rsync. For example, when a large input file gets a small change, a gzip --rsyncable image of that file will remain largely unchanged, too. Without --rsyncable, even a tiny change in the input could result in a totally different gzip-compressed output file. ** Bug fixes gzip -k -v no longer reports that files are replaced. [bug present since the beginning] zgrep -f A B C no longer reads A more than once if A is not a regular file. This better supports invocations like 'zgrep -f <(COMMAND) B C' in Bash. [bug introduced in gzip-1.2] * Noteworthy changes in release 1.6 (2013-06-09) [stable] ** New features gzip now accepts the --keep (-k) option, for consistency with tools like xz, lzip and bzip2. With this option, gzip no longer removes named input files when compressing or decompressing. ** Bug fixes gzip -d no longer malfunctions with certain invalid data in 'pack' format. [bug introduced in gzip-0.8] When overwriting, gzip no longer acts as if you typed "y" when you type "n", on some platforms when compiled with optimization. [bug introduced in gzip-1.3.6] zgrep no longer malfunctions with a multi-digit context option like -15. Now, it passes that option to grep (equivalent to -C15) just as it does for single-digit options. [bug introduced in gzip-1.3.12] zmore now acts more like 'more', and is more portable to POSIXish hosts. * Noteworthy changes in release 1.5 (2012-06-17) [stable] ** Bug fixes gzip -d now decodes and checks header CRC16 checksums as specified by the FHCRC section of Internet RFC 1952. "gzip -d -S '' precious.gz" is now rejected immediately. Before, that command would emulate "rm -i precious.gz", but with an easily- misunderstood prompt. I.e., gzip would ask if it's ok to remove the existing file, "precious.gz". If you made the mistake of saying "yes", it would remove that input file before attempting to uncompress it. gzip -cdf now properly handles input consisting of gzip'd data followed by uncompressed data. Before it would output raw compressed input, too. For example, now "(printf x|gzip; echo y)|gzip -dcf" prints "xy\n", while before it would print "xy\n". gzip -rf no longer compresses files more than once (e.g., replacing FOO with FOO.gz.gz) on file systems such as ZFS where a readdir loop that unlinks and creates files can revisit output files. * Noteworthy changes in release 1.4 (2010-01-20) [stable] ** Bug fixes gzip -d could segfault and/or clobber the stack, possibly leading to arbitrary code execution. This affects x86_64 but not 32-bit systems. This fixes CVE-2010-0001. For more details, see https://bugzilla.redhat.com/554418 gzip -d would fail with a CRC error for some valid inputs. So far, the only valid input known to exhibit this failure was compressed "from FAT filesystem (MS-DOS, OS/2, NT)". In addition, to trigger the failure, your memcpy implementation must copy in the "reverse" order. * Noteworthy changes in release 1.3.14 (2009-10-30) [beta] ** Bug fixes gzip no longer fails when there is exactly one trailing NUL byte gzip has always accepted trailing NUL bytes. Note the plural. zdiff would exit with status 2 (indicating an error) rather than 1 to indicate differences when both inputs were compressed and different. zdiff would fail to print differences in two compressed inputs zgrep -f - didn't work * Noteworthy changes in release 1.3.13 (2009-09-30) [stable] ** 'gzip -f foo.gz' now creates a file foo.gz.gz instead of complaining. ** Bug fixes gzip -d no longer fails with "-" as 2nd or subsequent argument gzip no longer ignores a close-induced write failure, e.g., on NFS gzip -d no longer segfaults on certain invalid inputs Major changes in Gzip 1.3.12 (2007-04-13) * znew now uses $TMPDIR (default /tmp) instead of always using /tmp. * It is now documented that gzip ignores case when examining file name extensions; for example, 'gzip test.Gz' (without -f) fails because the file name ends in '.Gz'. Major changes in Gzip 1.3.11 (2007-02-05) * As per the GNU coding standards, the behavior of gzip and its companion executables no longer depend on the name used to invoke them. For example, 'gzip' and 'gunzip' are no longer hard links; instead, 'gunzip' is now a small program that invokes 'gzip -d'. * zdiff now checks for subsidiary gzip failures, and works around bugs in IRIX 6 sh, Tru64 4.0F ksh, and Solaris 8 bash. Major changes in Gzip 1.3.10 (2006-12-30) * gzip -c and zcat now work on special files, files with special mode bits, and files with multiple hard links. * gzip -q now exits with status 2 (not 1) when SIGPIPE is received. * zcmp and zdiff did not work in the usual case, due to a typo. * zgrep has many bugs fixed with argument handling, special characters, and exit status. * zless no longer mishandles $%=~ in file names. Gzip 1.3.9 (2006-12-15) * No major changes; only porting fixes. Major changes in Gzip 1.3.8 (2006-12-08) * Fix some gzip problems: - A security fix from Debian 1.3.5-5 was inadvertently omitted. - The assembler is now invoked with --noexecstack if supported, so that gzip can better resist stack-smashing attacks. Major changes in Gzip 1.3.7 (2006-12-06) * Fix some gzip problems: - Refuse to compress setuid or setgid files, or files with the sticky bit. - Fix more race conditions in setting file permissions and owner, removing output files, following symbolic links, and dealing with special files. - Remove most of the code working around ENAMETOOLONG deficiencies. Systems with those deficiencies are long-dead, and the workarounds had race conditions on modern hosts. - Catch CPU time and file size limit signals, too. - Check for read errors when closing files. - Fix a core dump caused by a stray abort mistakenly introduced in 1.3.6. * Fix some gzexe problems: - Improve resistance to denial-of-service attacks. - Fix some quoting and escaping bugs. - Do not assume /tmp is sticky (though it should be!). - Do not assume the working directory can be written. - Rely on PATH in the generated executable, as the man page says. - Don't assume IFS is sane. - Exit with signal's status, if signaled. Major changes in Gzip 1.3.6 (2006-11-20) * Fix some race conditions in setting file timestamps, permissions, and owner. * Fix some race conditions in signal handling. * When gzip exits due to a signal, it exits with the signal's status, not 1. * gzip now restores file timestamps to the resolution supported by the time-setting primitives of the operating system, typically 1 microsecond. Formerly it restored them only to the nearest second. * gzip -r no longer attempts to reset the last-access times of directories it reads, as this messes up when other processes are reading the directories. * The options --version and --help now work on all gzip-installed executables, and now use a format similar to other GNU programs. * The manual is now distributed under the terms of the GNU Free Documentation License without invariant sections or cover texts. * Port to current versions of Autoconf, Automake, and Gnulib. Major changes from 1.3.4 to 1.3.5 * gzip now removes any output symlink before writing output file. * zgrep etc. scripts now port to POSIX 1003.1-2001 hosts. * zforce no longer assumes 14-byte file name length limit. * zless is now implemented using less and LESSOPEN, not zmore and PAGER. * assembly-language speedups reenabled; were mistakenly disabled in 1.3. Major changes from 1.3.3 to 1.3.4 * Less output is lost when decompressing a truncated file. * The manual is now distributed under the terms of the GNU Free Documentation License. No major changes in 1.3.2 or 1.3.3 (bug fixes only) Major changes from 1.3 to 1.3.1 * zgrep now supports --, -H, -h, -L, -l, -C, -d, -m and their long equivalents. Major changes from 1.2.4 to 1.3 * Add support for large files, e.g. files larger than 2 GB on Solaris 2.6. * Adjust file size listing format for files larger than 10 GB. * New command `zless'. * `zdiff' now reports exit status like `diff' does. * `zcat' is now always called `zcat', not `gzcat'. Similarly for `zdiff', `zgrep', `zmore', `znew', `zforce'. * Warn about a compressed file's trailing zeros only if verbose, for compatibility with recent versions of GNU tar. * Conform to changes to GNU makefile standards. * Port to Autoconf 2.13. * Convert to Automake. * Fix bugs in the following areas: - files larger than 4 GB - security hole involving symlinks from /tmp - security hole involving long file names - permissions bug when compressing a symbolic link to a file - core dumps - concatenated compressed files on INBUFSIZ boundaries - porting bugs on hosts with signed chars - porting bug with upper and lower case - porting bug for hosts that reserve the names `basename' or `warning' Major changes from 1.2.3 to 1.2.4 * By default, do not restore file name and timestamp from those saved inside the .gz file (behave as 'compress'). Added the --name option to force name and timestamp restoration. * Accept - as synonym for stdin. * Use manlinks=so or ln to support either hard links or .so in man pages * Accept foo.gz~ in zdiff. * Added support for Windows NT * Handle ENAMETOOLONG for strict Posix systems * Use --recursive instead of --recurse to comply with Webster and the GNU stdandard. * Allow installation of shell scripts with a g prefix: make G=g install * Install by default zcat as gzcat if gzcat already exists in path. * Let zmore behave as more when invoked without parameters (give help) * Let gzip --list reject files not in gzip format even with --force. * Don't complain about non gzip files for options -rt or -rl. * Added advice in INSTALL for several systems. Major changes from 1.2.2 to 1.2.3 * Don't display the output name when decompressing except with --verbose. * Remove usage of alloca in getopt.c and all makefiles. * Added the zfile shell script in subdirectory sample. * Moved the list of compiler bugs from README to INSTALL. * Added vms/Readme.vms. Major changes from 1.2.1 to 1.2.2 * Fix a compilation error on Sun with cc (worked with gcc). Major changes from 1.2 to 1.2.1 * Let zmore act as more if the data is not gzipped. * made gzexe more secure (don't rely on PATH). * By default, display output name only when the name was actually truncated. Major changes from 1.1.2 to 1.2 * Added the --list option to display the file characteristics. * Added the --no-name option: do not save or restore original filename Save the original name by default. * Allow gunzip --suffix "" to attempt decompression on any file regardless of its extension if an original name is present. * Add support for the SCO compress -H format. * gzip --fast now compresses faster (speed close to that of compress) with degraded compression ratio (but still better than compress). Default level changed to -6 (acts exactly as previous level -5) to be a better indication of its placement in the speed/ratio range. * Use smart name truncation: 123456789012.c -> 123456789.c.gz instead of 12345678901.gz * With --force, let zcat pass non gzip'ed data unchanged (zcat == cat) * Added the zgrep shell script. * Made sub.c useful for 16 bit sound, 24 bit images, etc.. * Suppress warnings about suffix for gunzip -r, except with --verbose. * On MSDOS, use .gz extension when possible (files without extension) * Moved the sample programs to a subdirectory sample. * Added a "Special targets" section in INSTALL. Major changes from 1.1.1 to 1.1.2. * Fix serious bug for VMS (-gz not removed when decompressing). * Allow suffix other than .gz in znew. * Do not display compression ratio when decompressing stdin. * In zmore.in, work around brain damaged stty -g (Ultrix). * Display a correct compression ratio for .Z files. * Added .z to .gz renaming script in INTALL. * Allow setting CFLAGS in configure. Major changes from 1.1 to 1.1.1. * Fix serious bug in vms.c (affects Vax/VMS only). * Added --ascii option. * Add workaround in configure.in for Ultrix (quote eval argument) Major changes from 1.0.7 to 1.1. * Use .gz suffix by default, add --suffix option. * Let gunzip accept a "_z" suffix (used by one 'compress' on Vax/VMS). * Quit when reading garbage from stdin instead of reporting an error. * Added makefile for VAX/MMS and support for wildcards on VMS. * Added support for MSC under OS/2. * Added support for Prime/PRIMOS. * Display compression ratio also when decompressing (with --verbose). * Quit after --version (GNU standard) * Use --force to bypass isatty() check * Continue processing other files in case of recoverable error. * Added comparison of zip and gzip in the readme file. * Added small sample programs (ztouch, sub, add) * Use less memory when compiled with -DSMALL_MEM (for MSDOS). * Remove the "off by more than one minute" timestamp kludge Major changes from 1.0.6 to 1.0.7. * Allow zmore to read from standard input (like more). * Support the 68000 (Atari ST) in match.S. * Retry partial writes (required on Linux when gzip is suspended in a pipe). * Allow full pathnames and renamings in gzexe. * Don't let gzexe compress setuid executables or gzip itself. * Added vms/Makefile.gcc for gcc on the Vax. * Allow installation of binaries and shell scripts in different dirs. * Allows complex PAGER variable in zmore (e.g.: PAGER="col -x | more") * Allow installation of zcat as gzcat. * Several small changes for portability to old or weird systems. * Suppress help message and send compressed data to the terminal when gzip is invoked without parameters and without redirection. * Add compile option GNU_STANDARD to respect the GNU coding standards: with -DGNU_STANDARD, behave as gzip even if invoked under the name gunzip. (I don't like the last two changes, which were requested by the FSF.) Major changes from 1.0.5 to 1.0.6. * Let gzexe detect executables that are already gzexe'd. * Keep file attributes in znew and gzexe if cpmod is available. * Don't try restoring record format on VMS (1.0.5 did not work correctly) * Added asm version for 68000 in amiga/match.a. Use asm version for Atari TT and NeXT. * For OS/2, assume HPFS by default, add flag OS2FAT if necessary. * Fixed some bugs in zdiff and define zcmp as a link to zdiff. Major changes from 1.0.4 to 1.0.5. * For VMS, restore the file type for variable record format, otherwise extract in fixed length format (not perfect, but better than forcing all files to be in stream_LF format). * For VMS, use "-z" default suffix and accept a version number in file names. * For Unix, allow compression of files with name ending in 'z'. Use only .z, .*-z, .tgz, .taz as valid gzip extensions. In the last two cases, extract to .tar by default. * On some versions of MSDOS, files with a 3 character extension could not be compressed. * Garbage collect files in /tmp created by gzexe. * Fix the 'OS code' byte in the gzip header. * For the Amiga, add the missing utime.h and add support for gcc. Major changes from 1.0.3 to 1.0.4. * Added optimized asm version for 68020. * Add support for DJGPP. * Add support for the Atari ST. * Added zforce to rename gzip'ed files with truncated names. * Do not install with name uncompress (some systems rely on the absence of any check in the old uncompress). * Added missing function (fcfree) in msdos/tailor.c * Let gunzip handle .tgz files, and let gzip skip them. * Added -d option (decompress) for gzexe and try preserving file permissions. * Suppress all warnings with -q. * Use GZIP_OPT for VMS to avoid conflict with program name. * ... and many other small changes (see ChangeLog) Major changes from 1.0.2 to 1.0.3 * Added -K option for znew to keep old .Z files if smaller * Added -q option (quiet) to cancel -v in GZIP env variable. * Made gzexe safer on systems with filename limitation to 14 chars. * Fixed bugs in handling of GZIP env variable and incorrect free with Turbo C. Major changes from 1.0.1 to 1.0.2 * Added env variable GZIP for default options. Example: for sh: GZIP="-8 -v"; export GZIP for csh: setenv GZIP "-8 -v" * Added support for the Amiga. * znew now keeps the old .Z if it is smaller than the .z file. This can happen for some large and very redundant files. * Do not complain about trailing garbage for record oriented IO (Vax/VMS). This implies however that multi-part gzip files are not supported on such systems. * Added gzexe to compress rarely used executables. * Reduce memory usage (required for MSDOS and useful on all systems). * Preserve timestamp in znew -P (pipe option) if touch -r works. Major changes from 1.0 to 1.0.1 * fix trivial errors in the Borland makefile (msdos/Makefile.bor) Major changes from 0.8.2 to 1.0 * gzip now runs on Vax/VMS * gzip will not not overwrite files without -f when using /bin/sh in background. * Support the test option -t for compressed (.Z) files. Allow some data recovery for bad .Z files. * Added makefiles for MSDOS (Only tested for MSC, not Borland). * still more changes to configure for several systems Major changes from 0.8.1 to 0.8.2: * yet more changes to configure for Linux and other systems * Allow zcat on a file with multiple links. Major changes from 0.8 to 0.8.1: * znew has now a pipe option -P to reduce the disk space requirements, but this option does not preserve timestamps. * Fixed some #if directives for compilation with TurboC. Major changes from 0.7 to 0.8: * gzip can now extract .z files created by 'pack'. * configure should no longer believe that every machine is a 386 * Fix the entry for /etc/magic in INSTALL. * Add patch for GNU tar 1.11.1 and a pointer to crypt++.el * Uncompress files with multiple links only with -f. * Fix for uncompress of .Z files on 16-bit machines * Create a correct output name for file names of exactly N-1 chars when the system has a limit of N chars. Major changes from 0.6 to 0.7: * Use "make check" instead of "make test". * Keep timestamp and pass options to gzip in znew. * Do not create .z.z files with gzip -r. * Allow again gunzip .zip files (was working in 0.5) * Allow again compilation with TurboC 2.0 (was working in 0.4) Major changes form 0.5 to 0.6: * gunzip reported an error when extracting certain .z files. The .z files produced by gzip 0.5 are correct and can be read by gunzip 0.6. * gunzip now supports multiple compressed members within a single .z file. * Fix the check for i386 in configure. * Added "make test" to check for compiler bugs. (gcc -finline-functions is broken at least on the NeXT.) * Use environment variable PAGER in zmore if it is defined. * Accept gzcat in addition to zcat for people having /usr/bin before /usr/local/bin in their path. ======================================================================== Copyright (C) 1999, 2001-2002, 2006-2007, 2009-2018 Free Software Foundation, Inc. Copyright (C) 1992, 1993 Jean-loup Gailly Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the ``GNU Free Documentation License'' file as part of this distribution. usr/share/doc/mailcap/NEWS000064400000016526152526317340011353 0ustar00mailcap 2.1.48 (2017-05-11) Ville Skyttä: - mime.types: Sync with IANA as of 2017-05-05. - mime.types: Use application/vnd.adobe.flash.movie for flash (#1424914). - mime.types: Use application/cbor for *.cbor. - Add missing make dependencies for mime.types.nginx. mailcap 2.1.47 (2016-11-01) Ville Skyttä: - mime.types: Sync with IANA as of 2016-09-30. mailcap 2.1.46 (2016-05-29) Ville Skyttä: - mime.types: Sync with IANA as of 2016-05-29. mailcap 2.1.45 (2015-09-25) Ville Skyttä: - mime.types: Sync with IANA as of 2015-09-25. - Generate and install mime.types for use with nginx. mailcap 2.1.44 (2015-04-27) Ville Skyttä: - mime.types: Sync with IANA as of 2015-04-27. - mime.types: Add application/owl+xml. mailcap 2.1.43 (2014-10-14) Ville Skyttä: - mime.types: Sync with IANA as of 2014-10-14. mailcap 2.1.42 (2013-10-05) Ville Skyttä: - mime.types: Sync with IANA as of 2013-10-05. - mime.types: Add (private) Matroska types (#990338). mailcap 2.1.41 (2013-05-14) Ville Skyttä: - mime.types: Sync with IANA as of 2013-05-14. - mime.types: Add application/x-chrome-extension and image/webp. - mime.types: Add (more) extensions for application/ecmascript, application/pgp-encrypted, application/pkixcmp, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/vnd.ms-project, audio/mp4, audio/ogg, image/cgm, image/vnd.dwg, text/cache-manifest, text/plain, video/mp4, video/mpeg, and video/vnd.vivo. - mime.types: Use application/smil+xml instead of obsolete application/smil. - mime.types: Use text/troff instead of nonstandard application/x-troff. - mime.types: Fix application/vnd.hal+xml (was application/hal+xml). mailcap 2.1.40 (2012-08-05) Ville Skyttä: - mime.types: Sync with IANA as of 2012-07-27. mailcap 2.1.39 (2012-02-20) Ville Skyttä: - mime.types: Sync with IANA as of 2012-02-17. mailcap 2.1.38 (2011-08-16) Ville Skyttä: - mime.types: Sync with IANA as of 2011-08-16. mailcap 2.1.37 (2011-03-29) Ville Skyttä: - mime.types: Sync with IANA as of 2011-03-29. - mime.types: Fix fsdn typo in application/vnd.fdsn.seed. mailcap 2.1.36 (2011-02-22) Ville Skyttä: - mime.types: Sync with IANA as of 2011-02-19. - mime.types: Use application/javascript instead of text/javascript for *.js. - mime.types: Add application/vnd.android.package-archive. John Bradshaw: - mailcap.4: Escape backslash (#675681). mailcap 2.1.35 (2010-10-13) Ville Skyttä: - mime.types: Sync with IANA as of 2010-10-13. - mime.types: Add application/epub+zip. mailcap 2.1.34 (2010-08-24) Ville Skyttä: - mime.types: Sync with IANA as of 2010-08-20. mailcap 2.1.33 (2010-07-03) Ville Skyttä: - mime.types: Sync with IANA as of 2010-06-17. - mime.types: Associate rng and xsd with text/xml. - mime.types: Add video/webm (#604924) and video/x-javafx. mailcap 2.1.32 (2010-03-19) Ville Skyttä: - mime.types: List common extensions before others for various types. - mime.types: Sync with IANA as of 2010-03-19. - mime.types: Add xiph.org non-IANA types (#546116). - mime.types: Add application/x-xpinstall. - mime.types: Add text/html-sandboxed. mailcap 2.1.31 (2009-11-17) Ville Skyttä: - mime.types: Sync with IANA as of 2009-11-13. - mime.types: Add application/x-java-pack200. - mime.types: Add application/x-xz (#529584). - mime.types: Add application/mathml+xml and image/svg+xml. - mime.types: Add audio/x-s3m. - mime.types: Add application/rss+xml. mailcap 2.1.30 (2009-09-19) Ville Skyttä: - mime.types: Sync with IANA as of 2009-09-19. - mime.types: Remove non-IANA types that map to no extensions. - mime.types: Reorganize mime into IANA and non-IANA ones. - mime.types: Add HTML5 text/cache-manifest. - mime.types: Add application/metalink+xml. - mime.types: Various spelling fixes, make sure extensions are listed once. - Add mime.types sanity checker (use make check to invoke). Tom Callaway: - Add copyright info. mailcap 2.1.29 (2008-12-15) Ville Skyttä: - update mime.types (#476455) mailcap 2.1.28 (2008-02-15) Ville Skyttä: - add new entries from perl-libwww-perl's media.types (#432290) mailcap 2.1.27 (2008-02-07) Ville Skyttä: - associate *.ent with text/xml-external-parsed-entity (#431722) mailcap 2.1.26 (2008-01-22) Ville Skyttä: - use xdg-open (#388481) Miroslav Lichvar: - spec cleanup (#226116) mailcap 2.1.25 (2007-07-10) Miroslav Lichvar: - add image/vnd.microsoft.icon to mime.types (#247222) mailcap 2.1.24 (2007-06-18) Miroslav Lichvar: - add text/x-vcard to mime.types (#243889) - mark configs noreplace, cleanup spec a bit mailcap 2.1.23 (2006-09-05) Miroslav Lichvar: - add video/x-flv to mime.types (#205239) mailcap 2.1.22 (2006-08-07) Ville Skyttä: - add java/mobile mime types (#201512) mailcap 2.1.21 (2006-07-18) Miroslav Lichvar: - add audio and video x-ms mime types (#197840) mailcap 2.1.20 (2006-02-13) Miroslav Lichvar: - add OpenOffice.org 2.0 mime types (#173789) mailcap 2.1.19 (2005-03-07) Bill Nottingham: - s/ggv/evince/ (#150509) mailcap 2.1.18 (2005-01-21) Ville Skyttä: - add iso, img to octet-stream (#142459) mailcap 2.1.17 (2004-10-11) Bill Nottingham: - pdfs -> back to ggv mailcap 2.1.16 (2004-09-23) Bill Nottingham: - eog -> gthumb - pdfs -> gpdf mailcap 2.1.15 (2004-05-03) Bill Nottingham: - xpdf/gv -> ggv (#118401) - add application/x-bittorrent (#118752) mailcap 2.1.14 (2003-07-11) Bill Nottingham: - add application/ogg and OpenOffice.org mime.types mailcap 2.1.13 (2003-02-07) Bill Nottingham: - resync mime.types with apache - clean out mailcap some mailcap 2.1.12 (2002-09-03) Bill Nottingham: - add application/x-ogg to mime.types mailcap 2.1.11 (2002-07-19) Jens Petersen: - use eog instead of ee mailcap 2.1.10 (2002-06-18) Nalin Dahyabhai: - resync mime.types with apache 1.3.26 mailcap 2.1.9 (2001-12-24) Bill Nottingham: - fix Sep. 17 changes (#57362) mailcap 2.1.8 (2001-10-23) Nalin Dahyabhai: - resync mime.types with apache 1.3.22 mailcap 2.1.7 (2001-09-17) Bill Nottingham: - associate PS files with gv (#53734) mailcap [older versions]: Bill Nottingham: - switch gtv & xanim order (#51408) - use htmlview for text/html (#48141) - use gpg, not pgp (#13816, others) - fix typo (#23409) - reintegrate stuff into the package so it doesn't get lost - remove mailcap.vga - handle compressed man pages - add .bz2 - add tgz/gz to gzip - rpm files are RPM files. :) - comment out play - comment out backticked %variables to work around security problems - we don't ship tracker, use mikmod instead Preston Brown: - add wap entries - updated mime type for images from xv to ee - cleaned up for our new version of the package which is in CVS Than Ngo: - add ms(TM) word document entry (Bug #17474) - bzip2 sources Jeff Johnson: - fix typo in pdf entry (#2618). - build root Tim Waugh: - Use gtv not xanim for video/mpeg, since we no longer ship the codecs. Matt Wilson: - updated mime.types Cristian Gafton: - glibc version 2.1 Prospector System: - translations modified for de, fr, tr Donnie Barnes: - added /etc/mime.types from mutt to this package to make it universal Erik Troan: - made a noarch package usr/share/doc/sudo/NEWS000064400000413042152526326520010711 0ustar00What's new in Sudo 1.9.5p2 * Fixed sudo's setprogname(3) emulation on systems that don't provide it. * Fixed a problem with the sudoers log server client where a partial write to the server could result the sudo process consuming large amounts of CPU time due to a cycle in the buffer queue. Bug #954. * Added a missing dependency on libsudo_util in libsudo_eventlog. Fixes a link error when building sudo statically. * The user's KRB5CCNAME environment variable is now preserved when performing PAM authentication. This fixes GSSAPI authentication when the user has a non-default ccache. * When invoked as sudoedit, the same set of command line options are now accepted as for "sudo -e". The -H and -P options are now rejected for sudoedit and "sudo -e" which matches the sudo 1.7 behavior. This is part of the fix for CVE-2021-3156. * Fixed a potential buffer overflow when unescaping backslashes in the command's arguments. Normally, sudo escapes special characters when running a command via a shell (sudo -s or sudo -i). However, it was also possible to run sudoedit with the -s or -i flags in which case no escaping had actually been done, making a buffer overflow possible. This fixes CVE-2021-3156. What's new in Sudo 1.9.5p1 * Fixed a regression introduced in sudo 1.9.5 where the editor run by sudoedit was set-user-ID root unless SELinux RBAC was in use. The editor is now run with the user's real and effective user-IDs. What's new in Sudo 1.9.5 * Fixed a crash introduced in 1.9.4 when running "sudo -i" as an unknown user. This is related to but distinct from Bug #948. * If the "lecture_file" setting is enabled in sudoers, it must now refer to a regular file or a symbolic link to a regular file. * Fixed a potential use-after-free bug in sudo_logsrvd when the server shuts down if there are existing connections from clients that are only logging events and not session I/O data. * Fixed a buffer size mismatch when serializing the list of IP addresses for configured network interfaces. This bug is not actually exploitable since the allocated buffer is large enough to hold the list of addresses. * If sudo is executed with a name other than "sudo" or "sudoedit", it will now fall back to "sudo" as the program name. This affects warning, help and usage messages as well as the matching of Debug lines in the /etc/sudo.conf file. Previously, it was possible for the invoking user to manipulate the program name by setting argv[0] to an arbitrary value when executing sudo. * Sudo now checks for failure when setting the close-on-exec flag on open file descriptors. This should never fail but, if it were to, there is the possibility of a file descriptor leak to a child process (such as the command sudo runs). * Fixed CVE-2021-23239, a potential information leak in sudoedit that could be used to test for the existence of directories not normally accessible to the user in certain circumstances. When creating a new file, sudoedit checks to make sure the parent directory of the new file exists before running the editor. However, a race condition exists if the invoking user can replace (or create) the parent directory. If a symbolic link is created in place of the parent directory, sudoedit will run the editor as long as the target of the link exists. If the target of the link does not exist, an error message will be displayed. The race condition can be used to test for the existence of an arbitrary directory. However, it _cannot_ be used to write to an arbitrary location. * Fixed CVE-2021-23240, a flaw in the temporary file handling of sudoedit's SELinux RBAC support. On systems where SELinux is enabled, a user with sudoedit permissions may be able to set the owner of an arbitrary file to the user-ID of the target user. On Linux kernels that support "protected symlinks", setting /proc/sys/fs/protected_symlinks to 1 will prevent the bug from being exploited. For more information see https://www.sudo.ws/alerts/sudoedit_selinux.html. * Added writability checks for sudoedit when SELinux RBAC is in use. This makes sudoedit behavior consistent regardless of whether or not SELinux RBAC is in use. Previously, the "sudoedit_checkdir" setting had no effect for RBAC entries. * A new sudoers option "selinux" can be used to disable sudo's SELinux RBAC support. * Quieted warnings from PVS Studio, clang analyzer, and cppcheck. Added suppression annotations for PVS Studio false positives. What's new in Sudo 1.9.4p2 * Fixed a bug introduced in sudo 1.9.4p1 which could lead to a crash if the sudoers file contains a runas user-specific Defaults entry. Bug #951. What's new in Sudo 1.9.4p1 * Sudo on macOS now supports users with more than 16 groups without needing to set "group_source" to "dynamic" in /etc/sudo.conf. Previously, only the first 15 were used when matching group-based rules in sudoers. Bug #946. * Fixed a regression introduced in version 1.9.4 where sudo would not build when configured using the --without-sendmail option. Bug #947. * Fixed a problem where if I/O logging was disabled and sudo was unable to connect to sudo_logsrvd, the command would still be allowed to run even when the "ignore_logfile_errors" sudoers option was enabled. * Fixed a crash introduced in version 1.9.4 when attempting to run a command as a non-existent user. Bug #948. * The installed sudo.conf file now has the default sudoers Plugin lines commented out. This fixes a potential conflict when there is both a system-installed version of sudo and a user-installed version. GitHub issue #75. * Fixed a regression introduced in sudo 1.9.4 where sudo would run the command as a child process even when a pseudo-terminal was not in use and the "pam_session" and "pam_setcred" options were disabled. GitHub issue #76. * Fixed a regression introduced in sudo 1.8.9 where the "closefrom" sudoers option could not be set to a value of 3. Bug #950. What's new in Sudo 1.9.4 * The sudoers parser will now detect when an upper-case reserved word is used when declaring an alias. Now instead of "syntax error, unexpected CHROOT, expecting ALIAS" the message will be "syntax error, reserved word CHROOT used as an alias name". Bug #941. * Better handling of sudoers files without a final newline. The parser now adds a newline at end-of-file automatically which removes the need for special cases in the parser. * Fixed a regression introduced in sudo 1.9.1 in the sssd back-end where an uninitialized pointer could be freed on an error path. GitHub issue #67. * The core logging code is now shared between sudo_logsrvd and the sudoers plugin. * JSON log entries sent to syslog now use "minimal" JSON which skips all non-essential white space. * The sudoers plugin can now produce JSON-formatted logs. The "log_format" sudoers option can be used to select sudo or json format logs. The default is sudo format logs. * The sudoers plugin and visudo now display the column number in syntax error messages in addition to the line number. Bug #841. * If I/O logging is not enabled but "log_servers" is set, the sudoers plugin will now log accept events to sudo_logsrvd. Previously, the accept event was only sent when I/O logging was enabled. The sudoers plugin now sends reject and alert events too. * The sudo logsrv protocol has been extended to allow an AlertMessage to contain an optional array of InfoMessage, as AcceptMessage and RejectMessage already do. * Fixed a bug in sudo_logsrvd where receipt of SIGHUP would result in duplicate entries in the debug log when debugging was enabled. * The visudo utility now supports EDITOR environment variables that use single or double quotes in the command arguments. Bug #942. * The PAM session modules now run when sudo is set-user-ID root, which allows a module to determine the original user-ID. Bug #944. * Fixed a regression introduced in sudo 1.8.24 in the LDAP back-end where sudoNotBefore and sudoNotAfter were applied even when the SUDOERS_TIMED setting was not present in ldap.conf. Bug #945. * Sudo packages for macOS 11 now contain universal binaries that support both Intel and Apple Silicon CPUs. * For sudo_logsrvd, an empty value for the "pid_file" setting in sudo_logsrvd.conf will now disable the process ID file. What's new in Sudo 1.9.3p1 * Fixed a regression introduced in sudo 1.9.3 where the configure script would not detect the crypt(3) function if it was present in the C library, not an additional library. * Fixed a regression introduced in sudo 1.8.23 with shadow passwd file authentication on OpenBSD. BSD authentication was not affected. * Sudo now logs when a user-specified command-line option is rejected by a sudoers rule. Previously, these conditions were written to the audit log, but the default sudo log file. Affected command line arguments include -C (--close-from), -D (--chdir), -R (--chroot), -g (--group) and -u (--user). What's new in Sudo 1.9.3 * sudoedit will now prompt the user before overwriting an existing file with one that is zero-length after editing. Bug #922. * Fixed building the Python plugin on systems with a compiler that doesn't support symbol hiding. * Sudo now uses a linker script to hide symbols even when the compiler supports symbol hiding. This should make it easier to detect omissions in the symbol exports file, regardless of the platform. * Fixed the libssl dependency in Debian packages for older releases that use libssl1.0.0. * Sudo and visudo now provide more detailed messages when a syntax error is detected in sudoers. The offending line and token are now displayed. If the parser was generated by GNU bison, additional information about what token was expected is also displayed. Bug #841. * Sudoers rules must now end in either a newline or the end-of-file. Previously, it was possible to have multiple rules on a single line, separated by white space. The use of an end-of-line terminator makes it possible to display accurate error messages. * Sudo no longer refuses to run if a syntax error in the sudoers file is encountered. The entry with the syntax error will be discarded and sudo will continue to parse the file. This makes recovery from a syntax error less painful on systems where sudo is the primary method of superuser access. The historic behavior can be restored by add "error_recovery=false" to the sudoers plugin's optional arguments in sudo.conf. Bug #618. * Fixed the sample_approval plugin's symbol exports file for systems where the compiler doesn't support symbol hiding. * Fixed a regression introduced in sudo 1.9.1 where arguments to the "sudoers_policy" plugin in sudo.conf were not being applied. The sudoers file is now parsed by the "sudoers_audit" plugin, which is loaded implicitly when "sudoers_policy" is listed in sudo.conf. Starting with sudo 1.9.3, if there are plugin arguments for "sudoers_policy" but "sudoers_audit" is not listed, those arguments will be applied to "sudoers_audit" instead. * The user's resource limits are now passed to sudo plugins in the user_info[] list. A plugin cannot determine the limits itself because sudo changes the limits while it runs to prevent resource starvation. * It is now possible to set the working directory or change the root directory on a per-command basis using the CWD and CHROOT options. CWD and CHROOT are now reserved words in sudoers--they can no longer be used as alias names. There are also new Defaults settings, runchroot and runcwd, that can be used to set the working directory or root directory on a more global basis. * New -D (--chdir) and -R (--chroot) command line options can be used to set the working directory or root directory if the sudoers file allows it. This functionality is not enabled by default and must be explicitly enabled in the sudoers file. * Fixed a regression introduced in sudo 1.9.1 where the sudoers_audit symbol could not be resolved when sudo is configured with the --enable-static-sudoers option. Bug #936 and GitHub issue #61. What's new in Sudo 1.9.2 * Fixed package builds on RedHat Enterprise Linux 8. * The configure script now uses pkg-config to find the openssl cflags and libs where possible. * The contents of the log.json I/O log file is now documented in the sudoers manual. * The sudoers plugin now properly exports the sudoers_audit symbol on systems where the compiler lacks symbol visibility controls. This caused a regression in 1.9.1 where a successful sudo command was not logged due to the missing audit plugin. Bug #931. * Fixed a regression introduced in 1.9.1 that can result in crash when there is a syntax error in the sudoers file. Bug #934. What's new in Sudo 1.9.1 * Fixed an AIX-specific problem when I/O logging was enabled. The terminal device was not being properly set to raw mode. Bug #927. * Corrected handling of sudo_logsrvd connections without associated I/O log data. This fixes support for RejectMessage as well as AcceptMessage when the expect_iobufs flag is not set. * Added an "iolog_path" entry to the JSON-format event log produced by sudo_logsrvd. Previously, it was only possible to determine the I/O log file an event belonged to using sudo-format logs. * Fixed the bundle IDs for sudo-logsrvd and sudo-python macOS packages. * I/O log files produced by the sudoers plugin now clear the write bits on the I/O log timing file when the log is complete. This is consistent with how sudo_logsrvd indicates that a log is complete. * The sudoreplay utility has a new "-F" (follow) command line option to allow replaying a session that is still in progress, similar to "tail -f". * The @include and @includedir directives can be used in sudoers instead of #include and #includedir. In addition, include paths may now have embedded white space by either using a double-quoted string or escaping the space characters with a backslash. * Fixed some Solaris 11.4 compilation errors. * When running a command in a pty, sudo will no longer try to suspend itself if the user's tty has been revoked (for instance when the parent ssh daemon is killed). This fixes a bug where sudo would continuously suspend the command (which would succeed), then suspend itself (which would fail due to the missing tty) and then resume the command. * If sudo's event loop fails due to the tty being revoked, remove the user's tty events and restart the event loop (once). This fixes a problem when running "sudo reboot" in a pty on some systems. When the event loop exited unexpectedly, sudo would kill the command running in the pty, which in the case of "reboot", could lead to the system being in a half-rebooted state. * Fixed a regression introduced in sudo 1.8.23 in the LDAP and SSSD back-ends where a missing sudoHost attribute was treated as an "ALL" wildcard value. A sudoRole with no sudoHost attribute is now ignored as it was prior to version 1.8.23. * The audit plugin API has been changed slightly. The sudo front-end now audits an accept event itself after all approval plugins are run and the I/O logging plugins (if any) are opened. This makes it possible for an audit plugin to only log a single overall accept event if desired. * The sudoers plugin can now be loaded as an audit plugin. Logging of successful commands is now performed in the audit plugin's accept function. As a result, commands are now only logged if allowed by sudoers and all approval plugins. Commands rejected by an approval plugin are now also logged by the sudoers plugin. * Romanian translation for sudo and sudoers from translationproject.org. * Fixed a regression introduced in sudo 1.9.0 where sudoedit did not remove its temporary files after installing them. Bug #929. * Fixed a regression introduced in sudo 1.9.0 where the iolog_file setting in sudoers and sudo_logsrvd.conf caused an error if the file name ended in six or more X's. What's new in Sudo 1.9.0 * Fixed a test failure in the strsig_test regress test on FreeBSD. * The maximum length of a conversation reply has been increased from 255 to 1023 characters. This allows for longer user passwords. Bug #860. * Sudo now includes a logging daemon, sudo_logsrvd, which can be used to implement centralized logging of I/O logs. TLS connections are supported when sudo is configured with the --enable-openssl option. For more information, see the sudo_logsrvd, logsrvd.conf and sudo_logsrv.proto manuals as well as the log_servers setting in the sudoers manual. The --disable-log-server and --disable-log-client configure options can be used to disable building the I/O log server and/or remote I/O log support in the sudoers plugin. * The new sudo_sendlog utility can be used to test sudo_logsrvd or send existing sudo I/O logs to a centralized server. * It is now possible to write sudo plugins in Python 3 when sudo is configured with the --enable-python option. See the sudo_plugin_python manual for details. Sudo 1.9.0 comes with several Python example plugins that get installed sudo's examples directory. The sudo blog article "What's new in sudo 1.9: Python" (https://blog.sudo.ws/posts/2020/01/whats-new-in-sudo-1.9-python/) includes a simple tutorial on writing python plugins. * Sudo now supports an "audit" plugin type. An audit plugin receives accept, reject, exit and error messages and can be used to implement custom logging that is independent of the underlying security policy. Multiple audit plugins may be specified in the sudo.conf file. A sample audit plugin is included that writes logs in JSON format. * Sudo now supports an "approval" plugin type. An approval plugin is run only after the main security policy (such as sudoers) accepts a command to be run. The approval policy may perform additional checks, potentially interacting with the user. Multiple approval plugins may be specified in the sudo.conf file. Only if all approval plugins succeed will the command be allowed. * Sudo's -S command line option now causes the sudo conversation function to write to the standard output or standard error instead of the terminal device. * Fixed a bug where if a #include or #includedir directive was the last line in sudoers and there was no final newline character, it was silently ignored. Bug #917. * It is now possible to use "Cmd_Alias" instead of "Cmnd_Alias" for people who find the former more natural. * The new "pam_ruser" and "pam_rhost" sudoers settings can be used to enable or disable setting the PAM remote user and/or host values during PAM session setup. * More than one SHA-2 digest may now be specified for a single command. Multiple digests must be separated by a comma. * It is now possible to specify a SHA-2 digest in conjunction with the "ALL" reserved word in a command specification. This allows one to give permission to run any command that matches the specified digest, regardless of its path. * Sudo and sudo_logsrvd now create an extended I/O log info file in JSON format that contains additional information about the command that was run, such as the host name. The sudoreplay utility uses this file in preference to the legacy log file. * The sudoreplay utility can now match on a host name in list mode. The list output also now includes the host name if one is present in the log file. * For "sudo -i", if the target user's home directory does not exist, sudo will now warn about the problem but run the command in the current working directory. Previously, this was a fatal error. Debian bug #598519. * The command line arguments in the SUDO_COMMAND environment variable are now truncated at 4096 characters. This avoids an "Argument list too long" error when executing a command with a large number of arguments. Bug #923 (Debian bug #596631). * Sudo now properly ends the PAM transaction when the user authenticates successfully but sudoers denies the command. Debian bug #669687. * The sudoers grammar in the manual now indicates that "sudoedit" requires one or more arguments. Debian bug #571621. * When copying the edited files to the original path, sudoedit now allocates any additional space needed before writing. Previously, it could truncate the destination file if the file system was full. Bug #922. * Fixed an issue where PAM session modules could be called with the wrong user name when multiple users in the passwd database share the the same user-ID. Debian bug #734752. * Sudo command line options that take a value may only be specified once. This is to help guard against problems caused by poorly written scripts that invoke sudo with user-controlled input. Bug #924. What's new in Sudo 1.8.31p1 * Sudo once again ignores a failure to restore the RLIMIT_CORE resource limit, as it did prior to version 1.8.29. Linux containers don't allow RLIMIT_CORE to be set back to RLIM_INFINITY if we set the limit to zero, even for root, which resulted in a warning from sudo. What's new in Sudo 1.8.31 * Fixed CVE-2019-18634, a buffer overflow when the "pwfeedback" sudoers option is enabled on systems with uni-directional pipes. * The "sudoedit_checkdir" option now treats a user-owned directory as writable, even if it does not have the write bit set at the time of check. Symbolic links will no longer be followed by sudoedit in any user-owned directory. Bug #912 * Fixed sudoedit on macOS 10.15 and above where the root file system is mounted read-only. Bug #913. * Fixed a crash introduced in sudo 1.8.30 when suspending sudo at the password prompt. Bug #914. * Fixed compilation on systems where the mmap MAP_ANON flag is not available. Bug #915. What's new in Sudo 1.8.30 * Fixed a warning on macOS introduced in sudo 1.8.29 when sudo attempts to set the open file limit to unlimited. Bug #904. * Sudo now closes file descriptors before changing uids. This prevents a non-root process from interfering with sudo's ability to close file descriptors on systems that support the prlimit(2) system call. * Sudo now treats an attempt to run "sudo sudoedit" as simply "sudoedit". If the sudoers file contains a fully-qualified path to sudoedit, sudo will now treat it simply as "sudoedit" (with no path). Visudo will will now treat a fully-qualified path to sudoedit as an error. Bug #871. * Fixed a bug introduced in sudo 1.8.28 where sudo would warn about a missing /etc/environment file on AIX and Linux when PAM is not enabled. Bug #907 * Fixed a bug on Linux introduced in sudo 1.8.29 that prevented the askpass program from running due to an unlimited stack size resource limit. Bug #908. * If a group provider plugin has optional arguments, the argument list passed to the plugin is now NULL terminated as per the documentation. * The user's time stamp file is now only updated if both authentication and approval phases succeed. This is consistent with the behavior of sudo prior to version 1.8.23. Bug #910 * The new allow_unknown_runas_id sudoers setting can be used to enable or disable the use of unknown user or group IDs. Previously, sudo would always allow unknown user or group IDs if the sudoers entry permitted it, including via the "ALL" alias. As of sudo 1.8.30, the admin must explicitly enable support for unknown IDs. * The new runas_check_shell sudoers setting can be used to require that the runas user have a shell listed in the /etc/shells file. On many systems, users such as "bin", do not have a valid shell and this flag can be used to prevent commands from being run as those users. * Fixed a problem restoring the SELinux tty context during reboot if mctransd is killed before sudo finishes. GitHub Issue #17. * Fixed an intermittent warning on NetBSD when sudo restores the initial stack size limit. What's new in Sudo 1.8.29 * The cvtsudoers command will now reject non-LDIF input when converting from LDIF format to sudoers or JSON formats. * The new log_allowed and log_denied sudoers settings make it possible to disable logging and auditing of allowed and/or denied commands. * The umask is now handled differently on systems with PAM or login.conf. If the umask is explicitly set in sudoers, that value is used regardless of what PAM or login.conf may specify. However, if the umask is not explicitly set in sudoers, PAM or login.conf may now override the default sudoers umask. Bug #900. * For "make install", the sudoers file is no longer checked for syntax errors when DESTDIR is set. The default sudoers file includes the contents of /etc/sudoers.d which may not be readable as non-root. Bug #902. * Sudo now sets most resource limits to their maximum value to avoid problems caused by insufficient resources, such as an inability to allocate memory or open files and pipes. * Fixed a regression introduced in sudo 1.8.28 where sudo would refuse to run if the parent process was not associated with a session. This was due to sudo passing a session ID of -1 to the plugin. What's new in Sudo 1.8.28p1 * The fix for Bug #869 caused "sudo -v" to prompt for a password when "verifypw" is set to "all" (the default) and all of the user's sudoers entries are marked with NOPASSWD. Bug #901. What's new in Sudo 1.8.28 * Sudo will now only set PAM_TTY to the empty string when no terminal is present on Solaris and Linux. This workaround is only needed on those systems which may have PAM modules that misbehave when PAM_TTY is not set. * The mailerflags sudoers option now has a default value even if sendmail support was disabled at configure time. Fixes a crash when the mailerpath sudoers option is set but mailerflags is not. Bug #878. * Sudo will now filter out last login messages on HP-UX unless it a shell is being run via "sudo -s" or "sudo -i". Otherwise, when trusted mode is enabled, these messages will be displayed for each command. * On AIX, when the user's password has expired and PAM is not in use, sudo will now allow the user to change their password. Bug #883. * Sudo has a new -B command line option that will ring the terminal bell when prompting for a password. * Sudo no longer refuses to prompt for a password when it cannot determine the user's terminal as long as it can open /dev/tty. This allows sudo to function on systems where /proc is unavailable, such as when running in a chroot environment. * The "env_editor" sudoers flag is now on by default. This makes source builds more consistent with the packages generated by sudo's mkpkg script. * Sudo no longer ships with pre-formatted copies of the manual pages. These were included for systems like IRIX that don't ship with an nroff utility. There are now multiple Open Source nroff replacements so this should no longer be an issue. * Fixed a bad interaction with configure's --prefix and --disable-shared options. Bug #886. * More verbose error message when a password is required and no terminal is present. Bug #828. * Command tags, such as NOPASSWD, are honored when a user tries to run a command that is allowed by sudoers but which does not actually exist on the file system. Bug #888. * Asturian translation for sudoers from translationproject.org. * I/O log timing files now store signal suspend and resume information in the form of a signal name instead of a number. * Fixed a bug introduced in 1.8.24 that prevented sudo from honoring the value of "ipa_hostname" from sssd.conf, if specified, when matching the host name. * Fixed a bug introduced in 1.8.21 that prevented the core dump resource limit set in the pam_limits module from taking effect. Bug #894. * Fixed parsing of double-quoted Defaults group and netgroup bindings. * The user ID is now used when matching sudoUser attributes in LDAP. Previously, the user name, group name and group IDs were used when matching but not the user ID. * Sudo now writes PAM messages to the user's terminal, if available, instead of the standard output or standard error. This prevents PAM output from being intermixed with that of the command when output is sent to a file or pipe. Bug #895. * Sudoedit now honors the umask and umask_override settings in sudoers. Previously, the user's umask was used as-is. * Fixed a bug where the terminal's file context was not restored when using SELinux RBAC. Bug #898. * Fixed CVE-2019-14287, a bug where a sudo user may be able to run a command as root when the Runas specification explicitly disallows root access as long as the ALL keyword is listed first. What's new in Sudo 1.8.27 * On HP-UX, sudo will now update the utmps file when running a command in a pseudo-tty. Previously, only the utmp and utmpx files were updated. * Nanosecond precision file time stamps are now supported in HP-UX. * Fixes and clarifications to the sudo plugin documentation. * The sudo manuals no longer require extensive post-processing to hide system-specific features. Conditionals in the roff source are now used instead. This fixes corruption of the sudo manual on systems without BSD login classes. Bug #861. * If an I/O logging plugin is configured but the plugin does not actually log any I/O, sudo will no longer force the command to be run in a pseudo-tty. * The fix for bug #843 in sudo 1.8.24 was incomplete. If the user's password was expired or needed to be updated, but no sudo password was required, the PAM handle was freed too early, resulting in a failure when processing PAM session modules. * In visudo, it is now possible to specify the path to sudoers without using the -f option. Bug #864. * Fixed a bug introduced in sudo 1.8.22 where the utmp (or utmpx) file would not be updated when a command was run in a pseudo-tty. Bug #865. * Sudo now sets the silent flag when opening the PAM session except when running a shell via "sudo -s" or "sudo -i". This prevents the pam_lastlog module from printing the last login information for each sudo command. Bug #867. * Fixed the default AIX hard resource limit for the maximum number of files a user may have open. If no hard limit for "nofiles" is explicitly set in /etc/security/limits, the default should be "unlimited". Previously, the default hard limit was 8196. What's new in Sudo 1.8.26 * Fixed a bug in cvtsudoers when converting to JSON format when alias expansion is enabled. Bug #853. * Sudo no long sets the USERNAME environment variable when running commands. This is a non-standard environment variable that was set on some older Linux systems. * Sudo now treats the LOGNAME and USER environment variables (as well as the LOGIN variable on AIX) as a single unit. If one is preserved or removed from the environment using env_keep, env_check or env_delete, so is the other. * Added support for OpenLDAP's TLS_REQCERT setting in ldap.conf. * Sudo now logs when the command was suspended and resumed in the I/O logs. This information is used by sudoreplay to skip the time suspended when replaying the session unless the new -S flag is used. * Fixed documentation problems found by the igor utility. Bug #854. * Sudo now prints a warning message when there is an error or end of file while reading the password instead of exiting silently. * Fixed a bug in the sudoers LDAP back-end parsing the command_timeout, role, type, privs and limitprivs sudoOptions. This also affected cvtsudoers conversion from LDIF to sudoers or JSON. * Fixed a bug that prevented timeout settings in sudoers from functioning unless a timeout was also specified on the command line. * Asturian translation for sudo from translationproject.org. * When generating LDIF output, cvtsudoers can now be configured to pad the sudoOrder increment such that the start order is used as a prefix. Bug #856. * Fixed a bug introduced in sudo 1.8.25 that prevented sudo from properly setting the user's groups on AIX. Bug #857. * If the user specifies a group via sudo's -g option that matches any of the target user's groups, it is now allowed even if no groups are present in the Runas_Spec. Previously, it was only allowed if it matched the target user's primary group. * The sudoers LDAP back-end now supports negated sudoRunAsUser and sudoRunAsGroup entries. * Sudo now provides a proper error message when the "fqdn" sudoers option is set and it is unable to resolve the local host name. Bug #859. * Portuguese translation for sudo and sudoers from translationproject.org. * Sudo now includes sudoers LDAP schema for the on-line configuration supported by OpenLDAP. What's new in Sudo 1.8.25p1 * Fixed a bug introduced in sudo 1.8.25 that caused a crash on systems that have the poll() function but not the ppoll() function. Bug #851. What's new in Sudo 1.8.25 * Fixed a bug introduced in sudo 1.8.20 that broke formatting of I/O log timing file entries on systems without a C99-compatible snprintf() function. Our replacement snprintf() doesn't support floating point so we can't use the "%f" format directive. * I/O log timing file entries now use a monotonic timer and include nanosecond precision. A monotonic timer that does not increment while the system is sleeping is used where available. * Fixed a bug introduced in sudo 1.8.24 where sudoNotAfter in the LDAP back-end was not being properly parsed. Bug #845. * When sudo runs a command in a pseudo-terminal, the follower device is now closed in the main process immediately after starting the monitor process. This removes the need for an AIX-specific workaround that was added in sudo 1.8.24. * Added support for monotonic timers on HP-UX. * Fixed a bug displaying timeout values the "sudo -V" output. The value displayed was 3600 times the actual value. Bug #846. * Fixed a build issue on AIX 7.1 BOS levels that include memset_s() and define rsize_t in string.h. Bug #847. * The testsudoers utility now supports querying an LDIF-format policy. * Sudo now sets the LOGIN environment variable to the same value as LOGNAME on AIX systems. Bug #848. * Fixed a regression introduced in sudo 1.8.24 where the LDAP and SSSD back-ends evaluated the rules in reverse sudoOrder. Bug #849. What's new in Sudo 1.8.24 * The LDAP and SSS back-ends now use the same rule evaluation code as the sudoers file back-end. This builds on the work in sudo 1.8.23 where the formatting functions for "sudo -l" output were shared. The handling of negated commands in SSS and LDAP is unchanged. * Fixed a regression introduced in 1.8.23 where "sudo -i" could not be used in conjunction with --preserve-env=VARIABLE. Bug #835. * cvtsudoers can now parse base64-encoded attributes in LDIF files. * Random insults are now more random. * Fixed the noexec wordexp(3) test on FreeBSD. * Added SUDO_CONV_PREFER_TTY flag for conversation function to tell sudo to try writing to /dev/tty first. Can be used in conjunction with SUDO_CONV_INFO_MSG and SUDO_CONV_ERROR_MSG. * Sudo now supports an arbitrary number of groups per user on Solaris. Previously, only the first 64 groups were found. This should remove the need to set "max_groups" in sudo.conf. * Fixed typos in the OpenLDAP sudo schema. Bugs #839 and #840. * Fixed a race condition when building with parallel make. Bug #842. * Fixed a duplicate free when netgroup_base in ldap.conf is set to an invalid value. * Fixed a bug introduced in sudo 1.8.23 on AIX that could prevent local users and groups from being resolved properly on systems that have users stored in NIS, LDAP or AD. * Added a workaround for an AIX bug exposed by a change in sudo 1.8.23 that prevents the terminal mode from being restored when I/O logging is enabled. * On systems using PAM, sudo now ignores the PAM_NEW_AUTHTOK_REQD and PAM_AUTHTOK_EXPIRED errors from PAM account management if authentication is disabled for the user. This fixes a regression introduced in sudo 1.8.23. Bug #843. * Fixed an ambiguity in the sudoers manual in the description and definition of User, Runas, Host, and Cmnd Aliases. Bug #834. * Fixed a bug that resulted in only the first window size change event being logged. * Fixed a bug on HP-UX systems introduced in sudo 1.8.22 that caused sudo to prompt for a password every time when tty-based time stamp files were in use. * Fixed a compilation problem on systems that define O_PATH or O_SEARCH in fnctl.h but do not define O_DIRECTORY. Bug #844. What's new in Sudo 1.8.23 * PAM account management modules and BSD auth approval modules are now run even when no password is required. * For kernel-based time stamps, if no terminal is present, fall back to parent-pid style time stamps. * The new cvtsudoers utility replaces both the "sudoers2ldif" script and the "visudo -x" functionality. It can read a file in either sudoers or LDIF format and produce JSON, LDIF or sudoers output. It is also possible to filter the generated output file by user, group or host name. * The file, ldap and sss sudoers back-ends now share a common set of formatting functions for "sudo -l" output, which is also used by the cvtsudoers utility. * The /run directory is now used in preference to /var/run if it exists. Bug #822. * More accurate descriptions of the --with-rundir and --with-vardir configure options. Bug #823. * The setpassent() and setgroupent() functions are now used on systems that support them to keep the passwd and group database open. Sudo performs a lot of passwd and group lookups so it can be beneficial to avoid opening and closing the files each time. * The new case_insensitive_user and case_insensitive_group sudoers options can be used to control whether sudo does case-sensitive matching of users and groups in sudoers. Case insensitive matching is now the default. * Fixed a bug on some systems where sudo could hang on command exit when I/O logging was enabled. Bug #826. * Fixed the build-time process start time test on Linux when the test is run from within a container. Bug #829. * When determining which temporary directory to use, sudoedit now checks the directory for writability before using it. Previously, sudoedit only performed an existence check. Bug #827. * Sudo now includes an optional set of Monty Python-inspired insults. * Fixed the execution of scripts with an associated digest (checksum) in sudoers on FreeBSD systems. FreeBSD does not have a proper /dev/fd directory mounted by default and its fexecve(2) is not fully POSIX compliant when executing scripts. Bug #831. * Chinese (Taiwan) translation for sudo from translationproject.org. What's new in Sudo 1.8.22 * Commands run in the background from a script run via sudo will no longer receive SIGHUP when the parent exits and I/O logging is enabled. Bug #502 * A particularly offensive insult is now disabled by default. Bug #804 * The description of "sudo -i" now correctly documents that the "env_keep" and "env_check" sudoers options are applied to the environment. Bug #806 * Fixed a crash when the system's host name is not set. Bug #807 * The sudoers2ldif script now handles #include and #includedir directives. * Fixed a bug where sudo would silently exit when the command was not allowed by sudoers and the "passwd_tries" sudoers option was set to a value less than one. * Fixed a bug with the "listpw" and "verifypw" sudoers options and multiple sudoers sources. If the option is set to "all", a password should be required unless none of a user's sudoers entries from any source require authentication. * Fixed a bug with the "listpw" and "verifypw" sudoers options in the LDAP and SSSD back-ends. If the option is set to "any", and the entry contained multiple rules, only the first matching rule was checked. If an entry contained more than one matching rule and the first rule required authentication but a subsequent rule did not, sudo would prompt for a password when it should not have. * When running a command as the invoking user (not root), sudo would execute the command with the same group vector it was started with. Sudo now executes the command with a new group vector based on the group database which is consistent with how su(1) operates. * Fixed a double free in the SSSD back-end that could occur when ipa_hostname is present in sssd.conf and is set to an unqualified host name. * When I/O logging is enabled, sudo will now write to the terminal even when it is a background process. Previously, sudo would only write to the tty when it was the foreground process when I/O logging was enabled. If the TOSTOP terminal flag is set, sudo will suspend the command (and then itself) with the SIGTTOU signal. * A new "authfail_message" sudoers option that overrides the default "N incorrect password attempt(s)". * An empty sudoRunAsUser attribute in the LDAP and SSSD back-ends will now match the invoking user. This is more consistent with how an empty runas user in the sudoers file is treated. * Documented that in check mode, visudo does not check the owner/mode on files specified with the -f flag. Bug #809. * It is now an error to specify the runas user as an empty string on the command line. Previously, an empty runas user was treated the same as an unspecified runas user. Bug #817. * When "timestamp_type" option is set to "tty" and a terminal is present, the time stamp record will now include the start time of the session leader. When the "timestamp_type" option is set to "ppid" or when no terminal is available, the start time of the parent process is used instead. This significantly reduces the likelihood of a time stamp record being re-used when a user logs out and back in again. Bug #818. * The sudoers time stamp file format is now documented in the new sudoers_timestamp manual. * The "timestamp_type" option now takes a "kernel" value on OpenBSD systems. This causes the tty-based time stamp to be stored in the kernel instead of on the file system. If no tty is present, the time stamp is considered to be invalid. * Visudo will now use the SUDO_EDITOR environment variable (if present) in addition to VISUAL and EDITOR. What's new in Sudo 1.8.21p2 * Fixed a bug introduced in version 1.8.21 which prevented sudo from using the PAM-supplied prompt. Bug #799 * Fixed a bug introduced in version 1.8.21 which could result in sudo hanging when running commands that exit quickly. Bug #800 * Fixed a bug introduced in version 1.8.21 which prevented the command from being run when the password was read via an external program using the askpass interface. Bug #801 What's new in Sudo 1.8.21p1 * On systems that support both PAM and SIGINFO, the main sudo process will no longer forward SIGINFO to the command if the signal was generated from the keyboard. The command will have already received SIGINFO since it is part of the same process group so there's no need for sudo to forward it. This is consistent with the handling of SIGINT, SIGQUIT and SIGTSTP. Bug #796 * If SUDOERS_SEARCH_FILTER in ldap.conf does not specify a value, the LDAP search expression used when looking up netgroups and non-Unix groups had a syntax error if a group plugin was not specified. * "sudo -U otheruser -l" will now have an exit value of 0 even if "otheruser" has no sudo privileges. The exit value when a user attempts to lists their own privileges or when a command is specified is unchanged. * Fixed a regression introduced in sudo 1.8.21 where sudoreplay playback would hang for I/O logs that contain terminal input. * Sudo 1.8.18 contained an incomplete fix for the matching of entries in the LDAP and SSSD back-ends when a sudoRunAsGroup is specified but no sudoRunAsUser is present in the sudoRole. What's new in Sudo 1.8.21 * The path that sudo uses to search for terminal devices can now be configured via the new "devsearch" Path setting in sudo.conf. * It is now possible to preserve bash shell functions in the environment when the "env_reset" sudoers setting is disabled by removing the "*=()*" pattern from the env_delete list. * A change made in sudo 1.8.15 inadvertently caused sudoedit to send itself SIGHUP instead of exiting when the editor returns an error or the file was not modified. * Sudoedit now uses an exit code of zero if the file was not actually modified. Previously, sudoedit treated a lack of modifications as an error. * When running a command in a pseudo-tty (pty), sudo now copies a subset of the terminal flags to the new pty. Previously, all flags were copied, even those not appropriate for a pty. * Fixed a problem with debug logging in the sudoers I/O logging plugin. * Window size change events are now logged to the policy plugin. On xterm and compatible terminals, sudoreplay is now capable of resizing the terminal to match the size of the terminal the command was run on. The new -R option can be used to disable terminal resizing. * Fixed a bug in visudo where a newly added file was not checked for syntax errors. Bug #791. * Fixed a bug in visudo where if a syntax error in an include directory (like /etc/sudoers.d) was detected, the edited version was left as a temporary file instead of being installed. * On PAM systems, sudo will now treat "username's Password:" as a standard password prompt. As a result, the SUDO_PROMPT environment variable will now override "username's Password:" as well as the more common "Password:". Previously, the "passprompt_override" Defaults setting would need to be set for SUDO_PROMPT to override a prompt of "username's Password:". * A new "syslog_pid" sudoers setting has been added to include sudo's process ID along with the process name when logging via syslog. Bug #792. * Fixed a bug introduced in sudo 1.8.18 where a command would not be terminated when the I/O logging plugin returned an error to the sudo front-end. * A new "timestamp_type" sudoers setting has been added that replaces the "tty_tickets" option. In addition to tty and global time stamp records, it is now possible to use the parent process ID to restrict the time stamp to commands run by the same process, usually the shell. Bug #793. * The --preserve-env command line option has been extended to accept a comma-separated list of environment variables to preserve. Bug #279. * Friulian translation for sudo from translationproject.org. What's new in Sudo 1.8.20p2 * Fixed a bug parsing /proc/pid/stat on Linux when the process name contains newlines. This is not exploitable due to the /dev traversal changes in sudo 1.8.20p1. What's new in Sudo 1.8.20p1 * Fixed "make check" when using OpenSSL or GNU crypt. Bug #787. * Fixed CVE-2017-1000367, a bug parsing /proc/pid/stat on Linux when the process name contains spaces. Since the user has control over the command name, this could potentially be used by a user with sudo access to overwrite an arbitrary file on systems with SELinux enabled. Also stop performing a breadth-first traversal of /dev when looking for the device; only a hard-coded list of directories are checked, What's new in Sudo 1.8.20 * Added support for SASL_MECH in ldap.conf. Bug #764 * Added support for digest matching when the command is a glob-style pattern or a directory. Previously, only explicit path matches supported digest checks. * New "fdexec" Defaults option to control whether a command is executed by path or by open file descriptor. * The embedded copy of zlib has been upgraded to version 1.2.11. * Fixed a bug that prevented sudoers include files with a relative path starting with the letter 'i' from being opened. Bug #776. * Added support for command timeouts in sudoers. The command will be terminated if the timeout expires. * The SELinux role and type are now displayed in the "sudo -l" output for the LDAP and SSSD back-ends, just as they are in the sudoers back-end. * A new command line option, -T, can be used to specify a command timeout as long as the user-specified timeout is not longer than the timeout specified in sudoers. This option may only be used when the "user_command_timeouts" flag is enabled in sudoers. * Added NOTBEFORE and NOTAFTER command options to the sudoers back-end similar to what is already available in the LDAP back-end. * Sudo can now optionally use the SHA2 functions in OpenSSL or GNU crypt instead of the SHA2 implementation bundled with sudo. * Fixed a compilation error on systems without the stdbool.h header file. Bug #778. * Fixed a compilation error in the standalone Kerberos V authentication module. Bug #777. * Added the iolog_flush flag to sudoers which causes I/O log data to be written immediately to disk instead of being buffered. * I/O log files are now created with group ID 0 by default unless the "iolog_user" or "iolog_group" options are set in sudoers. * It is now possible to store I/O log files on an NFS-mounted file system where uid 0 is remapped to an unprivileged user. The "iolog_user" option must be set to a non-root user and the top-level I/O log directory must exist and be owned by that user. * Added the restricted_env_file setting to sudoers which is similar to env_file but its contents are subject to the same restrictions as variables in the invoking user's environment. * Fixed a use after free bug in the SSSD back-end when the fqdn sudoOption is enabled and no hostname value is present in /etc/sssd/sssd.conf. * Fixed a typo that resulted in a compilation error on systems where the killpg() function is not found by configure. * Fixed a compilation error with the included version of zlib when sudo was built outside the source tree. * Fixed the exit value of sudo when the command is terminated by a signal other than SIGINT. This was broken in sudo 1.8.15 by the fix for Bug #722. Bug #784. * Fixed a regression introduced in sudo 1.8.18 where the "lecture" option could not be used in a positive boolean context, only a negative one. * Fixed an issue where sudo would consume stdin if it was not connected to a tty even if log_input is not enabled in sudoers. Bug #786. * Clarify in the sudoers manual that the #includedir directive diverts control to the files in the specified directory and, when parsing of those files is complete, returns control to the original file. Bug #775. What's new in Sudo 1.8.19p2 * Fixed a crash in visudo introduced in sudo 1.8.9 when an IP address or network is used in a host-based Defaults entry. Bug #766 * Added a missing check for the ignore_iolog_errors flag when the sudoers plugin generates the I/O log file path name. * Fixed a typo in sudo's vsyslog() replacement that resulted in garbage being logged to syslog. What's new in Sudo 1.8.19p1 * Fixed a bug introduced in sudo 1.8.19 that resulted in the wrong syslog priority and facility being used. What's new in Sudo 1.8.19 * New "syslog_maxlen" Defaults option to control the maximum size of syslog messages generated by sudo. * Sudo has been run against PVS-Studio and any issues that were not false positives have been addressed. * I/O log files are now created with the same group ID as the parent directory and not the invoking user's group ID. * I/O log permissions and ownership are now configurable via the "iolog_mode", "iolog_user" and "iolog_group" sudoers Defaults variables. * Fixed configuration of the sudoers I/O log plugin debug subsystem. Previously, I/O log information was not being written to the sudoers debug log. * Fixed a bug in visudo that broke editing of files in an include dir that have a syntax error. Normally, visudo does not edit those files, but if a syntax error is detected in one, the user should get a chance to fix it. * Warnings about unknown or unparsable sudoers Defaults entries now include the file and line number of the problem. * Visudo will now use the file and line number information about an unknown or unparsable Defaults entry to go directly to the file with the problem. * Fixed a bug in the sudoers LDAP back-end where a negated sudoHost entry would prevent other sudoHost entries following it from matching. * Warnings from visudo about a cycle in an Alias entry now include the file and line number of the problem. * In strict mode, visudo will now use the file and line number information about a cycle in an Alias entry to go directly to the file with the problem. * The sudo_noexec.so file is now linked with -ldl on systems that require it for the wordexp() wrapper. * Fixed linking of sudo_noexec.so on macOS systems where it must be a dynamic library and not a module. * Sudo's "make check" now includes a test for sudo_noexec.so working. * The sudo front-end now passes the user's umask to the plugin. Previously the plugin had to determine this itself. * Sudoreplay can now display the stdin and ttyin streams when they are explicitly added to the filter list. * Fixed a bug introduced in sudo 1.8.17 where the "all" setting for verifypw and listpw was not being honored. Bug #762. * The syslog priority (syslog_goodpri and syslog_badpri) can now be negated or set to "none" to disable logging of successful or unsuccessful sudo attempts via syslog. What's new in Sudo 1.8.18p1 * When sudo_noexec.so is used, the WRDE_NOCMD flag is now added if the wordexp() function is called. This prevents commands from being run via wordexp() without disabling it entirely. * On Linux systems, sudo_noexec.so now uses a seccomp filter to disable execute access if the kernel supports seccomp. This is more robust than the traditional method of using stub functions that return an error. What's new in Sudo 1.8.18 * The sudoers locale is now set before parsing the sudoers file. If sudoers_locale is set in sudoers, it is applied before evaluating other Defaults entries. Previously, sudoers_locale was used when evaluating sudoers but not during the initial parse. Bug #748. * A missing or otherwise invalid #includedir is now ignored instead of causing a parse error. * During "make install", backup files are only used on HP-UX where it is not possible to unlink a shared object that is in use. This works around a bug in ldconfig on Linux which could create links to the backup shared library file instead of the current one. * Fixed a bug introduced in 1.8.17 where sudoers entries with long commands lines could be truncated, preventing a match. Bug #752. * The fqdn, runas_default and sudoers_locale Defaults settings are now applied before any other Defaults settings since they can change how other Defaults settings are parsed. * On systems without the O_NOFOLLOW open(2) flag, when the NOFOLLOW flag is set, sudoedit now checks whether the file is a symbolic link before opening it as well as after the open. Bug #753. * Sudo will now only resolve a user's group IDs to group names when sudoers includes group-based permissions. Group lookups can be expensive on some systems where the group database is not local. * If the file system holding the sudo log file is full, allow the command to run unless the new ignore_logfile_errors Defaults option is disabled. Bug #751. * The ignore_audit_errors and ignore_iolog_errors Defaults options have been added to control sudo's behavior when it is unable to write to the audit and I/O logs. * Fixed a bug introduced in 1.8.17 where the SIGPIPE signal handler was not being restored when sudo directly executes the command. * Fixed a bug where "sudo -l command" would indicate that a command was runnable even when denied by sudoers when using the LDAP or SSSD back-ends. * The match_group_by_gid Defaults option has been added to allow sites where group name resolution is slow and where sudoers only contains a small number of groups to match groups by group ID instead of by group name. * Fixed a bug on Linux where a 32-bit sudo binary could fail with an "unable to allocate memory" error when run on a 64-bit system. Bug #755 * When parsing ldap.conf, sudo will now only treat a '#' character as the start of a comment when it is at the beginning of the line. * Fixed a potential crash when auditing is enabled and the audit function fails with an error. Bug #756 * Norwegian Nynorsk translation for sudo from translationproject.org. * Fixed a typo that broke short host name matching when the fqdn flag is enabled in sudoers. Bug #757 * Negated sudoHost attributes are now supported by the LDAP and SSSD back-ends. * Fixed matching entries in the LDAP and SSSD back-ends when a RunAsGroup is specified but no RunAsUser is present. * Fixed "sudo -l" output in the LDAP and SSSD back-ends when a RunAsGroup is specified but no RunAsUser is present. What's new in Sudo 1.8.17p1 * Fixed a bug introduced in 1.8.17 where the user's groups were not set on systems that don't use PAM. Bug #749. What's new in Sudo 1.8.17 * On AIX, if /etc/security/login.cfg has auth_type set to PAM_AUTH but pam_start(3) fails, fall back to AIX authentication. Bug #740. * Sudo now takes all sudoers sources into account when determining whether or not "sudo -l" or "sudo -v" should prompt for a password. In other words, if both file and ldap sudoers sources are in specified in /etc/nsswitch.conf, "sudo -v" will now require that all entries in both sources be have NOPASSWD (file) or !authenticate (ldap) in the entries. * Sudo now ignores SIGPIPE until the command is executed. Previously, SIGPIPE was only ignored in a few select places. Bug #739. * Fixed a bug introduced in sudo 1.8.14 where (non-syslog) log file entries were missing the newline when loglinelen is set to a non-positive number. Bug #742. * Unix groups are now set before the plugin session initialization code is run. This makes it possible to use dynamic groups with the Linux-PAM pam_group module. * Fixed a bug where a debugging statement could dereference a NULL pointer when looking up a group that doesn't exist. Bug #743. * Sudo has been run through the Coverity code scanner. A number of minor bugs have been fixed as a result. None were security issues. * SELinux support, which was broken in 1.8.16, has been repaired. * Fixed a bug when logging I/O where all output buffers might not get flushed at exit. * Forward slashes are no longer escaped in the JSON output of "visudo -x". This was never required by the standard and not escaping them improves readability of the output. * Sudo no longer treats PAM_SESSION_ERR as a fatal error when opening the PAM session. Other errors from pam_open_session() are still treated as fatal. This avoids the "policy plugin failed session initialization" error message seen on some systems. * Korean translation for sudo and sudoers from translationproject.org. * Fixed a bug on AIX where the stack size hard resource limit was being set to 2GB instead of 4GB on 64-bit systems. * The SSSD back-end now properly supports "sudo -U otheruser -l". * The SSSD back-end now uses the value of "ipa_hostname" from sssd.conf, if specified, when matching the host name. * Fixed a hang on some systems when the command is being run in a pty and it failed to execute. * When performing a wildcard match in sudoers, check for an exact string match if the user command was fully-qualified (or resolved via the PATH). This fixes an issue executing scripts on Linux when there are multiple wildcard matches with the same base name. Bug #746. What's new in Sudo 1.8.16 * Fixed a compilation error on Solaris 10 with Stun Studio 12. Bug #727. * When preserving variables from the invoking user's environment, if there are duplicates sudo now only keeps the first instance. * Fixed a bug that could cause warning mail to be sent in list mode (sudo -l) for users without sudo privileges when the LDAP and sssd back-ends are used. * Fixed a bug that prevented the "mail_no_user" option from working properly with the LDAP back-end. * In the LDAP and sssd back-ends, white space is now ignored between an operator (!, +, +=, -=) when parsing a sudoOption. * It is now possible to disable Path settings in sudo.conf by omitting the path name. * The sudoedit_checkdir Defaults option is now enabled by default and has been extended. When editing files with sudoedit, each directory in the path to be edited is now checked. If a directory is writable by the invoking user, symbolic links will not be followed. If the parent directory of the file to be edited is writable, sudoedit will refuse to edit it. Bug #707. * The netgroup_tuple Defaults option has been added to enable matching of the entire netgroup tuple, not just the host or user portion. Bug #717. * When matching commands based on the SHA2 digest, sudo will now use fexecve(2) to execute the command if it is available. This fixes a time of check versus time of use race condition when the directory holding the command is writable by the invoking user. * On AIX systems, sudo now caches the auth registry string along with password and group information. This fixes a potential problem when a user or group of the same name exists in multiple auth registries. For example, local and LDAP. * Fixed a crash in the SSSD back-end when the invoking user is not found. Bug #732. * Added the --enable-asan configure flag to enable address sanitizer support. A few minor memory leaks have been plugged to quiet the ASAN leak detector. * The value of _PATH_SUDO_CONF may once again be overridden via the Makefile. Bug #735. * The sudoers2ldif script now handles multiple roles with same name. * Fixed a compilation error on systems that have the posix_spawn() and posix_spawnp() functions but an unusable spawn.h header. Bug #730. * Fixed support for negating character classes in sudo's version of the fnmatch() function. * Fixed a bug in the LDAP and SSSD back-ends that could allow an unauthorized user to list another user's privileges. Bug #738. * The PAM conversation function now works around an ambiguity in the PAM spec with respect to multiple messages. Bug #726. What's new in Sudo 1.8.15 * Fixed a bug that prevented sudo from building outside the source tree on some platforms. Bug #708. * Fixed the location of the sssd library in the RHEL/Centos packages. Bug #710. * Fixed a build problem on systems that don't implicitly include sys/types.h from other header files. Bug #711. * Fixed a problem on Linux using containers where sudo would ignore signals sent by a process in a different container. * Sudo now refuses to run a command if the PAM session module returns an error. * When editing files with sudoedit, symbolic links will no longer be followed by default. The old behavior can be restored by enabling the sudoedit_follow option in sudoers or on a per-command basis with the FOLLOW and NOFOLLOW tags. Bug #707. * Fixed a bug introduced in version 1.8.14 that caused the last valid editor in the sudoers "editor" list to be used by visudo and sudoedit instead of the first. Bug #714. * Fixed a bug in visudo that prevented the addition of a final newline to edited files without one. * Fixed a bug decoding certain base64 digests in sudoers when the intermediate format included a '=' character. * Individual records are now locked in the time stamp file instead of the entire file. This allows sudo to avoid prompting for a password multiple times on the same terminal when used in a pipeline. In other words, "sudo cat foo | sudo grep bar" now only prompts for the password once. Previously, both sudo processes would prompt for a password, often making it impossible to enter. * Fixed a bug where sudo would fail to run commands as a non-root user on systems that lack both setresuid() and setreuid(). Bug #713. * Fixed a bug introduced in sudo 1.8.14 that prevented visudo from re-editing the correct file when a syntax error was detected. * Fixed a bug where sudo would not relay a SIGHUP signal to the command when the terminal is closed and the command is not run in its own pseudo-tty. Bug #719 * If some, but not all, of the LOGNAME, USER or USERNAME environment variables have been preserved from the invoking user's environment, sudo will now use the preserved value to set the remaining variables instead of using the runas user. This ensures that if, for example, only LOGNAME is present in the env_keep list, that sudo will not set USER and USERNAME to the runas user. * When the command sudo is running dies due to a signal, sudo will now send itself that same signal with the default signal handler installed instead of exiting. The bash shell appears to ignore some signals, e.g. SIGINT, unless the command being run is killed by that signal. This makes the behavior of commands run under sudo the same as without sudo when bash is the shell. Bug #722 * Slovak translation for sudo from translationproject.org. * Hungarian and Slovak translations for sudoers from translationproject.org. * Previously, when env_reset was enabled (the default) and the -s option was not used, the SHELL environment variable was set to the shell of the invoking user. Now, when env_reset is enabled and the -s option is not used, SHELL is set based on the target user. * Fixed challenge/response style BSD authentication. * Added the sudoedit_checkdir Defaults option to prevent sudoedit from editing files located in a directory that is writable by the invoking user. * Added the always_query_group_plugin Defaults option to control whether groups not found in the system group database are passed to the group plugin. Previously, unknown system groups were always passed to the group plugin. * When creating a new file, sudoedit will now check that the file's parent directory exists before running the editor. * Fixed the compiler stack protector test in configure for compilers that support -fstack-protector but don't actually have the ssp library available. What's new in Sudo 1.8.14p3 * Fixed a bug introduced in sudo 1.8.14p2 that prevented sudo from working when no tty was present. * Fixed tty detection on newer AIX systems where dev_t is 64-bit. What's new in Sudo 1.8.14p2 * Fixed a bug introduced in sudo 1.8.14 that prevented the lecture file from being created. Bug #704. What's new in Sudo 1.8.14p1 * Fixed a bug introduced in sudo 1.8.14 that prevented the sssd back-end from working. Bug #703. What's new in Sudo 1.8.14 * Log messages on Mac OS X now respect sudoers_locale when sudo is build with NLS support. * The sudo manual pages now pass "mandoc -Tlint" with no warnings. * Fixed a compilation problem on systems with the sig2str() function that do not define SIG2STR_MAX in signal.h. * Worked around a compiler bug that resulted in unexpected behavior when returning an int from a function declared to return bool without an explicit cast. * Worked around a bug in Mac OS X 10.10 BSD auditing where the au_preselect() fails for AUE_sudo events but succeeds for AUE_DARWIN_sudo. * Fixed a hang on Linux systems with glibc when sudo is linked with jemalloc. * When the user runs a command as a user ID that is not present in the password database via the -u flag, the command is now run with the group ID of the invoking user instead of group ID 0. * Fixed a compilation problem on systems that don't pull in definitions of uid_t and gid_t without sys/types.h or unistd.h. * Fixed a compilation problem on newer AIX systems which use a struct st_timespec for time stamps in struct stat that differs from struct timespec. Bug #702. * The example directory is now configurable via --with-exampledir and defaults to DATAROOTDIR/examples/sudo on BSD systems. * The /usr/lib/tmpfiles.d/sudo.conf file is now installed as part of "make install" when systemd is in use. * Fixed a linker problem on some systems with libintl. Bug #690. * Fixed compilation with compilers that don't support __func__ or __FUNCTION__. * Sudo no longer needs to uses weak symbols to support localization in the warning functions. A registration function is used instead. * Fixed a setresuid() failure in sudoers on Linux kernels where uid changes take the nproc resource limit into account. * Fixed LDAP netgroup queries on AIX. * Sudo will now display the custom prompt on Linux systems with PAM even if the "Password: " prompt is not localized by the PAM module. Bug #701. * Double-quoted values in an LDAP sudoOption are now supported for consistency with file-based sudoers. * Fixed a bug that prevented the btime entry in /proc/stat from being parsed on Linux. What's new in Sudo 1.8.13 * The examples directory is now a subdirectory of the doc dir to conform to Debian guidelines. Bug #682. * Fixed a compilation error for siglist.c and signame.c on some systems. Bug #686 * Weak symbols are now used for sudo_warn_gettext() and sudo_warn_strerror() in libsudo_util to avoid link errors when -Wl,--no-undefined is used in LDFLAGS. The --disable-weak-symbols configure option can be used to disable the user of weak symbols. * Fixed a bug in sudo's mkstemps() replacement function that prevented the file extension from being preserved in sudoedit. * A new mail_all_cmnds sudoers flag will send mail when a user runs a command (or tries to). The behavior of the mail_always flag has been restored to always send mail when sudo is run. * New "MAIL" and "NOMAIL" command tags have been added to toggle mail sending behavior on a per-command (or Cmnd_Alias) basis. * Fixed matching of empty passwords when sudo is configured to use passwd (or shadow) file authentication on systems where the crypt() function returns NULL for invalid salts. * On AIX, sudo now uses the value of the auth_type setting in /etc/security/login.cfg to determine whether to use LAM or PAM for user authentication. * The "all" setting for listpw and verifypw now works correctly with LDAP and sssd sudoers. * The sudo timestamp directory is now created at boot time on platforms that use systemd. * Sudo will now restore the value of the SIGPIPE handler before executing the command. * Sudo now uses "struct timespec" instead of "struct timeval" for time keeping when possible. If supported, sudoedit and visudo now use nanosecond granularity time stamps. * Fixed a symbol name collision with systems that have their own SHA2 implementation. This fixes a problem where PAM could use the wrong SHA2 implementation on Solaris 10 systems configured to use SHA512 for passwords. * The editor invoked by sudoedit once again uses an unmodified copy of the user's environment as per the documentation. This was inadvertently changed in sudo 1.8.0. Bug #688. What's new in Sudo 1.8.12 * The embedded copy of zlib has been upgraded to version 1.2.8 and is now installed as a shared library where supported. * Debug settings for the sudo front end and sudoers plugin are now configured separately. * Multiple sudo.conf Debug entries may now be specified per program (or plugin). * The plugin API has been extended such that the path to the plugin that was loaded is now included in the settings array. This path can be used to register with the debugging subsystem. The debug_flags setting is now prefixed with a file name and may be specified multiple times if there is more than one matching Debug setting in sudo.conf. * The sudoers regression tests now run with the locale set to C since some of the tests compare output that includes locale-specific messages. Bug #672 * Fixed a bug where sudo would not run commands on Linux when compiled with audit support if audit is disabled. Bug #671 * Added __BASH_FUNC<* to the environment blacklist to match Apple's syntax for newer-style bash functions. * The default password prompt now includes a trailing space after "Password:" for consistency with su(1) on most systems. Bug #663 * Fixed a problem on DragonFly BSD where SIGCHLD could be ignored, preventing sudo from exiting. Bug #676 * Visudo will now use the optional sudoers_file, sudoers_mode, sudoers_uid and sudoers_gid arguments if specified on the sudoers.so Plugin line in the sudo.conf file. * Fixed a problem introduced in sudo 1.8.8 that prevented the full host name from being used when the "fqdn" sudoers option is used. Bug #678 * French and Russian translations for sudoers from translationproject.org. * Sudo now installs a handler for SIGCHLD signal handler immediately before stating the process that will execute the command (or start the monitor). The handler used to be installed earlier but this causes problems with poorly behaved PAM modules that install their own SIGCHLD signal handler and neglect to restore sudo's original handler. Bug #657 * Removed a limit on the length of command line arguments expanded by a wild card using sudo's version of the fnmatch() function. This limit was introduced when sudo's version of fnmatch() was replaced in sudo 1.8.4. * LDAP-based sudoers can now query an LDAP server for a user's netgroups directly. This is often much faster than fetching every sudoRole object containing a sudoUser that begins with a `+' prefix and checking whether the user is a member of any of the returned netgroups. * The mail_always sudoers option no longer sends mail for "sudo -l" or "sudo -v" unless the user is unable to authenticate themselves. * Fixed a crash when sudo is run with an empty argument vector. * Fixed two potential crashes when sudo is run with very low resource limits. * The TZ environment variable is now checked for safety instead of simply being copied to the environment of the command. What's new in Sudo 1.8.11p2 * Fixed a bug where dynamic shared objects loaded from a plugin could use the hooked version of getenv() but not the hooked versions of putenv(), setenv() or unsetenv(). This can cause problems for PAM modules that use those functions. What's new in Sudo 1.8.11p1 * Fixed a compilation problem on some systems when the --disable-shared-libutil configure option was specified. * The user can no longer interrupt the sleep after an incorrect password on PAM systems using pam_unix. Bug #666 * Fixed a compilation problem on Linux systems that do not use PAM. Bug #667 * "make install" will now work with the stock GNU autotools install-sh script. Bug #669 * Fixed a crash with "sudo -i" when the current working directory does not exist. Bug #670 * Fixed a potential crash in the debug subsystem when logging a message larger that 1024 bytes. * Fixed a "make check" failure for ttyname when stdin is closed and stdout and stderr are redirected to a different tty. Bug #643 * Added BASH_FUNC_* to the environment blacklist to match newer-style bash functions. What's new in Sudo 1.8.11 * The sudoers plugin no longer uses setjmp/longjmp to recover from fatal errors. All errors are now propagated to the caller via return codes. * When running a command in the background, sudo will now forward SIGINFO to the command (if supported). * Sudo will now use the system versions of the sha2 functions from libc or libmd if available. * Visudo now works correctly on GNU Hurd. Bug #647 * Fixed suspend and resume of curses programs on some system when the command is not being run in a pseudo-terminal. Bug #649 * Fixed a crash with LDAP-based sudoers on some systems when Kerberos was enabled. * Sudo now includes optional Solaris audit support. * Catalan translation for sudoers from translationproject.org. * Norwegian Bokmaal translation for sudo from translationproject.org. * Greek translation for sudoers from translationproject.org * The sudo source tree has been reorganized to more closely resemble that of other gettext-enabled packages. * Sudo and its associated programs now link against a shared version of libsudo_util. The --disable-shared-libutil configure option may be used to force static linking if the --enable-static-sudoers option is also specified. * The passwords in ldap.conf and ldap.secret may now be encoded in base64. * Audit updates. SELinux role changes are now audited. For sudoedit, we now audit the actual editor being run, instead of just the sudoedit command. * Fixed bugs in the man page post-processing that could cause portions of the manuals to be removed. * Fixed a crash in the system_group plugin. Bug #653. * Fixed sudoedit on platforms without a system version of the getprogname() function. Bug #654. * Fixed compilation problems with some pre-C99 compilers. * Fixed sudo's -C option which was broken in version 1.8.9. * It is now possible to match an environment variable's value as well as its name using env_keep and env_check. This can be used to preserve bash functions which would otherwise be removed from the environment. * New files created via sudoedit as a non-root user now have the proper group id. Bug #656 * Sudoedit now works correctly in conjunction with sudo's SELinux RBAC support. Temporary files are now created with the proper security context. * The sudo I/O logging plugin API has been updated. If a logging function returns an error, the command will be terminated and all of the plugin's logging functions will be disabled. If a logging function rejects the command's output it will no longer be displayed to the user's terminal. * Fixed a compilation error on systems that lack openpty(), _getpty() and grantpt(). Bug #660 * Fixed a hang when a sudoers source is listed more than once in a single sudoers nsswitch.conf entry. * On AIX, shell scripts without a #! magic number are now passed to /usr/bin/sh, not /usr/bin/bsh. This is consistent with what the execvp() function on AIX does and matches historic sudo behavior. Bug #661 * Fixed a cross-compilation problem building mksiglist and mksigname. Bug #662 What's new in Sudo 1.8.10p3? * Fixed expansion of %p in the prompt for "sudo -l" when rootpw, runaspw or targetpw is set. Bug #639 * Fixed matching of UIDs and GIDs which was broken in version 1.8.9. Bug #640 * PAM credential initialization has been re-enabled. It was unintentionally disabled by default in version 1.8.8. The way credentials are initialized has also been fixed. Bug #642. * Fixed a descriptor leak on Linux when determining boot time. Sudo normally closes extra descriptors before running a command so the impact is limited. Bug #645 * Fixed flushing of the last buffer of data when I/O logging is enabled. This bug, introduced in version 1.8.9, could cause incomplete command output on some systems. Bug #646 What's new in Sudo 1.8.10p2? * Fixed a hang introduced in sudo 1.8.10 when timestamp_timeout is set to zero. What's new in Sudo 1.8.10p1? * Fixed a bug introduced in sudo 1.8.10 that prevented the disabling of tty-based tickets. * Fixed a bug with negated commands in "sudo -l command" that could cause the command to be listed even when it was explicitly denied. This only affected list mode when a command was specified. Bug #636 What's new in Sudo 1.8.10? * It is now possible to disable network interface probing in sudo.conf by changing the value of the probe_interfaces setting. * When listing a user's privileges (sudo -l), the sudoers plugin will now prompt for the user's password even if the targetpw, rootpw or runaspw options are set. * The sudoers plugin uses a new format for its time stamp files. Each user now has a single file which may contain multiple records when per-tty time stamps are in use (the default). The time stamps use a monotonic timer where available and are once again located in a directory under /var/run. The lecture status is now stored separately from the time stamps in a different directory. Bug #616 * sudo's -K option will now remove all of the user's time stamps, not just the time stamp for the current terminal. The -k option can be used to only disable time stamps for the current terminal. * If sudo was started in the background and needed to prompt for a password, it was not possible to suspend it at the password prompt. This now works properly. * LDAP-based sudoers now uses a default search filter of (objectClass=sudoRole) for more efficient queries. The netgroup query has been modified to avoid falling below the minimum length for OpenLDAP substring indices. * The new "use_netgroups" sudoers option can be used to explicitly enable or disable netgroups support. For LDAP-based sudoers, netgroup support requires an expensive substring match on the server. If netgroups are not needed, this option can be disabled to reduce the load on the LDAP server. * Sudo is once again able to open the sudoers file when the group on sudoers doesn't match the expected value, so long as the file is not group writable. * Sudo now installs an init.d script to clear the time stamp directory at boot time on AIX and HP-UX systems. These systems either lack /var/run or do not clear it on boot. * The JSON format used by "visudo -x" now properly supports the negation operator. In addition, the Options object is now the same for both Defaults and Cmnd_Specs. * Czech and Serbian translations for sudoers from translationproject.org. * Catalan translation for sudo from translationproject.org. What's new in Sudo 1.8.9p5? * Fixed a compilation error on AIX when LDAP support is enabled. * Fixed parsing of the "umask" defaults setting in sudoers. Bug #632. * Fixed a failed assertion when the "closefrom_override" defaults setting is enabled in sudoers and sudo's -C flag is used. Bug #633. What's new in Sudo 1.8.9p4? * Fixed a bug where sudo could consume large amounts of CPU while the command was running when I/O logging is not enabled. Bug #631 * Fixed a bug where sudo would exit with an error when the debug level is set to util@debug or all@debug and I/O logging is not enabled. The command would continue running after sudo exited. What's new in Sudo 1.8.9p3? * Fixed a bug introduced in sudo 1.8.9 that prevented the tty name from being resolved properly on Linux systems. Bug #630. What's new in Sudo 1.8.9p2? * Updated config.guess, config.sub and libtool to support the ppc64le architecture (IBM PowerPC Little Endian). What's new in Sudo 1.8.9p1? * Fixed a problem with gcc 4.8's handling of bit fields that could lead to the noexec flag being enabled even when it was not explicitly set. What's new in Sudo 1.8.9? * Reworked sudo's main event loop to use a simple event subsystem using poll(2) or select(2) as the back end. * It is now possible to statically compile the sudoers plugin into the sudo binary without disabling shared library support. The sudo.conf file may still be used to configure other plugins. * Sudo can now be compiled again with a C preprocessor that does not support variadic macros. * Visudo can now export a sudoers file in JSON format using the new -x flag. * The locale is now set correctly again for visudo and sudoreplay. * The plugin API has been extended to allow the plugin to exclude specific file descriptors from the "closefrom" range. * There is now a workaround for a Solaris-specific problem where NOEXEC was overriding traditional root DAC behavior. * Add user netgroup filtering for SSSD. Previously, rules for a netgroup were applied to all even when they did not belong to the specified netgroup. * On systems with BSD login classes, if the user specified a group (not a user) to run the command as, it was possible to specify a different login class even when the command was not run as the super user. * The closefrom() emulation on Mac OS X now uses /dev/fd if possible. * Fixed a bug where sudoedit would not update the original file from the temporary when PAM or I/O logging is not enabled. * When recycling I/O logs, the log files are now truncated properly. * Fixes bugs #617, #621, #622, #623, #624, #625, #626 What's new in Sudo 1.8.8? * Removed a warning on PAM systems with stacked auth modules where the first module on the stack does not succeed. * Sudo, sudoreplay and visudo now support GNU-style long options. * The -h (--host) option may now be used to specify a host name. This is currently only used by the sudoers plugin in conjunction with the -l (--list) option. * Program usage messages and manual SYNOPSIS sections have been simplified. * Sudo's LDAP SASL support now works properly with Kerberos. Previously, the SASL library was unable to locate the user's credential cache. * It is now possible to set the nproc resource limit to unlimited via pam_limits on Linux (bug #565). * New "pam_service" and "pam_login_service" sudoers options that can be used to specify the PAM service name to use. * New "pam_session" and "pam_setcred" sudoers options that can be used to disable PAM session and credential support. * The sudoers plugin now properly supports UIDs and GIDs that are larger than 0x7fffffff on 32-bit platforms. * Fixed a visudo bug introduced in sudo 1.8.7 where per-group Defaults entries would cause an internal error. * If the "tty_tickets" sudoers option is enabled (the default), but there is no tty present, sudo will now use a ticket file based on the parent process ID. This makes it possible to support the normal timeout behavior for the session. * Fixed a problem running commands that change their process group and then attempt to change the terminal settings when not running the command in a pseudo-terminal. Previously, the process would receive SIGTTOU since it was effectively a background process. Sudo will now grant the child the controlling tty and continue it when this happens. * The "closefrom_override" sudoers option may now be used in a command-specified Defaults entry (bug #610). * Sudo's BSM audit support now works on Solaris 11. * Brazilian Portuguese translation for sudo and sudoers from translationproject.org. * Czech translation for sudo from translationproject.org. * French translation for sudo from translationproject.org. * Sudo's noexec support on Mac OS X 10.4 and above now uses dynamic symbol interposition instead of setting DYLD_FORCE_FLAT_NAMESPACE=1 which causes issues with some programs. * Fixed visudo's -q (--quiet) flag, broken in sudo 1.8.6. * Root may no longer change its SELinux role without entering a password. * Fixed a bug introduced in Sudo 1.8.7 where the indexes written to the I/O log timing file are two greater than they should be. Sudoreplay now contains a work-around to parse those files. * In sudoreplay's list mode, the "this" qualifier in "fromdate" or "todate" expressions now behaves more sensibly. Previously, it would often match a date that was "one more" than expected. For example, "this week" now matches the current week instead of the following week. What's new in Sudo 1.8.7? * The non-Unix group plugin is now supported when sudoers data is stored in LDAP. * Sudo now uses a workaround for a locale bug on Solaris 11.0 that prevents setuid programs like sudo from fully using locales. * User messages are now always displayed in the user's locale, even when the same message is being logged or mailed in a different locale. * Log files created by sudo now explicitly have the group set to group ID 0 rather than relying on BSD group semantics (which may not be the default). * A new "exec_background" sudoers option can be used to initially run the command without read access to the terminal when running a command in a pseudo-tty. If the command tries to read from the terminal it will be stopped by the kernel (via SIGTTIN or SIGTTOU) and sudo will immediately restart it as the foreground process (if possible). This allows sudo to only pass terminal input to the program if the program actually is expecting it. Unfortunately, a few poorly-behaved programs (like "su" on most Linux systems) do not handle SIGTTIN and SIGTTOU properly. * Sudo now uses an efficient group query to get all the groups for a user instead of iterating over every record in the group database on HP-UX and Solaris. * Sudo now produces better error messages when there is an error in the sudo.conf file. * Two new settings have been added to sudo.conf to give the admin better control of how group database queries are performed. The "group_source" specifies how the group list for a user will be determined. Legal values are "static" (use the kernel groups list), "dynamic" (perform a group database query) and "adaptive" (only perform a group database query if the kernel list is full). The "max_groups" setting specifies the maximum number of groups a user may belong to when performing a group database query. * The sudo.conf file now supports line continuation by using a backslash as the last character on the line. * There is now a standalone sudo.conf manual page. * Sudo now stores its libexec files in a "sudo" sub-directory instead of in libexec itself. For backward compatibility, if the plugin is not found in the default plugin directory, sudo will check the parent directory if the default directory ends in "/sudo". * The sudoers I/O logging plugin now logs the terminal size. * A new sudoers option "maxseq" can be used to limit the number of I/O log entries that are stored. * The "system_group" and "group_file" sudoers group provider plugins are now installed by default. * The list output (sudo -l) output from the sudoers plugin is now less ambiguous when an entry includes different runas users. The long list output (sudo -ll) for file-based sudoers is now more consistent with the format of LDAP-based sudoers. * A UID may now be used in the sudoRunAsUser attributes for LDAP sudoers. * Minor plugin API change: the close and version functions are now optional. If the policy plugin does not provide a close function and the command is not being run in a new pseudo-tty, sudo may now execute the command directly instead of in a child process. * A new sudoers option "pam_session" can be used to disable sudo's PAM session support. * On HP-UX systems, sudo will now use the pstat() function to determine the tty instead of ttyname(). * Turkish translation for sudo and sudoers from translationproject.org. * Dutch translation for sudo and sudoers from translationproject.org. * Tivoli Directory Server client libraries may now be used with HP-UX where libibmldap has a hidden dependency on libCsup. * The sudoers plugin will now ignore invalid domain names when checking netgroup membership. Most Linux systems use the string "(none)" for the NIS-style domain name instead of an empty string. * New support for specifying a SHA-2 digest along with the command in sudoers. Supported hash types are sha224, sha256, sha384 and sha512. See the description of Digest_Spec in the sudoers manual or the description of sudoCommand in the sudoers.ldap manual for details. * The paths to ldap.conf and ldap.secret may now be specified as arguments to the sudoers plugin in the sudo.conf file. * Fixed potential false positives in visudo's alias cycle detection. * Fixed a problem where the time stamp file was being treated as out of date on Linux systems where the change time on the pseudo-tty device node can change after it is allocated. * Sudo now only builds Position Independent Executables (PIE) by default on Linux systems and verifies that a trivial test program builds and runs. * On Solaris 11.1 and higher, sudo binaries will now have the ASLR tag enabled if supported by the linker. What's new in Sudo 1.8.6p8? * Terminal detection now works properly on 64-bit AIX kernels. This was broken by the removal of the ttyname() fallback in Sudo 1.8.6p6. Sudo is now able to map an AIX 64-bit device number to the corresponding device file in /dev. * Sudo now checks for crypt() returning NULL when performing passwd-based authentication. What's new in Sudo 1.8.6p7? * A time stamp file with the date set to the epoch by "sudo -k" is now completely ignored regardless of what the local clock is set to. Previously, if the local clock was set to a value between the epoch and the time stamp timeout value, a time stamp reset by "sudo -k" would be considered current. * The tty-specific time stamp file now includes the session ID of the sudo process that created it. If a process with the same tty but a different session ID runs sudo, the user will now be prompted for a password (assuming authentication is required for the command). What's new in Sudo 1.8.6p6? * On systems where the controlling tty can be determined via /proc or sysctl(), sudo will no longer fall back to using ttyname() if the process has no controlling tty. This prevents sudo from using a non-controlling tty for logging and time stamp purposes. What's new in Sudo 1.8.6p5? * Fixed a potential crash in visudo's alias cycle detection. * Improved performance on Solaris when retrieving the group list for the target user. On systems with a large number of groups where the group database is not local (NIS, LDAP, AD), fetching the group list could take a minute or more. What's new in Sudo 1.8.6p4? * The -fstack-protector is now used when linking visudo, sudoreplay and testsudoers. * Avoid building PIE binaries on FreeBSD/ia64 as they don't run properly. * Fixed a crash in visudo strict mode when an unknown Defaults setting is encountered. * Do not inform the user that the command was not permitted by the policy if they do not successfully authenticate. This is a regression introduced in sudo 1.8.6. * Allow sudo to be build with sss support without also including ldap support. * Fixed running commands that need the terminal in the background when I/O logging is enabled. E.g. "sudo vi &". When the command is foregrounded, it will now resume properly. What's new in Sudo 1.8.6p3? * Fixed post-processing of the man pages on systems with legacy versions of sed. * Fixed "sudoreplay -l" on Linux systems with file systems that set DT_UNKNOWN in the d_type field of struct dirent. What's new in Sudo 1.8.6p2? * Fixed suspending a command after it has already been resumed once when I/O logging (or use_pty) is not enabled. This was a regression introduced in version 1.8.6. What's new in Sudo 1.8.6p1? * Fixed the setting of LOGNAME, USER and USERNAME variables in the command's environment when env_reset is enabled (the default). This was a regression introduced in version 1.8.6. * Sudo now honors SUCCESS=return in /etc/nsswitch.conf. What's new in Sudo 1.8.6? * Sudo is now built with the -fstack-protector flag if the the compiler supports it. Also, the -zrelro linker flag is used if supported. The --disable-hardening configure option can be used to build sudo without stack smashing protection. * Sudo is now built as a Position Independent Executable (PIE) if supported by the compiler and linker. * If the user is a member of the "exempt" group in sudoers, they will no longer be prompted for a password even if the -k flag is specified with the command. This makes "sudo -k command" consistent with the behavior one would get if the user ran "sudo -k" immediately before running the command. * The sudoers file may now be a symbolic link. Previously, sudo would refuse to read sudoers unless it was a regular file. * The sudoreplay command can now properly replay sessions where no tty was present. * The sudoers plugin now takes advantage of symbol visibility controls when supported by the compiler or linker. As a result, only a small number of symbols are exported which significantly reduces the chances of a conflict with other shared objects. * Improved support for the Tivoli Directory Server LDAP client libraries. This includes support for using LDAP over SSL (ldaps) as well as support for the BIND_TIMELIMIT, TLS_KEY and TLS_CIPHERS ldap.conf options. A new ldap.conf option, TLS_KEYPW can be used to specify a password to decrypt the key database. * When constructing a time filter for use with LDAP sudoNotBefore and sudoNotAfter attributes, the current time now includes tenths of a second. This fixes a problem with timed entries on Active Directory. * If a user fails to authenticate and the command would be rejected by sudoers, it is now logged with "command not allowed" instead of "N incorrect password attempts". Likewise, the "mail_no_perms" sudoers option now takes precedence over "mail_badpass". * The sudo manuals are now formatted using the mdoc macros. Versions using the legacy man macros are provided for systems that lack mdoc. * New support for Solaris privilege sets. This makes it possible to specify fine-grained privileges in the sudoers file on Solaris 10 and above. A Runas_Spec that contains no Runas_Lists can be used to give a user the ability to run a command as themselves but with an expanded privilege set. * Fixed a problem with the reboot and shutdown commands on some systems (such as HP-UX and BSD). On these systems, reboot sends all processes (except itself) SIGTERM. When sudo received SIGTERM, it would relay it to the reboot process, thus killing reboot before it had a chance to actually reboot the system. * Support for using the System Security Services Daemon (SSSD) as a source of sudoers data. * Slovenian translation for sudo and sudoers from translationproject.org. * Visudo will now warn about unknown Defaults entries that are per-host, per-user, per-runas or per-command. * Fixed a race condition that could cause sudo to receive SIGTTOU (and stop) when resuming a shell that was run via sudo when I/O logging (and use_pty) is not enabled. * Sending SIGTSTP directly to the sudo process will now suspend the running command when I/O logging (and use_pty) is not enabled. What's new in Sudo 1.8.5p3? * Fixed the loading of I/O plugins that conform to a plugin API version older than 1.2. What's new in Sudo 1.8.5p2? * Fixed use of the SUDO_ASKPASS environment variable which was broken in Sudo 1.8.5. * Fixed a problem reading the sudoers file when the file mode is more restrictive than the expected mode. For example, when the expected sudoers file mode is 0440 but the actual mode is 0400. What's new in Sudo 1.8.5p1? * Fixed a bug that prevented files in an include directory from being evaluated. What's new in Sudo 1.8.5? * When "noexec" is enabled, sudo_noexec.so will now be prepended to any existing LD_PRELOAD variable instead of replacing it. * The sudo_noexec.so shared library now wraps the execvpe(), exect(), posix_spawn() and posix_spawnp() functions. * The user/group/mode checks on sudoers files have been relaxed. As long as the file is owned by the sudoers UID, not world-writable and not writable by a group other than the sudoers GID, the file is considered OK. Note that visudo will still set the mode to the value specified at configure time. * It is now possible to specify the sudoers path, UID, GID and file mode as options to the plugin in the sudo.conf file. * Croatian, Galician, German, Lithuanian, Swedish and Vietnamese translations from translationproject.org. * /etc/environment is no longer read directly on Linux systems when PAM is used. Sudo now merges the PAM environment into the user's environment which is typically set by the pam_env module. * The initial environment created when env_reset is in effect now includes the contents of /etc/environment on AIX systems and the "setenv" and "path" entries from /etc/login.conf on BSD systems. * The plugin API has been extended in three ways. First, options specified in sudo.conf after the plugin pathname are passed to the plugin's open function. Second, sudo has limited support for hooks that can be used by plugins. Currently, the hooks are limited to environment handling functions. Third, the init_session policy plugin function is passed a pointer to the user environment which can be updated during session setup. The plugin API version has been incremented to version 1.2. See the sudo_plugin manual for more information. * The policy plugin's init_session function is now called by the parent sudo process, not the child process that executes the command. This allows the PAM session to be open and closed in the same process, which some PAM modules require. * Fixed parsing of "Path askpass" and "Path noexec" in sudo.conf, which was broken in version 1.8.4. * On systems with an SVR4-style /proc file system, the /proc/pid/psinfo file is now uses to determine the controlling terminal, if possible. This allows tty-based tickets to work properly even when, e.g. standard input, output and error are redirected to /dev/null. * The output of "sudoreplay -l" is now sorted by file name (or sequence number). Previously, entries were displayed in the order in which they were found on the file system. * Sudo now behaves properly when I/O logging is enabled and the controlling terminal is revoked (e.g. the running sshd is killed). Previously, sudo may have exited without calling the I/O plugin's close function which can lead to an incomplete I/O log. * Sudo can now detect when a user has logged out and back in again on Solaris 11, just like it can on Solaris 10. * The built-in zlib included with Sudo has been upgraded to version 1.2.6. * Setting the SSL parameter to start_tls in ldap.conf now works properly when using Mozilla-based SDKs that support the ldap_start_tls_s() function. * The TLS_CHECKPEER parameter in ldap.conf now works when the Mozilla NSS crypto back-end is used with OpenLDAP. * A new group provider plugin, system_group, is included which performs group look ups by name using the system groups database. This can be used to restore the pre-1.7.3 sudo group lookup behavior. What's new in Sudo 1.8.4p5? * Fixed a bug when matching against an IP address with an associated netmask in the sudoers file. In certain circumstances, this could allow users to run commands on hosts they are not authorized for. What's new in Sudo 1.8.4p4? * Fixed a bug introduced in Sudo 1.8.4 which prevented "sudo -v" from working. What's new in Sudo 1.8.4p3? * Fixed a crash on FreeBSD when no tty is present. * Fixed a bug introduced in Sudo 1.8.4 that allowed users to specify environment variables to set on the command line without having sudo "ALL" permissions or the "SETENV" tag. * When visudo is run with the -c (check) option, the sudoers file(s) owner and mode are now also checked unless the -f option was specified. What's new in Sudo 1.8.4p2? * Fixed a bug introduced in Sudo 1.8.4 where insufficient space was allocated for group IDs in the LDAP filter. * Fixed a bug introduced in Sudo 1.8.4 where the path to sudo.conf was "/sudo.conf" instead of "/etc/sudo.conf". * Fixed a bug introduced in Sudo 1.8.4 which could cause a hang when I/O logging is enabled and input is from a pipe or file. What's new in Sudo 1.8.4p1? * Fixed a bug introduced in sudo 1.8.4 that broke adding to or deleting from the env_keep, env_check and env_delete lists in sudoers on some platforms. What's new in Sudo 1.8.4? * The -D flag in sudo has been replaced with a more general debugging framework that is configured in sudo.conf. * Fixed a false positive in visudo strict mode when aliases are in use. * Fixed a crash with "sudo -i" when a runas group was specified without a runas user. * The line on which a syntax error is reported in the sudoers file is now more accurate. Previously it was often off by a line. * Fixed a bug where stack garbage could be printed at the end of the lecture when the "lecture_file" option was enabled. * "make install" now honors the LINGUAS environment variable. * The #include and #includedir directives in sudoers now support relative paths. If the path is not fully qualified it is expected to be located in the same directory of the sudoers file that is including it. * Serbian and Spanish translations for sudo from translationproject.org. * LDAP-based sudoers may now access by group ID in addition to group name. * visudo will now fix the mode on the sudoers file even if no changes are made unless the -f option is specified. * The "use_loginclass" sudoers option works properly again. * On systems that use login.conf, "sudo -i" now sets environment variables based on login.conf. * For LDAP-based sudoers, values in the search expression are now escaped as per RFC 4515. * The plugin close function is now properly called when a login session is killed (as opposed to the actual command being killed). This can happen when an ssh session is disconnected or the terminal window is closed. * The deprecated "noexec_file" sudoers option is no longer supported. * Fixed a race condition when I/O logging is not enabled that could result in tty-generated signals (e.g. control-C) being received by the command twice. * If none of the standard input, output or error are connected to a tty device, sudo will now check its parent's standard input, output or error for the tty name on systems with /proc and BSD systems that support the KERN_PROC_PID sysctl. This allows tty-based tickets to work properly even when, e.g. standard input, output and error are redirected to /dev/null. * Added the --enable-kerb5-instance configure option to allow people using Kerberos V authentication to specify a custom instance so the principal name can be, e.g. "username/sudo" similar to how ksu uses "username/root". * Fixed a bug where a pattern like "/usr/*" included /usr/bin/ in the results, which would be incorrectly be interpreted as if the sudoers file had specified a directory. * "visudo -c" will now list any include files that were checked in addition to the main sudoers file when everything parses OK. * Users that only have read-only access to the sudoers file may now run "visudo -c". Previously, write permissions were required even though no writing is down in check-only mode. * It is now possible to prevent the disabling of core dumps from within sudo itself by adding a line to the sudo.conf file like "Set disable_coredump false". What's new in Sudo 1.8.3p2? * Fixed a format string vulnerability when the sudo binary (or a symbolic link to the sudo binary) contains printf format escapes and the -D (debugging) flag is used. What's new in Sudo 1.8.3p1? * Fixed a crash in the monitor process on Solaris when NOPASSWD was specified or when authentication was disabled. * Fixed matching of a Runas_Alias in the group section of a Runas_Spec. What's new in Sudo 1.8.3? * Fixed expansion of strftime() escape sequences in the "log_dir" sudoers setting. * Esperanto, Italian and Japanese translations from translationproject.org. * Sudo will now use PAM by default on AIX 6 and higher. * Added --enable-werror configure option for gcc's -Werror flag. * Visudo no longer assumes all editors support the +linenumber command line argument. It now uses a allowlist of editors known to support the option. * Fixed matching of network addresses when a netmask is specified but the address is not the first one in the CIDR block. * The configure script now check whether or not errno.h declares the errno variable. Previously, sudo would always declare errno itself for older systems that don't declare it in errno.h. * The NOPASSWD tag is now honored for denied commands too, which matches historic sudo behavior (prior to sudo 1.7.0). * Sudo now honors the "DEREF" setting in ldap.conf which controls how alias dereferencing is done during an LDAP search. * A symbol conflict with the pam_ssh_agent_auth PAM module that would cause a crash been resolved. * The inability to load a group provider plugin is no longer a fatal error. * A potential crash in the utmp handling code has been fixed. * Two PAM session issues have been resolved. In previous versions of sudo, the PAM session was opened as one user and closed as another. Additionally, if no authentication was performed, the PAM session would never be closed. * Sudo will now work correctly with LDAP-based sudoers using TLS or SSL on Debian systems. * The LOGNAME, USER and USERNAME environment variables are preserved correctly again in sudoedit mode. What's new in Sudo 1.8.2? * Sudo, visudo, sudoreplay and the sudoers plug-in now have natural language support (NLS). This can be disabled by passing configure the --disable-nls option. Sudo will use gettext(), if available, to display translated messages. All translations are coordinated via The Translation Project, http://translationproject.org/. * Plug-ins are now loaded with the RTLD_GLOBAL flag instead of RTLD_LOCAL. This fixes missing symbol problems in PAM modules on certain platforms, such as FreeBSD and SuSE Linux Enterprise. * I/O logging is now supported for commands run in background mode (using sudo's -b flag). * Group ownership of the sudoers file is now only enforced when the file mode on sudoers allows group readability or writability. * Visudo now checks the contents of an alias and warns about cycles when the alias is expanded. * If the user specifies a group via sudo's -g option that matches the target user's group in the password database, it is now allowed even if no groups are present in the Runas_Spec. * The sudo Makefiles now have more complete dependencies which are automatically generated instead of being maintained manually. * The "use_pty" sudoers option is now correctly passed back to the sudo front end. This was missing in previous versions of sudo 1.8 which prevented "use_pty" from being honored. * "sudo -i command" now works correctly with the bash version 2.0 and higher. Previously, the .bash_profile would not be sourced prior to running the command unless bash was built with NON_INTERACTIVE_LOGIN_SHELLS defined. * When matching groups in the sudoers file, sudo will now match based on the name of the group instead of the group ID. This can substantially reduce the number of group lookups for sudoers files that contain a large number of groups. * Multi-factor authentication is now supported on AIX. * Added support for non-RFC 4517 compliant LDAP servers that require that seconds be present in a timestamp, such as Tivoli Directory Server. * If the group vector is to be preserved, the PATH search for the command is now done with the user's original group vector. * For LDAP-based sudoers, the "runas_default" sudoOption now works properly in a sudoRole that contains a sudoCommand. * Spaces in command line arguments for "sudo -s" and "sudo -i" are now escaped with a backslash when checking the security policy. What's new in Sudo 1.8.1p2? * Two-character CIDR-style IPv4 netmasks are now matched correctly in the sudoers file. * A build error with MIT Kerberos V has been resolved. * A crash on HP-UX in the sudoers plugin when wildcards are present in the sudoers file has been resolved. * Sudo now works correctly on Tru64 Unix again. What's new in Sudo 1.8.1p1? * Fixed a problem on AIX where sudo was unable to set the final UID if the PAM module modified the effective UID. * A non-existent includedir is now treated the same as an empty directory and not reported as an error. * Removed extraneous parens in LDAP filter when sudoers_search_filter is enabled that can cause an LDAP search error. * Fixed a "make -j" problem for "make install". What's new in Sudo 1.8.1? * A new LDAP setting, sudoers_search_filter, has been added to ldap.conf. This setting can be used to restrict the set of records returned by the LDAP query. Based on changes from Matthew Thomas. * White space is now permitted within a User_List when used in conjunction with a per-user Defaults definition. * A group ID (%#GID) may now be specified in a User_List or Runas_List. Likewise, for non-Unix groups the syntax is %:#GID. * Support for double-quoted words in the sudoers file has been fixed. The change in 1.7.5 for escaping the double quote character caused the double quoting to only be available at the beginning of an entry. * The fix for resuming a suspended shell in 1.7.5 caused problems with resuming non-shells on Linux. Sudo will now save the process group ID of the program it is running on suspend and restore it when resuming, which fixes both problems. * A bug that could result in corrupted output in "sudo -l" has been fixed. * Sudo will now create an entry in the utmp (or utmpx) file when allocating a pseudo-tty (e.g. when logging I/O). The "set_utmp" and "utmp_runas" sudoers file options can be used to control this. Other policy plugins may use the "set_utmp" and "utmp_user" entries in the command_info list. * The sudoers policy now stores the TSID field in the logs even when the "iolog_file" sudoers option is defined to a value other than %{sessid}. Previously, the TSID field was only included in the log file when the "iolog_file" option was set to its default value. * The sudoreplay utility now supports arbitrary session IDs. Previously, it would only work with the base-36 session IDs that the sudoers plugin uses by default. * Sudo now passes "run_shell=true" to the policy plugin in the settings list when sudo's -s command line option is specified. The sudoers policy plugin uses this to implement the "set_home" sudoers option which was missing from sudo 1.8.0. * The "noexec" functionality has been moved out of the sudoers policy plugin and into the sudo front-end, which matches the behavior documented in the plugin writer's guide. As a result, the path to the noexec file is now specified in the sudo.conf file instead of the sudoers file. * On Solaris 10, the PRIV_PROC_EXEC privilege is now used to implement the "noexec" feature. Previously, this was implemented via the LD_PRELOAD environment variable. * The exit values for "sudo -l", "sudo -v" and "sudo -l command" have been fixed in the sudoers policy plugin. * The sudoers policy plugin now passes the login class, if any, back to the sudo front-end. * The sudoers policy plugin was not being linked with requisite libraries in certain configurations. * Sudo now parses command line arguments before loading any plugins. This allows "sudo -V" or "sudo -h" to work even if there is a problem with sudo.conf * Plugins are now linked with the static version of libgcc to allow the plugin to run on a system where no shared libgcc is installed, or where it is installed in a different location. What's new in Sudo 1.8.0? * Sudo has been refactored to use a modular framework that can support third-party policy and I/O logging plugins. The default plugin is "sudoers" which provides the traditional sudo functionality. See the sudo_plugin manual for details on the plugin API and the sample in the plugins directory for a simple example. What's new in Sudo 1.7.5? * When using visudo in check mode, a file named "-" may be used to check sudoers data on the standard input. * Sudo now only fetches shadow password entries when using the password database directly for authentication. * Password and group entries are now cached using the same key that was used to look them up. This fixes a problem when looking up entries by name if the name in the retrieved entry does not match the name used to look it up. This may happen on some systems that do case insensitive lookups or that truncate long names. * GCC will no longer display warnings on glibc systems that use the warn_unused_result attribute for write(2) and other system calls. * If a PAM account management module denies access, sudo now prints a more useful error message and stops trying to validate the user. * Fixed a potential hang on idle systems when the sudo-run process exits immediately. * Sudo now includes a copy of zlib that will be used on systems that do not have zlib installed. * The --with-umask-override configure flag has been added to enable the "umask_override" sudoers Defaults option at build time. * Sudo now unblocks all signals on startup to avoid problems caused by the parent process changing the default signal mask. * LDAP Sudoers entries may now specify a time period for which the entry is valid. This requires an updated sudoers schema that includes the sudoNotBefore and sudoNotAfter attributes. Support for timed entries must be explicitly enabled in the ldap.conf file. Based on changes from Andreas Mueller. * LDAP Sudoers entries may now specify a sudoOrder attribute that determines the order in which matching entries are applied. The last matching entry is used, just like file-based sudoers. This requires an updated sudoers schema that includes the sudoOrder attribute. Based on changes from Andreas Mueller. * When run as sudoedit, or when given the -e flag, sudo now treats command line arguments as pathnames. This means that slashes in the sudoers file entry must explicitly match slashes in the command line arguments. As a result, and entry such as: user ALL = sudoedit /etc/* will allow editing of /etc/motd but not /etc/security/default. * NETWORK_TIMEOUT is now an alias for BIND_TIMELIMIT in ldap.conf for compatibility with OpenLDAP configuration files. * The LDAP API TIMEOUT parameter is now honored in ldap.conf. * The I/O log directory may now be specified in the sudoers file. * Sudo will no longer refuse to run if the sudoers file is writable by root. * Sudo now performs command line escaping for "sudo -s" and "sudo -i" after validating the command so the sudoers entries do not need to include the backslashes. * Logging and email sending are now done in the locale specified by the "sudoers_locale" setting ("C" by default). Email send by sudo now includes MIME headers when "sudoers_locale" is not "C". * The configure script has a new option, --disable-env-reset, to allow one to change the default for the sudoers Default setting "env_reset" at compile time. * When logging "sudo -l command", sudo will now prepend "list " to the command in the log line to distinguish between an actual command invocation in the logs. * Double-quoted group and user names may now include escaped double quotes as part of the name. Previously this was a parse error. * Sudo once again restores the state of the signal handlers it modifies before executing the command. This allows sudo to be used with the nohup command. * Resuming a suspended shell now works properly when I/O logging is not enabled (the I/O logging case was already correct). What's new in Sudo 1.7.4p6? * A bug has been fixed in the I/O logging support that could cause visual artifacts in full-screen programs such as text editors. What's new in Sudo 1.7.4p5? * A bug has been fixed that would allow a command to be run without the user entering a password when sudo's -g flag is used without the -u flag. * If user has no supplementary groups, sudo will now fall back on checking the group file explicitly, which restores historic sudo behavior. * A crash has been fixed when sudo's -g flag is used without the -u flag and the sudoers file contains an entry with no runas user or group listed. * A crash has been fixed when the Solaris project support is enabled and sudo's -g flag is used without the -u flag. * Sudo no longer exits with an error when support for auditing is compiled in but auditing is not enabled. * Fixed a bug introduced in sudo 1.7.3 where the ticket file was not being honored when the "targetpw" sudoers Defaults option was enabled. * The LOG_INPUT and LOG_OUTPUT tags in sudoers are now parsed correctly. * A crash has been fixed in "sudo -l" when sudo is built with auditing support and the user is not allowed to run any commands on the host. What's new in Sudo 1.7.4p4? * A potential security issue has been fixed with respect to the handling of sudo's -g command line option when -u is also specified. The flaw may allow an attacker to run commands as a user that is not authorized by the sudoers file. * A bug has been fixed where "sudo -l" output was incomplete if multiple sudoers sources were defined in nsswitch.conf and there was an error querying one of the sources. * The log_input, log_output, and use_pty sudoers options now work correctly on AIX. Previously, sudo would hang if they were enabled. * The "make install" target now works correctly when sudo is built in a directory other than the source directory. * The "runas_default" sudoers setting now works properly in a per-command Defaults line. * Suspending and resuming the bash shell when PAM is in use now works correctly. The SIGCONT signal was not propagated to the child process. What's new in Sudo 1.7.4p3? * A bug has been fixed where duplicate HOME environment variables could be present when the env_reset setting was disabled and the always_set_home setting was enabled in sudoers. * The value of sysconfdir is now substituted into the path to the sudoers.d directory in the installed sudoers file. * Compilation problems on IRIX and other platforms have been fixed. * If multiple PAM "auth" actions are specified and the user enters ^C at the password prompt, sudo will no longer prompt for a password for any subsequent "auth" actions. Previously it was necessary to enter ^C for each "auth" action. What's new in Sudo 1.7.4p2? * A bug where sudo could spin in a busy loop waiting for the child process has been fixed. What's new in Sudo 1.7.4p1? * A bug introduced in sudo 1.7.3 that prevented the -k and -K options from functioning when the tty_tickets sudoers option is enabled has been fixed. * Sudo no longer prints a warning when the -k or -K options are specified and the ticket file does not exist. * It is now easier to cross-compile sudo. What's new in Sudo 1.7.4? * Sudoedit will now preserve the file extension in the name of the temporary file being edited. The extension is used by some editors (such as emacs) to choose the editing mode. * Time stamp files have moved from /var/run/sudo to either /var/db/sudo, /var/lib/sudo or /var/adm/sudo. The directories are checked for existence in that order. This prevents users from receiving the sudo lecture every time the system reboots. Time stamp files older than the boot time are ignored on systems where it is possible to determine this. * The tty_tickets sudoers option is now enabled by default. * Ancillary documentation (README files, LICENSE, etc) is now installed in a sudo documentation directory. * Sudo now recognizes "tls_cacert" as an alias for "tls_cacertfile" in ldap.conf. * Defaults settings that are tied to a user, host or command may now include the negation operator. For example: Defaults:!millert lecture will match any user but millert. * The default PATH environment variable, used when no PATH variable exists, now includes /usr/sbin and /sbin. * Sudo now uses polypkg (http://rc.quest.com/topics/polypkg/) for cross-platform packing. * On Linux, sudo will now restore the nproc resource limit before executing a command, unless the limit appears to have been modified by pam_limits. This avoids a problem with bash scripts that open more than 32 descriptors on SuSE Linux, where sysconf(_SC_CHILD_MAX) will return -1 when RLIMIT_NPROC is set to RLIMIT_UNLIMITED (-1). * The HOME and MAIL environment variables are now reset based on the target user's password database entry when the env_reset sudoers option is enabled (which is the case in the default configuration). Users wishing to preserve the original values should use a sudoers entry like: Defaults env_keep += HOME to preserve the old value of HOME and Defaults env_keep += MAIL to preserve the old value of MAIL. * Fixed a problem in the restoration of the AIX authdb registry setting. * Sudo will now fork(2) and wait until the command has completed before calling pam_close_session(). * The default syslog facility is now "authpriv" if the operating system supports it, else "auth". What's new in Sudo 1.7.3? * Support for logging I/O for the command being run. For more information, see the documentation for the "log_input" and "log_output" Defaults options in the sudoers manual. Also see the sudoreplay manual for how to replay I/O log sessions. * The use_pty sudoers option can be used to force a command to be run in a pseudo-pty, even when I/O logging is not enabled. * On some systems, sudo can now detect when a user has logged out and back in again when tty-based time stamps are in use. Supported systems include Solaris systems with the devices file system, Mac OS X, and Linux systems with the devpts filesystem (pseudo-ttys only). * On AIX systems, the registry setting in /etc/security/user is now taken into account when looking up users and groups. Sudo now applies the correct the user and group ids when running a command as a user whose account details come from a different source (e.g. LDAP or DCE vs. local files). * Support for multiple 'sudoers_base' and 'uri' entries in ldap.conf. When multiple entries are listed, sudo will try each one in the order in which they are specified. * Sudo's SELinux support should now function correctly when running commands as a non-root user and when one of stdin, stdout or stderr is not a terminal. * Sudo will now use the Linux audit system with configure with the --with-linux-audit flag. * Sudo now uses mbr_check_membership() on systems that support it to determine group membership. Currently, only Darwin (Mac OS X) supports this. * When the tty_tickets sudoers option is enabled but there is no terminal device, sudo will no longer use or create a tty-based ticket file. Previously, sudo would use a tty name of "unknown". As a consequence, if a user has no terminal device, sudo will now always prompt for a password. * The passwd_timeout and timestamp_timeout options may now be specified as floating point numbers for more granular timeout values. * Negating the fqdn option in sudoers now works correctly when sudo is configured with the --with-fqdn option. In previous versions of sudo the fqdn was set before sudoers was parsed. What's new in Sudo 1.7.2? * A new #includedir directive is available in sudoers. This can be used to implement an /etc/sudo.d directory. Files in an includedir are not edited by visudo unless they contain a syntax error. * The -g option did not work properly when only setting the group (and not the user). Also, in -l mode the wrong user was displayed for sudoers entries where only the group was allowed to be set. * Fixed a problem with the alias checking in visudo which could prevent visudo from exiting. * Sudo will now correctly parse the shell-style /etc/environment file format used by pam_env on Linux. * When doing password and group database lookups, sudo will only cache an entry by name or by id, depending on how the entry was looked up. Previously, sudo would cache by both name and id from a single lookup, but this breaks sites that have multiple password or group database names that map to the same UID or GID. * User and group names in sudoers may now be enclosed in double quotes to avoid having to escape special characters. * BSM audit fixes when changing to a non-root UID. * Experimental non-Unix group support. Currently only works with Quest Authorization Services and allows Active Directory groups fixes for Minix-3. * For Netscape/Mozilla-derived LDAP SDKs the certificate and key paths may be specified as a directory or a file. However, version 5.0 of the SDK only appears to support using a directory (despite documentation to the contrary). If SSL client initialization fails and the certificate or key paths look like they could be default file name, strip off the last path element and try again. * A setenv() compatibility fix for Linux systems, where a NULL value is treated the same as an empty string and the variable name is checked against the NULL pointer. What's new in Sudo 1.7.1? * A new Defaults option "pwfeedback" will cause sudo to provide visual feedback when the user is entering a password. * A new Defaults option "fast_glob" will cause sudo to use the fnmatch() function for file name globbing instead of glob(). When this option is enabled, sudo will not check the file system when expanding wildcards. This is faster but a side effect is that relative paths with wildcard will no longer work. * New BSM audit support for systems that support it such as FreeBSD and Mac OS X. * The file name specified with the #include directive may now include a %h escape which is expanded to the short form of hostname. * The -k flag may now be specified along with a command, causing the user's timestamp file to be ignored. * New support for Tivoli-based LDAP START_TLS, present in AIX. * New support for /etc/netsvc.conf on AIX. * The unused alias checks in visudo now handle the case of an alias referring to another alias. What's new in Sudo 1.7.0? * Rewritten parser that converts sudoers into a set of data structures. This eliminates a number of ordering issues and makes it possible to apply sudoers Defaults entries before searching for the command. It also adds support for per-command Defaults specifications. * Sudoers now supports a #include facility to allow the inclusion of other sudoers-format files. * Sudo's -l (list) flag has been enhanced: o applicable Defaults options are now listed o a command argument can be specified for testing whether a user may run a specific command. o a new -U flag can be used in conjunction with "sudo -l" to allow root (or a user with "sudo ALL") list another user's privileges. * A new -g flag has been added to allow the user to specify a primary group to run the command as. The sudoers syntax has been extended to include a group section in the Runas specification. * A UID may now be used anywhere a username is valid. * The "secure_path" run-time Defaults option has been restored. * Password and group data is now cached for fast lookups. * The file descriptor at which sudo starts closing all open files is now configurable via sudoers and, optionally, the command line. * Visudo will now warn about aliases that are defined but not used. * The -i and -s command line flags now take an optional command to be run via the shell. Previously, the argument was passed to the shell as a script to run. * Improved LDAP support. SASL authentication may now be used in conjunction when connecting to an LDAP server. The krb5_ccname parameter in ldap.conf may be used to enable Kerberos. * Support for /etc/nsswitch.conf. LDAP users may now use nsswitch.conf to specify the sudoers order. E.g.: sudoers: ldap files to check LDAP, then /etc/sudoers. The default is "files", even when LDAP support is compiled in. This differs from sudo 1.6 where LDAP was always consulted first. * Support for /etc/environment on AIX and Linux. If sudo is run with the -i flag, the contents of /etc/environment are used to populate the new environment that is passed to the command being run. * If no terminal is available or if the new -A flag is specified, sudo will use a helper program to read the password if one is configured. Typically, this is a graphical password prompter such as ssh-askpass. * A new Defaults option, "mailfrom" that sets the value of the "From:" field in the warning/error mail. If unspecified, the login name of the invoking user is used. * A new Defaults option, "env_file" that refers to a file containing environment variables to be set in the command being run. * A new flag, -n, may be used to indicate that sudo should not prompt the user for a password and, instead, exit with an error if authentication is required. * If sudo needs to prompt for a password and it is unable to disable echo (and no askpass program is defined), it will refuse to run unless the "visiblepw" Defaults option has been specified. * Prior to version 1.7.0, hitting enter/return at the Password: prompt would exit sudo. In sudo 1.7.0 and beyond, this is treated as an empty password. To exit sudo, the user must press ^C or ^D at the prompt. * visudo will now check the sudoers file owner and mode in -c (check) mode when the -s (strict) flag is specified. * A new Defaults option "umask_override" will cause sudo to set the umask specified in sudoers even if it is more permissive than the invoking user's umask. usr/share/doc/libtool/NEWS000064400000155545152526376170011424 0ustar00NEWS - list of user-visible changes between releases of GNU Libtool * Noteworthy changes in release 2.4.6 (2015-02-15) [stable] ** New features: - LT_SYS_LIBRARY_PATH can be set in config.site, or at configure time and persists correctly in the generated libtool script. ** Bug fixes: - Fix a race condition in ltdl dryrun test that would cause spurious random failures of that test. - LT_SYS_DLSEARCH_PATH is munged correctly. * Noteworthy changes in release 2.4.5 (2015-01-19) [stable] ** New features: - Libtoolize searches for the best available M4 on the user PATH at runtime, rather than settling for the first one found. - Support munging sys_lib_dlsearch_path_spec with LT_SYS_LIBRARY_PATH environment variable. ** Bug fixes: - Bail out at configure time if the installed M4 is not sufficient for the purposes of libtoolize. - freebsd-elf library versioning was upgraded incorrectly in 2.4.4, but now works properly again. - Fix a 2.4.4 regression so that libltdl subprojects do not warn about missing libltdl/libltdl directory as in prior releases. - When using Sun C++ on Solaris or GNU/Linux we used to set libtool's postdeps permanently, based on the contents of $CXX and $CXXFLAGS at configure time, which was brittle and error-prone. Now, we no longer check for a SunCC ABI at configure time, but augment the postdeps at libtool time based on the current invocation flags on each call. ** Changes in supported systems or compilers: - /usr/local prefixed rpaths are now added to the link-line on ia64-hp-hpux*, because the default system runtime loader path does not contain them. - Previously, when using Sun C++ on Solaris or GNU/Linux, `-Cstd -Crun` flags were added to $postdeps unless CXX or CXXFLAGS contained `-library=stlport4`. Newer releases have added other compiler flags that are also incompatible with `-Cstd -Crun`, so now we don't add them if any of `-std=c++[0-9][0-9]`, `-library=stdcxx4` or `-compat=g` were found in CXX or CXXFLAGS when the Sun C++ compiler is detected. * Noteworthy changes in release 2.4.4 (2014-11-29) [stable] ** New features: - Libltdl maintains its own fork of argz, with macros and files in the LT_ and lt__ namespaces (resp.) where they cannot clash with client projects' use of gnulib argz. ** Bug fixes: - Installation of 'libtoolize' once again obeys '--program-prefix', '--program-suffix' and '--program-transform-name' configure options. - `libtoolize` doesn't remove any files that it can't reinstall, including old versions of the snippet directory, and gnulib's version of the argz module and supporting files. - LT_FUNC_DLYSM_USCORE now works correctly on systems that don't support self dlopen()ing. ** Important incompatible changes: - LT_LIB_DLLOAD no longer prepends -ldl or -ldld to LIBS, causing duplicate occurrences in libltdl link lines. If you need to add a library for dlopen() or shl_load() in your Makefile, then use $(LIBADD_DLOPEN) or $(LIBADD_SHL_LOAD) respectively. If you are using libltdl, this all happens automatically, and the only difference you'll see is no more duplicated library names in the verbose link line. ** Changes in supported systems or compilers: - Preliminary support for tcc on linux*. Although it already worked sometimes in previous releases, making sure to set LD correctly now avoids mis-matching GNU ld with tcc: ./configure CC=tcc LD=tcc - Added -os2dllname option to work around 8 character base name limit on OS/2. The option has no effect on other systems. - Support for DLL versioning, -export-symbols and -export-symbols-regex on OS/2. - Support filename-based shared library versioning on AIX. See manual for details. * Noteworthy changes in release 2.4.3 (2014-10-27) [stable] ** New features: - Moved to gnulib release infrastructure. - M4 is now used for scanning the M4 macros in your configure.ac that 'libtoolize' looks at to determine what files you want, and where you would like them installed. This means that you can compose your version number or any other argument that Libtoolize needs to know at M4 time using git-version-gen from gnulib, for example. - Invoking 'libtoolize --ltdl' no longer maintains a separate autoconf macro directory in the libltdl tree, but automatically adjusts the installed libltdl configuration files to share whatever macro directory is declared by the parent project. (Note: if you were already sharing a macro directory with AC_CONFIG_MACRO_DIR(ltdl/m4) or similar, that still works as does any other directory choice). - Invoking 'libtoolize --ltdl' no longer maintains a separate auxiliary scripts directory in the libltdl tree, but automatically adjusts the installed libltdl configuration files to share whatever auxiliary scripts directory is declared by the parent project. (Note: if you were already sharing an auxiliary directory with subproject libltdl using AC_CONFIG_AUX_DIR(ltdl/config) or similar, that still works as does any other directory choice). - The legacy tests have all been migrated to the Autotest harness. - The Autotest testsuite can be run without the especially time consuming tests with: make check-local TESTSUITEFLAGS='-k "!expensive"' ** Bug fixes: - Fix a long-standing latent bug in autom4te include path for autotests with VPATH builds. - Fix a long-standing latent bug in libtoolize that could delete lines from libltdl/Makefile.am in recursive mode due to underquoting in a sed script. - Fix a long-standing bug in libtoolize, by outputting the 'putting auxiliary files in' header with 'libtoolize --ltdl --subproject'. - Fix a long-standing bug in libtoolize subproject installation, by not installing a set of autoconf macro files into the parent project if there is no configure.ac present to use them. - The libtoolize subproject mode selector is now named '--subproject' and is equivalent to the implied '--subproject' mode when no other mode is selected; '--standalone' never worked, and is no longer accepted. - Libtool and libtoolize no longer choke on paths with a comma in them. - In the case where $SHELL does not have the same enhanced features (e.g. the ability to parse 'var+=append') as $CONFIG_SHELL, libtool will now correctly fallback to using only vanilla shell features instead of failing with a parse at startup. - Correctly recognize import libraries when Microsoft dumpbin is used as the name lister and extend the dumpbin wrapper to find symbols in import libraries using the -headers option of dumpbin. Also fix a bug in the dumpbin wrapper that could lead to broken symbol listings in some corner cases. - Use the improved Microsoft dumpbin support to mend preloading of import libraries for Microsoft Visual C/C++. - No longer mangle module-definition (.def) files when feeding them to the Microsoft Visual C/C++ linker via the -export-symbols argument to the libtool script, thus matching how .def files are handled when using GNU tools. - Recognize more variants (e.g. those starting with a LIBRARY statement) of module-definitions (.def) files when using them instead of a raw list of symbols to export. - Fix a long-standing bug when using libtoolize without automake; we no longer remove install-sh with --force, since it's not a file libtoolize will reinstall without --install.. ** Important incompatible changes: - GNU M4 is required to run libtoolize in a directory with a 'configure.ac' (or 'configure.in') that needs tracing to determine what modes and directories have been specified. - The use of the idiosyncratically named 'Makefile.inc' in nonrecursive libltdl builds is deprecated, although it will be supported for one more year or until the next release, whichever takes longer. Please upgrade to the more standard naming of 'ltdl.mk' in keeping with other GNU projects. - libtoolize now behaves consistenty in respect of multiple directory arguments to ACLOCAL_AMFLAGS and multiple invocations of AC_CONFIG- _MACRO_DIRS, where the first directory is always selected. Previous releases took the first ACLOCAL_AMFLAGS argument, but the last invocation of AC_CONFIG_MACRO_DIRS. - The libtoolize program now advises use of the new Autoconf AC_CONFIG_MACRO_DIRS declaration. If you follow that advice, all your developers will need at least autoconf-2.70 and automake-1.13 to rebootstrap your probject. If you still need to support bootstrap with older Autotools, then you should add the following to your configure.ac file: m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) - Overhead of probing for a non-backslash crippled echo equivalent during initialization of every script has been removed in favor of trusting that "printf %s\n" works out of the box on all non-museum host architectures. Manually setting ECHO appropriately in the build environment will be necessary on some ancient architectures. ** Changes in supported systems or compilers: - Support for bitrig (*-*-bitrig*). - Solaris 7 and earlier requires ECHO=/usr/ucb/echo in the build environment, to build and use libtool. New in 2.4.2 2011-10-17: git version 2.4.1a, Libtool team: * New features: - The --with-pic configure option now supports a list of comma-separated package names. This can be used to build some static libraries with PIC objects while building others with non-PIC objects. - Initial support for Go, using the gccgo compiler. - On Mac OS X .dylib is now tried as well as .so with lt_dlopenext(). * Bug fixes: - The generic approximation of the command line length limit (when getconf is not available) works again. Regression introduced in v2.2.6-39-g9c3d4d8. - The bug that leaked developer tool paths into the release tarballs from ./bootstrap is fixed. - Improved support for the Cuda Compiler Driver (nvcc) on Darwin. - For GCC LTO support, the -fuse-linker-plugin switch is now also removed when computing compiler postdeps. * Important incompatible changes: - The undocumented hardcode_libdir_flag_spec_ld tag variable has been removed in favor of using hardcode_libdir_flag_spec with $wl set to empty. * Changes in supported systems or compilers: - Fixes for gfortran on Darwin, XL Fortran on GNU/Linux. - Support for FreeBSD 1.x (outdated since 1994) has been removed. New in 2.4 2010-09-22: git version 2.2.11a, Libtool team: * New features: - Sysroot support. This allows you to build cross-compiled packages with the same prefix that will be used on the destination machine, and still find dependent libraries under the compiler's "sysroot". Without sysroot support, paths internal to the build system may leak into the product of the build. Sysroot support is disabled unless the --with-sysroot configure option is passed to configure, because .la files generated with sysroot support will _not_ be usable in general with older Libtools. - On non-cygwin Windows systems, we now lookup potential library file names without regard to file name case. - The old testsuite now uses the 'parallel-tests' Automake test driver now for more concurrency and better test logging. For this, tests are run in verbose mode by default now. * Important incompatible changes: - Autoconf 2.62 and Automake 1.11.1 or newer are now required for bootstrapping Libtool. For using Libtool in your own projects, Autoconf 2.59 and Automake 1.9.6 should still work. - The fix_srcfile_path variable has been replaced by a more thorough mechanism triggered by the to_tool_file_cmd variable. * Changes in supported systems or compilers: - Initial support for the Microsoft C/C++ Compiler, with help from the compile script in unreleased Automake 1.12. Override the manifest tool used to embed the manifest resource through the environment variable MANIFEST_TOOL. Please note that the import library naming has changed (from foo-2.lib to foo.dll.lib) from when the code lived in its own git branch. - Initial support for the NAG Fortran compiler on GNU/Linux. * Bug fixes: - The 'check-interactive' and 'check-noninteractive' convenience make targets now also work for the old testsuite. - Warnings from Autoconf v2.67-36-g1e604ec about incomplete programs passed to AC_*_IFELSE tests have been fixed. - On IRIX, the test for -Wl,-exported_symbol now also works with gfortran. New in 2.2.10 2010-06-10: git version 2.2.9a, Libtool team: * New features: - On non-cygwin Windows systems, we no longer try to lookup the POSIX format path recorded in $libdir of a pseudo-library when looking up the location of the library with the native tools. New in 2.2.8 2010-06-05: git version 2.2.7c, Libtool team: * No new features: - Bumped version number and promoted 2.2.7b release candidate to a full stable release. New in 2.2.7b 2010-05-20: git version 2.2.7a, Libtool team: * New features: - Libtool ships and installs man pages for libtool and libtoolize now. - New libtool command line flag --help-all. - New libtool command line flag --no-silent (with alternate spelling --no-quiet). This flag (re)enables the default informational messages, but has no effect on so-called "verbose" output messages. - New libtool command line flag --no-verbose, which disables only the extra "verbose" output messages and has no effect on the default informational messages. - New convenience make targets 'check-noninteractive' to avoid long testsuite runs on Windows with popup windows in the middle, and 'check-interactive' for the complement set of tests. - New link mode flag -bindir to specify the location for installed PE DLLs. - Wrapper scripts and wrapper executables for programs linked against uninstalled shared libraries now support command-line options --lt-debug and --lt-dump-script. * Important incompatible changes: - The wrapper command line option support described above introduces the following incompatibility: the wrapper will remove any command line options that begin with '--lt-*' from the argument list before launching (uninstalled) programs. Any '--lt-*' option on the command line not recognized by the wrapper will result in an error. - The type of the symbol lists variables (lt_*_LTX_preloaded_symbols) has been fixed in the manual and in a couple of tests to match the actual implementation. * Changes in supported systems or compilers: - Improved support for 64bit Windows (mingw64). - Improved support for cegcc (Windows CE/PocketPC). - Support for GNU/kOpenSolaris (kopensolaris*-gnu). - Initial support for compilers on BlueGene BG/P. - Improved support for Atari FreeMiNT. - With binutils 2.19.50+, shared libraries can be built on AIX. - Initial support for the Cuda Compiler Driver on GNU/Linux. - Support for Haiku (i586-pc-haiku). - Initial support for GCC link-time optimization (LTO) flags. * Bug fixes: - Fix 2.2.6 regression that prevented using the libltdl macros together with Autoconf 2.59 ('possibly undefined macro: LT_LIBEXT'). - Fix 2.2.4 regression that caused arguments with special characters to be mangled by the compile wrapper for uninstalled programs on MinGW. - libtool command line flag --verbose now also enables explicit verbose output, in addition to its previous behavior of (re)enabling only the default informational output. See New Features, --no-silent. - Link tests are guarded by cache variables so they can be avoided for bootstrapping purposes (e.g., when link tests are not possible). - Argument mangling of execute mode has been improved (i.e., lessened). - Fix 2.1b regression that caused nm to not be the default name lister. The regression affected mainly (arguably broken) cross compiles. - Fix long standing bug that caused compiler checks for Fortran and C++ compilers to run twice. - Link mode works around a parallel build failure on Darwin 9.6.0 due to the 'ar' 'flock'ing an archive upon extraction, by protecting the extraction of convenience archives with a lock. - The Libtool macro files do not contain instances of __oline__ any more, easing merges for configure scripts that are added to version control. - Fix ancient bug where "-Wc," was turned into "$wl" (typically "-Wl,") when using the compiler driver to link programs. Now "-Wc," is stripped just as it is when linking libraries through the compiler driver. - Symbol versioning works with the GNU gold linker now. - Fixes for detection of shared library dependencies on MinGW systems. - Fixed Sun compiler detection on Solaris with sunCC, sunf77 etc. names. * Miscellaneous changes: - The manual is distributed under the terms of the GNU FDL 1.3 now. New in 2.2.6 2008-09-05: git version 2.2.5a, Libtool team: * New features: - New lt_dloadvise_preload() call to set a hint that only preloadeded modules can be opened. - libtoolize no longer removes config.guess and config.sub, even when --install is passed. * Changes in supported systems or compilers: - Fixes for ifort on Darwin, and newer Intel compilers (icc 10, ifort 9) on GNU/Linux. - Fixes for cwrapper (cygwin/mingw) under -stdc=c99. - Support cross compile of MinGW with Wine. - Initial support for cegcc (Windows CE/PocketPC) cross compilation. - Initial support for lf95 (Lahey Fortran 8.1) on GNU/Linux. * Bug fixes: - Several testsuite issues have been fixed, thanks to user feedback. - Fix 2.2 regression that caused argz symbols to be exported from libltdl unrenamed on systems that do not have working argz. - Revert "lt_dlopen(NULL) works on AIX again.". It was not the correct fix. - Diagnose '-L' arguments correctly. - Libtool no longer tries to open devices as files in execute mode. - Libtool no longer removes *.gcno profile information from GCC. New in 2.2.4: 2008-05-04: git version 2.2.3a, Libtool team: * New features: - New libtoolize option --no-warn, for users that want to continue to use old libtool style without being nagged. - Options --debug, --no-warn, --quiet and --verbose can be passed to libtoolize through the environment variable LIBTOOLIZE_OPTIONS, for cleaner interaction between the user and libtoolize when called by autoreconf. * Bug fixes: - The documentation for lt_dlopenadvise showed the wrong type for the lt_dladvise parameter. - The public declarations for lt_dlhandle and lt_dladvise are now incomplete struct types rather than void*, which means that nearly all casting is eliminated allowing the compiler to provide more type checking. - libtoolize no longer reports up-to-date files that it would have copied, unless --force is passed. - No longer reports that lt~obsolete.m4 needs to be added to aclocal.m4 when it is already there. - When 'aclocal' copied the libtool macros directly into 'aclocal.m4' (i.e. AC_CONFIG_MACRO_DIR is not being used), libtoolize no longer reports that all macros need to be added to 'aclocal.m4', and diagnoses only the macro files that are missing or not up-to-date. - libtoolize now advises use of AC_CONFIG_MACRO_DIR to keep matching libtool macros in-tree where appropriate. - libtoolize now advises use of 'ACLOCAL_AMFLAGS = -I m4' (or equivalent) where appropriate, and errors out when ACLOCAL_AMFLAGS names a different directory to AC_CONFIG_MACRO_DIR. New in 2.2.2: 2008-04-01: CVS version 2.2.1a, Libtool team: * New features: - In compile mode, compiler output occurs in the user locale. This feature has been present in 1.5.26 but not in 2.2. * Changes in supported systems or compilers: - Initial shared library support for AmigaOS4 on powerpc. * Bug fixes: - Fix 2.2 regression in libltdl that causes memory corruption upon repeated 'lt_dlinit(); lt_dlexit()'. - Fix 2.2 regression in libltdl that skipped the dlopen loader if the system also supports other loaders (e.g., Cygwin, HP-UX). - Fix 2.2 regression in that 'libtool --mode=execute CMD ARGS' does not transform ARGS that do not look like shell or C wrappers of libtool programs. - Fix 2.2 regression that kept cross-compiling to w32 from working. - Several testsuite issues have been fixed, thanks to user feedback. New in 2.2: 2008-03-01; CVS version 2.1c, Libtool team: * Bug fixes: - argz.c, lt__dirent.c and lt__strl.c are correctly distributed with parent projects using nonrecursive libltdl. - libtoolize no longer tries to install libtool files when libltdl is used in a non-autoconf parent package. - Don't add the CXX tag to libtool when there is no C++ compiler, even if AC_PROG_CXX sets a default g++ compiler where no such compiler actually exists. - make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install works again. New in 2.1b: 2008-02-01; CVS version 2.1a, Libtool team: * Important incompatible changes and obsoleted features: - Removed deprecated APIs from libltdl: lt_dlcaller_register, lt_dlhandle_next, lt_dlhandle_find, lt_dlforeach, lt_dlmutex_register, lt_dlmutex_lock, lt_dlmutex_unlock, lt_dlmutex_seterror, lt_dlmutex_geterror, lt_dlmalloc, lt_dlrealloc, lt_dlfree. - The Libtool and libltdl macros and the testsuite now assume a C89 environment, consequently do not test for headers such as string.h, strings.h, memory.h any more. - Fix regression in libltdl symbol exports on Cygwin. Side effect: LT_GLOBAL_DATA and LT_SCOPE are now explicitly defined as declspec(dllexport), bypassing auto-export logic on Cygwin. This tracks existing behavior on MinGW. - The libtool script has been optimized a bit for more modern shells. This breaks use of the stdin file descriptor in libtool, and can break if a different shell is used to execute the libtool script than the one it was configured for. - The macros AC_ENABLE_SHARED, AC_DISABLE_SHARED, AC_ENABLE_STATIC, and AC_DISABLE_STATIC have been un-deprecated after deprecation in 1.9b. - The macro LT_WITH_LTDL has been renamed to LTDL_INIT. - Fixed a branch-1-5/HEAD regression to only link uninstalled libraries statically with '-static'. In order to compensate for this, there is a new link flag '-static-libtool-libs' to provide the previous '-static' semantics. * New features: - Fix installation of libltdl so that it does not need Autoconf and Automake installed, in order to be usable in another package. This lifts the restrictions introduced in 1.9b. - Default convenience or installable libltdl builds can optionally be declared using new 'convenience' or 'installable' options to the LTDL_INIT macro (as an alternative to individual LTDL_CONVENIENCE or LTDL_INSTALLABLE invocations). - New configure-time options to allow libltdl parent project builder to choose between installed and shipped libltdl, when invoking LTDL_INIT: --with-included-ltdl, --with-ltdl-include, --with-ltdl-lib. - New LT_CONFIG_LTDL_DIR macro to specify a different directory name for a convenience libltdl. - libtoolize has been completely overhauled. - 'libtoolize --install' now also installs 'install-sh'. - New libtoolize options: --non-recursive, --recursive, --subproject. These options control the way libltdl is installed into a package by libtoolize. The new recursive and non-recursive build modes for libltdl don't require a subconfigure any more. The Libtool package itself builds libltdl nonrecursively. - The 'nonrecursive', 'recursive' and 'subproject' libltdl build modes are given as LTDL_INIT options. - New make variable LTDLDEPS for use in output_DEPENDENCIES. - New multi-module-loader safe libltdl handle iteration APIs: lt_dlhandle_iterate, lt_dlhandle_fetch, lt_dlhandle_map. - New lt_dlinterface_register to maintain separation of concerns between modules loaded by different libraries. - New lt_dlopenadvise takes a new lt_dladvise type argument, which lets the caller request local or global symbol visibility from the module loader with lt_dladvise_local and lt_dladvise_global respectively. If neither is given, or if lt_dlopen (or lt_dlopenext) are called, then the system default module symbol visibility is used. - The new lt_dladvise_init/lt_dladvise_destroy based APIs also allow caller requests for a filename extension search with lt_dladvise_ext, and for marking a module unloadable with lt_dladvise_resident. - Allow shell special characters like '$' in source file names, but not in object names, to enhance GCJ support. - An entire new Autotest-based testsuite in addition to the old one. Both testsuites have been made more useful for testing cross-compilers. The new testsuite exposes many more issues, but may also be a little rocky on exotic systems. - In 1.9b, a new variable inherited_linker_flags has been added to the libtool library files. This variable takes flags that should be used by dependent libraries and programs, but that do not fit into 'dependency_libs' for both clarity and backward-compatibility. * Changes in supported systems or compilers: - Removed bitrotted support for xlc on Mac OS X. - Detection of compiler wrappers distcc/ccache and $host_alias prefix. - Basic support for PIE (position-independent executables). - Support for DragonFly BSD, improved support for FreeBSD. - Improved support for GNU/kFreeBSD and GNU/NetBSD. - Support for Interix 3 (Windows SFU) and newer versions. - Support for AIX 6.1. - Improved support for UnixWare. - Initial support for RDOS. - Initial Support for FC (modern Fortran). - Support for Portland Group compiler, the Sun compiler suite on GNU/Linux, and initial support for the IBM compiler suite on GNU/Linux/ppc. - Support for linux-dietlibc ('diet' as well as 'diet-dyn', separately). - Building libltdl with a C++ compiler has been undusted. - On (AIX?,) HP-UX, and OpenBSD, hardcoding has been changed to prefer rpath over absolute dependent library names. This fixes DESTDIR installs, among others, on the non-HP-UX/PA systems. - Use of C++ templates together with shared libraries has been improved on some systems and with some compilers, but is still ongoing work. Feedback is desirable here. * Bug fixes: - Fix libltdl on static platforms. - Search paths with GCC on multilib systems like x86_64 have been fixed. - Fixed a regression that prevented use of libltdl without autotools. - Fix error with -version-info on systems with version_type=none, such as BeOS. - Fix symbol exporting for cases where command line length limits are exceeded. - Improve linking with C++ libraries on Solaris with Sun compiler. - Fix installation of libraries that are required by installation commands such as 'ln' or 'rm'. - More robust parsing of mangled '.la' files inside libltdl, fixing a possible overrun and a crash due to memory exhaustion. - Fix compile command line for gcj on MinGW. - Some configure variables have been renamed to fix caching: lt_prog_compiler_pic_works to lt_cv_prog_compiler_pic_works lt_prog_compiler_static_works to lt_cv_prog_compiler_static_works. - Fix 1.9b regression: lt_dlopen(NULL) works on AIX again. - Loads of smaller bug fixes. New in 1.9f: 2004-10-23; CVS version 1.9e, Libtool team: * Fix a regression in 1.9d, where ECHO was always set to 'echo' and the backslash quoting tests were never run. * Fix a regression in 1.9d, where progpath was used for --no-reexec before it was set. * Fix a regression in 1.9d, which required an installed automake to build the bootstrapped tarball. * Fix hanging bug on MinGW. New in 1.9d: 2004-10-03; CVS version 1.9c, Libtool team: * If non-pic objects were not compiled, and libtool is called in link mode, libtool no longer silently creates an empty archive, but rather falls back to pic objects. * When compiling C glue code with $LTCC, libtool now saves the setting of $compiler_flags from the C tag, and passes those flags to $LTCC. * libtool no longer dies when concurrently creating directories with 'make -j' on multi-processor hosts. * Return type, and name parameter of lt_dlloader_remove are no longer 'const'. * Name parameter of lt_dlloader_find is no longer 'const'. * The API for the slist ADT has been updated: slist_new has been replaced by slist_box; slist_unbox and slist_sort are new; the footprint of slist_remove and slist_fnid have changed; SListCallback and SListCompare types have been exchanged. See libltdl/slist.c for documentation. * libltdl is C89 compatible again. lt_dlsymbol type removed, and lt_dlsymlist structure changed to avoid using C99 flexible arrays. * Support self dlopening for executables on cygwin and mingw. * Improved support for linux-gnu/ia64. * Initial support for s390x-ibm-tpf. * Fixed some memory leaks in libltdl. * Improved support for OpenBSD (use rpath instead of hardcoding absolute file names). New in 1.9b: 2004-08-29; CVS version 1.5a, Libtool team: * The /^_?LT_[A-Z_]+$/ namespace is now reserved for Libtool's own macros. If you have any shell variables in this namespace they will need to be renamed. If you have any macros in this namespace please rename them to prevent any possible future clash with libtool supplied macros. * New LT_PREREQ macro for specifying minimum libtool requirement. * New LT_INIT interface replaces AC_PROG_LIBTOOL, AC_ENABLE_SHARED, AC_DISABLE_SHARED, AC_ENABLE_STATIC, AC_DISABLE_STATIC, AC_ENABLE_FAST_INSTALL, AC_DISABLE_FAST_INSTALL, AC_LIBTOOL_DLOPEN, AC_LIBTOOL_WIN32_DLL and AC_LIBTOOL_PIC_MODE. Use autoupdate to modernise your configure.ac files after installing this release. * New LT_LANG interface to enable libtool support for a specific language. * Language support is now only included if your configure.ac enables it, either through a call to AC_PROG_CXX etc. or LT_LANG. * The libtool script will complain if it was built from mismatched ltmain.sh and libtool m4 macro versions. * Like automake, libtoolize no longer installs config.guess and config.sub by default. Use new --install option to get the old behaviour. * libtoolize no longer supports the --ltdl-tar option. * libtool script is now created by config.status. Instead of interrogating './libtool' from configure.ac after calling AC_PROG_LIBTOOL, use the variable names directly. * libltdl is no longer a self-contained package, and shares configury with the top level directory now. * Shared objects (.lo) are no longer created when '-static' is passed in compile mode. * New compile mode option '-shared' prevents creation of static objects (.o). * New link mode option '-shared' creates only shared libraries at link time. * If you configure libtool with --disable-shared (or if libtool does not support shared libraries on your platform) trying to build a library using '-shared' is a fatal error. * New link mode option '-weak' tells libtool when not to propagate dependency libraries from dlpreopened modules. * libtoolize installs libtool.m4, (ltdl.m4 if used,) and various supporting m4 definitions to AC_CONFIG_MACRO_DIR. * Mode inferrence removed, shorthand for choosing modes added. * Specifying -allow-undefined is now an error. * Speed up max_cmd_len check. * libltdl can now preopen modules from within a library, and libtool will accept -dlpreopen options when linking either a shared library or a convenience library. * New function in libltdl: lt_dlhandle_find provides access to module handles by module name. * New function in libltdl: lt_dlpreload_open opens all preloaded modules. * libltdl no longer loads shared libraries with global symbol resolution, this caused problems when the symbols were intended to be overriden further up the stack; it is also not recommended practice. * New function in libltdl: lt_dlhandle_first, primes handle iterations (using lt_dlhandle_next) to filter by module interface. * libltdl no longer tries to support multi-threaded programming with lt_dlmutex_register(), which was unusable with POSIX threads anyway. The symbols are deprecated but exported for backwards compatibility. * libltdl no longer uses lt_dlmalloc, lt_dlrealloc and lt_dlfree. The symbols are still exported for backwards compatibility. * The lt_dlinfo struct has a new module field that can be used by dlloaders. * libltdl no longer supports pre-c89 compilers. Some of the pre89 portability functions had compile time bugs in them anyway, so you guys can't have been using it :-) * make install now deletes preexisting $prefix/share/libtool before installing latest files. * Extracting symbols from an import library on cygwin and win32 now works. * Initial support for amigaos-ppc. * Improved support for OpenBSD. * Support for Intel C++ version 8.0. * New support for IBM's xlc and xlc++ on Mac OS X. * Finished support for QNX RTOS. * Bug fixes. New in 1.5.8: 2004-08-07; CVS version 1.5.7a, Libtool team: * Support for Intel C++ version 8.0. * Improved support for OpenBSD. * Support for xlc on Mac OS X. * Better support for zsh as /bin/sh. * Much faster check for command line length on all BSD systems. * Better Mac OS X/darwin support. * Bug Fixes. New in 1.5.6: 2004-04-11; CVS version 1.5.5a, Libtool team: * Installs libltdl files properly in $prefix/share/libtool/libltdl. 1.5.4 did not install them at all. * libltdl correctly guesses the extension for loadable modules again. New in 1.5.4: 2004-04-03; CVS version 1.5.3a, Libtool team: * Bug fixes. New in 1.5.2: 2004-01-25; CVS version 1.5.0a, Libtool team: * lt_dlrealloc is an official part of the libltdl API. * --tag, --silent and --debug options are preserved and reused when libtool calls itself for relinking etc. * '-pthread' and similar options are honoured when linking shared libraries. * -no-suppress in compile mode shows compiler output for both PIC and non-PIC object compilation. * New link mode option '-precious-files-regex' to prevent accidental removal of files you want to keep, such as test coverage data, from the temporary output directory. * Directories specified in /etc/ld.so.conf are no longer hardcoded on GNU/Linux. * Recognises the 'R' symbol type on Solaris so read-only symbols can be exported. * Bug fixes. New in 1.5.1: 2003-??-??; CVS version 1.5.0a, Libtool team: * lt_dlrealloc is an official part of the libltdl API. * Bug fixes. New in 1.5: 2003-04-14; CVS version 1.4e, Libtool team: * First stable release of multi-language architecture. * libtool and libltdl support for Mac OS/X. * libltdl will now use cygwins dlopen API instead of always forcing LoadLibrary. * Support auto-import patch to binutils on cygwin for much improved dll support. * Bug fixes. New in 1.4.3: 2002-10-13; CVS version 1.4.2a, Robert Boehne: * The libltdl subdirectory now bootstraps correctly with Automake 1.5. * srcdir != builddir builds with Automake 1.5 work correctly. * Support for mips-compaq-nonstopux. * New command line argument, --preserve-dup-deps prevents removal of duplicate dependent libraries. New in 1.4d: 2002-01-07; CVS version 1.4c, Libtool team: * Help strings display correctly again. * Better error messages when library linking fails. * Better error messages from libltdl when loading fails. * Better search path management in libltdl with 'lt_dlinsertsearchdir' call. * Support /lib/w32api in recent cygwin releases. * Support cross compilation to mingw. * Support for .rc files (Windows resource compiler). * Improved handling of mingw gcc. * Improved handling of $PATH with entries containing spaces. * Improved support for linking with gcc on aix4* and aix5*. * Improved support for GCC 3.0. * Initial support for QNX RTOS, UnixWare 7 and OpenUNIX 8. * Bug fixes to the OpenBSD port. * Bug fixes. New in 1.4.2: 2001-09-11; CVS version 1.4.1a, Gary V. Vaughan: * libltdl now builds on solaris again * diagnose and warn about not-quite-working combinations of gcc and ld on solaris. * Improved OpenBSD support. * Improved cygwin support. * Bugfixes. New in 1.4.1: 2001-09-03; CVS version 1.4.0a, Libtool team: * Better error messages from libltdl when loading fails. * Don't leave here-doc files behind. * Improved support for OpenBSD. * Libtool will build with autoconf-2.50 and higher. * Plug memory management bugs in libltdl. * Prefer shl_load to dlopen for better operation on HP-UX. New in 1.4b: 2001-07-09; CVS version 1.4a, Libtool team: * Now bootstraps with autoconf-2.50 and automake-1.4-p4. * Always try to build at least a static lib, even if both static and shared libs were disabled. * Full support for C++ compiler. * Support for GNU gcj compiler. * libltdl can now load all modules in a given path according to user supplied criteria with 'lt_dlforeachfile' call. * Improved support for AIX ia64, djgpp, HPUX, hurd, OpenBSD, sco3.2*. * Internal mutex handling no longer has namespace clashes on NCR MP-RAS. * New pdemo and tagdemo tests. * Bug fixes. New in 1.4: 2001-04-25; CVS version 1.3e, Libtool team: * Support for aix5*. * Bugfixes. New in 1.3d: 2001-04-02; CVS version 1.3c, Libtool team: * ltconfig is no more. Generation of libtool happens directly from the configure file. * Multithread safe with lt_dlmutex_register callback registration. * New -no-install flag to avoid the use of executable wrapper scripts. * New --with-pic, -prefer-pic and -prefer-non-pic flags to control the generation of PIC/non-PIC code. * Support for hardcoding run-time paths (-R) into libraries. * Support -dlopen and -dlpreopen for libraries. * Libtool now allows you to link shared libraries against static code. * New functions in libltdl: lt_dlgetinfo, lt_dlhandle_next and lt_dlforeach provide access to module specific data in handles. lt_dlcaller_register, lt_dlcaller_set_data and lt_dlcaller_get_data provide management for user storage of per module data. lt_dlloader_next, lt_dlloader_name, lt_dlloader_find, lt_dlloader_add and lt_dlloader_remove can be used for adding new types of module loaders. lt_dladderror, lt_dlseterror integrate user module loaders with lt_dlerror. * "-Xcompiler" and "-Wc," does now work in compile mode, too. * Support recent dlltool formats. * Start of support code for cross-compiling to win32. * libltdl can now be built as a dll with win32. * m4 macros needed to configure libltdl split out into libltdl/ltdl.m4. * New port to NEWS-OS Release 6. * Improved support for darwin (rhapsody), mingw32, NetBSD, Compaq Tru64 V5.0 and Digital Unix V4.*. * Initial support for ia64 linux. * Initial support for a.out freebsd shared libs. * Initial support for Paul Sokolovsky's pw32 POSIX over win32 layer. * Many bugfixes (especially in libltdl) New in 1.3b: 1999-07-02; CVS version 1.3a, Libtool team: * Complete inter-library dependencies support. It's now possible to link libtool libraries against other libtool libraries. * Libtool is able to find already-installed libtool libraries, even if they were moved out of their installation directory. * New "-Wc,flag" and "-Xcompiler flag" flags to pass flags directly to the compiler * New "-Wl,flag" and "-Xlinker flag" flags to pass flags directly to the linker * New "-no-fast-install" flag to selectively disable fast-install mode. * Support for installing stripped libraries using GNU strip (install -s). Automake >= 1.5 will install stripped libraries with "make install-strip". * Allow linking shared libraries against static ones on FreeBSD, GNU/Linux, GNU Hurd and Solaris * Support for linking DLLs on Win32 * New 'clean' mode to delete uninstalled files. * New demos and tests * Various bugfixes New in 1.3.5: 2000-05-27, CVS version 1.3.4a, Libtool team: * Support for mac OS X (rhapsody). * Support for *-sequent-sysv4. * Support for Cygwin-1.1.0. * Support recent dlltool formats. * Bugfixes. New in 1.3.4: 1999-12-08, CVS version 1.3.3a, Libtool team: * Support for Compaq Tru64 V5.0. * Improved support for Digital Unix V4.*. * Improved support for NetBSD, FreeBSD and Unixware. * Many fine bugfixes. New in 1.3.3: 1999-07-02, CVS version 1.3.2a, Libtool team: * New '-dlpreopen force' flag to ensure that lt_preloaded_symbols is always defined. * Work around self-dlclose bug in FreeBSD 3.1. * Expand convenience libraries when creating reloadable objects. * Do not forget to import -L flags of convenience libraries. * Do not pass -whole-archive or equivalent to symbol extractor. * Create directory to expand convenience libraries only when needed. * Improved support for Cygwin, DJGPP and NetBSD * Various bugfixes New in 1.3.2: 1999-05-26, CVS version 1.3.1a, Libtool team: * Avoid circular links of objects and libraries. * Look for dlerror when dlopen was found in -ldl (typo). * Disable shared libraries with broken GNU ld on Solaris. New in 1.3.1: 1999-05-21, CVS version 1.3.0a, Libtool team: * Documentation improvements; recommend automake users to insert libtool.m4 in acinclude.m4 * AC_LIBLTDL_CONVENIENCE and AC_LIBLTDL_INSTALLABLE now set INCLTDL. * New port to NEC UX/4800. * cygwin-b20.1 passes all tests. * Slightly improved BeOS support. * Many AIX 4.3.2 test failures have gone. * Pass unknown -L arguments through to the linker (for -LANG:* support). * Close a security hole with mode 777 directory during libltdl installation. * Fixed the infamous 'ifelse' bug in libtool.m4 New in 1.3: 1999-04-29, Libtool team: * This is just a summary of the changes since 1.2. See the news of intermediate alpha releases below for details. * Support for convenience archives. * New maintainers. Anonymous CVS and home page at gnu.org. * Portable dlopening interface with libltdl, new -module flag. * Correctly link installed libtool libraries into programs and other libtool libraries. Linking of uninstalled libtool libraries into libraries is under development for 1.4. * Do not drop library dependencies on platforms that allow them. * Linking with uninstalled libraries no longer picks installed ones by mistake. * Use libraries from the build tree when running uninstalled executables (may require double linking). * Allow developers to optimize for build-tree executions. * Support -export-symbols-regex for controlled symbol exporting. * Support -R to hardcode directories in library search paths. * New ports, demos and tests. Lots of improvements and bug fixes. New in CVS version 1.2g, Libtool team: * AM_PROG_LIBTOOL is smaller and faster * AC_LIBTL_L_WIN32_DLL is required in configure.in for libtool to attempt to build dlls on win32 hosts * Shared libraries on AmigaOS up to version 4 are now disabled since they don't meet libtool's requirements for shared libraries * -L supports now relative directories * Libltdl has a new license: LGPL with a special exception * Libltdl can be used as stand-alone package * dlopen support for BeOS * Partial support for Motorola System V 4 * Improved support for AIX, BeOS, Cygwin, DJGPP, DU, IRIX and HP/UX * Documentation updates * New tests * Bugfixes New in 1.2f: 1999-03-15; CVS version 1.2e, Libtool team: * libtool will correctly link uninstalled libraries into programs and prefer uninstalled libraries to installed ones * Library paths that are in the system default run-time search path are no longer hardcoded into executables. * New fast installation mode, which links the final executable in order to avoid relinking during installation. Programs in the build-tree are relinked when executed. * New AC_DISABLE_FAST_INSTALL macro to set the default for the fast-install mode to disabled * New -export-symbols-regex flag, to export symbols selectively by a regular expression * Support -R for specifying run-time path of programs and library dependencies * New -avoid-version option to avoid versioning for libraries * libtool module names no longer need to have a "lib" prefix (requires automake 1.4). * New -thread-safe flag, to build thread-safe libraries * Major improvements in libltdl: API documentation, installable version, support for module search paths, support for lt_dlopen(0), can be embedded into packages as a tar file (libltdl.tar.gz), dynamic buffer allocation and buffer overflow checks, new macro LTDL_SET_PRELOADED_SYMBOLS() which must be used in the main program, dynamic memory allocation functions are user-defineable * New AC_LIBLTDL_CONVENIENCE and AC_LIBLTDL_INSTALLABLE macros, to select convenience and/or installable versions of libltdl. * libltdl is now built and installed unless --disable-ltdl-install * New "-dlopen self" flag for dlopening the executable itself * New AC_LIBTOOL_DLOPEN macro to check for dlopen support, required if you use -dlopen or -dlpreopen * If libtool could not satisfy all dependencies of a module it will only build a static version of it * dld_preloaded_symbols was renamed to lt_preloaded_symbols * Support for BeOS * Improved support for FreeBSD, AIX, IRIX, OSF, SysV 4.3, HP/UX, DJGPP BSD/OS 4.x and NetBSD * In order for libtool to attempt to link a shared library (dll) on win32 platforms, you must pass the -no-undefined flag to libtool in link mode. * The path to GNU ld now works on cygwin-b18 to cygwin-b20.2 at least. * Support for IRIX library versioning. * New demos and tests * Various bugfixes New in 1.2d: 1998-12-16; CVS version 1.2c, Libtool team: * libtool will correctly link already-installed libraries into programs. * New -module flag, to create loadable modules. * New libltdl, a small library for portable dlopening of modules. It is still undocumented, but you can already find some examples in: * New mdemo directory, with tests of -module and dlopening examples. Be aware that libltdl is only known to work on a few platforms such as GNU/Linux and Solaris2. Some mdemo tests are known to FAIL on several other platforms; please ignore these failures by now (or work to fix them :-). * Inter-library dependencies patch finally integrated, but there's still much porting to do. See PORTING for details (some plans for the future in mail/deplibs in the CVS tree). * New option -export-symbols to control symbol exporting when possible. * Fixed -export-dynamic problem with C++ programs in egcs 1.1. * New dlpreopen structure. * libtool now supports '-c -o' and subdirectories in sources and target object names even in platforms whose compilers do not support this. In this case, file locking occurs to avoid problems with parallel builds. * New 'echo' variant that should fix most problems with long command lines and broken printf programs. * Support for DG/UX, UnixWare 7.x and FreeBSD 3.0, and improved support for Microsoft Windows * Various bugfixes * We now have anonymous CVS access to GNU libtool. CVSROOT is :pserver:anoncvs@anoncvs.gnu.org:/gd/gnu/anoncvsroot. The password is empty. The directory is libtool. Check our home-page at http://www.gnu.org/software/libtool/libtool.html for details. * Alexandre Oliva, Thomas Tanner and Gary V. Vaughan have taken over the maintenance of libtool. * Arguments to ltconfig have been changed to allow creation of a libtool C program, totally unusable as of this release. New in 1.2b - 1998-07-01, Gordon Matzigkeit: * Libtool needs a new maintainer, since Gordon Matzigkeit has quit. If you think you can do the job, send mail to bug-libtool@gnu.org. * Bug fixes. * Support for libtool convenience archives. New in 1.2a - 1998-04-19, Gordon Matzigkeit: * Bug fixes. * ltconfig accepts an '--output' option to specify the name of the generated libtool. * New '--debug' flag to turn on shell script tracing for libtool, libtoolize, and ltconfig. * Added 'libtool --config' to print out all configuration variables. * Support for *-*-hpux11*. New in 1.2 - 1998-03-20, Gordon Matzigkeit: * Minor bug fixes to provide a stable public release. * Libtool no longer cseses Solaris printf to barf due to silly 2110-byte static buffers. New in 1.1 - 1998-03-08, Gordon Matzigkeit: * Bug fixes. * http://www.profitpress.com/libtool/ is libtool's homepage. * 'AM_PROG_LIBTOOL' supports turning shared or static libraries off with the '--enable-shared=PKGS' and '--enable-static=PKGS' configure flags. See (libtool)AM_PROG_LIBTOOL. * Use the 'AM_DISABLE_SHARED' or 'AM_DISABLE_STATIC' macros if you wish to modify the default behaviour of 'AM_PROG_LIBTOOL' for your package. * New rules for 'AM_PROG_LD' to use gcc's '-print-prog-name' flag in order to find ld, if possible. * Suppress duplicate compiler output during 'compile' mode. * Deleted 'dlname' mode. Dlopen applications should only use the runtime search method described in (libtool)Finding the dlname. * Experimental support for dynamically loaded modules, even on static-only platforms, via new '-dlopen' and '-dlpreopen' link flags. * 'compile' mode honours the '-static' flag to prevent libtool from building PIC objects. * New 'execute' mode to support debugging uninstalled libtool libraries and executables. * '-allow-undefined' is now the default. You can use '-no-undefined' to declare that a shared library is completely self-contained. * Inter-library dependencies are automatically handled when linking against an uninstalled '.la' file. * New '-all-static' flag to prevent any dynamic linking. The regular '-static' flag now just prevents dynamic linking of libtool libraries. * New '-release' flag to encode release numbers into libtool libraries. This breaks binary compatibility, but is useful for libraries whose interfaces change very frequently. See (libtool)Versioning. * The '-rpath' flag can be used to hardcode absolute directories when linking executables using libtool. * New robust quoting code to handle any metacharacters passed in arguments to libtool commands. * Full support for broken collect2 on AIX 3. Shared libraries can now be built with all working versions of GCC on AIX. * Shell script speed optimizations for old and buggy /bin/sh systems, such as HP-UX 9 and SunOS 4.1.4. * Maybe use '_libs' as a temporary libtool directory instead of '.libs' in order to cope with MS-DOS filenames. * Portability fixes for Windows NT. * Refuse to create libtool libraries that don't begin with 'lib'. This allows us to correctly handle OSes that don't have the 'lib' prefix by default, such as OS/2. * Support for *-*-amigaos*, *-*-os2*, *-*-sysv4.2uw2*, and *-*-uts4*. New in 1.0 - 1997-07-08, Gordon Matzigkeit: * Bug fixes. * Better configuration test to find the system linker. The old test was failing because people frequently install GNU ld, but don't necessarily configure GCC to use it. * Automake support for Libtool now uses the LTLIBRARIES primary. See the Automake documentation for more information. * Added new '--disable-static' flag to disable building static libraries on platforms that have shared libs. * New '-allow-undefined' link flag to build shared libs that contain references to unresolved symbols. * Removed all support for creating static-only libraries. * Basic support for dynamically loaded modules: new '-export-dynamic' linking flag and corresponding 'dlname' mode. * New '--features' flag to display configured libtool attributes. * Added support for installing libtool objects, both in absolute and relative directories. * Support *-*-linux-gnu* as an alias for *-*-linux*. * Support for *-*-openbsd* and *-*-freebsd3*. New in 0.9 - 1997-02-03, Gordon Matzigkeit: * Bug fixes. * The libtool demo now uses the libm cos(3) function, to demonstrate inter-library dependencies. * The PLATFORMS file has been moved to doc/platforms.texi. New in 0.8 - 1997-01-26, Gordon Matzigkeit: * Bug fixes, and more documentation. * Basic support for other language compilers (C++, Fortran, and preprocessed assembler). * Libtool is now more persistent when linking with the '-static' flag fails. * New test for hardcoding system linkers, to verify that libtool neither creates incorrect binaries, nor takes unnecessary precautions while linking against uninstalled shared libraries. * For clarity, the demo subdirectory no longer uses ansi2knr, and has been rewritten to avoid ANSI-only constructs. * Support for *-*-irix5, *-*-irix6*, and *-*-sco3.2v5*. New in 0.7 - 1996-12-08, Gordon Matzigkeit: * Total rewrite of libtool, along with a new model for library building. * Completely rewritten documentation for the new paradigm. * Sane handling of broken system linkers, such as the ones on AIX and HP-UX. * configure mode is now a separate program, 'ltconfig' * The libinfo helper script has been incorporated into the main libtool program. * Automatic mode guessing, based on the command line. * Full support for Automake 1.2 (including ansi2knr features). * Support to create reloadable objects using link mode. * Support for new '-static' linking flag. * Support for stripping libraries during installation. * Library version information is now passed on the command line, not through a version file. Version 0.6 was never released. New in 0.5: * Disabled install-progs until next version, when it will be correctly implemented. * Clearer library versioning documentation. See (libtool)Versioning. * Renamed gm_PROG_LIBTOOL to AM_PROG_LIBTOOL * Libtool now creates pseudo-objects named foo.lo and pseudo-archives named libfoo.la instead of foo.o and libfoo.a. See the documentation. * libtool compile doesn't interfere with user CFLAGS if they don't conflict with the current objtype. From Karl Berry. * Created new libinfo helper script. * libversion.in files are obsolete -- libtool uses libinfo to read the new LIBINFO files. * Libtool is better at finding its config file and helper scripts. * Support for *-*-gnu* New in 0.4: * Bug fixes and new regression tests * On unsupported configurations, 'libtool configure' demotes OBJTYPES to 'standard' instead of aborting * Added new object type, 't', for tcov(1) support * Support for *-*-aix3*, *-*-aix4*, *-*-hpux10*, *-*-osf3*, and *-*-solaris2* New in 0.3: * Bug fixes and new regression tests * Added new uninstall-libs mode * Added a host argument to configure mode * Fixed debugging/hyper-optimizing flags conflict (from Karl Berry) * Support for --no-whole-archive when needed by GNU ld (from Ulrich Drepper) * Implementation of --enable-linktype, --enable-profile, --enable-shared, --enable-static in gm_PROG_LIBTOOL macro * New 'libtoolize' program (modeled after GNU gettext's 'gettextize') to help conversion to libtool * New ABOUT-LIBS document for inclusion with libtool-supported packages New in 0.2: * Support for *-*-linux * Better checking for GNU ld * Reimplemented the config file so that it corresponds more closely to the variables listed in (libtool)Porting Libtool. * Reimplemented the shared library version scheme. See (libtool)Versioning. * Replaced '--config-file' and '--version-file' options with '--confdir' * Added new install-libs and install-progs modes New in 0.1: * First release of libtool * Support for: *-*-freebsd*, *-*-netbsd*, *-*-sunos4*, *-*-ultrix4* -- Copyright (C) 1996, 1998-2015 Free Software Foundation, Inc. This file is part of GNU Libtool. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without warranty of any kind. usr/share/doc/openssl/NEWS000064400000126205152526404230011417 0ustar00 NEWS ==== This file gives a brief overview of the major changes between each OpenSSL release. For more details please read the CHANGES file. Major changes between OpenSSL 1.1.1j and OpenSSL 1.1.1k [25 Mar 2021] o Fixed a problem with verifying a certificate chain when using the X509_V_FLAG_X509_STRICT flag (CVE-2021-3450) o Fixed an issue where an OpenSSL TLS server may crash if sent a maliciously crafted renegotiation ClientHello message from a client (CVE-2021-3449) Major changes between OpenSSL 1.1.1i and OpenSSL 1.1.1j [16 Feb 2021] o Fixed a NULL pointer deref in the X509_issuer_and_serial_hash() function (CVE-2021-23841) o Fixed the RSA_padding_check_SSLv23() function and the RSA_SSLV23_PADDING padding mode to correctly check for rollback attacks o Fixed an overflow in the EVP_CipherUpdate, EVP_EncryptUpdate and EVP_DecryptUpdate functions (CVE-2021-23840) o Fixed SRP_Calc_client_key so that it runs in constant time Major changes between OpenSSL 1.1.1h and OpenSSL 1.1.1i [8 Dec 2020] o Fixed NULL pointer deref in GENERAL_NAME_cmp (CVE-2020-1971) Major changes between OpenSSL 1.1.1g and OpenSSL 1.1.1h [22 Sep 2020] o Disallow explicit curve parameters in verifications chains when X509_V_FLAG_X509_STRICT is used o Enable 'MinProtocol' and 'MaxProtocol' to configure both TLS and DTLS contexts o Oracle Developer Studio will start reporting deprecation warnings Major changes between OpenSSL 1.1.1f and OpenSSL 1.1.1g [21 Apr 2020] o Fixed segmentation fault in SSL_check_chain() (CVE-2020-1967) Major changes between OpenSSL 1.1.1e and OpenSSL 1.1.1f [31 Mar 2020] o Revert the unexpected EOF reporting via SSL_ERROR_SSL Major changes between OpenSSL 1.1.1d and OpenSSL 1.1.1e [17 Mar 2020] o Fixed an overflow bug in the x64_64 Montgomery squaring procedure used in exponentiation with 512-bit moduli (CVE-2019-1551) o Properly detect unexpected EOF while reading in libssl and report it via SSL_ERROR_SSL Major changes between OpenSSL 1.1.1c and OpenSSL 1.1.1d [10 Sep 2019] o Fixed a fork protection issue (CVE-2019-1549) o Fixed a padding oracle in PKCS7_dataDecode and CMS_decrypt_set1_pkey (CVE-2019-1563) o For built-in EC curves, ensure an EC_GROUP built from the curve name is used even when parsing explicit parameters o Compute ECC cofactors if not provided during EC_GROUP construction (CVE-2019-1547) o Early start up entropy quality from the DEVRANDOM seed source has been improved for older Linux systems o Correct the extended master secret constant on EBCDIC systems o Use Windows installation paths in the mingw builds (CVE-2019-1552) o Changed DH_check to accept parameters with order q and 2q subgroups o Significantly reduce secure memory usage by the randomness pools o Revert the DEVRANDOM_WAIT feature for Linux systems Major changes between OpenSSL 1.1.1b and OpenSSL 1.1.1c [28 May 2019] o Prevent over long nonces in ChaCha20-Poly1305 (CVE-2019-1543) Major changes between OpenSSL 1.1.1a and OpenSSL 1.1.1b [26 Feb 2019] o Change the info callback signals for the start and end of a post-handshake message exchange in TLSv1.3. o Fix a bug in DTLS over SCTP. This breaks interoperability with older versions of OpenSSL like OpenSSL 1.1.0 and OpenSSL 1.0.2. Major changes between OpenSSL 1.1.1 and OpenSSL 1.1.1a [20 Nov 2018] o Timing vulnerability in DSA signature generation (CVE-2018-0734) o Timing vulnerability in ECDSA signature generation (CVE-2018-0735) Major changes between OpenSSL 1.1.0i and OpenSSL 1.1.1 [11 Sep 2018] o Support for TLSv1.3 added (see https://wiki.openssl.org/index.php/TLS1.3 for further important information). The TLSv1.3 implementation includes: o Fully compliant implementation of RFC8446 (TLSv1.3) on by default o Early data (0-RTT) o Post-handshake authentication and key update o Middlebox Compatibility Mode o TLSv1.3 PSKs o Support for all five RFC8446 ciphersuites o RSA-PSS signature algorithms (backported to TLSv1.2) o Configurable session ticket support o Stateless server support o Rewrite of the packet construction code for "safer" packet handling o Rewrite of the extension handling code o Complete rewrite of the OpenSSL random number generator to introduce the following capabilities o The default RAND method now utilizes an AES-CTR DRBG according to NIST standard SP 800-90Ar1. o Support for multiple DRBG instances with seed chaining. o There is a public and private DRBG instance. o The DRBG instances are fork-safe. o Keep all global DRBG instances on the secure heap if it is enabled. o The public and private DRBG instance are per thread for lock free operation o Support for various new cryptographic algorithms including: o SHA3 o SHA512/224 and SHA512/256 o EdDSA (both Ed25519 and Ed448) including X509 and TLS support o X448 (adding to the existing X25519 support in 1.1.0) o Multi-prime RSA o SM2 o SM3 o SM4 o SipHash o ARIA (including TLS support) o Significant Side-Channel attack security improvements o Add a new ClientHello callback to provide the ability to adjust the SSL object at an early stage. o Add 'Maximum Fragment Length' TLS extension negotiation and support o A new STORE module, which implements a uniform and URI based reader of stores that can contain keys, certificates, CRLs and numerous other objects. o Move the display of configuration data to configdata.pm. o Allow GNU style "make variables" to be used with Configure. o Claim the namespaces OSSL and OPENSSL, represented as symbol prefixes o Rewrite of devcrypto engine Major changes between OpenSSL 1.1.0h and OpenSSL 1.1.0i [under development] o Client DoS due to large DH parameter (CVE-2018-0732) o Cache timing vulnerability in RSA Key Generation (CVE-2018-0737) Major changes between OpenSSL 1.1.0g and OpenSSL 1.1.0h [under development] o Constructed ASN.1 types with a recursive definition could exceed the stack (CVE-2018-0739) o Incorrect CRYPTO_memcmp on HP-UX PA-RISC (CVE-2018-0733) o rsaz_1024_mul_avx2 overflow bug on x86_64 (CVE-2017-3738) Major changes between OpenSSL 1.1.0f and OpenSSL 1.1.0g [2 Nov 2017] o bn_sqrx8x_internal carry bug on x86_64 (CVE-2017-3736) o Malformed X.509 IPAddressFamily could cause OOB read (CVE-2017-3735) Major changes between OpenSSL 1.1.0e and OpenSSL 1.1.0f [25 May 2017] o config now recognises 64-bit mingw and chooses mingw64 instead of mingw Major changes between OpenSSL 1.1.0d and OpenSSL 1.1.0e [16 Feb 2017] o Encrypt-Then-Mac renegotiation crash (CVE-2017-3733) Major changes between OpenSSL 1.1.0c and OpenSSL 1.1.0d [26 Jan 2017] o Truncated packet could crash via OOB read (CVE-2017-3731) o Bad (EC)DHE parameters cause a client crash (CVE-2017-3730) o BN_mod_exp may produce incorrect results on x86_64 (CVE-2017-3732) Major changes between OpenSSL 1.1.0b and OpenSSL 1.1.0c [10 Nov 2016] o ChaCha20/Poly1305 heap-buffer-overflow (CVE-2016-7054) o CMS Null dereference (CVE-2016-7053) o Montgomery multiplication may produce incorrect results (CVE-2016-7055) Major changes between OpenSSL 1.1.0a and OpenSSL 1.1.0b [26 Sep 2016] o Fix Use After Free for large message sizes (CVE-2016-6309) Major changes between OpenSSL 1.1.0 and OpenSSL 1.1.0a [22 Sep 2016] o OCSP Status Request extension unbounded memory growth (CVE-2016-6304) o SSL_peek() hang on empty record (CVE-2016-6305) o Excessive allocation of memory in tls_get_message_header() (CVE-2016-6307) o Excessive allocation of memory in dtls1_preprocess_fragment() (CVE-2016-6308) Major changes between OpenSSL 1.0.2h and OpenSSL 1.1.0 [25 Aug 2016] o Copyright text was shrunk to a boilerplate that points to the license o "shared" builds are now the default when possible o Added support for "pipelining" o Added the AFALG engine o New threading API implemented o Support for ChaCha20 and Poly1305 added to libcrypto and libssl o Support for extended master secret o CCM ciphersuites o Reworked test suite, now based on perl, Test::Harness and Test::More o *Most* libcrypto and libssl public structures were made opaque, including: BIGNUM and associated types, EC_KEY and EC_KEY_METHOD, DH and DH_METHOD, DSA and DSA_METHOD, RSA and RSA_METHOD, BIO and BIO_METHOD, EVP_MD_CTX, EVP_MD, EVP_CIPHER_CTX, EVP_CIPHER, EVP_PKEY and associated types, HMAC_CTX, X509, X509_CRL, X509_OBJECT, X509_STORE_CTX, X509_STORE, X509_LOOKUP, X509_LOOKUP_METHOD o libssl internal structures made opaque o SSLv2 support removed o Kerberos ciphersuite support removed o RC4 removed from DEFAULT ciphersuites in libssl o 40 and 56 bit cipher support removed from libssl o All public header files moved to include/openssl, no more symlinking o SSL/TLS state machine, version negotiation and record layer rewritten o EC revision: now operations use new EC_KEY_METHOD. o Support for OCB mode added to libcrypto o Support for asynchronous crypto operations added to libcrypto and libssl o Deprecated interfaces can now be disabled at build time either relative to the latest release via the "no-deprecated" Configure argument, or via the "--api=1.1.0|1.0.0|0.9.8" option. o Application software can be compiled with -DOPENSSL_API_COMPAT=version to ensure that features deprecated in that version are not exposed. o Support for RFC6698/RFC7671 DANE TLSA peer authentication o Change of Configure to use --prefix as the main installation directory location rather than --openssldir. The latter becomes the directory for certs, private key and openssl.cnf exclusively. o Reworked BIO networking library, with full support for IPv6. o New "unified" build system o New security levels o Support for scrypt algorithm o Support for X25519 o Extended SSL_CONF support using configuration files o KDF algorithm support. Implement TLS PRF as a KDF. o Support for Certificate Transparency o HKDF support. Major changes between OpenSSL 1.0.2g and OpenSSL 1.0.2h [3 May 2016] o Prevent padding oracle in AES-NI CBC MAC check (CVE-2016-2107) o Fix EVP_EncodeUpdate overflow (CVE-2016-2105) o Fix EVP_EncryptUpdate overflow (CVE-2016-2106) o Prevent ASN.1 BIO excessive memory allocation (CVE-2016-2109) o EBCDIC overread (CVE-2016-2176) o Modify behavior of ALPN to invoke callback after SNI/servername callback, such that updates to the SSL_CTX affect ALPN. o Remove LOW from the DEFAULT cipher list. This removes singles DES from the default. o Only remove the SSLv2 methods with the no-ssl2-method option. Major changes between OpenSSL 1.0.2f and OpenSSL 1.0.2g [1 Mar 2016] o Disable weak ciphers in SSLv3 and up in default builds of OpenSSL. o Disable SSLv2 default build, default negotiation and weak ciphers (CVE-2016-0800) o Fix a double-free in DSA code (CVE-2016-0705) o Disable SRP fake user seed to address a server memory leak (CVE-2016-0798) o Fix BN_hex2bn/BN_dec2bn NULL pointer deref/heap corruption (CVE-2016-0797) o Fix memory issues in BIO_*printf functions (CVE-2016-0799) o Fix side channel attack on modular exponentiation (CVE-2016-0702) Major changes between OpenSSL 1.0.2e and OpenSSL 1.0.2f [28 Jan 2016] o DH small subgroups (CVE-2016-0701) o SSLv2 doesn't block disabled ciphers (CVE-2015-3197) Major changes between OpenSSL 1.0.2d and OpenSSL 1.0.2e [3 Dec 2015] o BN_mod_exp may produce incorrect results on x86_64 (CVE-2015-3193) o Certificate verify crash with missing PSS parameter (CVE-2015-3194) o X509_ATTRIBUTE memory leak (CVE-2015-3195) o Rewrite EVP_DecodeUpdate (base64 decoding) to fix several bugs o In DSA_generate_parameters_ex, if the provided seed is too short, return an error Major changes between OpenSSL 1.0.2c and OpenSSL 1.0.2d [9 Jul 2015] o Alternate chains certificate forgery (CVE-2015-1793) o Race condition handling PSK identify hint (CVE-2015-3196) Major changes between OpenSSL 1.0.2b and OpenSSL 1.0.2c [12 Jun 2015] o Fix HMAC ABI incompatibility Major changes between OpenSSL 1.0.2a and OpenSSL 1.0.2b [11 Jun 2015] o Malformed ECParameters causes infinite loop (CVE-2015-1788) o Exploitable out-of-bounds read in X509_cmp_time (CVE-2015-1789) o PKCS7 crash with missing EnvelopedContent (CVE-2015-1790) o CMS verify infinite loop with unknown hash function (CVE-2015-1792) o Race condition handling NewSessionTicket (CVE-2015-1791) Major changes between OpenSSL 1.0.2 and OpenSSL 1.0.2a [19 Mar 2015] o OpenSSL 1.0.2 ClientHello sigalgs DoS fix (CVE-2015-0291) o Multiblock corrupted pointer fix (CVE-2015-0290) o Segmentation fault in DTLSv1_listen fix (CVE-2015-0207) o Segmentation fault in ASN1_TYPE_cmp fix (CVE-2015-0286) o Segmentation fault for invalid PSS parameters fix (CVE-2015-0208) o ASN.1 structure reuse memory corruption fix (CVE-2015-0287) o PKCS7 NULL pointer dereferences fix (CVE-2015-0289) o DoS via reachable assert in SSLv2 servers fix (CVE-2015-0293) o Empty CKE with client auth and DHE fix (CVE-2015-1787) o Handshake with unseeded PRNG fix (CVE-2015-0285) o Use After Free following d2i_ECPrivatekey error fix (CVE-2015-0209) o X509_to_X509_REQ NULL pointer deref fix (CVE-2015-0288) o Removed the export ciphers from the DEFAULT ciphers Major changes between OpenSSL 1.0.1l and OpenSSL 1.0.2 [22 Jan 2015]: o Suite B support for TLS 1.2 and DTLS 1.2 o Support for DTLS 1.2 o TLS automatic EC curve selection. o API to set TLS supported signature algorithms and curves o SSL_CONF configuration API. o TLS Brainpool support. o ALPN support. o CMS support for RSA-PSS, RSA-OAEP, ECDH and X9.42 DH. Major changes between OpenSSL 1.0.1k and OpenSSL 1.0.1l [15 Jan 2015] o Build fixes for the Windows and OpenVMS platforms Major changes between OpenSSL 1.0.1j and OpenSSL 1.0.1k [8 Jan 2015] o Fix for CVE-2014-3571 o Fix for CVE-2015-0206 o Fix for CVE-2014-3569 o Fix for CVE-2014-3572 o Fix for CVE-2015-0204 o Fix for CVE-2015-0205 o Fix for CVE-2014-8275 o Fix for CVE-2014-3570 Major changes between OpenSSL 1.0.1i and OpenSSL 1.0.1j [15 Oct 2014] o Fix for CVE-2014-3513 o Fix for CVE-2014-3567 o Mitigation for CVE-2014-3566 (SSL protocol vulnerability) o Fix for CVE-2014-3568 Major changes between OpenSSL 1.0.1h and OpenSSL 1.0.1i [6 Aug 2014] o Fix for CVE-2014-3512 o Fix for CVE-2014-3511 o Fix for CVE-2014-3510 o Fix for CVE-2014-3507 o Fix for CVE-2014-3506 o Fix for CVE-2014-3505 o Fix for CVE-2014-3509 o Fix for CVE-2014-5139 o Fix for CVE-2014-3508 Major changes between OpenSSL 1.0.1g and OpenSSL 1.0.1h [5 Jun 2014] o Fix for CVE-2014-0224 o Fix for CVE-2014-0221 o Fix for CVE-2014-0198 o Fix for CVE-2014-0195 o Fix for CVE-2014-3470 o Fix for CVE-2010-5298 Major changes between OpenSSL 1.0.1f and OpenSSL 1.0.1g [7 Apr 2014] o Fix for CVE-2014-0160 o Add TLS padding extension workaround for broken servers. o Fix for CVE-2014-0076 Major changes between OpenSSL 1.0.1e and OpenSSL 1.0.1f [6 Jan 2014] o Don't include gmt_unix_time in TLS server and client random values o Fix for TLS record tampering bug CVE-2013-4353 o Fix for TLS version checking bug CVE-2013-6449 o Fix for DTLS retransmission bug CVE-2013-6450 Major changes between OpenSSL 1.0.1d and OpenSSL 1.0.1e [11 Feb 2013]: o Corrected fix for CVE-2013-0169 Major changes between OpenSSL 1.0.1c and OpenSSL 1.0.1d [4 Feb 2013]: o Fix renegotiation in TLS 1.1, 1.2 by using the correct TLS version. o Include the fips configuration module. o Fix OCSP bad key DoS attack CVE-2013-0166 o Fix for SSL/TLS/DTLS CBC plaintext recovery attack CVE-2013-0169 o Fix for TLS AESNI record handling flaw CVE-2012-2686 Major changes between OpenSSL 1.0.1b and OpenSSL 1.0.1c [10 May 2012]: o Fix TLS/DTLS record length checking bug CVE-2012-2333 o Don't attempt to use non-FIPS composite ciphers in FIPS mode. Major changes between OpenSSL 1.0.1a and OpenSSL 1.0.1b [26 Apr 2012]: o Fix compilation error on non-x86 platforms. o Make FIPS capable OpenSSL ciphers work in non-FIPS mode. o Fix SSL_OP_NO_TLSv1_1 clash with SSL_OP_ALL in OpenSSL 1.0.0 Major changes between OpenSSL 1.0.1 and OpenSSL 1.0.1a [19 Apr 2012]: o Fix for ASN1 overflow bug CVE-2012-2110 o Workarounds for some servers that hang on long client hellos. o Fix SEGV in AES code. Major changes between OpenSSL 1.0.0h and OpenSSL 1.0.1 [14 Mar 2012]: o TLS/DTLS heartbeat support. o SCTP support. o RFC 5705 TLS key material exporter. o RFC 5764 DTLS-SRTP negotiation. o Next Protocol Negotiation. o PSS signatures in certificates, requests and CRLs. o Support for password based recipient info for CMS. o Support TLS v1.2 and TLS v1.1. o Preliminary FIPS capability for unvalidated 2.0 FIPS module. o SRP support. Major changes between OpenSSL 1.0.0g and OpenSSL 1.0.0h [12 Mar 2012]: o Fix for CMS/PKCS#7 MMA CVE-2012-0884 o Corrected fix for CVE-2011-4619 o Various DTLS fixes. Major changes between OpenSSL 1.0.0f and OpenSSL 1.0.0g [18 Jan 2012]: o Fix for DTLS DoS issue CVE-2012-0050 Major changes between OpenSSL 1.0.0e and OpenSSL 1.0.0f [4 Jan 2012]: o Fix for DTLS plaintext recovery attack CVE-2011-4108 o Clear block padding bytes of SSL 3.0 records CVE-2011-4576 o Only allow one SGC handshake restart for SSL/TLS CVE-2011-4619 o Check parameters are not NULL in GOST ENGINE CVE-2012-0027 o Check for malformed RFC3779 data CVE-2011-4577 Major changes between OpenSSL 1.0.0d and OpenSSL 1.0.0e [6 Sep 2011]: o Fix for CRL vulnerability issue CVE-2011-3207 o Fix for ECDH crashes CVE-2011-3210 o Protection against EC timing attacks. o Support ECDH ciphersuites for certificates using SHA2 algorithms. o Various DTLS fixes. Major changes between OpenSSL 1.0.0c and OpenSSL 1.0.0d [8 Feb 2011]: o Fix for security issue CVE-2011-0014 Major changes between OpenSSL 1.0.0b and OpenSSL 1.0.0c [2 Dec 2010]: o Fix for security issue CVE-2010-4180 o Fix for CVE-2010-4252 o Fix mishandling of absent EC point format extension. o Fix various platform compilation issues. o Corrected fix for security issue CVE-2010-3864. Major changes between OpenSSL 1.0.0a and OpenSSL 1.0.0b [16 Nov 2010]: o Fix for security issue CVE-2010-3864. o Fix for CVE-2010-2939 o Fix WIN32 build system for GOST ENGINE. Major changes between OpenSSL 1.0.0 and OpenSSL 1.0.0a [1 Jun 2010]: o Fix for security issue CVE-2010-1633. o GOST MAC and CFB fixes. Major changes between OpenSSL 0.9.8n and OpenSSL 1.0.0 [29 Mar 2010]: o RFC3280 path validation: sufficient to process PKITS tests. o Integrated support for PVK files and keyblobs. o Change default private key format to PKCS#8. o CMS support: able to process all examples in RFC4134 o Streaming ASN1 encode support for PKCS#7 and CMS. o Multiple signer and signer add support for PKCS#7 and CMS. o ASN1 printing support. o Whirlpool hash algorithm added. o RFC3161 time stamp support. o New generalised public key API supporting ENGINE based algorithms. o New generalised public key API utilities. o New ENGINE supporting GOST algorithms. o SSL/TLS GOST ciphersuite support. o PKCS#7 and CMS GOST support. o RFC4279 PSK ciphersuite support. o Supported points format extension for ECC ciphersuites. o ecdsa-with-SHA224/256/384/512 signature types. o dsa-with-SHA224 and dsa-with-SHA256 signature types. o Opaque PRF Input TLS extension support. o Updated time routines to avoid OS limitations. Major changes between OpenSSL 0.9.8m and OpenSSL 0.9.8n [24 Mar 2010]: o CFB cipher definition fixes. o Fix security issues CVE-2010-0740 and CVE-2010-0433. Major changes between OpenSSL 0.9.8l and OpenSSL 0.9.8m [25 Feb 2010]: o Cipher definition fixes. o Workaround for slow RAND_poll() on some WIN32 versions. o Remove MD2 from algorithm tables. o SPKAC handling fixes. o Support for RFC5746 TLS renegotiation extension. o Compression memory leak fixed. o Compression session resumption fixed. o Ticket and SNI coexistence fixes. o Many fixes to DTLS handling. Major changes between OpenSSL 0.9.8k and OpenSSL 0.9.8l [5 Nov 2009]: o Temporary work around for CVE-2009-3555: disable renegotiation. Major changes between OpenSSL 0.9.8j and OpenSSL 0.9.8k [25 Mar 2009]: o Fix various build issues. o Fix security issues (CVE-2009-0590, CVE-2009-0591, CVE-2009-0789) Major changes between OpenSSL 0.9.8i and OpenSSL 0.9.8j [7 Jan 2009]: o Fix security issue (CVE-2008-5077) o Merge FIPS 140-2 branch code. Major changes between OpenSSL 0.9.8g and OpenSSL 0.9.8h [28 May 2008]: o CryptoAPI ENGINE support. o Various precautionary measures. o Fix for bugs affecting certificate request creation. o Support for local machine keyset attribute in PKCS#12 files. Major changes between OpenSSL 0.9.8f and OpenSSL 0.9.8g [19 Oct 2007]: o Backport of CMS functionality to 0.9.8. o Fixes for bugs introduced with 0.9.8f. Major changes between OpenSSL 0.9.8e and OpenSSL 0.9.8f [11 Oct 2007]: o Add gcc 4.2 support. o Add support for AES and SSE2 assembly language optimization for VC++ build. o Support for RFC4507bis and server name extensions if explicitly selected at compile time. o DTLS improvements. o RFC4507bis support. o TLS Extensions support. Major changes between OpenSSL 0.9.8d and OpenSSL 0.9.8e [23 Feb 2007]: o Various ciphersuite selection fixes. o RFC3779 support. Major changes between OpenSSL 0.9.8c and OpenSSL 0.9.8d [28 Sep 2006]: o Introduce limits to prevent malicious key DoS (CVE-2006-2940) o Fix security issues (CVE-2006-2937, CVE-2006-3737, CVE-2006-4343) o Changes to ciphersuite selection algorithm Major changes between OpenSSL 0.9.8b and OpenSSL 0.9.8c [5 Sep 2006]: o Fix Daniel Bleichenbacher forged signature attack, CVE-2006-4339 o New cipher Camellia Major changes between OpenSSL 0.9.8a and OpenSSL 0.9.8b [4 May 2006]: o Cipher string fixes. o Fixes for VC++ 2005. o Updated ECC cipher suite support. o New functions EVP_CIPHER_CTX_new() and EVP_CIPHER_CTX_free(). o Zlib compression usage fixes. o Built in dynamic engine compilation support on Win32. o Fixes auto dynamic engine loading in Win32. Major changes between OpenSSL 0.9.8 and OpenSSL 0.9.8a [11 Oct 2005]: o Fix potential SSL 2.0 rollback, CVE-2005-2969 o Extended Windows CE support Major changes between OpenSSL 0.9.7g and OpenSSL 0.9.8 [5 Jul 2005]: o Major work on the BIGNUM library for higher efficiency and to make operations more streamlined and less contradictory. This is the result of a major audit of the BIGNUM library. o Addition of BIGNUM functions for fields GF(2^m) and NIST curves, to support the Elliptic Crypto functions. o Major work on Elliptic Crypto; ECDH and ECDSA added, including the use through EVP, X509 and ENGINE. o New ASN.1 mini-compiler that's usable through the OpenSSL configuration file. o Added support for ASN.1 indefinite length constructed encoding. o New PKCS#12 'medium level' API to manipulate PKCS#12 files. o Complete rework of shared library construction and linking programs with shared or static libraries, through a separate Makefile.shared. o Rework of the passing of parameters from one Makefile to another. o Changed ENGINE framework to load dynamic engine modules automatically from specifically given directories. o New structure and ASN.1 functions for CertificatePair. o Changed the ZLIB compression method to be stateful. o Changed the key-generation and primality testing "progress" mechanism to take a structure that contains the ticker function and an argument. o New engine module: GMP (performs private key exponentiation). o New engine module: VIA PadLOck ACE extension in VIA C3 Nehemiah processors. o Added support for IPv6 addresses in certificate extensions. See RFC 1884, section 2.2. o Added support for certificate policy mappings, policy constraints and name constraints. o Added support for multi-valued AVAs in the OpenSSL configuration file. o Added support for multiple certificates with the same subject in the 'openssl ca' index file. o Make it possible to create self-signed certificates using 'openssl ca -selfsign'. o Make it possible to generate a serial number file with 'openssl ca -create_serial'. o New binary search functions with extended functionality. o New BUF functions. o New STORE structure and library to provide an interface to all sorts of data repositories. Supports storage of public and private keys, certificates, CRLs, numbers and arbitrary blobs. This library is unfortunately unfinished and unused within OpenSSL. o New control functions for the error stack. o Changed the PKCS#7 library to support one-pass S/MIME processing. o Added the possibility to compile without old deprecated functionality with the OPENSSL_NO_DEPRECATED macro or the 'no-deprecated' argument to the config and Configure scripts. o Constification of all ASN.1 conversion functions, and other affected functions. o Improved platform support for PowerPC. o New FIPS 180-2 algorithms (SHA-224, -256, -384 and -512). o New X509_VERIFY_PARAM structure to support parameterisation of X.509 path validation. o Major overhaul of RC4 performance on Intel P4, IA-64 and AMD64. o Changed the Configure script to have some algorithms disabled by default. Those can be explicitly enabled with the new argument form 'enable-xxx'. o Change the default digest in 'openssl' commands from MD5 to SHA-1. o Added support for DTLS. o New BIGNUM blinding. o Added support for the RSA-PSS encryption scheme o Added support for the RSA X.931 padding. o Added support for BSD sockets on NetWare. o Added support for files larger than 2GB. o Added initial support for Win64. o Added alternate pkg-config files. Major changes between OpenSSL 0.9.7l and OpenSSL 0.9.7m [23 Feb 2007]: o FIPS 1.1.1 module linking. o Various ciphersuite selection fixes. Major changes between OpenSSL 0.9.7k and OpenSSL 0.9.7l [28 Sep 2006]: o Introduce limits to prevent malicious key DoS (CVE-2006-2940) o Fix security issues (CVE-2006-2937, CVE-2006-3737, CVE-2006-4343) Major changes between OpenSSL 0.9.7j and OpenSSL 0.9.7k [5 Sep 2006]: o Fix Daniel Bleichenbacher forged signature attack, CVE-2006-4339 Major changes between OpenSSL 0.9.7i and OpenSSL 0.9.7j [4 May 2006]: o Visual C++ 2005 fixes. o Update Windows build system for FIPS. Major changes between OpenSSL 0.9.7h and OpenSSL 0.9.7i [14 Oct 2005]: o Give EVP_MAX_MD_SIZE its old value, except for a FIPS build. Major changes between OpenSSL 0.9.7g and OpenSSL 0.9.7h [11 Oct 2005]: o Fix SSL 2.0 Rollback, CVE-2005-2969 o Allow use of fixed-length exponent on DSA signing o Default fixed-window RSA, DSA, DH private-key operations Major changes between OpenSSL 0.9.7f and OpenSSL 0.9.7g [11 Apr 2005]: o More compilation issues fixed. o Adaptation to more modern Kerberos API. o Enhanced or corrected configuration for Solaris64, Mingw and Cygwin. o Enhanced x86_64 assembler BIGNUM module. o More constification. o Added processing of proxy certificates (RFC 3820). Major changes between OpenSSL 0.9.7e and OpenSSL 0.9.7f [22 Mar 2005]: o Several compilation issues fixed. o Many memory allocation failure checks added. o Improved comparison of X509 Name type. o Mandatory basic checks on certificates. o Performance improvements. Major changes between OpenSSL 0.9.7d and OpenSSL 0.9.7e [25 Oct 2004]: o Fix race condition in CRL checking code. o Fixes to PKCS#7 (S/MIME) code. Major changes between OpenSSL 0.9.7c and OpenSSL 0.9.7d [17 Mar 2004]: o Security: Fix Kerberos ciphersuite SSL/TLS handshaking bug o Security: Fix null-pointer assignment in do_change_cipher_spec() o Allow multiple active certificates with same subject in CA index o Multiple X509 verification fixes o Speed up HMAC and other operations Major changes between OpenSSL 0.9.7b and OpenSSL 0.9.7c [30 Sep 2003]: o Security: fix various ASN1 parsing bugs. o New -ignore_err option to OCSP utility. o Various interop and bug fixes in S/MIME code. o SSL/TLS protocol fix for unrequested client certificates. Major changes between OpenSSL 0.9.7a and OpenSSL 0.9.7b [10 Apr 2003]: o Security: counter the Klima-Pokorny-Rosa extension of Bleichbacher's attack o Security: make RSA blinding default. o Configuration: Irix fixes, AIX fixes, better mingw support. o Support for new platforms: linux-ia64-ecc. o Build: shared library support fixes. o ASN.1: treat domainComponent correctly. o Documentation: fixes and additions. Major changes between OpenSSL 0.9.7 and OpenSSL 0.9.7a [19 Feb 2003]: o Security: Important security related bugfixes. o Enhanced compatibility with MIT Kerberos. o Can be built without the ENGINE framework. o IA32 assembler enhancements. o Support for new platforms: FreeBSD/IA64 and FreeBSD/Sparc64. o Configuration: the no-err option now works properly. o SSL/TLS: now handles manual certificate chain building. o SSL/TLS: certain session ID malfunctions corrected. Major changes between OpenSSL 0.9.6 and OpenSSL 0.9.7 [30 Dec 2002]: o New library section OCSP. o Complete rewrite of ASN1 code. o CRL checking in verify code and openssl utility. o Extension copying in 'ca' utility. o Flexible display options in 'ca' utility. o Provisional support for international characters with UTF8. o Support for external crypto devices ('engine') is no longer a separate distribution. o New elliptic curve library section. o New AES (Rijndael) library section. o Support for new platforms: Windows CE, Tandem OSS, A/UX, AIX 64-bit, Linux x86_64, Linux 64-bit on Sparc v9 o Extended support for some platforms: VxWorks o Enhanced support for shared libraries. o Now only builds PIC code when shared library support is requested. o Support for pkg-config. o Lots of new manuals. o Makes symbolic links to or copies of manuals to cover all described functions. o Change DES API to clean up the namespace (some applications link also against libdes providing similar functions having the same name). Provide macros for backward compatibility (will be removed in the future). o Unify handling of cryptographic algorithms (software and engine) to be available via EVP routines for asymmetric and symmetric ciphers. o NCONF: new configuration handling routines. o Change API to use more 'const' modifiers to improve error checking and help optimizers. o Finally remove references to RSAref. o Reworked parts of the BIGNUM code. o Support for new engines: Broadcom ubsec, Accelerated Encryption Processing, IBM 4758. o A few new engines added in the demos area. o Extended and corrected OID (object identifier) table. o PRNG: query at more locations for a random device, automatic query for EGD style random sources at several locations. o SSL/TLS: allow optional cipher choice according to server's preference. o SSL/TLS: allow server to explicitly set new session ids. o SSL/TLS: support Kerberos cipher suites (RFC2712). Only supports MIT Kerberos for now. o SSL/TLS: allow more precise control of renegotiations and sessions. o SSL/TLS: add callback to retrieve SSL/TLS messages. o SSL/TLS: support AES cipher suites (RFC3268). Major changes between OpenSSL 0.9.6j and OpenSSL 0.9.6k [30 Sep 2003]: o Security: fix various ASN1 parsing bugs. o SSL/TLS protocol fix for unrequested client certificates. Major changes between OpenSSL 0.9.6i and OpenSSL 0.9.6j [10 Apr 2003]: o Security: counter the Klima-Pokorny-Rosa extension of Bleichbacher's attack o Security: make RSA blinding default. o Build: shared library support fixes. Major changes between OpenSSL 0.9.6h and OpenSSL 0.9.6i [19 Feb 2003]: o Important security related bugfixes. Major changes between OpenSSL 0.9.6g and OpenSSL 0.9.6h [5 Dec 2002]: o New configuration targets for Tandem OSS and A/UX. o New OIDs for Microsoft attributes. o Better handling of SSL session caching. o Better comparison of distinguished names. o Better handling of shared libraries in a mixed GNU/non-GNU environment. o Support assembler code with Borland C. o Fixes for length problems. o Fixes for uninitialised variables. o Fixes for memory leaks, some unusual crashes and some race conditions. o Fixes for smaller building problems. o Updates of manuals, FAQ and other instructive documents. Major changes between OpenSSL 0.9.6f and OpenSSL 0.9.6g [9 Aug 2002]: o Important building fixes on Unix. Major changes between OpenSSL 0.9.6e and OpenSSL 0.9.6f [8 Aug 2002]: o Various important bugfixes. Major changes between OpenSSL 0.9.6d and OpenSSL 0.9.6e [30 Jul 2002]: o Important security related bugfixes. o Various SSL/TLS library bugfixes. Major changes between OpenSSL 0.9.6c and OpenSSL 0.9.6d [9 May 2002]: o Various SSL/TLS library bugfixes. o Fix DH parameter generation for 'non-standard' generators. Major changes between OpenSSL 0.9.6b and OpenSSL 0.9.6c [21 Dec 2001]: o Various SSL/TLS library bugfixes. o BIGNUM library fixes. o RSA OAEP and random number generation fixes. o Object identifiers corrected and added. o Add assembler BN routines for IA64. o Add support for OS/390 Unix, UnixWare with gcc, OpenUNIX 8, MIPS Linux; shared library support for Irix, HP-UX. o Add crypto accelerator support for AEP, Baltimore SureWare, Broadcom and Cryptographic Appliance's keyserver [in 0.9.6c-engine release]. Major changes between OpenSSL 0.9.6a and OpenSSL 0.9.6b [9 Jul 2001]: o Security fix: PRNG improvements. o Security fix: RSA OAEP check. o Security fix: Reinsert and fix countermeasure to Bleichbacher's attack. o MIPS bug fix in BIGNUM. o Bug fix in "openssl enc". o Bug fix in X.509 printing routine. o Bug fix in DSA verification routine and DSA S/MIME verification. o Bug fix to make PRNG thread-safe. o Bug fix in RAND_file_name(). o Bug fix in compatibility mode trust settings. o Bug fix in blowfish EVP. o Increase default size for BIO buffering filter. o Compatibility fixes in some scripts. Major changes between OpenSSL 0.9.6 and OpenSSL 0.9.6a [5 Apr 2001]: o Security fix: change behavior of OpenSSL to avoid using environment variables when running as root. o Security fix: check the result of RSA-CRT to reduce the possibility of deducing the private key from an incorrectly calculated signature. o Security fix: prevent Bleichenbacher's DSA attack. o Security fix: Zero the premaster secret after deriving the master secret in DH ciphersuites. o Reimplement SSL_peek(), which had various problems. o Compatibility fix: the function des_encrypt() renamed to des_encrypt1() to avoid clashes with some Unixen libc. o Bug fixes for Win32, HP/UX and Irix. o Bug fixes in BIGNUM, SSL, PKCS#7, PKCS#12, X.509, CONF and memory checking routines. o Bug fixes for RSA operations in threaded environments. o Bug fixes in misc. openssl applications. o Remove a few potential memory leaks. o Add tighter checks of BIGNUM routines. o Shared library support has been reworked for generality. o More documentation. o New function BN_rand_range(). o Add "-rand" option to openssl s_client and s_server. Major changes between OpenSSL 0.9.5a and OpenSSL 0.9.6 [10 Oct 2000]: o Some documentation for BIO and SSL libraries. o Enhanced chain verification using key identifiers. o New sign and verify options to 'dgst' application. o Support for DER and PEM encoded messages in 'smime' application. o New 'rsautl' application, low level RSA utility. o MD4 now included. o Bugfix for SSL rollback padding check. o Support for external crypto devices [1]. o Enhanced EVP interface. [1] The support for external crypto devices is currently a separate distribution. See the file README.ENGINE. Major changes between OpenSSL 0.9.5 and OpenSSL 0.9.5a [1 Apr 2000]: o Bug fixes for Win32, SuSE Linux, NeXTSTEP and FreeBSD 2.2.8 o Shared library support for HPUX and Solaris-gcc o Support of Linux/IA64 o Assembler support for Mingw32 o New 'rand' application o New way to check for existence of algorithms from scripts Major changes between OpenSSL 0.9.4 and OpenSSL 0.9.5 [25 May 2000]: o S/MIME support in new 'smime' command o Documentation for the OpenSSL command line application o Automation of 'req' application o Fixes to make s_client, s_server work under Windows o Support for multiple fieldnames in SPKACs o New SPKAC command line utility and associated library functions o Options to allow passwords to be obtained from various sources o New public key PEM format and options to handle it o Many other fixes and enhancements to command line utilities o Usable certificate chain verification o Certificate purpose checking o Certificate trust settings o Support of authority information access extension o Extensions in certificate requests o Simplified X509 name and attribute routines o Initial (incomplete) support for international character sets o New DH_METHOD, DSA_METHOD and enhanced RSA_METHOD o Read only memory BIOs and simplified creation function o TLS/SSL protocol bugfixes: Accept TLS 'client hello' in SSL 3.0 record; allow fragmentation and interleaving of handshake and other data o TLS/SSL code now "tolerates" MS SGC o Work around for Netscape client certificate hang bug o RSA_NULL option that removes RSA patent code but keeps other RSA functionality o Memory leak detection now allows applications to add extra information via a per-thread stack o PRNG robustness improved o EGD support o BIGNUM library bug fixes o Faster DSA parameter generation o Enhanced support for Alpha Linux o Experimental MacOS support Major changes between OpenSSL 0.9.3 and OpenSSL 0.9.4 [9 Aug 1999]: o Transparent support for PKCS#8 format private keys: these are used by several software packages and are more secure than the standard form o PKCS#5 v2.0 implementation o Password callbacks have a new void * argument for application data o Avoid various memory leaks o New pipe-like BIO that allows using the SSL library when actual I/O must be handled by the application (BIO pair) Major changes between OpenSSL 0.9.2b and OpenSSL 0.9.3 [24 May 1999]: o Lots of enhancements and cleanups to the Configuration mechanism o RSA OEAP related fixes o Added `openssl ca -revoke' option for revoking a certificate o Source cleanups: const correctness, type-safe stacks and ASN.1 SETs o Source tree cleanups: removed lots of obsolete files o Thawte SXNet, certificate policies and CRL distribution points extension support o Preliminary (experimental) S/MIME support o Support for ASN.1 UTF8String and VisibleString o Full integration of PKCS#12 code o Sparc assembler bignum implementation, optimized hash functions o Option to disable selected ciphers Major changes between OpenSSL 0.9.1c and OpenSSL 0.9.2b [22 Mar 1999]: o Fixed a security hole related to session resumption o Fixed RSA encryption routines for the p < q case o "ALL" in cipher lists now means "everything except NULL ciphers" o Support for Triple-DES CBCM cipher o Support of Optimal Asymmetric Encryption Padding (OAEP) for RSA o First support for new TLSv1 ciphers o Added a few new BIOs (syslog BIO, reliable BIO) o Extended support for DSA certificate/keys. o Extended support for Certificate Signing Requests (CSR) o Initial support for X.509v3 extensions o Extended support for compression inside the SSL record layer o Overhauled Win32 builds o Cleanups and fixes to the Big Number (BN) library o Support for ASN.1 GeneralizedTime o Splitted ASN.1 SETs from SEQUENCEs o ASN1 and PEM support for Netscape Certificate Sequences o Overhauled Perl interface o Lots of source tree cleanups. o Lots of memory leak fixes. o Lots of bug fixes. Major changes between SSLeay 0.9.0b and OpenSSL 0.9.1c [23 Dec 1998]: o Integration of the popular NO_RSA/NO_DSA patches o Initial support for compression inside the SSL record layer o Added BIO proxy and filtering functionality o Extended Big Number (BN) library o Added RIPE MD160 message digest o Added support for RC2/64bit cipher o Extended ASN.1 parser routines o Adjustments of the source tree for CVS o Support for various new platforms usr/share/doc/libwebp/NEWS000064400000020764152526410070011362 0ustar00- 4/2/2018: version 1.0.0 This is a binary compatible release. * lossy encoder improvements to avoid chroma shifts in various circumstances (issues #308, #340) * big-endian fixes for decode, RGBA import and WebPPictureDistortion Tool updates: gifwebp, anim_diff - default duration behavior (<= 10ms) changed to match web browsers, transcoding tools (issue #379) img2webp, webpmux - allow options to be passed in via a file (issue #355) - 11/24/2017: version 0.6.1 This is a binary compatible release. * lossless performance and compression improvements + a new 'cruncher' mode (-m 6 -q 100) * ARM performance improvements with clang (15-20% w/ndk r15c, issue #339) * webp-js: emscripten/webassembly based javascript decoder * miscellaneous bug & build fixes (issue #329, #332, #343, #353, #360, #361, #363) Tool updates / additions: added webpinfo - prints file format information (issue #330) gif2webp - loop behavior modified to match Chrome M63+ (crbug.com/649264); '-loop_compatibility' can be used for the old behavior - 1/26/2017: version 0.6.0 * lossless performance and compression improvements * miscellaneous performance improvements (SSE2, NEON, MSA) * webpmux gained a -duration option allowing for frame timing modification * new img2webp utility allowing a sequence of images to be converted to animated webp * API changes: - libwebp: WebPPictureSharpARGBToYUVA WebPPlaneDistortion - libwebpmux / gif2webp: WebPAnimEncoderOptions: kmax <= 0 now disables keyframes, kmax == 1 forces all keyframes. See mux.h and the gif2webp manpage for details. - 12/13/2016: version 0.5.2 This is a binary compatible release. This release covers CVE-2016-8888 and CVE-2016-9085. * further security related hardening in the tools; fixes to gif2webp/AnimEncoder (issues #310, #314, #316, #322), cwebp/libwebp (issue #312) * full libwebp (encoder & decoder) iOS framework; libwebpdecoder WebP.framework renamed to WebPDecoder.framework (issue #307) * CMake support for Android Studio (2.2) * miscellaneous build related fixes (issue #306, #313) * miscellaneous documentation improvements (issue #225) * minor lossy encoder fixes and improvements - 6/14/2016: version 0.5.1 This is a binary compatible release. * miscellaneous bug fixes (issues #280, #289) * reverted alpha plane encoding with color cache for compatibility with libwebp 0.4.0->0.4.3 (issues #291, #298) * lossless encoding performance improvements * memory reduction in both lossless encoding and decoding * force mux output to be in the extended format (VP8X) when undefined chunks are present (issue #294) * gradle, cmake build support * workaround for compiler bug causing 64-bit decode failures on android devices using clang-3.8 in the r11c NDK * various WebPAnimEncoder improvements - 12/17/2015: version 0.5.0 * miscellaneous bug & build fixes (issues #234, #258, #274, #275, #278) * encoder & decoder speed-ups on x86/ARM/MIPS for lossy & lossless - note! YUV->RGB conversion was sped-up, but the results will be slightly different from previous releases * various lossless encoder improvements * gif2webp improvements, -min_size option added * tools fully support input from stdin and output to stdout (issue #168) * New WebPAnimEncoder API for creating animations * New WebPAnimDecoder API for decoding animations * other API changes: - libwebp: WebPPictureSmartARGBToYUVA() (-pre 4 in cwebp) WebPConfig::exact (-exact in cwebp; -alpha_cleanup is now the default) WebPConfig::near_lossless (-near_lossless in cwebp) WebPFree() (free'ing webp allocated memory in other languages) WebPConfigLosslessPreset() WebPMemoryWriterClear() - libwebpdemux: removed experimental fragment related fields and functions - libwebpmux: WebPMuxSetCanvasSize() * new libwebpextras library with some uncommon import functions: WebPImportGray/WebPImportRGB565/WebPImportRGB4444 - 10/15/15: version 0.4.4 This is a binary compatible release. * rescaling out-of-bounds read fix (issue #254) * various build fixes and improvements (issues #253, #259, #262, #267, #268) * container documentation update * gif2webp transparency fix (issue #245) - 3/3/15: version 0.4.3 This is a binary compatible release. * Android / gcc / iOS / MSVS build fixes and improvements * lossless decode fix (issue #239 -- since 0.4.0) * documentation / vwebp updates for animation * multi-threading fix (issue #234) - 10/13/14: version 0.4.2 This is a binary compatible release. * Android / gcc build fixes * (Windows) fix reading from stdin and writing to stdout * gif2webp: miscellaneous fixes * fix 'alpha-leak' with lossy compression (issue #220) * the lossless bitstream spec has been amended to reflect the current code - 7/24/14: version 0.4.1 This is a binary compatible release. * AArch64 (arm64) & MIPS support/optimizations * NEON assembly additions: - ~25% faster lossy decode / encode (-m 4) - ~10% faster lossless decode - ~5-10% faster lossless encode (-m 3/4) * dwebp/vwebp can read from stdin * cwebp/gif2webp can write to stdout * cwebp can read webp files; useful if storing sources as webp lossless - 12/19/13: version 0.4.0 * improved gif2webp tool * numerous fixes, compression improvement and speed-up * dither option added to decoder (dwebp -dither 50 ...) * improved multi-threaded modes (-mt option) * improved filtering strength determination * New function: WebPMuxGetCanvasSize * BMP and TIFF format output added to 'dwebp' * Significant memory reduction for decoding lossy images with alpha. * Intertwined decoding of RGB and alpha for a shorter time-to-first-decoded-pixel. * WebPIterator has a new member 'has_alpha' denoting whether the frame contains transparency. * Container spec amended with new 'blending method' for animation. - 6/13/13: version 0.3.1 This is a binary compatible release. * Add incremental decoding support for images containing ALPH and ICCP chunks. * Python bindings via swig for the simple encode/decode interfaces similar to Java. - 3/20/13: version 0.3.0 This is a binary compatible release. * WebPINewRGB/WebPINewYUVA accept being passed a NULL output buffer and will perform auto-allocation. * default filter option is now '-strong -f 60' * encoding speed-up for lossy methods 3 to 6 * alpha encoding can be done in parallel to lossy using 'cwebp -mt ...' * color profile, metadata (XMP/EXIF) and animation support finalized in the container. * various NEON assembly additions Tool updates / additions: * gif2webp added * vwebp given color profile & animation support * cwebp can preserve color profile / metadata with '-metadata' - 10/30/12: version 0.2.1 * Various security related fixes * cwebp.exe: fix import errors on Windows XP * enable DLL builds for mingw targets - 8/3/12: version 0.2.0 * Add support for ARGB -> YUVA conversion for lossless decoder New functions: WebPINewYUVA, WebPIDecGetYUVA * Add stats for lossless and alpha encoding * Security related hardening: allocation and size checks * Add PAM output support to dwebp - 7/19/12: version 0.1.99 * This is a pre-release of 0.2.0, not an rc to allow for further incompatible changes based on user feedback. * Alpha channel encode/decode support. * Lossless encoder/decoder. * Add TIFF input support to cwebp. Incompatible changes: * The encode ABI has been modified to support alpha encoding. * Deprecated function WebPINew() has been removed. * Decode function signatures have changed to consistently use size_t over int/uint32_t. * decode_vp8.h is no longer installed system-wide. * cwebp will encode the alpha channel if present. - 9/19/11: version 0.1.3 * Advanced decoding APIs. * On-the-fly cropping and rescaling of images. * SSE2 instructions for decoding performance optimizations on x86 based platforms. * Support Multi-threaded decoding. * 40% improvement in Decoding performance. * Add support for RGB565, RGBA4444 & ARGB image colorspace. * Better handling of large picture encoding. - 3/25/11: version 0.1.2 * Incremental decoding: picture can be decoded byte-by-byte if needs be. * lot of bug-fixes, consolidation and stabilization - 2/23/11: initial release of version 0.1, with the new encoder - 9/30/10: initial release version with only the lightweight decoder usr/share/doc/libX11-common/NEWS000064400000017213152526437430012270 0ustar00Version 1.1.2 - 2007-06-03 * Security fixes: * Fix CVE-2007-1667: Multiple integer overflows in the XGetPixel() and XInitImage() functions. * Bug #9279: Fixed a file descriptor leak. * Xlib/XCB: Ensure _XReadEvents reads at least one new event and blocks for exactly one event. Large performance improvement for XIfEvent and similar. * Hold XCB's Xlib lock even when only the user lock (XLockDisplay) is held. An Xlib client can query Display state, such as with NextRequest, while it holds only the Xlib user lock (between XLockDisplay and XUnlockDisplay), so XCB requests in other threads should be blocked when the Xlib user lock is held. We acquire the lock even when XInitThreads was not called, so that pure XCB code can use multiple threads even in an otherwise single-threaded Xlib application. * Allow re-entrant Xlib calls from _XIOError. Some libraries try to clean up X resources from atexit handlers, _fini, or C++ destructors. To make these work, downgrade the Display lock to a user lock (as in XLockDisplay) before calling exit(3). This blocks Xlib calls from threads other than the one calling exit(3) while still allowing the exit handlers to call Xlib. * Xlib/XCB: Avoid re-crashing after _XIOError. * Xlib/XCB: Only remove pending_requests when there are provably no more responses. * For NetBSD, define XTHREADLIB and XTHREAD_CFLAGS. * Bug #7703: Fixed XSetSizeHints() et al wrt use of uninitialized data. Now only those fields of the respective hint struct are set that are actually valid in the input data. * Bug #10292: Fixed a memory leak related to XOpenDisplay() in the XCB code. * Bug #7713: Initialize all of the event's fields before sending it. * Bug #10562: Define _GNU_SOURCE on glibc systems. * Use unistd.h to get getresuid() and friends, now that we have _GNU_SOURCE defined. * Switched function definitions from K&R to ANSI style. * Many constness fixes. * Fixed a few warnings. * Fix 64bit issues with reallocation. * Manpage fixes: * Add man pages for XKB APIs. (Volunteer needed to convert prototypes in man pages to ANSI C style...) * Protect C comments and #defines in XKB man pages from being mangled by cpp * Fix typo in nroff macro in XkbAddGeomOverlayKey.man * Bug #9695: Fixed a few argument types in the XOpenIM manpage. * Markup tweak for XOpenIM. * Bug #9696: refer to XDefineCursor() instead of XDefineCusor(). * Bug #9697: Fixed documentation of XVisualInfo struct. The "depth" member was said to be unsigned int, but it's signed. * nls fixes: * Update el_GR.UTF-8/Compose.pre to match changes in xkeyboard-config cvs. * For nls/*.pre, allow people to comment lines by starting them with '##'. * Build system fixes: * Add autogen.sh to EXTRA_DIST. * Makefile.am: make ChangeLog hook safer * Don't distribute the configure-generated XlibConf.h in tarballs. Version 1.1.1 - 2006-11-30 The "xcompmgr is hard, let's go releasing" release * Fix Bug #9154 and friends, to unbreak xcompmgr: Always process an event for _XReadEvents, even if an error occurs. Previously, process_responses (in the wait_for_first_event case called from _XReadEvents) considered any return from xcb_wait_for_event sufficient to think it had processed an event. If xcb_wait_for_event returned an error, and no more events occurred before process_responses called xcb_poll_for_event, process_responses would try to return with dpy->head NULL, and would fail an assertion for the _XReadEvents postcondition. Now, process_responses continues using xcb_wait_for_event until it gets an event. * Bug #9153: Fix access to freed memory. The fix for bug #8622 introduced a smaller bug where _XReply would read memory shortly after freeing it. This patch caches the needed value in a stack-allocated variable before the heap-allocated memory is freed. * libx11 doesn't use inputproto in public headers; don't require it in x11.pc. Based on a Debian patch. * Debian bug #354315: Clarify return value in XGetWindowAttributes man page. Patch by Debian user Ross Combs. Version 1.1 - 2006-11-23 * Add note in man-page that XListFontsWithInfo is not thread-safe. _XReply drops the Display lock, so the value of dpy->request may change before _XReply is called again. Jamey Sharp discovered this by inspection a few years ago. * Fix Bug #8622, by fixing the response processing order for threaded apps. process_responses (the common code for _XReply, _XReadEvents, and _XEventsQueued) now handles responses in order, by adding condition variables to the list of outstanding requests in dpy->xcb->pending_requests, and blocking on them when those requests should get processed, to allow _XReply to process them; if actually called from _XReply, it returns when _XReply's request should get processed. _XReply broadcasts on its condition variable after it has read its reply and re-acquired the display lock. * Don't hold the display lock around callbacks to the application. This avoids recursive locking of the display lock (which triggers an XCB locking assertion), particularly with emacs. * Add xcb-xlib dependency to x11.pc when built against XCB. * Allocate the right amount of memory for dpy->lock_fns. Fixes a crash on startup with gdk. Version 1.1 RC2 - 2006-11-02 Benno Schulenberg: nls: remove duplicate compose entries (bug #2286) nls: remove shadowed compose entries (bug #2286) nls (en_US): remove long compositions that override shorter (bug #2286) Caolan McNamara: XKB geometry: fix leaks in GetKeyboardByName (bug #8099) David Nusinow: Dynamically generate internal manpage section using __libmanpagesuffix__ so that it actually matches the section if you don't use 3X11 Jamey Sharp: Add correct Display locking to XKB functions. XKB bugfix: SyncHandle must be called after UnlockDisplay, not before. XCB: check for and handle I/O errors in _XGetXCBBuffer. Matthias Hopf: Fix double open of compose file. Version 1.1 RC1 - 2006-10-06 This release includes the Xlib/XCB work, which uses XCB as the Xlib transport layer, and allows a client to use both Xlib and XCB on the same connection. This allows clients to transition from Xlib to XCB incrementally. Clients which link only to libX11, and do not use XCB, should not notice any differences in this release. Clients desiring XCB interoperability should additionally #include , link to libX11-xcb, use XGetXCBConnection(dpy) to obtain the underlying XCB connection, and then use XCB functions directly on that connection. Note that while a client can issue requests and handle their replies or errors with either Xlib or XCB, only one can own and handle the event queue. By default, Xlib must own the event queue, for compatibility with legacy Xlib clients. Clients can use the function XSetEventQueueOwner immediately after XOpenDisplay to let XCB own the event queue instead. Clients may not call this function after processing any responses, as this will potentially lose responses. We expect to have an RC2 release corresponding to the Xorg RC2 schedule, which should include additional internal architecture enhancements, but no user-visible changes. 1.0 final should match RC2. Other smaller changes in this release: * correct ChangeLog generation * support running lint and sparse * Autoconf 2.60 * fix man page for XUrgencyHint * improve man pages for XGrabButton, XGrabKey, XGetWindowProperty * new locales: as_IN.UTF-8, kn_IN.UTF-8, ml_IN.UTF-8, or_IN.UTF-8, te_IN.UTF-8, ur_IN.UTF-8 * on systems with both UNIXCONN and LOCALCONN, try unix if local fails * fix sparse warnings * ansify static functions -- Josh Triplett , Jamey Sharp usr/share/doc/leveldb/NEWS000064400000000775152526464300011360 0ustar00Release 1.2 2011-05-16 ---------------------- Fixes for larger databases (tested up to one billion 100-byte entries, i.e., ~100GB). (1) Place hard limit on number of level-0 files. This fixes errors of the form "too many open files". (2) Fixed memtable management. Before the fix, a heavy write burst could cause unbounded memory usage. A fix for a logging bug where the reader would incorrectly complain about corruption. Allow public access to WriteBatch contents so that users can easily wrap a DB. usr/share/doc/util-linux/NEWS000064400000217672152526566610012072 0ustar00util-linux 2.32.1: Jul 16 2018 * see Documentation/releases/v2.32-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.32/v2.32.1-ChangeLog util-linux 2.32: Mar 21 2018 * see Documentation/releases/v2.32-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.32/v2.32-ChangeLog util-linux 2.32-rc2: Mar 01 2018 * see Documentation/releases/v2.32-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.32/v2.32-rc2-ChangeLog util-linux 2.32-rc1: Feb 13 2018 * see Documentation/releases/v2.32-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.32/v2.32-rc1-ChangeLog util-linux 2.31: Oct 19 2017 * see Documentation/releases/v2.31-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.31/v2.31-ChangeLog util-linux 2.31-rc2: Oct 03 2017 * see Documentation/releases/v2.31-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.31/v2.31-rc2-ChangeLog util-linux 2.31-rc1: Sep 22 2017 * see Documentation/releases/v2.31-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.31/v2.31-rc1-ChangeLog util-linux 2.30: Jun 02 2017 * see Documentation/releases/v2.30-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.30/v2.30-ChangeLog util-linux 2.30-rc2: May 12 2017 * see Documentation/releases/v2.30-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.30/v2.30-rc2-ChangeLog util-linux 2.30-rc1: May 12 2017 * see Documentation/releases/v2.30-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.30/v2.30-rc1-ChangeLog util-linux 2.29: Nov 8 2016 * see Documentation/releases/v2.29-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.29/v2.29-ChangeLog util-linux 2.29-rc2: Oct 19 2016 * see Documentation/releases/v2.29-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.29/v2.29-rc2-ChangeLog util-linux 2.29-rc1: Sep 30 2016 * see Documentation/releases/v2.29-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.29/v2.29-rc1-ChangeLog util-linux 2.28: Apr 12 2016 * see Documentation/releases/v2.28-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.28/v2.28-ChangeLog util-linux 2.28-rc2: Mar 29 2016 * see Documentation/releases/v2.28-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.28/v2.28-rc2-ChangeLog util-linux 2.28-rc1: Mar 11 2016 * see Documentation/releases/v2.28-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.28/v2.28-rc1-ChangeLog util-linux 2.27: Sep 07 2015 * see Documentation/releases/v2.27-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.27/v2.27-ChangeLog util-linux 2.27-rc2: Aug 24 2015 * see Documentation/releases/v2.27-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.27/v2.27-rc2-ChangeLog util-linux 2.27-rc1: Jul 31 2015 * see Documentation/releases/v2.27-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.27/v2.27-rc1-ChangeLog util-linux 2.26: Feb 19 2015 * see Documentation/releases/v2.26-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.26/v2.26-ChangeLog util-linux 2.26-rc2: Feb 4 2015 * see Documentation/releases/v2.26-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.26/v2.26-rc2-ChangeLog util-linux 2.26-rc1: Jan 14 2015 * see Documentation/releases/v2.26-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.26/v2.26-rc1-ChangeLog util-linux 2.25: Jul 22 2014 * see Documentation/releases/v2.25-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.25/v2.25-ChangeLog util-linux 2.25-rc2: Jul 2 2014 * see Documentation/releases/v2.25-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.25/v2.25-rc2-ChangeLog util-linux 2.25-rc1: Jun 18 2014 * see Documentation/releases/v2.25-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.25/v2.25-rc1-ChangeLog util-linux 2.24: Oct 21 2013 * see Documentation/releases/v2.24-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.24/v2.24-ChangeLog util-linux 2.24-rc2: Oct 11 2013 * see Documentation/releases/v2.24-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.24/v2.24-rc2-ChangeLog util-linux 2.24-rc1: Sep 27 2013 * see Documentation/releases/v2.24-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.24/v2.24-rc1-ChangeLog util-linux 2.23: Apr 25 2013 * see Documentation/releases/v2.23-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.23/v2.23-ChangeLog util-linux 2.23-rc2: Apr 10 2013 * see Documentation/releases/v2.23-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.23/v2.23-rc2-ChangeLog util-linux 2.23-rc1: Mar 22 2013 * see Documentation/releases/v2.23-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.23/v2.23-rc1-ChangeLog util-linux 2.22: Sep 04 2012 * see Documentation/releases/v2.22-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.22/v2.22-ChangeLog util-linux 2.22-rc2: Aug 15 2012 * see Documentation/releases/v2.22-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.22/v2.22-rc2-ChangeLog util-linux 2.22-rc1: Jul 27 2012 * see Documentation/releases/v2.22-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.22/v2.22-rc1-ChangeLog util-linux 2.21: Feb 24 2012 * see Documentation/releases/v2.21-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.21/v2.21-ChangeLog util-linux 2.21-rc2: Feb 06 2012 * see Documentation/releases/v2.21-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.21/v2.21-rc2-ChangeLog util-linux 2.21-rc1: Jan 18 2012 * see Documentation/releases/v2.21-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.21/v2.21-rc1-ChangeLog util-linux 2.20: Aug 29 2011 * see Documentation/releases/v2.20-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.20/v2.20-ChangeLog util-linux 2.20-rc2: Aug 17 2011 * see Documentation/releases/v2.20-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.20/v2.20-rc2-ChangeLog util-linux 2.20-rc1: Jul 29 2011 * see Documentation/releases/v2.20-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.20/v2.20-rc1-ChangeLog util-linux 2.19: Feb 10 2011 * see Documentation/releases/v2.19-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.19/v2.19-ChangeLog util-linux 2.19-rc3: Jan 25 2011 * see Documentation/releases/v2.19-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.19/v2.19-rc3-ChangeLog util-linux 2.19-rc2: Jan 25 2011 * see Documentation/releases/v2.19-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.19/v2.19-rc2-ChangeLog util-linux 2.19-rc1: Jan 05 2011 * see Documentation/releases/v2.19-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.19/v2.19-rc1-ChangeLog util-linux-ng 2.18: Jun 30 2010 * see Documentation/releases/v2.18-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.18/v2.18-ChangeLog util-linux-ng 2.18-rc2: Jun 18 2010 * see Documentation/releases/v2.18-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.18/v2.18-rc2-ChangeLog util-linux-ng 2.18-rc1: Jun 7 2010 * see Documentation/releases/v2.18-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.18/v2.18-rc1-ChangeLog util-linux-ng 2.17: Jan 8 2010 * see Documentation/releases/v2.17-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.17/v2.17-ChangeLog util-linux-ng 2.17-rc3: Dec 10 2009 * see Documentation/releases/v2.17-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.17/v2.17-rc3-ChangeLog util-linux-ng 2.17-rc2: Dec 9 2009 * see Documentation/releases/v2.17-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.17/v2.17-rc2-ChangeLog util-linux-ng 2.17-rc1: Nov 20 2009 * see Documentation/releases/v2.17-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.17/v2.17-rc1-ChangeLog util-linux-ng 2.16: Jul 2009 * see Documentation/releases/v2.16-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.16/v2.16-ChangeLog util-linux-ng 2.16-rc2: Jul 2 2009 * see Documentation/releases/v2.16-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.16/v2.16-rc2-ChangeLog util-linux-ng 2.16-rc1: Jun 28 2009 * see Documentation/releases/v2.16-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.16/v2.16-rc1-ChangeLog util-linux-ng 2.15: May 5 2009 * see Documentation/releases/v2.15-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.15/v2.15-ChangeLog util-linux-ng 2.15-rc2: Apr 17 2009 * see Documentation/releases/v2.15-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.15/v2.15-rc2-ChangeLog util-linux-ng 2.15-rc1: Mar 18 2009 * see Documentation/releases/v2.15-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.15/v2.15-rc1-ChangeLog util-linux-ng 2.14: Jun 9 2008 * see Documentation/releases/v2.14-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.14/v2.14-ChangeLog util-linux-ng 2.14-rc3: May 19 2008 * see Documentation/releases/v2.14-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.14/v2.14-rc3-ChangeLog util-linux-ng 2.14-rc2: Apr 28 2008 * see Documentation/releases/v2.14-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.14/v2.14-rc2-ChangeLog util-linux-ng 2.14-rc1: Apr 16 2008 * see Documentation/releases/v2.14-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.14/v2.14-rc1-ChangeLog util-linux-ng 2.13: Aug 28 2007 * see Documentation/releases/v2.13-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.13/v2.13-ChangeLog util-linux-ng 2.13-rc3: Aug 8 2007 * see Documentation/releases/v2.13-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.13/v2.13-rc3-ChangeLog util-linux-ng 2.13-rc2: Jul 17 2007 * see Documentation/releases/v2.13-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.13/v2.13-rc2-ChangeLog util-linux-ng 2.13-rc1: Jul 4 2007 * see Documentation/releases/v2.13-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.13/v2.13-rc1-ChangeLog util-linux 2.13-pre7 * mount: default to cifs instead of smbfs for sources starting with // (Lars Mueller) * flock: documentation updates (H. Peter Anvin) * new translation: id * updated translations: de, it, sl, uk util-linux 2.13-pre6 * getopt: updated to 1.1.4 * replaced all *llseek variants with lseek * misc build system, code and docs cleanups and fixes * updated translations: fr, it util-linux 2.13-pre5 * {fsck,mkfs}.cramfs: updated to cramfs-1.1 * {fsck,mkfs}.cramfs: removed PAGE_CACHE_SIZE usage * umount: fix "umount -n -r" (Derick Swanepoel) * misc build system and code cleanups and fixes * updated translation: ca util-linux 2.13-pre4 * don't build fdisk on m68k (Mike Frysinger) * misc build system and documentation fixes * removed program: clear util-linux 2.13-pre3 * misc buld system fixes * cfdisk: fix a segfault with ReiserFS partitions * umount: disallow -r option for non-root users * updated translations: da, fr, it, nl, ru, sl, tr util-linux 2.13-pre2 * flock: replaced with flock-2.0.2 by H. Peter Anvin * misc build system fixes, libtool is no longer used * misc code fixes * updated translations: ca, fi, fr, nl, ru, tr util-linux 2.13-pre1 * use GNU autoconf/automake/libtool for building * added schedutils * removed support for curses implementations other than ncurses * removed programs: arch, passwd, rescuept, setfdprm, sln * removed mkminix-0.1/ * misc fixes and documentation updates * new translation: vi * updated translations: ca, de, fi, fr, it, nl, ru, tr util-linux 2.12q * updated translation: nl util-linux 2.12q-pre2 * sfdisk: document -G option in --help output * updated translations: ca, et, fr util-linux 2.12q-pre1 * new maintainer * sfdisk: add -G option (Andries Brouwer) * updated translations: de, es, ru, sv, tr util-linux 2.12p * cfdisk: fix number of new partition when partitions not in disk order * fdisk: fix Sun label handling in sector mode * mkfs: never truncate filename (not that that ever happened) * more: fix redraw flaw util-linux 2.12n,o * lomount: revert patch from 2.12j * lptune.8: -T option is obsolete * mkswap, mkswap.8, swapon: support labels (use HAVE_BLKID=no as long as the blkid library doesn't support this) * umount: allow user unmounting repeatedly mounted nfs mounts util-linux 2.12m * cfdisk: recognize JFS, support reiserfs labels (flavio.stanchina@tin.it) * mount: fix option parsing bug * mount.8: several updates * swapon.8: document -v option util-linux 2.12l * Makefile: remove cat-id-tbl.c upon make clean * fdisk: fixed a bug that would cause a non-update of a sun disklabel * fdisk: use sectorsize instead of 512 for SGI (Eric Y. Theriault) * fdisk: use __attribute__((packed)) for alpha, ARM: avoid unaligned accesses * hwclock: actually use HAVE_tm_gmtoff * swapon: fix priority handling * umount: refuse to unmount an empty string util-linux 2.12k * cfdisk: fixed a signed character bug causing problems for Spanish users * configure, MCONFIG: detect gcc 3.4.0 and use -mtune option (Matthew Burgess) * configure: do not run ./conftest (for cross compilation) (NIIBE Yutaka) * fsck.cramfs: try to get correct PAGE_CACHE_SIZE * losetup: try to give better error messages * readprofile: default map file is /boot/System.map * rdev.8: added historical info on ramdisk * New French, Spanish, Swedish and Turkish messages util-linux 2.12j * cal: highlight today (Pádraig Brady) * lomount: stop reading passwd at NUL, fix lo_encrypt key_size (Wolfram Kleff) * losetup: add -f option to find an unused loop device (Alexander Wigen, Remco van Mook) * more: code cleanup (Joachim Henke) * mount: add "group" mount option (Martin Dickopp) * sfdisk: fix 2.6.8 BLKRRPART ioctl damage (Eric Lammerts) * swapon: let swapon -a skip the swapfiles marked "noauto" (Dale R. Worley) * umount: fix problem with empty mtab (Bryan Kadzban) * umount: use special umount program if it exists (Ram Pai) * New Danish and French messages util-linux 2.12i * MCONFIG: fix build conditions * chfn, chsh: add error checking * cytune: use local header cyclades.h * fdisk: fix default SGI volume header size (Eric Sandeen) * fstab.c: use strsignal() instead of sys_siglist[] * hwclock: use when available on i386 * hwclock: don't try KDGHWCLK on archs other than __m68k__ * sfdisk: correct typo in __attribute__used nonsense * sfdisk: use PACKED on __arm__ (Jeroen Dobbelaere) * sfdisk: fix warning printout util-linux 2.12e,f,g,h * cfdisk: avoid crash if no partition table * elvtune: tell user that this only works on 2.4 kernels * lomount: clear passwords after use * mount: accept comments (introduced by \;) in fstab - withdrawn again * mount: accept comments (specified by comment=) in fstab * mount: support ocfs, ocfs2 * [u]mount: be more careful with malloc, try to avoid OOM with many mounts * sfdisk: __attribute__used nonsense to support gcc 3.4 * shutdown: do not unmount various virtual filesystems util-linux 2.12c,d * mount.8: added recent ext2 mount options * mount: support jfs mount-by-label, improve reiserfs support * sfdisk: remove strange "ends in a digit" heuristic * *fdisk: use common disksize() routine util-linux 2.12b * chsh: improved error message * dmesg: ask kernel proper buffer size * losetup: handle 64-bit offsets * blockdev: also report BLKGETSIZE64 result * blockdev, elvtune, fdisk: handle new kernel _IOR,_IOW defines * fdisk: remove strange "ends in a digit" heuristic * fdisk: also list Solaris as possible type for 0x82 * mount: added --rbind option * mount: use blkid, uuid libraries when available * mount: support reiserfs mount by label * mount: attempt to use the right definition of dev_t in struct loopinfo * mount.8: jfs mount options added * readprofile: new -s option * rename.1: added ref to mmv.1 * replay: renamed to scriptreplay; correct typos * script: do not use locale for time delay floating point number format * sfdisk: error messages to stderr * New Catalan, Dutch, Finnish, French, German, Spanish, Swedish, Turkish, Ukrainian messages util-linux 2.12a * chfn, chsh, login, vipw: SElinux support * fdisk: fix for kernels 2.4.15-2.4.17 * fdisk: fix when all partitions are in use * hwclock: add a timeout when waiting for a clock update (Göran Weinholt) * ipcs: compilation fix * ipcs: shminfo.shmall gives pages * login: use getutline() instead of getutid() * login: fix for 64-bit time_t * mount: efs support * partx: bigendian fix * readprofile: support for 64-bit addresses * setterm: fix klogctl error message (Joern Heissler) * setterm.1: clarification * sfdisk: fix check for is_ide_cdrom_or_tape * umount: skip proc, devfs, devpts on umount -a util-linux 2.12 * losetup: cryptoloop support * losetup: -p option specifies fd for passphrase * fdisk: sgi layout fix * mount: -p option specifies fd for passphrase * mount: recognize some PCDOS floppies * umount: in "umount name", first try to interpret "name" as a mount point util-linux 2.12pre * Catalan messages (Antoni Bella Pérez) * Danish messages (Claus Hindsgaul) * Dutch messages (Taco Witte) * Finnish messages (Lauri Nurmi) * French messages (Michel Robitaille) * German messages (Michael Piefel) * Slovenian messages (Primož Peterlin) * Spanish messages (Santiago Vila Doncel) * Swedish messages (Christian Rose) * Turkish messages (Nilgün Belma Bugüner) * cfdisk: localize the Y/N answer, improve printing localized messages * cfdisk: make various variables long long - some disks are close to 2 TB * cfdisk: use BLKGETSIZE64 * fdisk: make various variables unsigned to lengthen the life of 32-bit vars * fdisk: some sgi fixes (Phillip Kesling) * fdisk: k=1000, K=1024 * fdisk: removed last occurrences of HDIO_REQ * fdisk: use BLKGETSIZE64 * hwclock: fix rtc test (Heiko Zuerker) * login: set a timeout on printing the timeout message (Robert Ambrose) * md5: x86_64 fix (mmj) * more: POSIX fixes * mount: do not supply MS_MGC_VAL when there are conflicting flags * mount: ncp and smb are called smbfs and ncpfs - global change * mount: add support for xvm mount by label (Eric Sandeen) * mount: correct hfs magic recognition * mount: keep original umask - it influences the mount call (mmj) * raw.8: documented unbinding of raw devices * readprofile: fixed off-by eight error (Werner Almesberger) * script: add -c option (Wayne Davison) * sfdisk.8: added an example of partitioning with logical partitions * sfdisk: only add a AA55 signature for DOS-type partition tables * tailf: new (Rik Faith) util-linux 2.11z * Catalan messages (Antoni Bella Pérez) * Danish messages (Claus Hindsgaul) * Dutch messages (Taco Witte) * Finnish messages (Lauri Nurmi) * French messages (Michel Robitaille) - HURRAY! * German messages (Michael Piefel) * Slovenian messages (Primož Peterlin) * Spanish messages (Santiago Vila Doncel) * Swedish messages (Christian Rose) * Turkish messages (Nilgün Belma Bugüner) * getopt: replaced getopt-1.1.2 by getopt-1.1.3 (Frodo Looijaard) * mkcramfs: change default blocksize for ia64 and alpha * more.help: removed (it is built-in now, and translated) * mount: add -i option (inhibit calling external mount programs) * mount: change default: do resolve symlinks * readprofile: look for System.map also in /boot/System.map-`uname -r` (mmj) * sfdisk: also translate "start" and "end"; s/MB/MiB/ util-linux 2.11y * Danish messages (Claus Hindsgaul) * Finnish messages (Lauri Nurmi) * German messages (Michael Piefel) * Spanish messages (Santiago Vila Doncel) * Swedish messages (Christian Rose) * cfdisk: improve escape seq recognition when compiled with slang * fdisk: decimal units * hwclock/rtc.c: minor cleanup (Joachim Henke) * ipcs: compilation fix * more: kill external help file (Joachim Henke) * mount: fix LABEL= handling for user umount * mount: don't abort on read error on photocds (György Kövesdi) * mount.8: add dmask and fmask vfat mount options * pg: compilation fix (Joachim Henke) * script: localized time strings (Göran Uddeborg) * setterm: accept devfs name (Joachim Henke) * simpleinit: security: refuse initctl_fd if setting FD_CLOEXEC fails * umount: allow user umount after mount by label or uuid util-linux 2.11x * Danish messages (Claus Hindsgaul) * Dutch messages (Taco Witte) * Finnish messages (Lauri Nurmi) * German messages (Michael Piefel) * Swedish messages (Christian Rose) * Turkish messages (Nilgün Belma Bugüner) * cfdisk: correct error printout * fdisk: allow addition of a new partition when logicals all used but primary free * hwclock: detect systime jumps backward during setting hwclock * mkfs.cramfs: do not mmap all files simultaneously * mkfs.cramfs: make blocksize settable * mkfs.minix: correct error printout * mkswap.8: now max 32 swapspaces * mount: new --rbind flag, for recursive loopback mounts * mount, umount: new -O option (Michael K. Johnson) * mount.8: -O and win95 options documented * setpwnam.c: open temp pw file with O_EXCL * simpleinit: fix for "spawn too fast" (Denis Vlasenko) * swapon: new -e option (Erik Troan) util-linux 2.11w * cfdisk, fdisk: allow slightly larger disk sizes * fdisk: Makefile: also for m68 (sun3) (Kaj-Michael Lang) * fdisk: allow to use the last partial cylinder, change display format * fdisk: do not ask partition number in case there is only one choice * fdisk: new sunlabel fix * login: fix possible local root exploit (Wojciech Purczyński) * more: bigendian fix util-linux 2.11v * Catalan messages (Antoni Bella Pérez) * Finnish messages (Lauri Nurmi) * Very few Russian messages (panivan@yandex.ru) * Slovenian messages (Primož Peterlin) * Spanish messages (Santiago Vila Doncel) * Swedish messages (Christian Rose) * Turkish messages (Nilgün Belma Bugüner) * fdisk: add -C, -H, -S command line options * fdisk: allow changing type 0 * mkswap: enable use of > 2GB swapspace * more: translation fix * mount: set umask (Sebastian Krahmer) * mount: test both le and be version of cramfs magic (Olaf Hering) * mount: recognize Oracle magic * pg: use fseeko64 and ftello64 when available util-linux 2.11u * Danish messages (Claus Hindsgaul) * German messages (Michael Piefel) * Spanish messages (Santiago Vila Doncel) * Swedish messages (Christian Rose) * Turkish messages (Nilgün Belma Bugüner) * configure: for fsck.cramfs, mkfs.cramfs: add test for libz * text-utils/Makefile: pg fix (Toomas Rosin) * po/Makefile: typo fix (Silvan Minghetti) * agetty: use same test as login does to find utmp entry * fdisk: fix for fdisk on empty disk (Michael D. Black) * hwclock: compilation fix on alpha * mount: add mount by label for jfs (Christoph Hellwig) * mount: add mount by label for evms (Luciano Chavez) * mount: allow regular files when guessing (Michal Svec) * partx/gpt.c: fix size computation (Matt Domsch) * readprofile: new option -b (David Mosberger) * umount: don't umount devfs upon umount -a (David Gilbert) util-linux 2.11t * fdformat: remove test on major * fsck.cramfs: added NLS * fdisk: fix device names with sundisklabels under devfs (Kaj-Michael Lang) * fdisk: minor polishing * hwclock: also handle ENOTTY ioctl return (Maciej W. Rozycki) * hwclock: minor polishing * ipcrm.8: minor polishing * mkfs.cramfs: added NLS * mkfs.cramfs: added -v (verbose) option, and made default silent * mount: patch for make -j (RedHat) * swapoff: minor polishing util-linux 2.11s * Estonian messages (Meelis Roos) * French messages: some minor corrections * German messages (Michael Piefel) * Spanish messages (Santiago Vila Doncel) * Swedish messages (Christian Rose) * Turkish messages (Nilgün Belma Bugüner) * MCONFIG: allow "make DISABLE_NLS=yes " (Peter Breitenlohner) * configure: don't run ./conftest - better for cross-compilation (Magnus Damm) * fdisk: fixes for disks with OSF/1 label * fsck.cramfs: new (from kernel source) * hwclock: improved adjtime handling (James P. Rutledge) * hwclock: remove shhopts stuff * ipcs: remove unused heading (Michael Kerrisk) * line: replace by C version - the sh version was broken (Gunnar Ritter) * login: default root path: added /usr/local/[s]bin (RedHat) * mkfs.cramfs: new (from kernel source) * mount: when no type is known, assume that prefix // implies samba (RedHat) * mount -a: avoid stat on devices that have noauto option (Jeroen Mostert) * mount by label: ignore RAID partitions (RedHat) * [u]mount: fstab.c fix (ejb@ql.org) * pg: new (Gunnar Ritter) * sfdisk: small BSD partition fix * swapoff -a: also do swapoff on all files found in /proc/swaps * swapon -a: skip files already found in /proc/swaps util-linux 2.11r * Estonian messages (Meelis Roos) * German messages (Michael Piefel) * Spanish messages (Santiago Vila Doncel) * Swedish messages (Christian Rose) * Turkish messages (Nilgün Belma Bugüner) * MCONFIG: move $(CFLAGS) to the end to allow overrides (Kevin P. Fleming) * cal: tiny fix (Mitsuru Chinen) * fdisk: avoid * fdisk: x86_64 patch (Mads Martin Jørgensen) * hwclock.8: zoneinfo is now in /usr/share * mkswap: report in KiB instead of bytes. util-linux 2.11q * fdisk: geometry improvement * login: open tty fix (Denis Vlasenko) * more: wide character patches (Mitsuru Chinen) * mount: complain on mount-by-label when label is not unique (Matt Copping) * partx: add GUID Partition Tables (Matt Domsch) util-linux 2.11p * Danish messages (Claus Hindsgaul) * German messages (Karl Eichwalder) * Spanish messages (Santiago Vila Doncel) * Swedish messages (Christian Rose) * Turkish messages (Nilgün Belma Bugüner) * ipcrm: make POSIX compatible (Andre Corwin Mazzone) * ipcrm.8: idem * kill: fixed Makefile * login: setsid fixes * mkswap: max size of swap space is very large (Peter Chubb) * mount: JFS support for mount-by-label (hch) * nfsmount: check for (hch) * readprofile: keep track of line numbers (John Levon) * umount: fix for MNT_DETACH util-linux 2.11o * Estonian messages (Meelis Roos) * Japanese messages (Daisuke Yamashita) * Spanish messages (Santiago Vila Doncel) * cal: option -s: Sunday is first day of the week * cal.1: updated * cfdisk: give not only bytes but also MB or GB for clarity. * colrm: wide character fix (Elliot Lee) * *fdisk: added Darwin types (Vincent Bourgonjen) * fstab.5: updated * hexdump: -C option * hwclock: cmos.c: do not include on alpha * mount: improved detection of ufs (and slowdown of detection of iso9660) * mount.8: added info on * in /etc/filesystems, shortname option of vfat, mount --move, udf, return codes * raw: try /dev/raw/rawctl when /dev/rawctl fails (Thierry Vignaud) * rc.serial: removed - setserial is no longer in util-linux (kromJx) * README.admutil: removed - only of historical interest * README.bootutils-0.1: removed - only of historical interest * script: security fix * sfdisk: improved geometry detection; wider columns; default disks from /proc/partitions * umount: permission test owner umount * wall.1: added suid restriction util-linux 2.11n * Danish messages (Claus Hindsgaul) * German messages (Karl Eichwalder) * Swedish messages (Christian Rose) * Turkish messages now in UTF-8 (Nilgün Belma Bugüner) * blockdev: add --report option * cal: fix for wide multibyte-char (Motonobu Ichimura) * cfdisk: recognize ext3 and reiserfs (Flavio Stanchina) * fsck.minix: i18n changes * ipc.{info,texi}: minor correction * login: compilation fix (Jaroslaw J. Pyszny) * mount.8: tmpfs mount options (Karl Eichwalder) * mount: recognize minix v2 * mount: support mount-by-label also for lvm (Kirby Bohling) * mount: order guessing of fstypes according to seek offset * pivot_root: compilation fix for ia64 * readprofile: byte order auto-detection (Werner Almesberger) util-linux 2.11m * Danish messages (Claus Hindsgaul) * German messages (Karl Eichwalder) * Swedish messages (Christian Rose) * Turkish messages (Nilgün Belma Bugüner) * fdisk: added netbsd type (Steven J. Hill) * more: fix for unsigned char (Rusty Russell) * mount: added sysv magic (Tim Launchbury) * setterm: fixed "setterm -foreground default" util-linux 2.11l * Danish messages (Claus Hindsgaul) * banner: removed - it is in bsdgames * fdisk: show partitions with empty type but some other nonzero field * login: copy the static struct that getpwnam() returns before calling PAM routines that might themselves use getpwnam(). Abort on problems. (Olaf Kirch) * mount: added jfs magic (Christoph Hellwig) * renice: report the correct new priority after a setpriority() * umount: add lazy unmount (Christoph Hellwig) util-linux 2.11k Various potential buffer overflows were pointed out by awayzzz@digibel.org. Fixes in agetty, hwclock, namei, readprofile, simpleinit, vipw. (Also added a few [f]close() calls - entirely superfluously.) * agetty: avoid possible buffer overflow * cfdisk: recognize xfs (Nathan Scott) * cytune: added close() * fdformat: added close() * fdisk: added fclose() * hwclock: avoid possible buffer overflow * mkfs.minix: added fclose() * mount: remove the assumption that 635 is the default mount port * namei: avoid possible buffer overflow * rdev: added closedir() * readprofile: avoid possible buffer overflow * sfdisk: added fclose() * simpleinit: avoid possible buffer overflow * swapon: added fclose() * umount: use tcp when mount was done using tcp (James D Strandboge) * vipw: avoid possible buffer overflow util-linux 2.11j * fdisk: fix for AIX label (Olaf Hering) * fdisk: fix for creating DOS label when BSD label is present * mount.8: added remark about blocksize to ext2 sb= mount option description. * partitiontype: new, not installed util-linux 2.11i * testincl: do not run conftest (Brian Murphy) * blockdev: corrected ioctl numbers now that BLKBSZGET is in 2.4.10pre3 * cal: fixed for Hungarian locale * cal: fixed for multibyte locales (Pablo Saratxaga) * fdisk: avoid superfluous warning about DOS partitions * line: new, to support SCO shell scripts (Christoph Hellwig) * mount: added vxfs magic * passwd: tiny fix for ARM (Ken Cox) * replay: replay typescript with timings (Joey Hess) * script: add -t flag for timing (Joey Hess) util-linux 2.11h * Turkish messages (Nilgün Belma Bugüner) * Danish messages (Claus Hindsgaul) * banner: minor fix (awayzzz@digibel.org) * mkfs.minix: minix v2 fix * more.1: improved (Edward Betts) * mount.8: corrected description of the nwfs uni_xlate mount option * vipw: make temp files of mode 0600 (Bill Nottingham) * wall: avoid writing to /dev/:0 util-linux 2.11g * MCONFIG & configure: fix for gcc 3.0 Note that nfsmount_xdr.c may give warnings with gcc 3.0, essentially because of defines in that use things like ntohl(*buf++) where ntohl(x) is a macro with several occurrences of x. * blockdev: support for the get/set blocksize ioctls [not yet in the 2.4.5 kernel] * fdisk: added Linux/PA-RISC type (Matt Taggart) * mount: minor fix (Andrey J. Melnikoff) * mount: added some ext3 stuff (Andrew Morton) * mount: added heuristics for reiserfs (Andrew Morton) * mount.8: added ext3 and reiserfs docs (Andrew Morton) util-linux 2.11f * Czech messages (Jiří Pavlovský) * fdisk: fix for "reorder" expert command (use of sfdisk afterwards is still recommended) * mount: minor fixes util-linux 2.11e * Danish messages (Claus Hindsgaul) * Brazilian Portuguese messages (Rodrigo Stulzer Lopes) * agetty: give tty mode 0600 instead of 0622 * cal: improved manpage * cfdisk: add user-friendliness in case of empty disk (Matthew Wilcox) * dmesg: improved manpage * fdisk: SuperH fix (ISHIKAWA Mutsumi) * hwclock: accept alpha options in both upper and lower case (so as to make the man page correct) * hwclock: add option --noadjtime (Henrique M. Holschuh) * login: child must have controlling tty (Michał Moskal) * more: don't seek unseekable input (David Whedon) * mount: upon request by Richard Gooch: if the mount point is specified as symlink, put symlink, not actual mount point in mtab. (This avoids the long and ugly devfs names, but may break things. Please complain in case of problems.) * mount: with mount -a -t nfs: if we used fallback to nfs v3, don't do so for subsequent mounts * mount: add heuristics for ext3 (Andrew Morton) * mount: added quota info to mount.8 * mount: allow comma-separated type lists, also in fstab * raw: small fix for ppc util-linux 2.11d * fdisk: fix for OSF (Will Woods) * chsh: compilation fix (Ronald Wahl) util-linux 2.11c * Czech messages (Jiří Pavlovský) * German messages (Elrond) * Makefile/MCONFIG improvements (Peter Breitenlohner) * fdisk: added a few partition types * fdisk: correct partition numbering for sgi partitions (Nathan Scott) * fdisk: make it compile on hppa by arbitrarily treating hppa like powerpc (Matt Taggart) * fsck.minix: improved localisation (Elrond) * getopt: updated to version 1.1.2 (Frodo Looijaard) * hwclock: fixes for IA64 (Thorsten Kukuk) * hwclock: use /dev/vc/1 when devfs is used (Thomas Koeller) * hwclock: more devfs support (e.g. /dev/misc/rtc) * ipcs: add spaces in output (DeWitt Clinton), correct some error messages (Bobby de Vos) * login: fix TIOCNOTTY (Andreas Haumer, Adam J. Richter) * login: add btmp logging of unsuccessful login attempts (Erik Troan) * login: avoid a SIGHUP race with PAM enabled (Peter 'Luna' Runestig) * login: copy the static result returned by gethostbyname to avoid corruption by pam_authenticate via pam_ldap (Andreas Damm) * login: removed the REDHAT_IGNORED_MAILSIZE hack * login: unconditionally do vhangup * login: zero PAM_USER when no username was given (Arkadiusz Miśkiewicz) * look: dictionary now under /usr/share (Erik Troan) * mount: add sanitize_env() (Solar Designer) * mount: another heuristic for vfat (Michal Svec) * mount: xfs magic has only one endianness (Nathan Scott) * mount: return failure when tcp used and portmap returns 0 (H. J. Lu) * rdev: allow unlimited recursion to find the long devfs names Also, allow major,minor pair the specify device (request by Russell Coker) * readprofile: array bound check (Andrew Morton) * script: transmit window changes to child (Joey Hess) * sfdisk: endian fix for ppc (Gregory Geiselhart) * sfdisk: new feature: sign is offset from default (Byron Stanoszek) * sfdisk: add some default devices to list (Luca Montecchiani) * sfdisk: no partition table on ide tape * shutdown: close files, unblock signals (Richard Gooch) * simpleinit: block signals in handlers; add no_reboot option (Richard Gooch) * swapdev: deleted, it was last used with Linux 0.12. * umount: mips does support umount2 (Maciej W. Rozycki) * umount: add sanitize_env() (Solar Designer) * umount: fix exit status * wall: do not forget 80th character (Thorsten Kukuk) util-linux 2.11b: * Danish messages (Claus Hindsgaul) * umount: mips does not support umount2 (Christoph Martin) * fdisk: tiny fix * mount.8: adfs options documented, xfs corrected util-linux 2.11a: * tsort: deleted - it is part of GNU textutils 2.0 * mount: fix rootdev() (Richard Kettlewell) * mount: fix gid of mtab file * mount: try /proc/filesystems after /etc/filesystems if the latter ends in "*" * fdisk: added a few system types util-linux 2.11: * Jump to 2.11 to note that libc-4.5.26 is no longer supported, and we require libc-4.6.27 (since now snprintf is used). Also, kbdrate has now been removed. Find it in kbd-1.05. Added -D_FILE_OFFSET_BITS=64 to CFLAGS. * Danish messages (Claus Hindsgaul) * fdisk: avoid loop in case of extended without logical * ipcs: corrected interchanged report on msg_rtime/msg_stime (Arun Kumar U) * kill: updated manpage * last: very much faster with mmap (Marek Zelem) * login: Applied PAM patch by David MacKenzie * login: do a setsid in the child (Erik Troan) * mount: make "mount 192.168.1.8:/ /a -o bg" work again (Bjoern Voigt) * mount: added constant MS_MOVE * readprofile: added -M option, updated manpage (Andrew Morton) * setsid: fork when it would fail otherwise (John Fremlin) * simpleinit: updated (Richard Gooch et al.) * vipw: also offer to edit shadow file (Erik Troan) * xfs docs (Nathan Scott) util-linux 2.10s: * Danish messages (Claus Hindsgaul) * fixes to make gcc happy (Joseph S. Myers) * fix for more on parisc (Richard Hirst) * change rdev to search subdirectories of /dev (Paul Clements) * ul fix (Masao Kawamura) - set columns correctly * cal fix (Brendan Kehoe) - don't overflow weekday array in Gaelic * fdisk fix (niles@scyld.com) - flush stdout * fdisk fix - don't forget to write out empty label * login: make default tty mode 0600 * script: refuse to write typescript if that is a symlink * script: accept -V to output version * whereis: also search /usr/share/man. * hwclock: improve locale handling * hwclock: fix for Nautilus (Neoklis Kyriazis) * isosize: new util-linux 2.10r: * mount: support mount by uuid or label for xfs (Nathan Scott) * mount: added probe for minix on bigendian systems (Nathan Scott) * mount: added probes for cramfs, hfs, hpfs and adfs (Sepp Wijnands) * mount: change setup; let umount remove at most one line from /etc/mtab * mount: improve man page * more, col, colcrt, colrm, column, ul: nls improvements (Masao Kawamura) util-linux 2.10q: * mount: accept nonnumeric uid= and gid= options * write and wall: security improvement * fixed fdformat flaw (Werner Almesberger) * use right mountport upon umount (Glenn Lingle) * simpleinit / need / initctl stuff (Richard Gooch) * Portuguese messages (Rodrigo Stulzer Lopes et al.) util-linux 2.10p: * mount: don't set up a loop file with -o loop,remount (Marc Mutz) * fdisk: changes for sectorsize different from 512 * more: standout fix (Paul Vojta) * more: improve usage message (Lincoln Myers) * logger: Added -d option to use datagrams (Gerwin Pfab) * cal: Added -3 option to also print prev/next month (Michael Charles Pruznick) * French messages (Christophe Merlet) * Japanese messages (Daisuke Yamashita) util-linux 2.10o: * fdformat: fixed to work with kernel 2.4.0test6 (Marek Wojtowicz) * losetup: also return status when only showing loop device status (ewt) * mount: do not retry ro if mount was ro; improve error message * login: not installed suid * getopt: by default install aux files in /usr/share/misc util-linux 2.10n: * added blockdev.8 * change to elvtune (andrea) * fixed overrun in agetty (vii@penguinpowered.com) * shutdown: prefer umounting by mount point (rgooch) * fdisk: added plan9 * fdisk: remove empty links in chain of extended partitions * mount: define ALWAYS_STAT * mount: add replace, after, before, over, bind * umount: also free loop device when not writing mtab * lomount: try both /dev/loopN and /dev/loop/N * hwclock: handle both /dev/rtc and /dev/efirtc (Bill Nottingham) * script: added -f (flush) option (Ivan Schreter) * script: added -q (quiet) option (Per Andreas Buer) * getopt: updated to version 1.1.0 (Frodo Looijaard) * Czech messages (Jiří Pavlovský) util-linux 2.10m: * chfn fix when PAM is used (Martin-D. Lacasse) * do not use LC_NUMERIC part of locale in hwclock when writing /etc/adjtime * mount status return from smb or ncp fix (Mark Peloquin) * mount new option -l: also print label when listing mounts * mount add heuristic for xfs (Martin K. Petersen) * mount UUID and label cache (Erik Troan) * mount improve check for `already mounted' in case of label or uuid * fdisk partition names more devfs-friendly * fdisk bsdlabel large disk support * setterm.1: options documented (Colin Watson) * rename correction * German, Spanish, French, Italian, Portuguese messages (Roger Luethi, Beth Powell, Alvaro Antunes) util-linux 2.10l: * Merged losetup.c and lomount.c * ANSIfied everything util-linux 2.10k: * NFS version 4 mount support (Trond Myklebust) * hwclock fix (Stefan Ring) * Added -p option to col, as required by SUS (Joseph S. Myers) util-linux 2.10j: * fdisk fixes (Michal Jaegermann) util-linux 2.10i: * new directory partx (with code to play with, not to use) * minor fdisk changes util-linux 2.10h: * Added pivot_root (Werner Almesberger) * Added elvtune (Andrea Arcangeli) * Added need and extended simpleinit and shutdown (Richard Gooch) * Removed all #include * errno fixes (Joseph S. Myers) * IA-64 fixes (Michael K. Johnson) * fdisk fixes for OSF/1 on Alpha (David Huggins-Daines) * fdisk sectorsize fix (Greg Hosler) * mount speed= option to enable mounting bad CDROMs (Marco d'Itri) * ipcrm deletes several things at once (Frank Zago) util-linux 2.10g: * fdisk can now sort partitions into order [untested, beware!] * Update of mkswap for sparc64 (jj) * Update of raw (Stephen Tweedie): Control file was /dev/raw, now /dev/rawctl Access files were /dev/raw*, now /dev/raw/raw* * Czech messages (Jiří Pavlovský) * German messages (Daniel Egger) * losetup locks memory (Frank v Waveren) util-linux 2.10f: * Security fix for mount (okir) * Avoid infinite loop in namei (Brett Wuth) * added clock-ppc.c (from Matsuura Takanori), not merged yet * deleted clockB subdirectory * recognize mkdosfs string (Michal Svec) util-linux 2.10e: * New: rename * Added option to mkswap so that user can override pagesize * fdisk -l now reads /proc/partitions when no device was given * Fixed fdisk.8 (James Manning) * Added devpts info to mount.8 (Elrond) * Newline fix for logger output to stdout (Henri Spencer) util-linux 2.10d: * Do not try to mount something as udf without good reason * Do not loop in umount if there is a stale lock file * Allow fdisk twice as many cylinders * Fixed non-casefolding search in look (Markus Demleitner) util-linux 2.10c: * Various compilation fixes util-linux 2.10b: * Fixed smbmount problem (Andrew Tridgell) * Fixed ddate problem with the day after St. Tib's Day (Brad) * German messages (Elrond) * Made kill a bit more standard compliant * Made some more programs output a version util-linux 2.10a: * Japanese messages (Daisuke Yamashita) * French messages and several Debian fixes (Vincent Renardias) * Fixed infinite loop in mkfs.minix util-linux 2.10: * Added BSD disklabel code to rescuept * Added blockdev utility * Fix losetup return code * Fix unit display in cfdisk * Do not redefine _PATH_MAILDIR (so that recent systems can have /var/mail) * Added --localtime option to hwclock; added third line (LOCAL/UTC) to /etc/adjtime. * Add -H option to agetty (David Holland) util-linux 2.9z: * Japanese messages (Daisuke Yamashita) * Czech messages (Jiří Pavlovský) * Added some udf stuff to mount.8 * Added ioctl for fdisk on bsdlabels util-linux 2.9y: * Wide character support (Bruno Haible) * German messages and some small fixes (Elrond) * Small fix to owner mount option (Erik Troan) * Don't sleep so long in clock/kd.c (Christian T. Steigies) util-linux 2.9x: * German messages and a i18n fix (Elrond) * mount option: allow the owner to mount a device (RedHat) * ugly: let login open console with O_NONBLOCK (Maciej W. Rozycki) * UGLY: let login ignore mail that is precisely 523 bytes long (RedHat) * added mkfs.bfs, mkfs.bfs.8 * mount now recognizes qnx4 and bfs partitions * rescuept now recognizes Unixware partitions * hwclock fix on m68k (Roman Hodek) * several minor things util-linux 2.9w: * Updated mount.8 (Yann Droneaud) * Improved makefiles * Fixed flaw in fdisk util-linux 2.9v: * cfdisk no longer believes the kernel's HDGETGEO (and may be able to partition a 2 TB disk) util-linux 2.9u: * Czech more.help and messages (Jiří Pavlovský) * Japanese messages (Daisuke Yamashita) * fdisk fix (Klaus G. Wagner) * mount fix (Hirokazu Takahashi) * agetty: enable hardware flow control (Thorsten Kranzkowski) * minor cfdisk improvements * fdisk no longer accepts a default device * Makefile fix util-linux 2.9t: * national language support for hwclock * Japanese messages (both by Daisuke Yamashita) * German messages and some misc i18n fixes (Elrond) * Czech messages (Jiří Pavlovský) * wall fixed for /dev/pts/xx ttys * make last and wall use getutent() (Sascha Schumann) [Maybe this is bad: last reading all of wtmp may be too slow. Revert in case people complain.] * documented UUID= and LABEL= in fstab.5 * added some partition types * swapon: warn only if verbose util-linux 2.9s: * tunelp patch (Andrea Arcangeli) * fixed mount race (HJLu) * German messages (Elrond) util-linux 2.9[pqr]: * errno->errsv patch (Arnaldo Carvalho de Melo) * hwclock patch for the Award 4.50g BIOS "2094" bug. (Dave Coffin) * fdisk patch to correct deletion of last logical partition util-linux 2.9o: * fix to login by Ambrose C. Li * improvement to mcookie inspired by a patch from Rik Faith * more i18n by Arnaldo Carvalho de Melo; pt_BR locale util-linux 2.9n: * Added -u option to logger (write to user-specified socket; Martin Schultze) * Added mount.smb script contributed by Greg Galperin * Some more national language support * mkfs.minix argument parsing fixed * write fixed for /dev/pts/xx ttys * configure adapted for the case of that needs u_char. util-linux 2.9m: * Added national language support (misiek@pld.ORG.PL) * minor improvements in mount, fdisk, cfdisk, agetty, more util-linux 2.9l: * Added /dev/port use to hwclock again - it may be necessary for Jensen. util-linux 2.9k: * major reshuffle of hwclock stuff; added sparc and alpha code * fdisk fix * tiny shutdown fix util-linux 2.9j: * added configure * merged three lists of partition types in *fdisk * multi page display in cfdisk * test for getlogin() == ""; * start fixup hwclock util-linux 2.9i: * fixed 2.9h typo in more * added -m: `Monday is 1st day' option to cal (Jean-Francois Bignolles) * changed PAM stuff in login.c (+- mjohnson) * added warning to cfdisk in case of multiple bootable partitions * added 2048-byte sector support in fdisk (Oliver Schaertel) util-linux 2.9h: * mount recognizes "uid=useruid" and "gid=usergid" in /etc/fstab. * documented the fact that "mount -t smb" will call /sbin/mount.smb. * mount gives clear error message when fstab does not end in newline. * swapon checks mode of file * cfdisk got a more specific exit status (Enrique Zanardi) util-linux 2.9g: * mount updates (locking, "users" keyword, "/etc/filesystems", "proto" and "vers" options in nfsmount, ...) util-linux 2.9f: * made ul handle lines of arbitrary length (Scott Maxwell) * killed some C/H/S nonsense in fdisk * fixes for archs with unsigned char type (Ambrose Li) * fdisk fixes for power pc (Tom Rini) * added a define for NCURSES_CONST * fixes for list of signals in kill.c * fixes for user name length in last.c util-linux 2.9e: * added a forgotten declaration to login.c (Christian Oyarzun) util-linux 2.9d: * fixed segfault in umount caused by Wilcox' patch (Steffen Zahn) * added lnz stuff to fdisk util-linux 2.9c: * refixed PAM stuff in login.c that was broken in 2.8. util-linux 2.9b: * split README into INSTALL and HISTORY * added a sentence to swapon.8 * behavior of write on non-ASCII fixed * hwclock adapted to survive a failing mktime() util-linux 2.9a: * added an include to lib/my_reboot.c so that __GLIBC__ is defined * added setlocale() to login-utils/chfn.c * do not recompute MAIL in login-utils/login.c util-linux 2.9: HIGHLIGHTS for version 2.9: 1) Removed programs: - strings. There is a version in binutils. - frag. (Moved to historic in 2.4, crept back in 2.5. Gone again.) 1a) Not yet removed program: - setfdprm. It also is in fdutils-5.2 (with an exceptionally ugly man page). 1b) Removed directory: - bsd. (The routine getopt() is in libc. err() moved to lib.) 2) Improvements: - ddate has been fixed to count down to the new, right X-day - look is now willing to search non-English dictionaries (i.e., uses locale) - cal now knows that Dutch day abbreviations have length 2 only - mcookie does not block when no random stuff is available - shutdown got a configuration file /etc/shutdown.conf - fdisk now reads SGI disk labels (thanks to Andreas Neuper) - mkswap now knows about new swap areas; mkswap.8 has been rewritten - umount knows about umount2() and forced unmounting of nfs mounts (however, I don't think it really works) - mount is now willing to handle file names with embedded spaces - mount can now mount things by UUID or volume name 3) Uglifications: - swap.h has been replaced by a private swap_constants.h since does not compile - reboot has become a private routine, since libc5 and glibc2 conflict - a mkminix-0.1 directory contains some patches to let mkfs.minix work under DOS. (Untested.) 4) Numerous other small changes. 0xF) Send questions and/or patches to util-linux@math.uio.no util-linux 2.9 was released by Andries Brouwer - aeb@cwi.nl The address util-linux@math.uio.no reaches Rik, Andries, Peter, Michael, Erik, Nicolai and possibly others. Hwclock stuff is forwarded to Bryan. util-linux 2.8: HIGHLIGHTS for version 2.8: 1) New programs: - getopt(1) by Frodo Looijaard replaces the older bsd based version. Keywords: Backward compatible, supports --long options. 1) Removed programs: - chroot: is no longer in util-linux. Get it free with GNU sh-utils - hostid: No-one could figure out the right way for this program to work. Another hostid program is included in poeigl (see the LSM, Primary-site: ftp.daimi.aau.dk /pub/linux/poe) 2) Various portability enhancements. Among other things hwclock now works a lot better on non Intel architectures. Should compile with libc 4, 5 and 6 as well as old and recent kernels. People using non-intel hardware are encouraged to send patches. 3) rev now only limits linelength to memory capacity 4) dmesg now uses a buffer that matches the kernel buffer in size (8KB) util-linux 2.7: HIGHLIGHTS for version 2.7: 1) util-linux now _requires_ ncurses. Several programs are completely converted to use terminfo (instead of termcap). 2) Removed programs: - clock: Dropped entirely. Use hwclock (included). - sync: is in gnu fileutils. - setserial: Is being maintained by Ted Ts'o, he recommends setserial-2.12 (2.13 is bad luck) - clear: Included in ncurses - hostname, domainname, dnsdomainname: It's in net-utils. - lpcntl. 3) Bugfixes, additions: - cfdisk: A much improved version. All known bugs have been fixed. - sfdisk: A command line fdisk type utility, formerly called fdisk-3.04. - SECURITY: All known holes in login, chfn, chsh and others have been plugged. UPGRADE NOW if you haven't already fixed them yourself. - Should work with libc 4, 5 and 6 (gnulibc), on m68k, intel, alpha and sparc. 4) Problems: - The rpcgen that comes in NetKit-B-0.09 is broken. At least as packaged with RedHat 4.2 (NetKit-B-0.09-6). There are several ways to deal with this: - Don't run rpcgen, the needed pre-generated sources are included (nfsmount_xdr.c). You must hack mount/Makefile to do this. - Edit the source emitted by rpcgen so it can compile. This is very simple if you know C. - Disable the NFS parts of mount. You have to edit mount/Makefile to do this. - Use some other rpcgen. util-linux 2.6.1 This release was never made public See notes for 2.6 for installation instructions. This is a incremental release containing some fixes. A new release will be made later fixing the outstanding bugs. - Things compiles and works better with recent releases of kernel, ncurses, and so forth: fdisk, more - Some fixes to make things compile out of the box on alphas. - There has been reported a problem with login and /etc/usertty. It should be fixed. If you still have problems get a recent MAKEDEV and use it to make new tty devices. They were renumbered sometime during the 1.3 phase of the kernel. - ipcs now displays the key of the structures. - A (harmless?) overflow bug was fixed in login. Outstanding bugs: - login/getty has a denial of service problem. - Several places needs a bit more polish. - There are a _lot_ of nonfatal warnings when compiling mount. This will not necessarily be fixed. util-linux 2.6 HIGHLIGHTS for version 2.6: 0) The first release with me at the helm. PLEASE SEND PATCHES AND UPDATES TO: util-linux@math.uio.no. 1) Removed programs: - md5sum, dsplit: available in GNU textutils. - syslogd: Sysklogd is now preferred. It is available at tsx-11.mit.edu:/pub/sources/sbin sunsite.unc.edu:/pub/Linux/system/Daemons 2) Bugfixes, additions: - SECURITY: All known holes in mount have been fixed. UPGRADE NOW if you haven't already! - Portability enhancements to the minix filesystem utils (m68k and Arm patches). - passwd/chsh/chfn will not mess up the passwd file on a NIS machine - others too numerous to enumerate. 3) New programs: - vigr (it's like vipw) - Introducing hwclock. A complete rewrite of the latest available clock source. It supports intel/CMOS, /dev/rtc and linux/m68k system clock interfaces. Clock supports the same things but is now obsolete and will not be present in the next release. Start using hwclock now. Please. util-linux 2.5 HIGHLIGHTS for version 2.5: 0) Nicolai Langfeldt is taking over maintenance of util-linux, with the help of a few others (Michael K. Johnson, Andries Brouwer, and Rik Faith). PLEASE SEND PATCHES AND UPDATES TO: util-linux@math.uio.no 1) The following packages have been removed. Please use the up-to-date, canonical versions of these packages from the listed places: timezone support (/usr/lib/zoneinfo, libz.a, zic, zdump): elsie.nci.nih.gov:/pub/tzcode95d.tar.gz elsie.nci.nih.gov:/pub/tzdata95h.tar.gz MAKEDEV-C: sunsite.unc.edu:/pub/Linux/system/Admin/MAKEDEV-C-1.5.tar.gz MAKEDEV: sunsite.unc.edu:/pub/Linux/system/Admin/MAKEDEV-2.2.tar.gz md5sum: prep.ai.mit.edu:/pub/gnu/textutils-1.3.tar.gz [The GNU version is now compatible with the Plumb/Lankester version.] ksymoops: Now bundled with the kernel in linux/scripts. 2) update_state has been removed 3) fdisk now supports NetBSD disklabels courtesy of Bernhard Fastenrath (and > 8GB disks, courtesy of Andries Brouwer) 4) mount improved -- many patches from Andries Brouwer for greatly improved error reporting 5) ddate, chkdupexe, and other programs have been improved and bug fixed 6) util-linux is now a source-only distribution 7) mcookie generates better random numbers and will use /dev/random or /dev/audio if available 8) chfn, chsh, passwd, and vipw have been updated with security patches from Zefram . Now, they all use the same locking, and several security holes have been patched. Further, chsh and chfn can be configured at compile time to require a password before updates and chsh can be configured to only use shells from /etc/shells. HIGHLIGHTS for version 2.4 (2.3 was never released): 0) Michael K. Johnson is the interim maintainer while Rik Faith is working on PhD work. 1) login now makes the login tty mode 600 and places it in group "tty" 2) wall, and write will not write dangerous escape sequences 3) wall and write can be run setgid "tty". If util-linux is compiled for this option, "mesg y" will only set group write instead of group/other write. 4) fdisk and cfdisk have been patched with the latest llseek.c. Although I had a lot of bug reports about fdisk from util-linux-2.2, I was unable to reproduce any of the problems. Some of the problems appeared to be related to a failure to reboot the machine after changing the partition table, and some may have been due to a specific kernel revision problem. However, this doesn't seem to account for all of the bug reports -- if this version gives you problem, please send as complete a bug report as possible. 5) chkdupexe from Nicolai Langfeldt (janl@ifi.uio.no) 6) ctrlaltdel now installs into /sbin instead of /usr/sbin 7) mkfs replacement from Ron Sommeling (sommel@sci.kun.nl) 8) lpcntl removed. Use tunelp instead. 9) ksymoops from Greg McGary 10) mkfs.minix now clears the first 512 bytes of the file system so that Minix disks won't be confused with MSDOS disks (Daniel Quinlan (quinlan@yggdrasil.com)) 11) mkswap should now work on an Alpha running Linux 12) frag removed. See sunsite.unc.edu:/pub/Linux/system/Filesystems/defrag-0.6.tar.gz for the latest version. 13) mount patches from Andries.Brouwer@cwi.nl and Dan Quinlan (quinlan@yggdrasil.com). 14) MAKEDEV and MAKEDEV-C updated to the latest versions. 15) Paths updated for FSSTND 1.2. This means that you may need to make some links. The links you need to make we system dependent. The ultimate goal is to rename /var/adm to /var/log and have a symbolic link from /var/adm to /var/log during the transition period. If you are running an ELF system, you probably won't have to do anything. The bottom line is that the following files must exist or be pointers to the old version (used internally by the a.out libraries): New Old /var/log/wtmp /var/adm/wtmp /var/log/lastlog /var/adm/lastlog /var/run/utmp /var/adm/utmp HIGHLIGHTS for version 2.2: 1) This is primarily a quick bug-fix release for version 2.1 2) mkfs wrapper added back in, since e2fsprogs only supplies an fsck wrapper 3) selection removed, since someone appears to be maintaining it now. See sunsite.unc.edu:/pub/linux/kernel/patches/console for recent sources. For the time being, I'm keeping a copy in the historic subdirectory of util-linux. A "make install" should work find from within that directory. 4) Note that other floppy utilities are available from: ftp.imag.fr:pub/Linux/ZLIBC/fdutils/fdutils-4.1.src.tar.gz sunsite.unc.edu:/pub/Linux/system/Misc/fdutils-4.1.src.tar.gz tsx-11.mit.edu:/pub/linux/sources/sbin/fdutils-4.1.src.tar.gz HIGHLIGHTS for version 2.1: 1) Directory structure rearrange, with configuration support for those who use shadow passwords and System V init (no support is provided for these things, but your utilities won't get overwritten if you do a "make install" after you properly edit MCONFIG). 2) fdisk and cfdisk should work as expected with 2GB+ disk drives 3) As usual, lots of stuff was updated and added, including mount, vipw, readprofile 4) Some stuff was also deleted, and can now be found elsewhere: fsck wrapper: tsx-11.mit.edu:/pub/linux/ALPHA/ext2fs/e2fsprogs* pwd, su: prep.ai.mit.edu:/pub/gnu/sh-utils* ed: prep.ai.mit.edu:/pub/gnu/ed* od: prep.ai.mit.edu:/pub/gnu/textutils* uudecode/uuencode: prep.ai.mit.edu:/pub/gnu/sharutils* bdflush/update: ftp.funet.fi:/pub/OS/Linux/PEOPLE/Linus/v1.1/bdflush* PARTIAL HISTORY OF UTIL-LINUX: bsd: Nothing in this directory gets installed, but some BSD programs need this support: err.c: 8.1 (Berkeley) 6/4/93 err.h: 8.1 (Berkeley) 6/2/93 getopt.c: 4.13 (Berkeley) 2/23/91 pathnames.h: 5.3 (Berkeley) 5/9/89 with extensive modifications for Linux disk-utils: cfdisk: 0.8 BETA (>2GB) from Kevin E. Martin (martin@cs.unc.edu) with modifications for disks > 2GB. ftp.cs.unc.edu:/pub/users/martin/linux/cfdisk-0.8.tar.gz fdformat: Werner Almesberger (almesber@nessie.cs.id.ethz.ch), with modifications by Marcel Mol (marcel@dutecad.et.tudelft.nl)). Later, updated with a September 1992 version by Werner. fdisk: A. V. Le Blanc (LeBlanc@mcc.ac.uk) fdisk 1.5 release, with patched from Kevin Martin for DOS and OS/2 compatibility (1.5a); Rik Faith (1.5b, 2.0). fsck.minix, mkfs.minix: Linus Torvalds, with modifications by: Rik Faith (faith@cs.unc.edu), Scott Heavner (sdh@po.cwru.edu), Dr. Wettstein (greg%wind.uucp@plains.nodak.edu), Daniel Quinlan (quinlan@yggdrasil.com). mkfs: David Engel (david@ods.com) and Fred N. van Kempen (waltje@uWalt.NL.Mugnet.ORG) Version 1.9 from Ron Sommeling (sommel@sci.kun.nl) mkswap: Linus Torvalds, with modifications by Mike Jagdis (jaggy@purplet.demon.co.uk. ) Version for Alpha from cage.cs.arizona.edu:/pub/davidm/linux/mkswap-axp-950503.tar.gz setfdprm: Werner Almesberger (almesber@nessie.cs.id.ethz.ch) Note that more floppy utilities are available from: ftp.imag.fr:pub/Linux/ZLIBC/fdutils/fdutils-4.1.src.tar.gz sunsite.unc.edu:/pub/Linux/system/Misc/fdutils-4.1.src.tar.gz tsx-11.mit.edu:/pub/linux/sources/sbin/fdutils-4.1.src.tar.gz llseek.c: from Remy Card's e2fsprogs-0.5b.tar.gz (21Mar95 version) from: sunsite.unc.edu:/pub/Linux/system/Filesystems/ext2 games: banner: (8.3 (Berkeley) 4/2/94) ftp.cdrom.com:/pub/bsd-sources/4.4BSD-Lite/usr/src/usr.bin login-utils: agetty: W. Z. Venema, ported by Peter Orbaek . ftp.daimi.aau.dk:/pub/linux/poe/poeigl-1.37.tar.gz chfn: Salvatore Valente chsh: Salvatore Valente last: 5.11 w/year (Berkeley) 6/29/88; Port by Michael Haardt with changes by Peter Orbaek. ftp://ftp.daimi.aau.dk/pub/linux/poe/admutil-1.16.tar.gz login: 5.40 (Berkeley) 5/9/89; with ports by Michael Glad and Peter Orbaek ftp.daimi.aau.dk:/pub/linux/poe/poeigl-1.37.tar.gz mesg: 8.2 (Berkeley) 1/21/94 ftp.cdrom.com:/pub/bsd-sources/4.4BSD-Lite/usr/src/usr.bin newgrp: Michael Haardt, with modifications by Peter Orbaek. ftp://ftp.daimi.aau.dk/pub/linux/poe/admutil-1.16.tar.gz passwd: Peter Orbaek, with yp modifications by Alvaro Martinez Echevarria (alvaro@enano.etsit.upm.es) ftp://ftp.daimi.aau.dk/pub/linux/poe/admutil-1.16.tar.gz shutdown: Peter Orbaek, with new modifications by Stephen Tweedie, Rik Faith, and Dave (gentzel@nova.enet.dec.com). ftp://ftp.daimi.aau.dk/pub/linux/poe/admutil-1.16.tar.gz simpleinit: Peter Orbaek ftp.daimi.aau.dk:/pub/linux/poe/poeigl-1.37.tar.gz vipw: 5.16 (Berkeley) 3/3/91, with modifications by Mike Grupenhoff wall: 8.2 (Berkeley) 11/16/93 (With changes so that damaging escape sequences cannot be sent.) ftp.cdrom.com:/pub/bsd-sources/4.4BSD-Lite/usr/src/usr.bin misc-utils: cal: 8.4 (Berkeley) 4/2/94, with modifications by Rik Faith and Hein@student.tu-clausthal.de (Jochen Hein). ftp.cdrom.com:/pub/bsd-sources/4.4BSD-Lite/usr/src/usr.bin chkdupexe: Version 1.2 from "Nicolai Langfeldt" clear: Rik Faith ddate: Druel the Chaotic aka Jeremy Johnson aka mpython@gnu.ai.mit.edu, with modifications by Lee Harvey Oswald Smith, K.S.C. and substantial updates from Rev. Bro. Lee H:. O:. Smith, KYTP domainname: Peter Orbaek ftp.daimi.aau.dk:/pub/linux/poe/poeigl-1.37.tar.gz dsplit: David Arnstein (arnstein@netcom.com) gatekeeper.dec.com:/pub/usenet/comp.sources.misc/volume40/dsplit getopt (getoptprog): jhunix.hcf.jhu.edu: /pub/public_domain_software/NetBSD/usr/src/usr.bin/getopt replaced by getopt-1.0.3.tar.gz from Frodo Looijaard, found at http://huizen.dds.nl/~frodol hostid: Mitch DSouza (m.dsouza@mrc-apu.cam.ac.uk) ftp.daimi.aau.dk:/pub/linux/poe/poeigl-1.37.tar.gz hostname/dnsdomainname: Peter Tobias This version (1.6) should also be available soon in: nic.funet.fi:/pub/OS/Linux/PEOPLE/Linus/net-source/base/NetKit-A* kill: BSD version, modified by Salvatore Valente logger: 8.1 (Berkeley) 6/6/93, with modifications by Rik Faith ftp.cdrom.com:/pub/bsd-sources/4.4BSD-Lite/usr/src/usr.bin look.c: 8.1 (Berkeley) 6/14/93, with modifications by Rik Faith ftp.cdrom.com:/pub/bsd-sources/4.4BSD-Lite/usr/src/usr.bin mcookie: Rik Faith (faith@cs.unc.edu) md5sum: Branki Lankester and Colin Plumb. The MD5 message-digest algorithm is in the Public Domain. This implementation calculates message-digest information only, and can NOT be used for encryption. Therefore it is exportable from the USA. Original sources in the MIT version of PGP 2.6.2. namei: Roger S. Southwick, with modifications by Steve Tell. reset: Rik Faith script: 5.13 (Berkeley) 3/5/91, with modifications by Rick Sladkey (jrs@world.std.com), Harald Koenig (koenig@nova.tat.physik.uni-tuebingen.de). setterm: Gordon Irlam (gordoni@cs.ua.oz.au), with modifications by Peter MacDonald, Mika Liljeberg (liljeber@cs.Helsinki.FI), John Walder (j-walder@uiuc.edu) [for dosemu]. tsort: 5.3 (Berkeley) 6/1/90 wuarchive.wustl.edu:/mirrors/4.3-reno whereis: 5.5 (Berkeley) 4/18/91 wuarchive.wustl.edu:/mirrors/4.3-reno write: 8.1 (Berkeley) 6/6/93, with modifications by Mike Grupenhoff (kashmir@umiacs.umd.edu). With changes so that damaging escape sequences cannot be sent. ftp.cdrom.com:/pub/bsd-sources/4.4BSD-Lite/usr/src/usr.bin mount: mount, umount, swapon Rick Sladkey put together the mount-0.99.6.tar.Z package, and Stephen Tweedie provided updates. The utilities were originally from that package (all appear to be by Doug Quale (quale@saavik.cs.wisc.edu), with modifications by H. J. Lu (hlu@eecs.wsu.edu) on 11/25/92; Rick Sladkey (jrs@world.std.com) in January 1993; and Stephen Tweedie on 8 October 1993. This distribution mount now supports NFS stuff. I have modified the man pages. I have also added a small patch from Hamish Glen Coleman (t933093@minyos.xx.rmit.OZ.AU) which restores the -o semantics. Updated with Rick Sladkey's mount-0.99.14.tar.gz package, and with extra patches from Rick. Adam J. Richter allowed -t option to be optional. Patrick J. Volkerding (volkerdi@mhd1.moorhead.msus.edu) and Mitchum DSouza both provided patches that fixed the (null) problem when not using -t. Mitchum DSouza (mitch@mrc-applied-psychology.cambridge.ac.uk) added support for loop device mounts. Sebastian Lederer (lederer@next-pc.informatik.uni-bonn.de) added support for sending an unmount RPC call to the server when an NFS-filesystem is unmounted. Sander van Malssen (svm@kozmix.hacktic.nl) added support for remounting readonly file systems readonly. Mike Grupenhoff added a probe of the superblock for the type before /proc/filesystems is checked. Andries.Brouwer@cwi.nl fixed up error reporting. Updated with patches from Andries.Brouwer@cwi.nl and Dan Quinlan (quinlan@yggdrasil.com). And more patches from Andries and others. historic/selection: The complete selection-1.5 package, by Andrew Haylett , 17th June 1993, is included in the historic tree. Kernel patches are no longer necessary for modern kernels, but these were tiny so I left them in for historical reasons. The Makefile was modified for this distribution. With changes from Rick Sladkey. sys-utils: arch: Rik Faith chroot: Rick Sladkey clock: Originally from the timesrc-1.2.tar.Z package, Charles Hedrick, hedrick@cs.rutgers.edu (V1.0); Rob Hooft, hooft@chem.ruu.nl (V1.1); Harald Koenig (koenig@nova.tat.physik.uni-tuebingen.de) (V1.2). With additional changes: Hamish Coleman (hamish@zot.apana.org.au) (V1.2a); Alan Modra (alan@spri.levels.unisa.edu.au (V1.3, V1.4). ctrlaltdel: Peter Orbaek ftp://ftp.daimi.aau.dk/pub/linux/poe/admutil-1.16.tar.gz cytune: Nick Simicish (njs@scifi.emi.net) and Rik Faith (faith@cs.unc.edu) dmesg: Theodore Ts'o (tytso@athena.mit.edu); Rick Sladkey (jrs@world.std.com) ipcrm: From the ipcdelta.tar.z distribution by krishna balasub@cis.ohio-state.edu on 3/15/93. ipc.info and ipc.texi are also from that distribution. ipcs: Also from the ipcdelta.tar.z distribution by krishna balasub@cis.ohio-state.edu, with patches from Mike Jagdis (jaggy@purplet.demon.co.uk) kbdrate: Rik Faith (faith@cs.unc.edu), with patches from Andries.Brouwer@cwi.nl and John Bowman (bowman@hagar.ph.utexas.edu) ksymoops: 1.7 from Greg McGary rdev: almesber@nessie.cs.id.ethz.ch (Werner Almesberger), with modifications from Peter MacDonald, Stephen Tweedie (sct@dcs.ed.ac.uk), and Dave (gentzel@nova.enet.dec.com) readprofile: Alessandro Rubini from readprofile-2.0.tar.gz renice: 8.1 (Berkeley) 6/9/93 ftp.cdrom.com:/pub/bsd-sources/4.4BSD-Lite/usr/src/usr.bin setserial: Michael K. Johnson (johnsonm@stolaf.edu) re-released Rick Sladkey's setserial in January 1993, with changes by Theodore Ts'o (tytso@mit.edu). I think that Theodore also did extensive changes for version 2.01, I can't find any notes about this in the documentation. However, Theodore Ts'o (tytso@ATHENA.MIT.EDU) released version 2.10, and that is now included. setsid: Rick Sladkey sln: Mike Parker and David MacKenzie (from Linux's libc) sync: Nick Holloway, with thanks to James Bonfield tunelp: Michael K. Johnson (johnsonm@nigel.vnet.net) syslogd: 5.45 (Berkeley) 3/2/91 Most of the changes for syslogd come from Rick Sladkey (jrs@world.std.com), but I'd like to thank other people who sent in changes (which usually got forwarded to Rick): Carsten Paeth (calle@calle.in-berlin.de) and Kaz Sasayama (kaz@lilia.iijnet.or.jp). text-utils: col: 5.3 (Berkeley) 2/2/91; with patches from Andries.Brouwer@cwi.nl and Carl Christofferson (cchris@connected.com) wuarchive.wustl.edu:/mirrors/4.3-reno/{bin,usr.bin} colcrt: 8.1 (Berkeley) 6/6/93 (Bill Joy) ftp.cdrom.com:/pub/bsd-sources/4.4BSD-Lite/usr/src/usr.bin colrm: 5.4 (Berkeley) 6/1/90 (Jeff Schriebman) column: 8.3 (Berkeley) 4/2/94 ftp.cdrom.com:/pub/bsd-sources/4.4BSD-Lite/usr/src/usr.bin hexdump: 5.5 (Berkeley) 6/1/90 wuarchive.wustl.edu:/mirrors/4.3-reno/{bin,usr.bin} more: 5.19 (Berkeley) 6/29/88 (Eric Shienbrood, Geoff Peck, John Foderaro) rev: 5.2 (Berkeley) 3/21/92; with modifications by Charles Hannum (mycroft@gnu.ai.mit.edu), Brian Koehmstedt (bpk@gnu.ai.mit.edu), bjdouma@xs4all.nl wuarchive.wustl.edu:/mirrors/4.3-reno/{bin,usr.bin} strings: 5.10 (Berkeley) 5/23/91; with patches from Vitor Duarte wuarchive.wustl.edu:/mirrors/4.3-reno/{bin,usr.bin} ul: 8.1 (Berkeley) 6/6/93 ftp.cdrom.com:/pub/bsd-sources/4.4BSD-Lite/usr/src/usr.bin usr/share/doc/sed/NEWS000064400000057030152526567160010522 0ustar00GNU sed NEWS -*- outline -*- * Noteworthy changes in release 4.5 (2018-03-31) [stable] ** Bug fixes sed now fails when matching very long input lines (>2GB). Before, sed would silently ignore the regex without indicating an error. [Bug present at least since sed-3.02] sed no longer rejects comments and closing braces after y/// commands. [Bug existed at least since sed-3.02] sed -E --posix no longer ignores special meaning of '+','?','|' . [Bug introduced in the original implementation of --posix option in v4.1a-5-gba68fb4] sed -i now creates selinux context based on the context of the symlink instead of the symlink target. [Bug present since at least sed-4.2] sed -i --follow-symlinks remains unchanged. sed now treats the sequence '\x5c' (ASCII 92, backslash) as literal backslash character, not as an escape prefix character. [Bug present since sed-3.02.80] Old behavior: $ echo z | sed -E 's/(z)/\x5c1/' # identical to 's/(z)/\1/' z New behavior: $ echo z | sed -E 's/(z)/\x5c1/' \1 * Noteworthy changes in release 4.4 (2017-02-03) [stable] ** Bug fixes sed could segfault when invoked with specific combination of newlines in the input and regex pattern. [Bug introduced in sed-4.3] * Noteworthy changes in release 4.3 (2016-12-30) [stable] ** Improvements sed's regular expression matching is now typically 10x faster sed now uses unlocked-io where available, resulting in faster I/O operations. ** Bug fixes sed no longer mishandles anchors ^/$ in multiline regex (s///mg) with -z option (NUL terminated lines). [Bug introduced in sed-4.2.2 with the initial implementation of -z] sed no longer accepts a ":" command without a label; before, it would treat that as defining a label whose name is empty, and subsequent label-free "t" and "b" commands would use that label. Now, sed emits a diagnostic and fails for that invalid construct. sed no longer accesses uninitialized memory when processing certain invalid multibyte sequences. Demonstrate with this: echo a | LC_ALL=ja_JP.eucJP valgrind sed/sed 's/a/b\U\xb2c/' The error appears to have been introduced with the sed-4.0a release. The 'y' (transliterate) operator once again works with a NUL byte on the RHS. E.g., sed 'y/b/\x00/' now works like tr b '\0'. GNU sed has never before recognized \x00 in this context. However, sed-3.02 and prior did accept a literal NUL byte in the RHS, which was possible only when reading a script from a file. For example, this: echo abc|sed -f <(printf 'y/b/\x00/\n')|cat -A is what stopped working. [bug introduced some time after sed-3.02 and prior to the first sed-4* test release] When the closed-above line number ranges of N editing commands overlap (N>1), sed would apply commands 2..N to the line just beyond the largest range endpoint. [bug introduced some time after sed-4.09 and prior to release in sed-4.1] Before, this command would mistakenly modify line 5: $ seq 6|sed '2,4d;2,3s/^/x/;3,4s/^/y/' 1 yx5 6 Now, it does not: $ seq 6|sed '2,4d;2,3s/^/x/;3,4s/^/y/' 1 5 6 An erroneous sed invocation like "echo > F; sed -i s//b/ F" no longer leaves behind a temporary file. Before, that command would create a file alongside F with a name matching /^sed......$/ and fail to remove it. sed --follow-symlinks now works again for stdin. [bug introduced in sed-4.2.2] sed no longer elides invalid bytes in a substitution RHS. Now, sed copies such bytes into the output, just as Perl does. [bug introduced in sed-4.1 -- it was also present prior to 4.0.6] sed no longer prints extraneous character when a backslash follows \c. '\c\\' generates control character ^\ (ASCII 0x1C). Other characters after the second backslash are rejected (e.g. '\c\d'). [bug introduced in the sed-4.0.* releases] sed no longer mishandles incomplete multibyte sequences in s,y commands and valid multibyte SHIFT-JIS characters in character classes. Previously, the following commands would fail: LC_ALL=en_US.UTF-8 sed $'s/\316/X/' LC_ALL=ja_JP.shiftjis sed $'/[\203]/]/p' [bug introduced some time after sed-4.1.5 and before sed-4.2.1] ** Feature removal The "L" command (format a paragraph like the fmt(1) command would) has been listed in the documentation as a failed experiment for at least 10 years. That command is now removed. ** Build-related "make dist" now builds .tar.xz files, rather than .tar.gz ones. xz is portable enough and in wide-enough use that distributing only .tar.xz files is enough. It has been fine for coreutils, grep, diffutils and parted for a few years. ** New Features new --sandbox option rejects programs with r/w/e commands. * Noteworthy changes in release 4.2.2 (2012-12-22) [stable] * don't misbehave (truncate input) for lines of length 2^31 and longer * fix endless loop on incomplete multibyte sequences * -u also does unbuffered input, rather than unbuffered output only * New command `F' to print current input file name * sed -i, s///w, and the `w' and `W' commands also obey the --binary option (and create CR/LF-terminated files if the option is absent) * --posix fails for scripts (or fragments as passed to the -e option) that end in a backslash, as they are not portable. * New option -z (--null-data) to separate lines by ASCII NUL characters. * \x26 (and similar escaped sequences) produces a literal & in the replacement argument of the s/// command, rather than including the matched text. ---------------------------------------------------------------------------- Sed 4.2.1 * fix parsing of s/[[[[[[[[[]// * security contexts are preserved by -i too under SELinux * temporary files for sed -i are not made group/world-readable until they are complete ---------------------------------------------------------------------------- Sed 4.2 * now released under GPLv3 * added a new extension `z` to clear pattern space even in the presence of invalid multibyte sequences * a preexisting GNU gettext installation is needed in order to compile GNU sed with NLS support * new option --follow-symlinks, available when editing a file in-place. This option may not be available on some systems (in this case, the option will *not* be a no-op; it will be completely unavailable). In the future, the option may be added as a no-op on systems without symbolic links at all, since in this case a no-op is effectively indistinguishable from a correct implementation. * hold-space is reset between different files in -i and -s modes. * multibyte processing fixed * the following GNU extensions are turned off by --posix: options [iImMsSxX] in the `s' command, address kinds `FIRST~STEP' and `ADDR1,+N' and `ADDR1,~N', line address 0, `e' or `z' commands, text between an `a' or `c' or `i' command and the following backslash, arguments to the `l' command. --posix disables all extensions to regular expressions. * fixed bug in 'i\' giving a segmentation violation if given alone. * much improved portability * much faster in UTF-8 locales * will correctly replace ACLs when using -i * will now accept NUL bytes for `.' ---------------------------------------------------------------------------- Sed 4.1.5 * fix parsing of a negative character class not including a closed bracket, like [^]] or [^]a-z]. * fix parsing of [ inside an y command, like y/[/A/. * output the result of commands a, r, R when a q command is found. ---------------------------------------------------------------------------- Sed 4.1.4 * \B correctly means "not on a word boundary" rather than "inside a word" * bugfixes for platform without internationalization * more thorough testing framework for tarballs (`make full-distcheck') ---------------------------------------------------------------------------- Sed 4.1.3 * regex addresses do not use leftmost-longest matching. In other words, /.\+/ only looks for a single character, and does not try to find as many of them as possible like it used to do. * added a note to BUGS and the manual about changed interpretation of `s|abc\|def||', and about localization issues. * fixed --disable-nls build problems on Solaris. * fixed `make check' in non-English locales. * `make check' tests the regex library by default if the included regex is used (regex tests had to be enabled separately up to now). ---------------------------------------------------------------------------- Sed 4.1.2 * fix bug in 'y' command in multi-byte character sets * fix severe bug in parsing of ranges with an embedded open bracket * fix off-by-one error when printing a "bad command" error ---------------------------------------------------------------------------- Sed 4.1.1 * preserve permissions of in-place edited files * yield an error when running -i on terminals or other non regular files * do not interpret - as stdin when using in-place editing mode * fix bug that prevented 's' command modifiers from working ---------------------------------------------------------------------------- Sed 4.1 * // matches the last regular expression even in POSIXLY_CORRECT mode. * change the way we treat lines which are not terminated by a newline. Such lines are printed without the terminating newline (as before) but as soon as more text is sent to the same output stream, the missing newline is printed, so that the two lines don't concatenate. The behavior is now independent from POSIXLY_CORRECT because POSIX actually has undefined behavior in this case, and the new implementation arguably gives the ``least expected surprise''. Thanks to Stepan Kasal for the implementation. * documentation improvements, with updated references to the POSIX.2 specification * error messages on I/O errors are better, and -i does not leave temporary files around (e.g. when running ``sed -i'' on a directory). * escapes are accepted in the y command (for example: y/o/\n/ transforms o's into newlines) * -i option tries to set the owner and group to the same as the input file * `L' command is deprecated and will be removed in sed 4.2. * line number addresses are processed differently -- this is supposedly conformant to POSIX and surely more idiot-proof. Line number addresses are not affected by jumping around them: they are activated and deactivated exactly where the script says, while previously 5,8b 1,5d would actually delete lines 1,2,3,4 and 9 (!). * multibyte characters are taken in consideration to compute the operands of s and y, provided you set LC_CTYPE correctly. They are also considered by \l, \L, \u, \U, \E. * [\n] matches either backslash or 'n' when POSIXLY_CORRECT. * new option --posix, disables all GNU extensions. POSIXLY_CORRECT only disables GNU extensions that violate the POSIX standard. * options -h and -V are not supported anymore, use --help and --version. * removed documentation for \s and \S which worked incorrectly * restored correct behavior for \w and \W: match [[:alnum:]_] and [^[:alnum:]_] (they used to match [[:alpha:]_] and [^[:alpha:]_] * the special address 0 can only be used in 0,/RE/ or 0~STEP addresses; other cases give an error (you are hindering portability for no reason if specifying 0,N and you are giving a dead command if specifying 0 alone). * when a \ is used to escape the character that would terminate an operand of the s or y commands, the backslash is removed before the regex is compiled. This is left undefined by POSIX; this behavior makes `s+x\+++g' remove occurrences of `x+', consistently with `s/x\///g'. (However, if you enjoy yourself trying `s*x\***g', sed will use the `x*' regex, and you won't be able to pass down `x\*' while using * as the delimiter; ideas on how to simplify the parser in this respect, and/or gain more coherent semantics, are welcome). ---------------------------------------------------------------------------- Sed 4.0.9 * 0 address behaves correctly in single-file (-i and -s) mode. * documentation improvements. * tested with many hosts and compilers. * updated regex matcher from upstream, with many bugfixes and speedups. * the `N' command's feature that is detailed in the BUGS file was disabled by the first change below in sed 4.0.8. The behavior has now been restored, and is only enabled if POSIXLY_CORRECT behavior is not requested. ---------------------------------------------------------------------------- Sed 4.0.8 * fix `sed n' printing the last line twice. * fix incorrect error message for invalid character classes. * fix segmentation violation with repeated empty subexpressions. * fix incorrect parsing of ^ after escaped (. * more comprehensive test suite (and with many expected failures...) ---------------------------------------------------------------------------- Sed 4.0.7 * VPATH builds working on non-glibc machines * fixed bug in s///Np: was printing even if less than N matches were found. * fixed infinite loop on s///N when LHS matched a null string and there were not enough matches in pattern space * behavior of s///N is consistent with s///g when the LHS can match a null string (and the infinite loop did not happen :-) * updated some translations ---------------------------------------------------------------------------- Sed 4.0.6 * added parameter to `v' for the version of sed that is expected. * configure switch --without-included-regex to use the system regex matcher * fix for -i option under Cygwin ---------------------------------------------------------------------------- Sed 4.0.5 * portability fixes * improvements to some error messages (e.g. y/abc/defg/ incorrectly said `excess characters after command' instead of `y arguments have different lengths') * `a', `i', `l', `L', `r' accept two addresses except in POSIXLY_CORRECT mode. Only `q' and `Q' do not accept two addresses in standard (GNU) mode. ---------------------------------------------------------------------------- Sed 4.0.4 * documentation fixes * update regex matcher ---------------------------------------------------------------------------- Sed 4.0.3 * fix packaging problem (two missing translation catalogs) ---------------------------------------------------------------------------- Sed 4.0.2 * more translations * fix build problems (vpath builds and bootstrap builds) ---------------------------------------------------------------------------- Sed 4.0.1 * Remove last vestiges of super-sed * man page automatically built * more translations provided * portability improvements ---------------------------------------------------------------------------- Sed 4.0 * Update regex matcher ---------------------------------------------------------------------------- Sed 3.96 * `y' command supports multibyte character sets * Update regex matcher ---------------------------------------------------------------------------- Sed 3.95 * `R' command reads a single line from a file. * CR-LF pairs are always ignored under Windows, even if (under Cygwin) a disk is mounted as binary. * More attention to errors on stdout * New `W' command to write first line of pattern space to a file * Can customize line wrap width on single `l' commands * `L' command formats and reflows paragraphs like `fmt' does. * The test suite makefiles are better organized (this change is transparent however). * Compiles and bootstraps out-of-the-box under MinGW32 and Cygwin. * Optimizes cases when pattern space is truncated at its start or at its end by `D' or by a substitution command with an empty RHS. For example scripts like this, seq 1 10000 | tr \\n \ | ./sed ':a; s/^[0-9][0-9]* //; ta' whose behavior was quadratic with previous versions of sed, have now linear behavior. * New command `e' to pipe the output of a command into the output of sed. * New option `e' to pass the output of the `s' command through the Bourne shell and get the result into pattern space. * Switched to obstacks in the parser -- less memory-related bugs (there were none AFAIK but you never know) and less memory usage. * New option -i, to support in-place editing a la Perl. Usually one had to use ed or, for more complex tasks, resort to Perl; this is not necessary anymore. * Dumped buffering code. The performance loss is 10%, but it caused bugs in systems with CRLF termination. The current solution is not definitive, though. * Bug fix: Made the behavior of s/A*/x/g (i.e. `s' command with a possibly empty LHS) more consistent: pattern GNU sed 3.x GNU sed 4.x B xBx xBx BC xBxCx xBxCx BAC xBxxCx xBxCx BAAC xBxxCx xBxCx * Bug fix: the // empty regular expressions now refers to the last regular expression that was matched, rather than to the last regular expression that was compiled. This richer behavior seems to be the correct one (albeit neither one is POSIXLY_CORRECT). * Check for invalid backreferences in the RHS of the `s' command (e.g. s/1234/\1/) * Support for \[lLuUE] in the RHS of the `s' command like in Perl. * New regular expression matcher * Bug fix: if a file was redirected to be stdin, sed did not consume it. So (sed d; sed G) < TESTFILE double-spaced TESTFILE, while the equivalent `useless use of cat' cat TESTFILE | (sed d; sed G) printed nothing (which is the correct behavior). A test for this bug was added to the test suite. * The documentation is now much better, with a few examples provided, and a thorough description of regular expressions. The manual often refers to "GNU extensions", but if they are described here they are specific to this version. * Documented command-line option: -r, --regexp-extended Use extended regexps -- e.g. (abc+) instead of \(abc\+\) * Added feature to the `w' command and to the `w' option of the `s' command: if the file name is /dev/stderr, it means the standard error (inspired by awk); and similarly for /dev/stdout. This is disabled if POSIXLY_CORRECT is set. * Added `m' and `M' modifiers to `s' command for multi-line matching (Perl-style); in addresses, only `M' works. * Added `Q' command for `silent quit'; added ability to pass an exit code from a sed script to the caller. * Added `T' command for `branch if failed'. * Added `v' command, which is a do-nothing intended to fail on seds that do not support GNU sed 4.0's extensions. ---------------------------------------------------------------------------- Sed 3.02.80 * Started new version nomenclature for pre-3.03 releases. (I'm being pessimistic in assuming that .90 won't give me enough breathing room.) * Bug fixes: the regncomp()/regnexec() interfaces proved to be inadequate to properly handle expressions such as "s/\ after a, i, and c commands). Also, conditionally (on NO_INPUT_INDENT) added experimental support for skipping leading whitespace on each {a,i,c} input line. * Added addressing of the form: /foo/,+5 p (print from foo to 5th line following) /foo/,~5 p (print from foo to next line whose line number is a multiple of 5) The first address of these can be any of the previously existing addressing types; the +N and ~N forms are only allowed as the second address of a range. * Added support for pseudo-address "0" as the first address in an address-range, simplifying scripts which happen to match the end address on the first line of input. For example, a script which deletes all lines from the beginning of the file to the first line which contains "foo" is now simply "sed 0,/foo/d", whereas before one had to go through contortions to deal with the possibility that "foo" might appear on the first line of the input. * Made NUL characters in regexps work "correctly" --- i.e., a NUL in a RE matches a NUL; it does not prematurely terminate the RE. (This only works in -f scripts, as the POSIX.1 exec*() interface only passes NUL-terminated strings, and so sed will only be able to see up to the first NUL in any -e scriptlet.) * Wherever a `;' is accepted as a command terminator, also allow a `}' or a `#' to appear. (This allows for less cluttered-looking scripts.) * Lots of internal changes that are only relevant to source junkies and development testing. Some of which might cause imperceptible performance improvements. ---------------------------------------------------------------------------- Sed 3.02 * Fixed a bug in the parsing of character classes (e.g., /[[:space:]]/). Corrected an omission in djgpp/Makefile.am and an improper dependency in testsuite/Makefile.am. ---------------------------------------------------------------------------- Sed 3.01 * This version of sed mainly contains bug fixes and portability enhancements, plus performance enhancements related to sed's handling of input files. Due to excess performance penalties, I have reverted (relative to 3.00) to using regex.c instead of the rx package for regular expression handling, at the expense of losing true POSIX.2 BRE compatibility. However, performance related to regular expression handling *still* needs a fair bit of work. * One new feature has been added: regular expressions may be followed with an "I" directive ("i" was taken [the "i"nsert command]) to indicate that the regexp should be matched in a case-insensitive manner. Also of note are a new organization to the source code, new documentation, and a new maintainer. ---------------------------------------------------------------------------- Sed 3.0 * This version of sed passes the new test-suite donated by Jason Molenda. * Overall performance has been improved in the following sense: Sed 3.0 is often slightly slower than sed 2.05. On a few scripts, though, sed 2.05 was so slow as to be nearly useless or to use up unreasonable amounts of memory. These problems have been fixed and in such cases, sed 3.0 should have acceptable performance. usr/share/doc/libxml2/NEWS000064400000401140152526570500011303 0ustar00 NEWS file for libxml2 Note that this is automatically generated from the news webpage at: http://xmlsoft.org/news.html The change log at ChangeLog.html describes the recents commits to the GIT at http://git.gnome.org/browse/libxml2/ code base.Here is the list of public releases: 2.9.2: Oct 16 2014: - Security: Fix for CVE-2014-3660 billion laugh variant (Daniel Veillard), CVE-2014-0191 Do not fetch external parameter entities (Daniel Veillard) - Bug Fixes: fix memory leak xml header encoding field with XML_PARSE_IGNORE_ENC (Bart De Schuymer), xmlmemory: handle realloc properly (Yegor Yefremov), Python generator bug raised by the const change (Daniel Veillard), Windows Critical sections not released correctly (Daniel Veillard), Parser error on repeated recursive entity expansion containing < (Daniel Veillard), xpointer : fixing Null Pointers (Gaurav Gupta), Remove Unnecessary Null check in xpointer.c (Gaurav Gupta), parser bug on misformed namespace attributes (Dennis Filder), Pointer dereferenced before null check (Daniel Veillard), Leak of struct addrinfo in xmlNanoFTPConnect() (Gaurav Gupta), Possible overflow in HTMLParser.c (Daniel Veillard), python/tests/sync.py assumes Python dictionaries are ordered (John Beck), Fix Enum check and missing break (Gaurav Gupta), xmlIO: Handle error returns from dup() (Philip Withnall), Fix a problem properly saving URIs (Daniel Veillard), wrong error column in structured error when parsing attribute values (Juergen Keil), wrong error column in structured error when skipping whitespace in xml decl (Juergen Keil), no error column in structured error handler for xml schema validation errors (Juergen Keil), Couple of Missing Null checks (Gaurav Gupta), Add couple of missing Null checks (Daniel Veillard), xmlschemastypes: Fix potential array overflow (Philip Withnall), runtest: Fix a memory leak on parse failure (Philip Withnall), xmlIO: Fix an FD leak on gzdopen() failure (Philip Withnall), xmlcatalog: Fix a memory leak on quit (Philip Withnall), HTMLparser: Correctly initialise a stack allocated structure (Philip Withnall), Check for tmon in _xmlSchemaDateAdd() is incorrect (David Kilzer), Avoid Possible Null Pointer in trio.c (Gaurav Gupta), Fix processing in SAX2 in case of an allocation failure (Daniel Veillard), XML Shell command "cd" does not handle "/" at end of path (Daniel Veillard), Fix various Missing Null checks (Gaurav Gupta), Fix a potential NULL dereference (Daniel Veillard), Add a couple of misisng check in xmlRelaxNGCleanupTree (Gaurav Gupta), Add a missing argument check (Gaurav Gupta), Adding a check in case of allocation error (Gaurav Gupta), xmlSaveUri() incorrectly recomposes URIs with rootless paths (Dennis Filder), Adding some missing NULL checks (Gaurav), Fixes for xmlInitParserCtxt (Daniel Veillard), Fix regressions introduced by CVE-2014-0191 patch (Daniel Veillard), erroneously ignores a validation error if no error callback set (Daniel Veillard), xmllint was not parsing the --c14n11 flag (Sérgio Batista), Avoid Possible null pointer dereference in memory debug mode (Gaurav), Avoid Double Null Check (Gaurav), Restore context size and position after XPATH_OP_ARG (Nick Wellnhofer), Fix xmlParseInNodeContext() if node is not element (Daniel Veillard), Avoid a possible NULL pointer dereference (Gaurav), Fix xmlTextWriterWriteElement when a null content is given (Daniel Veillard), Fix an typo 'onrest' in htmlScriptAttributes (Daniel Veillard), fixing a ptotential uninitialized access (Daniel Veillard), Fix an fd leak in an error case (Daniel Veillard), Missing initialization for the catalog module (Daniel Veillard), Handling of XPath function arguments in error case (Nick Wellnhofer), Fix a couple of missing NULL checks (Gaurav), Avoid a possibility of dangling encoding handler (Gaurav), Fix HTML push parser to accept HTML_PARSE_NODEFDTD (Arnold Hendriks), Fix a bug loading some compressed files (Mike Alexander), Fix XPath node comparison bug (Gaurav), Type mismatch in xmlschemas.c (Gaurav), Type mismatch in xmlschemastypes.c (Gaurav), Avoid a deadcode in catalog.c (Daniel Veillard), run close socket on Solaris, same as we do on other platforms (Denis Pauk), Fix pointer dereferenced before null check (Gaurav), Fix a potential NULL dereference in tree code (Daniel Veillard), Fix potential NULL pointer dereferences in regexp code (Gaurav), xmllint --pretty crashed without following numeric argument (Tim Galeckas), Fix XPath expressions of the form '@ns:*' (Nick Wellnhofer), Fix XPath '//' optimization with predicates (Nick Wellnhofer), Clear up a potential NULL dereference (Daniel Veillard), Fix a possible NULL dereference (Gaurav), Avoid crash if allocation fails (Daniel Veillard), Remove occasional leading space in XPath number formatting (Daniel Veillard), Fix handling of mmap errors (Daniel Veillard), Catch malloc error and exit accordingly (Daniel Veillard), missing else in xlink.c (Ami Fischman), Fix a parsing bug on non-ascii element and CR/LF usage (Daniel Veillard), Fix a regression in xmlGetDocCompressMode() (Daniel Veillard), properly quote the namespace uris written out during c14n (Aleksey Sanin), Remove premature XInclude check on URI being relative (Alexey Neyman), Fix missing break on last() function for attributes (dcb), Do not URI escape in server side includes (Romain Bondue), Fix an error in xmlCleanupParser (Alexander Pastukhov) - Documentation: typo in error messages "colon are forbidden from..." (Daniel Veillard), Fix a link to James SAX documentation old page (Daniel Veillard), Fix typos in relaxng.c (Jan Pokorný), Fix a doc typo (Daniel Veillard), Fix typos in {tree,xpath}.c (errror) (Jan Pokorný), Add limitations about encoding conversion (Daniel Veillard), Fix typos in xmlschemas{,types}.c (Jan Pokorný), Fix incorrect spelling entites->entities (Jan Pokorný), Forgot to document 2.9.1 release, regenerate docs (Daniel Veillard) - Portability: AC_CONFIG_FILES and executable bit (Roumen Petrov), remove HAVE_CONFIG_H dependency in testlimits.c (Roumen Petrov), fix some tabs mixing incompatible with python3 (Roumen Petrov), Visual Studio 14 CTP defines snprintf() (Francis Dupont), OS400: do not try to copy unexisting doc files (Patrick Monnerat), OS400: use either configure.ac or configure.in. (Patrick Monnerat), os400: make-src.sh: create physical file with target CCSID (Patrick Monnerat), OS400: Add some more C macros equivalent procedures. (Patrick Monnerat), OS400: use C macros to implement equivalent RPG support procedures. (Patrick Monnerat), OS400: implement XPath macros as procedures for ILE/RPG support. (Patrick Monnerat), OS400: include in distribution tarball. (Patrick Monnerat), OS400: Add README: compilation directives and OS/400 specific stuff. (Patrick Monnerat), OS400: Add compilation scripts. (Patrick Monnerat), OS400: ILE RPG language header files. (Patrick Monnerat), OS400: implement some macros as functions for ILE/RPG language support (that as no macros). (Patrick Monnerat), OS400: UTF8<-->EBCDIC wrappers for system and external library calls (Patrick Monnerat), OS400: Easy character transcoding support (Patrick Monnerat), OS400: iconv functions compatibility wrappers and table builder. (Patrick Monnerat), OS400: create architecture directory. Implement dlfcn emulation. (Patrick Monnerat), Fix building when configuring without xpath and xptr (Daniel Veillard), configure: Add --with-python-install-dir (Jonas Eriksson), Fix compilation with minimum and xinclude. (Nicolas Le Cam), Compile out use of xmlValidateNCName() when not available. (Nicolas Le Cam), Fix compilation with minimum and schematron. (Nicolas Le Cam), Legacy needs xmlSAX2StartElement() and xmlSAX2EndElement(). (Nicolas Le Cam), Don't use xmlValidateName() when not available. (Nicolas Le Cam), Fix a portability issue on Windows (Longstreth Jon), Various portability patches for OpenVMS (Jacob (Jouk) Jansen), Use specific macros for portability to OS/400 (Patrick Monnerat), Add macros needed for OS/400 portability (Patrick Monnerat), Portability patch for fopen on OS/400 (Patrick Monnerat), Portability fixes for OS/400 (Patrick Monnerat), Improve va_list portability (Patrick Monnerat), Portability fix (Patrick Monnerat), Portability fix (Patrick Monnerat), Generic portability fix (Patrick Monnerat), Shortening lines in headers (Patrick Monnerat), build: Use pkg-config to find liblzma in preference to AC_CHECK_LIB (Philip Withnall), build: Add @LZMA_LIBS@ to libxml’s pkg-config files (Philip Withnall), fix some tabs mixing incompatible with python3 (Daniel Veillard), add additional defines checks for support "./configure --with-minimum" (Denis Pauk), Another round of fixes for older versions of Python (Arfrever Frehtes Taifersar Arahesis), python: fix drv_libxml2.py for python3 compatibility (Alexandre Rostovtsev), python: Fix compiler warnings when building python3 bindings (Armin K), Fix for compilation with python 2.6.8 (Petr Sumbera) - Improvements: win32/libxml2.def.src after rebuild in doc (Roumen Petrov), elfgcchack.h: more legacy needs xmlSAX2StartElement() and xmlSAX2EndElement() (Roumen Petrov), elfgcchack.h: add xmlXPathNodeEval and xmlXPathSetContextNode (Roumen Petrov), Provide cmake module (Samuel Martin), Fix a couple of issues raised by make dist (Daniel Veillard), Fix and add const qualifiers (Kurt Roeckx), Preparing for upcoming release of 2.9.2 (Daniel Veillard), Fix zlib and lzma libraries check via command line (Dmitriy), wrong error column in structured error when parsing end tag (Juergen Keil), doc/news.html: small update to avoid line join while generating NEWS. (Patrick Monnerat), Add methods for python3 iterator (Ron Angeles), Support element node traversal in document fragments. (Kyle VanderBeek), xmlNodeSetName: Allow setting the name to a substring of the currently set name (Tristan Van Berkom), Added macros for argument casts (Eric Zurcher), adding init calls to xml and html Read parsing entry points (Daniel Veillard), Get rid of 'REPLACEMENT CHARACTER' Unicode chars in xmlschemas.c (Jan Pokorný), Implement choice for name classes on attributes (Shaun McCance), Two small namespace tweaks (Daniel Veillard), xmllint --memory should fail on empty files (Daniel Veillard), Cast encoding name to char pointer to match arg type (Nikolay Sivov) - Cleanups: Removal of old configure.in (Daniel Veillard), Unreachable code in tree.c (Gaurav Gupta), Remove a couple of dead conditions (Gaurav Gupta), Avoid some dead code and cleanup in relaxng.c (Gaurav), Drop not needed checks (Denis Pauk), Fix a wrong test (Daniel Veillard) 2.9.1: Apr 19 2013: - Features: Support for Python3 (Daniel Veillard), Add xmlXPathSetContextNode and xmlXPathNodeEval (Alex Bligh) - Documentation: Add documentation for xmllint --xpath (Daniel Veillard), Fix the URL of the SAX documentation from James (Daniel Veillard), Fix spelling of "length". (Michael Wood) - Portability: Fix python bindings with versions older than 2.7 (Daniel Veillard), rebuild docs:Makefile.am (Roumen Petrov), elfgcchack.h after rebuild in doc (Roumen Petrov), elfgcchack for buf module (Roumen Petrov), Fix a uneeded and wrong extra link parameter (Daniel Veillard), Few cleanup patches for Windows (Denis Pauk), Fix rpmbuild --nocheck (Mark Salter), Fix for win32/configure.js and WITH_THREAD_ALLOC (Daniel Richard), Fix Broken multi-arch support in xml2-config (Daniel Veillard), Fix a portability issue for GCC < 3.4.0 (Daniel Veillard), Windows build fixes (Daniel Richard), Fix a thread portability problem (Friedrich Haubensak), Downgrade autoconf requirement to 2.63 (Daniel Veillard) - Bug Fixes: Fix a linking error for python bindings (Daniel Veillard), Fix a couple of return without value (Jüri Aedla), Improve the hashing functions (Daniel Franke), Improve handling of xmlStopParser() (Daniel Veillard), Remove risk of lockup in dictionary initialization (Daniel Veillard), Activate detection of encoding in external subset (Daniel Veillard), Fix an output buffer flushing conversion bug (Mikhail Titov), Fix an old bug in xmlSchemaValidateOneElement (Csaba László), Fix configure cannot remove messages (Gilles Espinasse), fix schema validation in combination with xsi:nil (Daniel Veillard), xmlCtxtReadFile doesn't work with literal IPv6 URLs (Steve Wolf), Fix a few problems with setEntityLoader (Alexey Neyman), Detect excessive entities expansion upon replacement (Daniel Veillard), Fix the flushing out of raw buffers on encoding conversions (Daniel, Veillard), Fix some buffer conversion issues (Daniel Veillard), When calling xmlNodeDump make sure we grow the buffer quickly (Daniel, Veillard), Fix an error in the progressive DTD parsing code (Dan Winship), xmllint should not load DTD by default when using the reader (Daniel, Veillard), Try IBM-037 when looking for EBCDIC handlers (Petr Sumbera), Fix potential out of bound access (Daniel Veillard), Fix large parse of file from memory (Daniel Veillard), Fix a bug in the nsclean option of the parser (Daniel Veillard), Fix a regression in 2.9.0 breaking validation while streaming (Daniel, Veillard), Remove potential calls to exit() (Daniel Veillard) - Improvements: Regenerated API, and testapi, rebuild documentation (Daniel Veillard), Fix tree iterators broken by 2to3 script (Daniel Veillard), update all tests for Python3 and Python2 (Daniel Veillard), A few more fixes for python 3 affecting libxml2.py (Daniel Veillard), Fix compilation on Python3 (Daniel Veillard), Converting apibuild.py to python3 (Daniel Veillard), First pass at starting porting to python3 (Daniel Veillard), updated configure.in for python3 (Daniel Veillard), Add support for xpathRegisterVariable in Python (Shaun McCance), Added a regression tests from bug 694228 data (Daniel Veillard), Cache presence of '<' in entities content (Daniel Veillard), Avoid extra processing on entities (Daniel Veillard), Python binding for xmlRegisterInputCallback (Alexey Neyman), Python bindings: DOM casts everything to xmlNode (Alexey Neyman), Define LIBXML_THREAD_ALLOC_ENABLED via xmlversion.h (Tim Starling), Adding streaming validation to runtest checks (Daniel Veillard), Add a --pushsmall option to xmllint (Daniel Veillard) - Cleanups: Switched comment in file to UTF-8 encoding (Daniel Veillard), Extend gitignore (Daniel Veillard), Silent the new python test on input (Alexey Neyman), Cleanup of a duplicate test (Daniel Veillard), Cleanup on duplicate test expressions (Daniel Veillard), Fix compiler warning after 153cf15905cf4ec080612ada6703757d10caba1e (Patrick, Gansterer), Spec cleanups and a fix for multiarch support (Daniel Veillard), Silence a clang warning (Daniel Veillard), Cleanup the Copyright to be pure MIT Licence wording (Daniel Veillard), rand_seed should be static in dict.c (Wouter Van Rooy), Fix typos in parser comments (Jan Pokorný) 2.9.0: Sep 11 2012: - Features: A few new API entry points, More resilient push parser mode, A lot of portability improvement, Faster XPath evaluation - Documentation: xml2-config.1 markup error (Christian Weisgerber), libxml(3) manpage typo fix (John Bradshaw), More cleanups to the documentation part of libxml2 (Daniel Richard G) - Portability: Bug 676544 - fails to build with --without-sax1 (Akira TAGOH), fix builds not having stdint.h (Rob Richards), GetProcAddressA is available only on WinCE (Daniel Veillard), More updates and cleanups on autotools and Makefiles (Daniel Richard G), More changes for Win32 compilation (Eric Zurcher), Basic changes for Win32 builds of release 2.9.0: compile buf.c (Eric Zurcher), Bundles all generated files for python into the distribution (Daniel Richard G), Fix compiler warnings of wincecompat.c (Patrick Gansterer), Fix non __GNUC__ build (Patrick Gansterer), Fix windows unicode build (Patrick Gansterer), clean redefinition of {v}snprintf in C-source (Roumen Petrov), use xmlBuf... if DEBUG_INPUT is defined (Roumen Petrov), fix runtests to use pthreads support for various Unix platforms (Daniel Richard G), Various "make distcheck" and portability fixups 2nd part (Daniel Richard G), Various "make distcheck" and portability fixups (Daniel Richard G), Fix compilation on older Visual Studio (Daniel Veillard) - Bug Fixes: Change the XPath code to percolate allocation errors (Daniel Veillard), Fix reuse of xmlInitParser (Daniel Veillard), Fix potential crash on entities errors (Daniel Veillard), initialize var (Rob Richards), Fix the XPath arity check to also check the XPath stack limits (Daniel Veillard), Fix problem with specific and generic error handlers (Pietro Cerutti), Avoid a potential infinite recursion (Daniel Veillard), Fix an XSD error when generating internal automata (Daniel Veillard), Patch for xinclude of text using multibyte characters (Vitaly Ostanin), Fix a segfault on XSD validation on pattern error (Daniel Veillard), Fix missing xmlsave.h module which was ignored in recent builds (Daniel Veillard), Add a missing element check (Daniel Veillard), Adding various checks on node type though the API (Daniel Veillard), Namespace nodes can't be unlinked with xmlUnlinkNode (Daniel Veillard), Fix make dist to include new private header files (Daniel Veillard), More fixups on the push parser behaviour (Daniel Veillard), Strengthen behaviour of the push parser in problematic situations (Daniel Veillard), Enforce XML_PARSER_EOF state handling through the parser (Daniel Veillard), Fixup limits parser (Daniel Veillard), Do not fetch external parsed entities (Daniel Veillard), Fix an error in previous commit (Aron Xu), Fix entities local buffers size problems (Daniel Veillard), Fix parser local buffers size problems (Daniel Veillard), Fix a failure to report xmlreader parsing failures (Daniel Veillard) - Improvements: Keep libxml2.syms when running "make distclean" (Daniel Veillard), Allow to set the quoting character of an xmlWriter (Csaba Raduly), Keep non-significant blanks node in HTML parser (Daniel Veillard), Add a forbidden variable error number and message to XPath (Daniel Veillard), Support long path names on WNT (Michael Stahl), Improve HTML escaping of attribute on output (Daniel Veillard), Handle ICU_LIBS as LIBADD, not LDFLAGS to prevent linking errors (Arfrever Frehtes Taifersar Arahesis), Switching XPath node sorting to Timsort (Vojtech Fried), Optimizing '//' in XPath expressions (Nick Wellnhofer), Expose xmlBufShrink in the public tree API (Daniel Veillard), Visible HTML elements close the head tag (Conrad Irwin), Fix file and line report for XSD SAX and reader streaming validation (Daniel Veillard), Fix const qualifyer to definition of xmlBufferDetach (Daniel Veillard), minimize use of HAVE_CONFIG_H (Roumen Petrov), fixup regression in Various "make distcheck" and portability fixups (Roumen Petrov), Add support for big line numbers in error reporting (Daniel Veillard), Avoid using xmlBuffer for serialization (Daniel Veillard), Improve compatibility between xmlBuf and xmlBuffer (Daniel Veillard), Provide new accessors for xmlOutputBuffer (Daniel Veillard), Improvements for old buffer compatibility (Daniel Veillard), Expand the limit test program (Daniel Veillard), Improve error reporting on parser errors (Daniel Veillard), Implement some default limits in the XPath module (Daniel Veillard), Introduce some default parser limits (Daniel Veillard), Cleanups and new limit APIs for dictionaries (Daniel Veillard), Fixup for buf.c (Daniel Veillard), Cleanup URI module memory allocation code (Daniel Veillard), Extend testlimits (Daniel Veillard), More avoid quadratic behaviour (Daniel Veillard), Impose a reasonable limit on PI size (Daniel Veillard), first version of testlimits new test (Daniel Veillard), Avoid quadratic behaviour in some push parsing cases (Daniel Veillard), Impose a reasonable limit on comment size (Daniel Veillard), Impose a reasonable limit on attribute size (Daniel Veillard), Harden the buffer code and make it more compatible (Daniel Veillard), More cleanups for input/buffers code (Daniel Veillard), Cleanup function xmlBufResetInput(), to set input from Buffer (Daniel Veillard) Swicth the test program for characters to new input buffers (Daniel Veillard), Convert the HTML tree module to the new buffers (Daniel Veillard), Convert of the HTML parser to new input buffers (Daniel Veillard), Convert the writer to new output buffer and save APIs (Daniel Veillard), Convert XMLReader to the new input buffers (Daniel Veillard), New saving functions using xmlBuf and conversion (Daniel Veillard), Provide new xmlBuf based saving functions (Daniel Veillard), Convert XInclude to the new input buffers (Daniel Veillard), Convert catalog code to the new input buffers (Daniel Veillard), Convert C14N to the new Input buffer (Daniel Veillard), Convert xmlIO.c to the new input and output buffers (Daniel Veillard), Convert XML parser to the new input buffers (Daniel Veillard), Incompatible change to the Input and Output buffers (Daniel Veillard), Adding new encoding function to deal with the new structures (Daniel Veillard), Convert XPath to xmlBuf (Daniel Veillard), Adding a new buf module for buffers (Daniel Veillard), Memory error within SAX2 reuse common framework (Daniel Veillard), Fix xmllint --xpath node initialization (Daniel Veillard) - Cleanups: Various cleanups to avoid compiler warnings (Daniel Veillard), Big space and tab cleanup (Daniel Veillard), Followup to LibXML2 docs/examples cleanup patch (Daniel Veillard), Second round of cleanups for LibXML2 docs/examples (Daniel Richard), Remove all .cvsignore as they are not used anymore (Daniel Veillard), Fix a Timsort function helper comment (Daniel Veillard), Small cleanup for valgrind target (Daniel Veillard), Patch for portability of latin characters in C files (Daniel Veillard), Cleanup some of the parser code (Daniel Veillard), Fix a variable name in comment (Daniel Veillard), Regenerated testapi.c (Daniel Veillard), Regenerating docs and API files (Daniel Veillard), Small cleanup of unused variables in test (Daniel Veillard), Expand .gitignore with more files (Daniel Veillard) 2.8.0: May 23 2012: - Features: add lzma compression support (Anders F Bjorklund) - Documentation: xmlcatalog: Add uri and delegateURI to possible add types in man page. (Ville Skyttä), Update README.tests (Daniel Veillard), URI handling code is not OOM resilient (Daniel Veillard), Fix an error in comment (Daniel Veillard), Fixed bug #617016 (Daniel Mustieles), Fixed two typos in the README document (Daniel Neel), add generated html files (Anders F Bjorklund), Clarify the need to use xmlFreeNode after xmlUnlinkNode (Daniel Veillard), Improve documentation a bit (Daniel Veillard), Updated URL for lxml python bindings (Daniel Veillard) - Portability: Restore code for Windows compilation (Daniel Veillard), Remove git error message during configure (Christian Dywan), xmllint: Build fix for endTimer if !defined(HAVE_GETTIMEOFDAY) (Patrick R. Gansterer), remove a bashism in confgure.in (John Hein), undef ERROR if already defined (Patrick R. Gansterer), Fix library problems with mingw-w64 (Michael Cronenworth), fix windows build. ifdef addition from bug 666491 makes no sense (Rob Richards), prefer native threads on win32 (Sam Thursfield), Allow to compile with Visual Studio 2010 (Thomas Lemm), Fix mingw's snprintf configure check (Andoni Morales), fixed a 64bit big endian issue (Marcus Meissner), Fix portability failure if netdb.h lacks NO_ADDRESS (Daniel Veillard), Fix windows build from lzma addition (Rob Richards), autogen: Only check for libtoolize (Colin Walters), Fix the Windows build files (Patrick von Reth), 634846 Remove a linking option breaking Windows VC10 (Daniel Veillard), 599241 fix an initialization problem on Win64 (Andrew W. Nosenko), fix win build (Rob Richards) - Bug fixes: Part for rand_r checking missing (Daniel Veillard), Cleanup on randomization (Daniel Veillard), Fix undefined reference in python module (Pacho Ramos), Fix a race in xmlNewInputStream (Daniel Veillard), Fix weird streaming RelaxNG errors (Noam), Fix various bugs in new code raised by the API checking (Daniel Veillard), Fix various problems with "make dist" (Daniel Veillard), Fix a memory leak in the xzlib code (Daniel Veillard), HTML parser error with