* africa: Egypt's 2014 Ramadan-based transitions are June 26 and July 31
at 24:00. (Thanks to Imed Chihi.) Similarly, Morocco's are June 28
at 03:00 and August 2 at 02:00. (Thanks to Milamber Space Network.)

* europe: The abbreviation "MSM" (Moscow Midsummer Time) is now used
instead of "MSD" for Moscow's double daylight time in summer 1921.
Also, a typo "VLASST" has been repaired to be "VLAST" for
Vladivostok summer time in 1991. (Thanks to Hank W. for reporting
the problems.)

* Fixes for CVE-2014-0224, CVE-2014-0221, CVE-2014-0195, CVE-2014-3470
* Harmonize version and its documentation
* Fix eckey_priv_encode so it immediately returns an error upon a
failure in i2d_ECPrivateKey
* Fix some double frees. These are not thought to be exploitable.

* bmake currently requires a .MAKE target dependency to induce the passing
of the jobs pipe descriptor to sub-jobs (aka sub-makes). This requirement
was lost due to a bug in bmake where it's F_SETFD fcntl was being run on
the wrong descriptor. This was recently fixed in bmake and exposed this
new problem.

* bmake might be run with the MAKEFLAGS environment intact but not be passed
the jobs descriptor. While bmake creates a new fresh jobs descriptor in
this case, it would remain an issue if some other parent program happened
to use a pipe descriptor with the same fd number.

* bmake or intermediate build programs might not be run with a .MAKE target
dependency, causing sub-bmakes to run an excessive number of concurrent
jobs.

* The question is whether we can really safely require this new behavior
or whether we should revert to the prior behavior.

FreeBSD modified the default to be the prior behavior of always passing
the jobs pipe descriptor and added a new .MAKE* directive to override it,
but I don't see how this helps matters when the default really needs to be
the always-pass behavior anyway.

The only other solution is to use a filesystem-visible pipe (filesystem fifo
in /tmp), which the old make used. But this often results in a lot of cruft
building up in /tmp from ^C's and/or system crashes. This solution is the
most compatible with expectations, frankly.

* For now revert to the prior behavior of always passing the jobs pipe
descriptor. This does a better job of guarenteeing that the descriptor
number remains intact through multiple fork/execs.

* australasia: Add comments about Johnston Island time in the 1960s.
(Thanks to Lyle McElhaney.)

* antarctica: New entry for Troll station, Antarctica. (Thanks to
Paul-Inge Flakstad and Bengt-Inge Larsson.) This is currently an
approximation; a better version will require zic and localtime
fixes. Also the NZAQ rules - which are never used - have been
removed.

* europe: Crimea switches to Moscow time on 2014-03-30 at 02:00 local
time. (Thanks to Alexander Krivenyshev.)
Move its zone.tab entry from UA to RU.

When operating PFSes through symbolic links, it was not
possible to specify the trailing backslash since that
translated to the PFS root dir instead of the symbolic link
to the PFS itself. This caused problems when upgrading or
downgrading PFSes (and probably in other cases too).
The error was "Directory not empty".

This commit should solve those cases, but keep in mind
there are other cases where it is actually not possible
to complete certain operations (like while destroying
PFSes).

Avoiding an infinite loop during P-state adjustment on the HP6715s notebook.

The code is taken from the OpenBSD counterpart to amd0f_set_fidvid.
The infinite loop probably occurs on my HP6715s because the rvo adjustment
doesn't get applied by the hardware when entering the highest P-state
(maybe because of some kind of overvolting protection).

The loop that checks if all dependencies of the target are running
didn't take into account that there could be more than one PROVIDE
keyword in one script. It treated all PROVIDEs which were not named
like the target as not yet running dependencies and failed.

To fix, loop through the PROVIDEs twice, the first time to skip all
the PROVIDEs of the script if the target is one of them.

All this is due to the output of "rcorder -o ..." having the script
that provides the target which we want to run as its last element,
so document that with a comment.

It changed the -v verbose option from standalone to expecting input and
as a result, any use of -v caused the usage screen to come up. Fixed.
Additionally, the pathnames.h header is unused, removed now.
Finally, several functions were turned into static functions and explicit
void casts were used when functions normally return integers. The last
two change sets converge with FreeBSD.

xinstall has not been seriously updated in a long time and has fallen
behind BSD counterparts. Syncing with FreeBSD may take several steps as
there is significant divergence and options (e.g. -l) do different things
on FreeBSD

This patch fix the expanding type of both the INT64_C and the INTMAX_C
family macros to match their corresponding type:
- INT64_C(value) to `int_least64_t`
- UINT64_C(value) to `uint_least64_t`
- INTMAX_C(value) to `intmax_t`
- UINTMAX_C(value) to `uintmax_t`

* Fix a bug in the LK_UPGRADE sequencing. If an LKC_UPREQ owner is present
and releasing the shared lock would release the lock, the UPREQ owner must
be granted the exclusive lock right then and there.

* Remove display of the 'M' flag, which used to mean that the process was
running MPSAFE w/regards to the kernel's mp_lock. Well, pretty much
all processes are MPSAFE now, so the flag just clutters the output.

* The kernel slab allocator collects off-cpu kfree()s in z_RChunks. This
linked list is freed up by the owning cpu. However, zones which are not
at the head of the list can wind up with non-NULL z_RChunks which never
get freed.

* Add a 10-second callout on every cpu to clean-up these stale zones, giving
the kernel a chance to free the related zones.

* This was probably the cause for other kernel memory leaks reported in the
past.

* The new VONWORKLST requirements were expanded to include VOBJDIRTY
for both the standard syncer and the new syncer. There was a path
in the VM system which could clear VOBJDIRTY but failed to resynchronize
VONWORKLST which could cause UFS to accidently leave a vnode on the
syncer list after reclamation, causing a crash.

* Do not scrap deleted + modified chains unconditionally, this will mess
up operations on unlinked-but-open files. Also fixes an assertion which
was getting hit and fixes poudriere test run stdout EBADF errors on
unlinked fifos.

* Optimize handling of the DESTROYED flag to restore the feature where a
rm -rf can get away with doing almost no write I/O.

This explanation is supposed to be simpler and better. In particular
"comparing it to the snprintf API provides lots of value, since it raises the
bar on understanding, so that programmers/auditors will a better job calling
all 3 of these functions."