Version 8.13.0 [v8-stable] 2015-09-22
- ZeroMQ enhancements:
- Added the ability to set a static publishing topic per action as an
alternative to constructing topics with templates
- ZMQ_PUB socket now defaults to bind and ZMQ_SUB socket now defaults to
connect
- Redis enhancements:
- Can now LPUSH to a Redis list in "queue" mode
- Can now PUBLISH to a Redis channel in "publish" mode
- build requirement for rsyslog/mmnormalize is now liblognorm 1.1.2 or above
- mmnormalize: liblognorm error messages are now emitted via regular
rsyslog error reporting mechanism (aka "are now logged")
- add support for TCP client side keep-alives
- bugfix: imtcp/TLS hangs on dropped packets
- bugfix testbench: some tests using imptcp are run if module is disabled
- bugfix omkafka: Fixes a bug not accepting new messages anymore.
- bugfix: Parallel build issue "cannot find ../runtime/.libs/librsyslog.a:
No such file or directory" (#479) fixed.
- bugfix: Added missing mmpstructdata testfiles into makefile.
- bugfix: Reverted FIX for issue #392 as it had unexpected side effects.
- The new fix duplicates the Listener object for static files (like
done for dynamic files already), resolving issue #392 and #490.
- bugfix: issues in queue subsystem if syncqueuefiles was enabled
- Error 14 was generated on the .qi file directory handle.
As the .qi filestream does not have a directory set, fsync
was called on an empty directory causing a error 14 in debug log.
- When queue files existed on startup, the bSyncQueueFiles
strm property was not set to 1. This is now done in the
qqueueLoadPersStrmInfoFixup function.
- bugfix/testbench: tcpflood tool could abort when random data was added
- rscryutil: Added support to decrypt a not closed log file.
This first release in almost two years brings:
- more complete VFS abstraction
- new plug-in to manage Gtk+ bookmarks
- improved CVS, Git, Make, Preview, SVN, and Volumes plug-ins
- new plug-in to track the current selection
- new experimental plug-in for the XDG trash
- improvements to the view(1) helper binary
- re-usable library, libBrowser
- Spanish translation
- support for building outside of the source tree
- further improvements to the build system
- portability fixes (SunOS)
- support for drawing the desktop as a window
- improved support for Gtk+ 3
- introduction of a test suite
- additional bugfixes and improvements (UI, performance...)
pkgsrc change: add pkg_alternatives support.
v3.0.3
Improvements
* #330 - fixed warnings on JRuby
v3.0.2
Bugfixes
* fix#328 - add missing require which crashed Listen on OSX (thanks to @noahsw for reporting)
v3.0.1
Bugfixes
* #325, #327 - fix regressions (allow Listen to run correctly without other
deps + properly handle pause())
v3.0.0
KNOWN ISSUES
* #319, #258 - TCP is no longer part of Listen, and there's currently no
alternative except downgrading to Listen 2.x
API CHANGES
* TCP functionality removed (Listen.on, Adapter::TCP,
Adapter::TCP::Broadcaster, etc.)
* Listener#start should be used instead of Listener#unpause
* Listener#directories is no longer available
* Listener#options is no longer available as public API
IMPROVEMENTS
* Major performance improvements (CPU), especially for Polling
* Celluloid is no longer required by Listen (which means: better performance,
less dependencies, less threads used, less version conflicts, easier
debugging, less potential issues/bugs)
* TCP is no longer part of Listen (which means: more maintainable codebase and
possibility to create much better TCP implementation without the tradeoffs)
Development
* major codebase rewrite
* better logging by default
Major changes in 0.12.10
========================
* Add VD_AGENT_CAP_MONITORS_CONFIG_POSITION to handle multi-monitor
configurations that are not multi-head
* Add protocol code generation scripts from spice-common
* Endianness and compiler portability fixes (clang)
Lines 83 to 84 of AN-2015-09-16 mention an issue affecting
unpriviledged users running cdda2wav on NetBSD:
cdda2wav: fixed the file setuid.c to work on NetBSD. Thanks to
Heiko Eißfeldt for reporting.
This is the referenced patch, extracted by fbrosson2014.
Bump PKGREVISION.
for PKG_HOME.haldaemon to default to /var/run/hald instead of /var/run/hal
The init script hardcoded /var/run/hald so now use the corrected variable.
Also, use OPSYSVARS for BUILDLINK_TRANSFORMS adding one for SunOS -z.ignore
bump PKGREVISION
Changelog:
==============
Version 0.4.6
==============
NOTE: ConsoleKit is no longer actively maintained and this will most
likely be the final release. You are advised to switch to logind:
http://www.freedesktop.org/software/systemd/man/systemd-logind.service.html
* Don't truncate --frequent output to 8 chars in ck-history (Ray Strode)
* Import udev-acl tool from udev (Michael Biebl)
* Add support for GNU/Hurd (Pino Toscano)
* Build system fixes (Samuli Suominen)
- Device type '-d usbprolific' for Prolific PL2571/277x USB bridges.
- SAT: Support for ATA registers returned in fixed format sense data.
- smartctl '-i' and '--identify': ATA ACS-4 and SATA 3.2 enhancements.
- smartctl '-l xerror': Support for logs with more than 255 pages.
- smartctl '-l devstat': Prints ACS-3 DSN flags.
- smartctl '-l devstat': Read via SMART command if GP log is not
available.
- smartctl '-l scttempsts': Prints SCT SMART STATUS (ACS-4) and
vendor specific SCT bytes.
- configure option '--with-systemdenvfile=auto' as new default.
- configure options '--disable-drivedb', '--enable-savestates'
and '--enable-attributelog' are deprecated.
- Corresponding '--with-*' options are enhanced accordingly.
- Configure option '--with-docdir' is deprecated.
- autoconf < 2.60 and automake < 1.10 are deprecated.
(all of the above still work but a warning is printed if used)
- HDD, SSD and USB additions to drive database.
- Linux: AACRAID fixes, SMART STATUS should work now.
- Linux: '/dev/megaraid_sas_ioctl_node' fd leak fix.
- Darwin: '-S' command implemented, '-l devstat' should work now.
- Cygwin: Compile fix.
- Windows: Device type '-d aacraid' for AACRAID controllers.
- Windows: SAT autodetection based on IOCTL_STORAGE_QUERY_PROPERTY.
- Windows installer: Fix possible loss of user PATH environment variable.
v2.10.1
* #320 - latency option was completely ignored for both OSX and when Polling
* #302 - fix bug related to move_to/move_from breaking TCP functionality
Burp is a backup and restore program. It uses librsync in order to
save on the amount of space that is used by each backup. It also uses VSS
(Volume Shadow Copy Service) to make snapshots when backing up Windows
computers.
0.108_001 2015-02-03
- add full flavored struct accessors and implement all in XS, supports now
colnames, fetchrow_arrayref, fetchall_arrayref, fetchrow_hashref, fetchall_hashref,
fetchall_hash fetchall_array fetchall_table
- as_list is deprecated in favor of fetchall_hash
0.107 2015-01-20
- eliminate potential memory leaks in get_fs_stats, get_network_io_stats,
get_network_iface_stats, get_process_stats
- add support for device_canonical
- update bundled ppport.h to 3.28 one
0.016 2015-01-06
- update meta-information
- update author tests
- take advantage of Config::AutoConf 0.306
0.105_001 2014-09-07
- take advantage of Config::AutoConf 0.23
- switch to ExtUtils::MakeMaker, it seems more active maintained
- add a test for possible leak
- improve repository documentation (README.md)
0.104 2014-02-20
- fix link targets for stats description
An advanced log file viewer for the small-scale. Watch and analyze
your log files from a terminal.
Many logging tools, like Splunk, provide great features but are
optimized for large-scale deployments. They require installing
and configuring servers before they can be effectively used. There
is still a need for a robust log file analyzer for the terminal.
Just point lnav to a directory and it will take care of the rest.
File formats are automatically detected and compressed files are
unpacked on the fly.
Log files are a wealth of information, lnav can help highlight the
parts that are important and filter out the noise.
NEW features of cdrtools-3.01:
This is the first localization step for cdrtools. All programs now (hopefully)
call gettext() for all strings that need localization.
- The next step will include dgettext() calls for the libraries.
- The following step will include the extracted strings
- The last step will include German translations and install support
for the resulting binary message object files.
D-Bus 1.10.0 (2015-08-25)
==
The “0x20” release.
This is a new stable branch, recommended for use in OS distributions.
Fixes since 1.9.20:
• distribute test/tap-test.sh.in, even if the tarball was built without
tests enabled (fd.o #91684, Simon McVittie)
• work around a fd leak in libcap-ng < 0.7.7 (fd.o #91684, Simon McVittie)
Summary of major changes since 1.8.0:
• The basic setup for the well-known system and session buses is
now done in read-only files in ${datadir} (normally /usr/share).
See the NEWS entry for 1.9.18 for details.
• AppArmor integration has been merged, with features similar to the
pre-existing SELinux integration. It is mostly compatible with the
patches previously shipped by Ubuntu, with one significant change:
Ubuntu's GetConnectionAppArmorSecurityContext method has been superseded
by GetConnectionCredentials and was not included.
• The --enable-user-session configure option can be enabled
by OS integrators intending to use systemd to provide a session bus
per user (in effect, treating all concurrent graphical and non-graphical
login sessions as one large session).
• The new listenable address mode "unix:runtime=yes" listens on
$XDG_RUNTIME_DIR/bus, the same AF_UNIX socket used by the systemd
user session. libdbus and "dbus-launch --autolaunch" will connect to
this address by default. GLib ≥ 2.45.3 and sd-bus ≥ 209 have a
matching default.
• All executables are now dynamically linked to libdbus-1.
Previously, some executables, most notably dbus-daemon, were statically
linked to a specially-compiled variant of libdbus. This results in
various private functions in the _dbus namespace being exposed by the
shared library. These are not API, and must not be used outside
the dbus source tree.
• On platforms with ELF symbol versioning, all public symbols
are versioned LIBDBUS_1_3.
New bus APIs:
• org.freedesktop.DBus.GetConnectionCredentials returns
LinuxSecurityLabel where supported
• org.freedesktop.DBus.Monitoring interface (privileged)
· BecomeMonitor method supersedes match rules with eavesdrop=true,
which are now deprecated
• org.freedesktop.DBus.Stats interface (semi-privileged)
· now enabled by default
· new GetAllMatchRules method
New executables:
• dbus-test-tool
• dbus-update-activation-environment
New optional dependencies:
• The systemd: pseudo-transport requires libsystemd or libsd-daemon
• Complete documentation requires Ducktype and yelp-tools
• Full test coverage requires GLib 2.36 and PyGI
• AppArmor integration requires libapparmor and optionally libaudit
Dependencies removed:
• dbus-glib
D-Bus 1.9.20 (2015-08-06)
==
The “Remember Tomorrow” release.
This is a release-candidate for D-Bus 1.10.0. OS distribution vendors
should test it.
Fixes:
• Don't second-guess what the ABI of poll() is, allowing it to be used
on Integrity RTOS and other unusual platforms (fd.o #90314;
Rolland Dudemaine, Simon McVittie)
• Don't duplicate audit subsystem integration if AppArmor and SELinux are
both enabled (fd.o #89225, Simon McVittie)
• Log audit events for AppArmor/SELinux policy violations whenever
we have CAP_AUDIT_WRITE, even if not the system bus
(fd.o #83856, Laurent Bigonville)
D-Bus 1.9.18 (2015-07-21)
==
The “Pirate Elite” release.
Configuration changes:
• The basic setup for the well-known system and session buses is now done
in read-only files in ${datadir}, moving a step closer to systems
that can operate with an empty /etc directory. In increasing order
of precedence:
· ${datadir}/dbus-1/s*.conf now perform the basic setup such as setting
the default message policies.
· ${sysconfdir}/dbus-1/s*.conf are now optional. By default
dbus still installs a trivial version of each, for documentation
purposes; putting configuration directives in these files is deprecated.
· ${datadir}/dbus-1/s*.d/ are now available for third-party software
to install "drop-in" configuration snippets (any packages
using those directories should explicitly depend on at least this
version of dbus).
· ${sysconfdir}/dbus-1/s*.d/ are also still available for sysadmins
or third-party software to install "drop-in" configuration snippets
· ${sysconfdir}/dbus-1/s*-local.conf are still available for sysadmins'
overrides
${datadir} is normally /usr/share, ${sysconfdir} is normally /etc,
and "s*" refers to either system or session as appropriate.
(fd.o #89280, Dimitri John Ledkov)
Fixes:
• Fix a memory leak when GetConnectionCredentials() succeeds
(fd.o #91008, Jacek Bukarewicz)
• Ensure that dbus-monitor does not reply to messages intended for others,
resulting in its own disconnection (fd.o #90952, Simon McVittie)
D-Bus 1.9.16 (2015-05-14)
==
The “titanium barns” release.
Dependencies:
• Automake 1.13 is now required when compiling from git or modifying
the build system.
Security hardening:
• On Unix platforms, change the default configuration for the session bus
to only allow EXTERNAL authentication (secure kernel-mediated
credentials-passing), as was already done for the system bus.
This avoids falling back to DBUS_COOKIE_SHA1, which relies on strongly
unpredictable pseudo-random numbers.
If you are using D-Bus over the (unencrypted!) tcp: or nonce-tcp: transport,
in conjunction with DBUS_COOKIE_SHA1 and a shared home directory using
NFS or similar, you will need to reconfigure the session bus to accept
DBUS_COOKIE_SHA1 by commenting out the <auth> element. This configuration
is not recommended.
(fd.o #90414, Simon McVittie)
• When asked for random numbers for DBUS_COOKIE_SHA1, the nonce-tcp:
transport, UUIDs or any other reason, fail if we cannot obtain entropy
(from /dev/urandom or CryptGenRandom()) or an out-of-memory condition
occurs, instead of silently falling back to low-entropy pseudorandom
numbers from rand(). (fd.o #90414; Simon McVittie, Ralf Habacker)
Enhancements:
• Add dbus_message_iter_get_element_count()
(fd.o #30350; Christian Dywan, Simon McVittie)
• Introduce new internal DBusSocket and DBusPollable types so we can
stop treating the Windows SOCKET type as if it was int. DBusSocket
is specifically a socket, cross-platform. DBusPollable is whatever
_dbus_poll() can act on, i.e. a fd on Unix or a SOCKET on Windows.
(fd.o #89444; Ralf Habacker, Simon McVittie)
• All regression tests now output TAP <https://testanything.org/>
(fd.o #89846, Simon McVittie)
• Internal APIs consistently use signed values for timestamps
(fd.o #18494, Peter McCurdy)
• Improve diagnostics when UpdateActivationEnvironment calls are rejected
(fd.o #88812, Simon McVittie)
• Clean up a lot of compiler warnings
(fd.o #17289, fd.o #89284; Ralf Habacker, Simon McVittie)
Fixes:
• Add locking to DBusCounter's reference count and notify function
(fd.o #89297, Adrian Szyndela)
• Ensure that DBusTransport's reference count is protected by the
corresponding DBusConnection's lock (fd.o #90312, Adrian Szyndela)
• Correctly release DBusServer mutex before early-return if we run out
of memory while copying authentication mechanisms (fd.o #90021,
Ralf Habacker)
• Make dbus-test-tool and dbus-update-activation-environment portable
to Windows (fd.o #90089, Ralf Habacker)
• Correctly initialize all fields of DBusTypeReader (fd.o #90021;
Ralf Habacker, Simon McVittie)
• Fix some missing \n in verbose (debug log) messages (fd.o #90004,
Ralf Habacker)
• Clean up some memory and fd leaks in test code and tools
(fd.o #90021, Ralf Habacker)
• Fix a NULL dereference if the dbus-daemon cannot read a configuration
directory for a reason that is not ENOENT (fd.o #90021, Ralf Habacker)
• CMake generates a versioned shared library even if the revision is 0,
as it usually is on the development branch. (fd.o #89450, Ralf Habacker)
D-Bus 1.9.14 (2015-03-02)
==
The “don't stand in the poison cloud” release.
Dependencies:
• dbus-daemon and dbus-daemon-launch-helper now require libdbus. They
were previously linked to a static version of libdbus.
• The tests no longer require dbus-glib in order to exercise the libdbus
shared library; they are always linked to libdbus now.
Build-time configuration:
• The new --enable-user-session option, off by default, can be enabled
by OS integrators intending to use systemd to provide a session bus
per user (in effect, treating all concurrent graphical and non-graphical
login sessions as one large session)
Enhancements:
• All executables are now linked dynamically to libdbus.
(fd.o #83115; Bertrand SIMONNET, Simon McVittie, Ralf Habacker)
• On platforms that support them (GNU libc and possibly others),
libdbus now has versioned symbols for its public API.
All public symbols (visible in the header files) are currently
versioned as LIBDBUS_1_3; private symbols starting with _dbus or
dbus_internal have a version that changes with each release, and
must not be used by applications. (also fd.o #83115)
• New listenable address mode "unix:runtime=yes" which listens on
a real filesystem (non-abstract) socket $XDG_RUNTIME_DIR/bus
(fd.o #61303; Colin Walters, Alexander Larsson, Simon McVittie)
• Add optional systemd units for a per-user bus listening on
$XDG_RUNTIME_DIR/bus (fd.o #61301; Simon McVittie, Colin Walters)
• On Unix platforms, both libdbus and "dbus-launch --autolaunch"
default to connecting to $XDG_RUNTIME_DIR/bus if it is a socket
(also fd.o #61301)
• New dbus-update-activation-environment tool uploads environment
variables to "dbus-daemon --session" and optionally "systemd --user",
primarily as a way to keep the per-user bus compatible with
distributions' existing X11 login scripts (also fd.o #61301)
• <includedir/> elements in dbus-daemon configuration are now silently
ignored if the directory does not exist. (fd.o #89280, Dimitri John Ledkov)
• Add microsecond-resolution timestamps to the default output of
dbus-monitor and dbus-send (fd.o #88896; Ralf Habacker, Simon McVittie)
Fixes:
• Fix a race condition in the 'monitor' test introduced in 1.9.10
(fd.o #89222, Simon McVittie)
D-Bus 1.9.12 (2015-02-19)
==
The “monster lasagna” release.
Dependencies:
• Ducktype and yelp-tools are now required to build complete documentation
(they are optional for normal builds).
Enhancements:
• D-Bus Specification version 0.26
· GetConnectionCredentials can return LinuxSecurityLabel or WindowsSID
· document the BecomeMonitor method
• On Linux, add LinuxSecurityLabel to GetConnectionCredentials
(fd.o #89041; Tyler Hicks, Simon McVittie)
• On Linux, add support for AppArmor mediation of message sending and
receiving and name ownership (paralleling existing SELinux mediation
support), and eavesdropping (a new check, currently AppArmor-specific)
(fd.o #75113; John Johansen, Tyler Hicks, Simon McVittie)
• In dbus-send and dbus-monitor, pretty-print \0-terminated bytestrings
that have printable ASCII contents; we previously only did this for
unterminated bytestrings (fd.o #89109, Simon McVittie)
• Add a guide to designing good D-Bus APIs (fd.o #88994, Philip Withnall)
• On Windows, add WindowsSID to GetConnectionCredentials
(fd.o #54445, Ralf Habacker)
• Improve clarity of dbus-monitor --profile output and add more columns
(fd.o #89165, Ralf Habacker)
• Add a man page for dbus-test-tool, and build it under CMake as well
as Autotools (fd.o#89086, Simon McVittie)
• If dbus-daemon was compiled with --enable-verbose, add a D-Bus API
to control it at runtime, overriding the DBUS_VERBOSE environment variable
(fd.o #88896, Ralf Habacker)
Fixes:
• Reduce the number of file descriptors used in the fd-passing test,
avoiding failure under the default Linux fd limit, and automatically
skip it if the rlimit is too small (fd.o #88998, Simon McVittie)
D-Bus 1.9.10 (2015-02-09)
==
The “sad cyborgs” release.
Security fixes merged from 1.8.16:
• Do not allow non-uid-0 processes to send forged ActivationFailure
messages. On Linux systems with systemd activation, this would
allow a local denial of service: unprivileged processes could
flood the bus with these forged messages, winning the race with
the actual service activation and causing an error reply
to be sent back when service auto-activation was requested.
This does not prevent the real service from being started,
so the attack only works while the real service is not running.
(CVE-2015-0245, fd.o #88811; Simon McVittie)
Enhancements:
• The new Monitoring interface in the dbus-daemon lets dbus-monitor and
similar tools receive messages without altering the security properties
of the system bus, by calling the new BecomeMonitor method on a
private connection. This bypasses the normal <allow> and <deny> rules
entirely, so to preserve normal message-privacy assumptions, only root
is allowed to do this on the system bus. Restricted environments,
such as Linux with LSMs, should lock down access to the Monitoring
interface. (fd.o #46787, Simon McVittie)
• dbus-monitor uses BecomeMonitor to capture more traffic, if the
dbus-daemon supports it and access permissions allow it.
It still supports the previous approach ("eavesdropping" match rules)
for compatibility with older bus daemons. (fd.o #46787, Simon)
• dbus-monitor can now log the message stream as binary data for later
analysis, with either no extra framing beyond the normal D-Bus headers,
or libpcap-compatible framing treating each D-Bus message
as a captured packet. (fd.o #46787, Simon)
Other fixes:
• Fix some CMake build regressions (fd.o #88964, Ralf Habacker)
• On Unix, forcibly terminate regression tests after 60 seconds to
prevent them from blocking continuous integration frameworks
(fd.o #46787, Simon)
D-Bus 1.9.8 (2015-02-03)
==
The “all the types of precipitation” release.
Dependencies:
• full test coverage now requires GLib 2.36
• full test coverage now requires PyGI (PyGObject 3,
"import gi.repository.GObject") instead of the
obsolete PyGObject 2 ("import gobject")
Enhancements:
• add GLib-style "installed tests" (fd.o #88810, Simon McVittie)
• better regression test coverage, including systemd activation
(fd.o #57952, #88810; Simon McVittie)
Fixes:
• fatal errors correctly make the dbus-daemon exit even if <syslog/> is
turned off (fd.o #88808, Simon McVittie)
• TCP sockets on Windows no longer fail to listen approximately 1 time
in 256, caused by a logic error that should have always made it fail but
was mitigated by incorrect endianness for the port number
(fd.o #87999, Ralf Habacker)
• fix some Windows build failures (fd.o #88009, #88010; Ralf Habacker)
• on Windows, allow up to 8K connections to the dbus-daemon instead of the
previous 64, completing a previous fix which only worked under
Autotools (fd.o #71297, Ralf Habacker)
• on Windows, if the IP family is unspecified only use IPv4,
to mitigate IPv6 not working correctly (fd.o #87999, Ralf Habacker)
• fix some unlikely memory leaks on OOM (fd.o #88087, Simon McVittie)
• lcov code coverage analysis works again (fd.o #88808, Simon McVittie)
• fix an unused function error with --disable-embedded-tests (fd.o #87837,
Thiago Macieira)
D-Bus 1.9.6 (2015-01-05)
==
The “I do have a bread knife” release.
Security hardening:
• Do not allow calls to UpdateActivationEnvironment from uids other than
the uid of the dbus-daemon. If a system service installs unsafe
security policy rules that allow arbitrary method calls
(such as CVE-2014-8148) then this prevents memory consumption and
possible privilege escalation via UpdateActivationEnvironment.
We believe that in practice, privilege escalation here is avoided
by dbus-daemon-launch-helper sanitizing its environment; but
it seems better to be safe.
• Do not allow calls to UpdateActivationEnvironment or the Stats interface
on object paths other than /org/freedesktop/DBus. Some system services
install unsafe security policy rules that allow arbitrary method calls
to any destination, method and interface with a specified object path;
while less bad than allowing arbitrary method calls, these security
policies are still harmful, since dbus-daemon normally offers the
same API on all object paths and other system services might behave
similarly.
Other fixes:
• Add missing initialization so GetExtendedTcpTable doesn't crash on
Windows Vista SP0 (fd.o #77008, Илья А. Ткаченко)
D-Bus 1.9.4 (2014-11-24)
==
The “extra-sturdy caramel” release.
Fixes:
• Partially revert the CVE-2014-3639 patch by increasing the default
authentication timeout on the system bus from 5 seconds back to 30
seconds, since this has been reported to cause boot regressions for
some users, mostly with parallel boot (systemd) on slower hardware.
On fast systems where local users are considered particularly hostile,
administrators can return to the 5 second timeout (or any other value
in milliseconds) by saving this as /etc/dbus-1/system-local.conf:
<busconfig>
<limit name="auth_timeout">5000</limit>
</busconfig>
(fd.o #86431, Simon McVittie)
• Add a message in syslog/the Journal when the auth_timeout is exceeded
(fd.o #86431, Simon McVittie)
• Send back an AccessDenied error if the addressed recipient is not allowed
to receive a message (and in builds with assertions enabled, don't
assert under the same conditions). (fd.o #86194, Jacek Bukarewicz)
D-Bus 1.9.2 (2014-11-10)
==
The “structurally unsound flapjack” release.
Security fixes:
• Increase dbus-daemon's RLIMIT_NOFILE rlimit to 65536
so that CVE-2014-3636 part A cannot exhaust the system bus'
file descriptors, completing the incomplete fix in 1.8.8.
(CVE-2014-7824, fd.o #85105; Simon McVittie, Alban Crequy)
Enhancements:
• D-Bus Specification version 0.25
· new value 'const' for EmitsChangedSignal annotation
(fd.o #72958, Lennart Poettering)
· new ALLOW_INTERACTIVE_AUTHORIZATION flag, for PolicyKit and similar
(fd.o #83449; Lennart Poettering, Simon McVittie)
· annotate table of types with reserved/basic/container, and for
basic types, fixed/string-like
· clarify arbitrary limits by quoting them in mebibytes
• New API: add accessors for the ALLOW_INTERACTIVE_AUTHORIZATION flag
(fd.o #83449, Simon McVittie)
• Add dbus-test-tool, a D-Bus swiss army knife with multiple subcommands,
useful for debugging and performance testing:
· dbus-test-tool spam: send repeated messages
· dbus-test-tool echo: send an empty reply for all method calls
· dbus-test-tool black-hole: do not reply to method calls
(fd.o #34140; Alban Crequy, Simon McVittie, Will Thompson)
• Add support for process ID in credentials-passing on NetBSD
(fd.o #69702, Patrick Welche)
• Add an example script to find potentially undesired match rules
(fd.o #84598, Alban Crequy)
• Document the central assumption that makes our use of credentials-passing
secure (fd.o #83499, Simon McVittie)
• Replace the dbus-glib section of the tutorial with a GDBus recommendation,
and add some links to GDBus and QtDBus documentation (fd.o #25140,
Simon McVittie)
Fixes:
• Use a less confusing NoReply message when disconnected with a reply pending
(fd.o #76112, Simon McVittie)
• Make the .pc file relocatable by letting pkg-config do all variable
expansion itself (fd.o #75858, Руслан Ижбулатов)
• Fix a build failure on platforms with kqueue, which regressed in 1.9.0
(fd.o #85563, Patrick Welche)
• Consistently save errno after socket calls (fd.o #83625, Simon McVittie)
• In dbus-spawn, when the grandchild process exits due to a failed exec(),
do not lose the exec() errno (fd.o #24821, Simon McVittie)
• Do not fail the tests if a parent process has leaked non-close-on-exec
file descriptors to us (fd.o #73689, fd.o #83899; Simon McVittie)
• Do not fail the tests on Unix platforms with incomplete
credentials-passing support, but do fail if we can't pass credentials
on a platform where it is known to work: Linux, FreeBSD, OpenBSD, NetBSD
(fd.o #69702, Simon McVittie)
• Detect accept4, dirfd, inotify_init1, pipe2, and Unix fd passing
when building with cmake, and expand test coverage there
(fd.o #73689; Ralf Habacker, Simon McVittie)
D-Bus 1.9.0 (2014-10-01)
==
The “tiered cheeses” release.
Requirements:
• Support for the systemd: (LISTEN_FDS) pseudo-transport on Linux now
requires either the libsystemd or libsd-daemon shared library, dropping the
embedded convenience copy of sd-daemon (fd.o #71818, Simon)
Build-time configuration changes:
• The Stats interface is now enabled by default, and locked-down to
root-only on the system bus. Configure with --disable-stats
to disable it altogether on memory- or disk-constrained systems,
or see ${docdir}/examples/ to open it up to non-root users on the
system bus or restrict access on the session bus.
(fd.o #80759; Simon McVittie, Alban Crequy)
• The CMake build system now builds the same shared library name as Autotools
on at least Linux and Windows:
- on Linux (and perhaps other Unix platforms), it previously built
libdbus-1.so, but now builds libdbus-1.so.3.* with development
symlink libdbus-1.so and SONAME/symlink libdbus-1.so.3
- on Windows, it previously built either libdbus-1.dll (release) or
libdbus-1d.dll (debug), but now builds libdbus-1-3.dll, copied to
libdbus-1.dll for compatibility with older applications.
(fd.o #74117, Ralf Habacker)
Enhancements:
• D-Bus Specification version 0.24
· document how to quote match rules (fd.o #24307, Simon McVittie)
· explicitly say that most message types never expect a reply
regardles of whether they have NO_REPLY_EXPECTED
(fd.o #75749, Simon McVittie)
• on Unix platforms, disable Nagle's algorithm on TCP connections to improve
initial latency (fd.o #75544, Matt Hoosier)
• use backtrace() if it is in -lexecinfo instead of libc, as on NetBSD
(fd.o #69702, Patrick Welche)
• in dbus-monitor, print more information about file descriptors
(fd.o #80603, Alban Crequy)
• do not install system bus configuration if built for Windows
(fd.o #83583; Ralf Habacker, Simon McVittie)
• Add GetAllMatchRules to the Stats interface (fd.o #24307, Alban Crequy)
• Add a regression test for file descriptor passing (fd.o #83622,
Simon McVittie)
Fixes:
• fix an incorrect error message if a Unix socket path is too long
(fd.o #73887, Antoine Jacoutot)
• in an MSYS/Cygwin environment, pass Unix-style filenames to xmlto,
fixing documentation generation (fd.o #75860, Руслан Ижбулатов)
• in Unix with X11, avoid giving dbus-launch a misleading argv[0]
in ps(1) (fd.o #69716, Chengwei Yang)
• avoid calling poll() with timeout < -1, which is considered invalid
on FreeBSD and NetBSD (fd.o #78480, Jaap Boender)
• be portable to BSD-derived platforms where O_CLOEXEC is unavailable in libc
(like Mac OS X 10.6), or available in libc but unsupported by the kernel
(fd.o #77032; rmvsxop, OBATA Akio, Patrick Welche)
• Fix include path for test/internal/*.c with cmake (Ralf Habacker)
• Documentation improvements
(fd.o #80795, #84313; Thomas Haller, Sebastian Rasmussen)
• in dbus-monitor, do not leak file descriptors that we have monitored
(fd.o #80603, Alban Crequy)
• Set the close-on-exec flag for the inotify file descriptor, even
if built with CMake or older libc (fd.o #73689, Simon McVittie)
• Remove some LGPL code from the Windows dbus-daemon
(fd.o #57272, Ralf Habacker)
Let me know if you need one of the removed options.
Version 4.8.14
- Core
* Minimal version of GLib is 2.14.0
* Add new panel binding "!SelectExt" to select/unselect files with the same extension as the current file (#3228)
* Speed up of directory size calculation (#3247)
* Support of italic text (#3065)
- Editor
* New syntax highlighting support:
- puppet (#3266)
- Viewer
* Rewrite mcview's rendering and scrolling (#3250, #3256)
- no more partial lines at the top and failure to scroll when Up or Down is pressed;
- better handling of CJK characters;
- handle combining accents;
- improved nroff support;
- more conventional scrolling behavior at the end of the file.
* Use VIEW_SELECTED_COLOR in plain mode (#3405)
* In !QuickView panel, don't pass any chars to command line to avoid unexpected command execution (#3253)
- Misc
* Code cleanup (#3265, #3262)
* Bind poedit to Edit action for .po files (#3287)
* Better grammar mcedit user menu (#3246)
- Fixes
* Fail to build against musl libc (#3267)
* Error compiling with glib 2.20.3 (#3333)
* Overwrite of the PROMPT_COMMAND bash variable (#2027)
* contrib/*.?sh are not recreated after rerun of configure (#3181)
* File rename handles zero-length substitutions incorrectly (#2952)
* Lose files on "Skip" when "Cannot preallocate space for target file" (#3297)
* Info panel can't obtain file system statistics on Solaris (#3277)
* "Shell patterns" broken beyond repair (#2309)
* File selection by patterns uses bytes instead of unicode characters (#2743)
* Copy files dosn't work as expected, when copying to a directory with the special symbol in its name (#3235)
* Wrong order of old_colors table items (#3404)
* Input line: Alt+Backspace on one-letter word erases too much (#3390)
* "Directory scanning" window is too narrow (#3162)
* No Help for User Menu (#3409)
* mcedit: paste from clipboard does not work (#3339)
* mcviewer: hang when viewing broken man page (#2966)
* mcview hex: incorrect highlight when search string not found (#3263)
* mcview hex edit: UTF-8 chars are not updated (#3259)
* mcview hex edit: can't enter certain UTF-8 characters (#3260)
* mcview hex edit: CJK overflow (#3261)
* mcedit: status line doesn't show full path to file (#3285)
* Freeze when copying from one FTP location to another (#358)
Version 4.8.13
- Core
* New engine of user-friendly interruption of long-time operations (#2136)
- Editor
* Improvements of syntax highlighting:
* CMake (#3216)
* PHP (#3230)
* Translate language names in the spelling assistant dialogue (#3233)
- Viewer
* Add separate normal(default) colour pair for viewer (#3204)
* Dealing with utf-8 man pages in view/open (#1539)
* "Goto line" is 1-based now (#3245)
- Misc
* Code cleanup (#3189, #3223, #3242)
* Add new skins: gray-green-purple256 and gray-orange-blue256 (#3190)
- Fixes
* First Backspace/Delete is ignored after mouse click in an input widget (#3225)
* Recursive find file doesn't work on Samba share (#3097)
* Recursive find file doesn't work on Windows NFS share (#3202)
* Incorrect file counter in move operation (#3196, #3209)
* "Directory scanning" window is too narrow (#3162)
* Colon is not recognized inside escape seq in prompt (#3241)
* Quick view doesn't grab focus on mouse click (#3251)
* fish subshell: overridden prompt (#3232, #3237)
* mcviewer: broken switch between raw and parse modes (#3219)
* mcviewer: incorrect percentage in mcview hex mode (#3258)
* RAR VFS incorrectly recognizes UnRAR version (#3240)
* viewbold and viewselected are missing from some skins (#3244)
* Incorrect enconding name for manual page (#3239)
* "User menu -> View manual page" doesn't do coloring (#3243)
Version 4.8.12
- Core
* Speed up of file find (#2290)
* If cwd is a symlink it is kept at startup (#3093)
* Improve support of Zsh (#3121, #3124, #3125, #3177)
* Launch external editor/viewer without passing line number (#3117)
* Exit without confirmation by default (#3132)
* Simple user-friendly skin selector (#2165, #3178)
* Use Joliet and RockRidge in ISO9660 image view action (#3187)
- VFS
* Use .zip extension as preferred way to recognize ZIP archives (#2857)
- Editor
* Configurable selection reset on CK_Store (#3111)
- Misc
* Code cleanup (#3113, #3151)
* Adjust script permissions to installed ones (#2274)
* Fix name of FSF in add source files (#3167)
* Skin cleanups (#3180, #3184)
* Do not consider "String not found" message as error (#3179)
- Fixes
* Broken build with NCurses (#3114)
* Incorrect tilde expansion in copy/rename/move dialog (#3131)
* Advanced chown: Escape on user list accepts value (#3150)
* Toggling hidden files using mouse doesn't update the other panel (#3156)
* Question mark in delete confirmation is on its own line (#3123)
* Popup dialogs wander upwards upon resize (#3173)
* Keypad '*' doesn't work with numlock off (#3133)
* Some inconsistencies in "Learn keys" UI (#3134)
* Unconventional behavior of "Display bits" dialog (#3152)
* Shift-Fn keys don't work in 256-color mode of tmux (#2978)
* mcedit: format paragraph produces inconsistent wrapping (#3119)
* mcedit: file out-of-date check on saving is botched (#3142)
* mcedit: 1st line is shifted after paragraph format (#1666)
* mcedit: trailing newline check applied too early when exiting (#3140)
* Inconsistency of the arrow's direction in the panel header line across skins (#3157)
* Possible segfault while passing messages to widgets (#3116)
* Possible segfault when freeing a VFS (#3116)
* Segfault in cpio VFS while reading corrupted RPM (#3116)
* Segfault in sftpfs VFS when trying to view a file (#3176)
* Incorrect handling of filenames with unrar v5 (#3073)
* FISH VFS: remote panel confused by filenames with '%' (#2983)
* iso9660: xorriso shows only one depth (#3122)
* Nicedark skin looks bad on black-on-white terminals (#3154)
* Incorrect definition of "topmiddle" and "bottommiddle" characters (#3183)
Version 4.8.11
- Core
* Live update of panels size when editing layout (#3060)
* Support "Compute totals" option in move file operation (#2075)
- VFS
* rpm extfs
- show dependency version (#2812)
- support tar payload (#3064)
- improve support for EPOCH tag (#1588)
- add support for PREINPROG/POSTINPROG/PREUNPROG/POSTUNPROG, VERIFYSCRIPTPROG and TRIGGERSCRIPTS/TRIGGERSCRIPTPROG tags (#1588)
- Editor
* Support "bracketed paste mode" of xterm (#2661)
* Clarify Java syntax highlighting (#3057)
- Misc
* Print warnings about unknown '--with-' / '--enable-' configure options (#3029)
* Code cleanup and refactoring (#3051, #3066)
- Fixes
* FTBFS on GNU Hurd (#3053, #3071)
* Segfault while moving files (#3059, #3105)
* Broken handling of mc command line arguments (#3047)
* Copy/move doesn't work if num_history_items_recorded=0 (#3076)
* No subdir path completion in current dir, if stub is not starting with './' (#3018)
* Deprecated "find -perm +xxx" syntax is used (#3089)
* Home, End, Shift-Fn keys don't work in tmux (#2978)
* Improper [en|dis]abling of layout dialog split adjustment buttons (#3061)
* Bogus strings in 'Confirmation' config dialog (#2271)
* "Configure options" first entry not highlighted (#3084)
* "Setup saved to ~/.config/mc/ini" message is misleading (#3096)
* F3 doesn't work on .so files in FreeBSD 9.x (#3101)
* Typo in mc.lib: "less=%filename +%linenog" instead of "+%lineno" (part of #3044)
* Wrong order of filename and line number for external editor (part of #3044)
* mcedit: tabs are lost when text is pasted (#1797 as part of #2661)
* mcedit: question on large file treats Escape as Yes (#3107)
* Broken case-sensitive search in editor/viewer/diffviewer (#3069)
* Changes to files in nested .zip archives are lost (#3070)
* Incorrect handling of filenames with spaces with unrar v5 (#3073)
* iso9660 VFS: filenames truncating in ISO file listing (#3091)
* vfs_path_from_str_flags() doesn't support VPF_STRIP_HOME (#3098)
* Bright colors are used as background colors in 16-color skins (#3050)
* Various defects in documentation (#3052, #3092)
Version 4.8.10
- Core
* Do not link GModule if it is not required (save space on embedded systems) (#2995)
* Behavior of the 'Right' key in the 'Directory hotlist' was changed: now 'Right' key is used only to enter into the group (#3045)
- Misc
* Code cleanup (#3035)
- Fixes
* Build failure on Cygwin (#3041)
* Broken NCurses detection (#3043)
* Broken handling of mc command line arguments (#3047)
* Cannot enter into zip archive in tar one (#3034)
* Cannot open some jar files
* mcedit: file descriptor leak (#3040)
* mcedit: paragraph format doesn't respect multibyte characters (#2713)
* Crash after entering a wrong SFTP password (#3036)
Version 4.8.9
- VFS
* extfs: support unrar-5 (#3015)
* extfs: use xorriso (if exists) for writing into ISO images (#3027)
- Editor
* Support unlimited file size (#1743)
- Misc
* Lot of code cleanups (#2990, #2071, #2164, #2998, #3003, #3005, #3022)
* Display additional info while viewing (by F3) *.iso files (#2006)
* New skins:
- modarin256: set of 256-color skins from Oliver Lange (#2737)
- Fixes
* Fail to link if system lib does not contain strverscmp (#2992)
* Segfault when mc's temporary directory doesn't belong to the correct user (#3021)
* Race condition when creating temporary directory (#3025)
* Mouse doesn't work in screen and tmux (#3011)
* Incorrect file size in copy/move overwrite query dialog (#3000)
* Garbage in subshell prompt (#3001)
* Incorrect WLabel redraw after text change (#2991)
* Find File: "All charsets" options don't work (#3026)
* When an unknown key is pressed, it is interpreted as garbage (#2988)
* Segfault on creating new file in external editor (#3020)
* Rotating dash is not removed when mc finishes reading the directory (#2163)
* mcedit: word completion failed if word to be completed is begun from begin of file (#2245)
* mcview: broken switch between raw and parse modes (#2968)
* Hex viewer: continue search doesn't work (#2706)
* sftpfs: broken SSH aliases (#2923)
Version 4.8.8
- Core
* Make copy/move progress dialog window wider up to 2/3 of screen width (#2076)
* Ask file name before create new file in editor (#2585)
* Support newer extended mouse protocol SGR-1006 instead of URXVT-1015 (#2956)
* Allow skip directory scanning before file operation. Print directory count and size in addition to directory name (#2101)
* Add jump support to target line in some external editors and viewers (#2206)
- Editor
* Update syntax highlighting:
- Jal programming language (#2855)
- gplink configuration files (.lkr extension) (#2855)
- Makefile with .mak extension (#2896)
- ZSH configuration files (#2950)
- Fortran (#2962)
- Misc
* Code cleanup (#2944, #2954)
* Report real compiler in MC_CHECK_ONE_CFLAG instead of 'gcc'
* Hints files now translated via Transifex (#2980)
- Fixes
* Segfault in file operation due to unhandled regexp error (#2493)
* Tab completion vs. spaces and escaping (#55)\
* Special chars are not escaped in autocompletion of filenames (#2626)
* Buttons in the 'Directory hotlist' window are placed incorrectly (#2958)
* Mouse doesn't select text in subshell in native console (#2964)
* Mouse click below non-droppeddown menubar activates menu box (#2971)
* Insufficient quoting and wrong message in user menu (#2947)
* mcedit: floating point exception (division by zero) (#2953)
* mcedit: broken autocompletion (#2957)
* mcview: broken magic mode (#2976)
* Broken opening of .war archives (#2974)
Version 4.8.7
- Core
* Minimal GLib version is 2.12.0
* Implementation of suspend/resume in copy/move file operations (#2111)
* Start of widget subsystem reimplementation (#2919)
- VFS
* uc1541 extfs plug-in updated up to version 2.5 (#2935)
- Editor
* Reset selection after text paste (only in non-persistent selection mode) (#2660)
* Don't indent blank lines (#303).
* Add .psgi as Perl syntax highlighting (#2912)
* Place cursor after inserted chars (#319)
* Add option in ini file to save spelling language (spell_language=NONE for disable aspell support) (#2914)
- Misc
* Code cleanup (#2888, #1950)
* Minimal "check" utility version is 0.9.8
* Remove the empty contrib/dist/debian/ since it maintained separately in Debian (#2871)
* mc.ext updates:
- add support of SVG images (#2895)
- add support of .asm file extension (#2892)
- add support of .hh file extension (#2892)
- all file extension for source files now are case insensitive (#2892)
- add support of JNG and MNG images (#2893)
- add support of Gnumeric's spreadsheets (#2894)
- add support of .war archives (#2891)
- make a choice between arj and unarj archivers (#2890)
- make a choice between 7z and 7za archivers (#2890)
- add support of ape, aac and wvm4a media formats (#2767)
- add support of cbr and cbz comic books (#2739)
- add support of epub e-book format (#2739)
- add support of PAR archives (#2739)
- use libreoffice instead of ooffice, if found, to open ODT files (#2723)
- use dvicat if dvi2tty not found to view DVI files (#1686)
- use 'see' utility as default pdf viewer, if found (#1686)
- use 'see' utility to view images in console (#1686)
* Highlight OGV files as media (#2934)
* Added new translations:
- Persian (fa)
- Croatian (hr)
- Fixes
* Build failure on Cygwin (#2917)
* Fail to check ncurses library if --with-ncurses-inc and --with-ncurses-libs options are used (#2926)
* Crash on Solaris while trying to copy a file (#2906)
* CVE-2012-4463: Does not sanitize MC_EXT_SELECTED variable properly (#2913)
* Attributes of existing directories are never preserved when copying (#2924)
* Broken path completion on paths starting with ~/ (#2898)
* Terminal settings are not changed when window is resized (#2198)
* Enter into symlink to compressed patch shows empty patch (#2910)
* Test failure on Cygwin due to incorrect linkage flag (#2918)
* Non-portable test (#2883)
Version 4.8.6
- Fixes
* mcedit: two-columns extra offset of cursor after tab character (#2881)
* diffviewer: cannot open file if name contains '$' (#2873)
Version 4.8.5
- Core
* Implemented case-insensitive patterns in mc.ext bindings (#2250)
- Editor
* Code refactoring and cleanup (#1977)
- Diff viewer
* Bidirectional merge (F5 merge left-to-right, F15 - merge right-to-left) (#2863)
- Misc
* Syntax highlighting news and updates:
- update assembler.syntax: x86 AMD64 registers highlighting (#2542)
- new cmake.syntax: preliminary and incomplete syntax file for CMakeLists.txt files (#2084)
- new dlink.syntax: syntax highlighting for D-Link switches command set (#2649)
- update properties.syntax: more nice look-and-feel (#1869)
* mc.ext enhancement (#2103):
- use chm_http text-mode handler for CHM files
- play sounds only from videos in text mode
- use pdftotext -layout -nopgbrk switches
- try to use elinks before links for HTML
- soffice2html text-mode handler for SXW files
- wvHtml text-mode handler for doc files
- xlhtml text-mode handler for XLS files
- ppthtml text-mode handler for PPT/PPS files
- open=view+pager fallback (noX) for PostScript, PDF, OD[PST] and DVI
- standarized $DISPLAY checks
* File extension support:
- SQLite database files (#2103)
- compiled Java files (*.class) (#2103)
- m4a for MP4 containers with audio data in the Advanced Audio Coding (AAC) or its own Apple Lossless (ALE, ALAC) formats (#2869)
- .ogm extension was deprecated in favor of .ogv (#2664)
- Fixes
* Bad EXTHELPERSDIR substitution if --prefix is not set (#2849)
* Partially broken loading of user-defined keymap file (#2848)
* Enter on directory named '~' goes to the home one (#2874)
* Cannot Copy/Move files with filename encoding change (#2791)
* Cannot view compressed files named like log.1.gz (with digit in name) (#2852)
* Panel is not refreshed if panel history is called using mouse (#2854)
* Duplicate entities in panel with 'tree view' mode (#2835)
* Broken synchronization with filelist and tree panels (#2862)
* Standalone mcedit doesn't load saved file position (#2853)
* mcedit segfaults when aspell (en) dictionary is not installed (#2856)
* mcedit segfaults after "Back from declaration" call (#2859)
* mcedit: unable to save changes in "Safe save" mode(#2832)
* Segfault when viewing HTML files with "mc -v" (#2858)
* Broken 'Enter' action on a rpm file containing space character in filename (#2838)
* extfs: uc1541 broken handling (#2864)
* mc.ext: OGV format handled as audio (#2869)
Version 4.8.4
- Core
* Use xdg-open by default in mc.ext.in if present to open files, fallback on current scheme otherwise (#2118)
* Improve of mouse event handling in dialogs (#2817)
* Show extended info about compiled-in paths for internal/external macros in the "mc -F" output (2495)
- VFS
* Added SFTP support (#1535)
- Editor
* Multieditor: allow edit many files in one mcedit window (#2261, #2839)
* Aspell support for spell check (#2788)
- Viewer
* Handle CK_FileNext/CK_FilePrev actions inside mcviewer (#2814)
- Misc
* Tweak and cleanup of code in case of --disable-charset option usage (#2827)
* File extension support:
- .gem - rubygems (#2797)
- .cpio.xz - compressed cpio archives (#2798)
- .webm - WebM video (#2746)
- .lib - gputils artifacts (#2751)
- Fixes
* Build failure on FreeBSD 6 (#2808)
* src/filemanager/filegui.c does not compile on Solaris due to missing macros (#2825)
* Loss of data on copy to full partition (#2829)
* Crash at Chown command (#2784)
* Crash when creating relative symlink (#2787)
* Misinterpretation of dirs as command line arguments (#2783, #2805)
* Number of panelized files was limited to 127 (#2813)
* CK_History removes CK_HistoryNext entries (#2313)
* URL with port was stored wrong in history (#2833)
* Can't find 00 (zeroes) in patterns in hex search (#2795)
* Hotkey conflicts in 'Search' dialog (#2843)
* Error message when entering into compressed tar and cpio archives (#2785)
* Garbage directory listing in ftpfs (#2800)
* Incomplete sand256 skin (#2807)
* mcedit scripts are installed as data files (#1437)
* Fails to build from source with --enable-tests (#2786)
* Tests failure on PowerPC,S390,S390x (#2804)
* Fail to compile if --without-vfs configure option specified (#2834)
* do_panel_cd: FTBFS with --enable-tests on [kfreebsd-i386,kfreebsd-amd64,ia64,armhf] (#2803)
Version 4.8.3
- Misc
* Code cleanup (#2780)
- Fixes
* Broken support of XDG_* shell variables (#1851)
* Segmentation fault while background copying (#2663)
* MC ignores second directory argument (#2762)
* Interpretation of LANG variable needs to be case insensitive (#2386)
* Cannot copy zero-length files with "Preallocate space" option (#2755)
* Problem in the Copy operation with unchecked the "Preserve attributes" option (#2278)
* * Cursor position reset after update when panel is panelized, but doesn't (#2766)
* File selection reset after exit from the archive in the root (#2776)
* Hotlist: broken newly added entries if old-style path is present (#2753)
* Can't rebind Fx keys in the file manager (#2384)
* "justified" menu alignment (#2756)
* The last (or single) word of hyperlinks in the interactive help don't act on mouse clicks (#2763)
* 'cd' command is not working in shell link (#2758)
* mc hangs on switching screens (#2608)
* Case sensitive search with SEARCH_TYPE_PCRE is broken (#2764)
* mcedit can't run w/o file as parameter (#2754)
* mcedit can't record input char (#2757)
* mcedit: save file on top of existing directory changes dir's permissions (#2761)
* Unable to edit gzipped files (#2759)
* mcedit hangs up on replace with regexp contains '^' or '$' (#1868)
* Segfault after open incorrect archive (#2775)
* mcdiff crashes if one panel is not in the listing mode (#2769)
* The password for vfs sessions remains in input history (#2760)
* Showing directory sizes is broken in VFS'es (#2765)
* Stale symlinks in vfs (#2777)
* Active VFS directories list contain incorrect current path (#2779)
* Date not set properly in manpage (#2692)
* Empty texinfo rule in mc.ext (#2774)
* Test failure if 'HOME' contains trailing slashes (#2768)
Version 4.8.2
- Core
* Added new flag -X (--no-x11) to allow dont't use X11 to get the state of modifiers Alt, Ctrl, Shift (#86)
* Support of '~' as home dir in 'Start at:' field in 'Find File' dialog (#2694)
* Support of '~' as home dir in hotlists (#2747)
* Learn of 'Back Tab' is possible now in 'Learn keys' dialog (#2628)
* Optional '0x' prefix for hexadecimal search (#2705)
* Dynamically resize panels (#2465)
* New bindings (ScrollLeft, ScrollRight) for scroll long filenames in panels (#2731)
- VFS
* Internal VFS reorganization (#2695)
- Editor
* Added as.syntax (#2708)
- Viewer
* Added action bindings for backward search (#2105)
- Misc
* Added hotkeys for all radio/check-buttons in search/replace dialogs (#2704)
* New file bindings:
- .m4v, .ts - video (#2702)
- djv - DjVu? (#2645)
* Simplify mc.menu - remove LZMA|LZ and change p7 to 7z (#2703)
* Updated list of known browsers: gnome-moz-remote mozilla firefox konqueror opera (#2725)
* Added MC_HOME environment variable to set up home directory of MC (as part of #2738)
* Lot of code cleanup (#2740)
- Fixes
* Compile failure of 4.8.1 on xBSD because "Undefined symbols: _posix_fallocate" (#2689)
* MC deletes the wrong file because of forced panel reload before file operation (#2736)
* Cannot chdir to directory if directory name contains the dollar sign (#2451)
* Incorrect panel size after change panel split type (#2521)
* Wrong total bytes counter for subdirs in copy/move dialog (#2503)
* Display corruption in panels after window shrink (#2684)
* Command line is unaccessible from tree panel (#2714)
* Extra confirmation before delete an empty hotlist group (#1576)
* Can't open an edit zero-length file from VFS in mcedit (#2710)
* mcedit crashes when ~/.config is a file (#2738)
* mcedit: reset selection after END/HOME/PgDn/PgUp (#2726)
* 'make check' fails on arm and alpha (-z muldefs) (#2732)
Version 4.8.1
- Core
* Use posix_fallocate64() when copying files/moving to a new mount point (#2610)
* Faster startup (#2637)
* Support of extended mouse clicks beyond 223 (#2662)
- VFS
* Added exit point ("..") at the top of file list (after external panelization) (#275, #278)
- Editor
* Lex/Flex sources (extension .l) handled by yxx.syntax file. Yacc/Bison syntax completed with all symbols (#1647)
* Updated syntax files:
- lua
- Misc
* Updated skins:
- sand256 (#2640)
- xoria256 (#2641)
* Added ability to move MC config files to specified place instead of multiple places in $HOME (#2636)
* Added configure option --with-homedir (default value: XDG) (#2636)
* Respect traditional placement of user preferences on Mac OS X (#2658 as part of #2636)
* A few useful additions to filehighlight.ini (#2646)
- Fixes
* Doesn't compile when using --disable-nls (#2639)
* Can't compile on OpenIndiana (Solaris) (#2643)
* Moving content of bindings to mc.ext during 4.7 -> 4.8 upgrade breaks mc
* Free space on filesystems >2TB is not displayed properly (#2338)
* Not all errors are skipped after "Ignore all" choose (#71)
* Input field in password mode is fully masked with asterisks (#2653)
* In "Copy File" dialog the "preserve Attributes" checkbox is always unchecked for filesystems mounted with FUSE (#2254)
* Command line cursor misplaced after a resize in viewer/editor (#2678)
* Save of some learned keys is broken (#2676)
* Editor sometimes shows two dots instead of letter (#2372)
* Editor: word completion should ignore the current word (#2614)
* Viewer sometimes shows two dots instead of letter (#1730)
* Viewer shows two dialogs when searcj hot found (#2677)
* Cannot navigate over spftp servers (#2634)
* mc adds spaces at the beginning of all files/dirs on ftp servers (#2635)
* VFS: broken SMB (#2652)
* man page lies about mc.keymap (#2675)
* mc does not preserve file mtime when copying over ssh (#2625)
Version 4.8.0
- Misc
* Code cleanup (#2620)
* License version updated to GPL3+ (#1551)
* Added new translation:
- Interlingua
- Fixes
* Viewer: cursor position is not restored in hex mode (#2543)
* fish: broken panels drawing after entering password (#2611)
* fish: content of modified file is appended instead of overwritten in the remote host (#2632)
* extfs: broken navigation in archives if current path is encoded (#2621)
* extfs: strange error message when opening a 7z file if p7zip is not installed (#2598)
Version 4.8.0-pre2
- Core
* Added -g/--oldmouse option to support of NORMAL/BUTTON_EVENT mouse type (useful for screen/tmux) (#2601)
- VFS
* New extfs plugin: gitfs (#2467)
* patchfs enchancement: join several hunks of the same file into one VFS entry (#2573)
- Misc
* mc.ext: use "include" for $EDITOR entries (#1689)
* New file bindings:
- .3gp - video (#2583)
- Fixes
* Cannot compile 4.8.0-pre1 and 4.7.5.3 on Solaris (#2587)
* Recent autoconf displays warnings about missing AC_LANG_SOURCE (#2589)
* Duplication of variable declarations (#2576)
* Incorrect TTY layer initialization (#2601)
* Wrong Backspace key behavior in QuickSearch mode if BS key is mapped to CdParentSmart action (#2522)
* M-o works unexpectedly on symlink shortcuts (#2590)
* Panelize doesn't honour current sorting (#2175)
* Hintbar jumps to the top of the screen and overwrites main menu (#2593)
* File size column is bogus for widths above 9 (#2580)
* Hex search: incorrect length usage in hexadecimal search (#2579)
* Editor: Incorrect Pascal syntax highlighting (#2531)
* Editor: mouse clicks are ignored on the bottom line (#2591)
* Editor: extended keybingings are broken (#2586)
* Viewer: Fixed search finds bold/underlined strings twice and highlight search results (#265)
* Broken listing in ExtFS VFS module (#81)
* File name length is limited in tar archive (#2201)
* Crash when copying symlink over ssh (#2582)
* Broken panels recode (#2595)
* ftp failures - leading white space in file name (#2594)
* FISH hangs while copiyng a lot of small files (#2605)
Version 4.8.0-pre1
WARNING: Configuration files was moved from your $HOME/.mc directory into
XDG_CONFIG_* directories to respect FDO standard
(http://standards.freedesktop.org/basedir-spec/basedir-spec-0.7.html).
To get more information, see ticket #1851.
WARNING: VFS paths now handled as vfsprefix1://vfsdata/vfsprefix2://vfsdata
(see #2361). Also, 'bindings' user file was renamed to 'mc.ext', so you need
search in this file all
Open=file.ext#vfsprefix
and replace them to
Open=file.ext/vfsprefix://
After this you should rename your 'bindings' file to 'mc.ext'.
Old-style paths are handled just in 'Directory hotlist' dialog, but you couldn't
mix URL-like and old style path elements in one path string. Support of old-style
paths will be removed in next major release (probably in 4.9, who knows...)
WARNING: keybinding names was renamed to provide some unification (see #2511).
The correspondence of old and new keybinging names are described in doc/keybind-migration.txt
file and in doc/keybindMigration web page.
Be aware.
- Core
* Added 256 colours support (#2169, #2173, #2475)
* Changed default text in filtered view (alt-!) to input command line (if not empty)
or stay old behaviour (current file under cursor) (#2266)
* Added simple swap mode that means the swap of panel locations, in addition to current swap
of panel content (#2368)
* Cofiguration files now moved to directory specified in XDG_CONFIG_HOME environment variable (#1851)
* Panel options are read now from [Panels] section only. [Midnight-Commander] section is not read (#2305)
* "Show mini info" checkbox was moved from the "Layout" dialog window to the "Panel options" one (#2305)
* Select files by shift-left/right in file panel (#2534)
* Added support of skip all errors on multi-file/dir operation (#71)
* 'Find Files' improvements:
- support relative ignored directories (#2275);
- handle of ignored directories in dialog window (#2275);
- "Search for content" checkbox is enabled by default (#2462)
* Added hardlinks detection for filehighlight (#2478)
* Unification of keybind names (#2511):
- most of keybinding names are changes to unify that names. Table of old and new names
is available in doc/keybind-migration.txt;
- improve of key rebinding: previously, to rebind some keys, used must redefine the entire section
where that bindings are placed in user keymap file. New merge algorithm doesn't require that
and allows rebind only wanted keys;
- added --nokeymap command line option to disable external keymaps
* Sources in 'lib' directory now independent to sources in 'src' one (#2501)
* Added configure parameter --enable-mclib for build libmc.so shared library (#2501)
* Added new engine for universal event system (as part of #2501)
* Optimized loading and saving of configurations and histories (#2541, #2545)
* Reimplemented i18n support in 'Chmod' dialog window (#2557)
- VFS
* VFS structure changes (as part of #2501):
- moved from lib/vfs/mc-vfs to lib/vfs;
- split VFS-modules by directories and moved to src/vfs;
- lib/vfs/vfs-impl.h was merged into lib/vfs/vfs.h
* VFS now used URL-like paths (#2361)
- Editor
* New engine of the editor macro (#323)
* Multiply repeat of the recorded actions (#323)
* Call extermal scripts from the editor (#323, #2512)
* Added REDO action (#25)
* Group UNDO by action (#27)
* Selection is not reset after execute user menu (#2463)
* Vertical selection is not reset after copy/move (#2504)
* More intuitive word left/right action (now the cursor stop beside EOL/BOL) (#2483)
* Duble-click marks the current word. Added action MarkWord to mark word, MarkLine
to mark current line (#2499)
* Regexp search&replace: support escape sequences in replacement string (#1882)
- Misc
* Minor enhancement in mc.ext:
* added -C key to nm utility in View action for static libraries (#2485)
* New file bindings:
- .torrent: view using ctorrent (#2562);
- .mts: handle as videofile (#2566)
* Added new entries in cedit.menu: "Sort selection", "Upper case", "Lower case"
* New skins:
- Xoria256 (#2469)
- mc-4.6 (#2524)
* Updated skins:
* Nice dark (#1791)
* Added support for check unit test framework (http://check.sourceforge.net) (as part of #2501)
* Added -F/--datadir-info option to show extended information about used data dirs (#2495)
* Added --configure-options to easy update & reconfigure existing mc (#2495)
* Language-specific man pages and hint and help files are not installed
if mc is built with --disable-nls option (#2514)
* Added new translation:
- Esperanto
* Code cleanup (#2481, #2515, #2518, #2560, #2570)
- Fixes
* Build failure on DragonFly BSD (#2516)
* Broken Del & Backspace in dialogs (in locale CP866) (#1634)
* Screen and input corruption under xterm in non-UTF locales (#1668)
* Alt-Backspace shortcut doesn't work (#2455)
* Broken command autocompletion (#2458)
* Swap panels doesn't respect sort options (#2368)
* File list format of panel is initialized incorrectly after switch back from quick view
or info mode to file list one (#2390)
* Main menu is not drawn correctly after change of it visibility and activity (#2466)
* MC switches to left panel after call of command history using mouse (#2459)
* Find file: don't check content regexp if search for content is not used (#2464)
* Find file: broken lynx-like navigation in panelization of search result (#2491)
* Dialog trims leading spaces in input field (#2544)
* Panelize content is lost when doing F5/F6/F8 on a file on the other panel (#2312)
* Color of panel header cannot be set in the command line (#2170)
* ctrl-g key closes file panels (#2520)
* Incorrect files mark by mouse (#2556)
* Editor: incorrect restore selection after UNDO (#2456)
* Editor: segfault after getting the previous char in utf8 (#2484)
* Editor: incorrect detection of the word boundary (added '{', '}' as end of word) (#2500)
* Bold and selected colors of viewer cannot be set in the command line (#2489)
* Viewer: fixed incorrect starting offset for 'search again' (#2294)
* Viewer: fixed problems while displaying UTF-8 manual pages (#1629)
* Diff viewer: quick left/right movements don't work in non-default key maps (#2509)
* AI_ADDRCONFIG is not optional for RFC 3493 non-compliant systems (#2401)
* FTP directories containing @ result severe security risks (eg. deletion of homedir) (#2220)
* Builtin ftp client can't download files with apostrophe in a file name (#2251)
* Unable to show FTP listing if password contains # (#2360)
* FTP: fixed access to file names starting with space (#81)
* Bashisms in extfs (#2569)
* Browsing *.deb files is broken with latest Perl (#2552)
* isoinfo adds ";1" to the end of file name when Joliet without Rock Ridge is used (#2471)
* patchfs incorrectly works with filenames containing spaces (#2572)
* cd to ~ processed incorrectly in the command line if more than one space is separating
the "cd" and "~" (#2120)
* Major changes in release 4.4.2, 2009-05-16
** Bug Fixes
#26537: find -prune now makes sure it has valid stat() information.
** Translations
Updated the Slovenian translation.
* Major changes in release 4.4.1, 2009-04-21
** Bug Fixes
On some systems without support for a boolean type (for example some
versions of the AIX C compiler), find's regular expression
implementation fails to support case-insensitive regular expression
matching, causing -iregex to behave like -regex. This is now fixed.
#25764: remove duplicate entry for 'proc' in updatedb's $PRUNEFS.
#25154: Allow compilation with C compilers that don't allow
declarations to follow statements.
#25144: Misleading error message when argument to find -user is an
unknown user or is missing.
#24283: -printf %TY causes NULL pointer dereference on Solaris.
#24169: find would segfault if the -newerXY test was not followed by
any argument.
#23996: integer overflow on some platforms when parsing "-used 3".
#23663: crash in some locales for -printf %AX (this problem seems to
have affected only the CVS code for 4.5.x, and not any public
releases, but it was a problem with the original fix for bug #22662)
#22662: find -printf %AX appends nanoseconds in the right place now.
** Functional Enhancements to find
If the POSIXLY_CORRECT environment variable is set, the system's
definition of "yes" and "no" responses are used to interpret the
response to questions from -ok and -okdir. The default is still to
use information from the findutils message translations.
** Documentation Enhancements
Both the Texinfo manual and the find manual page now include a more
precise description of how your locale configuration affects the
interpretation of regular expressions and how your response to prompts
from the -ok action are interpreted.
Added a worked example describing how to find the shallowest instances
of a given directory name (or names) in a directory hierarchy.
The file README-CVS has been renamed to README-hacking and improved.
** Translations
Updated translations: Catalan, French, German, Indonesian, Irish,
Dutch, Polish, Slovenian, Swedish, Vietnamese, Chinese (simplified),
Lithuanian.
* Major changes in release 4.4.0, 2008-03-15
The 4.4.0 release of findutils is a stable release, succeeding the
final release in the previous development series, 4.3.13. However,
since many users will have previously been using the previous stable
release series, this section describes the changes between the 4.2.33
release (which was the final 4.2.x release) and 4.3.0.
Some items in the lists of changes are prefixed by bug numbers (though
some of them are simply enhancements, not bugs).
Apart from the changes in version number and development versus stable
status, the only differences between 4.3.13 and 4.4.0 are bug fixes
#15472 and #20873.
It's possible that some of the bug fixes mentioned as fixed are in
fact fixes for bugs both introduced and fixed in 4.3.x (and thus not
present in 4.2.x at all). While I have tried not to list those, some
may have slipped through.
** Functional enhancements to locate
*** slocate compatibility
The slocate database format is supported, both for reading by locate
and writing by updatedb.
Preliminary changes intended to eventually allow setuid operation of
locate have also been made. For the moment, please don't install GNU
locate as a set-user-ID program (except for testing purposes; if you
do so, please make sure that untrusted users cannot execute the
set-user-ID locate program).
Use of an slocate database which was built with a nonzero security
mode (at the moment, GNU updatedb will not do this) forces locate's
"-e" option to be turned on, and that has an effect on the "-S" option
which is probably surprising for most users.
*** Other changes
Locate can now read old-format locate databases generated on machines
with a different byte order. It does this by guessing the byte order,
so the result is not completely reliable. If you need to share
databases between machines of different architectures, you should use
the LOCATE02 format (which has other advantages, as explained in the
documentation).
A new option, --max-database-age, has been added to locate.
Translation of locate --limit problems is improved.
The /proc filesystem is excluded from the locate database (by
default; change PRUNEPATHS to modify this behaviour).
** Functional enhancements to find
*** fts
By default, find now uses the fts() function to search the file
system. The use of fts greatly increases find's ability to search
extremely deep directory hierarchies.
You can tell that the version of find you are using uses FTS, because
the output of "find --version" will include the word "FTS".
Currently two binaries for 'find' are built. The configure option
--without-fts can be used to select whether 'find' uses fts:
With fts Without fts
default configuration find oldfind
configure --with-fts find oldfind
configure --without-fts ftsfind find
New tests, -readable, -writable, -executable. These check that a file
can be read, written or executed respectively.
*** Changes to printf
The -printf action (and similar related actions) now support %S,
which is a measurement of the sparseness of a file.
*** Changes to -perm
The test "-perm /000" now matches all files instead of no files. For
over a year find has been issuing warning messages indicating that
this change will happen. We now issue a warning indicating that the
change has already happened (in 4.3.x only, there is no plan to make
this change in the 4.2.x series).
*** Time stamp resolution
The tests -newer, -anewer, -cnewer, -mtime, -atime, -ctime, -amin,
-cmin, -mmin and -used now support sub-second time stamps, including
the ability to specify times with non-integer arguments.
The -printf format specifiers also support sub-second time stamps:
atime ctime mtime
%a %c %t
%AS %CS %TS
%AT %CT %TT
%A+ %C+ %T+
%AX %CX %TX
*** Changes to -prune
The -prune action now always evaluates as true (this is also a
bug fix).
*** New tests
The new test -newerXY supports comparison between status times for
files. One of the status times for a file being considered (denoted
X) is checked against a reference time (denoted Y) for the file whose
name id the argument. X and Y can be:
a Access time
B Birth time (st_birthtime, currently unsupported)
c Change time
m Modification time
t Valid only for the reference time; instead of comparison
against a file status time, the argument is a time string.
Not yet supported.
For example, -newermm is equivalent to -newer, and -neweram is true if
the file being considered was accessed more recently than the
reference file was modified. The -newerXY test supports subsecond
timestamps where these are available. The X=B variant is not yet
implemented.
#11668: FreeBSD extensions for time specification are now implemented.
*** Other changes to find
#20688: The warning printed by -name or -iname when the pattern to
match contains a slash can now be silenced by -nowarn. This warning
was originally introduced unconditionally in 4.2.21.
For find, debug output can now be enabled at runtime with the -D
option. This causes the printing of various sorts of information
about find's internal state and progress.
The find option -nowarn cannot itself produce a warning (this used to
happen with commands like "find . -name quux -nowarn -print").
You now get a more helpful error message when you use command lines
which have missing expressions, such as
find . ( )
find . !
find . -a
find . \( -not \)
find . \( -true -a
*** Standards conformance
POSIX will standardise -path, so the documentation no longer claims
that -wholename is the 'canonical' test, and -ipath no longer
generates a warning.
When the POSIXLY_CORRECT environment variable is set, "find -perm
+a+w" is rejected as invalid. Some other similar mode strings
starting with '+' which are not valid in POSIX are also rejected.
Find now follows POSIX rules for determining where directories end and
expressions start. This means that "find \(1 \!2 \, \)" now searches
in the four named directories, rather than trying to parse an
expression. (Savannah bug #15235).
#21039: Setting the POSIXLY_CORRECT environment variable now turns off
warnings by default, because POSIX requires that only diagnostic
messages (and -ok prompts) are printed on STDERR, and diagnostic
messages must also result in a nonzero exit status.
#20803: POSIX requires that -prune always returns true. Previously it
returned false when -depth was in effect and true otherwise.
** Functional ehnahcements to xargs
While there are a number of bug fixes in xargs in this release (as
compared to the previous stable release), there are no functional
enhancements as such.
** Performance Enhancements
*** Cost-based optimiser
Find now has a rudimentary cost-based optimiser. It has an idea of
the basic cost of each test (i.e. that -name is very cheap while -size
is more expensive). It re-orders tests bearing in mind the cost of
each test and its likely success. Predicates with side effects (for
example -delete or -exec) are not reordered. The optimiser is not
yet enabled by default, but the new option -O controls the query
optimisation level. To see this in action, try
find -D opt -O3 . -type f -o -type c -o -size 555 -name Z
and compare the optimised query with:
find -D opt -O3 . -size 555 -o -type c -o -type f -name Z
and
find -D opt . -size 555 -o -type c -o -type f -name Z
Over time, as optimisations are proven to be robust and correct, they
will be moved to lower optimisation levels. Some optimisations have
always been performed by find (for example -name is always done early
if possible).
** Security Fixes
#20014: Findutils-4.3.7 includes a patch for a potential security
problem in locate. When locate read an old-format database, it read
file names into a fixed-length buffer allocated on the heap without
checking for overflow. Although overflowing a heap buffer is often
somewhat safer than overflowing a buffer on the stack, this bug still
has potential security implications.
This bug also affected the following previous findutils releases:
- All releases prior to 4.2.31
- Findutils 4.3.0 to 4.3.6.
This bug has been assigned CVE number CVE-2007-2452.
** Bug Fixes
#22057: Actually rename the old locate database to the new one
atomically, instead of just claiming the rename is atomic in a
comment.
#22056: -Xtime tests are off by one second (e.g. rm -f x; touch x;
find x -mtime 0 should print x).
#21960: xargs should collect the exit status of child processes even
if the total count of unreaped children has not yet reached the
maximum allowed.
#21568: Switch to checking the gnulib code out with native git, not
CVS. This affects mainly those who check findutils code out of CVS.
#20970: Trailing slash on directory arguments breaks -name. "find
foo/ -name foo" now correctly matches foo and printf foo/. See POSIX
interp
http://www.opengroup.org/austin/interps/uploads/40/14959/AI-186.txt#20865: Using both -delete and -prune without explicitly using -depth
is now an error. Traditionally, -delete has always turned -depth on
anyway, so this is not a functional change. However, using -depth
(implicitly or explicitly) makes -prune a no-op. This change is
intended to avoid nasty surprises for people who test with "-print"
and then change it to "-delete" when they are happy.
#20834: Avoid segmentation violation for -execdir when $PATH is unset.
Assume that the PATH is safe in this situation.
#20802: If -delete fails, find's exit status will now be non-zero.
However, find still skips trying to delete ".".
#20547: The version information printed by find, xargs, locate,
updatedb, frcode and code now complies with the GNU Project's coding
standards.
#20310: configure uses hosts's support status for "sort -z" when
generating the updatedb script for use on the target. This is
inappropriate when cross-compiling, so avoid doing that.
#20273: When xargs is successful without consuming all of stdin (for
example, with the -E option), and stdin is seekable, xargs now
correctly restores the file position, even on platforms where exit()
does not follow the POSIX rules of doing likewise. Likewise for find
(for example, with the -ok action).
#20157: Avoid segfault in locate when run as root. This is caused by
a buffer overrun, but at this time no exploit mechanism is known.
#20139: find -[acm]time -N (wrongly) includes files from N days ago,
as well as (correctly) from less than N days ago.
#20005: Tests -mtime -n and -mtime +n incorrectly treated like -mtime
n.
#19948: Fixed an assertion failure on IRIX 6.5 (O_NOFOLLOW is defined
to 0 there).
#19923: Fixed an array overrun in groups[] array of 'locate' when run
by or as root. This bug appears not to be exploitable. If locate is
not installed setuid, the bug is not exploitable. For setuid
installations, it is conceivable that there could be an information
leak if the user uses the -d option or the -e option, though the
maintainer has been unable to provoke this on an x86 system.
#19871: Typos in find.1
#19871: Spurious .R directives in man page produced error messages from
GNU troff. This is now fixed (they are corrected to .B).
#19806: The -samefile predicate might get fooled by inode reuse. We
now hold open a file descriptor on the reference file to prevent
this.
#19768: Better detection of corrupted old-style locate databases
(e.g. if the database is too short to include a complete bigram
table).
#19766: The frcode and code programs now detect write errors more
reliably.
#19658: When cross-compiling, "make clean" no longer deletes the
generated file doc/regexprops.texi, because there is no way to
regenerate it.
#19634: Test suite now passes (again) if "." is on your $PATH.
#19619: Findutils builds once again on Cygwin.
#19605: Issue an error message (and later return nonzero exit status)
if a symbolic link loop was encountered during directory traversal.
#19596: Correct the comparison in the find man page and Texinfo manual
between %b and %s (the divisor is 512 not 1024).
#19484: bigram.c and code.c fail if the first pathname recorded begins
with a space
#19483: Inconsistent option highlighting in updatedb man page
#19416: The result of I/O operations in print-related actions is now
checked, and failures are reported. Any failure will cause find's
exit status to be nonzero. The predicate itself will continue to
return true.
#19391: When xargs knows that the system's actual exec limit is larger
than the compiled-in ARG_MAX, use the system's limit without
generating an assertion failure.
#19371: Fix compilation failure on systems which #define open to
open64 (and similarly with the close system call). This fixes
Savannah bug #19371, affecting AIX 5.3.
#18714: In the POSIX locale, vertical tabs and form feeds are not
field separators.
#18713: Quoted but empty arguments which occur last on an xargs input
line are no longer ignored, but instead produce an empty argument.
#18466: we now avoid this bug by limiting "-execdir ...+" to just one
argument for the time being. There is a performance penalty for
doing this. We hope to make a better fix in a later release.
#18414: Tests for "find -readable" are skipped for the superuser, as
on some systems (e.g. Cygwin with an Administrative user) users can
read mode-000 files.
#18384: excess bracket in xargs --help
#18320: Zero bytes in input should give warning
#18222: find -printf '%H %P' once again prints the right result if
more than one start point was given on the command line.
#18203: A duplicate report of bug #17478.
#17782: find -execdir now correctly puts the prefix "./" before the
expansion of "{}" rather than at the start of the argument it appears
in. Please note that if you use the -exec or -execdir actions with a
shell, then you may be vulnerable to shell code injection attacks, so
don't do that. It's not a security defect in find - you should not
be passing untrusted data (such as file names chosen by other people)
to the shell.
#17478: Error messages from find can garble the console.
#17477: find -printf '%' (that is, where the format has a trailing %)
now generates an error message.
#17437: Corrected the handling of X in symbolic permissions (such as
-u+w,a+X).
#17396: find -mtime -atime -ctime does not support fractional part
(see "Functional changes" below)
#17372: The fts-based find executable (the default configuration uses
fts) is now much faster when -maxdepth is used on filesystems with
high fanouts.
#16738: "find .... -exec ... {} +" now works if you have a large
environment and many files must be passed to the -exec action. The
same problem affected the -execdir action, though since the number of
files in a given directory will normally be smaller, the problem was
worse for -exec.
#16579: Updatedb now works if it is running as a user whose login
shell is not actually a shell.
#16378: Assertion failure if stat() returns 00000 as the mode of a
file. This apparently can happen occasionally with broken NFS
servers.
#15800: If find finds more subdirectories within a parent directory
than it previously expected to based on the link count of the parent,
the resulting error message now gives the correct directory name
(previously an error message was issued but it specified the wrong
directory).
#15531: The -prune action now behaves correctly when applied to a
file.
#15472: Error messages that print ino_t values are no longer truncated
on platforms with 64-bit ino_t.
#15384: Find misbehaves when parent directory is not readable.
#14748: find -perm /zzz gives wrong result when zzz evaluates to an
all-zero mask
#14535: correctly support case-folding in locate (that is, "locate
-i") for multi-byte character environments such as UTF-8. Previously,
if your search string contained a character which was outside the
single-byte-encoding range for UTF-8 for example, then the
case-folding behaviour failed to work and only exact matches would be
returned.
** Documentation Fixes
#20873: Indicate that * matches / and leading dot in filenames for
"find -path".
#18554: Documented the construct -exec sh -c 'foo "$@" bar' {} +
#15360: The global effect of options (other than -daystart and
-follow) is now explained more clearly in the manual page.
The locatedb.5 man page now documents the (default) LOCATE02 format
more clearly, and also documents the slocate database format.
The maximum and default values applying to the -s option of xargs are
now documented more clearly in the manual page.
** Compilation Fixes
If you configure the source code and then run the tests with "make
check", the test suite fails rather than defaulting to testing the
system binaries.
#19416: _FORTIFY_SOURCE warn_unused_result warnings
#19948: Assertion failure O_NOFOLLOW != 0 on IRIX 6.5
#19965: Compilation failure on OSF/1 4.0; non-declaration of uintmax_t
#19965: Fixed a compilation failure on OSF/1 4.0 (no definition of the
type uintmax_t).
#19966: Findutils should now build on systems which have the modf()
and fabs() functions in the maths library, -lm. This includes some
versions of HP-UX and Solaris.
#19966: find should link against -lm for modf() and fabs()
#19967: Build successfully with C compilers that don't support the GCC
construct __attribute__((__noreturn__)).
#19967: Use of __attribute((__noreturn__)) makes compilation fail with
some non-GCC compilers
#19970: Cannot cast from pointer to bool using gnulib's <stdbool.h>
#19970: Compile correctly on C89 systems where the "_Bool" type is not
provided, taking into account the limitations of the gnulib
replacement for stdbool.h.
#19979: Compilation errors on BeOS
#19980: Don't use the functions putw() or getw() since these are not
in current POSIX. Use the gnulib version of wcwidth() where the
system does not provide it.
#19981: Don't call setgroups if the function isn't available.
#19983: Now compiles on DEC C V5.9-005 on Digital UNIX V4.0 (or at
least, should).
#20128: Fix compilation error of find/tree.c on AIX with GCC.
#20263: Compilation fix for DEC Alpha OSF/1 cc, which forbids the
ordering comparison of function pointers.
#20594: Allow fine-tuning of the default argument size used by xargs
and find at ./configure time.
* Major changes in the 4.3.x release series
Release notes for the 4.3.x releases follow, though the changes are
mostly listed above (except bugfixes for bugs introduced in 4.3.x).
The previous stable release was 4.2.33, though 4.3.0 was actually
derived from 4.2.27.
* Major changes in release 4.3.13, 2008-02-14
** Bug Fixes
#22057: Actually rename the old locate database to the new one
atomically, instead of just claiming the rename is atomic in a
comment.
#22056: -Xtime tests are off by one second (e.g. rm -f x; touch x;
find x -mtime 0 should print x).
#21960: xargs should collect the exit status of child processes even if
the total count of unreaped children has not yet reached the maximum
allowed.
** Documentation Fixes
Documented various useful techniques with invoking "sh -c" from
xargs in the Texinfo documentation.
** Translations
Updated the German, Irish, Dutch, Polish and Vietnamese translations.
* Major changes in release 4.3.12, 2007-12-19
** Bug Fixes
#15384: Find misbehaves when parent directory is not readable.
** Documentation Fixes
More examples in the xargs manual page, including a portable analogue
for BSD's "xargs -o".
** Translations
Updated translations: Polish, Dutch, Portuguese, Swedish, Vietnamese.
* Major changes in release 4.3.11, 2007-12-02
** Functional changes
When the POSIXLY_CORRECT environment variable is set, "find -perm
+a+w" is rejected as invalid. Some other similar mode strings
starting with '+' which are not valid in POSIX are also rejected.
The -prune action now always evaluates as true (this is also a
bugfix).
** Bug Fixes
#21568: Switch to checking the gnulib code out with native git, not
CVS. This affects mainly those who check findutils code out of CVS.
This is not the first time this bug has been fixed (the previous fix
used "cvs update -D", which git-cvspserver silently does not
support).
#21039: Setting the POSIXLY_CORRECT environment variable now turns off
warnings by default, because POSIX requires that only diagnostic
messages (and -ok prompts) are printed on STDERR, and diagnostic
messages must also result in a nonzero exit status.
#20970: Trailing slash on directory arguments breaks -name. "find
foo/ -name foo" now correctly matches foo and printf foo/. See POSIX
interp http://www.opengroup.org/austin/interps/uploads/40/14959/AI-186.txt#20865: Using both -delete and -prune without explicitly using -depth
is now an error. Traditionally, -delete has always turned -depth on
anyway, so this is not a functional change. However, using -depth
(implicitly or explicitly) makes -prune a no-op. This change is
intended to avoid nasty surprises for people who test with
"-print" and then change it to "-delete" when they are happy.
#20803: POSIX requires that -prune always returns true. Previously it
returned false when -depth was in effect and true otherwise.
#20802: If -delete fails, find's exit status will now be non-zero.
However, find still skips trying to delete ".".
** Documentation Fixes
#21635: Some of the documentation files had missing copying
conditions. The missing files now have copying headers, and these
are compatible with each other (GNU FDL 1.2).
#21634: No copy of FDL 1.2 included with the source code
#21633: Missing copyright/license header in some documentation.
#21628: find -perm /000 matches all files rather than none, since
findutils-4.3.3. The Texinfo documentation is now consistent with the
manual page on this point.
#21270: Formatting fixes to the xargs.1 manual page, including making
options bold instead of italic and making OPTIONS a section header
rather than a subsection.
* Major changes in release 4.3.10, 2007-11-13
** Bug Fixes
#21568: findutils gnulib code does not match the date in
import-gnulib.config. We now check out the gnulib code via
git-cvs-pserver.
* Major changes in release 4.3.9, 2007-11-11
** Licensing
Findutils version 4.3.9 is released under version 3 of the GNU General
Public License.
** Bug Fixes
#20834: Avoid segmentation violation for -execdir when $PATH is
unset. Assume that the PATH is safe in this situation.
#20310: configure uses hosts's support status for "sort -z" when
generating the updatedb script for use on the target. This is
inappropriate when cross-compiling, so avoid doing that.
#20263: Compilation fix for DEC Alpha OSF/1 cc, which forbids the
ordering comparison of function pointers.
#20139: find -[acm]time -N (wrongly) includes files from N days ago,
as well as (correctly) from less than N days ago.
#20273: When xargs is successful without consuming all of stdin (for
example, with the -E option), and stdin is seekable, xargs now
correctly restores the file position, even on platforms where exit()
does not follow the POSIX rules of doing likewise. Likewise for find
(for example, with the -ok action).
#20547: The version information printed by find, xargs, locate,
updatedb, frcode and code now complies with the GNU Project's coding
standards.
#20662: Avoid memory leak in find -name and other places affected by
gnulib dirname module. The leak had been present since 4.3.1.
#20751: Avoid memory corruption in find -ls that has been present
since 4.3.1.
#20871: Assertion failure introduced in 4.3.3, when oldfind is invoked
in a directory where the parent directory lacks search permission.
** Enhancements
#20594: Allow fine-tuning of the default argument size used by xargs
and find at ./configure time.
#20688: The warning printed by -name or -iname when the pattern to
match contains a slash can now be silenced by -nowarn. This warning
was originally introduced unconditionally in 4.2.21.
Translation of locate --limit problems is improved.
POSIX will standardise -path, so the documentation no longer claims
that -wholename is the 'canonical' test, and -ipath no longer
generates a warning.
** Documentation Fixes
Point out more explicitly that the subsecond timestamp support
introduced by findutils-4.3.3 introduces a change in the format of
several fields.
Also explain that when reporting a bug, you should check the most
recent findutils release first.
Introduced doc/find-maint.texi, a maintenance manual for findutils.
Added an extra worked example for find (copying a subset of files).
The locate command's manual page now has a HISTORY section.
#20951: Very bad/unclear/confusing documentation of security checks in
find -execdir
#20865: Better documentation on the fact that -delete implies -depth
and that -delete interacts badly with -prune.
#20552: Fixed typos, formatting and section ordering issues in the
find manual page.
#20529: removed spurious 'o' in description of "xargs -a" in
doc/find.texi.
#20232: The --max-database-age option of locate was added in release
4.3.3, but this file (NEWS) did not previously mention this fact.
** Translations
Updated Dutch translation.
* Major changes in release 4.3.8, 2007-06-12
** Bug Fixes
#20157: Avoid segfault in locate when run as root. This is caused by
a buffer overrun, but at this time no exploit mechanism is known.
* Major changes in release 4.3.7, 2007-06-09
** Functional changes
Locate can now read old-format locate databases generated on machines
with a different byte order. It does this by guessing the byte order,
so the result is not completely reliable. If you need to share
databases between machines of different architectures, you should use
the LOCATE02 format (which has other advantages, as explained in the
documentation).
** Security Fixes
#20014: Findutils-4.3.7 includes a patch for a potential security
problem in locate. When locate read an old-format database, it read
file names into a fixed-length buffer allocated on the heap without
checking for overflow. Although overflowing a heap buffer is often
somewhat safer than overflowing a buffer on the stack, this bug still
has potential security implications.
This bug also affected the following previous findutils releases:
- All releases prior to 4.2.31
- Findutils 4.3.0 to 4.3.6.
This bug has been assigned CVE number CVE-2007-2452.
** Bug Fixes
#20128: Fix compilation error of find/tree.c on AIX with GCC.
#20005: Tests -mtime -n and -mtime +n incorrectly treated like -mtime n.
#19983: include_next causes compilation failure in findutils 4.3.6 on
non-GCC compilers
#19981: Don't call setgroups if the function isn't available. This
fixes Savannah bug# 19981.
#19980: Don't use the functions putw() or getw() since these are not
in current POSIX. Use the gnulib version of wcwidth() where the
system does not provide it.
#19979: Compilation errors on BeOS
#19970: Cannot cast from pointer to bool using gnulib's <stdbool.h>
#19967: Use of __attribute((__noreturn__)) makes compilation fail with
some non-GCC compilers
#19966: find should link against -lm for modf() and fabs()
#19965: Compilation failure on OSF/1 4.0; non-declaration of uintmax_t
#19948: Assertion failure O_NOFOLLOW != 0 on IRIX 6.5
#19871: Typos in find.1
#19596: Fixed this bug again, this time in the Texinfo manual (the
discussion should compare %b with %s/512, not %s/1024).
#19416: _FORTIFY_SOURCE warn_unused_result warnings
* Major changes in release 4.3.6, 2007-05-21
** Bug Fixes
#19948: Fixed an assertion failure on IRIX 6.5 (O_NOFOLLOW is defined
to 0 there).
#19923: Fixed an array overrun in groups[] array of 'locate' when run by
or as root. This bug appears not to be exploitable. If locate is not
installed setuid, the bug is not exploitable. For setuid
installations, it is concievable that there could be an information
leak if the user uses the -d option or the -e option, though the
maintainer has been unable to provoke this on an x86 system.
#19871: Spurious .R directives in manpage produced error messages from
GNU troff. This is now fixed (they are corrected to .B).
#19416: The result of I/O operations in print-related actions is now
checked, and failures are reported. Any failure will cause find's
exit status to be nonzero. The predicate itself will continue to
return true.
** Compilation Fixes
A variety of changes were made to allow compilation to succeed on
non-GNU systems.
#19983: Now compiles on DEC C V5.9-005 on Digital UNIX V4.0 (or at
least, should).
#19970: Compile correctly on C89 systems where the "_Bool" type is not
provided, taking into account the limitations of the gnulib
replacement for stdbool.h.
#19967: Build successfully with C compilers that don't support the GCC
construct __attribute__((__noreturn__)).
#19966: Findutils should now build on systems which have the modf()
and fabs() functions in the maths library, -lm. This includes some
versions of HP-UX and Solaris.
#19965: Fixed a compilation failure on OSF/1 4.0 (no definition of the
type uintmax_t).
* Major changes in release 4.3.5, 2007-05-05
** Functional changes
Updatedb can now support he generation of file name databases which
are compatible with slocate. For some time, GNU locate has been able
to read these.
The /proc filesystem is excluded from the locate database (by
default; change PRUNEPATHS to modify this behaviour).
** Bug Fixes
#19806: The -samefile predicate might get fooled by inode reuse. We
now hold open a file descriptor on the reference file to prevent this.
#19768: Better detection of corrupted old-style locate databases
(e.g. if the database is too short to include a complete bigram
table).
#19766: The frcode and code programs now detect write errors more
reliably.
#19371: Fix compilation failure on systems which #define open to
open64 (and similarly with the close system call). This fixes
Savannah bug #19371, affecting AIX 5.3.
#19658: When cross-compiling, "make clean" no longer deletes the
generated file doc/regexprops.texi, because there is no way to
regenerate it.
#19391: When xargs knows that the system's actual exec limit is larger
than the compiled-in ARG_MAX, use the system's limit without
generating an assertion failure.
#18203: A duplicate report of bug #17478.
#17478: Error messages from find can garble the console.
#16378: Assertion failure if stat() returns 00000 as the mode
of a file. This apparently can happen occasionally with broken NFS
servers.
#11668: FreeBSD extensions for time specification are now
implemented. In fact, these were included in findutils-4.3.3. The
change was listed as a functional change (whcih it is) and this bug
report was not mentioned.
** Documentation Fixes
The locatedb.5 manpage now documents the (default) LOCATE02 format
more clearly, and also documents the slocate database format.
The maximum and default values applying to the -s option of xargs are
now documented more clearly in the manual page.
* Major changes in release 4.3.4, 2007-04-21
** Bug Fixes
#19634: Test suite now passes (again) if "." is on your $PATH.
#19619: Findutils builds once again on Cygwin.
#19617: Nonexistent start points are (once again) diagnosed in
ftsfind. This bug affected only findutils-4.3.3.
#19616: Fix leaf optimisation and loop detection (which were
unreliable in findutils 4.3.3). This bug affected only
findutils-4.3.3.
#19615: find --version no longer claims to be using FTS_CWDFD when it
isn't. This bug affected only findutils-4.3.3.
#19613: "find -L . -type f" no longer causes an assertion failure when
it encounters a symbolic link loop. This bug affected only
findutils-4.3.3.
#19605: Issue an error message (and later return nonzero exit status)
if a symbolic link loop was encountered during directory traversal.
#19484: bigram.c and code.c fail if the first pathname recorded begins
with a space
#19483: Inconsistent option highlighting in updatedb manpage
#18414: Tests for "find -readable" are skipped for the superuser, as
on some systems (e.g. Cygwin with an Administrative user) users can
read mode-000 files.
** Translations
Findutils 4.3.4 includes a translation for the Ukranian language.
* Major changes in release 4.3.3, 2007-04-15
Fiundutils-4.3.3 was released on 2007-04-15.
** Bug Fixes
#19596: Correct the comparison in the find manpage between %b and %s
(the divisor is 512 not 1024).
#18714: In the POSIX locale, vertical tabs and form feeds are not
field separators.
#18713: Quoted but empty arguments which occur last on an xargs input
line are no longer ignored, but instead produce an empty argument.
#18554: Documented the construct -exec sh -c 'foo "$@" bar' {} +
#18466: we now avoid this bug by limiting "-execdir ...+"
to just one argument for the time being. There is a performance
penalty for doing this. We hope to make a better fix in a later
release.
#18384: excess bracket in xargs --help
#18320: Zero bytes in input should give warning
#17437: Corrected the handling of X in symbolic permissions (such
as-u+w,a+X). This change actually occurred in findutils-4.3.2, but
the NEWS file for that release didn't mention it.
#17396: find -mtime -atime -ctime does not support fractional part
(see "Functional changes" below)
#14748: find -perm /zzz gives wrong result when zzz evaluates to an
all-zero mask
#14535: correctly support case-folding in locate (that is, "locate
-i") for multibyte character environments such as UTF-8. Previously,
if your search string contained a character which was outside the
single-byte-encoding range for UTF-8 for example, then the
case-folding behaviour failed to work and only exact matches would be
returned.
** Functional changes
The -printf action (and similar related actions) now support %S,
which is a measurement of the sparseness of a file.
The test "-perm /000" now matches all files instead of no files. For
over a year find has been issuing warning messages indicating that
this change will happen. We now issue a warning indicating that the
change has already happened (in 4.3.x only, there is no plan to make
this change in the 4.2.x series).
The tests -newer, -anewer, -cnewer, -mtime, -atime, -ctime, -amin,
-cmin, -mmin and -used now support sub-second timestamps, including
the ability to specify times with non-integer arguments.
The -printf format specifiers also support sub-second timestamps:
atime ctime mtime
%a %c %t
%AS %CS %TS
%AT %CT %TT
%A+ %C+ %T+
%AX %CX %TX
The new test -newerXY supports comparison between status times for
files. One of the status times for a file being considered (denoted
X) is checked against a reference time (denoted Y) for the file whose
name id the argument. X and Y can be:
a Access time
B Birth time (st_birthtime, currently unsupported)
c Change time
m Modification time
t Valid only for the reference time; instead of comparison
against a file status time, the argument is a time string.
Not yet supported.
For example, -newermm is equivalent to -newer, and -neweram is true if
the file being considered was accessed more recently than the
reference file was modified. The -newerXY test supports subsecond
timestamps where these are available. The X=B variant is not yet
implemented.
If you configure the source code and then run the tests with "make
check", the test suite fails rather than defaulting to testing the
system binaries.
A new option, --max-database-age, has been added to locate.
* Major changes in release 4.3.2, 2006-11-25
** Bug Fixes
#18222: find -printf '%H %P' once again prints the right result if
more than one start point was given on the command line.
#17782: find -execdir now correctly puts the prefix "./" before the
expansion of "{}" rather than at the start of the argument it appears
in. Please note that if you use the -exec or -execdir actions with a
shell, then you may be vulnerable to shell code injection attacks, so
don't do that. It's not a security defect in find - you should not be
passing untrusted data (such as file names chosen by other people) to
the shell.
#17490: find -regex generated a segfault in findutils-4.3.1, but this
is fixed in findutils-4.3.2.
#17477: find -printf '%' (that is, where the format has a trailing %)
now generates an error message.
#17372: The fts-based find executable (the default configuration uses
fts) is now much faster when -maxdepth is used on filesystems with
high fanouts.
#15531: The -prune action now behaves correctly when applied to a file.
** Functional changes
The slocate database format is now supported. Preliminary changes
intended to eventually allow setuid operation of locate have also been
made. For the moment, please don't install GNU locate as a
set-user-ID program (except for testing purposes; if you do so, please
make sure that untrusted users cannot execute the set-user-ID locate
program).
Use of an slocate database which was built with a nonzero security
mode (at the moment, GNU updatedb will not do this) forces locate's
"-e" option to be turned on, which has an effect on the "-S" option
which is probably surprising for most users.
** Documentation Fixes
The global effect of options (other than -daystart and -follow) is now
explained more clearly in the manual page. Savannah bug #15360.
* Major changes in release 4.3.1, 2006-08-06
** Bug Fixes
Find now follows POSIX rules for determining where directories end and
expressions start. This means that "find \(1 \!2 \, \)" now searches
in the four named directories, rather than trying to parse an
expression. (Savannah bug #15235).
You now get a more helpful error message when you use command lines
which have missing expressions, such as
find . ( )
find . !
find . -a
find . \( -not \)
find . \( -true -a
Savannah bug #15800: If find finds more subdirectories within a parent
directory than it previously expected to based on the link count of
the parent, the resulting error message now gives the correct
directory name (previously an error message was issued but it
specified the wrong directory).
Savannah bug #16738: "find .... -exec ... {} +" now works if you have
a large environment and many files must be passed to the -exec
action. The same problem affected the -execdir action, though since
the number of files in a given directory will normally be smaller, the
problem was worse for -exec.
Savannah bug #16579: Updatedb now works if it is running as a user
whose login shell is not actually a shell.
There have also been a number of documentation improvements (includng
Savannah bug #16269).
** Functional changes
For find, debug output can now be enabled at runtime with the -D
option. This causes the printing of various sorts of information
about find's internal state and progress.
The find option -nowarn cannot itself produce a warning (this used to
happen with commands like "find . -name quux -nowarn -print").
** Performance Enhancements
Find now has a rudimentary cost-based optimiser. It has an idea of
the basic cost of each test (i.e. that -name is very cheap while -size
is more expensive). It re-orders tests bearing in mind the cost of
each test and its likely success. Predicates with side effects (for
example -delete or -exec) are not reordered. The optimiser is not
yet enabled by default, but the new option -O controls the query
optimisation level. To see this in action, try
find -D opt -O3 . -type f -o -type c -o -size 555 -name Z
and compare the optimised query with:
find -D opt -O3 . -size 555 -o -type c -o -type f -name Z
and
find -D opt . -size 555 -o -type c -o -type f -name Z
Over time, as optimisations are proven to be robust and correct, they
will be moved to lower optimisation levels. Some optimisations have
always been performed by find (for example -name is always done early
if possible).
** Translations
Findutils 4.3.1 includes updated translations for the following
languages:
Vietnamese, Belarusian, Catalan, Danish, German, Greek, Esperanto,
Spanish, Estonian, Finnish, French, Irish, Galician, Croatian, Hungarian,
Indonesian, Italian, Japanese, Korean, Luganda, Malay, Dutch, Polish,
Portuguese, Brazilian Portuguese, Romanian, Russian, Kinyarwanda,
Slovak, Slovenian, Serbian, Swedish, Turkish, Chinese (simplified),
Chinese (traditional), Bulgarian
* Major changes in release 4.3.0, 2005-12-12
The 4.3.x release series are currently 'development' releases. Please
test it, but think carefully before installing it in a production
system. New features in findutils-4.3.x are under development; they
may change or go away.
All changes up to and including findutils-4.2.27 are included in this
release. In addition the following changes are new in this release:
** Functional Changes
By default, find now uses the fts() function to search the file
system. The use of fts greatly increases find's ability to search
extremely deep directory hierarchites.
You can tell that the version of find you are using uses FTS, because
the output of "find --version" will include the word "FTS".
Currently two binaries for 'find' are built. The configure option
--without-fts can be used to select whether 'find' uses fts:
With fts Without fts
default configuration find oldfind
configure --with-fts find oldfind
configure --without-fts ftsfind find
New tests, -readable, -writable, -executable. These check that a file
can be read, written or executed respectively.
* Major changes in release 4.2.27, 2005-12-06
** Warnings of Future Changes
The test -perm /000 currently matches no files, but for greater
consistency with -perm -000, this will be changed to match all files;
this change will probably be made in early 2006. Meanwhile, a warning
message is given if you do this.
** Bug Fixes
If xargs is invoked with many short arguments on PPC systems running
the Linux kernel, we no longer get an "argument list too long" error
from the operating system.
Fixed a bug in the test suite which caused it to spuriously fail on
systems where ARG_MAX is different to the value used by the Linux
kernel on 32-bit x86-architecture systems.
On systems running the Linux kernel, "find -printf %F" no longer
produces the wrong answer for files on filesystems that have been
remounted elsewhere using "mount --bind". (Savannah bug #14921).
** Documentation Changes
Following some extensive and detailed review comments from Aaron
Hawley, the material in the manual pages and the Texinfo manual are
now synchronised.
The %M format specifier of "find -printf" is now documented, although
it has existed since release 4.2.5.
The 'find' manual page now correctly documents the fact that -regex
defaults to using Emacs-style regular expressions (though this can be
changed).
* Major changes in release 4.2.26, 2005-11-19
** Public Service Announcements
I'd like to point out a second time that the interpretation of '-perm
+mode' has changed to be more POSIX-compliant. If you want the old
behaviour of the GNU extension you should use '-perm /mode'. See the
NEWS entry for findutils version 4.2.21 for details.
** Functional Changes
The xargs command now supports a new option (--delimiter) which allows
input items to be separated by characters other than null and
whitespace. This resolves Savannah support request sr #102914.
Sometimes find needs to read the /etc/mtab file (or perform the
equivalent operation on systems not using /etc/mtab). If this
information is needed but not available, find now exits with an error
message non-zero status. If the information is not needed, find will
not spuriously fail.
A new xargs option --delimiter allows the input delimiter to be
changed (previously \0 was the only choice unless you use the -L
option, which changes other semantics too).
** Bug Fixes
If the environment size is too large to allow xargs to operate
normally, 'xargs --help' still works (now).
If the input to xargs is a large number of very short options (for
example, one character each), earlier versions of xargs would fail
with 'Argument list too long'. However, since this is precisely the
problem that xargs was invented to solve, this is a bug. Hence on
those systems we now correctly use a shorter command line. This
problem particularly affected 64-bit Linux systems because of the
larger size of pointers, although 32-bit Linux systems were also
affected (albeit for longer command lines). In theory the same
problem could affect 'find -exec {} +', but that's much less likely
(even so, the bug is fixed there too).
Bugfix for an unusual failure mode (Savannah bug #14842) where an
attempt to allocate more space for directory contents succeeds but is
incorrectly diagnosed as a failure. The likelihood of you
experiencing this depends on your architecture, operating system and
resource limits. This failure has been observed in a directory
containing 35396 entries.
** Documentation Changes
The EXAMPLES section of the find manual page now correctly describes
the symbolic and octal modes for the -perm test.
The documentation and "--help" usage information for the -L, -l, -I
and -i options have been clarified (but the behaviour has not changed).
The documentation now explains more clearly what happens when you use
"-L -type l".
* Major changes in release 4.2.25, 2005-09-03
** Bug Fixes
find -perm /440 (which should succeed if a file is readable by its
owner or group) now works. Previously there was a bug which caused
this to be treated as "find -perm 440".
Some files in the xargs test suite have been renamed to avoid problems
on operating systems whoch cannot distinguish filenames on the basis
of upper/lower case distinctions.
The software now builds on Cygwin, including the generated file
regexprops.texi.
Findutils should now build once again on systems supporting AFS, but
this support has not recently been fully tested. Findutils should
also (once again) build on Cygwin.
** Other Changes
The test suite for find is now much more extensive.
* Major changes in release 4.2.24, 2005-07-29
** Documentation Changes
The manual now includes a "Worked Examples" section which talks about
the various ways in which findutils can be used to perform common
tasks, and why some of these alternatives are better than others.
The -I option of xargs (which is required by the POSIX standard) is
now documented.
We now document the fact that find ensures that commands run by -ok
and -okdir don't steal find's input. Find does this by redirecting
the command's standard input from stdin.
Many documentation readability enhancements and proofreading fixes
were contributed by Aaron Hawley.
** Functional Changes
*** Functional changes in locate
The "--regex" option of locate now assumes the regular expression to
be in the same syntax as is used in GNU Emacs, though this can be
changed with the new option --regextype. This is a change from the
existing behaviour (which was to use POSIX Basic Regular Expressions).
Since this feature is releatively new anyway, I though it was more
useful to have compatibility between regular expression handling in
find and locate than to maintain the short-lived previous behaviour of
locate.
The locate program now also supports a "--regextype" long option which
controls which regular expression syntax is understood by locate.
This is a long option and has no single-letter 'short option'
equivalent.
*** Functional changes in find
The regular expression syntax understood by "find" can be changed with
the -regextype option; this option is positional, meaning that you can
have several tests, each using a distinct syntax (this is not
recommended practice however).
The default regular expression syntax is substantially the same as
that recognised by GNU Emacs, except for the fact that "." will match
a newline.
The leaf optimisation can be disabled with the configure option
"--disable-leaf-optimisation", which is equivalent to specifying
"-noleaf" on all find command lines. This is useful for systems
having filesystems which do not provide traditional Unix behaviour for
the link count on directories (for example Cygwin and the Solaris 9
HSFS implementation).
** Bug Fixes
*** Bug Fixes for find
The -iregex test now works once again on systems that lack
re_search() (that is, systems on which findutils needs to use the
gnulib version of this function).
find -regex now once again uses GNU Emacs-compatible regular
expressions.
If invoked with stderr closed, the -fprint and -fprintf actions now no
longer cause error messages to be sent into the output file.
If the link count of a directory is less that two, the leaf
optimisation is now disabled for that directory. This should allow
searching of non-Unix filesystems to be more reliable on systems that
don't take the trouble to make their filesystems look like traditional
Unix filesystems. Some filesystems don't even take the trouble to
have a link count of less than two and for these, -noleaf is still
required unless --disable-leaf-optimisation was used at configure time.
The "%Y" directive for the -printf action now no longer changes find's
idea of the mode of the file, so this means among other things that
"-printf %Y %y" now works properly. This is Savannah bug #13973.
* Major changes in release 4.2.23, 2005-06-19
** Documentation Changes
The -L and -I options of xargs are currently incompatible (but should
not be).
Improved the documentation for -execdir and -okdir.
** Functional Changes to updatedb
File names ending in "/" which are specified as an argument to
--prunepaths (or in $PRUNEPATHS) don't work, so we now issue an error
message if the user tries to do that. The obvious exception of course
is "/" which does work and is not rejected.
* Major changes in release 4.2.22, 2005-06-12
** Security Fixes
If a directory entry searched with "find -L" is a symbolic link to
".", we no longer loop indefinitely. This problem affected find
versions 4.2.19, 4.2.20 and 4.2.21. This problem allows users to make
"find" loop indefinitely. This is in effect a denial of service and
could be used to prevent updates to the locate database or to defeat
file security checks based on find. However, it should be noted that
you should not use "find -L" in security-sensitive scenarios.
** Other Bug Fixes
None in this release.
** Functional Changes to locate
A locate database can now be supplied on stdin, using '-' as a element
of the database-path. If more than one database-path element is '-',
later instances are ignored.
A new option to locate, '--all' ('-A') causes matches to be limited to
entries which match all given patterns, not entries which match
one or more patterns.
** Documentation Changes
Some typos in the manual pages have been fixed. Various parts of the
manual now point out that it is good practice to quote the argument of
"-name". The manpage now has a "NON-BUGS" section which explains some
symptoms that look like bugs but aren't. The explanations of the "%k"
and "%b" directives to "find -printf" have been imrpoved.
* Major changes in release 4.2.21, 2005-06-07
** Functional Changes to find
The GNU extension "find ... -perm +MODE" has been withdrawn because it
is incompatible with POSIX in obscure cases like "find ... -perm ++r".
Use the new syntax "find ... -perm /MODE" instead. Old usages will
still continue to work, so long as they don't conflict with POSIX.
If the output is going to a terminal, the -print, -fprint, -printf and
-fprintf actions now quote "unusual" characters to prevent unwanted
effects on the terminal. See "Unusual Characters in File Names" for
further details. There is no change to the behaviour when the output
is not going to a terminal. The locate program does the same thing,
unless the -0 option is in effect (in which case the filenames are
printed as-is).
** Functional Changes to locate
The locate command will now read each locate database at most once.
This means that if you are using multiple databases and are searching
for more than one name, the results will now be printed in a different
order (and if you specified a small limit with --limit, you may get a
different set of results).
A new option '--print' for locate causes it to print the matching
results even if the '--count' or '--statistics' option is in effect.
** Bug Fixes
find /blah/blah/blah -depth -empty now works once again.
The -regex and -iregex tests of find now correctly accept POSIX Basic
Regular Expressions. (Savannah bug #12999)
The updatedb program now works on systems where "su" does not support
the "-s" option, for example Solaris.
* Major changes in release 4.2.20, 2005-03-17
** Internationalization and Localization
Updated Vietnamese and Dutch translations.
** Bug Fixes
Minor bugfix affecting only those who compile from the CVS repository,
as opposed to those who compile from the source releases.
* Major changes in release 4.2.19, 2005-03-07
** Bug Fixes
find should now no longer hang on systems which lack the O_NOFOLLOW
flag to open(2) and which are clients of an unresponsive NFS server
(Savannah bug #12044).
We now avoid inappropriately failing for "find -L foo" or "find -H
foo" if foo is a symbolic link (Savannah bug #12181). Previously we
used to fail with the error message "Too many levels of symbolic
links".
"find . -false -exec foo {} +" no longer runs an extra instance of foo
when find exits (Savannah bug #12230).
If the chdir() safety check fails but we can no longer get back to
where we started, exit with an explanatory (fatal) error message.
This does not happen on GNU/Linux and FreeBSD because the safety check
is not needed (the security problem the safety check protects against
is prevented in a cleaner way on those systems).
"make distclean" no longer deletes regex.c (which "make all" needs).
** Functionality Changes
"find -printf "%h\n" will now print "." for files in the current directory.
Previously it printed nothing (but there was a bug in the %h
implementation anyway). This fixes Savannah bug #12085.
Should now build (again) on non-C99-compliant systems.
** Documentation enhancements
Fixed some typos and clarified wording in "Working with automounters".
** Internationalization and Localization
New Vietnamese message translation.
* Major changes in release 4.2.18, 2005-02-16
** Bug Fixes
*** "find -depth" was missing out non-leaf directories when they contain
non-directories. This affected findutils releases 4.2.15,
4.2.16 and 4.2.17, but the bug is now fixed.
*** Find no longer hangs on systems which are clients of unresponsive
NFS servers.
** Documentation improvements
*** Improvements and corrections to the find.1 manpage, including corrections to the descriptions of -H and -L.
* Major changes in release 4.2.17, 2005-02-08
** Bug Fixes
*** bug #11861 undefined symbol "basename" on IRIX 5.3
*** bug #11865 xargs -i regression (as compared to findutils-4.2.12)
*** bug #11866 Typo in pred_okdir renders it useless (affecting 4.2.16 only)
*** patch #3723 fix recent process_top_path change (for -execdir on /)
*** Fixing bug #11866 and applying patch #3723 made -execdir work much better.
*** find bar/baz/ugh now works again if baz is a symbolic link (broken
in 4.2.15).
* Major changes in release 4.2.16, 2005-02-05
** Functionality Changes
*** Updated the message catalogues for the translated messages.
*** The subfs filesystem is now treated the same as the autofs
filesystem is.
*** New translations: Belarusian, Catalan, Greek, Esperanto,
Finnish, Irish, Croatian, Hungarian, Japanese, Luganda,
Malay, Romanian, Slovenian, Serbian, Chinese (simplified).
** Bug Fixes
*** The -execdir action now works correctly for files named on the
command line.
* Major changes in release 4.2.15, 2005-01-29
** Functionality Changes
*** locate now supports matching regular expression (--regex).
*** --enable-d_type-optimization (introduced in findutils 4.2.13) is now turned on by default.
* Major changes in release 4.2.14, 2005-01-25
** Functionality Changes
*** New options -L, -P, -H for locate. The work in the same was as the same options for find.
** Bug Fixes
*** Don't include the "findutils/find/testsuite/find.gnu" subdirectory in the
distributed tar file more than once.
*** Should now build on Solaris once again.
*** -xtype and -printf %Y now work correctly for symbolic links once again
** Documentation improvements
*** All options for "locate" are now documented
* Major changes in release 4.2.13, 2005-01-23
** Performance Enhancements
*** On Linux and some other systems, a large performance improvement,
because we can eliminate many of the calls to lstat() (in extreme
cases, 99% of them). Limited testing shows a 2x speedup on NFS
filesystems. Other systems which can make use of this enhancement
include Mac OS X and *BSD.
* Major changes in release 4.2.12, 2005-01-22
** Functionality Changes
*** find is now POSIX-compliant, as far as I know.
*** -exec ... {} + now works.
*** New actions -execdir and -okdir which are like -exec and -ok but more secure.
*** "locate -w" is now a synonym for "locate --wholepath".
*** An empty path entry in the locate database path (for example "::" in
$LOCATE_PATH or in the argument to "locate -d") is taken to mean
the default database, whose name is hard-coded in locate.
** Bug Fixes
*** If find or xargs cannot write to stdout, for example because
output is redirected to a file and the disk is full, the
relevant program will return a non-zero exit status.
* Major changes in release 4.2.11, 2004-12-12
** Bug Fixes
*** Compilation fix for systems without EOVERFLOW.
*** More helpful error message if you make a mistake with (, ), -o or -a.
** Functionality Changes
*** If you have unclosed parentheses on the find command line,
or any of a number of similar problems, find will now produce
a more helpful error message.
*** locate -b is now a synonym for locate --basename
*** locate now supports a --statistics (or -S) option, which prints some
statistics about the locate databases.
*** Implemented the -samefile option.
** Documentation improvements
*** New chapter in the manual, "Security Considerations".
*** Better documentation for -prune (Mainly thanks to Stepan Kasal)
** Bug Fixes
*** locate's options -i and -w now work with the -e option (previously a bug
prevented this).
* Major changes in release 4.2.10, 2004-12-06
** Bug Fixes
*** Portability fix for fstype.c: should now compile on UNICOS, and possibly
also produce useful results on BeOS and Dolphin, perhaps other
systems too.
* Major changes in release 4.2.9, 2004-12-05
** Functionality Changes
*** xargs no longer treats a line containing only an underscore as a logical end-of-file. To obtain the behaviour that was previously the default, use "-E_".
*** xargs now supports the POSIX options -E, -I and -L. These are synonyms
for the existing options -e, -i and -l, but the latter three are
now deprecated.
** Bug Fixes
*** xargs -n NUM now invokes a command as soon as it has NUM arguments.
Previously, it waited until NUM+1 items had been read, and then
invoked the command with NUM arguments, saving the remaining one
for next time.
*** If "find -L" discovers a symbolic link loop, an error message is issued.
*** If you specify a directory on the find command line, but -prune
is applied to it, find will no longer chdir() into it anyway.
** Documentation improvements
*** The precise interpretation of the arguments to the -atime, -ctime
and similar tests in find has been documented more clearly.
* Major changes in release 4.2.8, 2004-11-24
*** Bugfix to the findutils 4.2.7 automount handling on Solaris. This
worked to some extent in findutils-4.2.7, but is much improved in
findutils-4.2.8.
* Major changes in release 4.2.7, 2004-11-21
** Functionality Changes
*** xargs can now read a list of arguments from a named file, allowing
the invoked program to use the same stdin as xargs started with
(for example ``xargs --arg-file=todo emacs'').
** Documentation improvements
*** The Texinfo manual now has an extra chapter, "Error Messages". Most
error messages are self-explanatory, but some of the ones which
are not are explained in this chapter.
** Bug Fixes
*** Avoid trying to link against -lsun on UNICOS, which doesn't need it or
have it.
*** Bugfix to the findutils 4.2.6 automount handling (which hadn't been enabled
on Solaris).
*** Reenabled internationalisation support (which had been accidentally
disabled in findutils-4.2.5).
* Major changes in release 4.2.6, 2004-11-21
** Bug Fixes
*** find now copes rather better when a directory appears to change just as
it is about to start examining it, which happens with automount.
This is because automount mounts filesystems as you change
directory into them. This should resolve Savannah bugs #3998,
#9043.
Version 8.12.0 [v8-stable] 2015-08-11
- Harmonize resetConfigVariables values and defaults
see also https://github.com/rsyslog/rsyslog/pull/413
Thanks to Tomas Heinrich for the patch.
- GT/KSI: fix some issues in signature file format and add conversion tool
The file format is incompatible to previous format, but tools have been
upgraded to handle both and also an option been added to convert from
old to new format.
- bugfix: ommysql did not work when gnutls was enabled
as it turned out, this was due to a check for GnuTLS functions
with the side-effect that
AC_CHECK_LIB, by default, adds the lib to LIBS, if there is no
explicit action, what was the case here. So everything was now
linked against GnuTLS, which in turn made ommysql fail.
Thanks to Thomas D. (whissi) for the analysis of the ommysql/gnutls
problem and Thomas Heinrich for pointing out that AC_CHECK_LIB might
be the culprit.
- bugfix omfile: potential memory leak on file close
see also: https://github.com/rsyslog/rsyslog/pull/423
Thanks to Robert Schiele for the patch.
- bugfix omfile: potential race in dynafile detection/creation
This could lead to a segfault.
Thanks to Tomas Heinrich for the patch.
- bugfix omfile: Fix race-condition detection in path-creation code
The affected code is used to detect a race condition in between
testing for the existence of a directory and creating it if it didn't
exist. The variable tracking the number of attempts wasn't reset for
subsequent elements in the path, thus limiting the number of
reattempts to one per the whole path, instead of one per each path
element.
This solution was provided by Martin Poole.
- bugfix parser subsystem: potential misadressing in SanitizeMsg()
could lead to a segfault
Thanks to Tomas Heinrich for the patch.
- imfile: files moved outside of directory are now (properly) handled
- bugfix: imfile: segfault when using startmsg.regex if first log line
doesn't match
Thanks to Ciprian Hacman for the patch.
- bugfix imfile: file table was corrupted when on file deletion
This could happen when a file that was statically configured (not via an
wildcard) was deleted.
- bugfix ompgsql: transaction were improperly handled
now transaction support is solidly disabled until we have enough requests
to implement it again. Module still works fine in single insert mode.
closes https://github.com/rsyslog/rsyslog/issues/399
- bugfix mmjsonparse: memory leak if non-cee-json message is processed
see also https://github.com/rsyslog/rsyslog/pull/383
Thanks to Anton Matveenko for the patch
- testbench: remove raciness from UDP based tests
- testbench: added bash into all scripts makign it mandatory
- bugfix testbench: Fixed problem building syslog_caller util when
liblogging-stdlog is not available.
Thanks to Louis Bouchard for the patch
- bugfix rscryutil.1: Added fix checking for generate_man_pages condition
Thanks to Radovan Sroka for the patch
- bugfix freebsd console: \n (NL) is prepended with \r (CR) in console
output on freebsd only. For more details see here:
https://github.com/rsyslog/rsyslog/issues/372
Thanks to AlexandreFenyo for the patch
------------------------------------------------------------------------------
Version 8.11.0 [v8-stable] 2015-06-30
- new signature provider for Keyless Signature Infrastructure (KSI) added
- build system: re-enable use of "make distcheck"
- add new signature provider for Kesless Signature Infrastructure (KSI)
This has also been added to existing tooling; KSI is kind of v2 of
the Guardtime functionality and has been added in the appropriate
places.
- bugfix imfile: regex multiline mode ignored escapeLF option
Thanks to Ciprian Hacman for reporting the problem
closes https://github.com/rsyslog/rsyslog/issues/370
- bugfix omkafka: fixed several concurrency issues, most of them related
to dynamic topics.
Thanks to Janmejay Singh for the patch.
- bugfix: execonlywhenpreviousissuspended did not work correctly
This especially caused problems when an action with this attribute was
configured with an action queue.
- bugfix core engine: ensured global variable atomicity
This could lead to problems in RainerScript, as well as probably in other
areas where global variables are used inside rsyslog. I wouldn't outrule
it could lead to segfaults.
Thanks to Janmejay Singh for the patch.
- bugfix imfile: segfault when using startmsg.regex because of empty log line
closes https://github.com/rsyslog/rsyslog/issues/357
Thanks to Ciprian Hacman for the patch.
- bugfix: build problem on Solaris
Thanks to Dagobert Michelsen for reporting this and getting us up to
speed on the openCWS build farm.
- bugfix: build system strndup was used even if not present
now added compatibility function. This came up on Solaris builds.
Thanks to Dagobert Michelsen for reporting the problem.
closes https://github.com/rsyslog/rsyslog/issues/347
- bugfix imjournal: do not pass empty messages to rsyslog core
this causes a crash of the daemon
see also https://github.com/rsyslog/rsyslog/pull/412
Thanks to Tomas Heinrich for the patch.
- bugfix imjournal: cosmetic memory leak
very small and an shutdown only, so did not affect operations
see also https://github.com/rsyslog/rsyslog/pull/411
Thanks to Tomas Heinrich for the patch.
Changes:
== 7.0 ==
=== General Improvements ===
Various fix including security fix, thanks to
* Coverity scan (Static Analysis of source code)
* afl-fuzz (security-oriented fuzzer).
* Denis Andzakovic from Security Assessment for reporting an
exploitable Stack Buffer Overflow
=== TestDisk ===
==== Improvements ====
* exFAT: better support
* ext4: handle 64 bit blocks or 64 KiB blocksize. Fix detection and file
listing
==== Bug fixes ====
* Avoid erroneous error when writing 512 bytes on hard disk using 4k sector
* FAT, NTFS: avoid NULL pointer dereference if localtime() returns NULL.
Thanks to Graham Sutherland for reporting this bug.
=== PhotoRec & QPhotoRec ===
QPhotoRec is a Graphical User Interface (Qt based GUI) version of PhotoRec.
More user friendly, it recognizes the same file formats.
PhotoRec remains recommended for advanced users, it can stop a recovery and
resume it later, it recovers more fragmented files when brute-force technology
is enabled and expert mode is available.
==== Improvements ====
* Reduced false positives for more than 80 file formats.
* .gif: fix filesize detection
* .flv: add Flash filesize detection
* .mpg: detect filesize for MPEG
* .ra: detect filesize for RealAudio3
* Improved algorithm to deal with data fragmentation resulting in a general
speed increased
* Speedup brute-force mode. Brute-force mode can recover more fragmented
files, but it's still slow and not 100% reliable. You can enable it in
PhotoRec Options menu.
New file formats recovered by PhotoRec:
* .3dm: Rhino / openNURBS
* .ari: ARRI Raw Video
* .camrec: Camtasia Studio
* .dad: Micae DVR
* .dcm: Digital Imaging and Communications in Medicine (DICOM)
* .fp12: File Maker Pro 12
* .kra: Krita
* .mlv: Magic Lantern Video
* .notebook: SMART notebook
* .ora: Mypaint
* .red: RED2 video format
* .rlv: Revelation password
* .vbm: Veeam Backup Metadata
* .woff: Web Open Font Format
do a patch refresh in xentools42
rather than split the patches for pass-through.c over 5 files, delete
xentools42/patches/patch-CVE-2015-2756 and assemble all in
xentools42/patches/patch-qemu-xen-traditional_hw_pass-through.c
sysutils/py-attic, which is no longer being developed upstream.
BorgBackup (short: Borg) is a deduplicating backup program. Optionally,
it supports compression and authenticated encryption.
The main goal of Borg is to provide an efficient and secure way to
backup data. The data deduplication technique used makes Borg suitable
for daily backups since only changes are stored. The authenticated
encryption technique makes it suitable for backups to not fully trusted
targets.
OS X lacks the POSIX-mandated clock_gettime function, and tarsnap is
not using libcperciva's "support broken operating systems" compatibility
mechanism yet. Add -DPOSIXFAIL_CLOCK_REALTIME to the build.
1. SECURITY FIX: When constructing paths of objects being archived, a buffer
could overflow by one byte upon encountering 1024, 2048, 4096, etc. byte
paths. Theoretically this could be exploited by an unprivileged user whose
files are being archived; I do not believe it is exploitable in practice,
but I am offering a $1000 bounty for the first person who can prove me wrong:
http://www.daemonology.net/blog/2015-08-21-tarsnap-1000-exploit-bounty.html
2. SECURITY FIX: An attacker with a machine's write keys, or with read keys
and control of the tarsnap service, could make tarsnap allocate a large
amount of memory upon listing archives or reading an archive the attacker
created; on 32-bit machines, tarsnap can be caused to crash under the
aforementioned conditions.
3. BUG FIX: Tarsnap no longer crashes if its first DNS lookup fails.
4. BUG FIX: Tarsnap no longer exits with "Callbacks uninitialized" when
running on a dual-stack network if the first IP stack it attempts fails to
connect.
5. tarsnap now avoids opening devices nodes on linux if it is instructed to
archive /dev/. This change may prevent "watchdog"-triggered reboots.
6. tarsnap -c --dry-run can now run without a keyfile, allowing users to
predict how much Tarsnap will cost before signing up.
7. tarsnap now has bash completion scripts.
8. tarsnap now takes a --retry-forever option.
9. tarsnap now automatically detects and uses AESNI and SSE2.
As usual, there are also many minor build fixes, harmless bug fixes, and code
refactoring / cleanup changes. For a full listing of changes, consult the
tarsnap git repository: https://github.com/Tarsnap/tarsnap
* Add support for the "irq" plugin on NetBSD.
* Declare BUILD_DEFS+= VARBASE to silence pkglint.
* Tweak Makefile.am instead; commit regenerated Makefile.in with automake.
* Adjust the patch for the df plugin so it builds both in newer (> 6.99.19)
and older NetBSD (e.g. 6.1.5)
* Adjust the entropy plugin to use <paths.h> and _PATH_URANDOM
to silence pkglint.
PKGREVISION bumped to 5.
Puppet 3.8.1-3.8.2
- Bug fixes
- Minor improvements
- Improvements for future migration to 4.0
Puppet 3.8.0
- Back-end Support for Upgrade Previews
- Logging as JSON
- Bug fixes and improvements
Release notes for 3.8.x:
https://docs.puppetlabs.com/puppet/3.8/reference/release_notes.html
Puppet 3.7.1-3.7.5
- Bug fixes
- Security fix for the POODLE vulnerability in the WEBrick master process
Puppet 3.7.0
- A nearly-final implementation of the Puppet 4 language
- Preview support for a new, fast, natively compiled Facter
- Lots of deprecations to prepare for Puppet 4.0
- Bug fixes and minor improvements
Release notes for 3.7.x:
https://docs.puppetlabs.com/puppet/3.7/reference/release_notes.html
Puppet 3.6.1-3.6.2
- Security fixes for CVE-2014-3248 and CVE-2014-3250.
- Bug fixes.
Puppet 3.6.0
- Improvements to directory environments, and the deprecation
of config file environments
- Support for purging unmanaged ssh_authorized_key resources
- Support for installing gems for a custom provider as part of a Puppet run
- A configurable global logging level
- A configurable hashing algorithm (for FIPS compliance and other purposes)
- Improvements to the experimental future parser
- Bug fixes and minor improvements
Release notes for 3.6.x:
https://docs.puppetlabs.com/puppet/3.6/reference/release_notes.html
Puppet 3.5.1
- Bug fixes.
Puppet 3.5.0
- A new way to set up environments, which replaces the popular
"dynamic environments" pattern
- A cleaner replacement for the classic import nodes/*.pp pattern
- Scriptable configuration with a new puppet config set command
- A new global $facts hash
- Early support for hashes and arrays in fact values
- Improvements to the future parser
- Support for RHEL 7, Ruby 2.1, and Facter 2.0
- Bug fixes and minor improvements
Release notes for 3.5.x:
https://docs.puppetlabs.com/puppet/3.5/reference/release_notes.html
Puppet 3.4.1-3.4.3
- Bug fixes.
- Security fix for CVE-2013-4969.
Puppet 3.4.0
- Fixes for some high-profile bugs, including the "anchor pattern" issue
and broken RDoc on Ruby 1.9+
- New certificate autosigning behavior to help quickly and securely
add new nodes in elastic environments
- Windows improvements, especially for file resources
- Trusted node data in the compiler
- Bug fixes and minor improvements
Puppet 3.3.1-3.3.2
- Bug fixes
Puppet 3.3.0
- Configurable Resource Ordering
- Data in Modules
- YAML Over the Network is Now Deprecated
- Regex Capture Variables from Node Definitions ($1, etc.)
- Redirect Response Handling
- Filebucket Improvements
- Internal Format and API Improvements
- Improvements to Resource Types
- Bug fixes and minor improvements
Puppet 3.2.1-3.2.4
- Bug fixes
- Security fixes for CVE-2013-4761 and CVE-2013-4956
- Security fix for CVE-2013-3567
Puppet 3.2.0
- An optional, experimental "Future" parser
- Ruby 2.0 support
- OpenWRT OS support
- External CA support
- A new modulo (%) operator
- New slow catalog profiling capabilities
- Bug fixes and minor improvements
Release notes for for 3.2.x-3.4.x:
- https://docs.puppetlabs.com/puppet/3/reference/release_notes.html
Upstream changes:
=================
1.10.2 2015-06-19
-----------------
[Bug] #1273: Fix issue with ssh/config not having a cross-platform default
path. Thanks to @SamuelMarks for catch & patch.
[Bug] #1286: (also #971, #1032) Recursively unwrap decorators instead of
only unwrapping a single decorator level, when obtaining task docstrings.
Thanks to Avishai Ish-Shalom for the original report & Max Kovgan for the
patch.
[Bug] #1289: Fix 'NameError: free variable referenced before assignment
in enclosing scope'. Thanks to @SamuelMarks for catch & patch.
[Bug] #980: (also #1312) Redirect output of cd to /dev/null so users
enabling bash's CDPATH (or similar features in other shells) don't have
polluted output captures. Thanks to Alex North-Keys for the original report &
Steve Ivy for the fix.
[Bug] #1305: (also #1313) Fix a couple minor issues with the operation of &
demo code for the JobQueue class. Thanks to @dioh and Horst Gutmann for the
report & Cameron Lane for the patch.
[Bug] #1318: Update functionality added in #1213 so abort error messages
don't get printed twice (once by us, once by sys.exit) but the annotated
exception error message is retained. Thanks to Felix Almeida for the report.
1.10.1 2014-12-19
-----------------
[Bug] #1226: Update get to ensure that env.user has access to tempfiles
before changing permissions. Also corrected permissions from 404 to 0400 to
match comment. Patch by Curtis Mattoon; original report from Daniel Watkins.
[Support] #1229: Add some missing API doc hyperlink references. Thanks to
Tony Narlock.
[Support] #958: Remove the Git SHA portion of our version string
generation; it was rarely useful & occasionally caused issues for users with
non-Git-based source checkouts.
[Bug] #1180: Fix issue with unicode steam outputs crashing if stream
encoding type is None. Thanks to @joekiller for catch & patch.
[Bug] #1228: Update the CommandTimeout class so it has a useful str instead
of appearing blank when caught by Fabric's top level exception handling.
Catch & patch from Tomaz Muraus.
[Support] #1213: Add useful exception message to the implicit SystemExit
raised by Fabric's use of sys.exit inside the abort function. This allows
client code catching SystemExit to have better introspection into the error.
Thanks to Ioannis Panousis.
[Bug] #1019: (also #1022, #1186) Fix is a tty tests in
environments where streams (eg sys.stdout) have been replaced with objects
lacking a .isatty() method. Thanks to Miki Tebeka for the original report, Lele
Long for a subsequent patch, and Julien Phalip for the final/merged patch.
[Bug] #1201: Don't naively glob all get targets - only glob actual
directories. This avoids incorrectly yielding permission errors in edge cases
where a requested file is within a directory lacking the read permission bit.
Thanks to Sassa Nf for the original report.
1.10.0 2014-09-04
-----------------
[Feature] #975: Fabric can now be invoked via python -m fabric in addition
to the typical use of the fab entrypoint. Patch courtesy of Jason Coombs.
(Python 2.7 only)
[Feature] #1090: Add option to skip unknown tasks. Credit goes to Jonas
Lundberg.
[Feature] #1098: Add support for dict style roledefs. Thanks to Jonas
Lundberg.
[Feature] #700: Added use_sudo and temp_dir params to get. This allows
downloading files normally not accessible to the user using sudo. Thanks to
Jason Coombs for initial report and to Alex Plugaru for the patch (#1121).
[Bug] #1188: Update local to close non-pipe file descriptors in the child
process so subsequent calls to local aren't blocked on e.g.
already-connected network sockets. Thanks to Tolbkni Kao for catch & patch.
directory in their OS for probably some twenty years. Use /var
instead. In particular, fix the defaults for CNF_INFOFILE, CNF_LOGDIR,
and CNF_INDEXDIR to use the configured LOCALSTATEDIR, which in pkgsrc
will be ${VARBASE}/amanda, instead of hardwiring /usr/adm/amanda.
PR 38958.
PKGREVISION -> 9.
Major changes in 0.12.9
=======================
* rename newly introduced SpiceImageCompress enum to SpiceImageCompression
as otherwise it was clashing with the definition used by older spice-server
releases, breaking QEMU build
Major changes in 0.12.8
=======================
* add LZ4 support
* add audio volume synchronization
* deprecate unused vdi-dev
* add 'preferred-compression' message/capability
* add a new Windows driver escape code to send
monitors capability from guest to client
Xfce4 GVfs Mount is a small application that is meant to mount remote file
systems only. It was initially written because Thunar 1.0 is lacking that
feature. The application is composed of a daemon, a mount dialog,
and a panel plugin.
Changed default tail command arguments
Fixed input-record-separator command line argument to allow for a null string
Corrected perlcode parsing and depth handling
Fixed how swatch kills off the tail command on exit
Fixed how the tail command is launched
Fixed incorrect implementation on rc4.
Hidden all the binary executable symbols but one.
Expiration date and most strings are encrypted too.
All the encrypted payload is now randomized.
Group and others read permision is now removed by default as read
permision of the script exposes it to disassembling.
Fixed bug: "rlax" used after encryption.
Fixed bug: "vfork" fails on multiprocessor systems.
Fixed sma11 -d option bug.
Fixed untraceable() problems on FreeBSD.
License clarification about the rc4 implementation.
Bug on 64bit systems with expiration dates.
Fixing a long standing bug making the source not hidden.
D-Bus 1.8.20 (2015-07-21)
==
The “Iguana Vanguard” release.
Fixes:
• Fix a memory leak when GetConnectionCredentials() succeeds
(fd.o #91008, Jacek Bukarewicz)
• Ensure that dbus-monitor does not reply to messages intended for others
(fd.o #90952, Simon McVittie)
Version 1.1.9
~~~~~~~~~~~~~
- Fixed build on VC (issues #20, #33).
- Added ``MANIFEST.in`` to the source distribution to help with RPM building
(issue #30).
NEW features of cdrtools-3.01a30:
****************
This is the final release candidate for cdrtools-3.01-final
****************
All:
- include/schily/signal.h now includes siginfo.h to make sure it
compiles even on very old Solaris versions where signal.h did not
yet include siginfo.h.
- include/schily/wait.h add a missing closing bracket for Haiku
- include/schily/wait.h added CLD_* macros and the enum idtype_t in case
they are missing. This allows to implement a waitid() emulation.
- include/schily/wait.h now includes schily/signal.h in case that
the local /usrinclude/sys/wait.h is non-POSIX and does not
define siginfo_t. This is e.g. the case on FreeBSD.
- The configure tests now include test that correctly identify Mac OS X as
non-POSIX with respect to waitid(). This prevents potential users of
waitid() from the unusable implementation on Mac OS X.
The rule for accepting an existing waitid() is the following:
- si.si_pid is set to be equal to the awaited pid
- si.si_code == CLD_EXITED for a chilt terminated by exit(2)
- si.si_status contains at least 16 bits from the exit(2)
code. This is still not POSIX but better than what we would
get from a historical wait*() call.
- The configure tests now check for the new FreeBSD wait6() and for
idtype_t.
- A new symlink for x86_64-cygwin32_nt-gcc.rul was added
- Added support for cygwin32_wow (not the already present cygwin32_wow64).
- The makefile system now allows to use:
COPTX=-DNO_PRAGMA_WEAK
to disable the use of #pragma weak. This may help to debug some
oddities of the GNU linker.
- The makefile system now includes a new test that needs constraints
that are not really supported by autoconf: it checks whether the
linker supports to link against external weak symbols in another
file. For this reason, a handcrafted complest was written.
This (currently) should fail on Cygwin due to a Cygwin bug.
A platform that allows to link against weak symbols defines
HAVE_LINK_WEAK. This permits the system to automatically detect
usability once e.g. linking on Cygwin will be fixed.
Thanks to Thomas Plank for reporting the known #pragma weak problem
in a new source file (libschily/error.c). Note that error() is a
UNIX (UNOS) libc function that exists since 1980 but some libc
implementors do not follow the rule not to introduce incompatible
interfaces for existing names. So we need to find a workaround
on these platforms.
- autoconf now checks for the type rlim_t in sys/resource.h
Libschily:
- libschily/comerr.c and libschily/fcomerr.c now have better
comment.
- libschily now uses the test:
#if defined(HAVE_PRAGMA_WEAK) && defined(HAVE_LINK_WEAK)
to prevent assuming that is suffucuent when the compiler supports
#pragma weak. We also need to have a linker that links against
weak symbols in libraries. HAVE_LINK_WEAK is e.g. not defined
on Cygwin...
Libmdigest:
- libmdigest now uses the test:
#if defined(HAVE_PRAGMA_WEAK) && defined(HAVE_LINK_WEAK)
to prevent assuming that is suffucuent when the compiler supports
#pragma weak. We also need to have a linker that links against
weak symbols in libraries. HAVE_LINK_WEAK is e.g. not defined
on Cygwin...
All:
- include/schily/sysexits.h adopts to the recent changes on Haiku that
prevent usual autoconf tests as #include <sysexits.h> works but symbols
are only defined with #define _BSD_SOURCE
- include/schily/wait.h now knows about the Haiku specific macro
WIFCORED() and #defines WCOREDUMP() to WIFCORED().
- Support for x86_64-haiku-cc.rul and x86_64-haiku-gcc.rul was added
to the makefile system.
- The file RULES/r-gmake.dep was modified to make sure that the
dependency files (*.d) depend from the include files as well.
Previous versions included xxx.d instead of $(ARCHDIR)/xxx.d
- Makefile system: two new targets have been added:
man creates localized versions of the man pages in the
OBJ directory
installman installs only the manual pages
Libschily:
- New function j_error() works where error() is to generic.
- make strlcatl() and wcslcatl() work with K&R compilers
- libschily/getargs.c now is more careful with calling va_arg()
and only calls it as many times as a related format is found in the
format string.
- libschily now contains a getdelim() implementation and always uses
getdelim() to implement the fgetaline() function.
- libschily: the *mem.c implementations now include new *mexval()
functions to set the exit code on failure to a static value instead
of the default "errno" value for the failure.
- libschily: the linker map file now also lists the forgotten new entries:
strlcatl() and wcslcatl()
- libschily/spawn.c:wait_chld() no longer returns 0 if the child process
was killed by a signal.
- libschily now adds some of the existing (old) man pages for various
functions from libschily.
Libfind:
- libfind/idcache.c now saves uname/gname as long as possible and uses
strlcpy() instead of strncpy().
- libfind: the forgotten entries find_hasexec() and find_hasprint()
have been added to the linker map file
Libsiconv:
- libsiconv: the forgotten sic_base() was added to the linker map file
Cdrecord:
- The programs cdrecord adopts to the recent Haiku
changes with a randomized address space and now use B_EXACT_ADDRESS
instead of B_ANY_ADDRESS for the clone_area() call to get shared memory
for a FIFO.
Cdda2wav (Maintained/enhanced by Jörg Schilling, originated by Heiko Eißfeldt heiko@hexco.de):
- The programs cdda2wav adopts to the recent Haiku
changes with a randomized address space and now use B_EXACT_ADDRESS
instead of B_ANY_ADDRESS for the clone_area() call to get shared memory
for a FIFO.
Mkisofs (Maintained/enhanced by Jörg Schilling since 1997, originated by Eric Youngdale):
- mkisofs: isodump did not compile on non c99 compilers.
{perl>=5.16.6,p5-ExtUtils-ParseXS>=3.15}:../../devel/p5-ExtUtils-ParseXS
since pkgsrc enforces the newest perl version anyway, so they
should always pick perl, but sometimes (pkg_add) don't due to the
design of the {,} syntax.
No effective change for the above reason.
Ok joerg
Mtx(1) is a set of low level driver programs to control features of SCSI
backup related devices such as autoloaders, tape changers, mediajukeboxes,
and tape drives. It can also report much data, including serial numbers,
maximum block sizes, and TapeAlert(tm) messages that most modern tape
drives implement, as well as do raw SCSI READ and WRITE commands to
tape drives.
It works like chio(1) but supports more features and drives and runs in
users land. There are some amanda (sysutils/amanda-server) scripts, which
depend on mtx.
Long ago, this package needed -lpci added on NetBSD. Now, the
configure script does this automatically. This commit should not
change anything, so no PKGREVISION++. (I've been running with this
diff for a long time, on an i386 machine.)
Discussed with riastradh@ back in March.
in order to be able to use 'xsltproc --nonet' (e.g. empathy, upower, ...)
Update smf files to better deal with creating /var/run/dbus structures on SunOS
update PKGREVISION
2015-02-27 18:29
* New version 0.7.1 - to be used with xfce4-settings 4.11 or later;
do *not* use this version with XFCE 4.8 or 4.10, it won't work!
* Many translation updates
* Fix crash in xkb_util_normalize_group_name
* Add Montenegrin flag; add el.svg as a synonym for gr.svg
3.9.0 -> 3.9.1
- Fix off-by-one error which can lead to crash when copytruncate is used.
3.8.9 -> 3.9.0
- Fix crash when using long dateformat. [nmerdan]
- Add support for %H dateformat. [czchen]
- Fix regression introduced in 3.8.9 when when rotating multiple
logs when one of them is missing.
- In the debug mode, do not skip the code-path which handles the case when
the last rotation does not exist. [Sergey Vidishev]
- Show more precise description when "log does not need rotating".\
- Add new -l option to log verbose output to file. The file is overwritten
on every logrotate execution.
- Allow rotation of sparse files with copytruncate.
PKgsrc changes :
Switched from old Makefile to new building procedure, using autogen,
configure and (g)make, which was introduced in version 3.8.8.
The new patch file contains a workaround to get the new building procedure
working.
-----------------
* Use the new GtkTooltip API
* Fix a memory leak in the FreeBSD codepath (#11153)
* Add support for FreeBSD (bug #10350)
* New translations: th, ms, bg, oc, hr, en_AU, sr
* Updated translations: ar, ast, bg, cs, de, es, fr, it,
hr, hu. ko, nb, nl, ug, pl, sv, tr, zh_CN, zh_TW
- pkgin changed its output delimiter from a space to ';' when outputting
to a non-tty, breaking various configuration management systems which
relied on the previous behaviour. Handle both types in ansible until
NetBSDfr/pkgin#46 is resolved.
- OS X 10.10 changed the behaviour of sysctl(8) to hide certain entries
unless they are explicitly named. Apply patch to fix hw.model and
hw.usermem from https://github.com/ansible/ansible/pull/8171/files
Clean up patches while here. Bump PKGREVISION.
Note that the patch for XSA135 for qemu-traditional, which was
no applied to the 4.5 branch before the release due to an oversight,
is applied here (xentools45/patches/patch-XSA135).
Selected entries from the relase notes:
a246727: cpupool: fix shutdown with cpupools with different schedulers [Dario Faggioli]
5b2f480: libelf: fix elf_parse_bsdsyms call [Roger Pau Monné]
8faef24: VT-d: extend quirks to newer desktop chipsets [Jan Beulich]
24fcf17: x86/VPMU: add lost Intel processor [Alan Robinson]
131889c: x86/crash: don't use set_fixmap() in the crash path [Andrew Cooper]
8791a30: x86/apic: Disable the LAPIC later in smp_send_stop() [Andrew Cooper]
fbd26f2: x86/pvh: disable posted interrupts [Roger Pau Monné]
0d8cbca: libxl: In libxl_set_vcpuonline check for maximum number of VCPUs against the cpumap. [Konrad Rzeszutek Wilk]
bf06e40: libxl: event handling: ao_inprogress does waits while reports outstanding [Ian Jackson]
97051bd: libxl: event handling: Break out ao_work_outstanding [Ian Jackson]
0bc9f98: x86/traps: loop in the correct direction in compat_iret() [Andrew Cooper]
fcfbdb4: gnttab: add missing version check to GNTTABOP_swap_grant_ref handling [Jan Beulich]
09f76cb: cpupools: avoid crashing if shutting down with free CPUs [Dario Faggioli]
f237ee4: cpupool: assigning a CPU to a pool can fail [Dario Faggioli]
b986072: xen: common: Use unbounded array for symbols_offset. [Ian Campbell]
5eac1be: x86/irq: limit the maximum number of domain PIRQs [Andrew Cooper]
9c3d34d: x86: don't unconditionally touch the hvm_domain union during domain construction [Andrew Cooper]
9d5b2b0: tools/xenconsoled: Increase file descriptor limit [Andrew Cooper]
cfc4c43: ocaml/xenctrl: Fix stub_xc_readconsolering() [Andrew Cooper]
032673c: ocaml/xenctrl: Make failwith_xc() thread safe [Andrew Cooper]
c91ed88: ocaml/xenctrl: Check return values from hypercalls [Andrew Cooper]
fa62913: libxl: Domain destroy: fork [Ian Jackson]
c9b13f3: libxl: Domain destroy: unlock userdata earlier [Ian Jackson]
0b19348: libxl: In domain death search, start search at first domid we want [Ian Jackson]
ddfe333: x86: don't change affinity with interrupt unmasked [Jan Beulich]
bf30232: x86: don't clear high 32 bits of RAX on sub-word guest I/O port reads [Jan Beulich]
a824bf9: x86_emulate: fix EFLAGS setting of CMPXCHG emulation [Eugene Korenevsky]
f653b7f: x86/hvm: implicitly disable an ioreq server when it is destroyed [Paul Durrant]
8dbdcc3: x86/hvm: actually release ioreq server pages [Paul Durrant]
56fe488: x86/hvm: fix the unknown nested vmexit reason 80000021 bug [Liang Li]
4a52101: VT-d: improve fault info logging [Jan Beulich]
5a7c042: x86/MSI: fix error handling [Jan Beulich]
51d8325: LZ4 : fix the data abort issue [JeHyeon Yeon]
0327c93: hvmloader: don't treat ROM BAR like other BARs [Jan Beulich]
f2e08aa: domctl/sysctl: don't leak hypervisor stack to toolstacks [Andrew Cooper]
3771b5a: arm64: fix fls() [Jan Beulich]
9246d2e: domctl: don't allow a toolstack domain to call domain_pause() on itself [Andrew Cooper]
f5bca81: Limit XEN_DOMCTL_memory_mapping hypercall to only process up to 64 GFNs (or less) [Konrad Rzeszutek Wilk]
7fe1c1b: x86: don't apply reboot quirks if reboot set by user [Ross Lagerwall]
969df12: Revert "cpupools: update domU's node-affinity on the cpupool_unassign_cpu() path" [Jan Beulich]
483c6cd: honor MEMF_no_refcount in alloc_heap_pages() [Jan Beulich]
6616c4d: tools: libxl: Explicitly disable graphics backends on qemu cmdline [Ian Campbell]
d0b141e: x86/tboot: invalidate FIX_TBOOT_MAP_ADDRESS mapping after use [Jan Beulich]
902998e: x86emul: fully ignore segment override for register-only operations [Jan Beulich]
25c6ee8: pre-fill structures for certain HYPERVISOR_xen_version sub-ops [Aaron Adams]
7ef0364: x86/HVM: return all ones on wrong-sized reads of system device I/O ports [Jan Beulich]
3665563: tools/libxc: Don't leave scratch_pfn uninitialised if the domain has no memory [Andrew Cooper]
75ac8cf: x86/nmi: fix shootdown of pcpus running in VMX non-root mode [Andrew Cooper]
1e44c92: x86/hvm: explicitly mark ioreq server pages dirty [Paul Durrant]
2bfef90: x86/hvm: wait for at least one ioreq server to be enabled [Paul Durrant]
d976397: x86/VPMU: disable when NMI watchdog is on [Boris Ostrovsky]
84f2484: libxc: introduce a per architecture scratch pfn for temporary grant mapping [Julien Grall]
6302c61: Install libxlutil.h [Jim Fehlig]
d8e78d6: bunzip2: off by one in get_next_block() [Dan Carpenter]
8a855b3: docs/commandline: correct information for 'x2apic_phys' parameter [Andrew Cooper]
3a777be: x86: vcpu_destroy_pagetables() must not return -EINTR [Konrad Rzeszutek Wilk]
1acb3b6: handle XENMEM_get_vnumainfo in compat_memory_op [Wei Liu]
4eec09f: x86: correctly check for sub-leaf zero of leaf 7 in pv_cpuid() [Jan Beulich]
7788cbb: x86: don't expose XSAVES capability to PV guests [Jan Beulich]
4cfc54b: xsm/evtchn: never pretend to have successfully created a Xen event channel [Andrew Cooper]
2fdd521: common/memory: fix an XSM error path [Jan Beulich]
ad83ad9: x86emul: tighten CLFLUSH emulation [Jan Beulich]
1928318: dt-uart: use ':' as separator between path and options [Ian Campbell]
9ae1853: libxl: Don't ignore error when we fail to give access to ioport/irq/iomem [Julien Grall]
In addition, this release also contains the following fixes to qemu-traditional:
afaa35b: ... by default. Add a per-device "permissive" mode similar to pciback's to allow restoring previous behavior (and hence break security again, i.e. should be used only for trusted guests). [Jan Beulich]
3cff7ad: Since the next patch will turn all not explicitly described fields read-only by default, those fields that have guest writable bits need to be given explicit descriptors. [Jan Beulich]
ec61b93: The adjustments are solely to make the subsequent patches work right (and hence make the patch set consistent), namely if permissive mode (introduced by the last patch) gets used (as both reserved registers and reserved fields must be similarly protected from guest access in default mode, but the guest should be allowed access to them in permissive mode). [Jan Beulich]
37c77b8: xen_pt_emu_reg_pcie[]'s PCI_EXP_DEVCAP needs to cover all bits as read- only to avoid unintended write-back (just a precaution, the field ought to be read-only in hardware). [Jan Beulich]
2dc4059: This is just to avoid having to adjust that calculation later in multiple places. [Jan Beulich]
29d9566: xen_pt_pmcsr_reg_write() needs an adjustment to deal with the RW1C nature of the not passed through bit 15 (PCI_PM_CTRL_PME_STATUS). [Jan Beulich]
2e19270: There's no point in xen_pt_pmcsr_reg_{read,write}() each ORing PCI_PM_CTRL_STATE_MASK and PCI_PM_CTRL_NO_SOFT_RESET into a local emu_mask variable - we can have the same effect by setting the field descriptor's emu_mask member suitably right away. Note that xen_pt_pmcsr_reg_write() is being retained in order to allow later patches to be less intrusive. [Jan Beulich]
751d20d: Without this the actual XSA-131 fix would cause the enable bit to not get set anymore (due to the write back getting suppressed there based on the OR of emu_mask, ro_mask, and res_mask). [Jan Beulich]
51f3b5b: ... to avoid allowing the guest to cause the control domain's disk to fill. [Jan Beulich]
7f99bb9: It's being used by the hypervisor. For now simply mimic a device not capable of masking, and fully emulate any accesses a guest may issue nevertheless as simple reads/writes without side effects. [Jan Beulich]
6fc82bf: The old logic didn't work as intended when an access spanned multiple fields (for example a 32-bit access to the location of the MSI Message Data field with the high 16 bits not being covered by any known field). Remove it and derive which fields not to write to from the accessed fields' emulation masks: When they're all ones, there's no point in doing any host write. [Jan Beulich]
e42b84c: fdc: force the fifo access to be in bounds of the allocated buffer [Petr Matousek]
62e4158: xen: limit guest control of PCI command register [Jan Beulich]
3499745: cirrus: fix an uninitialized variable [Jan Beulich]
This release also contains the security fixes for XSA-117 to XSA-136, with the exception of XSA-124 which documents security risks of non-standard PCI device functionality that cannot be addressed in software. It also includes an update to XSA-98 and XSA-59.
Rdfind is a program that finds duplicate files. It is useful for compressing
backup directories or just finding duplicate files. It compares files based on
their content, not on their file names.
imported from wip (thanks to bartosz.kuzma for packaing there :)
Changes since 5.4.2:
* Build system: Ability to make out-of-tree builds has been fixed.
* Build system, Disk and Users plugins: Detection and use of libstatgrab
>=0.90 has been added.
* Build system, Memory, CPU, TCPConns and Processes plugins: Numerous
fixes related to OpenBSD support have been added.
* Build system: Plugins now only export "module_register()".
* Build system: Various cleanups and improvements have been done.
* collectd: Numerous internal changes and improvements to the daemon and
the plugin API have been make.
* collectd: Numerous spelling mistakes have been corrected in comments
and documentation and several error messages have been improved.
* collectd: Rules/Targets can now be appended to existing Filter Chains.
* collectd: Failing Filter Chains destinations will now log the list of
available write targets.
* collectd: Support for process signaling and management by upstart and
systemd has been implemented for the Linux platform.
* collectd: The "CollectInternalStats" option has been added.
* collectd: The daemon source code and dependencies have moved to the
"src/daemon/" directory.
* collectd: The new "MaxReadInterval" option allows to cap the
exponential retry interval of plugins read errors.
* collectd: The "-P" command-line option now has precedence over the
"PIDFile" option.
* collection.cgi: Various data-source related adjustments have been made.
* libcollectdclient: Now propagates errors when signing / encrypting
network packets.
* Configuration: Support for unquoted IPv6 addresses has been added.
* Documentation: Various improvements have been done.
* Examples: the sample C plugin has been updated to the current plugin API.
* Licensing: The following components have been relicensed to the MIT
license: the Apple Sensors, Ascent, DBI, E-Mail, Entropy, GenericJMX,
gmond, LogFile, nginx, Notify Desktop, NTPd, NUT, olsrd, Perl, Ping,
PostgreSQL, Protocols, RouterOS, RRDCacheD, SNMP, StatsD, SysLog,
Table, Tail, UnixSock, vmem, VServer, Wireless, Write Riemann and XMMS
plugins, the core collectd daemon, the collectdmon, collectd-nagios
and collectd-tg utilities, all the Targets and Matches, liboconfig,
most of the "utils_*" files and the plugin API.
* Tests: A test suite has been added.
* Threshold: The hysteresis calculation has been made more reliable.
* Threshold: Various fixes and improvements have been made.
* AMQP plugin: The "ConnectionRetryDelay" option has been added,
allowing to delay reconnection.
* AMQP plugin: The "QueueDurable" and "QueueAutoDelete" options have
been added, giving control over queue creation and deletion.
* Apache, Ascent, BIND, cURL, cURL-JSON, cURL-XML, nginx and Write HTTP
plugins: Customizing the "User-Agent" field is now possible at
compile-time.
* Apache, Ascent, BIND, cURL, cURL-JSON, cURL-XML, nginx plugins: The
connection will be reset if it hasn't completed within the configured
"Interval". The new "Timeout" option gives control over this behavior.
* Apache, Ascent, cURL, cURL-JSON, cURL-XML, nginx, Write HTTP plugins:
Allow usernames and passwords to contain colons if built against
libcurl >= 7.19.1.
* Apache plugin: The "SSLCiphers" option gives control over the
encryption algorithms to use with TLS connections.
* Barometer plugin: This new plugin reads sensor data from various
Freescale and Bosch digital barometers.
* Battery plugin: Reporting values as percentages and reporting degraded
batteries has been added.
* Battery plugin: Support for reading values from sysfs on Linux has
been added.
* Battery plugin: The value for current is no longer supplied unless the
battery provides this information.
* BIND plugin: Bind's XML v3 API is now supported.
* Ceph plugin: This new plugin collects statistics from the Ceph
distributed storage system.
* ConnTrack plugin: Support for reporting values as percentages as well
as legacy conntrack files in "/proc" has been added.
* CPU plugin: The plugin is now able to report values as percentages and
aggregate values per-state and per-CPU.
* cURL-JSON plugin: Extracting values from complex JSON structures has
been enhanced.
* cURL-JSON plugin: Intervals can now be configured on a per-URL basis.
* cURL-JSON, cURL-XML, Write HTTP plugins: These plugins now also follow
HTTP redirects.
* cURL, cURL-JSON, cURL-XML plugins: HTTP Digest authentication has been
implemented.
* DBI, Oracle, PostgreSQL plugins: A "MetadataFrom" parameter has been
added which allows to set metadata from database columns.
* DBI plugin: Querying several databases in parallel is now possible.
* Disk plugin: On the Linux platform, disk names can now get looked up
in udev with the "UdevNameAttr" option.
* Disk plugin: This plugin now collects several additional I/O-related
metrics on the Linux platform.
* DRBD plugin: This new plugin reads Linux's Distributed Replicated
Block Device (DRBD) statistics.
* Exec, UnixSock plugins: The "PUTNOTIF" command now allows to set
metadata on notifications.
* fhcount plugin: This new plugin reports the number of used file handles.
* GenericJMX plugin: A Class Loader for "JMXConnectorFactory" has been
added, allowing the plugin to work with JBOSS > 7.
* IPC plugin: This new plugin collects information related to shared memory.
* Java plugin: Now uses the hostname defined in the configuration file.
* Load plugin: The plugin is now able to report values as percentages.
* Log Logstash plugin: This new plugin writes collectd logs and events
as Logstash JSON formatted events.
* LVM plugin: The plugin collects thin pool data volumes size, and no
longer reports virtual volumes.
* memcached plugin: "listen_disabled_num" are now also reported.
* Memory plugin: Slab memory reporting on the Linux platform has been added.
* Memory plugin: The plugin is now able to report values as percentages.
* Modbus plugin: Selecting between holding and input registers is now
possible.
* Modbus plugin: Support for accessing devices through an RS-485 serial
port has been added.
* Multimeter plugin: This plugin isn't built by default on the AIX
platform anymore.
* MySQL and PostgreSQL plugins: Passing "127.0.0.1" as a host will now
result in the global Hostname being used in metric names.
* MySQL plugin: InnoDB, Select and Sort statistics collection has been added.
* MySQL plugin: The "Alias" and "ConnectTimeout" options have been added.
* Netlink plugin: Support for 64bit netlink counters has been added.
* Network plugin: The "ReconnectInterval" configuration option has been added.
* NFS plugin: Support for NFSv4.0 has been implemented.
* OneWire plugin: Support for more temperature-providing sensor families
has been added.
* OneWire plugin: Support for full OWFS path and more device families
has been implemented.
* OpenLDAP plugin: This new plugin reads monitoring information from
OpenLDAP's "cn=Monitor" subtree.
* OpenVPN plugin: Support for OpenVPN 2.3.0 has been implemented.
* OpenVZ plugin: Various improvements have been made, making the plugin
report values like the other collectd plugins do.
* Perl plugin: A new "listval_filter" method has been added, various
internal cleanups and improvements have been made and a test suite has
been added.
* PostgreSQL plugin: The new "ExpireDelay" option allows skipping older
values pending write when the database slows down.
* PowerDNS plugin: The plugin was updated for stats from pdns 3.4.3.
* Processes plugin: A memory-usage related optimization for low-profile
systems has been added.
* Python plugin: Support for Python3 has been improved, "ModulePath" is
now prepended to "sys.path", and the "get_dataset()" function has been
added to the Python API.
* Redis and Write_Redis plugins: The support library has been switched
from credis to hiredis.
* Redis plugin: Custom commands can now be used to fetch values stored
in Redis.
* Redis plugin: Support for passwords up to 512 characters long has been added.
* Sensors plugin: Support for lm_sensors' power sensors has been added.
* SMART plugin: This new plugin collects SMART statistics from disk drives.
* SNMP plugin: A blacklist/whitelist feature can now be used to filter
which OIDs to collect.
* SNMP plugin: SNMPv3 authentication and encryption support has been
implemented.
* SNMP plugin: Two error messages have been disambiguated.
* Swap plugin: The plugin is now able to report values as percentages.
* Swap plugin: The plugin no longer fails on Linux systems where
"SwapCached" isn't exposed by the kernel.
* Tail plugin: "GaugeInc" and "GaugeAdd" options have been implemented.
* Tail plugin: Intervals can now be configured on a per-File basis.
* TCPConns plugin: The "AllPortsSummary" option, allowing to summarize
all connections, has been added.
* TCPConns plugin: Three metrics were renamed on the AIX platform, for
the sake of consistency.
* Turbostat plugin: This new plugin reads CPU frequency and C-state
residency on modern Intel turbo-capable processors.
* UnixSock plugin: The "GETTHRESHOLD" command has been re-added.
* Varnish plugin: Varnish 4 support has been added, as well as as
monitoring metrics only available in Varnish 4.
* virt plugin: Guests memory usage is now also collected.
* virt plugin: It is now possible to chose between using guests' name or
UUID as plugin_instance.
* virt plugin: The libvirt plugin has been renamed to virt.
* Write Graphite plugin: When the connection to graphite fails,
reconnection attempts are now limited to once per second.
* Write HTTP plugin: Multi-instance support of this plugin has been
improved. The "<URL "url">" block has been deprecated in favor of
"<Node "identifier">".
* Write HTTP plugin: Several TLS-related configuration options have been
added.
* Write HTTP plugin: The "LowSpeedLimit" and "Timeout" options allow to
reset slow/stalled network connections.
* Write HTTP plugin: The size of the payload posted to the HTTP server
can now be controlled with the "BufferSize" option.
* Write Kafka plugin: This new plugin sends data to Apache Kafka, a
distributed messaging queue.
ciomaire, Vincent Bernat, Marc Fournier. #670, #694, #794, #853, #014
* Write Log plugin: This new plugin dispatches collected values to the
configured log destination(s).
* Write Riemann plugin: Extra meta strings are now added as attributes
in notifications.
* Write Riemann plugin: Notification message are now sent to the Riemann
server via the description field.
* Write Riemann plugin: Support for custom attributes has been added.
* Write Riemann plugin: Support had been implemented for sending events
to Riemann in batches (when using TCP), and is enabled by default.
* Write Riemann plugin: The "EventServicePrefix" option has been added,
which adds a prefix to event service names.
* Write Riemann plugin: Threshold checks can now be passed down to the
Riemann server.
* Write Sensu plugin: This new plugin submits values to Sensu, a stream
processing and monitoring system.
* Write TSDB plugin: This new plugin sends data to OpenTSDB, a scalable
time series database.
* ZFS ARC plugin: Support for ZFS-on-Linux has been added.
* Zookeeper plugin: This new plugin reads data from the Apache Zookeeper
"MNTR" command.
v2.10.0
@e2 e2 released this on 27 Mar, 6 commits to master since this release
Major changes
* #304 - lock to Cellulloid 0.16 (if you need Celluloid 0.15, use Listen 2.9.0 and ask for backports if necessary)
Bugfixes
* #301 - avoid BSD adapter crash when watched file doesn't exist
Improvements
* #303 - allow listen tool to watch multiple directories
Facter 2.4.4
Released May 20, 2015
Facter 2.4.4 is a bug fix release in the Facter 2.4 series. It also
deprecates the --puppet command line option, since it caused circular load
dependencies. To run Facter in Puppet’s context, you should use the puppet
facts command instead.
* FACT-96: Deprecate ‘facter –puppet’
* FACT-628: facter returns incorrect value for facter virtual for Solaris Ldoms
* FACT-697: If NetworkManager is installed but not used facter throws a warning.
* FACT-975: On PPC64LE architecture, processors aren’t detected
* FACT-963: Remove pre-suite environment setup for AIO
Facter 2.4.3
Released April 2, 2015
Facter 2.4.3 is an AIO support release in the Facter 2.4 series that also
includes two improvements to performance, and multiple bug fixes.
AIO External Facts Directory Change
Changed external facts directory from /opt/puppetlabs/agent/facts.d to
/opt/puppetlabs/facter/facts.d on *nix. Windows is unchanged.
* FACT-826: Prepend AIO external facts directory for root
Improvements to Performance and Speed
* Reduced calls to ip link show for
performance. Facter::Util:IP.get_interface_value called
get_bonding_interface for every possible value, which could have caused
performance issues if many interfaces were being used.
* Improved the speed of puppetversion in standalone Facter. There is no
notable difference when calling Facter while Puppet is already
running. Previously, running Facter with --timing showed that puppetversion
was by far the slowest fact. This was not true when executed by Puppet, but
gave the impression that Puppet is slow.
Bugs
* FACT-893: selinux_config_policy returns “unknown” on Debian and RHEL7
* FACT-596: Fix to selinux_config_policy, always returned “unknown” on
Debian and RHEL7.
* FACT-825: Default timeout for prtdiag in the ‘virtual’ fact is too low
for large Solaris systems
* FACT-830: xendomains returning empty on debian hosts
* FACT-834: Only load ec2 rest once to avoid double loading warnings
* FACT-888: Facter does not properly detect KVM when CPU type is not
qenu32/qumu64
* FACT-894: Prepend ~/.puppetlabs/opt/facter/facts.d to external search path
for non-root
* FACT-805: use /etc/os-release on CoreOS
Full List of Issues
See Jira for a full list of issues resolved in Facter 2.4.3.
Facter 2.4.2
Facter 2.4.2 was not publicly released, and no packages were provided.
Version 8.10.0 [v8-stable] 2015-05-19
- imfile: add capability to process multi-line messages based on regex
input parameter "endmsg.regex" was added for that purpose. The new
mode provides much more power in processing different multiline-formats.
- pmrfc3164: add new parameters
* "detect.yearAfterTimestamp"
This supports timestamps as generated e.g. by some Aruba Networks
equipment.
* "permit.squareBracesInHostname"
Permits to use "hostnames" in the form of "[127.0.0.1]"; also seen in
Aruba Networks equipment, but we strongly assume this can also happen
in other cases, especially with IPv6.
- supplementary groups are now set when dropping privileges
closes https://github.com/rsyslog/rsyslog/issues/296
Thanks to Zach Lisinski for the patch.
- imfile: added brace glob expansion to wildcard
Thanks to Zach Lisinski for the patch.
- zmq: add the ability for zeromq input and outputs to advertise their
presence on UDP via the zbeacon API.
Thanks to Brian Knox for the contribution.
- added omhttpfs: contributed module for writing to HDFS via HTTP
Thanks to sskaje for the contribution.
- Configure option "--disable-debug-symbols" added which is disabled per
default. If you set the new option, configure won't set the appropriate
compiler flag to generate debug symbols anymore.
- When building from git source we now require rst2man and yacc (or a
replacement like bison).
That isn't any new requirement, we only added missing configure checks.
- Configure option "--enable-generate-man-pages" is now disabled for non git
source builds per default but enforced when building from git source.
- mmpstrucdata: some code cleanup
removed lots of early development debug outputs
- bugfix imuxsock: fix a crash when setting a hostname
Setting a hostname via the legacy directive would lead to a crash
during shutdown caused by a double-free.
Thanks to Tomas Heinrich for the patch.
- bugfix: memory leak in mmpstrucdata
Thanks to Gregoire Seux for reporting this issue.
closes https://github.com/rsyslog/rsyslog/issues/310
- bugfix (minor): default action name: assigned number was one off
see also https://github.com/rsyslog/rsyslog/pull/340
Thanks to Tomas Heinrich for the patch.
- bugfix: memory leak in imfile
A small leak happened each time a new file was monitored based on
a wildcard. Depending on the rate of file creation, this could result
in a serious memory leak.
Privilege escalation via emulated floppy disk drive
The code in qemu which emulates a floppy disk controller did not
correctly bounds check accesses to an array and therefore was
vulnerable to a buffer overflow attack.
A guest which has access to an emulated floppy device can exploit this
vulnerability to take over the qemu process elevating its privilege to
that of the qemu process.
All Xen systems running x86 HVM guests without stubdomains are
vulnerable to this depending on the specific guest configuration. The
default configuration is vulnerable.
Guests using either the traditional "qemu-xen" or upstream qemu device
models are vulnerable.
Guests using a qemu-dm stubdomain to run the device model are only
vulnerable to takeover of that service domain.
Systems running only x86 PV guests are not vulnerable.
ARM systems are not vulnerable.
Change logs:
1.6.10
======
- Do not track thunar/thunar-marshal.{c,h} (Harald Judt)
- Remove Makefile and Makefile.in files when running distclean (Harald Judt)
- Remove subversion $Id$ tags (Harald Judt)
- Really fix trash state at startup (bug #9513 and #11913) (Harald Judt)
- Use proper return type for thunar_file_reload (bug #11913) (Harald Judt)
- Revert "Fix loading the trash bin status at startup (bug #9513)" (Harald Judt)
1.6.9
=====
- Fix ThunarBulkRename script not supporting spaces (bug #9713) (Harald Judt)
- Use "Name" column for drag & drop instead of first column (bug #11905) (Harald Judt)
- Update the path entry icon when current file changes (Harald Judt)
- Revert changes for restoring the trash in the session client (bug #9513) (Harald Judt)
- Fix loading the trash bin status at startup (bug #9513) (Harald Judt)
- Turn off building gtk-docs API reference (Harald Judt)
- Fix cppcheck warning about uninitialized variable (Harald Judt)
- Disable "Set as default application" by default in the chooser dialog (bug #10548) (Harald Judt)
- Remember chosen application in the chooser dialog as last used (Harald Judt)
- Remember the last used application when opening files (Harald Judt)
- Fix reload when file is replaced with directory of the same name (Harald Judt)
- Do listen for G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED (bug #11896) (Harald Judt)
- Fix comments for toggle-menubar (Harald Judt)
- Allow opening by middle-click in tree view only for mounted devices and resources (Harald Judt)
- Keep selection in original tree view when middle-clicking for new tab/window (Harald Judt)
- Keep path selected after unmounting a device via KEY_Left (Harald Judt)
- Unmount device if collapsing a collapsed device tree with KEY_Left in the tree view (Harald Judt)
- Fix wrong network icon shown in tree view (Harald Judt)
- Fix tree view opening mounted devices in new tab (Harald Judt)
- Use only open selection instead of open action with KEY_Up and KEY_Down (Harald Judt)
- Fix assertion when hitting KEY_Left on a top-level item in the tree view (Harald Judt)
- Revert workaround for desktop toplevel item in the tree view (Harald Judt)
- Always select the proper toplevel item in the thunar tree view (Harald Judt)
- Unescape URI in history error message (Harald Judt)
- Remove unmounted files from history when going back or forward (Harald Judt)
- Translation updates: Basque, French, Galician
Version 0.16
------------
(bugfix release, released on May 16, 2015)
- Fix typo preventing the security confirmation prompt from working (#303)
- Improve handling of systems with improperly configured file system encoding (#289)
- Fix "All archives" output for attic info. (#183)
- More user friendly error message when repository key file is not found (#236)
- Fix parsing of iso 8601 timestamps with zero microseconds (#282)
1.6.8
- Watch for CHANGES_DONE_HINT instead of CHANGED and ATTRIBUTE_CHANGED =
(bug #8377) (Harald Judt)
- Shortcut view: Fix "selection in selection" graphical bug when =
renaming shortcut (Harald Judt)
- Fix broken shortcut renaming (bug #11885) (Harald Judt)
- Unescape URIs in the shortcut view (bug #10831) (Harald Judt)
- Fix compiler warning because of missing curly braces (Harald Judt)
- Fix compilation error because of wrong variable name (Harald Judt)
- Fix unescaping of local paths in path entry (bug #8190) (Harald Judt)
- Fix escaping and unescaping URI in path entry (bug #8910) (Harald =
Judt)
- Let the tree view keep the focus when clicking on an item (bug #11863) =
(Harald Judt)
- Fix switching to the 10th tab via <alt>-<0> keyboard shortcut (Harald =
Judt)
- Fix removal of a directory wrongly affecting the current tab (bug =
#10981) (Harald Judt)
- Keep the scroll position when restoring the file selection (Harald =
Judt)
- Restore selection only when rows-reordered signal is received (bug =
#11855) (Harald Judt)
- For folders copied always append "copy #" to the end of their names =
(bug #11862) (Harald Judt)
- Update F5 binding for new ThunarWindow::reload signal (Evangelos =
Foutras)
- Do not perform the complete folder reload in idle (bug #11849) (Harald =
Judt)
- Coverity CID 60623: Unused value (Harald Judt)
- Coverity CID 60621: Missing return statement (Harald Judt)
- Coverity CID 60620: Explicit null dereferenced (Harald Judt)
- Coverity CID 60619: Explicit null dereferenced (Harald Judt)
- Coverity CID 60617: Unchecked return value (Harald Judt)
- Remove unused variable in thunar_standard_view_set_history (Harald =
Judt)
- Remove startup notification dependencies (bug #11837) (Harald Judt)
- Translation updates: Galician, German, Lithuanian
1.6.7
=====
- Improve drag & drop and selecting in the details view (bug #11605) (Harald Judt)
- Let row changes accumulate a bit before restoring selection (Harald Judt)
- Implement reloading file information on manual reload (Harald Judt)
- Extend reload functions to allow a full reload (Harald Judt)
- Check in thunar-marshal with new _thunar_marshal_BOOLEAN__BOOLEAN (Harald Judt)
- Reload files changed by jobs in an idle loop (bug #11008) (Harald Judt)
- Refactor code for moving thumbnail cache file on renames/moves (Harald Judt)
- Rework thunar_file_monitor to properly register moved files (Harald Judt)
- Add function to reload parent file of a file (Harald Judt)
- Fix updating file info for moved files (bug #11008) (Harald Judt)
- Revert "Refresh file info after getting it from cache (bug #11008)" (Harald Judt)
- Update the location bar after reload (bug #10518) (Harald Judt)
- Fix updating custom actions (bug #11749) (Harald Judt)
- Update rows on changes of case-sensitive and folders-first settings (Harald Judt)
- Fix typos and grammar mistakes in a few comments (Harald Judt)
- Make new windows inherit the history of the origin view (bug #5538) (Harald Judt)
- Make new tabs inherit the history of the origin view (bug #5538) (Harald Judt)
- Keep the history across view changes (bug #10171) (Harald Judt)
- Implement functions for copying the history of a view (Harald Judt)
- Rename tsv_restore_selection to tsv_select_after_row_deleted (Harald Judt)
- Redraw the details view on row changes (Harald Judt)
- Restore selection on row changes too (bug #9886) (Harald Judt)
- Improve mouse wheel zoom behaviour (Harald Judt)
- Remember and restore file selection on view changes (Harald Judt)
- Restore file selection when changing sort order (bug #9886) (Harald Judt)
- Update model with changed binary file size setting immediately (Harald Judt)
- Fix typo busy_pulse in thunar-shortcuts-model.c (Harald Judt)
- Fix typo in thunar-clipboard-manager (Harald Judt)
- Fix Gdk-CRITICAL error (Thaddaeus Tintenfisch)
- Clean up more files with make clean (Harald Judt)
- Rework usage of binary file size properties (bug #11450) (Harald Judt)
- Remove duplicate break statement in thunar-standard-view (Harald Judt)
- Fix compiler warning about shadowing 'basename' (bug #11633) (Matt Thirtytwo)
- thunar/thunar-dbus-service-infos.xml corrections (Thaddaeus Tintenfisch)
- Fix startup id handling for launch requests over D-Bus (bug #9646) (Thaddaeus Tintenfisch)
- Fallback to non-cached version of source file (bug #9142) (Thaddaeus Tintenfisch)
- Translation updates: Chinese (China), Croatian, English (Australia), French, German,
Greek, Italian, Lithuanian, Polish, Swedish, Ukrainian
D-Bus 1.8.18 (2015-05-14)
==
The “unicorn rifts” release.
Security hardening:
• On Unix platforms, change the default configuration for the session bus
to only allow EXTERNAL authentication (secure kernel-mediated
credentials-passing), as was already done for the system bus.
This avoids falling back to DBUS_COOKIE_SHA1, which relies on strongly
unpredictable pseudo-random numbers; under certain circumstances
(/dev/urandom unreadable or malloc() returns NULL), dbus could
fall back to using rand(), which does not have the desired unpredictability.
The fallback to rand() has not been changed in this stable-branch since
the necessary code changes for correct error-handling are rather intrusive.
If you are using D-Bus over the (unencrypted!) tcp: or nonce-tcp: transport,
in conjunction with DBUS_COOKIE_SHA1 and a shared home directory using
NFS or similar, you will need to reconfigure the session bus to accept
DBUS_COOKIE_SHA1 by commenting out the <auth> element. This configuration
is not recommended.
(fd.o #90414, Simon McVittie)
Other fixes:
• Add locking to DBusCounter's reference count and notify function
(fd.o #89297, Adrian Szyndela)
• Ensure that DBusTransport's reference count is protected by the
corresponding DBusConnection's lock (fd.o #90312, Adrian Szyndela)
• On Windows, listen on the same port for IPv4 and IPv6 (previously
broken by an endianness mistake), and fix a failure to bind TCP
sockets on approximately 1 attempt in 256 (fd.o #87999, Ralf Habacker)
• Correctly release DBusServer mutex before early-return if we run out
of memory while copying authentication mechanisms (fd.o #90004,
Ralf Habacker)
• Fix some missing \n in verbose (debug log) messages (fd.o #90004,
Ralf Habacker)
• Clean up some memory leaks in test code (fd.o #90004, Ralf Habacker)
1.6.0 - 15 March 2015
fix lstat64 support when unavailable - separate patches supplied by
Ganael Laplanche and Peter Korsgaard
(#1506) new option "-D" / "--delay-start" to only show bar after N
seconds (Damon Harper)
new option "--fineta" / "-I" to show ETA as time of day rather than
time remaining - patch supplied by Erkki Seppälä (r147)
(#1509) change ETA (--eta / -e) so that days are given if the hours
remaining are 24 or more (Jacek Wielemborek)
(#1499) repeat read and write attempts on partial buffer fill/empty to
work around post-signal transfer rate drop reported by Ralf Ramsauer
(#1507) do not try to calculate total size in line mode, due to bug
reported by Jacek Wielemborek and Michiel Van Herwegen
cleanup: removed defunct RATS comments and unnecessary copyright
notices
clean up displayed lines when using --watchfd PID, when PID exits
output errors on a new line to avoid overwriting transfer bar
Changes in older releases :
new option --watchfd
new option --null
new option --skip-errors
new option --format
new option --remote (-R) to control an already-running process
new option --line-mode (-l) to count lines instead of bytes
Fixes for AIX, Cygwin, Solaris, MacOSX
Change license to Artistic 2.0
- Drop patches/patch-lib_parse-datetime.c (the comment of the patch was)
| Fix CVE-2014-9471 TZ parsing bug.
| Via https://debbugs.gnu.org/cgi/bugreport.cgi?bug=16872
- Set MAKE_JOBS_SAFE= no, to avoid following problem
# --- man/chroot.1 ---
# GEN man/chroot.1
# help2man: can't get `--help' info from chroot.td/chroot
# Try `--no-discard-stderr' if option outputs to stderr
# *** [man/chroot.1] Error code 127
(upstream)
- update to 8.23
------------------
* Noteworthy changes in release 8.23 (2014-07-18) [stable]
** Bug fixes
chmod -Rc no longer issues erroneous warnings for files with special bits set.
[bug introduced in coreutils-6.0]
cp -a, mv, and install --preserve-context, once again set the correct SELinux
context for existing directories in the destination. Previously they set
the context of an existing directory to that of its last copied descendent.
[bug introduced in coreutils-8.22]
cp -a, mv, and install --preserve-context, no longer seg fault when running
with SELinux enabled, when copying from file systems that return an error
when reading the SELinux context for a file.
[bug introduced in coreutils-8.22]
cp -a and mv now preserve xattrs of symlinks copied across file systems.
[bug introduced with extended attribute preservation feature in coreutils-7.1]
date could crash or go into an infinite loop when parsing a malformed TZ="".
[bug introduced with the --date='TZ="" ..' parsing feature in coreutils-5.3.0]
dd's ASCII and EBCDIC conversions were incompatible with common practice and
with POSIX, and have been corrected as follows. First, conv=ascii now
implies conv=unblock, and conv=ebcdic and conv=ibm now imply conv=block.
Second, the translation tables for dd conv=ascii and conv=ebcdic have been
corrected as shown in the following table, where A is the ASCII value, W is
the old, wrong EBCDIC value, and E is the new, corrected EBCDIC value; all
values are in octal.
A W E
041 117 132
133 112 255
135 132 275
136 137 232
174 152 117
176 241 137
313 232 152
325 255 112
345 275 241
[These dd bugs were present in "the beginning".]
df has more fixes related to the newer dynamic representation of file systems:
Duplicates are elided for virtual file systems like tmpfs.
Details for the correct device are output for points mounted multiple times.
Placeholder values are output for inaccessible file systems, rather than
than error messages or values for the wrong file system.
[These bugs were present in "the beginning".]
df now outputs all appropriate entries in the presence of bind mounts.
On some systems, entries would have been incorrectly elided due to
them being considered "dummy" mounts.
[bug introduced in coreutils-8.22]
du now silently ignores directory cycles introduced with bind mounts.
Previously it would issue a warning and exit with a failure status.
[bug introduced in coreutils-8.1]
head --bytes=-N and --lines=-N now handles devices more
consistently, not ignoring data from virtual devices like /dev/zero,
or on BSD systems data from tty devices.
[bug introduced in coreutils-5.0.1]
head --bytes=-N - no longer fails with a bogus diagnostic when stdin's
seek pointer is not at the beginning.
[bug introduced with the --bytes=-N feature in coreutils-5.0.1]
head --lines=-0, when the input does not contain a trailing '\n',
now copies all input to stdout. Previously nothing was output in this case.
[bug introduced with the --lines=-N feature in coreutils-5.0.1]
id, when invoked with no user name argument, now prints the correct group ID.
Previously, in the default output format, it would print the default group ID
in the password database, which may be neither real nor effective. For e.g.,
when run set-GID, or when the database changes outside the current session.
[bug introduced in coreutils-8.1]
ln -sf now replaces symbolic links whose targets can't exist. Previously
it would display an error, requiring --no-dereference to avoid the issue.
[bug introduced in coreutils-5.3.0]
ln -sr '' F no longer segfaults. Now works as expected.
[bug introduced with the --relative feature in coreutils-8.16]
numfmt now handles blanks correctly in all unibyte locales. Previously
in locales where character 0xA0 is a blank, numfmt would mishandle it.
[bug introduced when numfmt was added in coreutils-8.21]
ptx --format long option parsing no longer falls through into the --help case.
[bug introduced in TEXTUTILS-1_22i]
ptx now consistently trims whitespace when processing multiple files.
[This bug was present in "the beginning".]
seq again generates correct output with start or end values = -0.
[bug introduced in coreutils-8.20.]
shuf --repeat no longer dumps core if the input is empty.
[bug introduced with the --repeat feature in coreutils-8.22]
sort when using multiple threads now avoids undefined behavior with mutex
destruction, which could cause deadlocks on some implementations.
[bug introduced in coreutils-8.6]
tail -f now uses polling mode for VXFS to cater for its clustered mode.
[bug introduced with inotify support added in coreutils-7.5]
** New features
od accepts a new option: --endian=TYPE to handle inputs with different byte
orders, or to provide consistent output on systems with disparate endianness.
configure accepts the new option --enable-single-binary to build all the
selected programs in a single binary called "coreutils". The selected
programs can still be called directly using symlinks to "coreutils" or
shebangs with the option --coreutils-prog= passed to this program. The
install behavior is determined by the option --enable-single-binary=symlinks
or --enable-single-binary=shebangs (the default). With the symlinks option,
you can't make a second symlink to any program because that will change the
name of the called program, which is used by coreutils to determine the
desired program. The shebangs option doesn't suffer from this problem, but
the /proc/$pid/cmdline file might not be updated on all the platforms. The
functionality of each program is not affected but this single binary will
depend on all the required dynamic libraries even to run simple programs.
If you desire to build some tools outside the single binary file, you can
pass the option --enable-single-binary-exceptions=PROG_LIST with the comma
separated list of programs you want to build separately. This flag
considerably reduces the overall size of the installed binaries which makes
it suitable for embedded system.
** Changes in behavior
chroot with an argument of "/" no longer implicitly changes the current
directory to "/", allowing changing only user credentials for a command.
chroot --userspec will now unset supplemental groups associated with root,
and instead use the supplemental groups of the specified user.
cut -d$'\n' again outputs lines identified in the --fields list, having
not done so in v8.21 and v8.22. Note using this non portable functionality
will result in the delayed output of lines.
ls with none of LS_COLORS or COLORTERM environment variables set,
will now honor an empty or unknown TERM environment variable,
and not output colors even with --colors=always.
** Improvements
chroot has better --userspec and --group look-ups, with numeric IDs never
causing name look-up errors. Also look-ups are first done outside the chroot,
in case the look-up within the chroot fails due to library conflicts etc.
install now allows the combination of the -D and -t options.
numfmt supports zero padding of numbers using the standard printf
syntax of a leading zero, for example --format="%010f".
Also throughput was improved by up to 800% by avoiding redundant processing.
shred now supports multiple passes on GNU/Linux tape devices by rewinding
the tape before each pass, avoids redundant writes to empty files,
uses direct I/O for all passes where possible, and attempts to clear
inode storage used for small files on some file systems.
split avoids unnecessary input buffering, immediately writing input to output
which is significant with --filter or when writing to fifos or stdout etc.
stat and tail work better with HFS+, HFSX, LogFS and ConfigFS. stat -f
--format=%T now reports the file system type, and tail -f now uses inotify,
rather than the default of issuing a warning and reverting to polling.
Alan Coopersmith (1):
libpciaccess 0.13.4
Chih-Wei Huang (1):
Add missing guards around config.h inclusion
Eero Tamminen (1):
Check for __linux__ instead of linux during compilation
Emil Velikov (2):
Include the POSIX fcntl.h instead of sys/fcntl.h
Include config.h before any other headers.
Tobias Nygren (1):
Bug 89151: Fix build on NetBSD/alpha and NetBSD/sparc64.
This version primarily fixes bugs, but it includes a few new features,
and hopefully will provide a solid base for 0.28, which may finally
include rm/gc support.
Of note since 0.26:
- Files can be restored sparsely via "restore --sparse". See
bup-sparse(1) for the details. Given that this option is
completely new and affects the data written, some
caution/verification may be wise (i.e. there were bugs in some of
the development revisions that could mangle the output).
- Duplicity backups can be imported via the *experimental* command
"bup import-duplicity". Please exercise caution, and let us know
if you have any trouble.
- Tests can be run in parallel now via "make -j check".
As before, the metadata support is somewhat immature, but it seems to
be holding up fairly well. Though we still need to add better support
for cross-filesystem-type save/restore (which can be too noisy), etc.
cdrtools-3.01a25:
All:
- Fixed a typo in autoconf/xconfig.h.in that caused the Win-DOS function
LoadLibrary() not to be recognised correctly.
- Added compile support for: amd64-freebsd-clang*.rul
- include/schily/unistd.h now extends some exceptions to work around
problems with the MS C-compiler to MinGW32.
Libschily:
- libschily/faccessat.c with a faccessat() was added. This has been forgotten
when the *at() functions have been implemented.
- libschily/eaccess.c no longer calls access() in case the the OS does not
implement eaccess() but rather first checks whether uid == euid and gid == egid.
- libschily/eaccess.c compiles again in HP-UX using the HP C-compiler
- libschily/dlfcn.c new file to emulate dlopen() and friends on Win-DOS
and HP-UX
- libschily/lchmod.c was added
- libschily/fchmodat.c no longer contains lchmod()
- The linker mapfile libschily/libschily-mapvers now correctly
makes the entry faccessat() depend on HAVE_FACCESSAT
Cdda2wav (Maintained/enhanced by Jörg Schilling, originated by Heiko Eißfeldt heiko@hexco.de):
- Flush stderr before a question in cdda2wav. This is a workaround
for a Linux libc bug (stderr must be unbuffered acording to the
standard).
Mkisofs (Maintained/enhanced by Jörg Schilling since 1997, originated by Eric Youngdale):
- Fixed a bug in mkisofs: -eltorito-platform Mac no longer uses the
constant EL_TORITO_ARCH_PPC but EL_TORITO_ARCH_MAC as expected.
Thanks to Ady <ady-sf@hotmail.com> for reporting.
- Fixed an option parsing bug in mkisofs that was a result from
option names that are beginning substrings of others. Mkisofs did
try to fix this in 2006, but it seems that one option was missed
in 2006. Now -hide-hfs was fixed, thanks to: Valery Ushakov
cdrtools-3.01a26:
All:
- Various README's, scripts and man pages have been revised to replace
berlios.de by sourceforge.net
Note that some files have not yet been completely updated for that
change as there is no easy way to deal with a site like sourceforge
that does not support ftp:
./conf/src-get
./conf/setup.sh
Because we now assume that any UNIX distro includes a ftp(1) program,
but we cannot assume that there is wget.
cdrtools-3.01a27:
All:
- include/schily//dlfcn.h now includes a #define HAVE_LOADABLE_LIBS
in case we compile on a system that implements runtime loadable
libraries and that libschily implements an adoption for this
local method to the POSIX dlopen()/dlsym()/dlclose(). This is currently
true for Solaris (and similar) that implement dlopen()/dlsym()/dlclose()
natively and for HP-UX and Win-DOS.
Mkisofs (Maintained/enhanced by Jörg Schilling since 1997, originated by Eric Youngdale):
- The mkisofs program isoinfo no longer tries to print Rock Ridge
attribute data for ISO images that do not have correct RR data.
- The mkisofs program isovfy no longer tries to print Rock Ridge
attribute data for ISO images that do not have correct RR data.
- The mkisofs program isodump no longer tries to print Rock Ridge
attribute data for ISO images that do not have correct RR data.
This is a result from trying to use these programs on the
plan9 CD image.
cdrtools-3.01a28:
All:
- The makefile rules for installing man pages have been changed so that
OBJ/<archdir>/man/ is no longer a direct dependency of the man page.
This results in repeated "make install" calls not to reinstall
up-to-date man pages again.
- The makefile rules for installing localized sripts have been changed so
hat OBJ/<archdir>/ is no longer a direct dependency of the man page.
This results in repeated "make install" calls not to reinstall
up-to-date scripts again.
- New autoconf test checks whether printf() supports %z
- Some documentation now mentions sourceforge instead of BerliOS
- README.compile now mentions how to use instrumented compilers with
the Schily Makefilesystem.
Libschily:
- strlcatl() wcslcatl(): new functions
- libschily::linkat.c now manually null-terminates the result from
resolvepath() as the Solaris syscall implementation does not
null-terminate it in all cases.
- libschily::resolvepath.c comment added to remind on the fact that
in contrary to out implementation the Solaris resolvepath() syscall
does not null-terminate the buffer.
Mkisofs (Maintained/enhanced by Jörg Schilling since 1997, originated by Eric Youngdale):
- mkisofs: isodump did not compile on non c99 compilers.
- Drop patch-af and patch-ag, both now included
(upstream)
- Update 1.2.2 -> 1.3.0
~~~~~~~~~~~~~~
15/1/2011 - Added reverse telnet server.
- Hopefully fixed masterpty client.
- Don't abuse POLLHUP.
- Support insertion of a short inter-character delay for tty
output to slow devices. (experimental).
- Add an 'exclusive' client property which, when connected, will
prevent input/output for all other connected clients.
Provide a way to specify an additional client which can
override this restriction.
- Add a timer option for exclusive clients. If they don't send
any data for a specified number of seconds, they lose their
exclusive status until they start sending again.
- New feature: Support for hot-pluggable tty(4) devices such as
USB-Serial adapters/modems. If 'pluggable true;' is specified
in the configuration file, then treat errors while
reading/writing the tty device as non-fatal. We will try to
re-open the device periodically as long as there are connected
clients. We will not disconnect clients in this case, but any
input from them will be discarded while the tty device is
unavailable.
- Pull in patches for DragonflyBSD, via pkgsrc.
- Convert to MASTER_SITE_GITHUB, thanks tnn
- Add SUBST to set VARBASE for WATCHMAN_STATE_DIR
(upstream)
- Update 3.0.0 to 3.1
.. ChangeLog doesn't seem to be available
This is a very large change, and incorporates the 4.8, 4.10, and 4.12 major
Xfce releases since 4.6.2, our previous pkgsrc release. For more information
about the thousands of changes in each major release since then, please see:
Xfce 4.12 announcement:
http://www.xfce.org/about/news
Xfce 4.12 tour:
http://www.xfce.org/about/tour
Xfce 4.10 announcement:
http://www.xfce.org/about/news/?post=1335571200
Xfce 4.10 tour:
http://www.xfce.org/about/tour410
Xfce 4.8 announcement:
http://www.xfce.org/about/news/?post=1295136000
Xfce 4.8 tour:
http://www.xfce.org/about/tour48
The pkgsrc changes since then are:
New packages:
archivers/xfce4-thunar-archive
graphics/elementary-xfce-icon-theme
mail/xfce4-mailwatch-plugin
misc/xfce4-time-out-plugin
multimedia/xfce4-thunar-media-tags
sysutils/xfce4-mount-plugin
sysutils/xfce4-taskmanager
sysutils/xfce4-thunar-vcs
sysutils/xfce4-verve-plugin
x11/xfce4-garcon
x11/xfce4-notifyd
x11/xfce4-tumbler
x11/xfce4-whiskermenu-plugin
Renamed packages:
devel/xfconf to devel/xfce4-conf
x11/libxfce4menu to x11/libxfce4ui
x11/xfce4-screenshooter-plugin to x11/xfce4-screenshooter
Updated packages:
audio/xfce4-mixer
audio/xfce4-xmms-plugin
devel/xfce4-dev-tools
editors/xfce4-mousepad
graphics/ristretto
meta-pkgs/xfce4-extras
meta-pkgs/xfce4
misc/xfce4-weather-plugin
multimedia/xfce4-mpc-plugin
net/xfce4-wavelan-plugin
sysutils/xfce4-appfinder
sysutils/xfce4-battery-plugin
sysutils/xfce4-cpugraph-plugin
sysutils/xfce4-diskperf-plugin
sysutils/xfce4-fsguard-plugin
sysutils/xfce4-genmon-plugin
sysutils/xfce4-netload-plugin
sysutils/xfce4-quicklauncher-plugin
sysutils/xfce4-systemload-plugin
sysutils/xfce4-thunar
sysutils/xfce4-xarchiver
sysutils/xfce4-xkb-plugin
textproc/xfce4-dict-plugin
time/xfce4-datetime-plugin
time/xfce4-orage
time/xfce4-timer-plugin
wm/xfce4-wm-themes
wm/xfce4-wm
x11/libxfce4gui
x11/libxfce4util
x11/xfce4-clipman-plugin
x11/xfce4-desktop
x11/xfce4-exo
x11/xfce4-eyes-plugin
x11/xfce4-gtk2-engine
x11/xfce4-notes-plugin
x11/xfce4-panel
x11/xfce4-places-plugin
x11/xfce4-session
x11/xfce4-settings
x11/xfce4-terminal
Removed packages:
sysutils/xfce4-volman
x11/xfce4-utils
This is based on a huge amount of work by the NetBSDfr team and Youri Mouton,
who takes over as MAINTAINER, and has been tested by Youri on a large number
of platforms prior to commit. A massive thanks to them. Any issues with the
import are mine alone as the committer-by-proxy.
Rebuild OS version status each time rc.d script is run rather than using a
cached copy to ensure that OS updates are reported correctly.
Display all IPv4 and IPv6 addresses for vifs in XenCenter, not just first.
GNU coreutils's configure script will abort if ran as root. Although
pkgsrc can do that step under an unprivilegied user, there are still
situations, such as pkg_comp bulk builds, where the common usage is
to run as root. We therefore override configure's root check by setting
FORCE_UNSAFE_CONFIGURE in the environement.
----------------------------------------
10 April 2015. Summary of changes for version 20150410:
Reverted a change introduced in version 20150408 that caused
a regression in the disassembler where incorrect operator
symbols could be emitted.
----------------------------------------
08 April 2015. Summary of changes for version 20150408:
1) ACPICA kernel-resident subsystem:
Permanently set the return value for the _REV predefined name. It now
returns 2 (was 5). This matches other ACPI implementations. _REV will be
deprecated in the future, and is now defined to be 1 for ACPI 1.0, and 2
for ACPI 2.0 and later. It should never be used to differentiate or
identify operating systems.
Added the "Windows 2015" string to the _OSI support. ACPICA will now
return TRUE to a query with this string.
Fixed several issues with the local version of the printf function.
Added the C99 compiler option (-std=c99) to the Unix makefiles.
Current Release:
Non-Debug Version: 99.9K Code, 27.4K Data, 127.3K Total
Debug Version: 195.2K Code, 80.7K Data, 275.9K Total
Previous Release:
Non-Debug Version: 98.8K Code, 27.3K Data, 126.1K Total
Debug Version: 192.1K Code, 79.8K Data, 271.9K Total
2) iASL Compiler/Disassembler and Tools:
iASL: Implemented an enhancement to the constant folding feature to
transform the parse tree to a simple Store operation whenever possible:
Add (2, 3, X) ==> is converted to: Store (5, X)
X = 2 + 3 ==> is converted to: Store (5, X)
Updated support for the SLIC table (Software Licensing Description Table)
in both the Data Table compiler and the disassembler. The SLIC table
support now conforms to "Microsoft Software Licensing Tables (SLIC and
MSDM). November 29, 2011. Copyright 2011 Microsoft". Note: Any SLIC data
following the ACPI header is now defined to be "Proprietary Data", and as
such, can only be entered or displayed as a hex data block.
Implemented full support for the MSDM table as described in the document
above. Note: The format of MSDM is similar to SLIC. Any MSDM data
following the ACPI header is defined to be "Proprietary Data", and can
only be entered or displayed as a hex data block.
Implemented the -Pn option for the iASL Table Compiler (was only
implemented for the ASL compiler). This option disables the iASL
preprocessor.
Disassembler: For disassembly of Data Tables, added a comment field
around the Ascii equivalent data that is emitted as part of the "Raw
Table Data" block. This prevents the iASL Preprocessor from possible
confusion if/when the table is compiled.
Disassembler: Added an option (-df) to force the disassembler to assume
that the table being disassembled contains valid AML. This feature is
useful for disassembling AML files that contain ACPI signatures other
than DSDT or SSDT (such as OEMx or other signatures).
Changes for the EFI version of the tools:
1) Fixed a build error/issue
2) Fixed a cast warning
iASL: Fixed a path issue with the __FILE__ operator by making the
directory prefix optional within the internal SplitInputFilename
function.
Debugger: Removed some unused global variables.
Tests: Updated the makefile for proper generation of the AAPITS suite.
----------------------------------------
04 February 2015. Summary of changes for version 20150204:
ACPICA kernel-resident subsystem:
Updated all ACPICA copyrights and signons to 2014. Added the 2014
copyright to all module headers and signons, including the standard Linux
header. This affects virtually every file in the ACPICA core subsystem,
iASL compiler, all ACPICA utilities, and the test suites.
Events: Introduce ACPI_GPE_DISPATCH_RAW_HANDLER to fix GPE storm issues.
A raw gpe handling mechanism was created to allow better handling of GPE
storms that aren't easily managed by the normal handler. The raw handler
allows disabling/renabling of the the GPE so that interrupt storms can be
avoided in cases where events cannot be timely serviced. In this
scenario, handlers should use the AcpiSetGpe() API to disable/enable the
GPE. This API will leave the reference counts undisturbed, thereby
preventing unintentional clearing of the GPE when the intent in only to
temporarily disable it. Raw handlers allow enabling and disabling of a
GPE by removing GPE register locking. As such, raw handlers much provide
their own locks while using GPE API's to protect access to GPE data
structures.
Lv Zheng
Events: Always modify GPE registers under the GPE lock.
Applies GPE lock around AcpiFinishGpe() to protect access to GPE register
values. Reported as bug by joe.liu@apple.com.
Unix makefiles: Separate option to disable optimizations and
_FORTIFY_SOURCE. This change removes the _FORTIFY_SOURCE flag from the
NOOPT disable option and creates a separate flag (NOFORTIFY) for this
purpose. Some toolchains may define _FORTIFY_SOURCE which leads redefined
errors when building ACPICA. This allows disabling the option without
also having to disable optimazations.
David Box
Current Release:
Non-Debug Version: 101.7K Code, 27.9K Data, 129.6K Total
Debug Version: 199.2K Code, 82.4K Data, 281.6K Total
----------------------------------------
07 November 2014. Summary of changes for version 20141107:
This release is available at https://acpica.org/downloads
This release introduces and implements language extensions to ASL that
provide support for symbolic ("C-style") operators and expressions. These
language extensions are known collectively as ASL+.
1) iASL Compiler/Disassembler and Tools:
Disassembler: Fixed a problem with disassembly of the UartSerialBus
macro. Changed "StopBitsNone" to the correct "StopBitsZero". David E.
Box.
Disassembler: Fixed the Unicode macro support to add escape sequences.
All non-printable ASCII values are emitted as escape sequences, as well
as the standard escapes for quote and backslash. Ensures that the
disassembled macro can be correctly recompiled.
iASL: Added Printf/Fprintf macros for formatted output. These macros are
translated to existing AML Concatenate and Store operations. Printf
writes to the ASL Debug object. Fprintf allows the specification of an
ASL name as the target. Only a single format specifier is required, %o,
since the AML interpreter dynamically converts objects to the required
type. David E. Box.
(old) Store (Concatenate (Concatenate (Concatenate (Concatenate
(Concatenate (Concatenate (Concatenate ("", Arg0),
": Unexpected value for "), Arg1), ", "), Arg2),
" at line "), Arg3), Debug)
(new) Printf ("%o: Unexpected value for %o, %o at line %o",
Arg0, Arg1, Arg2, Arg3)
(old) Store (Concatenate (Concatenate (Concatenate (Concatenate
("", Arg1), ": "), Arg0), " Successful"), STR1)
(new) Fprintf (STR1, "%o: %o Successful", Arg1, Arg0)
iASL: Added debug options (-bp, -bt) to dynamically prune levels of the
ASL parse tree before the AML code is generated. This allows blocks of
ASL code to be removed in order to help locate and identify problem
devices and/or code. David E. Box.
AcpiExec: Added support (-fi) for an optional namespace object
initialization file. This file specifies initial values for namespace
objects as necessary for debugging and testing different ASL code paths
that may be taken as a result of BIOS options.
2) Overview of symbolic operator support for ASL (ASL+)
-------------------------------------------------------
As an extension to the ASL language, iASL implements support for symbolic
(C-style) operators for math and logical expressions. This can greatly
simplify ASL code as well as improve both readability and
maintainability. These language extensions can exist concurrently with
all legacy ASL code and expressions.
The symbolic extensions are 100% compatible with existing AML
interpreters, since no new AML opcodes are created. To implement the
extensions, the iASL compiler transforms the symbolic expressions into
the legacy ASL/AML equivalents at compile time.
Full symbolic expressions are supported, along with the standard C
precedence and associativity rules.
Full disassembler support for the symbolic expressions is provided, and
creates an automatic migration path for existing ASL code to ASL+ code
via the disassembly process. By default, the disassembler now emits ASL+
code with symbolic expressions. An option (-dl) is provided to force the
disassembler to emit legacy ASL code if desired.
Below is the complete list of the currently supported symbolic operators
with examples. See the iASL User Guide for additional information.
ASL+ Syntax Legacy ASL Equivalent
----------- ---------------------
// Math operators
Z = X + Y Add (X, Y, Z)
Z = X - Y Subtract (X, Y, Z)
Z = X * Y Multiply (X, Y, Z)
Z = X / Y Divide (X, Y, , Z)
Z = X % Y Mod (X, Y, Z)
Z = X << Y ShiftLeft (X, Y, Z)
Z = X >> Y ShiftRight (X, Y, Z)
Z = X & Y And (X, Y, Z)
Z = X | Y Or (X, Y, Z)
Z = X ^ Y Xor (X, Y, Z)
Z = ~X Not (X, Z)
X++ Increment (X)
X-- Decrement (X)
// Logical operators
(X == Y) LEqual (X, Y)
(X != Y) LNotEqual (X, Y)
(X < Y) LLess (X, Y)
(X > Y) LGreater (X, Y)
(X <= Y) LLessEqual (X, Y)
(X >= Y) LGreaterEqual (X, Y)
(X && Y) LAnd (X, Y)
(X || Y) LOr (X, Y)
(!X) LNot (X)
// Assignment and compound assignment operations
X = Y Store (Y, X)
X += Y Add (X, Y, X)
X -= Y Subtract (X, Y, X)
X *= Y Multiply (X, Y, X)
X /= Y Divide (X, Y, , X)
X %= Y Mod (X, Y, X)
X <<= Y ShiftLeft (X, Y, X)
X >>= Y ShiftRight (X, Y, X)
X &= Y And (X, Y, X)
X |= Y Or (X, Y, X)
X ^= Y Xor (X, Y, X)
3) ASL+ Examples:
-----------------
Legacy ASL:
If (LOr (LOr (LEqual (And (R510, 0x03FB), 0x02E0), LEqual (
And (R520, 0x03FB), 0x02E0)), LOr (LEqual (And (R530,
0x03FB),
0x02E0), LEqual (And (R540, 0x03FB), 0x02E0))))
{
And (MEMB, 0xFFFFFFF0, SRMB)
Store (MEMB, Local2)
Store (PDBM, Local1)
And (PDBM, 0xFFFFFFFFFFFFFFF9, PDBM)
Store (SRMB, MEMB)
Or (PDBM, 0x02, PDBM)
}
ASL+ version:
If (((R510 & 0x03FB) == 0x02E0) ||
((R520 & 0x03FB) == 0x02E0) ||
((R530 & 0x03FB) == 0x02E0) ||
((R540 & 0x03FB) == 0x02E0))
{
SRMB = (MEMB & 0xFFFFFFF0)
Local2 = MEMB
Local1 = PDBM
PDBM &= 0xFFFFFFFFFFFFFFF9
MEMB = SRMB
PDBM |= 0x02
}
Legacy ASL:
Store (0x1234, Local1)
Multiply (Add (Add (Local1, TEST), 0x20), Local2, Local3)
Multiply (Local2, Add (Add (Local1, TEST), 0x20), Local3)
Add (Local1, Add (TEST, Multiply (0x20, Local2)), Local3)
Store (Index (PKG1, 0x03), Local6)
Store (Add (Local3, Local2), Debug)
Add (Local1, 0x0F, Local2)
Add (Local1, Multiply (Local2, Local3), Local2)
Multiply (Add (Add (Local1, TEST), 0x20), ToBCD (Local1), Local3)
ASL+ version:
Local1 = 0x1234
Local3 = (((Local1 + TEST) + 0x20) * Local2)
Local3 = (Local2 * ((Local1 + TEST) + 0x20))
Local3 = (Local1 + (TEST + (0x20 * Local2)))
Local6 = Index (PKG1, 0x03)
Debug = (Local3 + Local2)
Local2 = (Local1 + 0x0F)
Local2 = (Local1 + (Local2 * Local3))
Local3 = (((Local1 + TEST) + 0x20) * ToBCD (Local1))
----------------------------------------
26 September 2014. Summary of changes for version 20140926:
1) ACPICA kernel-resident subsystem:
Updated the GPIO operation region handler interface (GeneralPurposeIo).
In order to support GPIO Connection objects with multiple pins, along
with the related Field objects, the following changes to the interface
have been made: The Address is now defined to be the offset in bits of
the field unit from the previous invocation of a Connection. It can be
viewed as a "Pin Number Index" into the connection resource descriptor.
The BitWidth is the exact bit width of the field. It is usually one bit,
but not always. See the ACPICA reference guide (section 8.8.6.2.1) for
additional information and examples.
GPE support: During ACPICA/GPE initialization, ensure that all GPEs with
corresponding _Lxx/_Exx methods are disabled (they may have been enabled
by the firmware), so that they cannot fire until they are enabled via
AcpiUpdateAllGpes. Rafael J. Wysocki.
Added a new return flag for the Event/GPE status interfaces --
AcpiGetEventStatus and AcpiGetGpeStatus. The new
ACPI_EVENT_FLAGS_HAS_HANDLER flag is used to indicate that the event or
GPE currently has a handler associated with it, and can thus actually
affect the system. Lv Zheng.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a much larger code and data size.
Current Release:
Non-Debug Version: 99.1K Code, 27.3K Data, 126.4K Total
Debug Version: 192.8K Code, 79.9K Data, 272.7K Total
Previous Release:
Non-Debug Version: 98.8K Code, 27.3K Data, 126.1K Total
Debug Version: 192.1K Code, 79.8K Data, 271.9K Total
2) iASL Compiler/Disassembler and Tools:
iASL: Fixed a memory allocation/free regression introduced in 20140828
that could cause the compiler to crash. This was introduced inadvertently
during the effort to eliminate compiler memory leaks. ACPICA BZ 1111,
1113.
iASL: Removed two error messages that have been found to create false
positives, until they can be fixed and fully validated (ACPICA BZ 1112):
1) Illegal forward reference within a method
2) Illegal reference across two methods
iASL: Implemented a new option (-lm) to create a hardware mapping file
that summarizes all GPIO, I2C, SPI, and UART connections. This option
works for both the compiler and disassembler. See the iASL compiler user
guide for additional information and examples (section 6.4.6).
AcpiDump: Added support for the version 1 (ACPI 1.0) RSDP in addition to
version 2. This corrects the AE_BAD_HEADER exception seen on systems with
a version 1 RSDP. Lv Zheng ACPICA BZ 1097.
AcpiExec: For Unix versions, don't attempt to put STDIN into raw mode
unless STDIN is actually a terminal. Assists with batch-mode processing.
ACPICA BZ 1114.
Disassembler/AcpiHelp: Added another large group of recognized _HID
values.
----------------------------------------
28 August 2014. Summary of changes for version 20140828:
1) ACPICA kernel-resident subsystem:
Fixed a problem related to the internal use of the Timer() operator where
a 64-bit divide could cause an attempted link to a double-precision math
library. This divide is not actually necessary, so the code was
restructured to eliminate it. Lv Zheng.
ACPI 5.1: Added support for the runtime validation of the _DSD package
(similar to the iASL support).
ACPI 5.1/Headers: Added support for the GICC affinity subtable to the
SRAT table. Hanjun Guo <hanjun.guo@linaro.org>.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a much larger code and data size.
Current Release:
Non-Debug Version: 98.8K Code, 27.3K Data, 126.1K Total
Debug Version: 192.1K Code, 79.8K Data, 271.9K Total
Previous Release:
Non-Debug Version: 98.7K Code, 27.3K Data, 126.0K Total1
Debug Version: 192.0K Code, 79.7K Data, 271.7K Total
2) iASL Compiler/Disassembler and Tools:
AcpiExec: Fixed a problem on unix systems where the original terminal
state was not always properly restored upon exit. Seen when using the -v
option. ACPICA BZ 1104.
iASL: Fixed a problem with the validation of the ranges/length within the
Memory24 resource descriptor. There was a boundary condition when the
range was equal to the (length -1) caused by the fact that these values
are defined in 256-byte blocks, not bytes. ACPICA BZ 1098
Disassembler: Fixed a problem with the GpioInt descriptor interrupt
polarity
flags. The flags are actually 2 bits, not 1, and the "ActiveBoth" keyword
is
now supported properly.
ACPI 5.1: Added the GICC affinity subtable to the SRAT table. Supported
in the disassembler, data table compiler, and table template generator.
iASL: Added a requirement for Device() objects that one of either a _HID
or _ADR must exist within the scope of a Device, as per the ACPI
specification. Remove a similar requirement that was incorrectly in place
for the _DSD object.
iASL: Added error detection for illegal named references within control
methods that would cause runtime failures. Now trapped as errors are: 1)
References to objects within a non-parent control method. 2) Forward
references (within a method) -- for control methods, AML interpreters use
a one-pass parse of control methods. ACPICA BZ 1008.
iASL: Added error checking for dependencies related to the _PSx power
methods. ACPICA BZ 1029.
1) For _PS0, one of these must exist within the same scope: _PS1, _PS2,
_PS3.
2) For _PS1, _PS2, and PS3: A _PS0 object must exist within the same
scope.
iASL and table compiler: Cleanup miscellaneous memory leaks by fully
deploying the existing object and string caches and adding new caches for
the table compiler.
iASL: Split the huge parser source file into multiple subfiles to improve
manageability. Generation now requires the M4 macro preprocessor, which
is part of the Bison distribution on both unix and windows platforms.
AcpiSrc: Fixed and removed all extraneous warnings generated during
entire ACPICA source code scan and/or conversion.
----------------------------------------
24 July 2014. Summary of changes for version 20140724:
The ACPI 5.1 specification has been released and is available at:
http://uefi.org/specs/access
0) ACPI 5.1 support in ACPICA:
ACPI 5.1 is fully supported in ACPICA as of this release.
New predefined names. Support includes iASL and runtime ACPICA
validation.
_CCA (Cache Coherency Attribute).
_DSD (Device-Specific Data). David Box.
Modifications to existing ACPI tables. Support includes headers, iASL
Data Table compiler, disassembler, and the template generator.
FADT - New fields and flags. Graeme Gregory.
GTDT - One new subtable and new fields. Tomasz Nowicki.
MADT - Two new subtables. Tomasz Nowicki.
PCCT - One new subtable.
Miscellaneous.
New notification type for System Resource Affinity change events.
1) ACPICA kernel-resident subsystem:
Fixed a regression introduced in 20140627 where a fault can happen during
the deletion of Alias AML namespace objects. The problem affected both
the core ACPICA and the ACPICA tools including iASL and AcpiExec.
Implemented a new GPE public interface, AcpiMarkGpeForWake. Provides a
simple mechanism to enable wake GPEs that have no associated handler or
control method. Rafael Wysocki.
Updated the AcpiEnableGpe interface to disallow the enable if there is no
handler or control method associated with the particular GPE. This will
help avoid meaningless GPEs and even GPE floods. Rafael Wysocki.
Updated GPE handling and dispatch by disabling the GPE before clearing
the status bit for edge-triggered GPEs. Lv Zheng.
Added Timer() support to the AML Debug object. The current timer value is
now displayed with each invocation of (Store to) the debug object to
enable simple generation of execution times for AML code (method
execution for example.) ACPICA BZ 1093.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a much larger code and data size.
Current Release:
Non-Debug Version: 98.7K Code, 27.3K Data, 126.0K Total
Debug Version: 192.0K Code, 79.7K Data, 271.7K Total
Previous Release:
Non-Debug Version: 98.7K Code, 27.2K Data, 125.9K Total
Debug Version: 191.7K Code, 79.6K Data, 271.3K Total
2) iASL Compiler/Disassembler and Tools:
Fixed an issue with the recently added local printf implementation,
concerning width/precision specifiers that could cause incorrect output.
Lv Zheng. ACPICA BZ 1094.
Disassembler: Added support to detect buffers that contain UUIDs and
disassemble them to an invocation of the ToUUID operator. Also emit
commented descriptions of known ACPI-related UUIDs.
AcpiHelp: Added support to display known ACPI-related UUIDs. New option,
-u. Adds three new files.
iASL: Update table compiler and disassembler for DMAR table changes that
were introduced in September 2013. With assistance by David Woodhouse.
----------------------------------------
27 June 2014. Summary of changes for version 20140627:
1) ACPICA kernel-resident subsystem:
Formatted Output: Implemented local versions of standard formatted output
utilities such as printf, etc. Over time, it has been discovered that
there are in fact many portability issues with printf, and the addition
of this feature will fix/prevent these issues once and for all. Some
known issues are summarized below:
1) Output of 64-bit values is not portable. For example, UINT64 is %ull
for the Linux kernel and is %uI64 for some MSVC versions.
2) Invoking printf consistently in a manner that is portable across both
32-bit and 64-bit platforms is difficult at best in many situations.
3) The output format for pointers varies from system to system (leading
zeros especially), and leads to inconsistent output from ACPICA across
platforms.
4) Certain platform-specific printf formats may conflict with ACPICA use.
5) If there is no local C library available, ACPICA now has local support
for printf.
-- To address these printf issues in a complete manner, ACPICA now
directly implements a small subset of printf format specifiers, only
those that it requires. Adds a new file, utilities/utprint.c. Lv Zheng.
Implemented support for ACPICA generation within the EFI environment.
Initially, the AcpiDump utility is supported in the UEFI shell
environment. Lv Zheng.
Added a new external interface, AcpiLogError, to improve ACPICA
portability. This allows the host to redirect error messages from the
ACPICA utilities. Lv Zheng.
Added and deployed new OSL file I/O interfaces to improve ACPICA
portability:
AcpiOsOpenFile
AcpiOsCloseFile
AcpiOsReadFile
AcpiOsWriteFile
AcpiOsGetFileOffset
AcpiOsSetFileOffset
There are C library implementations of these functions in the new file
service_layers/oslibcfs.c -- however, the functions can be implemented by
the local host in any way necessary. Lv Zheng.
Implemented a mechanism to disable/enable ACPI table checksum validation
at runtime. This can be useful when loading tables very early during OS
initialization when it may not be possible to map the entire table in
order to compute the checksum. Lv Zheng.
Fixed a buffer allocation issue for the Generic Serial Bus support.
Originally, a fixed buffer length was used. This change allows for
variable-length buffers based upon the protocol indicated by the field
access attributes. Reported by Lan Tianyu. Lv Zheng.
Fixed a problem where an object detached from a namespace node was not
properly terminated/cleared and could cause a circular list problem if
reattached. ACPICA BZ 1063. David Box.
Fixed a possible recursive lock acquisition in hwregs.c. Rakib Mullick.
Fixed a possible memory leak in an error return path within the function
AcpiUtCopyIobjectToIobject. ACPICA BZ 1087. Colin Ian King.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a much larger code and data size.
Current Release:
Non-Debug Version: 98.7K Code, 27.2K Data, 125.9K Total
Debug Version: 191.7K Code, 79.6K Data, 271.3K Total
Previous Release:
Non-Debug Version: 96.8K Code, 27.2K Data, 124.0K Total
Debug Version: 189.5K Code, 79.7K Data, 269.2K Total
2) iASL Compiler/Disassembler and Tools:
Disassembler: Add dump of ASCII equivalent text within a comment at the
end of each line of the output for the Buffer() ASL operator.
AcpiDump: Miscellaneous changes:
Fixed repetitive table dump in -n mode.
For older EFI platforms, use the ACPI 1.0 GUID during RSDP search if
the ACPI 2.0 GUID fails.
iASL: Fixed a problem where the compiler could fault if incorrectly given
an acpidump output file as input. ACPICA BZ 1088. David Box.
AcpiExec/AcpiNames: Fixed a problem where these utilities could fault if
they are invoked without any arguments.
Debugger: Fixed a possible memory leak in an error return path. ACPICA BZ
1086. Colin Ian King.
Disassembler: Cleaned up a block of code that extracts a parent Op
object. Added a comment that explains that the parent is guaranteed to be
valid in this case. ACPICA BZ 1069.
----------------------------------------
24 April 2014. Summary of changes for version 20140424:
1) ACPICA kernel-resident subsystem:
Implemented support to skip/ignore NULL address entries in the RSDT/XSDT.
Some of these tables are known to contain a trailing NULL entry. Lv
Zheng.
Removed an extraneous error message for the case where there are a large
number of system GPEs (> 124). This was the "32-bit FADT register is too
long to convert to GAS struct" message, which is irrelevant for GPEs
since the GPEx_BLK_LEN fields of the FADT are always used instead of the
(limited capacity) GAS bit length. Also, several changes to ensure proper
support for GPE numbers > 255, where some "GPE number" fields were 8-bits
internally.
Implemented and deployed additional configuration support for the public
ACPICA external interfaces. Entire classes of interfaces can now be
easily modified or configured out, replaced by stubbed inline functions
by default. Lv Zheng.
Moved all public ACPICA runtime configuration globals to the public
ACPICA external interface file for convenience. Also, removed some
obsolete/unused globals. See the file acpixf.h. Lv Zheng.
Documentation: Added a new section to the ACPICA reference describing the
maximum number of GPEs that can be supported by the FADT-defined GPEs in
block zero and one. About 1200 total. See section 4.4.1 of the ACPICA
reference.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a much larger code and data size.
Current Release:
Non-Debug Version: 96.8K Code, 27.2K Data, 124.0K Total
Debug Version: 189.5K Code, 79.7K Data, 269.2K Total
Previous Release:
Non-Debug Version: 97.0K Code, 27.2K Data, 124.2K Total
Debug Version: 189.7K Code, 79.5K Data, 269.2K Total
2) iASL Compiler/Disassembler and Tools:
iASL and disassembler: Add full support for the LPIT table (Low Power
Idle Table). Includes support in the disassembler, data table compiler,
and template generator.
AcpiDump utility:
1) Add option to force the use of the RSDT (over the XSDT).
2) Improve validation of the RSDP signature (use 8 chars instead of 4).
iASL: Add check for predefined packages that are too large. For
predefined names that contain subpackages, check if each subpackage is
too large. (Check for too small already exists.)
Debugger: Updated the GPE command (which simulates a GPE by executing the
GPE code paths in ACPICA). The GPE device is now optional, and defaults
to the GPE 0/1 FADT-defined blocks.
Unix application OSL: Update line-editing support. Add additional error
checking and take care not to reset terminal attributes on exit if they
were never set. This should help guarantee that the terminal is always
left in the previous state on program exit.
----------------------------------------
25 March 2014. Summary of changes for version 20140325:
1) ACPICA kernel-resident subsystem:
Updated the auto-serialize feature for control methods. This feature
automatically serializes all methods that create named objects in order
to prevent runtime errors. The update adds support to ignore the
currently executing AML SyncLevel when invoking such a method, in order
to prevent disruption of any existing SyncLevel priorities that may exist
in the AML code. Although the use of SyncLevels is relatively rare, this
change fixes a regression where an AE_AML_MUTEX_ORDER exception can
appear on some machines starting with the 20140214 release.
Added a new external interface to allow the host to install ACPI tables
very early, before the namespace is even created. AcpiInstallTable gives
the host additional flexibility for ACPI table management. Tables can be
installed directly by the host as if they had originally appeared in the
XSDT/RSDT. Installed tables can be SSDTs or other ACPI data tables
(anything except the DSDT and FACS). Adds a new file, tbdata.c, along
with additional internal restructuring and cleanup. See the ACPICA
Reference for interface details. Lv Zheng.
Added validation of the checksum for all incoming dynamically loaded
tables (via external interfaces or via AML Load/LoadTable operators). Lv
Zheng.
Updated the use of the AcpiOsWaitEventsComplete interface during Notify
and GPE handler removal. Restructured calls to eliminate possible race
conditions. Lv Zheng.
Added a warning for the use/execution of the ASL/AML Unload (table)
operator. This will help detect and identify machines that use this
operator if and when it is ever used. This operator has never been seen
in the field and the usage model and possible side-effects of the drastic
runtime action of a full table removal are unknown.
Reverted the use of #pragma push/pop which was introduced in the 20140214
release. It appears that push and pop are not implemented by enough
compilers to make the use of this feature feasible for ACPICA at this
time. However, these operators may be deployed in a future ACPICA
release.
Added the missing EXPORT_SYMBOL macros for the install and remove SCI
handler interfaces.
Source code generation:
1) Disabled the use of the "strchr" macro for the gcc-specific
generation. For some versions of gcc, this macro can periodically expose
a compiler bug which in turn causes compile-time error(s).
2) Added support for PPC64 compilation. Colin Ian King.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a much larger code and data size.
Current Release:
Non-Debug Version: 97.0K Code, 27.2K Data, 124.2K Total
Debug Version: 189.7K Code, 79.5K Data, 269.2K Total
Previous Release:
Non-Debug Version: 96.5K Code, 27.2K Data, 123.7K Total
Debug Version: 188.6K Code, 79.0K Data, 267.6K Total
2) iASL Compiler/Disassembler and Tools:
Disassembler: Added several new features to improve the readability of
the resulting ASL code. Extra information is emitted within comment
fields in the ASL code:
1) Known _HID/_CID values are decoded to descriptive text.
2) Standard values for the Notify() operator are decoded to descriptive
text.
3) Target operands are expanded to full pathnames (in a comment) when
possible.
Disassembler: Miscellaneous updates for extern() handling:
1) Abort compiler if file specified by -fe option does not exist.
2) Silence unnecessary warnings about argument count mismatches.
3) Update warning messages concerning unresolved method externals.
4) Emit "UnknownObj" keyword for externals whose type cannot be
determined.
AcpiHelp utility:
1) Added the -a option to display both the ASL syntax and the AML
encoding for an input ASL operator. This effectively displays all known
information about an ASL operator with one AcpiHelp invocation.
2) Added substring match support (similar to a wildcard) for the -i
(_HID/PNP IDs) option.
iASL/Disassembler: Since this tool does not yet support execution on big-
endian machines, added detection of endianness and an error message if
execution is attempted on big-endian. Support for big-endian within iASL
is a feature that is on the ACPICA to-be-done list.
AcpiBin utility:
1) Remove option to extract binary files from an acpidump; this function
is made obsolete by the AcpiXtract utility.
2) General cleanup of open files and allocated buffers.
----------------------------------------
14 February 2014. Summary of changes for version 20140214:
1) ACPICA kernel-resident subsystem:
Implemented a new mechanism to proactively prevent problems with ill-
behaved reentrant control methods that create named ACPI objects. This
behavior is illegal as per the ACPI specification, but is nonetheless
frequently seen in the field. Previously, this could lead to an
AE_ALREADY_EXISTS exception if the method was actually entered by more
than one thread. This new mechanism detects such methods at table load
time and marks them "serialized" to prevent reentrancy. A new global
option, AcpiGbl_AutoSerializeMethods, has been added to disable this
feature if desired. This mechanism and global option obsoletes and
supersedes the previous AcpiGbl_SerializeAllMethods option.
Added the "Windows 2013" string to the _OSI support. ACPICA will now
respond TRUE to _OSI queries with this string. It is the stated policy of
ACPICA to add new strings to the _OSI support as soon as possible after
they are defined. See the full ACPICA _OSI policy which has been added to
the utilities/utosi.c file.
Hardened/updated the _PRT return value auto-repair code:
1) Do not abort the repair on a single subpackage failure, continue to
check all subpackages.
2) Add check for the minimum subpackage length (4).
3) Properly handle extraneous NULL package elements.
Added support to avoid the possibility of infinite loops when traversing
object linked lists. Never allow an infinite loop, even in the face of
corrupted object lists.
ACPICA headers: Deployed the use of #pragma pack(push) and #pragma
pack(pop) directives to ensure that the ACPICA headers are independent of
compiler settings or other host headers.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a much larger code and data size.
Current Release:
Non-Debug Version: 96.5K Code, 27.2K Data, 123.7K Total
Debug Version: 188.6K Code, 79.0K Data, 267.6K Total
Previous Release:
Non-Debug Version: 96.2K Code, 27.0K Data, 123.2K Total
Debug Version: 187.5K Code, 78.3K Data, 265.8K Total
2) iASL Compiler/Disassembler and Tools:
iASL/Table-compiler: Fixed a problem with support for the SPMI table. The
first reserved field was incorrectly forced to have a value of zero. This
change correctly forces the field to have a value of one. ACPICA BZ 1081.
Debugger: Added missing support for the "Extra" and "Data" subobjects
when displaying object data.
Debugger: Added support to display entire object linked lists when
displaying object data.
iASL: Removed the obsolete -g option to obtain ACPI tables from the
Windows registry. This feature has been superseded by the acpidump
utility.
----------------------------------------
14 January 2014. Summary of changes for version 20140114:
1) ACPICA kernel-resident subsystem:
Updated all ACPICA copyrights and signons to 2014. Added the 2014
copyright to all module headers and signons, including the standard Linux
header. This affects virtually every file in the ACPICA core subsystem,
iASL compiler, all ACPICA utilities, and the test suites.
Improved parameter validation for AcpiInstallGpeBlock. Added the
following checks:
1) The incoming device handle refers to type ACPI_TYPE_DEVICE.
2) There is not already a GPE block attached to the device.
Likewise, with AcpiRemoveGpeBlock, ensure that the incoming object is a
device.
Correctly support "references" in the ACPI_OBJECT. This change fixes the
support to allow references (namespace nodes) to be passed as arguments
to control methods via the evaluate object interface. This is probably
most useful for testing purposes, however.
Improved support for 32/64 bit physical addresses in printf()-like
output. This change improves the support for physical addresses in printf
debug statements and other output on both 32-bit and 64-bit hosts. It
consistently outputs the appropriate number of bytes for each host. The
%p specifier is unsatisfactory since it does not emit uniform output on
all hosts/clib implementations (on some, leading zeros are not supported,
leading to difficult-to-read output).
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a much larger code and data size.
Current Release:
Non-Debug Version: 96.2K Code, 27.0K Data, 123.2K Total
Debug Version: 187.5K Code, 78.3K Data, 265.8K Total
Previous Release:
Non-Debug Version: 96.1K Code, 27.0K Data, 123.1K Total
Debug Version: 185.6K Code, 77.3K Data, 262.9K Total
2) iASL Compiler/Disassembler and Tools:
iASL: Fix a possible fault when using the Connection() operator. Fixes a
problem if the parent Field definition for the Connection operator refers
to an operation region that does not exist. ACPICA BZ 1064.
AcpiExec: Load of local test tables is now optional. The utility has the
capability to load some various tables to test features of ACPICA.
However, there are enough of them that the output of the utility became
confusing. With this change, only the required local tables are displayed
(RSDP, XSDT, etc.) along with the actual tables loaded via the command
line specification. This makes the default output simler and easier to
understand. The -el command line option restores the original behavior
for testing purposes.
AcpiExec: Added support for overlapping operation regions. This change
expands the simulation of operation regions by supporting regions that
overlap within the given address space. Supports SystemMemory and
SystemIO. ASLTS test suite updated also. David Box. ACPICA BZ 1031.
AcpiExec: Added region handler support for PCI_Config and EC spaces. This
allows AcpiExec to simulate these address spaces, similar to the current
support for SystemMemory and SystemIO.
Debugger: Added new command to read/write/compare all namespace objects.
The command "test objects" will exercise the entire namespace by writing
new values to each data object, and ensuring that the write was
successful. The original value is then restored and verified.
Debugger: Added the "test predefined" command. This change makes this
test public and puts it under the new "test" command. The test executes
each and every predefined name within the current namespace.
----------------------------------------
18 December 2013. Summary of changes for version 20131218:
Global note: The ACPI 5.0A specification was released this month. There
are no changes needed for ACPICA since this release of ACPI is an
errata/clarification release. The specification is available at
acpi.info.
1) ACPICA kernel-resident subsystem:
Added validation of the XSDT root table if it is present. Some older
platforms contain an XSDT that is ill-formed or otherwise invalid (such
as containing some or all entries that are NULL pointers). This change
adds a new function to validate the XSDT before actually using it. If the
XSDT is found to be invalid, ACPICA will now automatically fall back to
using the RSDT instead. Original implementation by Zhao Yakui. Ported to
ACPICA and enhanced by Lv Zheng and Bob Moore.
Added a runtime option to ignore the XSDT and force the use of the RSDT.
This change adds a runtime option that will force ACPICA to use the RSDT
instead of the XSDT (AcpiGbl_DoNotUseXsdt). Although the ACPI spec
requires that an XSDT be used instead of the RSDT, the XSDT has been
found to be corrupt or ill-formed on some machines. Lv Zheng.
Added a runtime option to favor 32-bit FADT register addresses over the
64-bit addresses. This change adds an option to favor 32-bit FADT
addresses when there is a conflict between the 32-bit and 64-bit versions
of the same register. The default behavior is to use the 64-bit version
in accordance with the ACPI specification. This can now be overridden via
the AcpiGbl_Use32BitFadtAddresses flag. ACPICA BZ 885. Lv Zheng.
During the change above, the internal "Convert FADT" and "Verify FADT"
functions have been merged to simplify the code, making it easier to
understand and maintain. ACPICA BZ 933.
Improve exception reporting and handling for GPE block installation.
Return an actual status from AcpiEvGetGpeXruptBlock and don't clobber the
status when exiting AcpiEvInstallGpeBlock. ACPICA BZ 1019.
Added helper macros to extract bus/segment numbers from the HEST table.
This change adds two macros to extract the encoded bus and segment
numbers from the HEST Bus field - ACPI_HEST_BUS and ACPI_HEST_SEGMENT.
Betty Dall <betty.dall@hp.com>
Removed the unused ACPI_FREE_BUFFER macro. This macro is no longer used
by ACPICA. It is not a public macro, so it should have no effect on
existing OSV code. Lv Zheng.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a much larger code and data size.
Current Release:
Non-Debug Version: 96.1K Code, 27.0K Data, 123.1K Total
Debug Version: 185.6K Code, 77.3K Data, 262.9K Total
Previous Release:
Non-Debug Version: 95.9K Code, 27.0K Data, 122.9K Total
Debug Version: 185.1K Code, 77.2K Data, 262.3K Total
2) iASL Compiler/Disassembler and Tools:
Disassembler: Improved pathname support for emitted External()
statements. This change adds full pathname support for external names
that have been resolved internally by the inclusion of additional ACPI
tables (via the iASL -e option). Without this change, the disassembler
can emit multiple externals for the same object, or it become confused
when the Scope() operator is used on an external object. Overall, greatly
improves the ability to actually recompile the emitted ASL code when
objects a referenced across multiple ACPI tables. Reported by Michael
Tsirkin (mst@redhat.com).
Tests/ASLTS: Updated functional control suite to execute with no errors.
David Box. Fixed several errors related to the testing of the interpreter
slack mode. Lv Zheng.
iASL: Added support to detect names that are declared within a control
method, but are unused (these are temporary names that are only valid
during the time the method is executing). A remark is issued for these
cases. ACPICA BZ 1022.
iASL: Added full support for the DBG2 table. Adds full disassembler,
table compiler, and template generator support for the DBG2 table (Debug
Port 2 table).
iASL: Added full support for the PCCT table, update the table definition.
Updates the PCCT table definition in the actbl3.h header and adds table
compiler and template generator support.
iASL: Added an option to emit only error messages (no warnings/remarks).
The -ve option will enable only error messages, warnings and remarks are
suppressed. This can simplify debugging when only the errors are
important, such as when an ACPI table is disassembled and there are many
warnings and remarks -- but only the actual errors are of real interest.
Example ACPICA code (source/tools/examples): Updated the example code so
that it builds to an actual working program, not just example code. Added
ACPI tables and execution of an example control method in the DSDT. Added
makefile support for Unix generation.
----------------------------------------
15 November 2013. Summary of changes for version 20131115:
This release is available at https://acpica.org/downloads
1) ACPICA kernel-resident subsystem:
Resource Manager: Fixed loop termination for the "get AML length"
function. The loop previously had an error termination on a NULL resource
pointer, which can never happen since the loop simply increments a valid
resource pointer. This fix changes the loop to terminate with an error on
an invalid end-of-buffer condition. The problem can be seen as an
infinite loop by callers to AcpiSetCurrentResources with an invalid or
corrupted resource descriptor, or a resource descriptor that is missing
an END_TAG descriptor. Reported by Dan Carpenter
<dan.carpenter@oracle.com>. Lv Zheng, Bob Moore.
Table unload and ACPICA termination: Delete all attached data objects
during namespace node deletion. This fix updates namespace node deletion
to delete the entire list of attached objects (attached via
AcpiAttachObject) instead of just one of the attached items. ACPICA BZ
1024. Tomasz Nowicki (tomasz.nowicki@linaro.org).
ACPICA termination: Added support to delete all objects attached to the
root namespace node. This fix deletes any and all objects that have been
attached to the root node via AcpiAttachData. Previously, none of these
objects were deleted. Reported by Tomasz Nowicki. ACPICA BZ 1026.
Debug output: Do not emit the function nesting level for the in-kernel
build. The nesting level is really only useful during a single-thread
execution. Therefore, only enable this output for the AcpiExec utility.
Also, only emit the thread ID when executing under AcpiExec (Context
switches are still always detected and a message is emitted). ACPICA BZ
972.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a much larger code and data size.
Current Release:
Non-Debug Version: 95.9K Code, 27.0K Data, 122.9K Total
Debug Version: 185.1K Code, 77.2K Data, 262.3K Total
Previous Release:
Non-Debug Version: 95.8K Code, 27.0K Data, 122.8K Total
Debug Version: 185.2K Code, 77.2K Data, 262.4K Total
2) iASL Compiler/Disassembler and Tools:
AcpiExec/Unix-OSL: Use <termios.h> instead of <termio.h>. This is the
correct portable POSIX header for terminal control functions.
Disassembler: Fixed control method invocation issues related to the use
of the CondRefOf() operator. The problem is seen in the disassembly where
control method invocations may not be disassembled properly if the
control method name has been used previously as an argument to CondRefOf.
The solution is to not attempt to emit an external declaration for the
CondRefOf target (it is not necessary in the first place). This prevents
disassembler object type confusion. ACPICA BZ 988.
Unix Makefiles: Added an option to disable compiler optimizations and the
_FORTIFY_SOURCE flag. Some older compilers have problems compiling ACPICA
with optimizations (reportedly, gcc 4.4 for example). This change adds a
command line option for make (NOOPT) that disables all compiler
optimizations and the _FORTIFY_SOURCE compiler flag. The default
optimization is -O2 with the _FORTIFY_SOURCE flag specified. ACPICA BZ
1034. Lv Zheng, Bob Moore.
Tests/ASLTS: Added options to specify individual test cases and modes.
This allows testers running aslts.sh to optionally specify individual
test modes and test cases. Also added an option to disable the forced
generation of the ACPICA tools from source if desired. Lv Zheng.
----------------------------------------
27 September 2013. Summary of changes for version 20130927:
This release is available at https://acpica.org/downloads
1) ACPICA kernel-resident subsystem:
Fixed a problem with store operations to reference objects. This change
fixes a problem where a Store operation to an ArgX object that contained
a
reference to a field object did not complete the automatic dereference
and
then write to the actual field object. Instead, the object type of the
field object was inadvertently changed to match the type of the source
operand. The new behavior will actually write to the field object (buffer
field or field unit), thus matching the correct ACPI-defined behavior.
Implemented support to allow the host to redefine individual OSL
prototypes. This change enables the host to redefine OSL prototypes found
in the acpiosxf.h file. This allows the host to implement OSL interfaces
with a macro or inlined function. Further, it allows the host to add any
additional required modifiers such as __iomem, __init, __exit, etc., as
necessary on a per-interface basis. Enables maximum flexibility for the
OSL interfaces. Lv Zheng.
Hardcoded the access width for the FADT-defined reset register. The ACPI
specification requires the reset register width to be 8 bits. ACPICA now
hardcodes the width to 8 and ignores the FADT width value. This provides
compatibility with other ACPI implementations that have allowed BIOS code
with bad register width values to go unnoticed. Matthew Garett, Bob
Moore,
Lv Zheng.
Changed the position/use of the ACPI_PRINTF_LIKE macro. This macro is
used
in the OSL header (acpiosxf). The change modifies the position of this
macro in each instance where it is used (AcpiDebugPrint, etc.) to avoid
build issues if the OSL defines the implementation of the interface to be
an inline stub function. Lv Zheng.
Deployed a new macro ACPI_EXPORT_SYMBOL_INIT for the main ACPICA
initialization interfaces. This change adds a new macro for the main init
and terminate external interfaces in order to support hosts that require
additional or different processing for these functions. Changed from
ACPI_EXPORT_SYMBOL to ACPI_EXPORT_SYMBOL_INIT for these functions. Lv
Zheng, Bob Moore.
Cleaned up the memory allocation macros for configurability. In the
common
case, the ACPI_ALLOCATE and related macros now resolve directly to their
respective AcpiOs* OSL interfaces. Two options:
1) The ACPI_ALLOCATE_ZEROED macro uses a simple local implementation by
default, unless overridden by the USE_NATIVE_ALLOCATE_ZEROED define.
2) For AcpiExec (and for debugging), the macros can optionally be
resolved
to the local ACPICA interfaces that track each allocation (local tracking
is used to immediately detect memory leaks).
Lv Zheng.
Simplified the configuration for ACPI_REDUCED_HARDWARE. Allows the kernel
to predefine this macro to either TRUE or FALSE during the system build.
Replaced __FUNCTION_ with __func__ in the gcc-specific header.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a much larger code and data size.
Current Release:
Non-Debug Version: 95.8K Code, 27.0K Data, 122.8K Total
Debug Version: 185.2K Code, 77.2K Data, 262.4K Total
Previous Release:
Non-Debug Version: 96.7K Code, 27.1K Data, 123.9K Total
Debug Version: 184.4K Code, 76.8K Data, 261.2K Total
2) iASL Compiler/Disassembler and Tools:
iASL: Implemented wildcard support for the -e option. This simplifies use
when there are many SSDTs that must be included to resolve external
method
declarations. ACPICA BZ 1041. Example:
iasl -e ssdt*.dat -d dsdt.dat
AcpiExec: Add history/line-editing for Unix/Linux systems. This change
adds a portable module that implements full history and limited line
editing for Unix and Linux systems. It does not use readline() due to
portability issues. Instead it uses the POSIX termio interface to put the
terminal in raw input mode so that the various special keys can be
trapped
(such as up/down-arrow for history support and left/right-arrow for line
editing). Uses the existing debugger history mechanism. ACPICA BZ 1036.
AcpiXtract: Add support to handle (ignore) "empty" lines containing only
one or more spaces. This provides compatible with early or different
versions of the AcpiDump utility. ACPICA BZ 1044.
AcpiDump: Do not ignore tables that contain only an ACPI table header.
Apparently, some BIOSs create SSDTs that contain an ACPI table header but
no other data. This change adds support to dump these tables. Any tables
shorter than the length of an ACPI table header remain in error (an error
message is emitted). Reported by Yi Li.
Debugger: Echo actual command along with the "unknown command" message.
----------------------------------------
23 August 2013. Summary of changes for version 20130823:
1) ACPICA kernel-resident subsystem:
Implemented support for host-installed System Control Interrupt (SCI)
handlers. Certain ACPI functionality requires the host to handle raw
SCIs. For example, the "SCI Doorbell" that is defined for memory power
state support requires the host device driver to handle SCIs to examine
if the doorbell has been activated. Multiple SCI handlers can be
installed to allow for future expansion. New external interfaces are
AcpiInstallSciHandler, AcpiRemoveSciHandler; see the ACPICA reference for
details. Lv Zheng, Bob Moore. ACPICA BZ 1032.
Operation region support: Never locally free the handler "context"
pointer. This change removes some dangerous code that attempts to free
the handler context pointer in some (rare) circumstances. The owner of
the handler owns this pointer and the ACPICA code should never touch it.
Although not seen to be an issue in any kernel, it did show up as a
problem (fault) under AcpiExec. Also, set the internal storage field for
the context pointer to zero when the region is deactivated, simply for
sanity. David Box. ACPICA BZ 1039.
AcpiRead: On error, do not modify the return value target location. If an
error happens in the middle of a split 32/32 64-bit I/O operation, do not
modify the target of the return value pointer. Makes the code consistent
with the rest of ACPICA. Bjorn Helgaas.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a much larger code and data size.
Current Release:
Non-Debug Version: 96.7K Code, 27.1K Data, 123.9K Total
Debug Version: 184.4K Code, 76.8K Data, 261.2K Total
Previous Release:
Non-Debug Version: 96.2K Code, 27.1K Data, 123.3K Total
Debug Version: 185.4K Code, 77.1K Data, 262.5K Total
2) iASL Compiler/Disassembler and Tools:
AcpiDump: Implemented several new features and fixed some problems:
1) Added support to dump the RSDP, RSDT, and XSDT tables.
2) Added support for multiple table instances (SSDT, UEFI).
3) Added option to dump "customized" (overridden) tables (-c).
4) Fixed a problem where some table filenames were improperly
constructed.
5) Improved some error messages, removed some unnecessary messages.
iASL: Implemented additional support for disassembly of ACPI tables that
contain invocations of external control methods. The -fe<file> option
allows the import of a file that specifies the external methods along
with the required number of arguments for each -- allowing for the
correct disassembly of the table. This is a workaround for a limitation
of AML code where the disassembler often cannot determine the number of
arguments required for an external control method and generates incorrect
ASL code. See the iASL reference for details. ACPICA BZ 1030.
Debugger: Implemented a new command (paths) that displays the full
pathnames (namepaths) and object types of all objects in the namespace.
This is an alternative to the namespace command.
Debugger: Implemented a new command (sci) that invokes the SCI dispatch
mechanism and any installed handlers.
iASL: Fixed a possible segfault for "too many parent prefixes" condition.
This can occur if there are too many parent prefixes in a namepath (for
example, ^^^^^^PCI0.ECRD). ACPICA BZ 1035.
Application OSLs: Set the return value for the PCI read functions. These
functions simply return AE_OK, but should set the return value to zero
also. This change implements this. ACPICA BZ 1038.
Debugger: Prevent possible command line buffer overflow. Increase the
size of a couple of the debugger line buffers, and ensure that overflow
cannot happen. ACPICA BZ 1037.
iASL: Changed to abort immediately on serious errors during the parsing
phase. Due to the nature of ASL, there is no point in attempting to
compile these types of errors, and they typically end up causing a
cascade of hundreds of errors which obscure the original problem.
----------------------------------------
25 July 2013. Summary of changes for version 20130725:
1) ACPICA kernel-resident subsystem:
Fixed a problem with the DerefOf operator where references to FieldUnits
and BufferFields incorrectly returned the parent object, not the actual
value of the object. After this change, a dereference of a FieldUnit
reference results in a read operation on the field to get the value, and
likewise, the appropriate BufferField value is extracted from the target
buffer.
Fixed a problem where the _WAK method could cause a fault under these
circumstances: 1) Interpreter slack mode was not enabled, and 2) the _WAK
method returned no value. The problem is rarely seen because most kernels
run ACPICA in slack mode.
For the DerefOf operator, a fatal error now results if an attempt is made
to dereference a reference (created by the Index operator) to a NULL
package element. Provides compatibility with other ACPI implementations,
and this behavior will be added to a future version of the ACPI
specification.
The ACPI Power Management Timer (defined in the FADT) is now optional.
This provides compatibility with other ACPI implementations and will
appear in the next version of the ACPI specification. If there is no PM
Timer on the platform, AcpiGetTimer returns AE_SUPPORT. An address of
zero in the FADT indicates no PM timer.
Implemented a new interface for _OSI support, AcpiUpdateInterfaces. This
allows the host to globally enable/disable all vendor strings, all
feature strings, or both. Intended to be primarily used for debugging
purposes only. Lv Zheng.
Expose the collected _OSI data to the host via a global variable. This
data tracks the highest level vendor ID that has been invoked by the BIOS
so that the host (and potentially ACPICA itself) can change behaviors
based upon the age of the BIOS.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a much larger code and data size.
Current Release:
Non-Debug Version: 96.2K Code, 27.1K Data, 123.3K Total
Debug Version: 184.4K Code, 76.8K Data, 261.2K Total
Previous Release:
Non-Debug Version: 95.9K Code, 26.9K Data, 122.8K Total
Debug Version: 184.1K Code, 76.7K Data, 260.8K Total
2) iASL Compiler/Disassembler and Tools:
iASL: Created the following enhancements for the -so option (create
offset table):
1)Add offsets for the last nameseg in each namepath for every supported
object type
2)Add support for Processor, Device, Thermal Zone, and Scope objects
3)Add the actual AML opcode for the parent object of every supported
object type
4)Add support for the ZERO/ONE/ONES AML opcodes for integer objects
Disassembler: Emit all unresolved external symbols in a single block.
These are external references to control methods that could not be
resolved, and thus, the disassembler had to make a guess at the number of
arguments to parse.
iASL: The argument to the -T option (create table template) is now
optional. If not specified, the default table is a DSDT, typically the
most common case.
----------------------------------------
26 June 2013. Summary of changes for version 20130626:
1) ACPICA kernel-resident subsystem:
Fixed an issue with runtime repair of the _CST object. Null or invalid
elements were not always removed properly. Lv Zheng.
Removed an arbitrary restriction of 256 GPEs per GPE block (such as the
FADT-defined GPE0 and GPE1). For GPE0, GPE1, and each GPE Block Device,
the maximum number of GPEs is 1016. Use of multiple GPE block devices
makes the system-wide number of GPEs essentially unlimited.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a much larger code and data size.
Current Release:
Non-Debug Version: 95.9K Code, 26.9K Data, 122.8K Total
Debug Version: 184.1K Code, 76.7K Data, 260.8K Total
Previous Release:
Non-Debug Version: 96.0K Code, 27.0K Data, 123.0K Total
Debug Version: 184.1K Code, 76.8K Data, 260.9K Total
2) iASL Compiler/Disassembler and Tools:
Portable AcpiDump: Implemented full support for the Linux and FreeBSD
hosts. Now supports Linux, FreeBSD, and Windows.
Disassembler: Added some missing types for the HEST and EINJ tables: "Set
Error Type With Address", "CMCI", "MCE", and "Flush Cacheline".
iASL/Preprocessor: Implemented full support for nested
#if/#else/#elif/#endif blocks. Allows arbitrary depth of nested blocks.
Disassembler: Expanded maximum output string length to 64K. Was 256 bytes
max. The original purpose of this constraint was to limit the amount of
debug output. However, the string function in question (UtPrintString) is
now used for the disassembler also, where 256 bytes is insufficient.
Reported by RehabMan@GitHub.
iASL/DataTables: Fixed some problems and issues with compilation of DMAR
tables. ACPICA BZ 999. Lv Zheng.
iASL: Fixed a couple of error exit issues that could result in a "Could
not delete <file>" message during ASL compilation.
AcpiDump: Allow "FADT" and "MADT" as valid table signatures, even though
the actual signatures for these tables are "FACP" and "APIC",
respectively.
AcpiDump: Added support for multiple UEFI tables. Only SSDT and UEFI
tables are allowed to have multiple instances.
----------------------------------------
17 May 2013. Summary of changes for version 20130517:
1) ACPICA kernel-resident subsystem:
Fixed a regression introduced in version 20130328 for _INI methods. This
change fixes a problem introduced in 20130328 where _INI methods are no
longer executed properly because of a memory block that was not
initialized correctly. ACPICA BZ 1016. Tomasz Nowicki
<tomasz.nowicki@linaro.org>.
Fixed a possible problem with the new extended sleep registers in the
ACPI
5.0 FADT. Do not use these registers (even if populated) unless the HW-
reduced bit is set in the FADT (as per the ACPI specification). ACPICA BZ
1020. Lv Zheng.
Implemented return value repair code for _CST predefined objects: Sort
the
list and detect/remove invalid entries. ACPICA BZ 890. Lv Zheng.
Implemented a debug-only option to disable loading of SSDTs from the
RSDT/XSDT during ACPICA initialization. This can be useful for debugging
ACPI problems on some machines. Set AcpiGbl_DisableSsdtTableLoad in
acglobal.h - ACPICA BZ 1005. Lv Zheng.
Fixed some issues in the ACPICA initialization and termination code:
Tomasz Nowicki <tomasz.nowicki@linaro.org>
1) Clear events initialized flag upon event component termination. ACPICA
BZ 1013.
2) Fixed a possible memory leak in GPE init error path. ACPICA BZ 1018.
3) Delete global lock pending lock during termination. ACPICA BZ 1012.
4) Clear debug buffer global on termination to prevent possible multiple
delete. ACPICA BZ 1010.
Standardized all switch() blocks across the entire source base. After
many
years, different formatting for switch() had crept in. This change makes
the formatting of every switch block identical. ACPICA BZ 997. Chao Guan.
Split some files to enhance ACPICA modularity and configurability:
1) Split buffer dump routines into utilities/utbuffer.c
2) Split internal error message routines into utilities/uterror.c
3) Split table print utilities into tables/tbprint.c
4) Split iASL command-line option processing into asloptions.c
Makefile enhancements:
1) Support for all new files above.
2) Abort make on errors from any subcomponent. Chao Guan.
3) Add build support for Apple Mac OS X. Liang Qi.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a much larger code and data size.
Current Release:
Non-Debug Version: 96.0K Code, 27.0K Data, 123.0K Total
Debug Version: 184.1K Code, 76.8K Data, 260.9K Total
Previous Release:
Non-Debug Version: 95.6K Code, 26.8K Data, 122.4K Total
Debug Version: 183.5K Code, 76.6K Data, 260.1K Total
2) iASL Compiler/Disassembler and Tools:
New utility: Implemented an easily portable version of the acpidump
utility to extract ACPI tables from the system (or a file) in an ASCII
hex
dump format. The top-level code implements the various command line
options, file I/O, and table dump routines. To port to a new host, only
three functions need to be implemented to get tables -- since this
functionality is OS-dependent. See the tools/acpidump/apmain.c module and
the ACPICA reference for porting instructions. ACPICA BZ 859. Notes:
1) The Windows version obtains the ACPI tables from the Registry.
2) The Linux version is under development.
3) Other hosts - If an OS-dependent module is submitted, it will be
distributed with ACPICA.
iASL: Fixed a regression for -D preprocessor option (define symbol). A
restructuring/change to the initialization sequence caused this option to
no longer work properly.
iASL: Implemented a mechanism to disable specific warnings and remarks.
Adds a new command line option, "-vw <messageid> as well as "#pragma
disable <messageid>". ACPICA BZ 989. Chao Guan, Bob Moore.
iASL: Fix for too-strict package object validation. The package object
validation for return values from the predefined names is a bit too
strict, it does not allow names references within the package (which will
be resolved at runtime.) These types of references cannot be validated at
compile time. This change ignores named references within package objects
for names that return or define static packages.
Debugger: Fixed the 80-character command line limitation for the History
command. Now allows lines of arbitrary length. ACPICA BZ 1000. Chao Guan.
iASL: Added control method and package support for the -so option
(generates AML offset table for BIOS support.)
iASL: issue a remark if a non-serialized method creates named objects. If
a thread blocks within the method for any reason, and another thread
enters the method, the method will fail because an attempt will be made
to
create the same (named) object twice. In this case, issue a remark that
the method should be marked serialized. NOTE: may become a warning later.
ACPICA BZ 909.
----------------------------------------
18 April 2013. Summary of changes for version 20130418:
1) ACPICA kernel-resident subsystem:
Fixed a possible buffer overrun during some rare but specific field unit
read operations. This overrun can only happen if the DSDT version is 1 --
meaning that all AML integers are 32 bits -- and the field length is
between 33 and 55 bits long. During the read, an internal buffer object
is
created for the field unit because the field is larger than an integer
(32
bits). However, in this case, the buffer will be incorrectly written
beyond the end because the buffer length is less than the internal
minimum
of 64 bits (8 bytes) long. The buffer will be either 5, 6, or 7 bytes
long, but a full 8 bytes will be written.
Updated the Embedded Controller "orphan" _REG method support. This refers
to _REG methods under the EC device that have no corresponding operation
region. This is allowed by the ACPI specification. This update removes a
dependency on the existence an ECDT table. It will execute an orphan _REG
method as long as the operation region handler for the EC is installed at
the EC device node and not the namespace root. Rui Zhang (original
update), Bob Moore (update/integrate).
Implemented run-time argument typechecking for all predefined ACPI names
(_STA, _BIF, etc.) This change performs object typechecking on all
incoming arguments for all predefined names executed via
AcpiEvaluateObject. This ensures that ACPI-related device drivers are
passing correct object types as well as the correct number of arguments
(therefore identifying any issues immediately). Also, the ASL/namespace
definition of the predefined name is checked against the ACPI
specification for the proper argument count. Adds one new file,
nsarguments.c
Changed an exception code for the ASL UnLoad() operator. Changed the
exception code for the case where the input DdbHandle is invalid, from
AE_BAD_PARAMETER to the more appropriate AE_AML_OPERAND_TYPE.
Unix/Linux makefiles: Removed the use of the -O2 optimization flag in the
global makefile. The use of this flag causes compiler errors on earlier
versions of GCC, so it has been removed for compatibility.
Miscellaneous cleanup:
1) Removed some unused/obsolete macros
2) Fixed a possible memory leak in the _OSI support
3) Removed an unused variable in the predefined name support
4) Windows OSL: remove obsolete reference to a memory list field
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a much larger code and data size.
Current Release:
Non-Debug Version: 95.2K Code, 26.4K Data, 121.6K Total
Debug Version: 183.0K Code, 76.0K Data, 259.0K Total
Previous Release:
Non-Debug Version: 95.6K Code, 26.8K Data, 122.4K Total
Debug Version: 183.5K Code, 76.6K Data, 260.1K Total
2) iASL Compiler/Disassembler and Tools:
AcpiExec: Added installation of a handler for the SystemCMOS address
space. This prevents control method abort if a method accesses this
space.
AcpiExec: Added support for multiple EC devices, and now install EC
operation region handler(s) at the actual EC device instead of the
namespace root. This reflects the typical behavior of host operating
systems.
AcpiExec: Updated to ensure that all operation region handlers are
installed before the _REG methods are executed. This prevents a _REG
method from aborting if it accesses an address space has no handler.
AcpiExec installs a handler for every possible address space.
Debugger: Enhanced the "handlers" command to display non-root handlers.
This change enhances the handlers command to display handlers associated
with individual devices throughout the namespace, in addition to the
currently supported display of handlers associated with the root
namespace
node.
ASL Test Suite: Several test suite errors have been identified and
resolved, reducing the total error count during execution. Chao Guan.
----------------------------------------
28 March 2013. Summary of changes for version 20130328:
1) ACPICA kernel-resident subsystem:
Fixed several possible race conditions with the internal object reference
counting mechanism. Some of the external ACPICA interfaces update object
reference counts without holding the interpreter or namespace lock. This
change adds a spinlock to protect reference count updates on the internal
ACPICA objects. Reported by and with assistance from Andriy Gapon
(avg@FreeBSD.org).
FADT support: Removed an extraneous warning for very large GPE register
sets. This change removes a size mismatch warning if the legacy length
field for a GPE register set is larger than the 64-bit GAS structure can
accommodate. GPE register sets can be larger than the 255-bit width
limitation of the GAS structure. Linn Crosetto (linn@hp.com).
_OSI Support: handle any errors from AcpiOsAcquireMutex. Check for error
return from this interface. Handles a possible timeout case if
ACPI_WAIT_FOREVER is modified by the host to be a value less than
"forever". Jung-uk Kim.
Predefined name support: Add allowed/required argument type information
to
the master predefined info table. This change adds the infrastructure to
enable typechecking on incoming arguments for all predefined
methods/objects. It does not actually contain the code that will fully
utilize this information, this is still under development. Also condenses
some duplicate code for the predefined names into a new module,
utilities/utpredef.c
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a much larger code and data size.
Previous Release:
Non-Debug Version: 95.0K Code, 25.9K Data, 120.9K Total
Debug Version: 182.9K Code, 75.6K Data, 258.5K Total
Current Release:
Non-Debug Version: 95.2K Code, 26.4K Data, 121.6K Total
Debug Version: 183.0K Code, 76.0K Data, 259.0K Total
2) iASL Compiler/Disassembler and Tools:
iASL: Implemented a new option to simplify the development of ACPI-
related
BIOS code. Adds support for a new "offset table" output file. The -so
option will create a C table containing the AML table offsets of various
named objects in the namespace so that BIOS code can modify them easily
at
boot time. This can simplify BIOS runtime code by eliminating expensive
searches for "magic values", enhancing boot times and adding greater
reliability. With assistance from Lee Hamel.
iASL: Allow additional predefined names to return zero-length packages.
Now, all predefined names that are defined by the ACPI specification to
return a "variable-length package of packages" are allowed to return a
zero length top-level package. This allows the BIOS to tell the host that
the requested feature is not supported, and supports existing BIOS/ASL
code and practices.
iASL: Changed the "result not used" warning to an error. This is the case
where an ASL operator is effectively a NOOP because the result of the
operation is not stored anywhere. For example:
Add (4, Local0)
There is no target (missing 3rd argument), nor is the function return
value used. This is potentially a very serious problem -- since the code
was probably intended to do something, but for whatever reason, the value
was not stored. Therefore, this issue has been upgraded from a warning to
an error.
AcpiHelp: Added allowable/required argument types to the predefined names
info display. This feature utilizes the recent update to the predefined
names table (above).
----------------------------------------
14 February 2013. Summary of changes for version 20130214:
1) ACPICA Kernel-resident Subsystem:
Fixed a possible regression on some hosts: Reinstated the safe return
macros (return_ACPI_STATUS, etc.) that ensure that the argument is
evaluated only once. Although these macros are not needed for the ACPICA
code itself, they are often used by ACPI-related host device drivers
where
the safe feature may be necessary.
Fixed several issues related to the ACPI 5.0 reduced hardware support
(SOC): Now ensure that if the platform declares itself as hardware-
reduced
via the FADT, the following functions become NOOPs (and always return
AE_OK) because ACPI is always enabled by definition on these machines:
AcpiEnable
AcpiDisable
AcpiHwGetMode
AcpiHwSetMode
Dynamic Object Repair: Implemented additional runtime repairs for
predefined name return values. Both of these repairs can simplify code in
the related device drivers that invoke these methods:
1) For the _STR and _MLS names, automatically repair/convert an ASCII
string to a Unicode buffer.
2) For the _CRS, _PRS, and _DMA names, return a resource descriptor with
a
lone end tag descriptor in the following cases: A Return(0) was executed,
a null buffer was returned, or no object at all was returned (non-slack
mode only). Adds a new file, nsconvert.c
ACPICA BZ 998. Bob Moore, Lv Zheng.
Resource Manager: Added additional code to prevent possible infinite
loops
while traversing corrupted or ill-formed resource template buffers. Check
for zero-length resource descriptors in all code that loops through
resource templates (the length field is used to index through the
template). This change also hardens the external AcpiWalkResources and
AcpiWalkResourceBuffer interfaces.
Local Cache Manager: Enhanced the main data structure to eliminate an
unnecessary mechanism to access the next object in the list. Actually
provides a small performance enhancement for hosts that use the local
ACPICA cache manager. Jung-uk Kim.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a much larger code and data size.
Previous Release:
Non-Debug Version: 94.5K Code, 25.4K Data, 119.9K Total
Debug Version: 182.3K Code, 75.0K Data, 257.3K Total
Current Release:
Non-Debug Version: 95.0K Code, 25.9K Data, 120.9K Total
Debug Version: 182.9K Code, 75.6K Data, 258.5K Total
2) iASL Compiler/Disassembler and Tools:
iASL/Disassembler: Fixed several issues with the definition of the ACPI
5.0 RASF table (RAS Feature Table). This change incorporates late changes
that were made to the ACPI 5.0 specification.
iASL/Disassembler: Added full support for the following new ACPI tables:
1) The MTMR table (MID Timer Table)
2) The VRTC table (Virtual Real Time Clock Table).
Includes header file, disassembler, table compiler, and template support
for both tables.
iASL: Implemented compile-time validation of package objects returned by
predefined names. This new feature validates static package objects
returned by the various predefined names defined to return packages. Both
object types and package lengths are validated, for both parent packages
and sub-packages, if any. The code is similar in structure and behavior
to
the runtime repair mechanism within the AML interpreter and uses the
existing predefined name information table. Adds a new file, aslprepkg.c.
ACPICA BZ 938.
iASL: Implemented auto-detection of binary ACPI tables for disassembly.
This feature detects a binary file with a valid ACPI table header and
invokes the disassembler automatically. Eliminates the need to
specifically invoke the disassembler with the -d option. ACPICA BZ 862.
iASL/Disassembler: Added several warnings for the case where there are
unresolved control methods during the disassembly. This can potentially
cause errors when the output file is compiled, because the disassembler
assumes zero method arguments in these cases (it cannot determine the
actual number of arguments without resolution/definition of the method).
Debugger: Added support to display all resources with a single command.
Invocation of the resources command with no arguments will now display
all
resources within the current namespace.
AcpiHelp: Added descriptive text for each ACPICA exception code displayed
via the -e option.
----------------------------------------
17 January 2013. Summary of changes for version 20130117:
1) ACPICA Kernel-resident Subsystem:
Updated the AcpiGetSleepTypeData interface: Allow the \_Sx methods to
return either 1 or 2 integers. Although the ACPI spec defines the \_Sx
objects to return a package containing one integer, most BIOS code
returns
two integers and the previous code reflects that. However, we also need
to
support BIOS code that actually implements to the ACPI spec, and this
change reflects this.
Fixed two issues with the ACPI_DEBUG_PRINT macros:
1) Added the ACPI_DO_WHILE macro to the main DEBUG_PRINT helper macro for
C compilers that require this support.
2) Renamed the internal ACPI_DEBUG macro to ACPI_DO_DEBUG_PRINT since
ACPI_DEBUG is already used by many of the various hosts.
Updated all ACPICA copyrights and signons to 2013. Added the 2013
copyright to all module headers and signons, including the standard Linux
header. This affects virtually every file in the ACPICA core subsystem,
iASL compiler, all ACPICA utilities, and the test suites.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a much larger code and data size.
Previous Release:
Non-Debug Version: 94.5K Code, 25.5K Data, 120.0K Total
Debug Version: 182.2K Code, 74.9K Data, 257.1K Total
Current Release:
Non-Debug Version: 94.5K Code, 25.4K Data, 119.9K Total
Debug Version: 182.3K Code, 75.0K Data, 257.3K Total
2) iASL Compiler/Disassembler and Tools:
Generic Unix OSL: Use a buffer to eliminate multiple vfprintf()s and
prevent a possible fault on some hosts. Some C libraries modify the arg
pointer parameter to vfprintf making it difficult to call it twice in the
AcpiOsVprintf function. Use a local buffer to workaround this issue. This
does not affect the Windows OSL since the Win C library does not modify
the arg pointer. Chao Guan, Bob Moore.
iASL: Fixed a possible infinite loop when the maximum error count is
reached. If an output file other than the .AML file is specified (such as
a listing file), and the maximum number of errors is reached, do not
attempt to flush data to the output file(s) as the compiler is aborting.
This can cause an infinite loop as the max error count code essentially
keeps calling itself.
iASL/Disassembler: Added an option (-in) to ignore NOOP
opcodes/operators.
Implemented for both the compiler and the disassembler. Often, the NOOP
opcode is used as padding for packages that are changed dynamically by
the
BIOS. When disassembled and recompiled, these NOOPs will cause syntax
errors. This option causes the disassembler to ignore all NOOP opcodes
(0xA3), and it also causes the compiler to ignore all ASL source code
NOOP
statements as well.
Debugger: Enhanced the Sleep command to execute all sleep states. This
change allows Sleep to be invoked with no arguments and causes the
debugger to execute all of the sleep states, 0-5, automatically.
----------------------------------------
20 December 2012. Summary of changes for version 20121220:
1) ACPICA Kernel-resident Subsystem:
Implemented a new interface, AcpiWalkResourceBuffer. This interface is an
alternate entry point for AcpiWalkResources and improves the usability of
the resource manager by accepting as input a buffer containing the output
of either a _CRS, _PRS, or _AEI method. The key functionality is that the
input buffer is not deleted by this interface so that it can be used by
the host later. See the ACPICA reference for details.
Interpreter: Add a warning if a 64-bit constant appears in a 32-bit table
(DSDT version < 2). The constant will be truncated and this warning
reflects that behavior.
Resource Manager: Add support for the new ACPI 5.0 wake bit in the IRQ,
ExtendedInterrupt, and GpioInt descriptors. This change adds support to
both get and set the new wake bit in these descriptors, separately from
the existing share bit. Reported by Aaron Lu.
Interpreter: Fix Store() when an implicit conversion is not possible. For
example, in the cases such as a store of a string to an existing package
object, implement the store as a CopyObject(). This is a small departure
from the ACPI specification which states that the control method should
be
aborted in this case. However, the ASLTS suite depends on this behavior.
Performance improvement for the various FUNCTION_TRACE and DEBUG_PRINT
macros: check if debug output is currently enabled as soon as possible to
minimize performance impact if debug is in fact not enabled.
Source code restructuring: Cleanup to improve modularity. The following
new files have been added: dbconvert.c, evhandler.c, nsprepkg.c,
psopinfo.c, psobject.c, rsdumpinfo.c, utstring.c, and utownerid.c.
Associated makefiles and project files have been updated.
Changed an exception code for LoadTable operator. For the case where one
of the input strings is too long, change the returned exception code from
AE_BAD_PARAMETER to AE_AML_STRING_LIMIT.
Fixed a possible memory leak in dispatcher error path. On error, delete
the mutex object created during method mutex creation. Reported by
tim.gardner@canonical.com.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a much larger code and data size.
Previous Release:
Non-Debug Version: 94.3K Code, 25.3K Data, 119.6K Total
Debug Version: 175.5K Code, 74.5K Data, 250.0K Total
Current Release:
Non-Debug Version: 94.5K Code, 25.5K Data, 120.0K Total
Debug Version: 182.2K Code, 74.9K Data, 257.1K Total
2) iASL Compiler/Disassembler and Tools:
iASL: Disallow a method call as argument to the ObjectType ASL operator.
This change tracks an errata to the ACPI 5.0 document. The AML grammar
will not allow the interpreter to differentiate between a method and a
method invocation when these are used as an argument to the ObjectType
operator. The ACPI specification change is to disallow a method
invocation
(UserTerm) for the ObjectType operator.
Finish support for the TPM2 and CSRT tables in the headers, table
compiler, and disassembler.
Unix user-space OSL: Fix a problem with WaitSemaphore where the timeout
always expires immediately if the semaphore is not available. The
original
code was using a relative-time timeout, but sem_timedwait requires the
use
of an absolute time.
iASL: Added a remark if the Timer() operator is used within a 32-bit
table. This operator returns a 64-bit time value that will be truncated
within a 32-bit table.
iASL Source code restructuring: Cleanup to improve modularity. The
following new files have been added: aslhex.c, aslxref.c, aslnamesp.c,
aslmethod.c, and aslfileio.c. Associated makefiles and project files have
been updated.
----------------------------------------
14 November 2012. Summary of changes for version 20121114:
1) ACPICA Kernel-resident Subsystem:
Implemented a performance enhancement for ACPI/AML Package objects. This
change greatly increases the performance of Package objects within the
interpreter. It changes the processing of reference counts for packages
by
optimizing for the most common case where the package sub-objects are
either Integers, Strings, or Buffers. Increases the overall performance
of
the ASLTS test suite by 1.5X (Increases the Slack Mode performance by
2X.)
Chao Guan. ACPICA BZ 943.
Implemented and deployed common macros to extract flag bits from resource
descriptors. Improves readability and maintainability of the code. Fixes
a
problem with the UART serial bus descriptor for the number of data bits
flags (was incorrectly 2 bits, should be 3).
Enhanced the ACPI_GETx and ACPI_SETx macros. Improved the implementation
of the macros and changed the SETx macros to the style of (destination,
source). Also added ACPI_CASTx companion macros. Lv Zheng.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a much larger code and data size.
Previous Release:
Non-Debug Version: 93.9K Code, 25.2K Data, 119.1K Total
Debug Version: 175.5K Code, 74.5K Data, 250.0K Total
Current Release:
Non-Debug Version: 94.3K Code, 25.3K Data, 119.6K Total
Debug Version: 175.5K Code, 74.5K Data, 250.0K Total
2) iASL Compiler/Disassembler and Tools:
Disassembler: Added the new ACPI 5.0 interrupt sharing flags. This change
adds the ShareAndWake and ExclusiveAndWake flags which were added to the
Irq, Interrupt, and Gpio resource descriptors in ACPI 5.0. ACPICA BZ 986.
Disassembler: Fixed a problem with external declaration generation. Fixes
a problem where an incorrect pathname could be generated for an external
declaration if the original reference to the object includes leading
carats (^). ACPICA BZ 984.
Debugger: Completed a major update for the Disassemble<method> command.
This command was out-of-date and did not properly disassemble control
methods that had any reasonable complexity. This fix brings the command
up
to the same level as the rest of the disassembler. Adds one new file,
dmdeferred.c, which is existing code that is now common with the main
disassembler and the debugger disassemble command. ACPICA MZ 978.
iASL: Moved the parser entry prototype to avoid a duplicate declaration.
Newer versions of Bison emit this prototype, so moved the prototype out
of
the iASL header to where it is actually used in order to avoid a
duplicate
declaration.
iASL/Tools: Standardized use of the stream I/O functions:
1) Ensure check for I/O error after every fopen/fread/fwrite
2) Ensure proper order of size/count arguments for fread/fwrite
3) Use test of (Actual != Requested) after all fwrite, and most fread
4) Standardize I/O error messages
Improves reliability and maintainability of the code. Bob Moore, Lv
Zheng.
ACPICA BZ 981.
Disassembler: Prevent duplicate External() statements. During generation
of external statements, detect similar pathnames that are actually
duplicates such as these:
External (\ABCD)
External (ABCD)
Remove all leading '\' characters from pathnames during the external
statement generation so that duplicates will be detected and tossed.
ACPICA BZ 985.
Tools: Replace low-level I/O with stream I/O functions. Replace
open/read/write/close with the stream I/O equivalents
fopen/fread/fwrite/fclose for portability and performance. Lv Zheng, Bob
Moore.
AcpiBin: Fix for the dump-to-hex function. Now correctly output the table
name header so that AcpiXtract recognizes the output file/table.
iASL: Remove obsolete -2 option flag. Originally intended to force the
compiler/disassembler into an ACPI 2.0 mode, this was never implemented
and the entire concept is now obsolete.
----------------------------------------
18 October 2012. Summary of changes for version 20121018:
1) ACPICA Kernel-resident Subsystem:
Updated support for the ACPI 5.0 MPST table. Fixes some problems
introduced by late changes to the table as it was added to the ACPI 5.0
specification. Includes header, disassembler, and data table compiler
support as well as a new version of the MPST template.
AcpiGetObjectInfo: Enhanced the device object support to include the ACPI
5.0 _SUB method. Now calls _SUB in addition to the other PNP-related ID
methods: _HID, _CID, and _UID.
Changed ACPI_DEVICE_ID to ACPI_PNP_DEVICE_ID. Also changed
ACPI_DEVICE_ID_LIST to ACPI_PNP_DEVICE_ID_LIST. These changes prevent
name collisions on hosts that reserve the *_DEVICE_ID (or *DeviceId)
names for their various drivers. Affects the AcpiGetObjectInfo external
interface, and other internal interfaces as well.
Added and deployed a new macro for ACPI_NAME management: ACPI_MOVE_NAME.
This macro resolves to a simple 32-bit move of the 4-character ACPI_NAME
on machines that support non-aligned transfers. Optimizes for this case
rather than using a strncpy. With assistance from Zheng Lv.
Resource Manager: Small fix for buffer size calculation. Fixed a one byte
error in the output buffer calculation. Feng Tang. ACPICA BZ 849.
Added a new debug print message for AML mutex objects that are force-
released. At control method termination, any currently acquired mutex
objects are force-released. Adds a new debug-only message for each one
that is released.
Audited/updated all ACPICA return macros and the function debug depth
counter: 1) Ensure that all functions that use the various TRACE macros
also use the appropriate ACPICA return macros. 2) Ensure that all normal
return statements surround the return expression (value) with parens to
ensure consistency across the ACPICA code base. Guan Chao, Tang Feng,
Zheng Lv, Bob Moore. ACPICA Bugzilla 972.
Global source code changes/maintenance: All extra lines at the start and
end of each source file have been removed for consistency. Also, within
comments, all new sentences start with a single space instead of a double
space, again for consistency across the code base.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a much larger code and data size.
Previous Release:
Non-Debug Version: 93.7K Code, 25.3K Data, 119.0K Total
Debug Version: 175.0K Code, 74.4K Data, 249.4K Total
Current Release:
Non-Debug Version: 93.9K Code, 25.2K Data, 119.1K Total
Debug Version: 175.5K Code, 74.5K Data, 250.0K Total
2) iASL Compiler/Disassembler and Tools:
AcpiExec: Improved the algorithm used for memory leak/corruption
detection. Added some intelligence to the code that maintains the global
list of allocated memory. The list is now ordered by allocated memory
address, significantly improving performance. When running AcpiExec on
the ASLTS test suite, speed improvements of 3X to 5X are seen, depending
on the platform and/or the environment. Note, this performance
enhancement affects the AcpiExec utility only, not the kernel-resident
ACPICA code.
Enhanced error reporting for invalid AML opcodes and bad ACPI_NAMEs. For
the disassembler, dump the 48 bytes surrounding the invalid opcode. Fix
incorrect table offset reported for invalid opcodes. Report the original
32-bit value for bad ACPI_NAMEs (as well as the repaired name.)
Disassembler: Enhanced the -vt option to emit the binary table data in
hex format to assist with debugging.
Fixed a potential filename buffer overflow in osunixdir.c. Increased the
size of file structure. Colin Ian King.
----------------------------------------
13 September 2012. Summary of changes for version 20120913:
1) ACPICA Kernel-resident Subsystem:
ACPI 5.0: Added two new notify types for the Hardware Error Notification
Structure within the Hardware Error Source Table (HEST) table -- CMCI(5)
and
MCE(6).
Table Manager: Merged/removed duplicate code in the root table resize
functions. One function is external, the other is internal. Lv Zheng,
ACPICA
BZ 846.
Makefiles: Completely removed the obsolete "Linux" makefiles under
acpica/generate/linux. These makefiles are obsolete and have been
replaced
by
the generic unix makefiles under acpica/generate/unix.
Makefiles: Ensure that binary files always copied properly. Minor rule
change
to ensure that the final binary output files are always copied up to the
appropriate binary directory (bin32 or bin64.)
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug
version of the code includes the debug output trace mechanism and has a
much
larger code and data size.
Previous Release:
Non-Debug Version: 93.8K Code, 25.3K Data, 119.1K Total
Debug Version: 175.7K Code, 74.8K Data, 250.5K Total
Current Release:
Non-Debug Version: 93.7K Code, 25.3K Data, 119.0K Total
Debug Version: 175.0K Code, 74.4K Data, 249.4K Total
2) iASL Compiler/Disassembler and Tools:
Disassembler: Fixed a possible fault during the disassembly of resource
descriptors when a second parse is required because of the invocation of
external control methods within the table. With assistance from
adq@lidskialf.net. ACPICA BZ 976.
iASL: Fixed a namepath optimization problem. An error can occur if the
parse
node that contains the namepath to be optimized does not have a parent
node
that is a named object. This change fixes the problem.
iASL: Fixed a regression where the AML file is not deleted on errors. The
AML
output file should be deleted if there are any errors during the
compiler.
The
only exception is if the -f (force output) option is used. ACPICA BZ 974.
iASL: Added a feature to automatically increase internal line buffer
sizes.
Via realloc(), automatically increase the internal line buffer sizes as
necessary to support very long source code lines. The current version of
the
preprocessor requires a buffer long enough to contain full source code
lines.
This change increases the line buffer(s) if the input lines go beyond the
current buffer size. This eliminates errors that occurred when a source
code
line was longer than the buffer.
iASL: Fixed a problem with constant folding in method declarations. The
SyncLevel term is a ByteConstExpr, and incorrect code would be generated
if a
Type3 opcode was used.
Debugger: Improved command help support. For incorrect argument count,
display
full help for the command. For help command itself, allow an argument to
specify a command.
Test Suites: Several bug fixes for the ASLTS suite reduces the number of
errors during execution of the suite. Guan Chao.
----------------------------------------
16 August 2012. Summary of changes for version 20120816:
1) ACPICA Kernel-resident Subsystem:
Removed all use of the deprecated _GTS and _BFS predefined methods. The
_GTS
(Going To Sleep) and _BFS (Back From Sleep) methods are essentially
deprecated and will probably be removed from the ACPI specification.
Windows
does not invoke them, and reportedly never will. The final nail in the
coffin
is that the ACPI specification states that these methods must be run with
interrupts off, which is not going to happen in a kernel interpreter.
Note:
Linux has removed all use of the methods also. It was discovered that
invoking these functions caused failures on some machines, probably
because
they were never tested since Windows does not call them. Affects two
external
interfaces, AcpiEnterSleepState and AcpiLeaveSleepStatePrep. Tang Feng.
ACPICA BZ 969.
Implemented support for complex bit-packed buffers returned from the _PLD
(Physical Location of Device) predefined method. Adds a new external
interface, AcpiDecodePldBuffer that parses the buffer into a more usable
C
structure. Note: C Bitfields cannot be used for this type of predefined
structure since the memory layout of individual bitfields is not defined
by
the C language. In addition, there are endian concerns where a compiler
will
change the bitfield ordering based on the machine type. The new ACPICA
interface eliminates these issues, and should be called after _PLD is
executed. ACPICA BZ 954.
Implemented a change to allow a scope change to root (via "Scope (\)")
during
execution of module-level ASL code (code that is executed at table load
time.) Lin Ming.
Added the Windows8/Server2012 string for the _OSI method. This change
adds
a
new _OSI string, "Windows 2012" for both Windows 8 and Windows Server
2012.
Added header support for the new ACPI tables DBG2 (Debug Port Table Type
2)
and CSRT (Core System Resource Table).
Added struct header support for the _FDE, _GRT, _GTM, and _SRT predefined
names. This simplifies access to the buffers returned by these predefined
names. Adds a new file, include/acbuffer.h. ACPICA BZ 956.
GPE support: Removed an extraneous parameter from the various low-level
internal GPE functions. Tang Feng.
Removed the linux makefiles from the unix packages. The generate/linux
makefiles are obsolete and have been removed from the unix tarball
release
packages. The replacement makefiles are under generate/unix, and there is
a
top-level makefile under the main acpica directory. ACPICA BZ 967, 912.
Updates for Unix makefiles:
1) Add -D_FORTIFY_SOURCE=2 for gcc generation. Arjan van de Ven.
2) Update linker flags (move to end of command line) for AcpiExec
utility.
Guan Chao.
Split ACPICA initialization functions to new file, utxfinit.c. Split from
utxface.c to improve modularity and reduce file size.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a
much larger code and data size.
Previous Release:
Non-Debug Version: 93.5K Code, 25.3K Data, 118.8K Total
Debug Version: 173.7K Code, 74.0K Data, 247.7K Total
Current Release:
Non-Debug Version: 93.8K Code, 25.3K Data, 119.1K Total
Debug Version: 175.7K Code, 74.8K Data, 250.5K Total
2) iASL Compiler/Disassembler and Tools:
iASL: Fixed a problem with constant folding for fixed-length constant
expressions. The constant-folding code was not being invoked for constant
expressions that allow the use of type 3/4/5 opcodes to generate
constants
for expressions such as ByteConstExpr, WordConstExpr, etc. This could
result
in the generation of invalid AML bytecode. ACPICA BZ 970.
iASL: Fixed a generation issue on newer versions of Bison. Newer versions
apparently automatically emit some of the necessary externals. This
change
handles these versions in order to eliminate generation warnings.
Disassembler: Added support to decode the DBG2 and CSRT ACPI tables.
Disassembler: Add support to decode _PLD buffers. The decoded buffer
appears
within comments in the output file.
Debugger: Fixed a regression with the "Threads" command where
AE_BAD_PARAMETER was always returned.
----------------------------------------
11 July 2012. Summary of changes for version 20120711:
1) ACPICA Kernel-resident Subsystem:
Fixed a possible fault in the return package object repair code. Fixes a
problem that can occur when a lone package object is wrapped with an
outer
package object in order to force conformance to the ACPI specification.
Can
affect these predefined names: _ALR, _MLS, _PSS, _TRT, _TSS, _PRT, _HPX,
_DLM,
_CSD, _PSD, _TSD.
Removed code to disable/enable bus master arbitration (ARB_DIS bit in the
PM2_CNT register) in the ACPICA sleep/wake interfaces. Management of the
ARB_DIS bit must be implemented in the host-dependent C3 processor power
state
support. Note, ARB_DIS is obsolete and only applies to older chipsets,
both
Intel and other vendors. (for Intel: ICH4-M and earlier)
This change removes the code to disable/enable bus master arbitration
during
suspend/resume. Use of the ARB_DIS bit in the optional PM2_CNT register
causes
resume problems on some machines. The change has been in use for over
seven
years within Linux.
Implemented two new external interfaces to support host-directed dynamic
ACPI
table load and unload. They are intended to simplify the host
implementation
of hot-plug support:
AcpiLoadTable: Load an SSDT from a buffer into the namespace.
AcpiUnloadParentTable: Unload an SSDT via a named object owned by the
table.
See the ACPICA reference for additional details. Adds one new file,
components/tables/tbxfload.c
Implemented and deployed two new interfaces for errors and warnings that
are
known to be caused by BIOS/firmware issues:
AcpiBiosError: Prints "ACPI Firmware Error" message.
AcpiBiosWarning: Prints "ACPI Firmware Warning" message.
Deployed these new interfaces in the ACPICA Table Manager code for ACPI
table
and FADT errors. Additional deployment to be completed as appropriate in
the
future. The associated conditional macros are ACPI_BIOS_ERROR and
ACPI_BIOS_WARNING. See the ACPICA reference for additional details.
ACPICA
BZ
843.
Implicit notify support: ensure that no memory allocation occurs within a
critical region. This fix moves a memory allocation outside of the time
that a
spinlock is held. Fixes issues on systems that do not allow this
behavior.
Jung-uk Kim.
Split exception code utilities and tables into a new file,
utilities/utexcep.c
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug
version of the code includes the debug output trace mechanism and has a
much
larger code and data size.
Previous Release:
Non-Debug Version: 93.1K Code, 25.1K Data, 118.2K Total
Debug Version: 172.9K Code, 73.6K Data, 246.5K Total
Current Release:
Non-Debug Version: 93.5K Code, 25.3K Data, 118.8K Total
Debug Version: 173.7K Code, 74.0K Data, 247.7K Total
2) iASL Compiler/Disassembler and Tools:
iASL: Fixed a parser problem for hosts where EOF is defined as -1 instead
of
0. Jung-uk Kim.
Debugger: Enhanced the "tables" command to emit additional information
about
the current set of ACPI tables, including the owner ID and flags decode.
Debugger: Reimplemented the "unload" command to use the new
AcpiUnloadParentTable external interface. This command was disable
previously
due to need for an unload interface.
AcpiHelp: Added a new option to decode ACPICA exception codes. The -e
option
will decode 16-bit hex status codes (ACPI_STATUS) to name strings.
----------------------------------------
20 June 2012. Summary of changes for version 20120620:
1) ACPICA Kernel-resident Subsystem:
Implemented support to expand the "implicit notify" feature to allow
multiple
devices to be notified by a single GPE. This feature automatically
generates a
runtime device notification in the absence of a BIOS-provided GPE control
method (_Lxx/_Exx) or a host-installed handler for the GPE. Implicit
notify is
provided by ACPICA for Windows compatibility, and is a workaround for
BIOS
AML
code errors. See the description of the AcpiSetupGpeForWake interface in
the
APCICA reference. Bob Moore, Rafael Wysocki. ACPICA BZ 918.
Changed some comments and internal function names to simplify and ensure
correctness of the Linux code translation. No functional changes.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug
version of the code includes the debug output trace mechanism and has a
much
larger code and data size.
Previous Release:
Non-Debug Version: 93.0K Code, 25.1K Data, 118.1K Total
Debug Version: 172.7K Code, 73.6K Data, 246.3K Total
Current Release:
Non-Debug Version: 93.1K Code, 25.1K Data, 118.2K Total
Debug Version: 172.9K Code, 73.6K Data, 246.5K Total
2) iASL Compiler/Disassembler and Tools:
Disassembler: Added support to emit short, commented descriptions for the
ACPI
predefined names in order to improve the readability of the disassembled
output. ACPICA BZ 959. Changes include:
1) Emit descriptions for all standard predefined names (_INI, _STA,
_PRW,
etc.)
2) Emit generic descriptions for the special names (_Exx, _Qxx, etc.)
3) Emit descriptions for the resource descriptor names (_MIN, _LEN,
etc.)
AcpiSrc: Fixed several long-standing Linux code translation issues.
Argument
descriptions in function headers are now translated properly to lower
case
and
underscores. ACPICA BZ 961. Also fixes translation problems such as
these:
(old -> new)
i_aSL -> iASL
00-7_f -> 00-7F
16_k -> 16K
local_fADT -> local_FADT
execute_oSI -> execute_OSI
iASL: Fixed a problem where null bytes were inadvertently emitted into
some
listing files.
iASL: Added the existing debug options to the standard help screen. There
are
no longer two different help screens. ACPICA BZ 957.
AcpiHelp: Fixed some typos in the various predefined name descriptions.
Also
expand some of the descriptions where appropriate.
iASL: Fixed the -ot option (display compile times/statistics). Was not
working
properly for standard output; only worked for the debug file case.
----------------------------------------
18 May 2012. Summary of changes for version 20120518:
1) ACPICA Core Subsystem:
Added a new OSL interface, AcpiOsWaitEventsComplete. This interface is
defined
to block until asynchronous events such as notifies and GPEs have
completed.
Within ACPICA, it is only called before a notify or GPE handler is
removed/uninstalled. It also may be useful for the host OS within related
drivers such as the Embedded Controller driver. See the ACPICA reference
for
additional information. ACPICA BZ 868.
ACPI Tables: Added a new error message for a possible overflow failure
during
the conversion of FADT 32-bit legacy register addresses to internal
common
64-
bit GAS structure representation. The GAS has a one-byte "bit length"
field,
thus limiting the register length to 255 bits. ACPICA BZ 953.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug
version of the code includes the debug output trace mechanism and has a
much
larger code and data size.
Previous Release:
Non-Debug Version: 92.9K Code, 25.0K Data, 117.9K Total
Debug Version: 172.6K Code, 73.4K Data, 246.0K Total
Current Release:
Non-Debug Version: 93.0K Code, 25.1K Data, 118.1K Total
Debug Version: 172.7K Code, 73.6K Data, 246.3K Total
2) iASL Compiler/Disassembler and Tools:
iASL: Added the ACPI 5.0 "PCC" keyword for use in the Register() ASL
macro.
This keyword was added late in the ACPI 5.0 release cycle and was not
implemented until now.
Disassembler: Added support for Operation Region externals. Adds missing
support for operation regions that are defined in another table, and
referenced locally via a Field or BankField ASL operator. Now generates
the
correct External statement.
Disassembler: Several additional fixes for the External() statement
generation
related to some ASL operators. Also, order the External() statements
alphabetically in the disassembler output. Fixes the External()
generation
for
the Create* field, Alias, and Scope operators:
1) Create* buffer field operators - fix type mismatch warning on
disassembly
2) Alias - implement missing External support
3) Scope - fix to make sure all necessary externals are emitted.
iASL: Improved pathname support. For include files, merge the prefix
pathname
with the file pathname and eliminate unnecessary components. Convert
backslashes in all pathnames to forward slashes, for readability. Include
file
pathname changes affect both #include and Include() type operators.
iASL/DTC/Preprocessor: Gracefully handle early EOF. Handle an EOF at the
end
of a valid line by inserting a newline and then returning the EOF during
the
next call to GetNextLine. Prevents the line from being ignored due to EOF
condition.
iASL: Implemented some changes to enhance the IDE support (-vi option.)
Error
and Warning messages are now correctly recognized for both the source
code
browser and the global error and warning counts.
----------------------------------------
20 April 2012. Summary of changes for version 20120420:
1) ACPICA Core Subsystem:
Implemented support for multiple notify handlers. This change adds
support
to
allow multiple system and device notify handlers on Device, Thermal Zone,
and
Processor objects. This can simplify the host OS notification
implementation.
Also re-worked and restructured the entire notify support code to
simplify
handler installation, handler removal, notify event queuing, and notify
dispatch to handler(s). Note: there can still only be two global notify
handlers - one for system notifies and one for device notifies. There are
no
changes to the existing handler install/remove interfaces. Lin Ming, Bob
Moore, Rafael Wysocki.
Fixed a regression in the package repair code where the object reference
count was calculated incorrectly. Regression was introduced in the commit
"Support to add Package wrappers".
Fixed a couple possible memory leaks in the AML parser, in the error
recovery
path. Jesper Juhl, Lin Ming.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a
much larger code and data size.
Previous Release:
Non-Debug Version: 92.9K Code, 25.0K Data, 117.9K Total
Debug Version: 172.5K Code, 73.2K Data, 245.7K Total
Current Release:
Non-Debug Version: 92.9K Code, 25.0K Data, 117.9K Total
Debug Version: 172.6K Code, 73.4K Data, 246.0K Total
2) iASL Compiler/Disassembler and Tools:
iASL: Fixed a problem with the resource descriptor support where the
length
of the StartDependentFn and StartDependentFnNoPrio descriptors were not
included in cumulative descriptor offset, resulting in incorrect values
for
resource tags within resource descriptors appearing after a
StartDependent*
descriptor. Reported by Petr Vandrovec. ACPICA BZ 949.
iASL and Preprocessor: Implemented full support for the #line directive
to
correctly track original source file line numbers through the .i
preprocessor
output file - for error and warning messages.
iASL: Expand the allowable byte constants for address space IDs.
Previously,
the allowable range was 0x80-0xFF (user-defined spaces), now the range is
0x0A-0xFF to allow for custom and new IDs without changing the compiler.
iASL: Add option to treat all warnings as errors (-we). ACPICA BZ 948.
iASL: Add option to completely disable the preprocessor (-Pn).
iASL: Now emit all error/warning messages to standard error (stderr) by
default (instead of the previous stdout).
ASL Test Suite (ASLTS): Reduce iASL warnings due to use of Switch().
Update
for resource descriptor offset fix above. Update/cleanup error output
routines. Enable and send iASL errors/warnings to an error logfile
(error.txt). Send all other iASL output to a logfile (compiler.txt).
Fixed
several extraneous "unrecognized operator" messages.
----------------------------------------
20 March 2012. Summary of changes for version 20120320:
1) ACPICA Core Subsystem:
Enhanced the sleep/wake interfaces to optionally execute the _GTS method
(Going To Sleep) and the _BFS method (Back From Sleep). Windows
apparently
does not execute these methods, and therefore these methods are often
untested. It has been seen on some systems where the execution of these
methods causes errors and also prevents the machine from entering S5. It
is
therefore suggested that host operating systems do not execute these
methods
by default. In the future, perhaps these methods can be optionally
executed
based on the age of the system and/or what is the newest version of
Windows
that the BIOS asks for via _OSI. Changed interfaces: AcpiEnterSleepState
and
AcpileaveSleepStatePrep. See the ACPICA reference and Linux BZ 13041. Lin
Ming.
Fixed a problem where the length of the local/common FADT was set too
early.
The local FADT table length cannot be set to the common length until the
original length has been examined. There is code that checks the table
length
and sets various fields appropriately. This can affect older machines
with
early FADT versions. For example, this can cause inadvertent writes to
the
CST_CNT register. Julian Anastasov.
Fixed a mapping issue related to a physical table override. Use the
deferred
mapping mechanism for tables loaded via the physical override OSL
interface.
This allows for early mapping before the virtual memory manager is
available.
Thomas Renninger, Bob Moore.
Enhanced the automatic return-object repair code: Repair a common problem
with
predefined methods that are defined to return a variable-length Package
of
sub-objects. If there is only one sub-object, some BIOS ASL code
mistakenly
simply returns the single object instead of a Package with one sub-
object.
This new support will repair this error by wrapping a Package object
around
the original object, creating the correct and expected Package with one
sub-
object. Names that can be repaired in this manner include: _ALR, _CSD,
_HPX,
_MLS, _PLD, _PRT, _PSS, _TRT, _TSS, _BCL, _DOD, _FIX, and _Sx. ACPICA BZ
939.
Changed the exception code returned for invalid ACPI paths passed as
parameters to external interfaces such as AcpiEvaluateObject. Was
AE_BAD_PARAMETER, now is the more sensible AE_BAD_PATHNAME.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug
version of the code includes the debug output trace mechanism and has a
much
larger code and data size.
Previous Release:
Non-Debug Version: 93.0K Code, 25.0K Data, 118.0K Total
Debug Version: 172.5K Code, 73.2K Data, 245.7K Total
Current Release:
Non-Debug Version: 92.9K Code, 25.0K Data, 117.9K Total
Debug Version: 172.5K Code, 73.2K Data, 245.7K Total
2) iASL Compiler/Disassembler and Tools:
iASL: Added the infrastructure and initial implementation of a integrated
C-
like preprocessor. This will simplify BIOS development process by
eliminating
the need for a separate preprocessing step during builds. On Windows, it
also
eliminates the need to install a separate C compiler. ACPICA BZ 761. Some
features including full #define() macro support are still under
development.
These preprocessor directives are supported:
#define
#elif
#else
#endif
#error
#if
#ifdef
#ifndef
#include
#pragma message
#undef
#warning
In addition, these new command line options are supported:
-D <symbol> Define symbol for preprocessor use
-li Create preprocessed output file (*.i)
-P Preprocess only and create preprocessor output file (*.i)
Table Compiler: Fixed a problem where the equals operator within an
expression
did not work properly.
Updated iASL to use the current versions of Bison/Flex. Updated the
Windows
project file to invoke these tools from the standard location. ACPICA BZ
904.
Versions supported:
Flex for Windows: V2.5.4
Bison for Windows: V2.4.1
----------------------------------------
15 February 2012. Summary of changes for version 20120215:
1) ACPICA Core Subsystem:
There have been some major changes to the sleep/wake support code, as
described below (a - e).
a) The AcpiLeaveSleepState has been split into two interfaces, similar to
AcpiEnterSleepStatePrep and AcpiEnterSleepState. The new interface is
AcpiLeaveSleepStatePrep. This allows the host to perform actions between
the
time the _BFS method is called and the _WAK method is called. NOTE: all
hosts
must update their wake/resume code or else sleep/wake will not work
properly.
Rafael Wysocki.
b) In AcpiLeaveSleepState, now enable all runtime GPEs before calling the
_WAK
method. Some machines require that the GPEs are enabled before the _WAK
method
is executed. Thomas Renninger.
c) In AcpiLeaveSleepState, now always clear the WAK_STS (wake status)
bit.
Some BIOS code assumes that WAK_STS will be cleared on resume and use it
to
determine whether the system is rebooting or resuming. Matthew Garrett.
d) Move the invocations of _GTS (Going To Sleep) and _BFS (Back From
Sleep) to
match the ACPI specification requirement. Rafael Wysocki.
e) Implemented full support for the ACPI 5.0 SleepStatus and SleepControl
registers within the V5 FADT. This support adds two new files:
hardware/hwesleep.c implements the support for the new registers. Moved
all
sleep/wake external interfaces to hardware/hwxfsleep.c.
Added a new OSL interface for ACPI table overrides,
AcpiOsPhysicalTableOverride. This interface allows the host to override a
table via a physical address, instead of the logical address required by
AcpiOsTableOverride. This simplifies the host implementation. Initial
implementation by Thomas Renninger. The ACPICA implementation creates a
single
shared function for table overrides that attempts both a logical and a
physical override.
Expanded the OSL memory read/write interfaces to 64-bit data
(AcpiOsReadMemory, AcpiOsWriteMemory.) This enables full 64-bit memory
transfer support for GAS register structures passed to AcpiRead and
AcpiWrite.
Implemented the ACPI_REDUCED_HARDWARE option to allow the creation of a
custom
build of ACPICA that supports only the ACPI 5.0 reduced hardware (SoC)
model.
See the ACPICA reference for details. ACPICA BZ 942. This option removes
about
10% of the code and 5% of the static data, and the following hardware
ACPI
features become unavailable:
PM Event and Control registers
SCI interrupt (and handler)
Fixed Events
General Purpose Events (GPEs)
Global Lock
ACPI PM timer
FACS table (Waking vectors and Global Lock)
Updated the unix tarball directory structure to match the ACPICA git
source
tree. This ensures that the generic unix makefiles work properly (in
generate/unix). Also updated the Linux makefiles to match. ACPICA BZ
867.
Updated the return value of the _REV predefined method to integer value 5
to
reflect ACPI 5.0 support.
Moved the external ACPI PM timer interface prototypes to the public
acpixf.h
file where they belong.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug
version of the code includes the debug output trace mechanism and has a
much
larger code and data size.
Previous Release:
Non-Debug Version: 92.8K Code, 24.9K Data, 117.7K Total
Debug Version: 171.7K Code, 72.9K Data, 244.5K Total
Current Release:
Non-Debug Version: 93.0K Code, 25.0K Data, 118.0K Total
Debug Version: 172.5K Code, 73.2K Data, 245.7K Total
2) iASL Compiler/Disassembler and Tools:
Disassembler: Fixed a problem with the new ACPI 5.0 serial resource
descriptors (I2C, SPI, UART) where the resource produce/consumer bit was
incorrectly displayed.
AcpiHelp: Add display of ACPI/PNP device IDs that are defined in the ACPI
specification.
----------------------------------------
11 January 2012. Summary of changes for version 20120111:
1) ACPICA Core Subsystem:
Implemented a new mechanism to allow host device drivers to check for
address
range conflicts with ACPI Operation Regions. Both SystemMemory and
SystemIO
address spaces are supported. A new external interface,
AcpiCheckAddressRange,
allows drivers to check an address range against the ACPI namespace. See
the
ACPICA reference for additional details. Adds one new file,
utilities/utaddress.c. Lin Ming, Bob Moore.
Fixed several issues with the ACPI 5.0 FADT support: Add the sleep
Control
and
Status registers, update the ACPI 5.0 flags, and update internal data
structures to handle an FADT larger than 256 bytes. The size of the ACPI
5.0
FADT is 268 bytes.
Updated all ACPICA copyrights and signons to 2012. Added the 2012
copyright to
all module headers and signons, including the standard Linux header. This
affects virtually every file in the ACPICA core subsystem, iASL compiler,
and
all ACPICA utilities.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug
version of the code includes the debug output trace mechanism and has a
much
larger code and data size.
Previous Release:
Non-Debug Version: 92.3K Code, 24.9K Data, 117.2K Total
Debug Version: 170.8K Code, 72.6K Data, 243.4K Total
Current Release:
Non-Debug Version: 92.8K Code, 24.9K Data, 117.7K Total
Debug Version: 171.7K Code, 72.9K Data, 244.5K Total
2) iASL Compiler/Disassembler and Tools:
Disassembler: fixed a problem with the automatic resource tag generation
support. Fixes a problem where the resource tags are inadvertently not
constructed if the table being disassembled contains external references
to
control methods. Moved the actual construction of the tags to after the
final
namespace is constructed (after 2nd parse is invoked due to external
control
method references.) ACPICA BZ 941.
Table Compiler: Make all "generic" operators caseless. These are the
operators
like UINT8, String, etc. Making these caseless improves ease-of-use.
ACPICA BZ
934.
----------------------------------------
23 November 2011. Summary of changes for version 20111123:
0) ACPI 5.0 Support:
This release contains full support for the ACPI 5.0 specification, as
summarized below.
Reduced Hardware Support:
-------------------------
This support allows for ACPI systems without the usual ACPI hardware.
This
support is enabled by a flag in the revision 5 FADT. If it is set, ACPICA
will
not attempt to initialize or use any of the usual ACPI hardware. Note,
when
this flag is set, all of the following ACPI hardware is assumed to be not
present and is not initialized or accessed:
General Purpose Events (GPEs)
Fixed Events (PM1a/PM1b and PM Control)
Power Management Timer and Console Buttons (power/sleep)
Real-time Clock Alarm
Global Lock
System Control Interrupt (SCI)
The FACS is assumed to be non-existent
ACPI Tables:
------------
All new tables and updates to existing tables are fully supported in the
ACPICA headers (for use by device drivers), the disassembler, and the
iASL
Data Table Compiler. ACPI 5.0 defines these new tables:
BGRT /* Boot Graphics Resource Table */
DRTM /* Dynamic Root of Trust for Measurement table */
FPDT /* Firmware Performance Data Table */
GTDT /* Generic Timer Description Table */
MPST /* Memory Power State Table */
PCCT /* Platform Communications Channel Table */
PMTT /* Platform Memory Topology Table */
RASF /* RAS Feature table */
Operation Regions/SpaceIDs:
---------------------------
All new operation regions are fully supported by the iASL compiler, the
disassembler, and the ACPICA runtime code (for dispatch to region
handlers.)
The new operation region Space IDs are:
GeneralPurposeIo
GenericSerialBus
Resource Descriptors:
---------------------
All new ASL resource descriptors are fully supported by the iASL
compiler,
the
ASL/AML disassembler, and the ACPICA runtime Resource Manager code
(including
all new predefined resource tags). New descriptors are:
FixedDma
GpioIo
GpioInt
I2cSerialBus
SpiSerialBus
UartSerialBus
ASL/AML Operators, New and Modified:
------------------------------------
One new operator is added, the Connection operator, which is used to
associate
a GeneralPurposeIo or GenericSerialBus resource descriptor with
individual
field objects within an operation region. Several new protocols are
associated
with the AccessAs operator. All are fully supported by the iASL compiler,
disassembler, and runtime ACPICA AML interpreter:
Connection // Declare Field Connection
attributes
AccessAs: AttribBytes (n) // Read/Write N-Bytes Protocol
AccessAs: AttribRawBytes (n) // Raw Read/Write N-Bytes
Protocol
AccessAs: AttribRawProcessBytes (n) // Raw Process Call Protocol
RawDataBuffer // Data type for Vendor Data
fields
Predefined ASL/AML Objects:
---------------------------
All new predefined objects/control-methods are supported by the iASL
compiler
and the ACPICA runtime validation/repair (arguments and return values.)
New
predefined names include the following:
Standard Predefined Names (Objects or Control Methods):
_AEI, _CLS, _CPC, _CWS, _DEP,
_DLM, _EVT, _GCP, _CRT, _GWS,
_HRV, _PRE, _PSE, _SRT, _SUB.
Resource Tags (Names used to access individual fields within resource
descriptors):
_DBT, _DPL, _DRS, _END, _FLC,
_IOR, _LIN, _MOD, _PAR, _PHA,
_PIN, _PPI, _POL, _RXL, _SLV,
_SPE, _STB, _TXL, _VEN.
ACPICA External Interfaces:
---------------------------
Several new interfaces have been defined for use by ACPI-related device
drivers and other host OS services:
AcpiAcquireMutex and AcpiReleaseMutex: These interfaces allow the host OS
to
acquire and release AML mutexes that are defined in the DSDT/SSDT tables
provided by the BIOS. They are intended to be used in conjunction with
the
ACPI 5.0 _DLM (Device Lock Method) in order to provide transaction-level
mutual exclusion with the AML code/interpreter.
AcpiGetEventResources: Returns the (formatted) resource descriptors as
defined
by the ACPI 5.0 _AEI object (ACPI Event Information). This object
provides
resource descriptors associated with hardware-reduced platform events,
similar
to the AcpiGetCurrentResources interface.
Operation Region Handlers: For General Purpose IO and Generic Serial Bus
operation regions, information about the Connection() object and any
optional
length information is passed to the region handler within the Context
parameter.
AcpiBufferToResource: This interface converts a raw AML buffer containing
a
resource template or resource descriptor to the ACPI_RESOURCE internal
format
suitable for use by device drivers. Can be used by an operation region
handler
to convert the Connection() buffer object into a ACPI_RESOURCE.
Miscellaneous/Tools/TestSuites:
-------------------------------
Support for extended _HID names (Four alpha characters instead of three).
Support for ACPI 5.0 features in the AcpiExec and AcpiHelp utilities.
Support for ACPI 5.0 features in the ASLTS test suite.
Fully updated documentation (ACPICA and iASL reference documents.)
ACPI Table Definition Language:
-------------------------------
Support for this language was implemented and released as a subsystem of
the
iASL compiler in 2010. (See the iASL compiler User Guide.)
Non-ACPI 5.0 changes for this release:
--------------------------------------
1) ACPICA Core Subsystem:
Fix a problem with operation region declarations where a failure can
occur
if
the region name and an argument that evaluates to an object (such as the
region address) are in different namespace scopes. Lin Ming, ACPICA BZ
937.
Do not abort an ACPI table load if an invalid space ID is found within.
This
will be caught later if the offending method is executed. ACPICA BZ 925.
Fixed an issue with the FFixedHW space ID where the ID was not always
recognized properly (Both ACPICA and iASL). ACPICA BZ 926.
Fixed a problem with the 32-bit generation of the unix-specific OSL
(osunixxf.c). Lin Ming, ACPICA BZ 936.
Several changes made to enable generation with the GCC 4.6 compiler.
ACPICA BZ
935.
New error messages: Unsupported I/O requests (not 8/16/32 bit), and
Index/Bank
field registers out-of-range.
2) iASL Compiler/Disassembler and Tools:
iASL: Implemented the __PATH__ operator, which returns the full pathname
of
the current source file.
AcpiHelp: Automatically display expanded keyword information for all ASL
operators.
Debugger: Add "Template" command to disassemble/dump resource template
buffers.
Added a new master script to generate and execute the ASLTS test suite.
Automatically handles 32- and 64-bit generation. See tests/aslts.sh
iASL: Fix problem with listing generation during processing of the
Switch()
operator where AML listing was disabled until the entire Switch block was
completed.
iASL: Improve support for semicolon statement terminators. Fix "invalid
character" message for some cases when the semicolon is used. Semicolons
are
now allowed after every <Term> grammar element. ACPICA BZ 927.
iASL: Fixed some possible aliasing warnings during generation. ACPICA BZ
923.
Disassembler: Fix problem with disassembly of the DataTableRegion
operator
where an inadvertent "Unhandled deferred opcode" message could be
generated.
3) Example Code and Data Size
These are the sizes for the OS-independent acpica.lib produced by the
Microsoft Visual C++ 9.0 32-bit compiler. The debug version of the code
includes the debug output trace mechanism and has a much larger code and
data
size.
Previous Release:
Non-Debug Version: 90.2K Code, 23.9K Data, 114.1K Total
Debug Version: 165.6K Code, 68.4K Data, 234.0K Total
Current Release:
Non-Debug Version: 92.3K Code, 24.9K Data, 117.2K Total
Debug Version: 170.8K Code, 72.6K Data, 243.4K Total
----------------------------------------
22 September 2011. Summary of changes for version 20110922:
0) ACPI 5.0 News:
Support for ACPI 5.0 in ACPICA has been underway for several months and
will
be released at the same time that ACPI 5.0 is officially released.
The ACPI 5.0 specification is on track for release in the next few
months.
1) ACPICA Core Subsystem:
Fixed a problem where the maximum sleep time for the Sleep() operator was
intended to be limited to two seconds, but was inadvertently limited to
20
seconds instead.
Linux and Unix makefiles: Added header file dependencies to ensure
correct
generation of ACPICA core code and utilities. Also simplified the
makefiles
considerably through the use of the vpath variable to specify search
paths.
ACPICA BZ 924.
2) iASL Compiler/Disassembler and Tools:
iASL: Implemented support to check the access length for all fields
created to
access named Resource Descriptor fields. For example, if a resource field
is
defined to be two bits, a warning is issued if a CreateXxxxField() is
used
with an incorrect bit length. This is implemented for all current
resource
descriptor names. ACPICA BZ 930.
Disassembler: Fixed a byte ordering problem with the output of 24-bit and
56-
bit integers.
iASL: Fixed a couple of issues associated with variable-length package
objects. 1) properly handle constants like One, Ones, Zero -- do not make
a
VAR_PACKAGE when these are used as a package length. 2) Allow the
VAR_PACKAGE
opcode (in addition to PACKAGE) when validating object types for
predefined
names.
iASL: Emit statistics for all output files (instead of just the ASL input
and
AML output). Includes listings, hex files, etc.
iASL: Added -G option to the table compiler to allow the compilation of
custom
ACPI tables. The only part of a table that is required is the standard
36-
byte
ACPI header.
AcpiXtract: Ported to the standard ACPICA environment (with ACPICA
headers),
which also adds correct 64-bit support. Also, now all output filenames
are
completely lower case.
AcpiExec: Ignore any non-AML tables (tables other than DSDT or SSDT) when
loading table files. A warning is issued for any such tables. The only
exception is an FADT. This also fixes a possible fault when attempting to
load
non-AML tables. ACPICA BZ 932.
AcpiHelp: Added the AccessAs and Offset operators. Fixed a problem where
a
missing table terminator could cause a fault when using the -p option.
AcpiSrc: Fixed a possible divide-by-zero fault when generating file
statistics.
3) Example Code and Data Size
These are the sizes for the OS-independent acpica.lib produced by the
Microsoft Visual C++ 9.0 32-bit compiler. The debug version of the code
includes the debug output trace mechanism and has a much larger code and
data
size.
Previous Release (VC 9.0):
Non-Debug Version: 90.2K Code, 23.9K Data, 114.1K Total
Debug Version: 165.6K Code, 68.4K Data, 234.0K Total
Current Release (VC 9.0):
Non-Debug Version: 90.2K Code, 23.9K Data, 114.1K Total
Debug Version: 165.6K Code, 68.4K Data, 234.0K Total
----------------------------------------
23 June 2011. Summary of changes for version 20110623:
1) ACPI CA Core Subsystem:
Updated the predefined name repair mechanism to not attempt repair of a
_TSS
return object if a _PSS object is present. We can only sort the _TSS
return
package if there is no _PSS within the same scope. This is because if
_PSS
is
present, the ACPI specification dictates that the _TSS Power Dissipation
field
is to be ignored, and therefore some BIOSs leave garbage values in the
_TSS
Power field(s). In this case, it is best to just return the _TSS package
as-
is. Reported by, and fixed with assistance from Fenghua Yu.
Added an option to globally disable the control method return value
validation
and repair. This runtime option can be used to disable return value
repair
if
this is causing a problem on a particular machine. Also added an option
to
AcpiExec (-dr) to set this disable flag.
All makefiles and project files: Major changes to improve generation of
ACPICA
tools. ACPICA BZ 912:
Reduce default optimization levels to improve compatibility
For Linux, add strict-aliasing=0 for gcc 4
Cleanup and simplify use of command line defines
Cleanup multithread library support
Improve usage messages
Linux-specific header: update handling of THREAD_ID and pthread. For the
32-
bit case, improve casting to eliminate possible warnings, especially with
the
acpica tools.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug
version of the code includes the debug output trace mechanism and has a
much
larger code and data size.
Previous Release (VC 9.0):
Non-Debug Version: 90.1K Code, 23.9K Data, 114.0K Total
Debug Version: 165.6K Code, 68.4K Data, 234.0K Total
Current Release (VC 9.0):
Non-Debug Version: 90.2K Code, 23.9K Data, 114.1K Total
Debug Version: 165.6K Code, 68.4K Data, 234.0K Total
2) iASL Compiler/Disassembler and Tools:
With this release, a new utility named "acpihelp" has been added to the
ACPICA
package. This utility summarizes the ACPI specification chapters for the
ASL
and AML languages. It generates under Linux/Unix as well as Windows, and
provides the following functionality:
Find/display ASL operator(s) -- with description and syntax.
Find/display ASL keyword(s) -- with exact spelling and descriptions.
Find/display ACPI predefined name(s) -- with description, number
of arguments, and the return value data type.
Find/display AML opcode name(s) -- with opcode, arguments, and
grammar.
Decode/display AML opcode -- with opcode name, arguments, and
grammar.
Service Layers: Make multi-thread support configurable. Conditionally
compile
the multi-thread support so that threading libraries will not be linked
if
not
necessary. The only tool that requires multi-thread support is AcpiExec.
iASL: Update yyerrror/AslCompilerError for "const" errors. Newer versions
of
Bison appear to want the interface to yyerror to be a const char * (or at
least this is a problem when generating iASL on some systems.) ACPICA BZ
923
Pierre Lejeune.
Tools: Fix for systems where O_BINARY is not defined. Only used for
Windows
versions of the tools.
----------------------------------------
27 May 2011. Summary of changes for version 20110527:
1) ACPI CA Core Subsystem:
ASL Load() operator: Reinstate most restrictions on the incoming ACPI
table
signature. Now, only allow SSDT, OEMx, and a null signature. History:
1) Originally, we checked the table signature for "SSDT" or "PSDT".
(PSDT is now obsolete.)
2) We added support for OEMx tables, signature "OEM" plus a fourth
"don't care" character.
3) Valid tables were encountered with a null signature, so we just
gave up on validating the signature, (05/2008).
4) We encountered non-AML tables such as the MADT, which caused
interpreter errors and kernel faults. So now, we once again allow
only SSDT, OEMx, and now, also a null signature. (05/2011).
Added the missing _TDL predefined name to the global name list in order
to
enable validation. Affects both the core ACPICA code and the iASL
compiler.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug
version of the code includes the debug output trace mechanism and has a
much
larger code and data size.
Previous Release (VC 9.0):
Non-Debug Version: 90.0K Code, 23.8K Data, 113.8K Total
Debug Version: 164.5K Code, 68.0K Data, 232.5K Total
Current Release (VC 9.0):
Non-Debug Version: 90.1K Code, 23.9K Data, 114.0K Total
Debug Version: 165.6K Code, 68.4K Data, 234.0K Total
2) iASL Compiler/Disassembler and Tools:
Debugger/AcpiExec: Implemented support for "complex" method arguments on
the
debugger command line. This adds support beyond simple integers --
including
Strings, Buffers, and Packages. Includes support for nested packages.
Increased the default command line buffer size to accommodate these
arguments.
See the ACPICA reference for details and syntax. ACPICA BZ 917.
Debugger/AcpiExec: Implemented support for "default" method arguments for
the
Execute/Debug command. Now, the debugger will always invoke a control
method
with the required number of arguments -- even if the command line
specifies
none or insufficient arguments. It uses default integer values for any
missing
arguments. Also fixes a bug where only six method arguments maximum were
supported instead of the required seven.
Debugger/AcpiExec: Add a maximum buffer length parameter to AcpiOsGetLine
and
also return status in order to prevent buffer overruns. See the ACPICA
reference for details and syntax. ACPICA BZ 921
iASL: Cleaned up support for Berkeley yacc. A general cleanup of code and
makefiles to simplify support for the two different but similar parser
generators, bison and yacc.
Updated the generic unix makefile for gcc 4. The default gcc version is
now
expected to be 4 or greater, since options specific to gcc 4 are used.
----------------------------------------
13 April 2011. Summary of changes for version 20110413:
1) ACPI CA Core Subsystem:
Implemented support to execute a so-called "orphan" _REG method under the
EC
device. This change will force the execution of a _REG method underneath
the
EC
device even if there is no corresponding operation region of type
EmbeddedControl. Fixes a problem seen on some machines and apparently is
compatible with Windows behavior. ACPICA BZ 875.
Added more predefined methods that are eligible for automatic NULL
package
element removal. This change adds another group of predefined names to
the
list
of names that can be repaired by having NULL package elements dynamically
removed. This group are those methods that return a single variable-
length
package containing simple data types such as integers, buffers, strings.
This
includes: _ALx, _BCL, _CID,_ DOD, _EDL, _FIX, _PCL, _PLD, _PMD, _PRx,
_PSL,
_Sx,
and _TZD. ACPICA BZ 914.
Split and segregated all internal global lock functions to a new file,
evglock.c.
Updated internal address SpaceID for DataTable regions. Moved this
internal
space
id in preparation for ACPI 5.0 changes that will include some new space
IDs.
This
change should not affect user/host code.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib
produced by the Microsoft Visual C++ 9.0 32-bit compiler. The debug
version of
the code includes the debug output trace mechanism and has a much larger
code
and
data size.
Previous Release (VC 9.0):
Non-Debug Version: 89.8K Code, 23.8K Data, 113.6K Total
Debug Version: 164.2K Code, 67.9K Data, 232.1K Total
Current Release (VC 9.0):
Non-Debug Version: 90.0K Code, 23.8K Data, 113.8K Total
Debug Version: 164.5K Code, 68.0K Data, 232.5K Total
2) iASL Compiler/Disassembler and Tools:
iASL/DTC: Major update for new grammar features. Allow generic data types
in
custom ACPI tables. Field names are now optional. Any line can be split
to
multiple lines using the continuation char (\). Large buffers now use
line-
continuation character(s) and no colon on the continuation lines. See the
grammar
update in the iASL compiler reference. ACPI BZ 910,911. Lin Ming, Bob
Moore.
iASL: Mark ASL "Return()" and the simple "Return" as "Null" return
statements.
Since the parser stuffs a "zero" as the return value for these statements
(due
to
the underlying AML grammar), they were seen as "return with value" by the
iASL
semantic checking. They are now seen correctly as "null" return
statements.
iASL: Check if a_REG declaration has a corresponding Operation Region.
Adds a
check for each _REG to ensure that there is in fact a corresponding
operation
region declaration in the same scope. If not, the _REG method is not very
useful
since it probably won't be executed. ACPICA BZ 915.
iASL/DTC: Finish support for expression evaluation. Added a new
expression
parser
that implements c-style operator precedence and parenthesization. ACPICA
bugzilla
908.
Disassembler/DTC: Remove support for () and <> style comments in data
tables.
Now
that DTC has full expression support, we don't want to have comment
strings
that
start with a parentheses or a less-than symbol. Now, only the standard /*
and
//
comments are supported, as well as the bracket [] comments.
AcpiXtract: Fix for RSDP and dynamic SSDT extraction. These tables have
"unusual"
headers in the acpidump file. Update the header validation to support
these
tables. Problem introduced in previous AcpiXtract version in the change
to
support "wrong checksum" error messages emitted by acpidump utility.
iASL: Add a * option to generate all template files (as a synonym for
ALL)
as
in
"iasl -T *" or "iasl -T ALL".
iASL/DTC: Do not abort compiler on fatal errors. We do not want to
completely
abort the compiler on "fatal" errors, simply should abort the current
compile.
This allows multiple compiles with a single (possibly wildcard) compiler
invocation.
----------------------------------------
16 March 2011. Summary of changes for version 20110316:
1) ACPI CA Core Subsystem:
Fixed a problem caused by a _PRW method appearing at the namespace root
scope
during the setup of wake GPEs. A fault could occur if a _PRW directly
under
the
root object was passed to the AcpiSetupGpeForWake interface. Lin Ming.
Implemented support for "spurious" Global Lock interrupts. On some
systems, a
global lock interrupt can occur without the pending flag being set. Upon
a
GL
interrupt, we now ensure that a thread is actually waiting for the lock
before
signaling GL availability. Rafael Wysocki, Bob Moore.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib
produced by the Microsoft Visual C++ 9.0 32-bit compiler. The debug
version of
the code includes the debug output trace mechanism and has a much larger
code
and
data size.
Previous Release (VC 9.0):
Non-Debug Version: 89.7K Code, 23.7K Data, 113.4K Total
Debug Version: 163.9K Code, 67.5K Data, 231.4K Total
Current Release (VC 9.0):
Non-Debug Version: 89.8K Code, 23.8K Data, 113.6K Total
Debug Version: 164.2K Code, 67.9K Data, 232.1K Total
2) iASL Compiler/Disassembler and Tools:
Implemented full support for the "SLIC" ACPI table. Includes support in
the
header files, disassembler, table compiler, and template generator. Bob
Moore,
Lin Ming.
AcpiXtract: Correctly handle embedded comments and messages from
AcpiDump.
Apparently some or all versions of acpidump will occasionally emit a
comment
like
"Wrong checksum", etc., into the dump file. This was causing problems for
AcpiXtract. ACPICA BZ 905.
iASL: Fix the Linux makefile by removing an inadvertent double file
inclusion.
ACPICA BZ 913.
AcpiExec: Update installation of operation region handlers. Install one
handler
for a user-defined address space. This is used by the ASL test suite
(ASLTS).
----------------------------------------
11 February 2011. Summary of changes for version 20110211:
1) ACPI CA Core Subsystem:
Added a mechanism to defer _REG methods for some early-installed
handlers.
Most user handlers should be installed before call to
AcpiEnableSubsystem.
However, Event handlers and region handlers should be installed after
AcpiInitializeObjects. Override handlers for the "default" regions should
be
installed early, however. This change executes all _REG methods for the
default regions (Memory/IO/PCI/DataTable) simultaneously to prevent any
chicken/egg issues between them. ACPICA BZ 848.
Implemented an optimization for GPE detection. This optimization will
simply
ignore GPE registers that contain no enabled GPEs -- there is no need to
read the register since this information is available internally. This
becomes more important on machines with a large GPE space. ACPICA
bugzilla
884. Lin Ming. Suggestion from Joe Liu.
Removed all use of the highly unreliable FADT revision field. The
revision
number in the FADT has been found to be completely unreliable and cannot
be
trusted. Only the actual table length can be used to infer the version.
This
change updates the ACPICA core and the disassembler so that both no
longer
even look at the FADT version and instead depend solely upon the FADT
length.
Fix an unresolved name issue for the no-debug and no-error-message source
generation cases. The _AcpiModuleName was left undefined in these cases,
but
it is actually needed as a parameter to some interfaces. Define
_AcpiModuleName as a null string in these cases. ACPICA Bugzilla 888.
Split several large files (makefiles and project files updated)
utglobal.c -> utdecode.c
dbcomds.c -> dbmethod.c dbnames.c
dsopcode.c -> dsargs.c dscontrol.c
dsload.c -> dsload2.c
aslanalyze.c -> aslbtypes.c aslwalks.c
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has
a much larger code and data size.
Previous Release (VC 9.0):
Non-Debug Version: 89.7K Code, 23.7K Data, 113.4K Total
Debug Version: 163.9K Code, 67.5K Data, 231.4K Total
Current Release (VC 9.0):
Non-Debug Version: 89.7K Code, 23.7K Data, 113.4K Total
Debug Version: 163.9K Code, 67.5K Data, 231.4K Total
2) iASL Compiler/Disassembler and Tools:
iASL: Implemented the predefined macros __LINE__, __FILE__, and __DATE__.
These are useful C-style macros with the standard definitions. ACPICA
bugzilla 898.
iASL/DTC: Added support for integer expressions and labels. Support for
full
expressions for all integer fields in all ACPI tables. Support for labels
in
"generic" portions of tables such as UEFI. See the iASL reference manual.
Debugger: Added a command to display the status of global handlers. The
"handlers" command will display op region, fixed event, and miscellaneous
global handlers. installation status -- and for op regions, whether
default
or user-installed handler will be used.
iASL: Warn if reserved method incorrectly returns a value. Many
predefined
names are defined such that they do not return a value. If implemented as
a
method, issue a warning if such a name explicitly returns a value. ACPICA
Bugzilla 855.
iASL: Added detection of GPE method name conflicts. Detects a conflict
where
there are two GPE methods of the form _Lxy and _Exy in the same scope.
(For
example, _L1D and _E1D in the same scope.) ACPICA bugzilla 848.
iASL/DTC: Fixed a couple input scanner issues with comments and line
numbers. Comment remover could get confused and miss a comment ending.
Fixed
a problem with line counter maintenance.
iASL/DTC: Reduced the severity of some errors from fatal to error. There
is
no need to abort on simple errors within a field definition.
Debugger: Simplified the output of the help command. All help output now
in
a single screen, instead of help subcommands. ACPICA Bugzilla 897.
----------------------------------------
12 January 2011. Summary of changes for version 20110112:
1) ACPI CA Core Subsystem:
Fixed a race condition between method execution and namespace walks that
can
possibly cause a fault. The problem was apparently introduced in version
20100528 as a result of a performance optimization that reduces the
number
of
namespace walks upon method exit by using the delete_namespace_subtree
function instead of the delete_namespace_by_owner function used
previously.
Bug is a missing namespace lock in the delete_namespace_subtree function.
dana.myers@oracle.com
Fixed several issues and a possible fault with the automatic "serialized"
method support. History: This support changes a method to "serialized" on
the
fly if the method generates an AE_ALREADY_EXISTS error, indicating the
possibility that it cannot handle reentrancy. This fix repairs a couple
of
issues seen in the field, especially on machines with many cores:
1) Delete method children only upon the exit of the last thread,
so as to not delete objects out from under other running threads
(and possibly causing a fault.)
2) Set the "serialized" bit for the method only upon the exit of the
Last thread, so as to not cause deadlock when running threads
attempt to exit.
3) Cleanup the use of the AML "MethodFlags" and internal method flags
so that there is no longer any confusion between the two.
Lin Ming, Bob Moore. Reported by dana.myers@oracle.com.
Debugger: Now lock the namespace for duration of a namespace dump.
Prevents
issues if the namespace is changing dynamically underneath the debugger.
Especially affects temporary namespace nodes, since the debugger displays
these also.
Updated the ordering of include files. The ACPICA headers should appear
before any compiler-specific headers (stdio.h, etc.) so that acenv.h can
set
any necessary compiler-specific defines, etc. Affects the ACPI-related
tools
and utilities.
Updated all ACPICA copyrights and signons to 2011. Added the 2011
copyright
to all module headers and signons, including the Linux header. This
affects
virtually every file in the ACPICA core subsystem, iASL compiler, and all
utilities.
Added project files for MS Visual Studio 2008 (VC++ 9.0). The original
project files for VC++ 6.0 are now obsolete. New project files can be
found
under acpica/generate/msvc9. See acpica/generate/msvc9/readme.txt for
details.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a
much larger code and data size.
Previous Release (VC 6.0):
Non-Debug Version: 89.8K Code, 18.9K Data, 108.7K Total
Debug Version: 166.6K Code, 52.1K Data, 218.7K Total
Current Release (VC 9.0):
Non-Debug Version: 89.7K Code, 23.7K Data, 113.4K Total
Debug Version: 163.9K Code, 67.5K Data, 231.4K Total
2) iASL Compiler/Disassembler and Tools:
iASL: Added generic data types to the Data Table compiler. Add "generic"
data
types such as UINT32, String, Unicode, etc., to simplify the generation
of
platform-defined tables such as UEFI. Lin Ming.
iASL: Added listing support for the Data Table Compiler. Adds listing
support
(-l) to display actual binary output for each line of input code.
----------------------------------------
09 December 2010. Summary of changes for version 20101209:
1) ACPI CA Core Subsystem:
Completed the major overhaul of the GPE support code that was begun in
July
2010. Major features include: removal of _PRW execution in ACPICA (host
executes _PRWs anyway), cleanup of "wake" GPE interfaces and processing,
changes to existing interfaces, simplification of GPE handler operation,
and
a handful of new interfaces:
AcpiUpdateAllGpes
AcpiFinishGpe
AcpiSetupGpeForWake
AcpiSetGpeWakeMask
One new file, evxfgpe.c to consolidate all external GPE interfaces.
See the ACPICA Programmer Reference for full details and programming
information. See the new section 4.4 "General Purpose Event (GPE)
Support"
for a full overview, and section 8.7 "ACPI General Purpose Event
Management"
for programming details. ACPICA BZ 858,870,877. Matthew Garrett, Lin
Ming,
Bob Moore, Rafael Wysocki.
Implemented a new GPE feature for Windows compatibility, the "Implicit
Wake
GPE Notify". This feature will automatically issue a Notify(2) on a
device
when a Wake GPE is received if there is no corresponding GPE method or
handler. ACPICA BZ 870.
Fixed a problem with the Scope() operator during table parse and load
phase.
During load phase (table load or method execution), the scope operator
should
not enter the target into the namespace. Instead, it should open a new
scope
at the target location. Linux BZ 19462, ACPICA BZ 882.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a
much larger code and data size.
Previous Release:
Non-Debug Version: 89.8K Code, 18.9K Data, 108.7K Total
Debug Version: 166.6K Code, 52.1K Data, 218.7K Total
Current Release:
Non-Debug Version: 89.9K Code, 19.0K Data, 108.9K Total
Debug Version: 166.3K Code, 52.1K Data, 218.4K Total
2) iASL Compiler/Disassembler and Tools:
iASL: Relax the alphanumeric restriction on _CID strings. These strings
are
"bus-specific" per the ACPI specification, and therefore any characters
are
acceptable. The only checks that can be performed are for a null string
and
perhaps for a leading asterisk. ACPICA BZ 886.
iASL: Fixed a problem where a syntax error that caused a premature EOF
condition on the source file emitted a very confusing error message. The
premature EOF is now detected correctly. ACPICA BZ 891.
Disassembler: Decode the AccessSize within a Generic Address Structure
(byte
access, word access, etc.) Note, this field does not allow arbitrary bit
access, the size is encoded as 1=byte, 2=word, 3=dword, and 4=qword.
New: AcpiNames utility - Example namespace dump utility. Shows an example
of
ACPICA configuration for a minimal namespace dump utility. Uses table and
namespace managers, but no AML interpreter. Does not add any
functionality
over AcpiExec, it is a subset of AcpiExec. The purpose is to show how to
partition and configure ACPICA. ACPICA BZ 883.
AML Debugger: Increased the debugger buffer size for method return
objects.
Was 4K, increased to 16K. Also enhanced error messages for debugger
method
execution, including the buffer overflow case.
----------------------------------------
13 October 2010. Summary of changes for version 20101013:
1) ACPI CA Core Subsystem:
Added support to clear the PCIEXP_WAKE event. When clearing ACPI events,
now
clear the PCIEXP_WAKE_STS bit in the ACPI PM1 Status Register, via
HwClearAcpiStatus. Original change from Colin King. ACPICA BZ 880.
Changed the type of the predefined namespace object _TZ from ThermalZone
to
Device. This was found to be confusing to the host software that
processes
the various thermal zones, since _TZ is not really a ThermalZone.
However,
a
Notify() can still be performed on it. ACPICA BZ 876. Suggestion from Rui
Zhang.
Added Windows Vista SP2 to the list of supported _OSI strings. The actual
string is "Windows 2006 SP2".
Eliminated duplicate code in AcpiUtExecute* functions. Now that the
nsrepair
code automatically repairs _HID-related strings, this type of code is no
longer needed in Execute_HID, Execute_CID, and Execute_UID. ACPICA BZ
878.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a
much larger code and data size.
Previous Release:
Non-Debug Version: 89.9K Code, 19.0K Data, 108.9K Total
Debug Version: 166.3K Code, 52.1K Data, 218.4K Total
Current Release:
Non-Debug Version: 89.9K Code, 19.0K Data, 108.9K Total
Debug Version: 166.3K Code, 52.1K Data, 218.4K Total
2) iASL Compiler/Disassembler and Tools:
iASL: Implemented additional compile-time validation for _HID strings.
The
non-hex prefix (such as "PNP" or "ACPI") must be uppercase, and the
length
of
the string must be exactly seven or eight characters. For both _HID and
_CID
strings, all characters must be alphanumeric. ACPICA BZ 874.
iASL: Allow certain "null" resource descriptors. Some BIOS code creates
descriptors that are mostly or all zeros, with the expectation that they
will
be filled in at runtime. iASL now allows this as long as there is a
"resource
tag" (name) associated with the descriptor, which gives the ASL a handle
needed to modify the descriptor. ACPICA BZ 873.
Added single-thread support to the generic Unix application OSL.
Primarily
for iASL support, this change removes the use of semaphores in the
single-
threaded ACPICA tools/applications - increasing performance. The
_MULTI_THREADED option was replaced by the (reverse) ACPI_SINGLE_THREADED
option. ACPICA BZ 879.
AcpiExec: several fixes for the 64-bit version. Adds XSDT support and
support
for 64-bit DSDT/FACS addresses in the FADT. Lin Ming.
iASL: Moved all compiler messages to a new file, aslmessages.h.
----------------------------------------
15 September 2010. Summary of changes for version 20100915:
1) ACPI CA Core Subsystem:
Removed the AcpiOsDerivePciId OSL interface. The various host
implementations
of this function were not OS-dependent and are now obsolete and can be
removed from all host OSLs. This function has been replaced by
AcpiHwDerivePciId, which is now part of the ACPICA core code.
AcpiHwDerivePciId has been implemented without recursion. Adds one new
module, hwpci.c. ACPICA BZ 857.
Implemented a dynamic repair for _HID and _CID strings. The following
problems are now repaired at runtime: 1) Remove a leading asterisk in the
string, and 2) the entire string is uppercased. Both repairs are in
accordance with the ACPI specification and will simplify host driver
code.
ACPICA BZ 871.
The ACPI_THREAD_ID type is no longer configurable, internally it is now
always UINT64. This simplifies the ACPICA code, especially any printf
output.
UINT64 is the only common data type for all thread_id types across all
operating systems. It is now up to the host OSL to cast the native
thread_id
type to UINT64 before returning the value to ACPICA (via
AcpiOsGetThreadId).
Lin Ming, Bob Moore.
Added the ACPI_INLINE type to enhance the ACPICA configuration. The
"inline"
keyword is not standard across compilers, and this type allows inline to
be
configured on a per-compiler basis. Lin Ming.
Made the system global AcpiGbl_SystemAwakeAndRunning publically
available.
Added an extern for this boolean in acpixf.h. Some hosts utilize this
value
during suspend/restore operations. ACPICA BZ 869.
All code that implements error/warning messages with the "ACPI:" prefix
has
been moved to a new module, utxferror.c.
The UINT64_OVERLAY was moved to utmath.c, which is the only module where
it
is used. ACPICA BZ 829. Lin Ming, Bob Moore.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a
much larger code and data size.
Previous Release:
Non-Debug Version: 89.1K Code, 19.0K Data, 108.1K Total
Debug Version: 165.1K Code, 51.9K Data, 217.0K Total
Current Release:
Non-Debug Version: 89.9K Code, 19.0K Data, 108.9K Total
Debug Version: 166.3K Code, 52.1K Data, 218.4K Total
2) iASL Compiler/Disassembler and Tools:
iASL/Disassembler: Write ACPI errors to stderr instead of the output
file.
This keeps the output files free of random error messages that may
originate
from within the namespace/interpreter code. Used this opportunity to
merge
all ACPI:-style messages into a single new module, utxferror.c. ACPICA BZ
866. Lin Ming, Bob Moore.
Tools: update some printfs for ansi warnings on size_t. Handle width
change
of size_t on 32-bit versus 64-bit generations. Lin Ming.
----------------------------------------
06 August 2010. Summary of changes for version 20100806:
1) ACPI CA Core Subsystem:
Designed and implemented a new host interface to the _OSI support code.
This
will allow the host to dynamically add or remove multiple _OSI strings,
as
well as install an optional handler that is called for each _OSI
invocation.
Also added a new AML debugger command, 'osi' to display and modify the
global
_OSI string table, and test support in the AcpiExec utility. See the
ACPICA
reference manual for full details. Lin Ming, Bob Moore. ACPICA BZ 836.
New Functions:
AcpiInstallInterface - Add an _OSI string.
AcpiRemoveInterface - Delete an _OSI string.
AcpiInstallInterfaceHandler - Install optional _OSI handler.
Obsolete Functions:
AcpiOsValidateInterface - no longer used.
New Files:
source/components/utilities/utosi.c
Re-introduced the support to enable multi-byte transfers for Embedded
Controller (EC) operation regions. A reported problem was found to be a
bug
in the host OS, not in the multi-byte support. Previously, the maximum
data
size passed to the EC operation region handler was a single byte. There
are
often EC Fields larger than one byte that need to be transferred, and it
is
useful for the EC driver to lock these as a single transaction. This
change
enables single transfers larger than 8 bits. This effectively changes the
access to the EC space from ByteAcc to AnyAcc, and will probably require
changes to the host OS Embedded Controller driver to enable 16/32/64/256-
bit
transfers in addition to 8-bit transfers. Alexey Starikovskiy, Lin Ming.
Fixed a problem with the prototype for AcpiOsReadPciConfiguration. The
prototype in acpiosxf.h had the output value pointer as a (void *).
It should be a (UINT64 *). This may affect some host OSL code.
Fixed a couple problems with the recently modified Linux makefiles for
iASL
and AcpiExec. These new makefiles place the generated object files in the
local directory so that there can be no collisions between the files that
are
shared between them that are compiled with different options.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a
much larger code and data size.
Previous Release:
Non-Debug Version: 88.3K Code, 18.8K Data, 107.1K Total
Debug Version: 164.0K Code, 51.5K Data, 215.5K Total
Current Release:
Non-Debug Version: 89.1K Code, 19.0K Data, 108.1K Total
Debug Version: 165.1K Code, 51.9K Data, 217.0K Total
2) iASL Compiler/Disassembler and Tools:
iASL/Disassembler: Added a new option (-da, "disassemble all") to load
the
namespace from and disassemble an entire group of AML files. Useful for
loading all of the AML tables for a given machine (DSDT, SSDT1...SSDTn)
and
disassembling with one simple command. ACPICA BZ 865. Lin Ming.
iASL: Allow multiple invocations of -e option. This change allows
multiple
uses of -e on the command line: "-e ssdt1.dat -e ssdt2.dat". ACPICA BZ
834.
Lin Ming.
----------------------------------------
02 July 2010. Summary of changes for version 20100702:
1) ACPI CA Core Subsystem:
Implemented several updates to the recently added GPE reference count
support. The model for "wake" GPEs is changing to give the host OS
complete
control of these GPEs. Eventually, the ACPICA core will not execute any
_PRW
methods, since the host already must execute them. Also, additional
changes
were made to help ensure that the reference counts are kept in proper
synchronization with reality. Rafael J. Wysocki.
1) Ensure that GPEs are not enabled twice during initialization.
2) Ensure that GPE enable masks stay in sync with the reference count.
3) Do not inadvertently enable GPEs when writing GPE registers.
4) Remove the internal wake reference counter and add new AcpiGpeWakeup
interface. This interface will set or clear individual GPEs for wakeup.
5) Remove GpeType argument from AcpiEnable and AcpiDisable. These
interfaces
are now used for "runtime" GPEs only.
Changed the behavior of the GPE install/remove handler interfaces. The
GPE
is
no longer disabled during this process, as it was found to cause problems
on
some machines. Rafael J. Wysocki.
Reverted a change introduced in version 20100528 to enable Embedded
Controller multi-byte transfers. This change was found to cause problems
with
Index Fields and possibly Bank Fields. It will be reintroduced when these
problems have been resolved.
Fixed a problem with references to Alias objects within Package Objects.
A
reference to an Alias within the definition of a Package was not always
resolved properly. Aliases to objects like Processors, Thermal zones,
etc.
were resolved to the actual object instead of a reference to the object
as
it
should be. Package objects are only allowed to contain integer, string,
buffer, package, and reference objects. Redhat bugzilla 608648.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a
much larger code and data size.
Previous Release:
Non-Debug Version: 88.3K Code, 18.8K Data, 107.1K Total
Debug Version: 164.1K Code, 51.5K Data, 215.6K Total
Current Release:
Non-Debug Version: 88.3K Code, 18.8K Data, 107.1K Total
Debug Version: 164.0K Code, 51.5K Data, 215.5K Total
2) iASL Compiler/Disassembler and Tools:
iASL: Implemented a new compiler subsystem to allow definition and
compilation of the non-AML ACPI tables such as FADT, MADT, SRAT, etc.
These
are called "ACPI Data Tables", and the new compiler is the "Data Table
Compiler". This compiler is intended to simplify the existing error-prone
process of creating these tables for the BIOS, as well as allowing the
disassembly, modification, recompilation, and override of existing ACPI
data
tables. See the iASL User Guide for detailed information.
iASL: Implemented a new Template Generator option in support of the new
Data
Table Compiler. This option will create examples of all known ACPI tables
that can be used as the basis for table development. See the iASL
documentation and the -T option.
Disassembler and headers: Added support for the WDDT ACPI table (Watchdog
Descriptor Table).
Updated the Linux makefiles for iASL and AcpiExec to place the generated
object files in the local directory so that there can be no collisions
between the shared files between them that are generated with different
options.
Added support for Mac OS X in the Unix OSL used for iASL and AcpiExec.
Use
the #define __APPLE__ to enable this support.
----------------------------------------
28 May 2010. Summary of changes for version 20100528:
Note: The ACPI 4.0a specification was released on April 5, 2010 and is
available at www.acpi.info. This is primarily an errata release.
1) ACPI CA Core Subsystem:
Undefined ACPI tables: We are looking for the definitions for the
following
ACPI tables that have been seen in the field: ATKG, IEIT, GSCI.
Implemented support to enable multi-byte transfers for Embedded
Controller
(EC) operation regions. Previously, the maximum data size passed to the
EC
operation region handler was a single byte. There are often EC Fields
larger
than one byte that need to be transferred, and it is useful for the EC
driver
to lock these as a single transaction. This change enables single
transfers
larger than 8 bits. This effectively changes the access to the EC space
from
ByteAcc to AnyAcc, and will probably require changes to the host OS
Embedded
Controller driver to enable 16/32/64/256-bit transfers in addition to 8-
bit
transfers. Alexey Starikovskiy, Lin Ming
Implemented a performance enhancement for namespace search and access.
This
change enhances the performance of namespace searches and walks by adding
a
backpointer to the parent in each namespace node. On large namespaces,
this
change can improve overall ACPI performance by up to 9X. Adding a pointer
to
each namespace node increases the overall size of the internal namespace
by
about 5%, since each namespace entry usually consists of both a namespace
node and an ACPI operand object. However, this is the first growth of the
namespace in ten years. ACPICA bugzilla 817. Alexey Starikovskiy.
Implemented a performance optimization that reduces the number of
namespace
walks. On control method exit, only walk the namespace if the method is
known
to have created namespace objects outside of its local scope. Previously,
the
entire namespace was traversed on each control method exit. This change
can
improve overall ACPI performance by up to 3X. Alexey Starikovskiy, Bob
Moore.
Added support to truncate I/O addresses to 16 bits for Windows
compatibility.
Some ASL code has been seen in the field that inadvertently has bits set
above bit 15. This feature is optional and is enabled if the BIOS
requests
any Windows OSI strings. It can also be enabled by the host OS. Matthew
Garrett, Bob Moore.
Added support to limit the maximum time for the ASL Sleep() operator. To
prevent accidental deep sleeps, limit the maximum time that Sleep() will
actually sleep. Configurable, the default maximum is two seconds. ACPICA
bugzilla 854.
Added run-time validation support for the _WDG and_WED Microsoft
predefined
methods. These objects are defined by "Windows Instrumentation", and are
not
part of the ACPI spec. ACPICA BZ 860.
Expanded all statistic counters used during namespace and device
initialization from 16 to 32 bits in order to support very large
namespaces.
Replaced all instances of %d in printf format specifiers with %u since
nearly
all integers in ACPICA are unsigned.
Fixed the exception namestring for AE_WAKE_ONLY_GPE. Was incorrectly
returned
as AE_NO_HANDLER.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a
much larger code and data size.
Previous Release:
Non-Debug Version: 88.4K Code, 18.8K Data, 107.2K Total
Debug Version: 164.2K Code, 51.5K Data, 215.7K Total
Current Release:
Non-Debug Version: 88.3K Code, 18.8K Data, 107.1K Total
Debug Version: 164.1K Code, 51.5K Data, 215.6K Total
2) iASL Compiler/Disassembler and Tools:
iASL: Added compiler support for the _WDG and_WED Microsoft predefined
methods. These objects are defined by "Windows Instrumentation", and are
not
part of the ACPI spec. ACPICA BZ 860.
AcpiExec: added option to disable the memory tracking mechanism. The -dt
option will disable the tracking mechanism, which improves performance
considerably.
AcpiExec: Restructured the command line options into -d (disable) and -e
(enable) options.
----------------------------------------
28 April 2010. Summary of changes for version 20100428:
1) ACPI CA Core Subsystem:
Implemented GPE support for dynamically loaded ACPI tables. For all GPEs,
including FADT-based and GPE Block Devices, execute any _PRW methods in
the
new table, and process any _Lxx/_Exx GPE methods in the new table. Any
runtime GPE that is referenced by an _Lxx/_Exx method in the new table is
immediately enabled. Handles the FADT-defined GPEs as well as GPE Block
Devices. Provides compatibility with other ACPI implementations. Two new
files added, evgpeinit.c and evgpeutil.c. ACPICA BZ 833. Lin Ming, Bob
Moore.
Fixed a regression introduced in version 20100331 within the table
manager
where initial table loading could fail. This was introduced in the fix
for
AcpiReallocateRootTable. Also, renamed some of fields in the table
manager
data structures to clarify their meaning and use.
Fixed a possible allocation overrun during internal object copy in
AcpiUtCopySimpleObject. The original code did not correctly handle the
case
where the object to be copied was a namespace node. Lin Ming. ACPICA BZ
847.
Updated the allocation dump routine, AcpiUtDumpAllocation and fixed a
possible access beyond end-of-allocation. Also, now fully validate
descriptor
(size and type) before output. Lin Ming, Bob Moore. ACPICA BZ 847
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a
much larger code and data size.
Previous Release:
Non-Debug Version: 87.9K Code, 18.6K Data, 106.5K Total
Debug Version: 163.5K Code, 51.3K Data, 214.8K Total
Current Release:
Non-Debug Version: 88.4K Code, 18.8K Data, 107.2K Total
Debug Version: 164.2K Code, 51.5K Data, 215.7K Total
2) iASL Compiler/Disassembler and Tools:
iASL: Implemented Min/Max/Len/Gran validation for address resource
descriptors. This change implements validation for the address fields
that
are common to all address-type resource descriptors. These checks are
implemented: Checks for valid Min/Max, length within the Min/Max window,
valid granularity, Min/Max a multiple of granularity, and _MIF/_MAF as
per
table 6-40 in the ACPI 4.0a specification. Also split the large
aslrestype1.c
and aslrestype2.c files into five new files. ACPICA BZ 840.
iASL: Added support for the _Wxx predefined names. This support was
missing
and these names were not recognized by the compiler as valid predefined
names. ACPICA BZ 851.
iASL: Added an error for all predefined names that are defined to return
no
value and thus must be implemented as Control Methods. These include all
of
the _Lxx, _Exx, _Wxx, and _Qxx names, as well as some other miscellaneous
names such as _DIS, _INI, _IRC, _OFF, _ON, and _PSx. ACPICA BZ 850, 856.
iASL: Implemented the -ts option to emit hex AML data in ASL format, as
an
ASL Buffer. Allows ACPI tables to be easily included within ASL files, to
be
dynamically loaded via the Load() operator. Also cleaned up output for
the
-
ta and -tc options. ACPICA BZ 853.
Tests: Added a new file with examples of extended iASL error checking.
Demonstrates the advanced error checking ability of the iASL compiler.
Available at tests/misc/badcode.asl.
----------------------------------------
31 March 2010. Summary of changes for version 20100331:
1) ACPI CA Core Subsystem:
Completed a major update for the GPE support in order to improve support
for
shared GPEs and to simplify both host OS and ACPICA code. Added a
reference
count mechanism to support shared GPEs that require multiple device
drivers.
Several external interfaces have changed. One external interface has been
removed. One new external interface was added. Most of the GPE external
interfaces now use the GPE spinlock instead of the events mutex (and the
Flags parameter for many GPE interfaces has been removed.) See the
updated
ACPICA Programmer Reference for details. Matthew Garrett, Bob Moore,
Rafael
Wysocki. ACPICA BZ 831.
Changed:
AcpiEnableGpe, AcpiDisableGpe, AcpiClearGpe, AcpiGetGpeStatus
Removed:
AcpiSetGpeType
New:
AcpiSetGpe
Implemented write support for DataTable operation regions. These regions
are
defined via the DataTableRegion() operator. Previously, only read support
was
implemented. The ACPI specification allows DataTableRegions to be
read/write,
however.
Implemented a new subsystem option to force a copy of the DSDT to local
memory. Optionally copy the entire DSDT to local memory (instead of
simply
mapping it.) There are some (albeit very rare) BIOSs that corrupt or
replace
the original DSDT, creating the need for this option. Default is FALSE,
do
not copy the DSDT.
Implemented detection of a corrupted or replaced DSDT. This change adds
support to detect a DSDT that has been corrupted and/or replaced from
outside
the OS (by firmware). This is typically catastrophic for the system, but
has
been seen on some machines. Once this problem has been detected, the DSDT
copy option can be enabled via system configuration. Lin Ming, Bob Moore.
Fixed two problems with AcpiReallocateRootTable during the root table
copy.
When copying the root table to the new allocation, the length used was
incorrect. The new size was used instead of the current table size,
meaning
too much data was copied. Also, the count of available slots for ACPI
tables
was not set correctly. Alexey Starikovskiy, Bob Moore.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a
much larger code and data size.
Previous Release:
Non-Debug Version: 87.5K Code, 18.4K Data, 105.9K Total
Debug Version: 163.4K Code, 51.1K Data, 214.5K Total
Current Release:
Non-Debug Version: 87.9K Code, 18.6K Data, 106.5K Total
Debug Version: 163.5K Code, 51.3K Data, 214.8K Total
2) iASL Compiler/Disassembler and Tools:
iASL: Implement limited typechecking for values returned from predefined
control methods. The type of any returned static (unnamed) object is now
validated. For example, Return(1). ACPICA BZ 786.
iASL: Fixed a predefined name object verification regression. Fixes a
problem
introduced in version 20100304. An error is incorrectly generated if a
predefined name is declared as a static named object with a value defined
using the keywords "Zero", "One", or "Ones". Lin Ming.
iASL: Added Windows 7 support for the -g option (get local ACPI tables)
by
reducing the requested registry access rights. ACPICA BZ 842.
Disassembler: fixed a possible fault when generating External()
statements.
Introduced in commit ae7d6fd: Properly handle externals with parent-
prefix
(carat). Fixes a string length allocation calculation. Lin Ming.
----------------------------------------
04 March 2010. Summary of changes for version 20100304:
1) ACPI CA Core Subsystem:
Fixed a possible problem with the AML Mutex handling function
AcpiExReleaseMutex where the function could fault under the very rare
condition when the interpreter has blocked, the interpreter lock is
released,
the interpreter is then reentered via the same thread, and attempts to
acquire an AML mutex that was previously acquired. FreeBSD report 140979.
Lin
Ming.
Implemented additional configuration support for the AML "Debug Object".
Output from the debug object can now be enabled via a global variable,
AcpiGbl_EnableAmlDebugObject. This will assist with remote machine
debugging.
This debug output is now available in the release version of ACPICA
instead
of just the debug version. Also, the entire debug output module can now
be
configured out of the ACPICA build if desired. One new file added,
executer/exdebug.c. Lin Ming, Bob Moore.
Added header support for the ACPI MCHI table (Management Controller Host
Interface Table). This table was added in ACPI 4.0, but the defining
document
has only recently become available.
Standardized output of integer values for ACPICA warnings/errors. Always
use
0x prefix for hex output, always use %u for unsigned integer decimal
output.
Affects ACPI_INFO, ACPI_ERROR, ACPI_EXCEPTION, and ACPI_WARNING (about
400
invocations.) These invocations were converted from the original
ACPI_DEBUG_PRINT invocations and were not consistent. ACPICA BZ 835.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a
much larger code and data size.
Previous Release:
Non-Debug Version: 87.1K Code, 18.0K Data, 105.1K Total
Debug Version: 163.5K Code, 50.9K Data, 214.4K Total
Current Release:
Non-Debug Version: 87.5K Code, 18.4K Data, 105.9K Total
Debug Version: 163.4K Code, 51.1K Data, 214.5K Total
2) iASL Compiler/Disassembler and Tools:
iASL: Implemented typechecking support for static (non-control method)
predefined named objects that are declared with the Name() operator. For
example, the type of this object is now validated to be of type Integer:
Name(_BBN, 1). This change migrates the compiler to using the core
predefined
name table instead of maintaining a local version. Added a new file,
aslpredef.c. ACPICA BZ 832.
Disassembler: Added support for the ACPI 4.0 MCHI table.
----------------------------------------
21 January 2010. Summary of changes for version 20100121:
1) ACPI CA Core Subsystem:
Added the 2010 copyright to all module headers and signons. This affects
virtually every file in the ACPICA core subsystem, the iASL compiler, the
tools/utilities, and the test suites.
Implemented a change to the AcpiGetDevices interface to eliminate
unnecessary
invocations of the _STA method. In the case where a specific _HID is
requested, do not run _STA until a _HID match is found. This eliminates
potentially dozens of _STA calls during a search for a particular
device/HID,
which in turn can improve boot times. ACPICA BZ 828. Lin Ming.
Implemented an additional repair for predefined method return values.
Attempt
to repair unexpected NULL elements within returned Package objects.
Create
an
Integer of value zero, a NULL String, or a zero-length Buffer as
appropriate.
ACPICA BZ 818. Lin Ming, Bob Moore.
Removed the obsolete ACPI_INTEGER data type. This type was introduced as
the
code was migrated from ACPI 1.0 (with 32-bit AML integers) to ACPI 2.0
(with
64-bit AML integers). It is now obsolete and this change removes it from
the
ACPICA code base, replaced by UINT64. The original typedef has been
retained
for now for compatibility with existing device driver code. ACPICA BZ
824.
Removed the unused UINT32_STRUCT type, and the obsolete Integer64 field
in
the parse tree object.
Added additional warning options for the gcc-4 generation. Updated the
source
accordingly. This includes some code restructuring to eliminate
unreachable
code, elimination of some gotos, elimination of unused return values,
some
additional casting, and removal of redundant declarations.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a
much larger code and data size.
Previous Release:
Non-Debug Version: 87.0K Code, 18.0K Data, 105.0K Total
Debug Version: 163.4K Code, 50.8K Data, 214.2K Total
Current Release:
Non-Debug Version: 87.1K Code, 18.0K Data, 105.1K Total
Debug Version: 163.5K Code, 50.9K Data, 214.4K Total
2) iASL Compiler/Disassembler and Tools:
No functional changes for this release.
----------------------------------------
14 December 2009. Summary of changes for version 20091214:
1) ACPI CA Core Subsystem:
Enhanced automatic data type conversions for predefined name repairs.
This
change expands the automatic repairs/conversions for predefined name
return
values to make Integers, Strings, and Buffers fully interchangeable.
Also,
a
Buffer can be converted to a Package of Integers if necessary. The
nsrepair.c
module was completely restructured. Lin Ming, Bob Moore.
Implemented automatic removal of null package elements during predefined
name
repairs. This change will automatically remove embedded and trailing NULL
package elements from returned package objects that are defined to
contain
a
variable number of sub-packages. The driver is then presented with a
package
with no null elements to deal with. ACPICA BZ 819.
Implemented a repair for the predefined _FDE and _GTM names. The expected
return value for both names is a Buffer of 5 DWORDs. This repair fixes
two
possible problems (both seen in the field), where a package of integers
is
returned, or a buffer of BYTEs is returned. With assistance from Jung-uk
Kim.
Implemented additional module-level code support. This change will
properly
execute module-level code that is not at the root of the namespace (under
a
Device object, etc.). Now executes the code within the current scope
instead
of the root. ACPICA BZ 762. Lin Ming.
Fixed possible mutex acquisition errors when running _REG methods. Fixes
a
problem where mutex errors can occur when running a _REG method that is
in
the same scope as a method-defined operation region or an operation
region
under a module-level IF block. This type of code is rare, so the problem
has
not been seen before. ACPICA BZ 826. Lin Ming, Bob Moore.
Fixed a possible memory leak during module-level code execution. An
object
could be leaked for each block of executed module-level code if the
interpreter slack mode is enabled This change deletes any implicitly
returned
object from the module-level code block. Lin Ming.
Removed messages for successful predefined repair(s). The repair
mechanism
was considered too wordy. Now, messages are only unconditionally emitted
if
the return object cannot be repaired. Existing messages for successful
repairs were converted to ACPI_DEBUG_PRINT messages for now. ACPICA BZ
827.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a
much larger code and data size.
Previous Release:
Non-Debug Version: 86.6K Code, 18.2K Data, 104.8K Total
Debug Version: 162.7K Code, 50.8K Data, 213.5K Total
Current Release:
Non-Debug Version: 87.0K Code, 18.0K Data, 105.0K Total
Debug Version: 163.4K Code, 50.8K Data, 214.2K Total
2) iASL Compiler/Disassembler and Tools:
iASL: Fixed a regression introduced in 20091112 where intermediate .SRC
files
were no longer automatically removed at the termination of the compile.
acpiexec: Implemented the -f option to specify default region fill value.
This option specifies the value used to initialize buffers that simulate
operation regions. Default value is zero. Useful for debugging problems
that
depend on a specific initial value for a region or field.
----------------------------------------
12 November 2009. Summary of changes for version 20091112:
1) ACPI CA Core Subsystem:
Implemented a post-order callback to AcpiWalkNamespace. The existing
interface only has a pre-order callback. This change adds an additional
parameter for a post-order callback which will be more useful for bus
scans.
ACPICA BZ 779. Lin Ming. Updated the ACPICA Programmer Reference.
Modified the behavior of the operation region memory mapping cache for
SystemMemory. Ensure that the memory mappings created for operation
regions
do not cross 4K page boundaries. Crossing a page boundary while mapping
regions can cause kernel warnings on some hosts if the pages have
different
attributes. Such regions are probably BIOS bugs, and this is the
workaround.
Linux BZ 14445. Lin Ming.
Implemented an automatic repair for predefined methods that must return
sorted lists. This change will repair (by sorting) packages returned by
_ALR,
_PSS, and _TSS. Drivers can now assume that the packages are correctly
sorted
and do not contain NULL package elements. Adds one new file,
namespace/nsrepair2.c. ACPICA BZ 784. Lin Ming, Bob Moore.
Fixed a possible fault during predefined name validation if a return
Package
object contains NULL elements. Also adds a warning if a NULL element is
followed by any non-null elements. ACPICA BZ 813, 814. Future enhancement
may
include repair or removal of all such NULL elements where possible.
Implemented additional module-level executable AML code support. This
change
will execute module-level code that is not at the root of the namespace
(under a Device object, etc.) at table load time. Module-level executable
AML
code has been illegal since ACPI 2.0. ACPICA BZ 762. Lin Ming.
Implemented a new internal function to create Integer objects. This
function
simplifies miscellaneous object creation code. ACPICA BZ 823.
Reduced the severity of predefined repair messages, Warning to Info.
Since
the object was successfully repaired, a warning is too severe. Reduced to
an
info message for now. These messages may eventually be changed to debug-
only.
ACPICA BZ 812.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a
much larger code and data size.
Previous Release:
Non-Debug Version: 85.8K Code, 18.0K Data, 103.8K Total
Debug Version: 161.8K Code, 50.6K Data, 212.4K Total
Current Release:
Non-Debug Version: 86.6K Code, 18.2K Data, 104.8K Total
Debug Version: 162.7K Code, 50.8K Data, 213.5K Total
2) iASL Compiler/Disassembler and Tools:
iASL: Implemented Switch() with While(1) so that Break works correctly.
This
change correctly implements the Switch operator with a surrounding
While(1)
so that the Break operator works as expected. ACPICA BZ 461. Lin Ming.
iASL: Added a message if a package initializer list is shorter than
package
length. Adds a new remark for a Package() declaration if an initializer
list
exists, but is shorter than the declared length of the package. Although
technically legal, this is probably a coding error and it is seen in the
field. ACPICA BZ 815. Lin Ming, Bob Moore.
iASL: Fixed a problem where the compiler could fault after the maximum
number
of errors was reached (200).
acpixtract: Fixed a possible warning for pointer cast if the compiler
warning
level set very high.
----------------------------------------
13 October 2009. Summary of changes for version 20091013:
1) ACPI CA Core Subsystem:
Fixed a problem where an Operation Region _REG method could be executed
more
than once. If a custom address space handler is installed by the host
before
the "initialize operation regions" phase of the ACPICA initialization,
any
_REG methods for that address space could be executed twice. This change
fixes the problem. ACPICA BZ 427. Lin Ming.
Fixed a possible memory leak for the Scope() ASL operator. When the exact
invocation of "Scope(\)" is executed (change scope to root), one internal
operand object was leaked. Lin Ming.
Implemented a run-time repair for the _MAT predefined method. If the _MAT
return value is defined as a Field object in the AML, and the field
size is less than or equal to the default width of an integer (32 or
64),_MAT
can incorrectly return an Integer instead of a Buffer. ACPICA now
automatically repairs this problem. ACPICA BZ 810.
Implemented a run-time repair for the _BIF and _BIX predefined methods.
The
"OEM Information" field is often incorrectly returned as an Integer with
value zero if the field is not supported by the platform. This is due to
an
ambiguity in the ACPI specification. The field should always be a string.
ACPICA now automatically repairs this problem by returning a NULL string
within the returned Package. ACPICA BZ 807.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a
much larger code and data size.
Previous Release:
Non-Debug Version: 85.6K Code, 18.0K Data, 103.6K Total
Debug Version: 161.7K Code, 50.9K Data, 212.6K Total
Current Release:
Non-Debug Version: 85.8K Code, 18.0K Data, 103.8K Total
Debug Version: 161.8K Code, 50.6K Data, 212.4K Total
2) iASL Compiler/Disassembler and Tools:
Disassembler: Fixed a problem where references to external symbols that
contained one or more parent-prefixes (carats) were not handled
correctly,
possibly causing a fault. ACPICA BZ 806. Lin Ming.
Disassembler: Restructured the code so that all functions that handle
external symbols are in a single module. One new file is added,
common/dmextern.c.
AML Debugger: Added a max count argument for the Batch command (which
executes multiple predefined methods within the namespace.)
iASL: Updated the compiler documentation (User Reference.) Available at
http://www.acpica.org/documentation/. ACPICA BZ 750.
AcpiXtract: Updated for Lint and other formatting changes. Close all open
files.
----------------------------------------
03 September 2009. Summary of changes for version 20090903:
1) ACPI CA Core Subsystem:
For Windows Vista compatibility, added the automatic execution of an _INI
method located at the namespace root (\_INI). This method is executed at
table load time. This support is in addition to the automatic execution
of
\_SB._INI. Lin Ming.
Fixed a possible memory leak in the interpreter for AML package objects
if
the package initializer list is longer than the defined size of the
package.
This apparently can only happen if the BIOS changes the package size on
the
fly (seen in a _PSS object), as ASL compilers do not allow this. The
interpreter will truncate the package to the defined size (and issue an
error
message), but previously could leave the extra objects undeleted if they
were
pre-created during the argument processing (such is the case if the
package
consists of a number of sub-packages as in the _PSS.) ACPICA BZ 805.
Fixed a problem seen when a Buffer or String is stored to itself via ASL.
This has been reported in the field. Previously, ACPICA would zero out
the
buffer/string. Now, the operation is treated as a noop. Provides Windows
compatibility. ACPICA BZ 803. Lin Ming.
Removed an extraneous error message for ASL constructs of the form
Store(LocalX,LocalX) when LocalX is uninitialized. These curious
statements
are seen in many BIOSs and are once again treated as NOOPs and no error
is
emitted when they are encountered. ACPICA BZ 785.
Fixed an extraneous warning message if a _DSM reserved method returns a
Package object. _DSM can return any type of object, so validation on the
return type cannot be performed. ACPICA BZ 802.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a
much larger code and data size.
Previous Release:
Non-Debug Version: 85.5K Code, 18.0K Data, 103.5K Total
Debug Version: 161.6K Code, 50.9K Data, 212.5K Total
Current Release:
Non-Debug Version: 85.6K Code, 18.0K Data, 103.6K Total
Debug Version: 161.7K Code, 50.9K Data, 212.6K Total
2) iASL Compiler/Disassembler and Tools:
iASL: Fixed a problem with the use of the Alias operator and Resource
Templates. The correct alias is now constructed and no error is emitted.
ACPICA BZ 738.
iASL: Implemented the -I option to specify additional search directories
for
include files. Allows multiple additional search paths for include files.
Directories are searched in the order specified on the command line
(after
the local directory is searched.) ACPICA BZ 800.
iASL: Fixed a problem where the full pathname for include files was not
emitted for warnings/errors. This caused the IDE support to not work
properly. ACPICA BZ 765.
iASL: Implemented the -@ option to specify a Windows-style response file
containing additional command line options. ACPICA BZ 801.
AcpiExec: Added support to load multiple AML files simultaneously (such
as
a
DSDT and multiple SSDTs). Also added support for wildcards within the AML
pathname. These features allow all machine tables to be easily loaded and
debugged together. ACPICA BZ 804.
Disassembler: Added missing support for disassembly of HEST table Error
Bank
subtables.
----------------------------------------
30 July 2009. Summary of changes for version 20090730:
The ACPI 4.0 implementation for ACPICA is complete with this release.
1) ACPI CA Core Subsystem:
ACPI 4.0: Added header file support for all new and changed ACPI tables.
Completely new tables are: IBFT, IVRS, MSCT, and WAET. Tables that are
new
for ACPI 4.0, but have previously been supported in ACPICA are: CPEP,
BERT,
EINJ, ERST, and HEST. Other newly supported tables are: UEFI and WDAT.
There
have been some ACPI 4.0 changes to other existing tables. Split the large
actbl1.h header into the existing actbl2.h header. ACPICA BZ 774.
ACPI 4.0: Implemented predefined name validation for all new names. There
are
31 new names in ACPI 4.0. The predefined validation module was split into
two
files. The new file is namespace/nsrepair.c. ACPICA BZ 770.
Implemented support for so-called "module-level executable code". This is
executable AML code that exists outside of any control method and is
intended
to be executed at table load time. Although illegal since ACPI 2.0, this
type
of code still exists and is apparently still being created. Blocks of
this
code are now detected and executed as intended. Currently, the code
blocks
must exist under either an If, Else, or While construct; these are the
typical cases seen in the field. ACPICA BZ 762. Lin Ming.
Implemented an automatic dynamic repair for predefined names that return
nested Package objects. This applies to predefined names that are defined
to
return a variable-length Package of sub-packages. If the number of sub-
packages is one, BIOS code is occasionally seen that creates a simple
single
package with no sub-packages. This code attempts to fix the problem by
wrapping a new package object around the existing package. These methods
can
be repaired: _ALR, _CSD, _HPX, _MLS, _PRT, _PSS, _TRT, and _TSS. ACPICA
BZ
790.
Fixed a regression introduced in 20090625 for the AcpiGetDevices
interface.
The _HID/_CID matching was broken and no longer matched IDs correctly.
ACPICA
BZ 793.
Fixed a problem with AcpiReset where the reset would silently fail if the
register was one of the protected I/O ports. AcpiReset now bypasses the
port
validation mechanism. This may eventually be driven into the
AcpiRead/Write
interfaces.
Fixed a regression related to the recent update of the AcpiRead/Write
interfaces. A sleep/suspend could fail if the optional PM2 Control
register
does not exist during an attempt to write the Bus Master Arbitration bit.
(However, some hosts already delete the code that writes this bit, and
the
code may in fact be obsolete at this date.) ACPICA BZ 799.
Fixed a problem where AcpiTerminate could fault if inadvertently called
twice
in succession. ACPICA BZ 795.
Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a
much larger code and data size.
Previous Release:
Non-Debug Version: 84.7K Code, 17.8K Data, 102.5K Total
Debug Version: 160.5K Code, 50.6K Data, 211.1K Total
Current Release:
Non-Debug Version: 85.5K Code, 18.0K Data, 103.5K Total
Debug Version: 161.6K Code, 50.9K Data, 212.5K Total
2) iASL Compiler/Disassembler and Tools:
ACPI 4.0: Implemented disassembler support for all new ACPI tables and
changes to existing tables. ACPICA BZ 775.
Changes from previous:
New in v0.6.25 (2014/10/20)
---------------------------
Enhancements:
* Add deprecation warning for 0.6 series
* Merged in lp:~ed.so/duplicity/0.6-dpbx.importfix
- fix this showstopper with the dropbox backend
"NameError: global name 'rest' is not defined"
* Merged in lp:~jflaker/duplicity/BugFix1325215
- The reference to "--progress_rate" in the man page as a parameter is
incorrect. Should be "--progress-rate".
* Merged in lp:~hooloovoo/duplicity/updated-README-REPO
- Changes to README-REPO to reflect the restructuring of the directories.
* Fixed bug 1375304 with patch supplied by Aleksandar Ivanovic
* Merged in lp:~ed.so/duplicity/webdav200fix-0.6
- webdav backend fix "BackendException: Bad status code 200 reason OK. " when
restarting an interrupted backup and overwriting partially uploaded volumes.
* Merged in lp:~antmak/duplicity/0.6-par2-fix
- Useful fix for verbatim par2cmdline options (like "-t" in par2-tbb version)
* Merged in lp:~jon-haggblad/duplicity/ftps-fix
- Minor bugfix for ftps backend where lftp needs host prefixed by "ftps://".
* Fixed bug 1327550: OverflowError: signed integer is greater than maximum
- Major and minor device numbers are supposed to be one byte each. Someone
has crafted a special system image using OpenVZ where the major and minor
device numbers are much larger (ploop devices). We treat them as (0,0).
* Merged in lp:~jon-haggblad/duplicity/ftps-fix (2nd try)
- Minor bugfix for ftps backend where lftp needs host prefixed by "ftps://".
* Merged in lp:~johnleach/duplicity/1315437-swift-container-create
- Check to see if the swift container exists before trying to create it,
in case we don't have permissions to create containers. Fixes#1315437
smartmontools 6.3
2014-07-25 Christian Franke <franke@computer.org>
drivedb.h:
- Apple SD/SM/TS...E/F SSDs: Rename, add TS*[EF]
- JMicron based SSDs: Fix regex for Apple TS*C
- Marvell based SanDisk SSDs: X210
2014-07-25 Alex Samorukov <samm@os2.kiev.ua>
drivedb.h: Apple SM* SSD - add attribute 173 description (guessed)
2014-07-23 Christian Franke <franke@computer.org>
ataprint.cpp: Print SCT Status regardless of SCT Data Table support.
atacmds.cpp: ataReadSCTTempHist(): Do not reread initial SCT Status.
configure.ac: Fix typo in help text. Add MinGW comment.
2014-07-22 Christian Franke <franke@computer.org>
drivedb.h:
- Apple SD/SM...E/F SSDs (ticket #342)
- Apple SSD SM128, Asus-Phison SSD: Remove (missing attribute info)
2014-07-20 Christian Franke <franke@computer.org>
atacmds.cpp: Rework heuristics for 'tempminmax' format.
Now supports negative values (ticket #291) and WDC over temperature
counter.
Change default for Head_Flying_Hours to 'raw24(raw8)'. This provides
more reasonable output for Seagate HDDs missing in drivedb.h.
drivedb.h: Comment new default for Head_Flying_Hours.
smartctl.8.in, smartd.8.in, smartd.conf.5.in:
Fix usage of line breaks and empty lines.
2014-07-19 Christian Franke <franke@computer.org>
smartctl.8.in, smartd.8.in, smartd.conf.5.in, update-smart-drivedb.8.in:
Add FILES section. Move FULL PATH info to FILES section.
Rename REFERENCES section. Move HOME PAGE info to REFERENCES section.
Remove AUTHORS section from smartd.conf man page.
Update or remove various outdated info.
2014-07-18 Christian Franke <franke@computer.org>
configure.ac: Use 'email' instead of 'mail' on Cygwin.
Remove outdated '-mno-cygwin' error check.
Makefile.am, smartd.conf.5.in: Replace 'mail' by actual platform
specific mailer.
examplescripts/README, examplescripts/Example[123]: Remove bashisms.
Use '/usr/bin/mail' instead of '/bin/mail'.
os_win32/daemon_win32.cpp: Support older MinGW headers with missing
struct SERVICE_DELAYED_AUTO_START_INFO.
2014-07-17 Christian Franke <franke@computer.org>
drivedb.h:
- Crucial/Micron MX100/M500/M510/M550 Client SSDs: Rename, add MX100,
update MX510/550
- Indilinx Barefoot based SSDs: OCZ Vertex 1.10
- Intel 320 Series SSDs: 'L' variant
- JMicron based SSDs: Transcend *18M-M variant
- Plextor M3/M5 (Pro) Series SSDs: M5M (mSATA) variant
- Samsung based SSDs: 840 EVO
2014-07-16 Christian Franke <franke@computer.org>
drivedb.h:
- Marvell based SanDisk SSDs: Extreme II (ticket #334), others
- SanDisk based SSDs: iSSD P4 (ticket #272), U100 (ticket #337), others
- USB: Iomega (0x059b:0x047a)
- USB: WD My Passport: Merge entries
- USB: WD My Passport USB 3.0 (0x1058:0x074a, 0x1058:0x0820)
- USB: ADATA (0x125f:0xa[13]1a)
- USB: JMicron JMS539 (0x152d:0x0539): New FW supports SAT (ticket #338)
- USB: TrekStor Datastation (0x1e68:0x0050) (Red Hat Bugzilla 954162)
2014-07-13 Christian Franke <franke@computer.org>
atacmds.cpp: Add missing const and initialization.
Don't print extra '\n' if self-test log is empty.
ataprint.cpp: Add new ACS-4 log.
cciss.cpp: Fix C++11 builds on Linux. GCC and CLang do not
predefine 'linux' when in '-std=c++11' mode.
smartd.cpp: Update description of Windows smartd service.
README: Update license info. Remove outdated ATA references.
2014-07-10 Christian Franke <franke@computer.org>
Makefile.am: Rework build of Solaris specific man pages.
This fixes some bogus and some missing replacements.
smartctl.8.in, smartd.8.in, smartd.conf.5.in: Minor typo and syntax
fixes.
2014-07-09 Christian Franke <franke@computer.org>
smartctl.8.in, smartd.8.in, smartd.conf.5.in: Avoid '.SH' macros with no
argument. Remove colons from section names.
Merge sections CONTRIBUTORS and CREDITS with AUTHORS.
Update SEE ALSO sections.
2014-07-05 Christian Franke <franke@computer.org>
configure.ac: Remove snprintf() compile time test.
Add '--with-working-snprintf' configure option.
Add __USE_MINGW_ANSI_STDIO test for MinGW GCC.
utility.cpp: Add snprintf() runtime test.
Add GCC version to output of -V option.
Makefile.am: Add update-smart-drivedb.1m for Solaris.
2014-06-30 Christian Franke <franke@computer.org>
configure.ac: Update macros as suggested by 'autoconf --warnings=obsolete'.
Makefile.am: Add creation of empty directories to install targets.
2014-06-29 Christian Franke <franke@computer.org>
configure.ac, Makefile.am, smartd.cpp, smartd_warning.sh.in:
Add '--with-smartdscriptdir' configure option to change location of
smartd_warning.sh (Debian bug 710815).
Add '--with-smartdplugindir' configure option to change (or disable)
smartd_warning.sh plugin location.
smartd.conf.5.in: Optionally hide the plugin documentation.
2014-06-27 Christian Franke <franke@computer.org>
Makefile.am: Add update-smart-drivedb.8 target.
update-smart-drivedb.8.in: Add copyright and version info.
Adjust path names for make target.
Add FreeBSD/OpenBSD specific info.
2014-06-27 Hannes von Haugwitz <hannes@vonhaugwitz.com>
update-smart-drivedb.8.in: New man page (Debian bug 708433).
2014-06-27 Christian Franke <franke@computer.org>
configure.ac: Suppress pkg-config warnings about missing 'systemd.pc'.
Makefile.am: Silence build of man pages and svnversion.h.
This makes '--enable-silent-rules' or 'make V=0' more effective
(available since automake 1.13).
2014-06-27 Christian Franke <franke@computer.org>
drivedb.h:
- Crucial/Micron RealSSD C300/M500: New attributes (ticket #326)
- SandForce Driven SSDs: ADATA XM11, Corsair Force LS, OWC Aura Pro 6G
OWC Mercury Electra Pro 3G, PNY Prevail Elite, Transcend SSD320/720
2014-06-25 Christian Franke <franke@computer.org>
os_win32.cpp: Fix calculation of SCSI resid.
2014-06-23 Christian Franke <franke@computer.org>
scsiata.cpp: usbjmicron_device: Fix SMART Status check for USB bridges
which always return 0x01. Add JMicron specific error messages.
2014-06-22 Christian Franke <franke@computer.org>
atacmds.cpp, ataprint.cpp: Improve messages for unsupported SMART Status
command.
ataprint.cpp: Print form factor.
2014-06-21 Christian Franke <franke@computer.org>
drivedb.h:
- Crucial/Micron M500/M510/M550 Client SSDs
- Micron M500DC Enterprise SSDs
Based on patch provided by Clayton Hawkings from Micron.
2014-06-20 Christian Franke <franke@computer.org>
autogen.sh: automake 1.14.1 works.
2014-06-20 Christian Franke <franke@computer.org>
scsiata.cpp: usbjmicron_device: Check SCSI resid for SMART STATUS.
Some (Prolific) USB bridges do not transfer a status byte.
os_win32.cpp: Include SCSI resid in debug output.
2014-06-19 Douglas Gilbert <dgilbert@interlog.com>
scsiprint.cpp:
- minor comment clean-up
2014-06-19 Christian Franke <franke@computer.org>
drivedb.h:
- Intel 730 and DC S3500/S3700 Series SSDs: rename, add 730 and S3700.
Remove extra S3700 entry. Based on patch provided by Tim Small.
2014-06-18 Christian Franke <franke@computer.org>
os_win32.cpp: Fix CSMI support for older Intel RST drivers which set
bPortIdentifier=0xff (regression from r3888).
os_win32/installer.nsi: Create standard InstallLocation registry entry.
Keep old Install_Dir entry if needed for GSmartControl.
Update links in registry and shortcuts.
2014-06-18 Christian Franke <franke@computer.org>
drivedb.h:
- USB: Buffalo MiniStationHD-PCFU3 (0x0411:0x0240)
- USB: Toshiba Stor.E Plus (0x0480:0xa00a) (Debian bug 734395)
- USB: Samsung D3 Station (0x04e8:0x6124) (ticket #332)
- USB: Samsung M3 Portable (0x04e8:0x61b[45])
- USB: Seagate Expansion Portable (0x0bc2:0x2312)
- USB: Seagate Expansion External (0x0bc2:0x3312) (ticket #320)
- USB: WD Elements (0x1058:0x10[ab]8) (ticket #331)
- USB: ASMedia AS2105 (0x174c:0x5136)
2014-06-16 Christian Franke <franke@computer.org>
drivedb.h:
- Seagate Laptop Thin HDD
- Seagate Barracuda 7200.14 (AF): *DM000 variant
- Seagate Barracuda Green (AF): no warnings for newer firmware versions
- Seagate Constellation.2 (SATA)
- Seagate NAS HDD
- Seagate Video 3.5 HDD
2014-06-15 Christian Franke <franke@computer.org>
drivedb.h, smartctl.8.in, smartd.8.in, INSTALL, NEWS, TODO, WARNINGS:
Fix old Trac links.
2014-05-23 Alex Samorukov <samm@os2.kiev.ua>
os_freebsd.cpp: fixed#321 (compiler warning on 32 bit architectures),
patch provided by tijl
2014-05-01 Christian Franke <franke@computer.org>
os_linux.cpp: Clarify copyright info in GPL header.
smartctl.8.in, smartd.conf.5.in: Update '-d aacraid' info.
2014-04-30 Douglas Gilbert <dgilbert@interlog.com>
scsiprint.cpp:
- Lowest aligned LBA > 0 not common so only output in that case
2014-04-28 Christian Franke <franke@computer.org>
autogen.sh: Allow automake 1.14, suppress 'subdir-objects' warning.
Makefile.am: Add new 'compile' script to target 'maintainer-clean'.
2014-04-28 Douglas Gilbert <dgilbert@interlog.com>
scsicmds.h, scsicmds.cpp, scsiprint.h:
- improve handling of modern SCSI disks (SAS SSDs)
show compliance (SCSI version), show 12 Gbps SAS-3
speed, and flag ZBC presence
2014-04-27 Alex Samorukov <samm@os2.kiev.ua>
drivedb.h:
- Toshiba 3.5" MG03ACAxxx(Y) Enterprise HDD
2014-04-27 Christian Franke <franke@computer.org>
Fixes for aacraid patch:
aacraid.h: Fix typo which breaks 32-bit build.
os_linux.cpp: Remove useless member variable afd.
Fix error handling of /proc/devices parsing.
Avoid unsafe sprintf(). Fix help text.
2014-04-27 Raghava Aditya <raghava.aditya@pmcs.com>
os_linux.cpp:
- Added support for aacraid drivers
- Created a new interface for aacraid
smartctl -d aacraid,H,L,ID /dev/sdx
2014-04-18 Douglas Gilbert <dgilbert@interlog.com>
scsicmds.cpp:
- supported_vpd_pages(): lower response length to stop sense data
noise on old disks (pre SPC-3)
2014-04-17 Christian Franke <franke@computer.org>
drivedb.h:
- Western Digital RE4 (SATA 6Gb/s): WD2000FYYX
- Western Digital Se
- Western Digital Caviar Green (AF, SATA 6Gb/s): 4TB
- Western Digital Black: Rename, add 3TB, AF, remove extra AF entry
- Western Digital Red: 4TB (ticket #322)
- Western Digital Blue Mobile
2014-04-10 Christian Franke <franke@computer.org>
os_win32.cpp: Rework CSMI port scanning.
Use bPortIdentifier instead of Phy array index for addressing.
Ignore possibly bogus bNumberOfPhys (ticket #325).
2014-04-09 Douglas Gilbert <dgilbert@interlog.com>
scsiprint.cpp:
- add guard to scsiPrintSasPhy() invocation; resolve ticket #204
2014-04-06 Christian Franke <franke@computer.org>
WARNINGS: Remove all entries. Add link to Warnings page in Wiki.
2014-03-13 Christian Franke <franke@computer.org>
drivedb.h:
- Crucial/Micron RealSSD C300/M500: *SSD1 variant
- SandForce Driven SSDs: ADATA SP300, ADATA SP800, ADATA SP900 DL2,
Corsair Force SSD, Kingston SE50S3, Kingston SKC380S3,
Smart Storage XceedIOPS2, VisionTek GoDrive
- Indilinx Barefoot 3 based SSDs: OCZ VERTEX 450
- JMicron based SSDs: ADATA SP600
- Plextor M3/M5 (Pro) Series SSDs: Rename, add M5S (ticket #297), M5Pro
2014-03-06 Christian Franke <franke@computer.org>
drivedb.h:
- OCZ Intrepid 3000 SSDs
- Intel 320 Series SSDs: 'D' variant (ticket #315)
- Intel DC S3500 Series SSDs: 'T' variant (ticket #315)
2014-03-05 Christian Franke <franke@computer.org>
ataprint.cpp: Check SCT Feature Control support bit for '-g/-s wcreorder'.
This prevents bogus error messages if SCT support excludes SCT Feature
Control command.
atacmds.cpp: Fix error message text for SCT Feature Control command.
2014-03-03 Christian Franke <franke@computer.org>
smartctl.8.in, smartd.8.in, smartd.conf.5.in: Remove bashisms from
shell script examples.
2014-03-03 Christian Franke <franke@computer.org>
Makefile.am, os_win32/smart*_res.rc.in: Set Copyright year in
Windows VERSIONINFO resource.
2014-03-03 Christian Franke <franke@computer.org>
os_linux.cpp: Fix glob(3) max path count (ticket #317).
2014-03-03 Christian Franke <franke@computer.org>
configure.ac, Makefile.am: Add '--with-systemdenvfile=[FILE|no]'
configure option to change or remove (ticket #316) the systemd
EnvironmentFile setting.
smartd.service.in: Add a reference to documentation (ticket #316).
2014-02-18 Alex Samorukov <samm@os2.kiev.ua>
os_freebsd.cpp: use %lu for iop->resp_sense_len
2014-02-16 Alex Samorukov <samm@os2.kiev.ua>
os_freebsd.cpp: mass updates, provided by Tijl Coosemans
- Remove some unused private fields from some classes (found by Clang)
- In freebsd_scsi_device::scsi_pass_through:
* Make sure this function returns false on error instead of an error
code that gets converted to true.
* Put printing of the "Incoming data" debug info right after the
cam_send_ccb() call and before the error checking to make debugging
easier.
* When copying sense data make sure the fields in the CCB are actually
valid with CAM_AUTOSNS_VALID. Also make sure that the size of the
sense data doesn't overflow max_sense_len. This was the real cause for
the crash in ports/181836.
* Add some debug printing on the sense data.
2014-02-03 Christian Franke <franke@computer.org>
dev_areca.cpp: Check cmds index before use (ticket #312).
Make cmds array static const.
2014-01-01 Christian Franke <franke@computer.org>
Happy New Year! Update copyright year in version info.
2013-12-21 Christian Franke <franke@computer.org>
drivedb.h:
- Intel 525 Series SSDs
- Intel 530 Series SSDs (ticket #308)
2013-12-19 Christian Franke <franke@computer.org>
drivedb.h:
- Seagate Samsung Spinpoint F4
- Seagate Desktop SSHD
- Seagate Constellation CS
- Western Digital Red: *JFCX variant
- Western Digital Green Mobile
- Western Digital Elements / My Passport (USB): rename
2013-12-19 Christian Franke <franke@computer.org>
autogen.sh: automake 1.13.3 works.
2013-12-14 Christian Franke <franke@computer.org>
drivedb.h:
- Toshiba 2.5" HDD MK..65GSX: "... H" (USB?) variant
- Toshiba 2.5" HDD MQ01UBD... (USB 3.0)
- USB: Toshiba Stor.E Slim USB 3.0 (0x0480:0x0100)
- USB: Toshiba Stor.E Basics (0x0480:0xa009)
- USB: Toshiba Stor.E (0x0939:0x0b15)
- USB: Seagate FreeAgent GoFlex (0x0bc2:0x5020)
- USB: WD My Passport Ultra (0x1058:0x0741)
- USB: WD Elements (0x1058:0x1048)
- USB: Initio (0x13fd:0x1640) (ticket #295)
- USB: LucidPORT (0x1759:0x5100)
2013-12-08 Christian Franke <franke@computer.org>
drivedb.h:
- Apacer SDM4: SFDDA01C firmware (ticket #304).
- Crucial/Micron RealSSD m4/C400/P400: M4 SSD1 (ticket #306).
- Seagate Barracuda 7200.14: Check part number to avoid bogus
firmware bug warning (ticket #298).
2013-11-23 Christian Franke <franke@computer.org>
configure.ac, utility.cpp: Remove __DATE__, __TIME__
and SMARTMONTOOLS_CONFIGURE_DATE.
This obsoletes OpenSUSE nobuild-date.patch.
Reproducible builds are now supported.
2013-11-15 Alex Samorukov <samm@os2.kiev.ua>
os_freebsd.cpp: Fix crash on FreeBSD 9.2 caused by wrong
SCSI status check condition.
os_freebsd.cpp: Print debug info on errors only if requested.
2013-11-07 Matt Kraai <...>
smartctl.cpp: Add missing stdlib.h.
This fixes build on QNX 6.3.2 (ticket #300).
2013-11-07 Roger Röhrig <...>
drivedb.h: Intel DC S3500 Series SSDs: Add -F xerrorlba.
2013-11-07 Roger Röhrig <...>
atacmds.cpp: Fix Extended Comprehensive Error Log timestamp
byte order on big endian machines.
2013-09-12 Christoph Egger <christoph@debian.org>
dev_areca.h: Fix build on kFreeBSD (Debian bug 717567).
This obsoletes Debian kfreebsd.patch.
2013-08-17 Christian Franke <franke@computer.org>
examplescripts: Add scripts from Debian and Fedora packages.
2013-08-17 Christian Franke <franke@computer.org>
Add spaces between string literals and macro identifiers.
This avoids the interpretation as user-defined literals if
C++11 is enabled (g++ -std=gnu++11).
2013-08-15 Dan Lukes <dan+smartmontools.changelog@obluda.cz>
drivedb.h: Intel DC S3500 Series SSDs
2013-08-12 Christian Franke <franke@computer.org>
drivedb.h: Intel 320 Series SSDs: Add attribute 183 and 199.
2013-08-10 Christian Franke <franke@computer.org>
autogen.sh: automake 1.10.3, 1.12.6, and 1.13.4 work.
The new automake 1.14 is left out for now due to the
'subdir-objects' warning and the new 'compile' script.
Add options '--force' and '--warnings=CATEGORY'.
Version 8.9.0 [v8-stable] 2015-04-07
- omprog: add option "hup.forward" to forwards HUP to external plugins
- imuxsock: added capability to use regular parser chain
- 0mq: improvements in input and output modules
- imtcp: add support for ip based bind for imtcp -> param "address"
- bugfix: MsgDeserialize out of sync with MsgSerialize for StrucData
- bugfix imfile: partial data loss, especially in readMode != 0
- bugfix: potential large memory consumption with failed actions
- bugfix: omudpspoof: invalid default send template in RainerScript format
- bugfix: size-based legacy config statements did not work properly
- build system: added option --without-valgrind-testbench
- rsyslogd: fix misleading typos in error messages
Version 8.8.0 [v8-stable] 2015-02-24
- omkafka: add support for dynamic topics and auto partitioning
- imtcp/imptcp: support for broken Cisco ASA TCP syslog framing
- omfwd: more detailled error messages in case of UDP send error
- TLS syslog: enable capability to turn on GnuTLS debug logging
- bugfix: $AbortOnUncleanConfig did not work
- improve rsyslogd -v output and error message with meta information
version number is now contained in error message and build platform in
version output
- bugfix imtcp: octet-counted framing cannot be turned off
- bugfix: build problems on Illuminos
- bugfix: invalid data size for iMaxLine global property
- bugfix: negative values for maxMessageSize global parameter were permitted
Version 1.1.1, 2015-03-09
- fixed library version numbering
- added new parser syntaxes
- bugfix: function ln_parseFieldDescr() returns state value due
to unitialized variable. This can also lead to invalid returning
no sample node where one would have to be created.
- Build system: Numerous fixes.
- collectd: A use-after-free has been fixed in the parse_value() function.
- collectd: Fix carriage return sign in types_list
- collectd: Fix programming error in {{GitFile|src/configfile.c}}
- collectd: An off-by-one error has been fixed in the strstripnewline()
function.
- collectd: Use the complain mechanism to report filter chain write failures.
- collectd: Spelling and grammar of error messages have been fixed.
- collectdctl: Fixed buffering issues which caused trouble on AIX and
Solaris.
- Documentation: Details and example about multi-instance filterchain targets
have been added.
- Documentation: The CollectStatistics option of the RRDCacheD plugin has
been documented.
- Documentation: The Write Redis plugin has been documented.
- Documentation: The GraphiteSeparateInstances and GraphiteAlwaysAppendDS
options of the AMQP plugin have been documented.
- Documentation: Documentation of the AutoLoadPlugin option has been improved.
- Aggregation plugin: utils_vl_lookup: A race when creating user objects has
been fixed.
- CPU plugin: Temperature code for Mac OS X has been removed.
- cURL, cURL-JSON, cURL-XML and Write HTTP plugins: Call curl_global_init()
in the plugins' init() callback.
- cURL and memcachec plugins: Fix calculation of gauge, average, minimum
and maximum. Previously, they were calculated from the start of the daemon,
which is not the documented behavior.
- cURL-JSON plugin: A bug, which triggered when two URLs with a long common
prefix were configured, was fixed.
- DBI plugin: Compatibility with new versions of libdbi has been restored.
- Exec, UnixSock plugins: Fix parsing of the time option of the PUTNOTIF
command.
- IPMI plugin: A conflict with the Java plugin over the SIGUSR2 signal
has been fixed.
- Java plugin: Conversion from Java's time representation to collectd's
representation has been fixed.
- Java plugin: Make sure cjni_thread_detach() is called on all paths.
- LogFile and SysLog plugins: Avoid total silence in case of
a misconfiguration.
- Network plugin: Support for recent versions of gcrypt has been added.
- Network plugin: Robustness of the client connecting behavior has been
improved.
- Python plugin: Don't create empty meta_data_t objects.
- Python plugin: Fix Py list length check in cpy_build_meta().
- Python plugin: The interval member was fixed to export seconds as a double.
- RRDtool and RRDCacheD plugins: A memory leak when creating RRD files
has been fixed.
- SNMP plugin: Fix a memory leak.
- Statsd plugin: Support for samplerates in timer metrics was added.
- Swap plugin: Fix behavior under OpenVZ by making cached optional.
- Threshold plugin: Population of the time field in notifications has been
added.
- libvirt plugin: Only gather stats for running domains.
- LVM plugin: An issue with Volume Groups (VGs) without Logical Volumes
(LVs) has been fixed.
- Write Graphite plugin: Escape characters not supported by Graphite.
- Write HTTP plugin: Make callback names context-dependent.
- Write Redis plugin: A formatting bug, which resulted in totally unusable
numbers being transmitted to Redis, was fixed.
- Write Riemann plugin: Receive acknowledge message when using TCP.
Upstream changelog follows.
3.6.5
Features:
- Introduced "systemd" hard class.
- Added paths to dtrace, zfs and zpool on FreeBSD in masterfiles.
Bug fixes:
- Fixed build error on certain RHEL5 and SLES10 setups.
- Fixed a bug which caused dangling symlinks not to be removed.
- Fixed data_readstringarrayidx function not preserving the order of the
array it's producing.
- Fixed a bug which sometimes caused CFEngine to kill the wrong daemon
if both the host and a container inside the host were running
CFEngine.
- Made sure the rm_rf_depth bundle also deletes the base directory.
- Fixed monitord reporting wrongly on open ports.
- Skip adding the class when its name is longer than 1024 characters.
Fixed core dump when the name is too large.
- Fixed detection of stopped process on Solaris.
- Fixed infinite loop plus a couple more minor
bugs in edit_xml promises.
3.6.4
Features:
- Introduced users promises support on HP-UX platform.
- Introduced process promises support on HP-UX platform.
Bug fixes:
- Fixed bug on FreeBSD which sometimes led to the wrong process being killed
- Fixed package version comparison sometimes failing with rpm package manager
- Fixed a bug in users promises which would sometimes set the wrong
password hash if the user would also be unlocked at the same time.
- Fixed a bug on AIX which would occationally kill the wrong process.
- Improved error message for functions that require an absolute path.
- Fixed some spelling errors in examples.
- Fixed error in out-of-tree builds when building cf-upgrade.
- Fixed a bug which would make cf-agent exit with an error if it was
built with a custom log directory, and that directory did not exist.
- Fixed ordering of evaluating promises when depends_on is used.
- Skip non-empty directories silently when recursively deleting.
- Fix memory exhaustion with list larger than 4994 items.
- Fix cf-execd segfault on IP address detection
- Fix hard class detection of RHEL6 ComputeNode
3.6.3
New features:
- support for HP-UX 11.23 and later
- experimental support for Red Hat Enterprise Linux 7
Bug fixes:
- fix getindices on multi-dimensional arrays
- fix mustache template method to run in dryrun mode
- set mailto and mailfrom settings for execd in def.cf
- fix conflation of multi-index entries in arrays
- fix promise locking when transferring using update.cf
- update JSON parser to return an error on truncation
- fix sys.hardware_addresses not expanded
- fix opening database txn /var/cfengine/cf_lastseen.lmdb:
MDB_READERS_FULL when running cf-keys --show-hosts
- fix segfault (Null pointer dereference) when select_end in
delete_lines never matches
- fix max_file_size => "0" not disabling or allowing any size
- fix ifvarclass, with iteration over list, failing when deleting
files with time condition
- fix classes defined with "or" constraint are never set if any value
doesn't evaluate to a scalar
- update "mailfrom" default in default policy
- fix logrotate ambiguity of filename
- fix parsing JSON files
- reduce write count activity to /var partition
- fix files delete attribute incorrectly triggering promise_kept
- update services bundle output related to chkconfig when run in
inform mode.
- fix Solaris serverd tests
- fix broken bechaviour of merging arrays with readstringarray
- fix ifelapsed bug with bundle nesting
- fix handling cf_null in bundlesequence
- fix maparray reading whole input array when using subarray
- fix directories being randomly changed to files
- update defaults promise type to work with classes
- systemd integration in services promises
- fix touch attribute ignoring action = warn_only
- fix 4KB string limit in functions readfile, string_downcase,
string_head, string_reverse, string_length, string_tail,
string_upcase
3.6.2
Bug fixes:
- don't regenerate software_packages.csv every time
- improve verbose message for package_list_command
- fix missing log output on AIX
- assorted fixes to dirname() esp on Windows
- fix package manager detection
- fix build issues on FreeBSD
- allow copying of dead symbolic links
- preserve order in readstringarrayidx
- fix passing of unexpanded variable references to arrays
- use entries for new {admin,deny}_{ips,hostnames} constraints in
the relevant legacy lists
- cope with ps's numeric fields overflowing to the right
- interpret failing function calls in ifvarclass as class not set
- remove unexpanded lists when extending lists
- infer start-time of a process from elapsed when needed
- fix input range definition for laterthan() function
- don't add trailing delimiter when join()'ing lists ending with a
null-value
- 9999999999 (ten 9s) or higher has been historically used as an upper
bound in CFEngine code and policy but because of overflow on 32-bit
platforms it caused problems with big numbers. Fixed in two ways:
first change all existing policy uses to 999999999 (nine 9s instead
of eleven 9s), second fix the C code to not wrap-around in case of
overflow, but use the LONG_MAX value
- cf-serverd and other daemons no longer reload their configuration
every minute if CFEngine is built with an inputs directory outside
of the work directory (not the default).
3.6.1
New features:
- Introduced Solaris and AIX support into the 3.6 series, with many associated
build and bug fixes.
Changes:
- Short-circuit evaluation of classes promises if class is already set
- fix to assume all non-specified return codes are failed in commands
promises
- cf-serverd logs reconfiguration message to NOTICE (was INFO) so that it's
always logged in syslog
Bug fixes:
- File monitoring has been completely rewritten (changes attribute in files
promise), which eliminates many bugs, particularly regarding files that
are deleted. Upgrading will keep all monitoring data, but downgrading again
will reinitialize the DB, so all files will be reported as if they were new.
- $(this.promiser) expands in files promises for 'transformer',
'edit_template', 'copy_from.source', 'file_select.exec_program', 'classes'
and 'action' bodies
- 'body changes' notifies about disappeared files in file monitoring
- Set not-kept classes when files or commands promise should be repaired,
but is warn-only
- Fixed CFEngine template producing a zero-sized file
- Add 0-9 A-Z _ to allowed context of module protocol
- Extend ps command column width on Solaris and filter on zone
rather than adding it to the ps output.
- Fixed strftime() function on Solaris when called with certain specifiers.
- Fixed users promise bug regarding password hashes in a NIS/NSS setup.
- Fixed $(sys.uptime), $(sys.systime) and $(sys.sysday) in AIX.
#5148, #5206)
- Fixed processes_select complaining about "Unacceptable model uncertainty
examining processes"
- ps command for linux has been changed to cope with big rss values
- Address ps -axo shift on FreeBSD 10 and later
- methods and services promises respect action_policy => "warn"
- LMDB should no longer deadlock if an agent is killed on the hub while
holding the DB lock. Note that the change only affects binary packages
shipped by CFEngine, since the upstream LMDB project has not yet integrated
the change.
3.6.0
Changes:
- Changes to logging output
- add process name and pid in syslog message (GitHub #789)
- cf-serverd logging levels are now more standardised:
- INFO logs only failures
- VERBOSE logs successful requests as well
- DEBUG logs actual protocol traffic.
- cf-serverd now logs the relevant client IP address on
each message.
- Logging contexts to local database (cf_classes.tcdb) has been deprecated.
- 'usebundle' promisees are logged for all the bundle promises
- output from 'reports' promises has nothing prefixed except 'R: '
- a log line with stack path is generated when the promise type evaluated
changes
- LMDB (symas.com/mdb) is the default database for local data storage : use
version 0.9.9 or later. cf-agent --self-diagnostics (-x) is only
implemented for TCDB, not for LMDB
- port argument in readtcp() and selectservers() may be a
service name (e.g. "http", "pop3").
- Enable source file in agent copy_from promises to be a relative path.
- file "changes" reporting now reports with log level "notice", instead
of "error".
- process_results default to AND'ing of set attributes if not specified
- interface is now canonified in sys.hardware_mac[interface] to align with
sys.ipv4[interface]
- cf-promises no longer errors on missing bodies when run without
--full-check (-c)
- Linux flavor "SUSE" now correctly spelled with all uppercase in variables
and class names. The "suse" lowercase version is also
provided for convenience.
- $(this.promise_filename) and $(..._dirname) variables are now absolute
paths.
- including the same file multiple times in 'body control inputs' is
not an error
- portnumber in body copy_from now supports service names like "cfengine",
"pop3" etc, check /etc/services for more.
- The failsafe.cf policy, run on bootstrap and in some other
unusual cases, has been extracted from C code into libpromises/failsafe.cf
- masterfiles
- cf_promises_validated is now in JSON format
- timestamp key is timestamp (sec since unix epoch) of last time validated
- the masterfiles now come from https://github.com/cfengine/masterfiles
and are not in the core repository
- cf-serverd calls cf-agent with -Dcfruncommand when executing cf-runagent
requests
Mark as removed: promise_notkept_log_include, promise_notkept_log_exclude,
promise_repaired_log_include, promise_repaired_log_exclude, classes_include,
classes_exclude, variables_include, variables_exclude attributes from
report_data_select body (syntax is valid but not functional). They have been
replaced by the following attributes: promise_handle_include,
promise_handle_exclude, metatags_include, metatags_exclude.
New features:
- New promise type "users" for managing local user accounts.
- TLS authentication and fully encrypted network protocol.
Additions specific to the new type of connections:
- New attribute "allowlegacyconnects" in body server control,
which enables serving policy via non-latest cfengine protocol,
to the given list of hosts. If the option is absent, it
defaults to allow all hosts. To refuse non-TLS connections,
specify an empty list.
- New attribute "protocol_version" in body copy_from, and body
common control, which defines the preferred protocol for
outgoing connections.. Allowed values at the moment: "0" or
"undefined", "classic" or "1", "latest" or "2". By leaving the
copy_from option as undefined the common control option is
used, and if both are undefined then classic protocol is used
by default.
- The new networking protocol uses TLS for authentication,
after which all dialog is encrypted within the established
TLS session. cf-serverd is still able to speak the legacy
protocol with old agents.
- The 'skipverify' option in 'body server control' is
deprecated and only left for compatibility; it does
nothing
- cf-serverd does not hang up the connection if some request
fails, so that the client can add more requests.
- For the connections using the new protocol, all of the
paths in bundle server access_rules now differentiate
between a directory and a file using the trailing
slash. If the path exists then this is auto-detected and
trailing slash appended automatically. You have to append
a trailing slash manually to an inexistent or symbolic
path (e.g. "/path/to/$(connection.ip)/") to force
recursive access.
- New in 'access' promises for 'bundle server access_rules'
- Attributes "admit_ips", "admit_hostnames", "admit_keys",
"deny_ips", "deny_hostnames", "deny_keys"
- "admit_keys" and "deny_keys" add the new functionality
of controlling access according to host identity,
regardless of the connecting IP.
- For these new attributes, regular expressions
are not allowed, only CIDR notation for "admit/deny_ips", exact
"SHA=..." strings for "admit/deny_keys", and exact hostnames
(e.g. "cfengine.com") or subdomains (starting with dot,
e.g. ".cfengine.com") for "admit/deny"_hostnames. Same rules
apply to 'deny_*' attributes.
- These new constraints and the paths in access_rules, can contain
special variables "$(connection.ip)", "$(connection.hostname)",
"$(connection.key)", which are expanded dynamically for every
received connection.
- For connections using the new protocol, "admit" and "deny"
constraints in bundle server access_rules are being phased
out, preferred attributes are now "admit_ips", "deny_ips",
"admit_hostnames", "deny_hostnames", "admit_keys",
"deny_keys".
- New "shortcut" attribute in bundle server access_rules used to
dynamically expand non-absolute request paths.
- masterfiles
- standard library split: lib/3.5 (compatibility) and lib/3.6
(mainline)
- many standard library bundles and bodies, especially packages-
and file-related, were revised and fixed
- supports both Community and Enterprise
- new 'inventory/' structure to provide OS, dmidecode, LSB, etc.
system inventory (configured mainly in def.cf)
- cf_promises_release_id contains the policy release ID which is
the GIT HEAD SHA if available or hash of tree
- a bunch'o'bundles to make starting with CFEngine easier:
- file-related: file_mustache, file_mustache_jsonstring, file_tidy,
dir_sync, file_copy, file_link, file_hardlink, file_empty, file_make
- packages-related: package_absent, package_present, package_latest,
package_specific_present, package_specific_absent,
package_specific_latest, package_specific
- XML-related: xml_insert_tree_nopath, xml_insert_tree, xml_set_value,
xml_set_attribute
- VCS-related: git_init, git_add, git_checkout,
git_checkout_new_branch, git_clean, git_stash, git_stash_and_clean,
git_commit, git
- process-related: process_kill
- other: cmerge, url_ping, logrotate, prunedir
- New command line options for agent binaries
- New options to cf-promises
- '--show-classes' and '--show-vars'
- '--eval-functions' controls whether cf-promises should evaluate
functions
- Colorized output for agent binaries with command line option '--color'
(auto-enabled if you set CFENGINE_COLOR=1)
- New language features
- New variable type 'data' for handling of structured data (ie JSON),
including supporting functions:
- 'data_readstringarray' - read a delimited file into a data map
- 'data_readstringarrayidx' - read a delimited file into a data array
- 'datastate' - create a data variable with currently set classes
and variables
- 'datatype' - determine the type of the top element of a container
- 'format' - %S can be used to serialize 'data' containers into
a string
- 'mergedata' - merge two data containers, slists/ilists/rlists,
or "classic" arrays into a data container
- 'parsejson' - create a data container from a JSON string
- 'readjson' - create a data container from a file that contains JSON
- 'storejson' - serialize a data container into a string
- Most functions operating on lists can also operate on data containers
- pass a data container to a bundle with the @(container) notation
- the module protocol accepts JSON for data containers with
the '%' sigil
- Tagging of classes and variables allows annotating of language
construct with meta data; supporting functionality:
- The module protocol in 'commands' promises has been extended
to allow setting of tags of created variables and classes,
and the context of created variables
- 'getclassmetatags' - returns list of meta tags for a class
- 'getvariablemetatags' - returns list of meta tags for a variable
- 'body file control' has an 'inputs' attribute to include library files
and other dependencies
- bundlesequences can be built with bundlesmatching() based on bundle
name and tags
- New attributes in existing promise types and bodies
- New option 'preserve_all_lines' for insert_type in insert_lines promises
- Caching of expensive system functions to avoid multiple executions of
execresult() etc, can be controlled via cache_system_functions
attribute in body common control
- New option 'mailsubject' in body executor control allows defining
the subject in emails sent by CFEngine
- Support for Mustache templates in 'files' promises; use
'template_method' and 'template_data' attributes. Without
'template_data' specified, uses datastate().
- New and improved functions
- 'bundlesmatching' - returns list of defined bundles matching
a regex and tags
- 'canonifyuniquely' - converts a string into a unique, legal class name
- 'classesmatching' - returns list of set classes matching a regex
and tags
- 'eval' - evaluates mathematical expressions; knows SI k, m, g
quantifiers, e.g. "100k"
- 'findfiles' - list files matching a search pattern; use "**" for
recursive searches
- 'makerule' - evaluates whether a target file needs to be rebuilt
from sources
- 'max', 'min' - returns maximum and minimum of the numbers in
a container or list (sorted by a 'sort' method)
- 'mean' - returns the mean of the numbers in a container or list
- 'nth' - learned to look up by key in a data container holding a map
- 'packagesmatching' - returns a filtered list of installed packages.
- 'readfile' - learned to read system files of unknown size like those
in /proc
- 'sort' - can sort lexicographically, numerically (int or real), by IP,
or by MAC
- 'string_downcase', 'string_upcase' - returns the lower-/upper-case
version of a string
- 'string_head', 'string_tail' - returns the beginning/end of a string
- 'string_length' - returns the length of a string
- 'string_reverse' - reverses a string
- 'string_split' - improved implementation, deprecates 'splitstring'
- 'variablesmatching' - returns a list of variables matching a regex
and tags
- 'variance' - returns the variance of numbers in a list or container
- New hard classes
- Introduced alias 'policy_server' for context 'am_policy_hub'
(the latter will be deprecated)
- all the time-based classes have GMT equivalents
- New variables
- 'sys.bindir' - the location of the CFEngine binaries
- 'sys.failsafe_policy_path' - the location of the failsafe policy file
- 'sys.inputdir' - the directory where CFEngine searches for policy files
- 'sys.key_digest' - the digest of the host's cryptographic key
- 'sys.libdir', 'sys.local_libdir' - the location of the CFEngine libraries
- 'sys.logdir' - the directory where the CFEngine log files are saved
- 'sys.masterdir' - the location of masterfiles on the policy server
- 'sys.piddir' - the directory where the daemon pid files are saved
- 'sys.sysday' - the number of days since the beginning of the UNIX epoch
- 'sys.systime' - the number of seconds since the beginning of the UNIX epoch
- 'sys.update_policy_path' - the name of the update policy file
- 'sys.uptime' - the number of minutes the host has been online
- 'this.promise_dirname' - the name of the file in which the current promise
is defined
- 'this.promiser_uid' - the ID of the user running cf-agent
- 'this.promiser_gid' - the group ID of the user running cf-agent
- 'this.promiser_ppid' - the ID of the parent process running cf-agent
Deprecations:
- 'splitstring' - deprecated by 'string_split'
- 'track_value'
- 'skipverify'
Bug fixes: for a complete list of fixed bugs, see https://cfengine.com/dev
- various fixes in evaluation and variable resolution
- Improve performance of list iteration
- Removed limitation of input length to internal buffer sizes
- directories ending with "/" are not ignored
- lsdir() always return a list now, never a scalar
- 'abortclasses' fixed to work in common bundles and other cases
- namespaced 'edit_line' bundles now work
- lists are interpolated in correct order
- cf-serverd reloads policies properly when they change
- lots of leaks (memory and file descriptor) fixed
3.5.3
Changes:
- Improved security checks of symlink ownership. A symlink created by a user
pointing to resources owned by a different user will no longer be followed.
- Changed the way package versions are compared in package promises.
In previous versions the comparison was inconsistent. This has been fixed,
but may also lead to behavior changes in certain cases.
Bug fixes:
- fix cf-monitord crash due to incorrect array initialization
- fix cf-serverd stat()'ing the file tree every second
- correctly populate sys.hardware_addresses variable
- add support for Debian's GNU/kfreebsd to build system
- fix possible stack corruption in guest_environments promises
- work-around hostname trunctation in HP-UX's uname
- fix body copy purging of empty directories
- make discovery and loading of avahi libraries more robust
- compile and packaging fixes for HP-UX, AIX and Solaris
- fix fatal error in lsdir() when directory doesn't exist
- fix epoch calculation for stime inrange calculation
3.5.2
Bug fixes:
- fix delayed abortclasses checking
- fix maplist arguments bug
- fix segfaults in cf-pomises
- fix build on Solaris 10/SmartOS
- sanitize characters from /etc/issue in sys.flavor for Debian
- Fix segfault when dealing with files or data > 4K
- Don't truncate keys to 126 characters in getindices
- files created via log_* actions now have mode 600
- fix wrong log message when a promise is ignored due to 'ifvarclass'
not matching
- fix lifetime of persistent classes
- fix segfault when process_select body had no process_result attribute
Default to AND'ed expression of all specified attributes
- include system message in output when acl promises fail
- fix invocation of standard_services bundle and corresponding promise
compliance
3.5.1
Changes:
- file changes are logged with log level Notice, not Error
- the CFEngine Standard Library in masterfiles/libraries is now split into
promise-type specific policy files, and lives in a version-specific
directory. This should have no impact on current code, but allows more
granular include of needed stdlib elements
Bug fixes:
- fix recursive copying of files
- respect classes in templates
- fix timestamps on Windows
- fix non-root cf-agent flooding syslog
- fix email flood from cf-execd due to timestamps in agent output
- Preserve security context when editing or copying local files
- fix path for sys.crontab on redhat systems
- prevent incorrect "insert_lines promise uses the same select_line_matching
anchor" warning
- Fix regression of setting VIPADDRESS to 127.0.0.1
- Fix "changes" promise not receiving status when file is missing
- Fix symlinks being destroyed when editing them
- Fix missing "promise kept" status for the last line in a file
3.5.0
New features:
- classes promises now take an optional scope constraint.
- new built-in functions: every, none, some, nth, sublist, uniq, filter
- every
- none
- some
- nth
- sublist
- uniq
- filter
- classesmatching
- strftime
- filestat
- ifelse
- maparray
- format
- cf-promises flag --parse-tree is replaced by --policy-output-format=,
requiring the
user to specify the output format (none, cf, json)
- cf-promises allows partial check of policy (without body common control)
without integrity check; --full-check enforces integrity check
- agent binaries support JSON input format (.json file as generated by
cf-promises)
- cf-key: new options --trust-key/-t and --print-digest/-p
- Class "failsafe_fallback" is defined in failsafe.cf when main policy
contains errors and failsafe is run because of this
- add scope attribute for body classes
- Better diagnostics of parsing errors
- Error messages from parser now show the context of error
- new cf-agent option: --self-diagnostics
- new output format, and --legacy-output
- warnings for cf-promises.
- Enable zeroconf-discovery of policy hubs for automatic bootstrapping
if Avahi is present
- Support for sys.cpus on more platforms than Linux & HPUX
Changes:
- parser no longer allows ',' after promiser or promisee. must be either
';' or lval
- Make parser output in GCC compatible format the only supported format
(remove --gcc-brief-format flag)
- Silence license warnings in Enterprise Free25 installations
- action_policy => "warn" causes not_kept classes to be set on promise
needing repair.
- command line option version (-V) now prints a shorter parsable version
without graphic
- implicit execution of server and common bundles taking arguments is
skipped in cf-serverd.
- WARNING: option --policy-server removed, require option to --bootstrap
instead
- process promises don't log if processes are out of range unless you
run in verbose mode
- reports promises are now allowed in any context
- cf-report has been removed
- cf-execd: --once implies --no-fork
- Version info removed from mail subject in the emails sent by cf-execd.
The subject will only contain "[fqname/ipaddress]" instead of
"communnity/nova [fqname/ipaddress]"
Please change your email filters accordingly if necessary.
- "outputs" promise type is retired. Their semantics was not clear, and
the functionality
is better suited for control body setting, not a promise.
- Tokyo Cabinet databases are now automatically checked for
correctness during opening. It should prevent a number of issues
with corrupted TC databases causing binaries to hang.
- Improved ACL handling on Windows, which led to some syntax changes.
We now consistently use the term "default" to describe ACLs that can be
inherited by child objects. These keywords have received new names:
acl_directory_inherit -> acl_default
specify_inherit_aces -> specify_default_aces
The old keywords are deprecated, but still valid. In addition, a new keyword
"acl_inherit" controls inheritance behavior on Windows. This feature does
not exist on Unix platforms.
- Networking code is moved from libpromises to its own library,
libcfnet. Work has begun on making the API more sane and thread-safe.
Lots of legacy code was removed.
- Add getaddrinfo() replacement in libcompat (borrowed from PostgreSQL).
- Replace old deprecated and non thread-safe resolver calls with
getaddrinfo() and getnameinfo().
- Hostname2IPString(), IPString2Hostname() are now thread-safe, and are
returning error when resolution fails.
- Running cf-execd --once now implies --no-fork, and also does not wait
for splaytime to pass.
- execresult(), returnszero() and commands promises no longer requires
the first word word to be an absolute path when using the shell.
- commands promises useshell attribute now accepts "noshell" and "useshell"
values. Boolean values are accepted but deprecated.
- returnszero() now correctly sets the class name in this scenario:
"commandfailed" not => returnszero("/bin/nosuchcommand", "noshell");
Bugfixes:
- bundles are allowed to be empty
- Fixed '.' and '-' not being accepted by a commands module.
- Correct parsing of list variables by a command module.
- Fixed issue with package management and warn.
- Fixed JSON crash.
- Improved error checking when using fgets().
- Fixed error message when deleting nonexistent files.
- Honor warn-only when purging from local directory.
- Make sure "restart" and "reload" are recognized keywords in packages.
- Allocate memory dynamically to avoid out-of-buffer or out-of-hash
situations
- fix edit_xml update of existing attributes
- use failsafe policy from compile-time specified workdir
- ifvarclass checked from classes promises in common bundles
- do not wait for splaytime when executing only once
- disable xml editing functionality when libxml2 doesn't provide necessary APIs
- Out-of-tree builds should work again, fixed a bunch of related bugs.
- Fixed race condition in file editing.
- Fixed memory leak in cf-serverd and others
Changelog
=========
- :release:`15.1.0 <2015-02-24>`
- 🐛`- major` Tolerate frames without a ``__name__``.
- :release:`15.0.0 <2015-01-23>`
- :feature:`44` Add :func:`structlog.stdlib.add_log_level` and :func:`structlog.stdlib.add_logger_name` processors.
- :feature:`42` Add :func:`structlog.stdlib.BoundLogger.log`.
- :feature:`19` Pass positional arguments to stdlib wrapped loggers that use string formatting.
- :feature:`28` structlog is now dually licensed under the `Apache License, Version 2 <http://choosealicense.com/licenses/apache-2.0/>`_ and the `MIT <http://choosealicense.com/licenses/mit/>`_ license.
Therefore it is now legal to use structlog with `GPLv2 <http://choosealicense.com/licenses/gpl-2.0/>`_-licensed projects.
- :feature:`22` Add :func:`structlog.stdlib.BoundLogger.exception`.
While amanda-client 3.3 has been stable on NetBSD for a while, the
server code has apparently never worked. This commit adds several
patches:
- include sys/{types,time}.h so autoconf tape drive checks pass
- improve error messages when tape drive code is not compiled in
- avoid perl crash in report generation
These changes have been tested on NetBSD 6 kernel with NetBSD 5
userland, amd64 (for no good reason, but this was the machine with the
tape drive), dumping many machines and writing to LTO.
The first two patches are taken from an upstream patch committed to
the 3.3 branch due to this problem being reported. The third patch is
ad hoc based on perl debugging, and needs further investigation. (But
it's better to get a report without a header line than an empty mail
message.)
Add the following files (CPU family 6 model 3d, 3e and 3f):
000306d4-6
000306d4-7
000306e7-0
000306e7-2
000306e7-3
000306e7-5
000306e7-6
000306e7-7
000306f2-0
000306f2-1
000306f2-2
000306f2-3
000306f2-5
000306f2-6
Bugs fixed:
* restructure elf note printing to avoid repeated messages
* add note limit, suggested by Alexander Cherepanov
* Bail out on partial pread()'s (Alexander Cherepanov)
* Fix incorrect bounds check in file_printable (Alexander Cherepanov)
* PR/405: ignore SIGPIPE from uncompress programs
* change printable -> file_printable and use it in
more places for safety
* Fix for CVE-2014-9620.
We are carrying a patch for configure to include -li386 on i386/i486,
but the upstream script is missing the [] intended to match multiple
subfamilies, and hence does not match. This commit just adds in the
missing [], enabling compilation to succeed on i386, and not changing
anything on !i386.
* Longer sleep (increase stability but won't affect runtime).
* Work around JRuby problem.
* Spec environment unset in parent is unset in parent when set in grandparent.
* Remove environment variables not in ENV that are in ProcessBuilder
environment.
* Remove unnecessary stringification of ENV keys MSP-11414
Unlike @environment, which is a generic Hash, ENV is guarenteed to be
<String, String>, so remove the keys #to_s calls for ENV.
By default qemu will try to create some sort of backend for the
emulated VGA device, either SDL or VNC.
However when the user specifies sdl=0 and vnc=0 in their configuration
libxl was not explicitly disabling either backend, which could lead to
one unexpectedly running.
If either sdl=1 or vnc=1 is configured then both before and after this
change only the backends which are explicitly enabled are configured,
i.e. this issue only occurs when all backends are supposed to have
been disabled.
This affects qemu-xen and qemu-xen-traditional differently.
If qemu-xen was compiled with SDL support then this would result in an
SDL window being opened if $DISPLAY is valid, or a failure to start
the guest if not. Passing "-display none" to qemu before any further
-sdl options disables this default behaviour and ensures that SDL is
only started if the libxl configuration demands it.
If qemu-xen was compiled without SDL support then qemu would instead
start a VNC server listening on ::1 (IPv6 localhost) or 127.0.0.1
(IPv4 localhost) with IPv6 preferred if available. Explicitly pass
"-vnc none" when vnc is not enabled in the libxl configuration to
remove this possibility.
qemu-xen-traditional would never start a vnc backend unless asked.
However by default it will start an SDL backend, the way to disable
this is to pass a -vnc option. In other words passing "-vnc none" will
disable both vnc and sdl by default. sdl can then be reenabled if
configured by subsequent use of the -sdl option.
Tested with both qemu-xen and qemu-xen-traditional built with SDL
support and:
xl cr # defaults
xl cr sdl=0 vnc=0
xl cr sdl=1 vnc=0
xl cr sdl=0 vnc=1
xl cr sdl=0 vnc=0 vga=\"none\"
xl cr sdl=0 vnc=0 nographic=1
with both valid and invalid $DISPLAY.
This is XSA-119.
From b6e327fde6c365086594e2b46edf435aa1671b1a Mon Sep 17 00:00:00 2001
From: Ian Campbell <ian.campbell@citrix.com>
Date: Fri, 20 Feb 2015 14:41:09 +0000
Subject: [PATCH] tools: libxl: Explicitly disable graphics backends on qemu
cmdline
By default qemu will try to create some sort of backend for the
emulated VGA device, either SDL or VNC.
However when the user specifies sdl=0 and vnc=0 in their configuration
libxl was not explicitly disabling either backend, which could lead to
one unexpectedly running.
If either sdl=1 or vnc=1 is configured then both before and after this
change only the backends which are explicitly enabled are configured,
i.e. this issue only occurs when all backends are supposed to have
been disabled.
This affects qemu-xen and qemu-xen-traditional differently.
If qemu-xen was compiled with SDL support then this would result in an
SDL window being opened if $DISPLAY is valid, or a failure to start
the guest if not. Passing "-display none" to qemu before any further
-sdl options disables this default behaviour and ensures that SDL is
only started if the libxl configuration demands it.
If qemu-xen was compiled without SDL support then qemu would instead
start a VNC server listening on ::1 (IPv6 localhost) or 127.0.0.1
(IPv4 localhost) with IPv6 preferred if available. Explicitly pass
"-vnc none" when vnc is not enabled in the libxl configuration to
remove this possibility.
qemu-xen-traditional would never start a vnc backend unless asked.
However by default it will start an SDL backend, the way to disable
this is to pass a -vnc option. In other words passing "-vnc none" will
disable both vnc and sdl by default. sdl can then be reenabled if
configured by subsequent use of the -sdl option.
Tested with both qemu-xen and qemu-xen-traditional built with SDL
support and:
xl cr # defaults
xl cr sdl=0 vnc=0
xl cr sdl=1 vnc=0
xl cr sdl=0 vnc=1
xl cr sdl=0 vnc=0 vga=\"none\"
xl cr sdl=0 vnc=0 nographic=1
with both valid and invalid $DISPLAY.
This is XSA-119.
Changelog is :
3.8.8 -> 3.8.9
- Add new directive "createolddir" and "nocreateolddir". These directives
can be used to create the directory specified by olddir with particular
"mode", "owner" and "group".
- Continue with rotation even when first log from logset is removed
during the rotation.
- Fix crash on BSD systems introduced in 3.8.8 caused by different qsort_r
function. Function qsort is now used instead.
- Fix potential buffer overflow in usage of strncat function.
- Fix compilation with musl-libc.
- Add experimental 'renamecopy' directive to allow 'olddir' on different
physical device. See the "man logrotate" for more information.
3.8.7 -> 3.8.8
- Add support for building using autotools/automake. Using "./autogen.sh",
"./configure" and "make" is now preferred way how to build logrotate.
Old Makefile remains available, but it is deprecated and will be removed
in the future. Please report any problem related to new build system.
- Add support for systems which do not support fork (use vfork instead)
and madvise.
- Fix bug when wrong log file has been removed in case of dateext and
dateformat %d-%m-%Y.
- Do not expect that the name of root account is 'root'.
- Do not stop rotation with an error when olddir and log file
are on different devices and copy or copytruncate is used.
- Return an error code when parent directory of log does not exist,
"su" directive is not used, logrotate is running as root and missingok
is not specified. [vcizek]
- Prepend error printed by compression program with the log name even when
the compression program exits with zero exit code.
pkgsrc change : took over maintainership.
x86emul: fully ignore segment override for register-only operations
For ModRM encoded instructions with register operands we must not
overwrite ea.mem.seg (if a - bogus in that case - segment override was
present) as it aliases with ea.reg.
This is CVE-2015-2151 / XSA-123.
x86emul: fully ignore segment override for register-only operations
For ModRM encoded instructions with register operands we must not
overwrite ea.mem.seg (if a - bogus in that case - segment override was
present) as it aliases with ea.reg.
This is CVE-2015-2151 / XSA-123.
x86emul: fully ignore segment override for register-only operations
For ModRM encoded instructions with register operands we must not
overwrite ea.mem.seg (if a - bogus in that case - segment override was
present) as it aliases with ea.reg.
This is CVE-2015-2151 / XSA-123.
lsof for legacy reasons includes sys/mount.h without _KERNEL but
msdosfs/msdosfsmount.h with _KERNEL.
Fixes:
/usr/include/msdosfs/msdosfsmount.h:255:12: error: a parameter list without types is only allowed in a function definition
VFS_PROTOS(msdosfs);
Version 2014.7.2 is a bugfix release for 2014.7.0. The changes include:
Fix erroneous warnings for systemd service enabled check (issue 19606)
Fix FreeBSD kernel module loading, listing, and persistence kmod (issue 197151, issue 19682)
Allow case-sensitive npm package names in the npm state. This may break behavior for people expecting the state to lowercase their npm package names for
them. The npm module was never affected by mandatory lowercasing. (issue 20329) Deprecate the activate parameter for pip.install for both the module and the state. If bin_env is given and points to a virtualenv, there is no need to activate that virtualenv in a shell for pip to install to the virtualenv.
Fix a file-locking bug in gitfs (issue 18839)
Deprecated archive_user in favor of standardized user parameter in state and added group parameter.
Salt 2014.7.0 changes
* New Transport
* RAET Transport Option
* Salt SSH Enhancements
* Install salt-ssh Using pip
* Fileserver Backends
* Saltfile Support
* Ext Pillar
* No More sshpass
* Pure Python Shim
* Custom Module Delivery
* CP Module Support
* More Thin Directory Options
* State System Enhancements
* New Imperative State Keyword "Listen"
* Mod Aggregate Runtime Manipulator
* New Requisites: onchanges and onfail
* Global onlyif and unless
* Use names to expand and override values
* Major Features
* Scheduler Additions
* Red Hat 7 Family Support
* Fileserver Backends in salt-call
* Amazon Execution Modules
* LXC Runner Enhancements
* Next Gen Docker Management
* Peer System Performance Improvements
* SDB
* GPG Renderer
* OpenStack Expansion
* Queues System
* Multi Master Failover Additions
* Chef Execution Module
* salt-api Project Merge
* Synchronous and Asynchronous Execution of Runner and
Wheel Modules
* rest_cherrypy Additions
* Web Hooks
* Generating and Accepting Minion Keys
* Fileserver Backend Enhancements
* New gitfs Features
* Pygit2 and Dulwich
* Mountpoints
* Environment Whitelisting/Blacklisting
* Expanded Authentication Support
* New hgfs Features
* Mountpoints
* Environment Whitelisting/Blacklisting
* New svnfs Features
* Mountpoints
* Environment Whitelisting/Blacklisting
* Configurable Trunk/Branches/Tags Paths
* New minionfs Features
* Mountpoint
* Changing the Saltenv from Which Files are Served
* Minion Whitelisting/Blacklisting
* Pyobjects Renderer
* New Modules
* New Runners
* New External Pillars
* New Salt-Cloud Providers
* Salt Call Change
* Deprecations
* salt.modules.virtualenv_mod
UPower is an abstraction for enumerating power devices, listening to device
events and querying history and statistics. Any application or service on the
system can access the org.freedesktop.UPower service via the system message
bus. Some operations (such as suspending the system) are restricted using
PolicyKit.
Changes:
* Fix build on DragonFly due to pidfile changes.
* Add support for TECH_LOONGSON, TECH_ROCKCHIP, and TECH_GENERIC. Taken from
pkgsrc, submitted-by: Leonardo Taccari, original patches by Jared D. McNeill.
dbus-glib 0.104 (2015-02-09)
============================
The “smoke and ashes” release.
Deprecations:
• Document the entire library as deprecated (Simon McVittie, Philip Withnall)
Dependencies:
• libdbus 1.8 is required
• GLib 2.32 is required
Enhancements:
• The libdbus 1.8 dependency means we can now document that
dbus_g_thread_init() is idempotent and thread-safe
(fd.o #54770, Simon McVittie)
• Use g_cclosure_marshal_generic for all marshalling (fd.o #64214,
Simon McVittie)
Fixes:
• Allow timeouts to be migrated from one main context to another
without an assertion failure (fd.o #30574, Mike Gorse)
• Don't trip a libdbus fatal warning if a Unix fd or other unsupported type
is encountered in a message (fd.o #80557, Alban Crequy)
• Make the tests pass with newer GLib by not removing removed sources
(fd.o #83530, Simon McVittie)
• Fix some typos in the documentation (fd.o #45686, Jiří Klimeš)
• Make the Autotools setup less awful (fd.o #58698;
Rafał Mużyło, Simon McVittie)
D-Bus 1.8.16 (2015-02-09)
==
The “poorly concealed wrestlers” release.
Security fixes:
• Do not allow non-uid-0 processes to send forged ActivationFailure
messages. On Linux systems with systemd activation, this would
allow a local denial of service: unprivileged processes could
flood the bus with these forged messages, winning the race with
the actual service activation and causing an error reply
to be sent back when service auto-activation was requested.
This does not prevent the real service from being started,
so it only works while the real service is not running.
(CVE-2015-0245, fd.o #88811; Simon McVittie)
Other fixes:
• fix a Windows build failure (fd.o #88009, Ralf Habacker)
• on Windows, allow up to 8K connections to the dbus-daemon instead of the
previous 64, completing a previous fix which only worked under
Autotools (fd.o #71297, Ralf Habacker)
BackupPC is a high-performance, enterprise-grade system for backing up *NIX,
Windows and MacOSX PCs and laptops to a server's disk. BackupPC is highly
configurable and easy to install and maintain.
BackupPC does not require any agent software to be installed on the client
systems as it operates over SSH/rsync, Samba or ftp.
pkgsrc change: reduce conflict with adding pkg_alternatives support.
Changes from 1.7.5 are too many to write here, but version 2.4.1 fixes
CVE-2015-1426 security problem.
Add an 'ndmp' option, disabled by default.
Disable kerberos option by default.
These two changes allow amanda to build again on OS X. My belief,
posited on pkgsrc-users without contradiction, is that no pkgsrc users
use these features anyway. Normal amanda usage these days is over ssh
(which gets one PFS). NDMP is for direct dumping of NAS: usage is
probably rare and also in large installations where rebuilding is not
hard.
All in all, I thought it better for the pkgsrc/amanda universe to have
consistent options across platforms than to selectively disable on OS
X.
Official metrics to help the development direction of Capistrano.
Collects anonymous usage statistics about Capistrano to aid with platform
support and ruby version targeting.
1.6.10
Fixes an issue with the copy module when copying a directory that fails when changing file attributes and the target file already exists
Improved unicode handling when splitting args
1.6.9
Further improvements to module parameter parsing to address additional regressions caused by security fixes
1.6.8
Corrects a regression in the way shell and command parameters were being parsed
1.6.7
Security fixes:
Strip lookup calls out of inventory variables and clean unsafe data returned from lookup plugins (CVE-2014-4966)
Make sure vars don't insert extra parameters into module args and prevent duplicate params from superseding previous params (CVE-2014-4967)
1.6.6
Security updates to further protect against the incorrect execution of untrusted data
1.6.4, 1.6.5
Security updates related to evaluation of untrusted remote inputs
libpciaccess is used by the Xorg server to interface with the appropriate
routines for finding and using PCI bus devices on various operating systems.
This release provides a number of platform-specific improvements for various
platforms, including Linux, Solaris, OpenBSD, NetBSD, and Hurd, plus the
addition of some support for Cygwin.
Alan Coopersmith (3):
Enable use of __attribute__((deprecated)) with Solaris Studio 12.4 compiler
Solaris: Fix fd leak in pci_device_solx_devfs_map_range()
libpciaccess 0.13.3
Marcin Ko?cielnicki (1):
Fix IO access functions on linux+sysfs.
Mark Kettenis (1):
Use PCIOCREADMASK on OpenBSD.
Matthew Green (1):
Implement the kernel_has_driver() method for NetBSD.
Samuel Pitoiset (2):
Windows/Cygwin: Add support through the WinIo library
Fix a compilation error on GNU Hurd platforms.
Thomas Klausner (2):
Fix zlib handling on NetBSD.
Improve NetBSD i386 detection.
xenkernel45:
File "/tmp/pkgsrc/sysutils/xenkernel45/work.x86_64/xen-4.5.0/xen/tools/compat-
build-source.py", line 30
print line.rstrip()
^
SyntaxError: invalid syntax
xentools45:
File "mkchecker.py", line 40, in <module>
if compat_arches.has_key(a):
AttributeError: 'dict' object has no attribute 'has_key'
...
XXX Assume the same is true for python 3.4 and mark as not for 33 34
processes associated with the service. In the case of tenshi, the
refresh method currently uses :kill -HUP, which sends a HUP to the
spawned tail process as well as the tenshi process, killing the
tail and breaking tenshi.
Fix this problem. Bump PKGREVISION.
From Paul B. Henson in PR 49607.
launchd integration currently requires manual steps as described in MESSAGE.launchd. We may want to make it default once we have a framework for automatic launchd support.
guests operating systems on a single machine. Guest OSes (also
called "domains") require a modified kernel which supports Xen
hypercalls in replacement to access to the physical hardware. At
boot, the xen kernel is loaded along with the guest kernel for the
first domain (called domain0). domain0 has privileges to access
the physical hardware (PCI and ISA devices), administrate other
domains and provide virtual devices (disks and network) to other
domains.
xenkernel45 and xentools45 contains the kernel and tools from
the Xen 4.5.x branch
This release no longer supports Ruby prior to 2.0.0.
Full changelog
--------------
Release: 12.0.3
- Issue 2594 Restore missing require in digester.
Release: 12.0.2
- Issue 2578 Check that installed is not empty for keg_only formula in
Homebrew provider
- Issue 2609 Resolve the circular dependency between ProviderResolver
and Resource.
- Issue 2596 Fix nodes not writing to disk
- Issue 2580 Make sure the relative paths are preserved when using link
resource.
- Pull 2630 Improve knife's SSL error messaging
- Issue 2606 chef 12 ignores default_release for apt_package
- Issue 2602 Fix subscribes resource notifications.
- Issue 2578 Check that installed is not empty for keg_only formula in
Homebrew provider.
- Issue 2625 Fix missing shell_out! for windows_package resource
- Issue 2634 Fix option ':command' is not a valid option error in subversion
provider.
- Issue 2345 Allow knife to install cookbooks with metadata.json.
Release: 12.0.1
- Issue 2552 Create constant for LWRP before calling provides
- Issue 2545 path attribute of execute resource is restored to provide
backwards compatibility with Chef 11.
- Issue 2565 Fix Chef::Knife::Core::BootstrapContext constructor for
knife-windows compat.
- Issue 2566 Make sure Client doesn't raise error when interval is set on
Windows.
- Issue 2560 Fix uninitialized constant Windows::Constants in
windows_eventlog.
- Issue 2563 Make sure the Chef Client rpm packages are signed with GPG keys
correctly.
Release: 12.0.0
- retry on HTTP 50X Error when calling Chef REST API
- The chef-apply command now prints usage information when called without
arguments
- CHEF-4933: idempotency fixes for ifconfig provider
- The knife bootstrap command expands the path of the secret-file
- [CHEF-4101] DeepMerge - support overwriting hash values with nil
- Mount provider remount action now honours options
- Fix noauto support in Solaris Mount Provider
- support version constraints in value_for_platform
- Add environment resource attribute to scm resources
- Use thread-safe OpenSSL::Digest instead of Digest
- Chef::Digester converted to thread-safe Singleton mixin.
- Reload systemd service only if it's running, otherwise start.
- knife diagnostic messages sent to stdout instead of stderr
- Remove the unused StreamingCookbookUploader class (CHEF-4586)
- Fix creation of non-empty FreeBSD groups (#1698)
- Check local repository for ips package installs (#1703)
- Fix "cron" resource handling of special strings (e.g. @reboot, @yearly)
(#1708)
- 'group' provider on OSX properly uses 'dscl' to determine existing groups
- Catch StandardError in Chef::ResourceReporter#post_reporting_data (Issue
1550).
- Fix regex causing DuplicateRole error (Issue 1739).
- Ability to specify an array for data_bag_path. (CHEF-3399, CHEF-4753)
- Use Systemd for recent Fedora and RHEL 7.
- Encrypted data bags should use different HMAC key and include the IV in
the HMAC (CHEF-5356).
- Don't modify variable passed to env resource when updating.
- Add "force" attribute to resource/user, pass "-f" to userdel. (Issue 1601)
- Chef::VersionConstraint#to_s should accurately reflect constraint's
behavior.
- Do not override ShellOut:live_stream if already set.
- Change knife option --force to --delete-validators. (Issue 1652)
- Add Parallels Cloud Server (PCS) platform support.
- Minor fixes for the Paludis package provider:
- only search for non-masked packages,
- increase command timeout length for package installation.
- Use shared_path for deploy resource.
- Add template syntax check to files in the templates/ dir only.
- Allow git provider to checkout existing branch names.
- Add whitespace boundaries to some mount point references in mount
provider.
- Improve the regex for /etc/rc.conf for the FreeBSD service provider
- Fetch recipe_url before loading json_attribs in chef-solo (CHEF-5075)
- Workaround for a breaking change in git's shallow-clone behavior. (Issue
1563)
- Fix version detection in FreeBSD pkgng provider. (PR 1980)
- Fixed gem_package resource to be able to upgrade gems when version is not
set.
- Made Chef Client load library folder recursively.
- Made Chef Client read the non-root crontab entries as the user specified
in the resource.
- Added --dry-run option to knife cookbook site share which displays the
files that are to be uploaded to Supermarket.
- Fixed Chef::HTTP to be able to follow relative redirects.
- Fixed FreeBSD port package provider to interpret FreeBSD version 10
correctly.
- Added source_url and issues_url options to metadata to be used by
Supermarket.
- Fixed Chef Client to use the :client_name instead of :node_name during
initial client registration.
- Fixed Paludis package provider to be able to interpret the package
category.
- Added a more clear error message to chef-apply when no recipe is given.
- Added support for sensitive property to the execute resource.
- Added an error message to prevent unintentional running of exec() in
recipes.
- Fixed a bug in pacman package provider that was preventing the
installation of bind package.
- Changed the default service provider to systemd on SLES versions 12 and
higher.
- Changed the default group provider to gpasswd on SLES versions 12 and
higher.
- Implemented RFC017 - File Specificity Overhaul.
- Improved the reliability of Git provider by making it to be more specific
when selecting tags.
- Changed knife upload not to validate the ruby files under files &
templates directories.
- Made knife cookbook create to display the directory of the cookbook that
is being created.
- Fixed the information debug output for the configuration file being used
when running knife.
- Changed knife cookbook site share to make category an optional parameter
when uploading cookbooks. It is still required when the cookbook is being
uploaded for the first time but on the consequent uploads existing category
of the cookbook will be used.
- Added JSON output to knife status command. --medium and --long output
formatting parameters are now supported in knife status.
- Removed dead code from knife ssh.
- Fixed a bug preventing mounting of cgroup type devices in the mount
provider.
- Fixed inconsistent globbing in knife from file command.
- Made user prompts in knife more beautiful by adding a space after Y/N
prompts.
- Made empty run_list to produce an empty array when using node.to_hash.
- Fixed a bug in knife bootstrap that caused config options to override
command line options.
- Fixed a bug in Mac OSX group provider and made it idempotent.
- Fixed a bug in why-run mode for freebsd service resources without
configured init scripts.
- Fixed a bug in freebsd service providers to load the status correctly.
- ruby 1.9.3 support is dropped
- Added RFC-023 Chef 12 Attribute Changes
(https://github.com/opscode/chef-rfc/blob/master/rfc023-chef-12-attributes-changes.md)
- Added os/platform_family options to provides syntax on the Chef::Resource
DSL
- Added provides methods to the Chef::Provider DSL
- Added supported?(resource, action) class method to all Providers for
late-evaluation if a provider can handle a resource
- Added ProviderResolver feature to handle late resolution of providers
based on what kinds of support is in the base operating system.
- Partial Deprecation of Chef::Platform provider mapping. The static mapping
will be removed as Chef-12 progresses and the hooks will be completely
dropped in Chef-13.
- Default guard_interpreter for powershell_script resource set to
:powershell_script, for batch to :batch
- Recipe definition now returns the retval of the definition
- Add support for Windows 10 to version helper.
- dsc_script resource should honor configuration parameters when
configuration_data_script is not set (Issue #2209)
- Ruby has been updated to 2.1.3 along with rubygems update to 2.4.2
- Removed shelling out to erubis/ruby for syntax checks (>= 1.9 has been
able to do this in the ruby vm itself for awhile now and we've dropped
1.8.7 which could not do this and had to shell_out)
- Report the request and response when a non-200 error code happens
- [FEATURE] Upgrade knife upload and knife download to download everything
in an organization, now including the organization definition itself
(knife download /org.json) and the invitations and member list (knife
download /invitations.json and knife download /members.json). Should be
compatible with knife-ec-backup.
- Make default Windows paths more backslashy
- knife now prefers to load config.rb in preference to knife.rb; knife.rb
will be used if config.rb is not found.
- Fixed Config[:cache_path] to use path_join()
- Updated chef-zero to 3.0, so that client tests can be run against
Enterprise Chef as well as Open Source.
- knife cookbook site download/list/search/share/show/unshare now uses
supermerket.getchef.com urls
- added Chef::ResourceCollection#insert_at API to the ResourceCollection
- http_proxy and related config vars no longer clobber already set ENV vars
- all http_proxy configs now set lowercase + uppercase versions of ENV vars
- https_proxy/ftp_proxy support setting http:// URLs (and whatever mix and
match makes sense)
- End-to-end tests for Ubuntu 12.04
- Only run end-to-end tests when secure environment variables are present.
- Remove recipe DSL from base provisioner (Issue 1446).
- Enable client-side key generation by default. (Issue 1711)
- CookbookSiteStreamingUploader now uses ssl_verify_mode config option
(Issue 1518).
- chef/json_compat now throws its own exceptions not JSON gem exceptions
- Modify action for env raises Chef::Exceptions::Env exception on Windows
(Chef Issues 1754)
- Fix a bug in the experimental Policyfile mode that caused errors when
using templates.
- Disable JSON encoding of request body when non-JSON content type is
specified.
- Clean up FileVendor and CookbookUploader internal APIs
- log resource now marks itself as supporting why-run
- http_request no longer appends "?message=" query string to GET and HEAD
requests
- added shell_out commands directly to the recipe DSL
- cookbook synchronizer deletes old files from cookbooks
- do not clear file cache when override run list is set (CHEF-3684)
- ruby 1.8.7/1.9.1/1.9.2 support is dropped
- set no_lazy_load to true (CHEF-4961)
- set file_stating_uses_destdir config option default to true (CHEF-5040)
- remove dependency on rest-client gem
- Add method shell_out_with_systems_locale to ShellOut.
- chef-repo rake tasks are deprecated; print relevant information for each
one.
- Fix RPM package version detection (Issue 1554)
- Don't override :default provider map if :default passed as platform
(OC-11667).
- Fix SuSE package removal failure (Issue 1732).
- Enable Travis to run Test Kitchen with Kitchen EC2.
- Fix a bug in reporting not to post negative duration values.
- Add password setting support for Mac 10.7, 10.8 and 10.9 to the dscl user
provider.
- ChefSpec can find freebsd_package resource correctly when a package
resource is declared on Freebsd.
- Autodetect/decrypt encrypted data bag items with data_bag_item dsl method.
(Issue 1837, Issue 1849)
- windows_user: look up username instead of resource name (Issue #1705)
- Remove the unused bootstrap templates that install chef from rubygems
- Remove the Chef 10 functionality from bootstrap.
- Deprecate --distro / --template_file options in favor of
--boostrap-template
- Add :node_ssl_verify_mode & :node_verify_api_cert options to bootstrap to
be able to configure these settings on the bootstrapped node.
- Add partial_search dsl method to Chef::Search::Query, add result filtering
to search.
- Transfer trusted certificates under :trusted_certs_dir during bootstrap.
- Set :ssl_verify_mode to :verify_peer by default.
- Add homebrew provider for package resource, use it by default on OS X
(Issue #1709)
- Add escape_glob method to PathHelper, update glob operations.
- Verify x509 properties of certificates in the :trusted_certs_dir during
knife ssl check.
- Disable unforked interval chef-client runs.
- Removed dependencies on the 'json' gem, replaced with ffi-yajl. Use
Chef::JSONCompat library for parsing and printing.
- Restore the deprecation logic of #valid_actions in LWRPs until Chef 13.
- Now that we don't allow unforked chef-client interval runs, remove the
reloading of previously defined LWRPs.
- Use shell_out to determine Chef::Config[:internal_locale], fix CentOS
locale detection bug.
- only_if and not_if attributes of execute resource now inherits the parent
resource's attributes when set to a String.
- Retain the original value of retries for resources and display the
original value when the run fails.
- Added service provider for AIX.
- The Windows env provider will delete elements even if they are only in ENV
(and not in the registry)
- Allow events to be logged to Windows Event Log
- Fixed bug in env resource where a value containing the delimiter could
never correctly match the existing values
- More intelligent service check for systemd on Ubuntu 14.10.
Release: 11.16.4
- Windows omnibus installer security updates for redistributed bash.exe /
sh.exe vulnerabilities ("Shellshock") CVE-2014-6271, CVE-2014-6271,
CVE-2014-6278, CVE-2014-7186, CVE-2014-7187.
- Fix bug on Windows where using the env resource on path could render the
path unusable.
- Chef Client now retries when it gets 50X from Chef Server.
- Chef Client 11.16.4 can use the policyfiles generated with Chef DK 0.3.0.
Release: 11.16.2
- Fix a regression in whyrun_safe_ruby_block.
Release: 11.16.0
- Fix a bug in user dscl provider to enable managing password and other
properties at the same time.
- Add dsc_script resource to Chef for PowerShell DSC support on Windows
Release: 11.14.6:
- Modify action for env raises Chef::Exceptions::Env exception on Windows
(Chef Issues 1754)
- Fix RPM package version detection (Issue 1554)
- Fix a bug in reporting not to post negative duration values.
- Add password setting support for Mac 10.7, 10.8 and 10.9 to the dscl user
provider.
- ChefSpec can find freebsd_package resource correctly when a package
resource is declared on Freebsd.
- http_proxy and related config vars no longer clobber already set ENV vars
- all http_proxy configs now set lowercase + uppercase versions of ENV vars
- https_proxy/ftp_proxy support setting http:// URLs (and whatever mix and
match makes sense)
Release: 11.14.2
- SIGTERM will once-more kill a non-daemonized chef-client (CHEF-5172)
- chef-service-manager should run as a non-interactive service (CHEF-5150)
- Fix file:// URI support in remote_file on windows (CHEF-4472)
- Catch HTTPServerException for 404 in remote_file retry (CHEF-5116)
- Providers are now set correctly on CloudLinux. (CHEF-5182)
- Made -E option to work with single lettered environments. (CHEF-3075)
- Added a 'knife node environment set' command. (CHEF-1910)
- Made bootstrap report authentication exceptions. (CHEF-5161)
- Made freebsd_package resource use the brand new "pkgng" package manager
when available.(CHEF-4637)
- Implemented a threaded download queue for synchronizing cookbooks.
(CHEF-4423)
- Raise an error when source is accidently passed to apt_package (CHEF-5113)
- Add an open_timeout when opening an http connection (CHEF-5152)
- Allow environment variables set on Windows to be used immediately
(CHEF-5174)
- Add an option to configure the chef-zero port (CHEF-5228)
- Added support for the usermod provider on OmniOS
- Only modify password when one has been specified. (CHEF-5327)
- Add exception when JSON parsing fails. (CHEF-5309)
- OK to exclude space in dependencies in metadata.rb. (CHEF-4298)
- Allow cookbook names with leading underscores. (CHEF-4562)
- Add Code Climate badge to README.
- Documentation that -E is not respected by knife ssh [search]. (CHEF-4778)
- Fix resource_spec.rb.
- Ensure URI compliant urls. (CHEF-5261)
- Correctly detect when rpm_package does not exist in upgrade action.
(CHEF-5273)
- Hide sensitive data output on chef-client error (CHEF-5098)
- Add config option :yum-lock-timeout for yum-dump.py
- Convert APT package resource to use provides :package, add timeout
parameter.
- Fix Chef::User#list API error when inflate=true. (CHEF-5328)
- Use git resource status checking to reduce shell_out system calls.
- Added .project to git ignore list.
- Support override_runlist CLI option in shef/chef-shell. (CHEF-5314)
- Fix updating user passwords on Solaris. (CHEF-5247)
- Enable storage of roles in subdirectories for chef-solo. (CHEF-4193)
- Fix Upstart provider with parameters. (CHEF-5265)
- Don't pass on default HTTP port(80) in Host header. (CHEF-5355)
- Allow for undefined solaris services in the service resource. (CHEF-5347)
- Properly knife bootstrap on ArchLinux. (CHEF-5366)
- Made windows service resource to handle transitory states. (CHEF-5319,
CHEF-4791)
- Add Dir.pwd as fallback for default user_home if home directory is not
set. (CHEF-5365)
- Add support for automatically using the Systemd service provider when
available. (CHEF-3637)
- Add timeout for Chef::Provider::Service::Windows. (CHEF-1165)
- knife[:attribute] in knife.rb should not override --attribute (CHEF-5158)
- Added the initial exherbo linux support for Chef providers.
- Fix knife cookbook site share on windows (CHEF-4994)
- YAJL Allows Invalid JSON File Sending To The Server (CHEF-4899)
- YAJL Silently Ingesting Invalid JSON and "Normalizing" Incorrectly
(CHEF-4565)
- Update rpm provider checking regex to allow for special characters
(CHEF-4893)
- Allow for spaces in selinux controlled directories (CHEF-5095)
- Windows batch resource run action fails: " TypeError: can't convert nil
into String" (CHEF-5287)
- Log resource always triggers notifications (CHEF-4028)
- Prevent tracing? from throwing an exception when first starting
chef-shell.
- Use Upstart provider on Ubuntu 13.10+. (CHEF-5276)
- Cleaned up mount provider superclass
- Added "knife serve" to bring up local mode as a server
- Print nested LWRPs with indentation in doc formatter output
- Make local mode stable enough to run chef-pedant
- Wrap code in block context when syntax checking so return is valid
(CHEF-5199)
- Quote git resource rev_pattern to prevent glob matching files (CHEF-4940)
- Fix OS X service provider actions that don't require the service label to
work when there is no plist. (CHEF-5223)
- User resource now only prints the name during why-run runs. (CHEF-5180)
- Set --run-lock-timeout to wait/bail if another client has the runlock
(CHEF-5074)
- remote_file's source attribute does not support DelayedEvaluators
(CHEF-5162)
- option attribute of mount resource now supports lazy evaluation.
(CHEF-5163)
- force_unlink now only unlinks if the file already exists. (CHEF-5015)
- chef_gem resource now uses omnibus gem binary. (CHEF-5092)
- chef-full template gets knife options to override install script url, add
wget/curl cli options, and custom install commands (CHEF-4697)
- knife now bootstraps node with the latest current version of chef-client.
(CHEF-4911)
- Add config options for attribute whitelisting in node.save. (CHEF-3811)
- Use user's .chef as a fallback cache path if /var/chef is not accessible.
(CHEF-5259)
- Fixed Ruby 2.0 Windows compatibility issues around ruby-wmi gem by
replacing it with wmi-lite gem.
- Set proxy environment variables if preset in config. (CHEF-4712)
- Automatically enable verify_api_cert when running chef-client in
local-mode. (Chef Issues 1464)
- Add helper to warn for broken [windows] paths. (CHEF-5322)
- Send md5 checksummed data for registry key if data type is binary, dword,
or qword. (Chef-5323)
- Add warning if host resembles winrm command and knife-windows is not
present.
- Use FFI binders to attach :SendMessageTimeout to avoid DL deprecation
warning. (ChefDK Issues 69)
- Use 'guest' user on AIX for RSpec tests. (OC-9954)
- Added DelayedEvaluator support in LWRP using the lazy {} key
- Fixed a bug where nested resources that inherited from Resource::LWRPBase
would not share the same actions/default_action as their parent
Release: 11.12.8
- Fix OS X service provider actions that don't require the service label to
work when there is no plist. (CHEF-5223)
- CHEF-5211: 'knife configure --initial' fails to load 'os' and 'hostname'
ohai plugins properly
- Fix the order of middlewares in HTTP::Simple (CHEF-5198).
- Wrap code in block context when syntax checking so return is valid
(CHEF-5199).
- Including a recipe from a cookbook not in the dependency graph logs a
MissingCookbookDependency warning. Fixes CHEF-4367.
- Improves syntax check speed for Ruby 1.9+, especially when using bundler.
- Send X-Remote-Request-Id header in order to be able to correlate actions
during a single run.
- Fix for CHEF-5048.
- Fix for CHEF-5052.
- Fix for CHEF-5018.
- Add --validator option to knife client create to be able to create
validator clients via knife.
- Add --delete-validators option to knife client delete in order to prevent
accidental deletion of validator clients.
- Add --delete-validators option to knife client bulk delete in order to
prevent accidental deletion of validator clients.
- Add -r / --runlist option to chef-client which permanently sets or changes
the run_list of a node.
- CHEF-5030: clean up debian ifconfig provider code
- CHEF-5001: spec tests for multiple rollbacks
- Added ohai7 'machinename' attribute as source of node_name information
- CHEF-4773: add ruby-shadow support to Mac and FreeBSD distros
- Service Provider for MacOSX now supports enable and disable
- CHEF-5086: Add reboot_pending? helper to DSL
- Upgrade ohai to 7.0.0.rc.0
- Make the initial bootstrap message more user friendly (CHEF-5102)
- Correctly handle exceptions in formatters when exception.message is nil
(CHEF-4743)
- Fix convergence message in deploy provider (CHEF-4929)
- Make group resource idempotent when gid is specified as a string.
(CHEF-4927)
- Non-dupable elements are now handled when duping attribute arrays.
(CHEF-4799)
- ruby-shadow is not installed on cygwin platform anymore. (CHEF-4946)
- Upgrade chef-zero to 2.0, remove native-compiled puma as chef dependency.
(CHEF-4901/CHEF-5005)
- Don't honor splay when sent USR1 signal.
- Don't set log_level in client.rb by default (CHEF-3698)
- Add IBM PowerKVM to Platform map. (CHEF-5135)
- Cookbook metadata now allows boolean and numeric attributes. (CHEF-4075)
- Knife ssh uses cloud port attribute when available. (CHEF-4962)
- Client info and debug logs now contain cookbook versions in addition to
cookbook names. (CHEF-4643)
- ShellOut mixin now exposes a method to capture the live stream during
command execution. (CHEF-5017)
- Service provider is now aware of maintenance state on Solaris.
(CHEF-4990)
- Refactor Chef::Util::FileEdit to indicate the purpose of the former
file_edited, now unwritten_changes?. (CHEF-3714)
- Fixed FileEdit#insert_line_if_no_match to match multiple times.
(CHEF-4173)
- Hide passwords in error messages from the Subversion resource.
(CHEF-4680)
- The dpkg package provider now supports epoch versions. (CHEF-1752)
- Multiple missing dependencies are now listed on knife cookbook upload.
(CHEF-4851)
- Add a public file_edited? method to Chef::Util::FileEdit. (CHEF-3714)
- Package provider defaults to IPS provider on Solaris 5.11+ (CHEF-5037)
- Chef::REST works with frozen options. (CHEF-5064)
- Service provider now uses Systemd on ArchLinux. (CHEF-4905)
- Support knife node run_list add --before. (CHEF-3812)
- Don't destructively merge subhashes in hash_only_merge!. (CHEF-4918)
- Display correct host name in knife ssh error message (CHEF-5029)
- Knife::UI#confirm now has a default_choice option. (CHEF-5057)
- Add knife 'ssl check' and 'ssl fetch' commands for debugging SSL errors.
(CHEF-4711)
- Usermod group provider is only used on OpenSuse. (OHAI-339)
- Cron resource accepts a weekday attribute as a symbol. (CHEF-4848)
- Cron resource accepts special strings, e.g. @reboot (CHEF-2816)
- Call WIN32OLE.ole_initialize before using WMI (CHEF-4888)
- Fix TypeError when calling dup on un-dupable objects in DeepMerge
- Add optional client-side generation of client keys during registration
(CHEF-4373)
- Restore warning for the overlay feature in knife cookbook upload, which
was accidentally removed in 11.0.0.
- Don't save the run_list during node.save when running with override run
list. (CHEF-4443)
- Enable Content-Length validation for Chef::HTTP::Simple and fix issues
around it. (CHEF-5041, CHEF-5100)
- Windows MSI Package Provider (CHEF-5087)
- Fix mount resource when device is a relative symlink (CHEF-4957)
- Increase bootstrap log_level when knife -V -V is set (CHEF-3610)
- Knife cookbook test should honor chefignore (CHEF-4203)
- Fix ImmutableMash and ImmutableArray to_hash and to_a methods (CHEF-5132)
- guard_interpreter attribute: use powershell_script, other script resources
in guards (CHEF-4553)
- Fix for CHEF-5169: add require for chef/config_fetcher
- SIGTERM will once-more kill a non-daemonized chef-client (CHEF-5172)
3.2 (9/26/2014)
- removed 'json' gem dependency, replaced it with 'ffi-yajl'
3.1.3 (9/3/2014)
- fixes for running Chef local mode in multi-org mode
3.1.2 (8/29/2014)
- add default to rspec for cookbooks
- add /organizations/NAME/organization/_acl as an alias for
/organizations/NAME/organizations/_acl
3.1.1 (8/28/2014)
- fix minor bug with unknown container acls
3.1 (8/28/2014)
- New rspec data directives: organization, acl, group, container
- Fix organizations POST to honor full_name
- Fixes for enterprise rspec data loading
- Fix invites not removing the invite when user is forcibly added to an org
3.0 (7/22/2014)
- Enterprise Chef support (organizations, ACLs, groups, much more)
- SSL support (@sawanoboly)
2.2 (6/18/2014)
- allow port ranges to be passed in as enumerables, which will be tried
in sequence until one works: ChefZero::Server.new(:port => 80.upto(100))
2.1.5 (6/2/2014)
- fix issue with :single_org => not being honored
2.1.4 (5/27/2014)
- fix issue with global Thread.exit_on_exception being set
2.1.3 (5/27/2014)
- rspec: default port to 8900 to not conflict with normal default port
- rspec: when chef_zero_opts is set, check if current server has those
options before continuing
2.1.2 (5/27/2014)
- fix build_uri (and thus cookbook downloads)
2.1.1 (5/26/2014)
- flip defaults off in V1ToV2Adapater, allowing most chef tests
to pass against 2.1.1
2.1 (5/26/2014)
- Multi-tenancy! If you set :single_org => nil when starting the server,
you will gain /organizations/* at the beginning of all URLs. Internally,
all endpoints are rooted at /organizations/ORG anyway, there is just
a translation that goes on to add /organizations/single_org to the URL
when someone hits chef-zero.
- Fixes to support chef-zero local mode passing pedant
Changelog:
v0.14.0 - oetiker released this on Dec 16, 2014:
- build dependencies directly with make
- optionally prefix pfexec|sudo to zfs|zpool|test comands
- set mbuffer timeout to 60 seconds this might help with timeout situations seen on solaris
- fix string replacement in manifest file
- let smf manage pids instead of a pid file
- add message metadata "system" to msg object
this permits to store metadata alongside the message
- imfile: add support for "filename" metadata
this is useful in cases where wildcards are used
- imptcp: make stats counter names consistent with what imudp, imtcp uses
- added new module "omkafka" to support writing to Apache Kafka
- omfwd: add new "udp.senddelay" parameter
- mmnormalize enhancements
- RainerScript "foreach" iterator and array reading support
- now requires liblognorm >= 1.0.2
- add support for systemd >= 209 library names
- BSD "ntp" facility (value 12) is now also supported in filter
- bugfix: global(localHostName="xxx") was not respected in all modules
- bugfix: emit correct error message on config-file-not-found
- bugfix: impstats emitted invalid JSON format (if JSON was selected)
- bugfix: (small) memory leak in omfile's outchannel code
- bugfix: imuxsock did not deactivate some code not supported by platform
- cleanup for systemd-journal >= 209
- bugfix: date stamp was incorrectly formatted
The day part was totally off. This affected the "uxsock:" and "file:"
drivers.
* Remove backwards compatibility for no-tty mode. Addresses
CVE-2013-4440 (Closes: #725507)
* Fail hard if /dev/urandom and /dev/random are not available.
Addresses CVE-2013-4442 and Launchpad #1183213 (Closes: #767008)
* Fix pwgen -B so that it doesn't accidentally generate passwords with
ambiguous characters after changing the case of some letters.
Addresses Launchpad Bugs #638418 and #1349863
* Fix potential portability bug on architectures where unsgined ints
are not 4 bytes long