mirror of
https://github.com/freebsd/freebsd-src.git
synced 2026-10-29 03:45:02 +01:00
Compare commits
342
Commits
stable/12
...
releng/10.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0099f6f89a | ||
|
|
11ad446ce5 | ||
|
|
34a93074ea | ||
|
|
43842ea4de | ||
|
|
fa9b3e7463 | ||
|
|
abab1d1a28 | ||
|
|
08e611325f | ||
|
|
855e409d8e | ||
|
|
4b8fd9e5b6 | ||
|
|
02dadd91ab | ||
|
|
81c5dce1e5 | ||
|
|
372b02197e | ||
|
|
44869e0102 | ||
|
|
cd41b3e680 | ||
|
|
3a2274d2b2 | ||
|
|
0aeac60e09 | ||
|
|
fade5123c2 | ||
|
|
cfc2b71ace | ||
|
|
e3ff8788aa | ||
|
|
7adac81fc6 | ||
|
|
623bb3d105 | ||
|
|
cef8b77310 | ||
|
|
13c90e1bda | ||
|
|
0257308744 | ||
|
|
b1ed5c6409 | ||
|
|
bc02a61ae3 | ||
|
|
6ac52295dc | ||
|
|
da1eb339bd | ||
|
|
2b19cbefeb | ||
|
|
efbf7fdf8e | ||
|
|
73701e5569 | ||
|
|
05b5ab2fd6 | ||
|
|
f58b655181 | ||
|
|
a7f17ef0bf | ||
|
|
7d94808ac2 | ||
|
|
c5e694c786 | ||
|
|
9fb34378b0 | ||
|
|
54fb252e99 | ||
|
|
f0532a44f7 | ||
|
|
76daf56a3d | ||
|
|
1de8dda6ac | ||
|
|
d0d55aee9f | ||
|
|
5739f32ff1 | ||
|
|
5c4c29fa99 | ||
|
|
f3b3a96ecc | ||
|
|
2abfd63c28 | ||
|
|
246c88933a | ||
|
|
f3c6f72ca7 | ||
|
|
177c88afd0 | ||
|
|
9da5a756d3 | ||
|
|
29255625b7 | ||
|
|
83fe8ebcc5 | ||
|
|
b1d32ef02a | ||
|
|
4d873b5515 | ||
|
|
1ee68b6f95 | ||
|
|
99ffdc1afb | ||
|
|
cd00bb2bd1 | ||
|
|
7b606234e7 | ||
|
|
f053d4c141 | ||
|
|
bdc8d2f5e4 | ||
|
|
aac8216bc3 | ||
|
|
cb7757563c | ||
|
|
3ad175abe0 | ||
|
|
f6e1d25e99 | ||
|
|
4cafe82e67 | ||
|
|
1c25e8f29d | ||
|
|
ca1d0bc6cd | ||
|
|
e5aa9b79fb | ||
|
|
3f76cb5621 | ||
|
|
8870e3f259 | ||
|
|
76919d7ec2 | ||
|
|
c61a9e9a54 | ||
|
|
ce1d1c726b | ||
|
|
fb55b0fcd4 | ||
|
|
4c03020144 | ||
|
|
d26e39b92a | ||
|
|
61aee8fc55 | ||
|
|
a0b1c1e9e4 | ||
|
|
ac7ded9178 | ||
|
|
d7c20bd9e5 | ||
|
|
679387b1d9 | ||
|
|
0afe44ddeb | ||
|
|
62d6ec2087 | ||
|
|
024bd4bf00 | ||
|
|
247693ade0 | ||
|
|
2b39b22287 | ||
|
|
1753856e76 | ||
|
|
e759e41d5d | ||
|
|
3705fd873f | ||
|
|
c18e74f111 | ||
|
|
84e8a83023 | ||
|
|
fba42f9b9d | ||
|
|
6a4e1713a1 | ||
|
|
77d9986a2e | ||
|
|
b0f95968a8 | ||
|
|
2a1db0dd63 | ||
|
|
9f07a27272 | ||
|
|
c3ba7fca55 | ||
|
|
c2a61fc2c8 | ||
|
|
1b1f0f4770 | ||
|
|
51e4e87924 | ||
|
|
b90712860e | ||
|
|
23855fb982 | ||
|
|
df6830cd8d | ||
|
|
7da593c8d3 | ||
|
|
191facbbf4 | ||
|
|
740c106a70 | ||
|
|
36d5fbf420 | ||
|
|
7cde677c3e | ||
|
|
943945de36 | ||
|
|
7157f26ecf | ||
|
|
daeaf966c3 | ||
|
|
ce20e7dcee | ||
|
|
bc64329d28 | ||
|
|
950b84d5e0 | ||
|
|
bb833473b3 | ||
|
|
3f5a3d307f | ||
|
|
a58cc6b4cc | ||
|
|
166be809b7 | ||
|
|
c598d2dfcc | ||
|
|
c7840386c6 | ||
|
|
d9436d64f4 | ||
|
|
5e3b051e7d | ||
|
|
271ac8441a | ||
|
|
41fcd1eae0 | ||
|
|
a6b4004228 | ||
|
|
4b49d828fd | ||
|
|
413bb2e602 | ||
|
|
9fbe48de6f | ||
|
|
4a3708afaf | ||
|
|
b2ca7dfc5a | ||
|
|
1116f7f998 | ||
|
|
58f446ccc6 | ||
|
|
e42ef4c2d6 | ||
|
|
4ee419b346 | ||
|
|
ecbaf613f6 | ||
|
|
d09cfc4023 | ||
|
|
f550ebbb96 | ||
|
|
52203325d1 | ||
|
|
c11161275c | ||
|
|
931f99a618 | ||
|
|
932e513e4a | ||
|
|
3aaa4beebb | ||
|
|
17cd1f9dc4 | ||
|
|
f055a60805 | ||
|
|
77aa0d78ac | ||
|
|
d9cbdc660d | ||
|
|
c1fabebef1 | ||
|
|
dc8ac7ee03 | ||
|
|
26a3fbdd89 | ||
|
|
258e8beb53 | ||
|
|
dd6382886a | ||
|
|
1c4a0ad280 | ||
|
|
d82c7b6c04 | ||
|
|
97c62104fe | ||
|
|
306e90bd1e | ||
|
|
8463b3d36a | ||
|
|
dd49112263 | ||
|
|
7f2cd8e279 | ||
|
|
e51d7ee863 | ||
|
|
98a88a7e2b | ||
|
|
81ce53ed94 | ||
|
|
6d1c235f21 | ||
|
|
d89d9c002d | ||
|
|
897a335d1f | ||
|
|
7dd0454fc4 | ||
|
|
9c0ccebd3f | ||
|
|
bce86754fd | ||
|
|
0f11ecf950 | ||
|
|
f5469bbbab | ||
|
|
acb1e21537 | ||
|
|
90a64638db | ||
|
|
262bb9d859 | ||
|
|
4cc7c90cfe | ||
|
|
723e8118d1 | ||
|
|
6b14eb998c | ||
|
|
ece729c921 | ||
|
|
77032326c5 | ||
|
|
9f52d7514c | ||
|
|
4dd3b9f0c3 | ||
|
|
f134dc39ad | ||
|
|
ad07a5f5a4 | ||
|
|
8605f20349 | ||
|
|
87eecfb2ad | ||
|
|
3b6afe6958 | ||
|
|
dce6c796ff | ||
|
|
44198f322e | ||
|
|
f1472ba569 | ||
|
|
c6d4dffb67 | ||
|
|
268032a16a | ||
|
|
65e2a44473 | ||
|
|
c9a7227e53 | ||
|
|
68c5213f9b | ||
|
|
6f68cc08a1 | ||
|
|
f66870b05e | ||
|
|
9d12f06de3 | ||
|
|
3d52c42d68 | ||
|
|
92c4526d29 | ||
|
|
86ae2f1544 | ||
|
|
f4b7f27397 | ||
|
|
0b375ff352 | ||
|
|
f70a919bbc | ||
|
|
81e83f08ca | ||
|
|
85fc4fd6df | ||
|
|
10673d8ba3 | ||
|
|
1e10d440dd | ||
|
|
06ed23aeb6 | ||
|
|
4d62b235d8 | ||
|
|
6a19e18da3 | ||
|
|
0669b917bb | ||
|
|
b58c3eecb3 | ||
|
|
36833ad957 | ||
|
|
3ec6f0439b | ||
|
|
e2d6c2d700 | ||
|
|
4f69543ab0 | ||
|
|
539ba7b271 | ||
|
|
7c1f011b81 | ||
|
|
f81982115d | ||
|
|
cb66bc9a91 | ||
|
|
4eb78460d6 | ||
|
|
422c3f0827 | ||
|
|
57a5bb20a6 | ||
|
|
eb2998bfc9 | ||
|
|
bb064f9d54 | ||
|
|
5c80b4c624 | ||
|
|
bb0709da2b | ||
|
|
8654b1936b | ||
|
|
3f3022f2c3 | ||
|
|
d3ce863c3b | ||
|
|
483d4e658c | ||
|
|
7fe47f2313 | ||
|
|
fbf68c9774 | ||
|
|
bfd3ae590d | ||
|
|
3b2663288e | ||
|
|
2a54ff1e69 | ||
|
|
76764adbf8 | ||
|
|
25f36a40ee | ||
|
|
0b6afc7f61 | ||
|
|
c3cde54a45 | ||
|
|
0166327886 | ||
|
|
37e75d2c2c | ||
|
|
a94faa8e30 | ||
|
|
bd6e33f57a | ||
|
|
fca8da639f | ||
|
|
f9da933f17 | ||
|
|
6645e1ce60 | ||
|
|
9f377d70f8 | ||
|
|
a6e13d23b1 | ||
|
|
148fb7bba8 | ||
|
|
153f1557ed | ||
|
|
4839aaa83c | ||
|
|
5d01443f34 | ||
|
|
bcd6c045b3 | ||
|
|
63918b8cec | ||
|
|
c0e290aad5 | ||
|
|
6aa0976190 | ||
|
|
382e41aaa3 | ||
|
|
d14e5d5ef1 | ||
|
|
8889602dde | ||
|
|
1173e49306 | ||
|
|
712234900d | ||
|
|
1d0591d730 | ||
|
|
8e8278331e | ||
|
|
b3ab8d5b5c | ||
|
|
898f3b7e8b | ||
|
|
5e44eca3ac | ||
|
|
4e0181a070 | ||
|
|
086e224470 | ||
|
|
f6c87422af | ||
|
|
76b5a72e23 | ||
|
|
d6b5672145 | ||
|
|
87683b0e12 | ||
|
|
97be8fee91 | ||
|
|
00be2f1bde | ||
|
|
51d2368e12 | ||
|
|
271bcd553f | ||
|
|
bf3c2e6fe6 | ||
|
|
e677e72ad5 | ||
|
|
2c0566bbfd | ||
|
|
dbb5621f66 | ||
|
|
4eb37d61e2 | ||
|
|
7ce63d6d2c | ||
|
|
487094c1b9 | ||
|
|
48d0151168 | ||
|
|
e36ccf8b54 | ||
|
|
e816177fd0 | ||
|
|
56e00508f8 | ||
|
|
1aa0fb8cc8 | ||
|
|
5ad339eecc | ||
|
|
df26aa1589 | ||
|
|
81886c9fe0 | ||
|
|
db6e06c63c | ||
|
|
aa83cc94d1 | ||
|
|
006fd2f093 | ||
|
|
9c9e57d28b | ||
|
|
eaa0158e84 | ||
|
|
045484cf62 | ||
|
|
25e43f5b95 | ||
|
|
6757df0218 | ||
|
|
cc6c9c3100 | ||
|
|
54e0990163 | ||
|
|
15e58bc05e | ||
|
|
741ed9ad07 | ||
|
|
61959c83dd | ||
|
|
e4da03f6b2 | ||
|
|
e2e044c50b | ||
|
|
33f276ff4a | ||
|
|
5d7075b1b2 | ||
|
|
ff9ba217b1 | ||
|
|
ed1333c89e | ||
|
|
652acc8f19 | ||
|
|
4aa19767ef | ||
|
|
af398a7bd4 | ||
|
|
23162ad9c2 | ||
|
|
0315203151 | ||
|
|
67f97e4eee | ||
|
|
98cffb81c4 | ||
|
|
ccaddae4d5 | ||
|
|
bebcd6abd7 | ||
|
|
57c8df0108 | ||
|
|
a46e125409 | ||
|
|
d6c0eddcb8 | ||
|
|
acb46391ef | ||
|
|
db870c92cc | ||
|
|
cd0068429f | ||
|
|
91003495af | ||
|
|
56e3796487 | ||
|
|
0dc23f139a | ||
|
|
cc0b5a7bc2 | ||
|
|
793fd24411 | ||
|
|
cb408b93ad | ||
|
|
6815a6c97f | ||
|
|
946bb632a9 | ||
|
|
be908b83c5 | ||
|
|
b425d26589 | ||
|
|
66fc6b5845 | ||
|
|
386fa243ea | ||
|
|
7e692917f4 | ||
|
|
10bc9af281 | ||
|
|
cca6eb1b77 | ||
|
|
3da091a211 | ||
|
|
66bb89fc08 |
No files matched your search
@@ -4,7 +4,7 @@
|
||||
The compilation of software known as FreeBSD is distributed under the
|
||||
following terms:
|
||||
|
||||
Copyright (c) 1992-2013 The FreeBSD Project. All rights reserved.
|
||||
Copyright (c) 1992-2014 The FreeBSD Project. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
|
||||
+35
-8
@@ -58,6 +58,7 @@
|
||||
# use that new version. And the new (dynamically-linked) /bin/sh
|
||||
# will expect to find appropriate libraries in /lib and /libexec.
|
||||
#
|
||||
SRCDIR?= ${.CURDIR}
|
||||
.if defined(SUBDIR_OVERRIDE)
|
||||
SUBDIR= ${SUBDIR_OVERRIDE}
|
||||
.else
|
||||
@@ -128,8 +129,11 @@ OSRELDATE= 0
|
||||
.endif
|
||||
|
||||
.if !defined(VERSION)
|
||||
VERSION!= uname -srp
|
||||
VERSION+= ${OSRELDATE}
|
||||
REVISION!= make -C ${SRCDIR}/release -V REVISION
|
||||
BRANCH!= make -C ${SRCDIR}/release -V BRANCH
|
||||
SRCRELDATE!= awk '/^\#define[[:space:]]*__FreeBSD_version/ { print $$3 }' \
|
||||
${SRCDIR}/sys/sys/param.h
|
||||
VERSION= FreeBSD ${REVISION}-${BRANCH:C/-p[0-9]+$//} ${TARGET_ARCH} ${SRCRELDATE}
|
||||
.endif
|
||||
|
||||
KNOWN_ARCHES?= amd64 arm armeb/arm armv6/arm i386 i386/pc98 ia64 mips mipsel/mips mips64el/mips mips64/mips mipsn32el/mips mipsn32/mips powerpc powerpc64/powerpc sparc64
|
||||
@@ -1377,12 +1381,15 @@ _binutils= gnu/usr.bin/binutils
|
||||
# If an full path to an external cross compiler is given, don't build
|
||||
# a cross compiler.
|
||||
.if ${XCC:M/*} == "" && ${MK_CROSS_COMPILER} != "no"
|
||||
.if ${MK_CLANG} != "no" && (${MK_CLANG_IS_CC} != "no" || ${CC:T:Mclang} == "clang")
|
||||
.if ${MK_CLANG_IS_CC} != "no" || ${CC:T:Mclang} == "clang"
|
||||
_clang= usr.bin/clang
|
||||
_clang_libs= lib/clang
|
||||
.else
|
||||
_cc= gnu/usr.bin/cc
|
||||
.endif
|
||||
|
||||
.if ${MK_GCC} != "no" && (${MK_CLANG_IS_CC} == "no" || ${TARGET} == "pc98")
|
||||
# The boot2 for pc98 requires gcc.
|
||||
.if ${TARGET} == "pc98"
|
||||
_cc= gnu/usr.bin/cc
|
||||
.endif
|
||||
.endif
|
||||
@@ -1446,11 +1453,13 @@ _startup_libs+= lib/csu/${MACHINE_CPUARCH}
|
||||
_startup_libs+= gnu/lib/libgcc
|
||||
_startup_libs+= lib/libcompiler_rt
|
||||
_startup_libs+= lib/libc
|
||||
_startup_libs+= lib/libc_nonshared
|
||||
.if ${MK_LIBCPLUSPLUS} != "no"
|
||||
_startup_libs+= lib/libcxxrt
|
||||
.endif
|
||||
|
||||
gnu/lib/libgcc__L: lib/libc__L
|
||||
gnu/lib/libgcc__L: lib/libc_nonshared__L
|
||||
.if ${MK_LIBCPLUSPLUS} != "no"
|
||||
lib/libcxxrt__L: gnu/lib/libgcc__L
|
||||
.endif
|
||||
@@ -1672,6 +1681,7 @@ delete-old-files:
|
||||
# argument list will get too long. Using .for/.endfor make "loops" will make
|
||||
# the Makefile parser segfault.
|
||||
@exec 3<&0; \
|
||||
cd ${.CURDIR}; \
|
||||
${MAKE} -f ${.CURDIR}/Makefile.inc1 ${.MAKEFLAGS} ${.TARGET} \
|
||||
-V OLD_FILES -V "OLD_FILES:Musr/share/*.gz:R" | xargs -n1 | \
|
||||
while read file; do \
|
||||
@@ -1694,7 +1704,8 @@ delete-old-files:
|
||||
|
||||
check-old-files:
|
||||
@echo ">>> Checking for old files"
|
||||
@${MAKE} -f ${.CURDIR}/Makefile.inc1 ${.MAKEFLAGS} ${.TARGET} \
|
||||
@cd ${.CURDIR}; \
|
||||
${MAKE} -f ${.CURDIR}/Makefile.inc1 ${.MAKEFLAGS} ${.TARGET} \
|
||||
-V OLD_FILES -V "OLD_FILES:Musr/share/*.gz:R" | xargs -n1 | \
|
||||
while read file; do \
|
||||
if [ -f "${DESTDIR}/$${file}" -o -L "${DESTDIR}/$${file}" ]; then \
|
||||
@@ -1715,6 +1726,7 @@ delete-old-libs:
|
||||
@echo ">>> Removing old libraries"
|
||||
@echo "${OLD_LIBS_MESSAGE}" | fmt
|
||||
@exec 3<&0; \
|
||||
cd ${.CURDIR}; \
|
||||
${MAKE} -f ${.CURDIR}/Makefile.inc1 ${.MAKEFLAGS} ${.TARGET} \
|
||||
-V OLD_LIBS | xargs -n1 | \
|
||||
while read file; do \
|
||||
@@ -1722,22 +1734,36 @@ delete-old-libs:
|
||||
chflags noschg "${DESTDIR}/$${file}" 2>/dev/null || true; \
|
||||
rm ${RM_I} "${DESTDIR}/$${file}" <&3; \
|
||||
fi; \
|
||||
for ext in debug symbols; do \
|
||||
if ! [ -e "${DESTDIR}/$${file}" ] && [ -f \
|
||||
"${DESTDIR}${DEBUGDIR}/$${file}.$${ext}" ]; then \
|
||||
rm ${RM_I} "${DESTDIR}${DEBUGDIR}/$${file}.$${ext}" \
|
||||
<&3; \
|
||||
fi; \
|
||||
done; \
|
||||
done
|
||||
@echo ">>> Old libraries removed"
|
||||
|
||||
check-old-libs:
|
||||
@echo ">>> Checking for old libraries"
|
||||
@${MAKE} -f ${.CURDIR}/Makefile.inc1 ${.MAKEFLAGS} ${.TARGET} \
|
||||
@cd ${.CURDIR}; \
|
||||
${MAKE} -f ${.CURDIR}/Makefile.inc1 ${.MAKEFLAGS} ${.TARGET} \
|
||||
-V OLD_LIBS | xargs -n1 | \
|
||||
while read file; do \
|
||||
if [ -f "${DESTDIR}/$${file}" -o -L "${DESTDIR}/$${file}" ]; then \
|
||||
echo "${DESTDIR}/$${file}"; \
|
||||
fi; \
|
||||
for ext in debug symbols; do \
|
||||
if [ -f "${DESTDIR}${DEBUGDIR}/$${file}.$${ext}" ]; then \
|
||||
echo "${DESTDIR}${DEBUGDIR}/$${file}.$${ext}"; \
|
||||
fi; \
|
||||
done; \
|
||||
done
|
||||
|
||||
delete-old-dirs:
|
||||
@echo ">>> Removing old directories"
|
||||
@${MAKE} -f ${.CURDIR}/Makefile.inc1 ${.MAKEFLAGS} ${.TARGET} \
|
||||
@cd ${.CURDIR}; \
|
||||
${MAKE} -f ${.CURDIR}/Makefile.inc1 ${.MAKEFLAGS} ${.TARGET} \
|
||||
-V OLD_DIRS | xargs -n1 | sort -r | \
|
||||
while read dir; do \
|
||||
if [ -d "${DESTDIR}/$${dir}" ]; then \
|
||||
@@ -1750,7 +1776,8 @@ delete-old-dirs:
|
||||
|
||||
check-old-dirs:
|
||||
@echo ">>> Checking for old directories"
|
||||
@${MAKE} -f ${.CURDIR}/Makefile.inc1 ${.MAKEFLAGS} ${.TARGET} \
|
||||
@cd ${.CURDIR}; \
|
||||
${MAKE} -f ${.CURDIR}/Makefile.inc1 ${.MAKEFLAGS} ${.TARGET} \
|
||||
-V OLD_DIRS | xargs -n1 | \
|
||||
while read dir; do \
|
||||
if [ -d "${DESTDIR}/$${dir}" ]; then \
|
||||
|
||||
+60
-2
@@ -38,14 +38,64 @@
|
||||
# xargs -n1 | sort | uniq -d;
|
||||
# done
|
||||
|
||||
# 20131109: extattr(2) mlinks fixed
|
||||
OLD_FILES+=usr/share/man/man2/extattr_delete_list.2.gz
|
||||
OLD_FILES+=usr/share/man/man2/extattr_get_list.2.gz
|
||||
# 20131103: WITH_LIBICONV_COMPAT removal
|
||||
OLD_FILES+=usr/include/_libiconv_compat.h
|
||||
OLD_FILES+=usr/lib/libiconv.a
|
||||
OLD_FILES+=usr/lib/libiconv.so
|
||||
OLD_FILES+=usr/lib/libiconv.so.3
|
||||
OLD_FILES+=usr/lib/libiconv_p.a
|
||||
OLD_FILES+=usr/lib32/libiconv.a
|
||||
OLD_FILES+=usr/lib32/libiconv.so
|
||||
OLD_FILES+=usr/lib32/libiconv.so.3
|
||||
OLD_FILES+=usr/lib32/libiconv_p.a
|
||||
# 20131030: /etc/keys moved to /usr/share/keys
|
||||
OLD_DIRS+=etc/keys
|
||||
OLD_DIRS+=etc/keys/pkg
|
||||
OLD_DIRS+=etc/keys/pkg/revoked
|
||||
OLD_DIRS+=etc/keys/pkg/trusted
|
||||
OLD_FILES+=etc/keys/pkg/trusted/pkg.freebsd.org.2013102301
|
||||
# 20131014: libbsdyml becomes private
|
||||
OLD_FILES+=usr/lib/libbsdyml.a
|
||||
OLD_FILES+=usr/lib/libbsdyml.so
|
||||
OLD_LIBS+=usr/lib/libbsdyml.so.0
|
||||
OLD_FILES+=usr/lib/libbsdyml_p.a
|
||||
OLD_FILES+=usr/lib32/libbsdyml.a
|
||||
OLD_FILES+=usr/lib32/libbsdyml.so
|
||||
OLD_LIBS+=usr/lib32/libbsdyml.so.0
|
||||
OLD_FILES+=usr/lib32/libbsdyml_p.a
|
||||
OLD_FILES+=usr/share/man/man3/libbsdyml.3.gz
|
||||
OLD_FILES+=usr/include/bsdyml.h
|
||||
# 20131013: Removal of the ATF tools
|
||||
OLD_FILES+=etc/atf/FreeBSD.conf
|
||||
OLD_FILES+=etc/atf/atf-run.hooks
|
||||
OLD_FILES+=etc/atf/common.conf
|
||||
OLD_FILES+=usr/bin/atf-config
|
||||
OLD_FILES+=usr/bin/atf-report
|
||||
OLD_FILES+=usr/bin/atf-run
|
||||
OLD_FILES+=usr/bin/atf-version
|
||||
OLD_FILES+=usr/share/atf/atf-run.hooks
|
||||
OLD_FILES+=usr/share/examples/atf/atf-run.hooks
|
||||
OLD_FILES+=usr/share/examples/atf/tests-results.css
|
||||
OLD_FILES+=usr/share/man/man1/atf-config.1.gz
|
||||
OLD_FILES+=usr/share/man/man1/atf-report.1.gz
|
||||
OLD_FILES+=usr/share/man/man1/atf-run.1.gz
|
||||
OLD_FILES+=usr/share/man/man1/atf-version.1.gz
|
||||
OLD_FILES+=usr/share/man/man5/atf-formats.5.gz
|
||||
OLD_FILES+=usr/share/man/man7/atf.7.gz
|
||||
OLD_FILES+=usr/share/xml/atf/tests-results.dtd
|
||||
OLD_FILES+=usr/share/xsl/atf/tests-results.xsl
|
||||
# 20131009: freebsd-version moved from /libexec to /bin
|
||||
OLD_FILES+=/libexec/freebsd-version
|
||||
OLD_FILES+=libexec/freebsd-version
|
||||
# 20131001: ar and ranlib from binutils not used
|
||||
OLD_FILES+=usr/bin/gnu-ar
|
||||
OLD_FILES+=usr/bin/gnu-ranlib
|
||||
OLD_FILES+=usr/share/man/man1/gnu-ar.1.gz
|
||||
OLD_FILES+=usr/share/man/man1/gnu-ranlib.1.gz
|
||||
# 20130930: BIND removed from base
|
||||
OLD_FILES+=etc/mtree/BIND.chroot.dist
|
||||
OLD_FILES+=etc/namedb
|
||||
OLD_FILES+=etc/periodic/daily/470.status-named
|
||||
OLD_FILES+=usr/bin/dig
|
||||
@@ -67,7 +117,7 @@ OLD_FILES+=usr/include/lwres/result.h
|
||||
OLD_FILES+=usr/include/lwres/version.h
|
||||
OLD_FILES+=usr/lib/liblwres.a
|
||||
OLD_FILES+=usr/lib/liblwres.so
|
||||
OLD_LIBS+=usr/lib/liblwres.so.50
|
||||
OLD_LIBS+=usr/lib/liblwres.so.90
|
||||
OLD_FILES+=usr/lib/liblwres_p.a
|
||||
OLD_FILES+=usr/sbin/arpaname
|
||||
OLD_FILES+=usr/sbin/ddns-confgen
|
||||
@@ -77,6 +127,7 @@ OLD_FILES+=usr/sbin/dnssec-keygen
|
||||
OLD_FILES+=usr/sbin/dnssec-revoke
|
||||
OLD_FILES+=usr/sbin/dnssec-settime
|
||||
OLD_FILES+=usr/sbin/dnssec-signzone
|
||||
OLD_FILES+=usr/sbin/dnssec-verify
|
||||
OLD_FILES+=usr/sbin/genrandom
|
||||
OLD_FILES+=usr/sbin/isc-hmac-fixup
|
||||
OLD_FILES+=usr/sbin/lwresd
|
||||
@@ -6093,6 +6144,13 @@ OLD_LIBS+=usr/lib/libkse.so.1
|
||||
OLD_LIBS+=usr/lib/liblwres.so.3
|
||||
OLD_LIBS+=usr/lib/pam_ftp.so.2
|
||||
|
||||
# 20131013: Removal of the ATF tools
|
||||
OLD_DIRS+=etc/atf
|
||||
OLD_DIRS+=usr/share/examples/atf
|
||||
OLD_DIRS+=usr/share/xml/atf
|
||||
OLD_DIRS+=usr/share/xml
|
||||
OLD_DIRS+=usr/share/xsl/atf
|
||||
OLD_DIRS+=usr/share/xsl
|
||||
# 20040925: bind9 import
|
||||
OLD_DIRS+=usr/share/doc/bind/html
|
||||
OLD_DIRS+=usr/share/doc/bind/misc
|
||||
|
||||
@@ -13,23 +13,160 @@ Items affecting the ports and packages system can be found in
|
||||
|
||||
NOTE: FreeBSD has switched from gcc to clang. If you have trouble bootstrapping
|
||||
from older versions of FreeBSD, try WITHOUT_CLANG to bootstrap to the tip of
|
||||
head, and then rebuild without this option. The bootstrap process from
|
||||
stable/10, and then rebuild without this option. The bootstrap process from
|
||||
older version of current is a bit fragile.
|
||||
|
||||
NOTE TO PEOPLE WHO THINK THAT FreeBSD 10.x IS SLOW:
|
||||
FreeBSD 10.x has many debugging features turned on, in both the kernel
|
||||
and userland. These features attempt to detect incorrect use of
|
||||
system primitives, and encourage loud failure through extra sanity
|
||||
checking and fail stop semantics. They also substantially impact
|
||||
system performance. If you want to do performance measurement,
|
||||
benchmarking, and optimization, you'll want to turn them off. This
|
||||
includes various WITNESS- related kernel options, INVARIANTS, malloc
|
||||
debugging flags in userland, and various verbose features in the
|
||||
kernel. Many developers choose to disable these features on build
|
||||
machines to maximize performance. (To completely disable malloc
|
||||
debugging, define MALLOC_PRODUCTION in /etc/make.conf, or to merely
|
||||
disable the most expensive debugging functionality run
|
||||
"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
|
||||
20150225: p18 FreeBSD-SA-15:04.igmp
|
||||
FreeBSD-EN-15:01.vt
|
||||
FreeBSD-EN-15:02.openssl
|
||||
FreeBSD-EN-15:03.freebsd-update
|
||||
|
||||
Fix integer overflow in IGMP protocol. [SA-15:04]
|
||||
|
||||
Fix vt(4) crash with improper ioctl parameters. [EN-15:01]
|
||||
|
||||
Updated base system OpenSSL to 1.0.1l. [EN-15:02]
|
||||
|
||||
Fix freebsd-update libraries update ordering issue. [EN-15:03]
|
||||
|
||||
20150127: p17 FreeBSD-SA-15:02.kmem
|
||||
FreeBSD-SA-15:03.sctp
|
||||
|
||||
Fix SCTP SCTP_SS_VALUE kernel memory corruption and disclosure
|
||||
vulnerability. [SA-15:02]
|
||||
|
||||
Fix SCTP stream reset vulnerability. [SA-15:03]
|
||||
|
||||
20150114: p16 FreeBSD-SA-15:01.openssl
|
||||
Fix multiple vulnerabilities in OpenSSL. [SA-15:01]
|
||||
|
||||
20141223: p15 FreeBSD-SA-14:31.ntp
|
||||
FreeBSD-EN-14:13.freebsd-update
|
||||
|
||||
Fix multiple vulnerabilities in NTP suite. [SA-14:31]
|
||||
Fix directory deletion issue in freebsd-update. [EN-14:13]
|
||||
|
||||
20141217: p14 FreeBSD-SA-14:30.unbound
|
||||
Fix unbound remote denial of service vulnerability.
|
||||
|
||||
20141210: p13 FreeBSD-SA-14:28.file
|
||||
Fix multiple vulnerabilities in file(1) and libmagic(3).
|
||||
|
||||
20141104: p12 FreeBSD-SA-14:24.sshd
|
||||
FreeBSD-SA-14:25.setlogin
|
||||
FreeBSD-SA-14:26.ftp
|
||||
FreeBSD-EN-14:12.zfs
|
||||
|
||||
Fix denial of service attack against sshd(8). [SA-14:24]
|
||||
|
||||
Fix kernel stack disclosure in setlogin(2) / getlogin(2).
|
||||
[SA-14:25]
|
||||
|
||||
Fix remote command execution in ftp(1). [SA-14:26]
|
||||
|
||||
Fix NFSv4 and ZFS cache consistency issue. [EN-14:12]
|
||||
|
||||
20141022: p11 FreeBSD-EN-14:10.tzdata
|
||||
|
||||
Time zone data file update. [EN-14:10]
|
||||
|
||||
20141021: p10 FreeBSD-SA-14:20.rtsold
|
||||
FreeBSD-SA-14:21.routed
|
||||
FreeBSD-SA-14:22.namei
|
||||
FreeBSD-SA-14:23.openssl
|
||||
|
||||
Fix rtsold(8) remote buffer overflow vulnerability. [SA-14:20]
|
||||
|
||||
Fix routed(8) remote denial of service vulnerability. [SA-14:21]
|
||||
|
||||
Fix memory leak in sandboxed namei lookup. [SA-14:22]
|
||||
|
||||
Fix OpenSSL multiple vulnerabilities. [SA-14:23]
|
||||
|
||||
20140916: p9 FreeBSD-SA-14:19.tcp
|
||||
Fix Denial of Service in TCP packet processing. [SA-14:19]
|
||||
|
||||
20140909: p8 FreeBSD-SA-14:18.openssl
|
||||
Fix OpenSSL multiple vulnerabilities. [SA-14:18]
|
||||
|
||||
20140708: p7 FreeBSD-SA-14:17.kmem
|
||||
Fix kernel memory disclosure in control messages and SCTP
|
||||
notifications. [SA-14:17]
|
||||
|
||||
20140624: p6 FreeBSD-SA-14:15.iconv
|
||||
FreeBSD-SA-14:16.file
|
||||
FreeBSD-EN-14:07.pmap
|
||||
|
||||
Fix iconv(3) NULL pointer dereference and out-of-bounds array
|
||||
access. [SA-14:15]
|
||||
|
||||
Fix multiple vulnerabilities in file(1) and libmagic(3).
|
||||
[SA-14:16]
|
||||
|
||||
Worked around bug with PCID implementation. [EN-14:07]
|
||||
|
||||
20140605: p5 FreeBSD-SA-14:14.openssl
|
||||
Fix OpenSSL multiple vulnerabilities. [SA-14:14]
|
||||
|
||||
20140603: p4 FreeBSD-SA-14:11.sendmail
|
||||
FreeBSD-SA-14:13.pam
|
||||
FreeBSD-EN-14:06.exec
|
||||
|
||||
Fix sendmail improper close-on-exec flag handling. [SA-14:11]
|
||||
|
||||
Fix incorrect error handling in PAM policy parser. [SA-14:13]
|
||||
|
||||
Fix triple-fault when executing from a threaded process.
|
||||
[EN-14:06]
|
||||
|
||||
20140513: p3 FreeBSD-SA-14:10.openssl
|
||||
FreeBSD-EN-14:05.ciss
|
||||
|
||||
Fix OpenSSL NULL pointer deference vulnerability. [SA-14:10]
|
||||
|
||||
Fix data corruption with ciss(4). [EN-14:05]
|
||||
|
||||
20140430: p2 FreeBSD-SA-14:07.devfs
|
||||
FreeBSD-SA-14:08.tcp
|
||||
FreeBSD-SA-14:09.openssl
|
||||
|
||||
Fix devfs rules not applied by default for jails. [SA-14:07]
|
||||
|
||||
Fix TCP reassembly vulnerability. [SA-14:08]
|
||||
|
||||
Fix OpenSSL use-after-free vulnerability. [SA-14:09]
|
||||
|
||||
20140408: p1 FreeBSD-SA-14:05.nfsserver
|
||||
FreeBSD-SA-14:06.openssl
|
||||
Fix deadlock in the NFS server. [SA-14:05]
|
||||
|
||||
Fix multiple vulnerabilities in OpenSSL. [SA-14:06]
|
||||
|
||||
20131223:
|
||||
The behavior of gss_pseudo_random() for the krb5 mechanism
|
||||
has changed, for applications requesting a longer random string
|
||||
than produced by the underlying enctype's pseudo-random() function.
|
||||
In particular, the random string produced from a session key of
|
||||
enctype aes256-cts-hmac-sha1-96 or aes256-cts-hmac-sha1-96 will
|
||||
be different at the 17th octet and later, after this change.
|
||||
The counter used in the PRF+ construction is now encoded as a
|
||||
big-endian integer in accordance with RFC 4402.
|
||||
|
||||
20131031:
|
||||
The default version of mtree is nmtree which is obtained from
|
||||
NetBSD. The output is generally the same, but may vary
|
||||
slightly. If you found you need identical output adding
|
||||
"-F freebsd9" to the command line should do the trick. For the
|
||||
time being, the old mtree is available as fmtree.
|
||||
|
||||
20131014:
|
||||
libbsdyml has been renamed to libyaml and moved to /usr/lib/private.
|
||||
This will break ports-mgmt/pkg. Rebuild the port, or upgrade to pkg
|
||||
1.1.4_8 and verify bsdyml not linked in, before running "make
|
||||
delete-old-libs":
|
||||
# make -C /usr/ports/ports-mgmt/pkg build deinstall install clean
|
||||
or
|
||||
# pkg install pkg; ldd /usr/local/sbin/pkg | grep bsdyml
|
||||
|
||||
20131010:
|
||||
The rc.d/jail script has been updated to support jail(8)
|
||||
@@ -54,7 +191,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10.x IS SLOW:
|
||||
BIND has been removed from the base system. If all you need
|
||||
is a local resolver, simply enable and start the local_unbound
|
||||
service instead. Otherwise, several versions of BIND are
|
||||
available in the ports tree.
|
||||
available in the ports tree. The dns/bind99 port is one example.
|
||||
|
||||
With this change, nslookup(1) and dig(1) are no longer in the base
|
||||
system. Users should instead use host(1) and drill(1) which are
|
||||
in the base system. Alternatively, nslookup and dig can
|
||||
be obtained by installing the dns/bind-tools port.
|
||||
|
||||
20130916:
|
||||
With the addition of unbound(8), a new unbound user is now
|
||||
|
||||
+1
-1
@@ -198,7 +198,7 @@ If the value is outside, it will be set to the appropriate limit.
|
||||
.Xr mount 8 ,
|
||||
.Xr pstat 8 ,
|
||||
.Xr quot 8 ,
|
||||
.Xr swapinfo 8 .
|
||||
.Xr swapinfo 8
|
||||
.Sh STANDARDS
|
||||
With the exception of most options,
|
||||
the
|
||||
|
||||
@@ -81,7 +81,7 @@ userland_version() {
|
||||
# Print a usage string and exit.
|
||||
#
|
||||
usage() {
|
||||
echo "usage: $progname [-ku]\n" >&2
|
||||
echo "usage: $progname [-ku]" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
@@ -499,6 +499,11 @@ snmp_getbulk(struct snmp_pdu *pdu, struct asn_buf *resp_b,
|
||||
for (cnt = 0; cnt < pdu->error_index; cnt++) {
|
||||
eomib = 1;
|
||||
for (i = non_rep; i < pdu->nbindings; i++) {
|
||||
|
||||
if (resp->nbindings == SNMP_MAX_BINDINGS)
|
||||
/* PDU is full */
|
||||
goto done;
|
||||
|
||||
if (cnt == 0)
|
||||
result = do_getnext(&context, &pdu->bindings[i],
|
||||
&resp->bindings[resp->nbindings], pdu);
|
||||
|
||||
@@ -49,7 +49,8 @@
|
||||
!:mime text/x-awk
|
||||
0 string/wt #!\ /usr/bin/awk awk script text executable
|
||||
!:mime text/x-awk
|
||||
0 regex =^\\s*BEGIN\\s*[{] awk script text
|
||||
0 regex =^\\s{0,100}BEGIN\\s{0,100}[{] awk script text
|
||||
!:strength - 12
|
||||
|
||||
# AT&T Bell Labs' Plan 9 shell
|
||||
0 string/wt #!\ /bin/rc Plan 9 rc shell script text executable
|
||||
|
||||
@@ -147,7 +147,7 @@ file_ascmagic_with_encoding(struct magic_set *ms, const unsigned char *buf,
|
||||
== NULL)
|
||||
goto done;
|
||||
if ((rv = file_softmagic(ms, utf8_buf,
|
||||
(size_t)(utf8_end - utf8_buf), TEXTTEST, text)) == 0)
|
||||
(size_t)(utf8_end - utf8_buf), 0, TEXTTEST, text)) == 0)
|
||||
rv = -1;
|
||||
}
|
||||
|
||||
|
||||
+16
-8
@@ -35,10 +35,12 @@
|
||||
switch (type) {
|
||||
#ifdef ELFCORE
|
||||
case ET_CORE:
|
||||
phnum = elf_getu16(swap, elfhdr.e_phnum);
|
||||
if (phnum > MAX_PHNUM)
|
||||
return toomany(ms, "program", phnum);
|
||||
flags |= FLAGS_IS_CORE;
|
||||
if (dophn_core(ms, clazz, swap, fd,
|
||||
(off_t)elf_getu(swap, elfhdr.e_phoff),
|
||||
elf_getu16(swap, elfhdr.e_phnum),
|
||||
(off_t)elf_getu(swap, elfhdr.e_phoff), phnum,
|
||||
(size_t)elf_getu16(swap, elfhdr.e_phentsize),
|
||||
fsize, &flags) == -1)
|
||||
return -1;
|
||||
@@ -46,18 +48,24 @@
|
||||
#endif
|
||||
case ET_EXEC:
|
||||
case ET_DYN:
|
||||
phnum = elf_getu16(swap, elfhdr.e_phnum);
|
||||
if (phnum > MAX_PHNUM)
|
||||
return toomany(ms, "program", phnum);
|
||||
shnum = elf_getu16(swap, elfhdr.e_shnum);
|
||||
if (shnum > MAX_SHNUM)
|
||||
return toomany(ms, "section", shnum);
|
||||
if (dophn_exec(ms, clazz, swap, fd,
|
||||
(off_t)elf_getu(swap, elfhdr.e_phoff),
|
||||
elf_getu16(swap, elfhdr.e_phnum),
|
||||
(off_t)elf_getu(swap, elfhdr.e_phoff), phnum,
|
||||
(size_t)elf_getu16(swap, elfhdr.e_phentsize),
|
||||
fsize, &flags, elf_getu16(swap, elfhdr.e_shnum))
|
||||
== -1)
|
||||
fsize, &flags, shnum) == -1)
|
||||
return -1;
|
||||
/*FALLTHROUGH*/
|
||||
case ET_REL:
|
||||
shnum = elf_getu16(swap, elfhdr.e_shnum);
|
||||
if (shnum > MAX_SHNUM)
|
||||
return toomany(ms, "section", shnum);
|
||||
if (doshn(ms, clazz, swap, fd,
|
||||
(off_t)elf_getu(swap, elfhdr.e_shoff),
|
||||
elf_getu16(swap, elfhdr.e_shnum),
|
||||
(off_t)elf_getu(swap, elfhdr.e_shoff), shnum,
|
||||
(size_t)elf_getu16(swap, elfhdr.e_shentsize),
|
||||
fsize, &flags, elf_getu16(swap, elfhdr.e_machine)) == -1)
|
||||
return -1;
|
||||
|
||||
+1
-1
@@ -414,7 +414,7 @@ protected int file_encoding(struct magic_set *, const unsigned char *, size_t,
|
||||
unichar **, size_t *, const char **, const char **, const char **);
|
||||
protected int file_is_tar(struct magic_set *, const unsigned char *, size_t);
|
||||
protected int file_softmagic(struct magic_set *, const unsigned char *, size_t,
|
||||
int, int);
|
||||
size_t, int, int);
|
||||
protected struct mlist *file_apprentice(struct magic_set *, const char *, int);
|
||||
protected uint64_t file_signextend(struct magic_set *, struct magic *,
|
||||
uint64_t);
|
||||
|
||||
@@ -228,7 +228,7 @@ file_buffer(struct magic_set *ms, int fd, const char *inname __attribute__ ((unu
|
||||
|
||||
/* try soft magic tests */
|
||||
if ((ms->flags & MAGIC_NO_CHECK_SOFT) == 0)
|
||||
if ((m = file_softmagic(ms, ubuf, nb, BINTEST,
|
||||
if ((m = file_softmagic(ms, ubuf, nb, 0, BINTEST,
|
||||
looks_text)) != 0) {
|
||||
if ((ms->flags & MAGIC_DEBUG) != 0)
|
||||
(void)fprintf(stderr, "softmagic %d\n", m);
|
||||
|
||||
+20
-3
@@ -60,6 +60,18 @@ private uint16_t getu16(int, uint16_t);
|
||||
private uint32_t getu32(int, uint32_t);
|
||||
private uint64_t getu64(int, uint64_t);
|
||||
|
||||
#define MAX_PHNUM 256
|
||||
#define MAX_SHNUM 1024
|
||||
|
||||
private int
|
||||
toomany(struct magic_set *ms, const char *name, uint16_t num)
|
||||
{
|
||||
if (file_printf(ms, ", too many %s header sections (%u)", name, num
|
||||
) == -1)
|
||||
return -1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
private uint16_t
|
||||
getu16(int swap, uint16_t value)
|
||||
{
|
||||
@@ -384,13 +396,13 @@ donote(struct magic_set *ms, void *vbuf, size_t offset, size_t size,
|
||||
if (namesz & 0x80000000) {
|
||||
(void)file_printf(ms, ", bad note name size 0x%lx",
|
||||
(unsigned long)namesz);
|
||||
return offset;
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (descsz & 0x80000000) {
|
||||
(void)file_printf(ms, ", bad note description size 0x%lx",
|
||||
(unsigned long)descsz);
|
||||
return offset;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -847,6 +859,7 @@ doshn(struct magic_set *ms, int clazz, int swap, int fd, off_t off, int num,
|
||||
Elf32_Shdr sh32;
|
||||
Elf64_Shdr sh64;
|
||||
int stripped = 1;
|
||||
size_t nbadcap = 0;
|
||||
void *nbuf;
|
||||
off_t noff, coff;
|
||||
uint64_t cap_hw1 = 0; /* SunOS 5.x hardware capabilites */
|
||||
@@ -919,6 +932,8 @@ doshn(struct magic_set *ms, int clazz, int swap, int fd, off_t off, int num,
|
||||
free(nbuf);
|
||||
break;
|
||||
case SHT_SUNW_cap:
|
||||
if (nbadcap > 5)
|
||||
break;
|
||||
if (lseek(fd, (off_t)xsh_offset, SEEK_SET) ==
|
||||
(off_t)-1) {
|
||||
file_badseek(ms);
|
||||
@@ -955,6 +970,8 @@ doshn(struct magic_set *ms, int clazz, int swap, int fd, off_t off, int num,
|
||||
(unsigned long long)xcap_tag,
|
||||
(unsigned long long)xcap_val) == -1)
|
||||
return -1;
|
||||
if (nbadcap++ > 2)
|
||||
coff = xsh_size;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1142,7 +1159,7 @@ file_tryelf(struct magic_set *ms, int fd, const unsigned char *buf,
|
||||
int flags = 0;
|
||||
Elf32_Ehdr elf32hdr;
|
||||
Elf64_Ehdr elf64hdr;
|
||||
uint16_t type;
|
||||
uint16_t type, phnum, shnum;
|
||||
|
||||
if (ms->flags & (MAGIC_MIME|MAGIC_APPLE))
|
||||
return 0;
|
||||
|
||||
+35
-22
@@ -43,9 +43,9 @@ FILE_RCSID("@(#)$File: softmagic.c,v 1.147 2011/11/05 15:44:22 rrt Exp $")
|
||||
|
||||
|
||||
private int match(struct magic_set *, struct magic *, uint32_t,
|
||||
const unsigned char *, size_t, int, int);
|
||||
const unsigned char *, size_t, int, int, int);
|
||||
private int mget(struct magic_set *, const unsigned char *,
|
||||
struct magic *, size_t, unsigned int, int);
|
||||
struct magic *, size_t, unsigned int, int, int);
|
||||
private int magiccheck(struct magic_set *, struct magic *);
|
||||
private int32_t mprint(struct magic_set *, struct magic *);
|
||||
private int32_t moffset(struct magic_set *, struct magic *);
|
||||
@@ -60,6 +60,10 @@ private void cvt_16(union VALUETYPE *, const struct magic *);
|
||||
private void cvt_32(union VALUETYPE *, const struct magic *);
|
||||
private void cvt_64(union VALUETYPE *, const struct magic *);
|
||||
|
||||
#define OFFSET_OOB(n, o, i) ((n) < (o) || (i) > ((n) - (o)))
|
||||
|
||||
#define MAX_RECURSION_LEVEL 10
|
||||
|
||||
/*
|
||||
* softmagic - lookup one file in parsed, in-memory copy of database
|
||||
* Passed the name and FILE * of one file to be typed.
|
||||
@@ -67,13 +71,13 @@ private void cvt_64(union VALUETYPE *, const struct magic *);
|
||||
/*ARGSUSED1*/ /* nbytes passed for regularity, maybe need later */
|
||||
protected int
|
||||
file_softmagic(struct magic_set *ms, const unsigned char *buf, size_t nbytes,
|
||||
int mode, int text)
|
||||
size_t level, int mode, int text)
|
||||
{
|
||||
struct mlist *ml;
|
||||
int rv;
|
||||
for (ml = ms->mlist->next; ml != ms->mlist; ml = ml->next)
|
||||
if ((rv = match(ms, ml->magic, ml->nmagic, buf, nbytes, mode,
|
||||
text)) != 0)
|
||||
text, level)) != 0)
|
||||
return rv;
|
||||
|
||||
return 0;
|
||||
@@ -108,7 +112,8 @@ file_softmagic(struct magic_set *ms, const unsigned char *buf, size_t nbytes,
|
||||
*/
|
||||
private int
|
||||
match(struct magic_set *ms, struct magic *magic, uint32_t nmagic,
|
||||
const unsigned char *s, size_t nbytes, int mode, int text)
|
||||
const unsigned char *s, size_t nbytes, int mode, int text,
|
||||
int recursion_level)
|
||||
{
|
||||
uint32_t magindex = 0;
|
||||
unsigned int cont_level = 0;
|
||||
@@ -140,7 +145,7 @@ match(struct magic_set *ms, struct magic *magic, uint32_t nmagic,
|
||||
ms->line = m->lineno;
|
||||
|
||||
/* if main entry matches, print it... */
|
||||
switch (mget(ms, s, m, nbytes, cont_level, text)) {
|
||||
switch (mget(ms, s, m, nbytes, cont_level, text, recursion_level + 1)) {
|
||||
case -1:
|
||||
return -1;
|
||||
case 0:
|
||||
@@ -223,7 +228,7 @@ match(struct magic_set *ms, struct magic *magic, uint32_t nmagic,
|
||||
continue;
|
||||
}
|
||||
#endif
|
||||
switch (mget(ms, s, m, nbytes, cont_level, text)) {
|
||||
switch (mget(ms, s, m, nbytes, cont_level, text, recursion_level + 1)) {
|
||||
case -1:
|
||||
return -1;
|
||||
case 0:
|
||||
@@ -1018,12 +1023,18 @@ mcopy(struct magic_set *ms, union VALUETYPE *p, int type, int indir,
|
||||
|
||||
private int
|
||||
mget(struct magic_set *ms, const unsigned char *s,
|
||||
struct magic *m, size_t nbytes, unsigned int cont_level, int text)
|
||||
struct magic *m, size_t nbytes, unsigned int cont_level, int text,
|
||||
int recursion_level)
|
||||
{
|
||||
uint32_t offset = ms->offset;
|
||||
uint32_t count = m->str_range;
|
||||
union VALUETYPE *p = &ms->ms_value;
|
||||
|
||||
if (recursion_level >= MAX_RECURSION_LEVEL) {
|
||||
file_error(ms, 0, "recursion nesting exceeded");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (mcopy(ms, p, m->type, m->flag & INDIR, s, offset, nbytes, count) == -1)
|
||||
return -1;
|
||||
|
||||
@@ -1073,7 +1084,7 @@ mget(struct magic_set *ms, const unsigned char *s,
|
||||
}
|
||||
switch (m->in_type) {
|
||||
case FILE_BYTE:
|
||||
if (nbytes < (offset + 1))
|
||||
if (OFFSET_OOB(nbytes, offset, 1))
|
||||
return 0;
|
||||
if (off) {
|
||||
switch (m->in_op & FILE_OPS_MASK) {
|
||||
@@ -1108,7 +1119,7 @@ mget(struct magic_set *ms, const unsigned char *s,
|
||||
offset = ~offset;
|
||||
break;
|
||||
case FILE_BESHORT:
|
||||
if (nbytes < (offset + 2))
|
||||
if (OFFSET_OOB(nbytes, offset, 2))
|
||||
return 0;
|
||||
if (off) {
|
||||
switch (m->in_op & FILE_OPS_MASK) {
|
||||
@@ -1160,7 +1171,7 @@ mget(struct magic_set *ms, const unsigned char *s,
|
||||
offset = ~offset;
|
||||
break;
|
||||
case FILE_LESHORT:
|
||||
if (nbytes < (offset + 2))
|
||||
if (OFFSET_OOB(nbytes, offset, 2))
|
||||
return 0;
|
||||
if (off) {
|
||||
switch (m->in_op & FILE_OPS_MASK) {
|
||||
@@ -1212,7 +1223,7 @@ mget(struct magic_set *ms, const unsigned char *s,
|
||||
offset = ~offset;
|
||||
break;
|
||||
case FILE_SHORT:
|
||||
if (nbytes < (offset + 2))
|
||||
if (OFFSET_OOB(nbytes, offset, 2))
|
||||
return 0;
|
||||
if (off) {
|
||||
switch (m->in_op & FILE_OPS_MASK) {
|
||||
@@ -1249,7 +1260,7 @@ mget(struct magic_set *ms, const unsigned char *s,
|
||||
break;
|
||||
case FILE_BELONG:
|
||||
case FILE_BEID3:
|
||||
if (nbytes < (offset + 4))
|
||||
if (OFFSET_OOB(nbytes, offset, 4))
|
||||
return 0;
|
||||
if (off) {
|
||||
switch (m->in_op & FILE_OPS_MASK) {
|
||||
@@ -1320,7 +1331,7 @@ mget(struct magic_set *ms, const unsigned char *s,
|
||||
break;
|
||||
case FILE_LELONG:
|
||||
case FILE_LEID3:
|
||||
if (nbytes < (offset + 4))
|
||||
if (OFFSET_OOB(nbytes, offset, 4))
|
||||
return 0;
|
||||
if (off) {
|
||||
switch (m->in_op & FILE_OPS_MASK) {
|
||||
@@ -1390,7 +1401,7 @@ mget(struct magic_set *ms, const unsigned char *s,
|
||||
offset = ~offset;
|
||||
break;
|
||||
case FILE_MELONG:
|
||||
if (nbytes < (offset + 4))
|
||||
if (OFFSET_OOB(nbytes, offset, 4))
|
||||
return 0;
|
||||
if (off) {
|
||||
switch (m->in_op & FILE_OPS_MASK) {
|
||||
@@ -1460,7 +1471,7 @@ mget(struct magic_set *ms, const unsigned char *s,
|
||||
offset = ~offset;
|
||||
break;
|
||||
case FILE_LONG:
|
||||
if (nbytes < (offset + 4))
|
||||
if (OFFSET_OOB(nbytes, offset, 4))
|
||||
return 0;
|
||||
if (off) {
|
||||
switch (m->in_op & FILE_OPS_MASK) {
|
||||
@@ -1527,14 +1538,14 @@ mget(struct magic_set *ms, const unsigned char *s,
|
||||
/* Verify we have enough data to match magic type */
|
||||
switch (m->type) {
|
||||
case FILE_BYTE:
|
||||
if (nbytes < (offset + 1)) /* should alway be true */
|
||||
if (OFFSET_OOB(nbytes, offset, 1))
|
||||
return 0;
|
||||
break;
|
||||
|
||||
case FILE_SHORT:
|
||||
case FILE_BESHORT:
|
||||
case FILE_LESHORT:
|
||||
if (nbytes < (offset + 2))
|
||||
if (OFFSET_OOB(nbytes, offset, 2))
|
||||
return 0;
|
||||
break;
|
||||
|
||||
@@ -1553,21 +1564,21 @@ mget(struct magic_set *ms, const unsigned char *s,
|
||||
case FILE_FLOAT:
|
||||
case FILE_BEFLOAT:
|
||||
case FILE_LEFLOAT:
|
||||
if (nbytes < (offset + 4))
|
||||
if (OFFSET_OOB(nbytes, offset, 4))
|
||||
return 0;
|
||||
break;
|
||||
|
||||
case FILE_DOUBLE:
|
||||
case FILE_BEDOUBLE:
|
||||
case FILE_LEDOUBLE:
|
||||
if (nbytes < (offset + 8))
|
||||
if (OFFSET_OOB(nbytes, offset, 8))
|
||||
return 0;
|
||||
break;
|
||||
|
||||
case FILE_STRING:
|
||||
case FILE_PSTRING:
|
||||
case FILE_SEARCH:
|
||||
if (nbytes < (offset + m->vallen))
|
||||
if (OFFSET_OOB(nbytes, offset, m->vallen))
|
||||
return 0;
|
||||
break;
|
||||
|
||||
@@ -1577,13 +1588,15 @@ mget(struct magic_set *ms, const unsigned char *s,
|
||||
break;
|
||||
|
||||
case FILE_INDIRECT:
|
||||
if (offset == 0)
|
||||
return 0;
|
||||
if ((ms->flags & (MAGIC_MIME|MAGIC_APPLE)) == 0 &&
|
||||
file_printf(ms, "%s", m->desc) == -1)
|
||||
return -1;
|
||||
if (nbytes < offset)
|
||||
return 0;
|
||||
return file_softmagic(ms, s + offset, nbytes - offset,
|
||||
BINTEST, text);
|
||||
recursion_level, BINTEST, text);
|
||||
|
||||
case FILE_DEFAULT: /* nothing to check */
|
||||
default:
|
||||
|
||||
@@ -1126,9 +1126,9 @@ _mm_slli_epi64 (__m128i __A, int __B)
|
||||
#define _mm_slli_epi16(__A, __B) \
|
||||
((__m128i)__builtin_ia32_psllwi128 ((__v8hi)(__A), __B))
|
||||
#define _mm_slli_epi32(__A, __B) \
|
||||
((__m128i)__builtin_ia32_pslldi128 ((__v8hi)(__A), __B))
|
||||
((__m128i)__builtin_ia32_pslldi128 ((__v4si)(__A), __B))
|
||||
#define _mm_slli_epi64(__A, __B) \
|
||||
((__m128i)__builtin_ia32_psllqi128 ((__v8hi)(__A), __B))
|
||||
((__m128i)__builtin_ia32_psllqi128 ((__v2di)(__A), __B))
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
@@ -1147,7 +1147,7 @@ _mm_srai_epi32 (__m128i __A, int __B)
|
||||
#define _mm_srai_epi16(__A, __B) \
|
||||
((__m128i)__builtin_ia32_psrawi128 ((__v8hi)(__A), __B))
|
||||
#define _mm_srai_epi32(__A, __B) \
|
||||
((__m128i)__builtin_ia32_psradi128 ((__v8hi)(__A), __B))
|
||||
((__m128i)__builtin_ia32_psradi128 ((__v4si)(__A), __B))
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/ptrace.h>
|
||||
#include <sys/sysctl.h>
|
||||
#include <sys/user.h>
|
||||
#include <machine/reg.h>
|
||||
|
||||
#ifdef HAVE_SYS_PROCFS_H
|
||||
@@ -212,24 +213,23 @@ Please report this to <[email protected]>.",
|
||||
|
||||
SC_RBP_OFFSET = offset;
|
||||
|
||||
/* FreeBSD provides a kern.ps_strings sysctl that we can use to
|
||||
/* FreeBSD provides a kern.proc.sigtramp sysctl that we can use to
|
||||
locate the sigtramp. That way we can still recognize a sigtramp
|
||||
if its location is changed in a new kernel. Of course this is
|
||||
still based on the assumption that the sigtramp is placed
|
||||
directly under the location where the program arguments and
|
||||
environment can be found. */
|
||||
if its location is changed in a new kernel. */
|
||||
{
|
||||
int mib[2];
|
||||
long ps_strings;
|
||||
int mib[4];
|
||||
struct kinfo_sigtramp kst;
|
||||
size_t len;
|
||||
|
||||
mib[0] = CTL_KERN;
|
||||
mib[1] = KERN_PS_STRINGS;
|
||||
len = sizeof (ps_strings);
|
||||
if (sysctl (mib, 2, &ps_strings, &len, NULL, 0) == 0)
|
||||
mib[1] = KERN_PROC;
|
||||
mib[2] = KERN_PROC_SIGTRAMP;
|
||||
mib[3] = getpid();
|
||||
len = sizeof (kst);
|
||||
if (sysctl (mib, sizeof(mib) / sizeof(mib[0]), &kst, &len, NULL, 0) == 0)
|
||||
{
|
||||
amd64fbsd_sigtramp_start_addr = ps_strings - 32;
|
||||
amd64fbsd_sigtramp_end_addr = ps_strings;
|
||||
amd64fbsd_sigtramp_start_addr = kst.ksigtramp_start;
|
||||
amd64fbsd_sigtramp_end_addr = kst.ksigtramp_end;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4,6 +4,8 @@
|
||||
|
||||
#undef JEMALLOC_OVERRIDE_VALLOC
|
||||
|
||||
#define MALLOC_PRODUCTION
|
||||
|
||||
#ifndef MALLOC_PRODUCTION
|
||||
#define JEMALLOC_DEBUG
|
||||
#endif
|
||||
|
||||
@@ -89,7 +89,7 @@ rasprintf(char **buf, size_t *bufsiz, size_t offs, const char *fmt, ...)
|
||||
len = vsnprintf(*buf + offs, *bufsiz - offs, fmt, ap);
|
||||
va_end(ap);
|
||||
|
||||
if (len < 0 || (size_t)len < *bufsiz - offs)
|
||||
if (len < 0 || (size_t)len + 1 < *bufsiz - offs)
|
||||
return len;
|
||||
nbufsiz = MAX(*bufsiz + 512, (size_t)len + 1);
|
||||
} else
|
||||
|
||||
@@ -146,8 +146,14 @@ void llvm::PointerMayBeCaptured(const Value *V, CaptureTracker *Tracker) {
|
||||
case Instruction::PHI:
|
||||
case Instruction::Select:
|
||||
// The original value is not captured via this if the new value isn't.
|
||||
Count = 0;
|
||||
for (Instruction::use_iterator UI = I->use_begin(), UE = I->use_end();
|
||||
UI != UE; ++UI) {
|
||||
// If there are lots of uses, conservatively say that the value
|
||||
// is captured to avoid taking too much compile time.
|
||||
if (Count++ >= Threshold)
|
||||
return Tracker->tooManyUses();
|
||||
|
||||
Use *U = &UI.getUse();
|
||||
if (Visited.insert(U))
|
||||
if (Tracker->shouldExplore(U))
|
||||
|
||||
@@ -454,10 +454,9 @@ void CodeGenVTables::EmitThunk(GlobalDecl GD, const ThunkInfo &Thunk,
|
||||
} else {
|
||||
// Normal thunk body generation.
|
||||
CodeGenFunction(CGM).GenerateThunk(ThunkFn, FnInfo, GD, Thunk);
|
||||
if (UseAvailableExternallyLinkage)
|
||||
ThunkFn->setLinkage(llvm::GlobalValue::AvailableExternallyLinkage);
|
||||
}
|
||||
|
||||
if (UseAvailableExternallyLinkage)
|
||||
ThunkFn->setLinkage(llvm::GlobalValue::AvailableExternallyLinkage);
|
||||
}
|
||||
|
||||
void CodeGenVTables::MaybeEmitThunkAvailableExternally(GlobalDecl GD,
|
||||
|
||||
@@ -1344,7 +1344,7 @@ _mm_movepi64_pi64(__m128i __a)
|
||||
}
|
||||
|
||||
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_movpi64_pi64(__m64 __a)
|
||||
_mm_movpi64_epi64(__m64 __a)
|
||||
{
|
||||
return (__m128i){ (long long)__a, 0 };
|
||||
}
|
||||
|
||||
@@ -284,11 +284,13 @@ static void ParseProgName(SmallVectorImpl<const char *> &ArgVector,
|
||||
} suffixes [] = {
|
||||
{ "clang", false, false },
|
||||
{ "clang++", true, false },
|
||||
{ "clang-CC", true, false },
|
||||
{ "clang-c++", true, false },
|
||||
{ "clang-cc", false, false },
|
||||
{ "clang-cpp", false, true },
|
||||
{ "clang-g++", true, false },
|
||||
{ "clang-gcc", false, false },
|
||||
{ "CC", true, false },
|
||||
{ "cc", false, false },
|
||||
{ "cpp", false, true },
|
||||
{ "++", true, false },
|
||||
|
||||
+97
-49
@@ -1,4 +1,4 @@
|
||||
/* $NetBSD: compare.c,v 1.55 2012/10/05 00:59:35 christos Exp $ */
|
||||
/* $NetBSD: compare.c,v 1.58 2013/11/21 18:39:50 christos Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1989, 1993
|
||||
@@ -38,7 +38,7 @@
|
||||
#if 0
|
||||
static char sccsid[] = "@(#)compare.c 8.1 (Berkeley) 6/6/93";
|
||||
#else
|
||||
__RCSID("$NetBSD: compare.c,v 1.55 2012/10/05 00:59:35 christos Exp $");
|
||||
__RCSID("$NetBSD: compare.c,v 1.58 2013/11/21 18:39:50 christos Exp $");
|
||||
#endif
|
||||
#endif /* not lint */
|
||||
|
||||
@@ -48,6 +48,7 @@ __RCSID("$NetBSD: compare.c,v 1.55 2012/10/05 00:59:35 christos Exp $");
|
||||
#include <errno.h>
|
||||
#include <fcntl.h>
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <time.h>
|
||||
@@ -71,13 +72,18 @@ __RCSID("$NetBSD: compare.c,v 1.55 2012/10/05 00:59:35 christos Exp $");
|
||||
#define INDENTNAMELEN 8
|
||||
#define MARK \
|
||||
do { \
|
||||
len = printf("%s: ", RP(p)); \
|
||||
if (len > INDENTNAMELEN) { \
|
||||
if (flavor == F_FREEBSD9) { \
|
||||
len = printf("%s changed\n", RP(p)); \
|
||||
tab = "\t"; \
|
||||
printf("\n"); \
|
||||
} else { \
|
||||
tab = ""; \
|
||||
printf("%*s", INDENTNAMELEN - (int)len, ""); \
|
||||
len = printf("%s: ", RP(p)); \
|
||||
if (len > INDENTNAMELEN) { \
|
||||
tab = "\t"; \
|
||||
printf("\n"); \
|
||||
} else { \
|
||||
tab = ""; \
|
||||
printf("%*s", INDENTNAMELEN - (int)len, ""); \
|
||||
} \
|
||||
} \
|
||||
} while (0)
|
||||
#define LABEL if (!label++) MARK
|
||||
@@ -170,7 +176,8 @@ compare(NODE *s, FTSENT *p)
|
||||
break;
|
||||
#endif
|
||||
typeerr: LABEL;
|
||||
printf("\ttype (%s, %s)\n",
|
||||
printf(flavor == F_FREEBSD9 ?
|
||||
"\ttype expected %s found %s\n" : "\ttype (%s, %s)\n",
|
||||
nodetype(s->type), inotype(p->fts_statp->st_mode));
|
||||
return (label);
|
||||
}
|
||||
@@ -192,9 +199,11 @@ typeerr: LABEL;
|
||||
(s->type == F_BLOCK || s->type == F_CHAR) &&
|
||||
s->st_rdev != p->fts_statp->st_rdev) {
|
||||
LABEL;
|
||||
printf("%sdevice (%#llx, %#llx",
|
||||
tab, (long long)s->st_rdev,
|
||||
(long long)p->fts_statp->st_rdev);
|
||||
printf(flavor == F_FREEBSD9 ?
|
||||
"%sdevice expected %#jx found %#jx" :
|
||||
"%sdevice (%#jx, %#jx",
|
||||
tab, (uintmax_t)s->st_rdev,
|
||||
(uintmax_t)p->fts_statp->st_rdev);
|
||||
if (uflag) {
|
||||
if ((unlink(p->fts_accpath) == -1) ||
|
||||
(mknod(p->fts_accpath,
|
||||
@@ -202,10 +211,12 @@ typeerr: LABEL;
|
||||
s->st_rdev) == -1) ||
|
||||
(lchown(p->fts_accpath, p->fts_statp->st_uid,
|
||||
p->fts_statp->st_gid) == -1) )
|
||||
printf(", not modified: %s)\n",
|
||||
strerror(errno));
|
||||
printf(", not modified: %s%s\n",
|
||||
strerror(errno),
|
||||
flavor == F_FREEBSD9 ? "" : ")");
|
||||
else
|
||||
printf(", modified)\n");
|
||||
printf(", modified%s\n",
|
||||
flavor == F_FREEBSD9 ? "" : ")");
|
||||
} else
|
||||
printf(")\n");
|
||||
tab = "\t";
|
||||
@@ -213,28 +224,34 @@ typeerr: LABEL;
|
||||
/* Set the uid/gid first, then set the mode. */
|
||||
if (s->flags & (F_UID | F_UNAME) && s->st_uid != p->fts_statp->st_uid) {
|
||||
LABEL;
|
||||
printf("%suser (%lu, %lu",
|
||||
printf(flavor == F_FREEBSD9 ?
|
||||
"%suser expected %lu found %lu" : "%suser (%lu, %lu",
|
||||
tab, (u_long)s->st_uid, (u_long)p->fts_statp->st_uid);
|
||||
if (uflag) {
|
||||
if (lchown(p->fts_accpath, s->st_uid, -1))
|
||||
printf(", not modified: %s)\n",
|
||||
strerror(errno));
|
||||
printf(", not modified: %s%s\n",
|
||||
strerror(errno),
|
||||
flavor == F_FREEBSD9 ? "" : ")");
|
||||
else
|
||||
printf(", modified)\n");
|
||||
printf(", modified%s\n",
|
||||
flavor == F_FREEBSD9 ? "" : ")");
|
||||
} else
|
||||
printf(")\n");
|
||||
tab = "\t";
|
||||
}
|
||||
if (s->flags & (F_GID | F_GNAME) && s->st_gid != p->fts_statp->st_gid) {
|
||||
LABEL;
|
||||
printf("%sgid (%lu, %lu",
|
||||
printf(flavor == F_FREEBSD9 ?
|
||||
"%sgid expected %lu found %lu" : "%sgid (%lu, %lu",
|
||||
tab, (u_long)s->st_gid, (u_long)p->fts_statp->st_gid);
|
||||
if (uflag) {
|
||||
if (lchown(p->fts_accpath, -1, s->st_gid))
|
||||
printf(", not modified: %s)\n",
|
||||
strerror(errno));
|
||||
printf(", not modified: %s%s\n",
|
||||
strerror(errno),
|
||||
flavor == F_FREEBSD9 ? "" : ")");
|
||||
else
|
||||
printf(", modified)\n");
|
||||
printf(", modified%s\n",
|
||||
flavor == F_FREEBSD9 ? "" : ")");
|
||||
}
|
||||
else
|
||||
printf(")\n");
|
||||
@@ -259,15 +276,19 @@ typeerr: LABEL;
|
||||
}
|
||||
|
||||
LABEL;
|
||||
printf("%spermissions (%#lo, %#lo",
|
||||
printf(flavor == F_FREEBSD9 ?
|
||||
"%spermissions expcted %#lo found %#lo" :
|
||||
"%spermissions (%#lo, %#lo",
|
||||
tab, (u_long)s->st_mode,
|
||||
(u_long)p->fts_statp->st_mode & MBITS);
|
||||
if (uflag) {
|
||||
if (lchmod(p->fts_accpath, s->st_mode))
|
||||
printf(", not modified: %s)\n",
|
||||
strerror(errno));
|
||||
printf(", not modified: %s%s\n",
|
||||
strerror(errno),
|
||||
flavor == F_FREEBSD9 ? "" : ")");
|
||||
else
|
||||
printf(", modified)\n");
|
||||
printf(", modified%s\n",
|
||||
flavor == F_FREEBSD9 ? "" : ")");
|
||||
}
|
||||
else
|
||||
printf(")\n");
|
||||
@@ -277,15 +298,18 @@ typeerr: LABEL;
|
||||
if (s->flags & F_NLINK && s->type != F_DIR &&
|
||||
s->st_nlink != p->fts_statp->st_nlink) {
|
||||
LABEL;
|
||||
printf("%slink count (%lu, %lu)\n",
|
||||
printf(flavor == F_FREEBSD9 ?
|
||||
"%slink count expected %lu found %lu\n" :
|
||||
"%slink count (%lu, %lu)\n",
|
||||
tab, (u_long)s->st_nlink, (u_long)p->fts_statp->st_nlink);
|
||||
tab = "\t";
|
||||
}
|
||||
if (s->flags & F_SIZE && s->st_size != p->fts_statp->st_size) {
|
||||
LABEL;
|
||||
printf("%ssize (%lld, %lld)\n",
|
||||
tab, (long long)s->st_size,
|
||||
(long long)p->fts_statp->st_size);
|
||||
printf(flavor == F_FREEBSD9 ?
|
||||
"%ssize expected %ju found %ju\n" : "%ssize (%ju, %ju)\n",
|
||||
tab, (uintmax_t)s->st_size,
|
||||
(uintmax_t)p->fts_statp->st_size);
|
||||
tab = "\t";
|
||||
}
|
||||
/*
|
||||
@@ -318,18 +342,22 @@ typeerr: LABEL;
|
||||
if (tv[0].tv_sec != tv[1].tv_sec ||
|
||||
tv[0].tv_usec != tv[1].tv_usec) {
|
||||
LABEL;
|
||||
printf("%smodification time (%.24s, ",
|
||||
printf(flavor == F_FREEBSD9 ?
|
||||
"%smodification time expected %.24s found " :
|
||||
"%smodification time (%.24s, ",
|
||||
tab, ctime(&smtime));
|
||||
printf("%.24s", ctime(&pmtime));
|
||||
if (tflag) {
|
||||
tv[1] = tv[0];
|
||||
if (utimes(p->fts_accpath, tv))
|
||||
printf(", not modified: %s)\n",
|
||||
strerror(errno));
|
||||
printf(", not modified: %s%s\n",
|
||||
strerror(errno),
|
||||
flavor == F_FREEBSD9 ? "" : ")");
|
||||
else
|
||||
printf(", modified)\n");
|
||||
printf(", modified%s\n",
|
||||
flavor == F_FREEBSD9 ? "" : ")");
|
||||
} else
|
||||
printf(")\n");
|
||||
printf("%s\n", flavor == F_FREEBSD9 ? "" : ")");
|
||||
tab = "\t";
|
||||
}
|
||||
}
|
||||
@@ -346,7 +374,9 @@ typeerr: LABEL;
|
||||
char *f_s;
|
||||
LABEL;
|
||||
f_s = flags_to_string(s->st_flags, "none");
|
||||
printf("%sflags (\"%s\" is not ", tab, f_s);
|
||||
printf(flavor == F_FREEBSD9 ?
|
||||
"%sflags expected \"%s\" found " :
|
||||
"%sflags (\"%s\" is not ", tab, f_s);
|
||||
free(f_s);
|
||||
f_s = flags_to_string(p->fts_statp->st_flags, "none");
|
||||
printf("\"%s\"", f_s);
|
||||
@@ -360,7 +390,7 @@ typeerr: LABEL;
|
||||
else
|
||||
SETFLAGS(0, (~SP_FLGS & CH_MASK));
|
||||
} else
|
||||
printf(")\n");
|
||||
printf("%s\n", flavor == F_FREEBSD9 ? "" : ")");
|
||||
tab = "\t";
|
||||
}
|
||||
#endif /* HAVE_STRUCT_STAT_ST_FLAGS */
|
||||
@@ -386,7 +416,9 @@ typeerr: LABEL;
|
||||
close(fd);
|
||||
if (s->cksum != val) {
|
||||
LABEL;
|
||||
printf("%scksum (%lu, %lu)\n",
|
||||
printf(flavor == F_FREEBSD9 ?
|
||||
"%scksum expected %lu found %lu\n" :
|
||||
"%scksum (%lu, %lu)\n",
|
||||
tab, s->cksum, (unsigned long)val);
|
||||
}
|
||||
tab = "\t";
|
||||
@@ -402,7 +434,9 @@ typeerr: LABEL;
|
||||
} else {
|
||||
if (strcmp(s->md5digest, digestbuf)) {
|
||||
LABEL;
|
||||
printf("%s%s (0x%s, 0x%s)\n",
|
||||
printf(flavor == F_FREEBSD9 ?
|
||||
"%s%s expected %s found %s\n" :
|
||||
"%s%s (0x%s, 0x%s)\n",
|
||||
tab, MD5KEY, s->md5digest, digestbuf);
|
||||
}
|
||||
tab = "\t";
|
||||
@@ -420,7 +454,9 @@ typeerr: LABEL;
|
||||
} else {
|
||||
if (strcmp(s->rmd160digest, digestbuf)) {
|
||||
LABEL;
|
||||
printf("%s%s (0x%s, 0x%s)\n",
|
||||
printf(flavor == F_FREEBSD9 ?
|
||||
"%s%s expected %s found %s\n" :
|
||||
"%s%s (0x%s, 0x%s)\n",
|
||||
tab, RMD160KEY, s->rmd160digest, digestbuf);
|
||||
}
|
||||
tab = "\t";
|
||||
@@ -438,7 +474,9 @@ typeerr: LABEL;
|
||||
} else {
|
||||
if (strcmp(s->sha1digest, digestbuf)) {
|
||||
LABEL;
|
||||
printf("%s%s (0x%s, 0x%s)\n",
|
||||
printf(flavor == F_FREEBSD9 ?
|
||||
"%s%s expected %s found %s\n" :
|
||||
"%s%s (0x%s, 0x%s)\n",
|
||||
tab, SHA1KEY, s->sha1digest, digestbuf);
|
||||
}
|
||||
tab = "\t";
|
||||
@@ -456,7 +494,9 @@ typeerr: LABEL;
|
||||
} else {
|
||||
if (strcmp(s->sha256digest, digestbuf)) {
|
||||
LABEL;
|
||||
printf("%s%s (0x%s, 0x%s)\n",
|
||||
printf(flavor == F_FREEBSD9 ?
|
||||
"%s%s expected %s found %s\n" :
|
||||
"%s%s (0x%s, 0x%s)\n",
|
||||
tab, SHA256KEY, s->sha256digest, digestbuf);
|
||||
}
|
||||
tab = "\t";
|
||||
@@ -473,7 +513,9 @@ typeerr: LABEL;
|
||||
} else {
|
||||
if (strcmp(s->sha384digest, digestbuf)) {
|
||||
LABEL;
|
||||
printf("%s%s (0x%s, 0x%s)\n",
|
||||
printf(flavor == F_FREEBSD9 ?
|
||||
"%s%s expected %s found %s\n" :
|
||||
"%s%s (0x%s, 0x%s)\n",
|
||||
tab, SHA384KEY, s->sha384digest, digestbuf);
|
||||
}
|
||||
tab = "\t";
|
||||
@@ -490,7 +532,9 @@ typeerr: LABEL;
|
||||
} else {
|
||||
if (strcmp(s->sha512digest, digestbuf)) {
|
||||
LABEL;
|
||||
printf("%s%s (0x%s, 0x%s)\n",
|
||||
printf(flavor == F_FREEBSD9 ?
|
||||
"%s%s expected %s found %s\n" :
|
||||
"%s%s (0x%s, 0x%s)\n",
|
||||
tab, SHA512KEY, s->sha512digest, digestbuf);
|
||||
}
|
||||
tab = "\t";
|
||||
@@ -501,16 +545,20 @@ typeerr: LABEL;
|
||||
if (s->flags & F_SLINK &&
|
||||
strcmp(cp = rlink(p->fts_accpath), s->slink)) {
|
||||
LABEL;
|
||||
printf("%slink ref (%s, %s", tab, cp, s->slink);
|
||||
printf(flavor == F_FREEBSD9 ?
|
||||
"%slink ref expected %s found %s" :
|
||||
"%slink ref (%s, %s", tab, cp, s->slink);
|
||||
if (uflag) {
|
||||
if ((unlink(p->fts_accpath) == -1) ||
|
||||
(symlink(s->slink, p->fts_accpath) == -1) )
|
||||
printf(", not modified: %s)\n",
|
||||
strerror(errno));
|
||||
printf(", not modified: %s%s\n",
|
||||
strerror(errno),
|
||||
flavor == F_FREEBSD9 ? "" : ")");
|
||||
else
|
||||
printf(", modified)\n");
|
||||
printf(", modified%s\n",
|
||||
flavor == F_FREEBSD9 ? "" : ")");
|
||||
} else
|
||||
printf(")\n");
|
||||
printf("%s\n", flavor == F_FREEBSD9 ? "" : ")");
|
||||
}
|
||||
return (label);
|
||||
}
|
||||
|
||||
+12
-11
@@ -1,4 +1,4 @@
|
||||
/* $NetBSD: create.c,v 1.69 2013/02/03 19:15:17 christos Exp $ */
|
||||
/* $NetBSD: create.c,v 1.72 2013/10/17 17:22:59 christos Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1989, 1993
|
||||
@@ -38,7 +38,7 @@
|
||||
#if 0
|
||||
static char sccsid[] = "@(#)create.c 8.1 (Berkeley) 6/6/93";
|
||||
#else
|
||||
__RCSID("$NetBSD: create.c,v 1.69 2013/02/03 19:15:17 christos Exp $");
|
||||
__RCSID("$NetBSD: create.c,v 1.72 2013/10/17 17:22:59 christos Exp $");
|
||||
#endif
|
||||
#endif /* not lint */
|
||||
|
||||
@@ -55,6 +55,7 @@ __RCSID("$NetBSD: create.c,v 1.69 2013/02/03 19:15:17 christos Exp $");
|
||||
#include <pwd.h>
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <time.h>
|
||||
@@ -216,22 +217,22 @@ statf(int indent, FTSENT *p)
|
||||
p->fts_statp->st_mode & MBITS);
|
||||
if (keys & F_DEV &&
|
||||
(S_ISBLK(p->fts_statp->st_mode) || S_ISCHR(p->fts_statp->st_mode)))
|
||||
output(indent, &offset, "device=%#llx",
|
||||
(long long)p->fts_statp->st_rdev);
|
||||
output(indent, &offset, "device=%#jx",
|
||||
(uintmax_t)p->fts_statp->st_rdev);
|
||||
if (keys & F_NLINK && p->fts_statp->st_nlink != 1)
|
||||
output(indent, &offset, "nlink=%u", p->fts_statp->st_nlink);
|
||||
if (keys & F_SIZE &&
|
||||
(flavor != F_NETBSD6 || S_ISREG(p->fts_statp->st_mode)))
|
||||
output(indent, &offset, "size=%lld",
|
||||
(long long)p->fts_statp->st_size);
|
||||
(flavor == F_FREEBSD9 || S_ISREG(p->fts_statp->st_mode)))
|
||||
output(indent, &offset, "size=%ju",
|
||||
(uintmax_t)p->fts_statp->st_size);
|
||||
if (keys & F_TIME)
|
||||
#if defined(BSD4_4) && !defined(HAVE_NBTOOL_CONFIG_H)
|
||||
output(indent, &offset, "time=%ld.%09ld",
|
||||
(long)p->fts_statp->st_mtimespec.tv_sec,
|
||||
output(indent, &offset, "time=%jd.%09ld",
|
||||
(intmax_t)p->fts_statp->st_mtimespec.tv_sec,
|
||||
p->fts_statp->st_mtimespec.tv_nsec);
|
||||
#else
|
||||
output(indent, &offset, "time=%ld.%09ld",
|
||||
(long)p->fts_statp->st_mtime, (long)0);
|
||||
output(indent, &offset, "time=%jd.%09ld",
|
||||
(intmax_t)p->fts_statp->st_mtime, (long)0);
|
||||
#endif
|
||||
if (keys & F_CKSUM && S_ISREG(p->fts_statp->st_mode)) {
|
||||
if ((fd = open(p->fts_accpath, O_RDONLY, 0)) < 0 ||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $NetBSD: getid.c,v 1.7 2008/04/28 20:24:17 martin Exp $ */
|
||||
/* $NetBSD: getid.c,v 1.8 2013/10/16 17:27:42 christos Exp $ */
|
||||
/* from: NetBSD: getpwent.c,v 1.48 2000/10/03 03:22:26 enami Exp */
|
||||
/* from: NetBSD: getgrent.c,v 1.41 2002/01/12 23:51:30 lukem Exp */
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
#endif
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__RCSID("$NetBSD: getid.c,v 1.7 2008/04/28 20:24:17 martin Exp $");
|
||||
__RCSID("$NetBSD: getid.c,v 1.8 2013/10/16 17:27:42 christos Exp $");
|
||||
|
||||
#include <sys/param.h>
|
||||
|
||||
@@ -230,6 +230,9 @@ grscan(int search, gid_t gid, const char *name)
|
||||
;
|
||||
continue;
|
||||
}
|
||||
/* skip comments */
|
||||
if (pwline[0] == '#')
|
||||
continue;
|
||||
if (grmatchline(search, gid, name))
|
||||
return 1;
|
||||
}
|
||||
@@ -371,6 +374,9 @@ pwscan(int search, uid_t uid, const char *name)
|
||||
;
|
||||
continue;
|
||||
}
|
||||
/* skip comments */
|
||||
if (pwline[0] == '#')
|
||||
continue;
|
||||
if (pwmatchline(search, uid, name))
|
||||
return 1;
|
||||
}
|
||||
|
||||
+15
-6
@@ -1,4 +1,4 @@
|
||||
/* $NetBSD: spec.c,v 1.85 2012/12/20 16:43:16 christos Exp $ */
|
||||
/* $NetBSD: spec.c,v 1.88 2013/10/17 17:22:59 christos Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1989, 1993
|
||||
@@ -67,7 +67,7 @@
|
||||
#if 0
|
||||
static char sccsid[] = "@(#)spec.c 8.2 (Berkeley) 4/28/95";
|
||||
#else
|
||||
__RCSID("$NetBSD: spec.c,v 1.85 2012/12/20 16:43:16 christos Exp $");
|
||||
__RCSID("$NetBSD: spec.c,v 1.88 2013/10/17 17:22:59 christos Exp $");
|
||||
#endif
|
||||
#endif /* not lint */
|
||||
|
||||
@@ -81,6 +81,7 @@ __RCSID("$NetBSD: spec.c,v 1.85 2012/12/20 16:43:16 christos Exp $");
|
||||
#include <pwd.h>
|
||||
#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
@@ -217,6 +218,12 @@ noparent: mtree_err("no parent node");
|
||||
/*
|
||||
* empty tree
|
||||
*/
|
||||
/*
|
||||
* Allow a bare "." root node by forcing it to
|
||||
* type=dir for compatibility with FreeBSD.
|
||||
*/
|
||||
if (strcmp(centry->name, ".") == 0 && centry->type == 0)
|
||||
centry->type = F_DIR;
|
||||
if (strcmp(centry->name, ".") != 0 ||
|
||||
centry->type != F_DIR)
|
||||
mtree_err(
|
||||
@@ -350,16 +357,18 @@ dump_nodes(const char *dir, NODE *root, int pathlast)
|
||||
appendfield(pathlast, "mode=%#o", cur->st_mode);
|
||||
if (MATCHFLAG(F_DEV) &&
|
||||
(cur->type == F_BLOCK || cur->type == F_CHAR))
|
||||
appendfield(pathlast, "device=%#llx", (long long)cur->st_rdev);
|
||||
appendfield(pathlast, "device=%#jx",
|
||||
(uintmax_t)cur->st_rdev);
|
||||
if (MATCHFLAG(F_NLINK))
|
||||
appendfield(pathlast, "nlink=%d", cur->st_nlink);
|
||||
if (MATCHFLAG(F_SLINK))
|
||||
appendfield(pathlast, "link=%s", vispath(cur->slink));
|
||||
if (MATCHFLAG(F_SIZE))
|
||||
appendfield(pathlast, "size=%lld", (long long)cur->st_size);
|
||||
appendfield(pathlast, "size=%ju",
|
||||
(uintmax_t)cur->st_size);
|
||||
if (MATCHFLAG(F_TIME))
|
||||
appendfield(pathlast, "time=%lld.%09ld",
|
||||
(long long)cur->st_mtimespec.tv_sec,
|
||||
appendfield(pathlast, "time=%jd.%09ld",
|
||||
(intmax_t)cur->st_mtimespec.tv_sec,
|
||||
cur->st_mtimespec.tv_nsec);
|
||||
if (MATCHFLAG(F_CKSUM))
|
||||
appendfield(pathlast, "cksum=%lu", cur->cksum);
|
||||
|
||||
@@ -597,6 +597,8 @@ getconfig(
|
||||
#endif /* not SYS_WINNT */
|
||||
}
|
||||
|
||||
proto_config(PROTO_MONITOR, 0, 0., NULL);
|
||||
|
||||
for (;;) {
|
||||
if (tok == CONFIG_END)
|
||||
break;
|
||||
@@ -1885,7 +1887,7 @@ getconfig(
|
||||
|
||||
for (i = 0; i < 8; i++)
|
||||
for (j = 1; j < 100; ++j) {
|
||||
rankey[i] = (char) (ntp_random() & 0xff);
|
||||
rankey[i] = (char) (arc4random() & 0xff);
|
||||
if (rankey[i] != 0) break;
|
||||
}
|
||||
rankey[8] = 0;
|
||||
|
||||
@@ -24,6 +24,10 @@
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/inet.h>
|
||||
|
||||
#ifndef MIN
|
||||
#define MIN(a, b) (((a) <= (b)) ? (a) : (b))
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Structure to hold request procedure information
|
||||
*/
|
||||
@@ -893,6 +897,7 @@ ctl_putdata(
|
||||
)
|
||||
{
|
||||
int overhead;
|
||||
unsigned int currentlen;
|
||||
|
||||
overhead = 0;
|
||||
if (!bin) {
|
||||
@@ -916,12 +921,22 @@ ctl_putdata(
|
||||
/*
|
||||
* Save room for trailing junk
|
||||
*/
|
||||
if (dlen + overhead + datapt > dataend) {
|
||||
while (dlen + overhead + datapt > dataend) {
|
||||
/*
|
||||
* Not enough room in this one, flush it out.
|
||||
*/
|
||||
currentlen = MIN(dlen, dataend - datapt);
|
||||
|
||||
memcpy(datapt, dp, currentlen);
|
||||
|
||||
datapt += currentlen;
|
||||
dp += currentlen;
|
||||
dlen -= currentlen;
|
||||
datalinelen += currentlen;
|
||||
|
||||
ctl_flushpkt(CTL_MORE);
|
||||
}
|
||||
|
||||
memmove((char *)datapt, dp, (unsigned)dlen);
|
||||
datapt += dlen;
|
||||
datalinelen += dlen;
|
||||
|
||||
@@ -864,12 +864,24 @@ crypto_recv(
|
||||
* errors.
|
||||
*/
|
||||
if (vallen == (u_int) EVP_PKEY_size(host_pkey)) {
|
||||
RSA_private_decrypt(vallen,
|
||||
u_int32 *cookiebuf = malloc(
|
||||
RSA_size(host_pkey->pkey.rsa));
|
||||
if (cookiebuf == NULL) {
|
||||
rval = XEVNT_CKY;
|
||||
break;
|
||||
}
|
||||
if (RSA_private_decrypt(vallen,
|
||||
(u_char *)ep->pkt,
|
||||
(u_char *)&temp32,
|
||||
(u_char *)cookiebuf,
|
||||
host_pkey->pkey.rsa,
|
||||
RSA_PKCS1_OAEP_PADDING);
|
||||
cookie = ntohl(temp32);
|
||||
RSA_PKCS1_OAEP_PADDING) != 4) {
|
||||
rval = XEVNT_CKY;
|
||||
free(cookiebuf);
|
||||
break;
|
||||
} else {
|
||||
cookie = ntohl(*cookiebuf);
|
||||
free(cookiebuf);
|
||||
}
|
||||
} else {
|
||||
rval = XEVNT_CKY;
|
||||
break;
|
||||
@@ -3914,7 +3926,7 @@ crypto_setup(void)
|
||||
rand_file);
|
||||
exit (-1);
|
||||
}
|
||||
get_systime(&seed);
|
||||
arc4random_buf(&seed, sizeof(l_fp));
|
||||
RAND_seed(&seed, sizeof(l_fp));
|
||||
RAND_write_file(rand_file);
|
||||
OpenSSL_add_all_algorithms();
|
||||
|
||||
@@ -649,6 +649,7 @@ receive(
|
||||
has_mac)) {
|
||||
is_authentic = AUTH_ERROR;
|
||||
sys_badauth++;
|
||||
return;
|
||||
} else {
|
||||
is_authentic = AUTH_OK;
|
||||
}
|
||||
|
||||
@@ -642,7 +642,7 @@ gen_md5(
|
||||
for (i = 1; i <= MD5KEYS; i++) {
|
||||
for (j = 0; j < 16; j++) {
|
||||
while (1) {
|
||||
temp = ntp_random() & 0xff;
|
||||
temp = arc4random() & 0xff;
|
||||
if (temp == '#')
|
||||
continue;
|
||||
if (temp > 0x20 && temp < 0x7f)
|
||||
@@ -675,7 +675,7 @@ gen_rsa(
|
||||
FILE *str;
|
||||
|
||||
fprintf(stderr, "Generating RSA keys (%d bits)...\n", modulus);
|
||||
rsa = RSA_generate_key(modulus, 3, cb, "RSA");
|
||||
rsa = RSA_generate_key(modulus, 65537, cb, "RSA");
|
||||
fprintf(stderr, "\n");
|
||||
if (rsa == NULL) {
|
||||
fprintf(stderr, "RSA generate keys fails\n%s\n",
|
||||
@@ -954,7 +954,7 @@ gen_gqpar(
|
||||
*/
|
||||
fprintf(stderr,
|
||||
"Generating GQ parameters (%d bits)...\n", modulus);
|
||||
rsa = RSA_generate_key(modulus, 3, cb, "GQ");
|
||||
rsa = RSA_generate_key(modulus, 65537, cb, "GQ");
|
||||
fprintf(stderr, "\n");
|
||||
if (rsa == NULL) {
|
||||
fprintf(stderr, "RSA generate keys fails\n%s\n",
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
# $Id: README,v 9.0 2012/10/07 09:13:54 zy Exp $
|
||||
# $Id: README,v 9.1 2013/11/02 02:50:23 zy Exp $
|
||||
|
||||
This is version 2.1.1 (2012-10-07) of nex/nvi, a reimplementation of the ex/vi
|
||||
This is version 2.1.2 (2012-11-02) of nex/nvi, a reimplementation of the ex/vi
|
||||
text editors originally distributed as part of the Fourth Berkeley
|
||||
Software Distribution (4BSD), by the University of California, Berkeley.
|
||||
|
||||
|
||||
@@ -11,9 +11,9 @@
|
||||
|
||||
#ifndef lint
|
||||
static const char copyright[] =
|
||||
"%Z% Copyright (c) 1992, 1993, 1994\n\
|
||||
"@(#) Copyright (c) 1992, 1993, 1994\n\
|
||||
The Regents of the University of California. All rights reserved.\n\
|
||||
%Z% Copyright (c) 1992, 1993, 1994, 1995, 1996\n\
|
||||
@(#) Copyright (c) 1992, 1993, 1994, 1995, 1996\n\
|
||||
Keith Bostic. All rights reserved.\n";
|
||||
#endif /* not lint */
|
||||
|
||||
|
||||
+2302
-1179
File diff suppressed because it is too large.
Load diff
+27
-16
@@ -10,7 +10,7 @@
|
||||
#include "config.h"
|
||||
|
||||
#ifndef lint
|
||||
static const char sccsid[] = "$Id: ex_print.c,v 10.25 2011/12/12 22:12:20 zy Exp $";
|
||||
static const char sccsid[] = "$Id: ex_print.c,v 10.26 2013/11/02 02:11:07 zy Exp $";
|
||||
#endif /* not lint */
|
||||
|
||||
#include <sys/types.h>
|
||||
@@ -213,7 +213,7 @@ ex_prchars(SCR *sp, const CHAR_T *p, size_t *colp, size_t len,
|
||||
gp = sp->gp;
|
||||
ts = O_VAL(sp, O_TABSTOP);
|
||||
for (col = *colp; len--;)
|
||||
if ((ch = *p++) == '\t' && !LF_ISSET(E_C_LIST))
|
||||
if ((ch = *p++) == L('\t') && !LF_ISSET(E_C_LIST))
|
||||
for (tlen = ts - col % ts;
|
||||
col < sp->cols && tlen--; ++col) {
|
||||
(void)ex_printf(sp,
|
||||
@@ -223,21 +223,32 @@ ex_prchars(SCR *sp, const CHAR_T *p, size_t *colp, size_t len,
|
||||
}
|
||||
else {
|
||||
kp = KEY_NAME(sp, ch);
|
||||
tlen = KEY_LEN(sp, ch);
|
||||
if (!repeatc && col + tlen < sp->cols) {
|
||||
tlen = KEY_COL(sp, ch);
|
||||
|
||||
/*
|
||||
* Start a new line if the last character does not fit
|
||||
* into the current line. The implicit new lines are
|
||||
* not interruptible.
|
||||
*/
|
||||
if (col + tlen > sp->cols) {
|
||||
col = 0;
|
||||
(void)ex_puts(sp, "\n");
|
||||
}
|
||||
|
||||
col += tlen;
|
||||
if (!repeatc) {
|
||||
(void)ex_puts(sp, kp);
|
||||
col += tlen;
|
||||
} else
|
||||
for (; tlen--; ++kp, ++col) {
|
||||
if (col == sp->cols) {
|
||||
col = 0;
|
||||
(void)ex_puts(sp, "\n");
|
||||
}
|
||||
(void)ex_printf(sp,
|
||||
"%c", repeatc ? repeatc : *kp);
|
||||
if (INTERRUPTED(sp))
|
||||
goto intr;
|
||||
}
|
||||
if (INTERRUPTED(sp))
|
||||
goto intr;
|
||||
} else while (tlen--) {
|
||||
(void)ex_printf(sp, "%c", repeatc);
|
||||
if (INTERRUPTED(sp))
|
||||
goto intr;
|
||||
}
|
||||
if (col == sp->cols) {
|
||||
col = 0;
|
||||
(void)ex_puts(sp, "\n");
|
||||
}
|
||||
}
|
||||
intr: *colp = col;
|
||||
return (0);
|
||||
|
||||
@@ -1 +1 @@
|
||||
#define VI_VERSION "2.1.1 (2012-10-07)"
|
||||
#define VI_VERSION "2.1.2 (2012-11-02)"
|
||||
@@ -295,7 +295,8 @@ v_txt(
|
||||
tiqh = sp->tiq;
|
||||
if (!TAILQ_EMPTY(tiqh)) {
|
||||
tp = TAILQ_FIRST(tiqh);
|
||||
if (TAILQ_NEXT(tp, q) != NULL || tp->lb_len < len + 32) {
|
||||
if (TAILQ_NEXT(tp, q) != NULL ||
|
||||
tp->lb_len < (len + 32) * sizeof(CHAR_T)) {
|
||||
text_lfree(tiqh);
|
||||
goto newtp;
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
#include "config.h"
|
||||
|
||||
#ifndef lint
|
||||
static const char sccsid[] = "$Id: vs_refresh.c,v 10.52 2011/12/16 11:06:25 zy Exp $";
|
||||
static const char sccsid[] = "$Id: vs_refresh.c,v 10.53 2013/11/01 11:57:36 zy Exp $";
|
||||
#endif /* not lint */
|
||||
|
||||
#include <sys/types.h>
|
||||
@@ -331,7 +331,8 @@ small_fill: (void)gp->scr_move(sp, LASTLINE(sp), 0);
|
||||
if (vs_sm_1down(sp))
|
||||
return (1);
|
||||
goto adjust;
|
||||
}
|
||||
} else
|
||||
goto top; /* XXX No such line. */
|
||||
|
||||
/*
|
||||
* If less than a half screen from the bottom of the file,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*-
|
||||
* Copyright (c) 2001-2003 Networks Associates Technology, Inc.
|
||||
* Copyright (c) 2004-2012 Dag-Erling Smørgrav
|
||||
* Copyright (c) 2004-2014 Dag-Erling Smørgrav
|
||||
* All rights reserved.
|
||||
*
|
||||
* This software was developed for the FreeBSD Project by ThinkSec AS and
|
||||
@@ -193,6 +193,7 @@ openpam_parse_chain(pam_handle_t *pamh,
|
||||
openpam_log(PAM_LOG_ERROR,
|
||||
"%s(%d): missing or invalid facility",
|
||||
filename, lineno);
|
||||
errno = EINVAL;
|
||||
goto fail;
|
||||
}
|
||||
if (facility != fclt && facility != PAM_FACILITY_ANY) {
|
||||
@@ -208,18 +209,28 @@ openpam_parse_chain(pam_handle_t *pamh,
|
||||
openpam_log(PAM_LOG_ERROR,
|
||||
"%s(%d): missing or invalid service name",
|
||||
filename, lineno);
|
||||
errno = EINVAL;
|
||||
goto fail;
|
||||
}
|
||||
if (wordv[i] != NULL) {
|
||||
openpam_log(PAM_LOG_ERROR,
|
||||
"%s(%d): garbage at end of line",
|
||||
filename, lineno);
|
||||
errno = EINVAL;
|
||||
goto fail;
|
||||
}
|
||||
ret = openpam_load_chain(pamh, servicename, fclt);
|
||||
FREEV(wordc, wordv);
|
||||
if (ret < 0)
|
||||
if (ret < 0) {
|
||||
/*
|
||||
* Bogus errno, but this ensures that the
|
||||
* outer loop does not just ignore the
|
||||
* error and keep searching.
|
||||
*/
|
||||
if (errno == ENOENT)
|
||||
errno = EINVAL;
|
||||
goto fail;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -229,6 +240,7 @@ openpam_parse_chain(pam_handle_t *pamh,
|
||||
openpam_log(PAM_LOG_ERROR,
|
||||
"%s(%d): missing or invalid control flag",
|
||||
filename, lineno);
|
||||
errno = EINVAL;
|
||||
goto fail;
|
||||
}
|
||||
|
||||
@@ -238,6 +250,7 @@ openpam_parse_chain(pam_handle_t *pamh,
|
||||
openpam_log(PAM_LOG_ERROR,
|
||||
"%s(%d): missing or invalid module name",
|
||||
filename, lineno);
|
||||
errno = EINVAL;
|
||||
goto fail;
|
||||
}
|
||||
|
||||
@@ -247,8 +260,11 @@ openpam_parse_chain(pam_handle_t *pamh,
|
||||
this->flag = ctlf;
|
||||
|
||||
/* load module */
|
||||
if ((this->module = openpam_load_module(modulename)) == NULL)
|
||||
if ((this->module = openpam_load_module(modulename)) == NULL) {
|
||||
if (errno == ENOENT)
|
||||
errno = ENOEXEC;
|
||||
goto fail;
|
||||
}
|
||||
|
||||
/*
|
||||
* The remaining items in wordv are the module's
|
||||
@@ -281,7 +297,11 @@ openpam_parse_chain(pam_handle_t *pamh,
|
||||
* The loop ended because openpam_readword() returned NULL, which
|
||||
* can happen for four different reasons: an I/O error (ferror(f)
|
||||
* is true), a memory allocation failure (ferror(f) is false,
|
||||
* errno is non-zero)
|
||||
* feof(f) is false, errno is non-zero), the file ended with an
|
||||
* unterminated quote or backslash escape (ferror(f) is false,
|
||||
* feof(f) is true, errno is non-zero), or the end of the file was
|
||||
* reached without error (ferror(f) is false, feof(f) is true,
|
||||
* errno is zero).
|
||||
*/
|
||||
if (ferror(f) || errno != 0)
|
||||
goto syserr;
|
||||
@@ -402,6 +422,9 @@ openpam_load_chain(pam_handle_t *pamh,
|
||||
}
|
||||
ret = openpam_load_file(pamh, service, facility,
|
||||
filename, style);
|
||||
/* success */
|
||||
if (ret > 0)
|
||||
RETURNN(ret);
|
||||
/* the file exists, but an error occurred */
|
||||
if (ret == -1 && errno != ENOENT)
|
||||
RETURNN(ret);
|
||||
@@ -411,7 +434,8 @@ openpam_load_chain(pam_handle_t *pamh,
|
||||
}
|
||||
|
||||
/* no hit */
|
||||
RETURNN(0);
|
||||
errno = ENOENT;
|
||||
RETURNN(-1);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -432,8 +456,10 @@ openpam_configure(pam_handle_t *pamh,
|
||||
openpam_log(PAM_LOG_ERROR, "invalid service name");
|
||||
RETURNC(PAM_SYSTEM_ERR);
|
||||
}
|
||||
if (openpam_load_chain(pamh, service, PAM_FACILITY_ANY) < 0)
|
||||
goto load_err;
|
||||
if (openpam_load_chain(pamh, service, PAM_FACILITY_ANY) < 0) {
|
||||
if (errno != ENOENT)
|
||||
goto load_err;
|
||||
}
|
||||
for (fclt = 0; fclt < PAM_NUM_FACILITIES; ++fclt) {
|
||||
if (pamh->chains[fclt] != NULL)
|
||||
continue;
|
||||
|
||||
@@ -5265,8 +5265,8 @@ closefd_walk(lowest, fd)
|
||||
*/
|
||||
|
||||
void
|
||||
sm_close_on_exec(highest, lowest)
|
||||
int highest, lowest;
|
||||
sm_close_on_exec(lowest, highest)
|
||||
int lowest, highest;
|
||||
{
|
||||
#if HASFDWALK
|
||||
(void) fdwalk(closefd_walk, &lowest);
|
||||
|
||||
+38
-54
@@ -36,12 +36,8 @@
|
||||
__FBSDID("$FreeBSD$");
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/iconv.h>
|
||||
#include <sys/sysctl.h>
|
||||
#include <ctype.h>
|
||||
#ifndef APPLE
|
||||
#include <dlfcn.h>
|
||||
#endif
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
@@ -50,21 +46,16 @@ __FBSDID("$FreeBSD$");
|
||||
#include <err.h>
|
||||
#include <netsmb/smb_lib.h>
|
||||
|
||||
/*
|
||||
* prototype iconv* functions
|
||||
*/
|
||||
typedef void *iconv_t;
|
||||
|
||||
static iconv_t (*my_iconv_open)(const char *, const char *);
|
||||
static size_t(*my_iconv)(iconv_t, const char **, size_t *, char **, size_t *);
|
||||
static int(*my_iconv_close)(iconv_t);
|
||||
#ifdef HAVE_ICONV
|
||||
#include <iconv.h>
|
||||
#endif
|
||||
|
||||
u_char nls_lower[256];
|
||||
u_char nls_upper[256];
|
||||
|
||||
#ifdef HAVE_ICONV
|
||||
static iconv_t nls_toext, nls_toloc;
|
||||
static int iconv_loaded;
|
||||
static void *iconv_lib;
|
||||
#endif
|
||||
|
||||
int
|
||||
nls_setlocale(const char *name)
|
||||
@@ -85,117 +76,107 @@ nls_setlocale(const char *name)
|
||||
int
|
||||
nls_setrecode(const char *local, const char *external)
|
||||
{
|
||||
#ifdef APPLE
|
||||
return ENOENT;
|
||||
#else
|
||||
#ifdef HAVE_ICONV
|
||||
iconv_t icd;
|
||||
|
||||
if (iconv_loaded == 2)
|
||||
return ENOENT;
|
||||
else if (iconv_loaded == 0) {
|
||||
iconv_loaded++;
|
||||
iconv_lib = dlopen("libiconv.so", RTLD_LAZY | RTLD_GLOBAL);
|
||||
if (iconv_lib == NULL) {
|
||||
warn("Unable to load iconv library: %s\n", dlerror());
|
||||
iconv_loaded++;
|
||||
return ENOENT;
|
||||
}
|
||||
my_iconv_open = dlsym(iconv_lib, "iconv_open");
|
||||
my_iconv = dlsym(iconv_lib, "iconv");
|
||||
my_iconv_close = dlsym(iconv_lib, "iconv_close");
|
||||
}
|
||||
if (nls_toext)
|
||||
my_iconv_close(nls_toext);
|
||||
iconv_close(nls_toext);
|
||||
if (nls_toloc)
|
||||
my_iconv_close(nls_toloc);
|
||||
iconv_close(nls_toloc);
|
||||
nls_toext = nls_toloc = (iconv_t)0;
|
||||
icd = my_iconv_open(external, local);
|
||||
icd = iconv_open(external, local);
|
||||
if (icd == (iconv_t)-1)
|
||||
return errno;
|
||||
nls_toext = icd;
|
||||
icd = my_iconv_open(local, external);
|
||||
icd = iconv_open(local, external);
|
||||
if (icd == (iconv_t)-1) {
|
||||
my_iconv_close(nls_toext);
|
||||
iconv_close(nls_toext);
|
||||
nls_toext = (iconv_t)0;
|
||||
return errno;
|
||||
}
|
||||
nls_toloc = icd;
|
||||
return 0;
|
||||
#else
|
||||
return ENOENT;
|
||||
#endif
|
||||
}
|
||||
|
||||
char *
|
||||
nls_str_toloc(char *dst, const char *src)
|
||||
{
|
||||
#ifdef HAVE_ICONV
|
||||
char *p = dst;
|
||||
size_t inlen, outlen;
|
||||
|
||||
if (!iconv_loaded)
|
||||
return strcpy(dst, src);
|
||||
|
||||
if (nls_toloc == (iconv_t)0)
|
||||
return strcpy(dst, src);
|
||||
inlen = outlen = strlen(src);
|
||||
my_iconv(nls_toloc, NULL, NULL, &p, &outlen);
|
||||
while (my_iconv(nls_toloc, &src, &inlen, &p, &outlen) == -1) {
|
||||
iconv(nls_toloc, NULL, NULL, &p, &outlen);
|
||||
while (iconv(nls_toloc, &src, &inlen, &p, &outlen) == -1) {
|
||||
*p++ = *src++;
|
||||
inlen--;
|
||||
outlen--;
|
||||
}
|
||||
*p = 0;
|
||||
return dst;
|
||||
#else
|
||||
return strcpy(dst, src);
|
||||
#endif
|
||||
}
|
||||
|
||||
char *
|
||||
nls_str_toext(char *dst, const char *src)
|
||||
{
|
||||
#ifdef HAVE_ICONV
|
||||
char *p = dst;
|
||||
size_t inlen, outlen;
|
||||
|
||||
if (!iconv_loaded)
|
||||
return strcpy(dst, src);
|
||||
|
||||
if (nls_toext == (iconv_t)0)
|
||||
return strcpy(dst, src);
|
||||
inlen = outlen = strlen(src);
|
||||
my_iconv(nls_toext, NULL, NULL, &p, &outlen);
|
||||
while (my_iconv(nls_toext, &src, &inlen, &p, &outlen) == -1) {
|
||||
iconv(nls_toext, NULL, NULL, &p, &outlen);
|
||||
while (iconv(nls_toext, &src, &inlen, &p, &outlen) == -1) {
|
||||
*p++ = *src++;
|
||||
inlen--;
|
||||
outlen--;
|
||||
}
|
||||
*p = 0;
|
||||
return dst;
|
||||
#else
|
||||
return strcpy(dst, src);
|
||||
#endif
|
||||
}
|
||||
|
||||
void *
|
||||
nls_mem_toloc(void *dst, const void *src, int size)
|
||||
{
|
||||
#ifdef HAVE_ICONV
|
||||
char *p = dst;
|
||||
const char *s = src;
|
||||
size_t inlen, outlen;
|
||||
|
||||
if (!iconv_loaded)
|
||||
return memcpy(dst, src, size);
|
||||
|
||||
if (size == 0)
|
||||
return NULL;
|
||||
|
||||
if (nls_toloc == (iconv_t)0)
|
||||
return memcpy(dst, src, size);
|
||||
inlen = outlen = size;
|
||||
my_iconv(nls_toloc, NULL, NULL, &p, &outlen);
|
||||
while (my_iconv(nls_toloc, &s, &inlen, &p, &outlen) == -1) {
|
||||
iconv(nls_toloc, NULL, NULL, &p, &outlen);
|
||||
while (iconv(nls_toloc, &s, &inlen, &p, &outlen) == -1) {
|
||||
*p++ = *s++;
|
||||
inlen--;
|
||||
outlen--;
|
||||
}
|
||||
return dst;
|
||||
#else
|
||||
return memcpy(dst, src, size);
|
||||
#endif
|
||||
}
|
||||
|
||||
void *
|
||||
nls_mem_toext(void *dst, const void *src, int size)
|
||||
{
|
||||
#ifdef HAVE_ICONV
|
||||
char *p = dst;
|
||||
const char *s = src;
|
||||
size_t inlen, outlen;
|
||||
@@ -203,17 +184,20 @@ nls_mem_toext(void *dst, const void *src, int size)
|
||||
if (size == 0)
|
||||
return NULL;
|
||||
|
||||
if (!iconv_loaded || nls_toext == (iconv_t)0)
|
||||
if (nls_toext == (iconv_t)0)
|
||||
return memcpy(dst, src, size);
|
||||
|
||||
inlen = outlen = size;
|
||||
my_iconv(nls_toext, NULL, NULL, &p, &outlen);
|
||||
while (my_iconv(nls_toext, &s, &inlen, &p, &outlen) == -1) {
|
||||
iconv(nls_toext, NULL, NULL, &p, &outlen);
|
||||
while (iconv(nls_toext, &s, &inlen, &p, &outlen) == -1) {
|
||||
*p++ = *s++;
|
||||
inlen--;
|
||||
outlen--;
|
||||
}
|
||||
return dst;
|
||||
#else
|
||||
return memcpy(dst, src, size);
|
||||
#endif
|
||||
}
|
||||
|
||||
char *
|
||||
|
||||
@@ -1115,10 +1115,8 @@ svn_opt__print_version_info(const char *pgm_name,
|
||||
return svn_cmdline_printf(pool, "%s\n", SVN_VER_NUMBER);
|
||||
|
||||
SVN_ERR(svn_cmdline_printf(pool, _("%s, version %s\n"
|
||||
" compiled %s, %s on %s\n\n"),
|
||||
" compiled on %s\n\n"),
|
||||
pgm_name, SVN_VERSION,
|
||||
svn_version_ext_build_date(info),
|
||||
svn_version_ext_build_time(info),
|
||||
svn_version_ext_build_host(info)));
|
||||
SVN_ERR(svn_cmdline_printf(pool, "%s\n", svn_version_ext_copyright(info)));
|
||||
|
||||
|
||||
@@ -125,8 +125,8 @@ svn_version_extended(svn_boolean_t verbose,
|
||||
{
|
||||
svn_version_extended_t *info = apr_pcalloc(pool, sizeof(*info));
|
||||
|
||||
info->build_date = __DATE__;
|
||||
info->build_time = __TIME__;
|
||||
info->build_date = NULL;
|
||||
info->build_time = NULL;
|
||||
info->build_host = SVN_BUILD_HOST;
|
||||
info->copyright = apr_pstrdup
|
||||
(pool, _("Copyright (C) 2013 The Apache Software Foundation.\n"
|
||||
|
||||
+22
-14
@@ -547,7 +547,7 @@ fetch_url(const char *url, const char *proxyenv, char *proxyauth, char *wwwauth)
|
||||
url_decode(decodedpath);
|
||||
|
||||
if (outfile)
|
||||
savefile = ftp_strdup(outfile);
|
||||
savefile = outfile;
|
||||
else {
|
||||
cp = strrchr(decodedpath, '/'); /* find savefile */
|
||||
if (cp != NULL)
|
||||
@@ -571,8 +571,7 @@ fetch_url(const char *url, const char *proxyenv, char *proxyauth, char *wwwauth)
|
||||
rangestart = rangeend = entitylen = -1;
|
||||
mtime = -1;
|
||||
if (restartautofetch) {
|
||||
if (strcmp(savefile, "-") != 0 && *savefile != '|' &&
|
||||
stat(savefile, &sb) == 0)
|
||||
if (stat(savefile, &sb) == 0)
|
||||
restart_point = sb.st_size;
|
||||
}
|
||||
if (urltype == FILE_URL_T) { /* file:// URLs */
|
||||
@@ -1098,17 +1097,25 @@ fetch_url(const char *url, const char *proxyenv, char *proxyauth, char *wwwauth)
|
||||
} /* end of ftp:// or http:// specific setup */
|
||||
|
||||
/* Open the output file. */
|
||||
if (strcmp(savefile, "-") == 0) {
|
||||
fout = stdout;
|
||||
} else if (*savefile == '|') {
|
||||
oldintp = xsignal(SIGPIPE, SIG_IGN);
|
||||
fout = popen(savefile + 1, "w");
|
||||
if (fout == NULL) {
|
||||
warn("Can't execute `%s'", savefile + 1);
|
||||
goto cleanup_fetch_url;
|
||||
|
||||
/*
|
||||
* Only trust filenames with special meaning if they came from
|
||||
* the command line
|
||||
*/
|
||||
if (outfile == savefile) {
|
||||
if (strcmp(savefile, "-") == 0) {
|
||||
fout = stdout;
|
||||
} else if (*savefile == '|') {
|
||||
oldintp = xsignal(SIGPIPE, SIG_IGN);
|
||||
fout = popen(savefile + 1, "w");
|
||||
if (fout == NULL) {
|
||||
warn("Can't execute `%s'", savefile + 1);
|
||||
goto cleanup_fetch_url;
|
||||
}
|
||||
closefunc = pclose;
|
||||
}
|
||||
closefunc = pclose;
|
||||
} else {
|
||||
}
|
||||
if (fout == NULL) {
|
||||
if ((rangeend != -1 && rangeend <= restart_point) ||
|
||||
(rangestart == -1 && filesize != -1 && filesize <= restart_point)) {
|
||||
/* already done */
|
||||
@@ -1318,7 +1325,8 @@ fetch_url(const char *url, const char *proxyenv, char *proxyauth, char *wwwauth)
|
||||
(*closefunc)(fout);
|
||||
if (res0)
|
||||
freeaddrinfo(res0);
|
||||
FREEPTR(savefile);
|
||||
if (savefile != outfile)
|
||||
FREEPTR(savefile);
|
||||
FREEPTR(uuser);
|
||||
if (pass != NULL)
|
||||
memset(pass, 0, strlen(pass));
|
||||
|
||||
+280
-299
@@ -1,4 +1,3 @@
|
||||
# <pre>
|
||||
# This file is in the public domain, so clarified as of
|
||||
# 2009-05-17 by Arthur David Olson.
|
||||
|
||||
@@ -35,13 +34,13 @@
|
||||
# Previous editions of this database used WAT, CAT, SAT, and EAT
|
||||
# for +0:00 through +3:00, respectively,
|
||||
# but Mark R V Murray reports that
|
||||
# `SAST' is the official abbreviation for +2:00 in the country of South Africa,
|
||||
# `CAT' is commonly used for +2:00 in countries north of South Africa, and
|
||||
# `WAT' is probably the best name for +1:00, as the common phrase for
|
||||
# the area that includes Nigeria is ``West Africa''.
|
||||
# He has heard of ``Western Sahara Time'' for +0:00 but can find no reference.
|
||||
# 'SAST' is the official abbreviation for +2:00 in the country of South Africa,
|
||||
# 'CAT' is commonly used for +2:00 in countries north of South Africa, and
|
||||
# 'WAT' is probably the best name for +1:00, as the common phrase for
|
||||
# the area that includes Nigeria is "West Africa".
|
||||
# He has heard of "Western Sahara Time" for +0:00 but can find no reference.
|
||||
#
|
||||
# To make things confusing, `WAT' seems to have been used for -1:00 long ago;
|
||||
# To make things confusing, 'WAT' seems to have been used for -1:00 long ago;
|
||||
# I'd guess that this was because people needed _some_ name for -1:00,
|
||||
# and at the time, far west Africa was the only major land area in -1:00.
|
||||
# This usage is now obsolete, as the last use of -1:00 on the African
|
||||
@@ -54,7 +53,7 @@
|
||||
# 2:00 SAST South Africa Standard Time
|
||||
# and Murray suggests the following abbreviation:
|
||||
# 1:00 WAT West Africa Time
|
||||
# I realize that this leads to `WAT' being used for both -1:00 and 1:00
|
||||
# I realize that this leads to 'WAT' being used for both -1:00 and 1:00
|
||||
# for times before 1976, but this is the best I can think of
|
||||
# until we get more information.
|
||||
#
|
||||
@@ -131,9 +130,7 @@ Zone Africa/Gaborone 1:43:40 - LMT 1885
|
||||
2:00 - CAT
|
||||
|
||||
# Burkina Faso
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Africa/Ouagadougou -0:06:04 - LMT 1912
|
||||
0:00 - GMT
|
||||
# See Africa/Abidjan.
|
||||
|
||||
# Burundi
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
@@ -161,7 +158,7 @@ Zone Africa/Bangui 1:14:20 - LMT 1912
|
||||
|
||||
# Chad
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Africa/Ndjamena 1:00:12 - LMT 1912
|
||||
Zone Africa/Ndjamena 1:00:12 - LMT 1912 # N'Djamena
|
||||
1:00 - WAT 1979 Oct 14
|
||||
1:00 1:00 WAST 1980 Mar 8
|
||||
1:00 - WAT
|
||||
@@ -183,10 +180,20 @@ Zone Africa/Lubumbashi 1:49:52 - LMT 1897 Nov 9
|
||||
Zone Africa/Brazzaville 1:01:08 - LMT 1912
|
||||
1:00 - WAT
|
||||
|
||||
# Cote D'Ivoire
|
||||
# Côte D'Ivoire / Ivory Coast
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Africa/Abidjan -0:16:08 - LMT 1912
|
||||
0:00 - GMT
|
||||
Link Africa/Abidjan Africa/Bamako # Mali
|
||||
Link Africa/Abidjan Africa/Banjul # Gambia
|
||||
Link Africa/Abidjan Africa/Conakry # Guinea
|
||||
Link Africa/Abidjan Africa/Dakar # Senegal
|
||||
Link Africa/Abidjan Africa/Freetown # Sierra Leone
|
||||
Link Africa/Abidjan Africa/Lome # Togo
|
||||
Link Africa/Abidjan Africa/Nouakchott # Mauritania
|
||||
Link Africa/Abidjan Africa/Ouagadougou # Burkina Faso
|
||||
Link Africa/Abidjan Africa/Sao_Tome # São Tomé and Príncipe
|
||||
Link Africa/Abidjan Atlantic/St_Helena # St Helena
|
||||
|
||||
# Djibouti
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
@@ -231,30 +238,26 @@ Rule Egypt 1990 1994 - May 1 1:00 1:00 S
|
||||
# Egyptians would approve the cancellation."
|
||||
#
|
||||
# Egypt to cancel daylight saving time
|
||||
# <a href="http://www.almasryalyoum.com/en/node/407168">
|
||||
# http://www.almasryalyoum.com/en/node/407168
|
||||
# </a>
|
||||
# or
|
||||
# <a href="http://www.worldtimezone.com/dst_news/dst_news_egypt04.html">
|
||||
# http://www.worldtimezone.com/dst_news/dst_news_egypt04.html
|
||||
# </a>
|
||||
Rule Egypt 1995 2010 - Apr lastFri 0:00s 1:00 S
|
||||
Rule Egypt 1995 2005 - Sep lastThu 23:00s 0 -
|
||||
Rule Egypt 1995 2005 - Sep lastThu 24:00 0 -
|
||||
# From Steffen Thorsen (2006-09-19):
|
||||
# The Egyptian Gazette, issue 41,090 (2006-09-18), page 1, reports:
|
||||
# Egypt will turn back clocks by one hour at the midnight of Thursday
|
||||
# after observing the daylight saving time since May.
|
||||
# http://news.gom.com.eg/gazette/pdf/2006/09/18/01.pdf
|
||||
Rule Egypt 2006 only - Sep 21 23:00s 0 -
|
||||
Rule Egypt 2006 only - Sep 21 24:00 0 -
|
||||
# From Dirk Losch (2007-08-14):
|
||||
# I received a mail from an airline which says that the daylight
|
||||
# saving time in Egypt will end in the night of 2007-09-06 to 2007-09-07.
|
||||
# From Jesper Norgaard Welen (2007-08-15): [The following agree:]
|
||||
# From Jesper Nørgaard Welen (2007-08-15): [The following agree:]
|
||||
# http://www.nentjes.info/Bill/bill5.htm
|
||||
# http://www.timeanddate.com/worldclock/city.html?n=53
|
||||
# From Steffen Thorsen (2007-09-04): The official information...:
|
||||
# http://www.sis.gov.eg/En/EgyptOnline/Miscellaneous/000002/0207000000000000001580.htm
|
||||
Rule Egypt 2007 only - Sep Thu>=1 23:00s 0 -
|
||||
Rule Egypt 2007 only - Sep Thu>=1 24:00 0 -
|
||||
# From Abdelrahman Hassan (2007-09-06):
|
||||
# Due to the Hijri (lunar Islamic calendar) year being 11 days shorter
|
||||
# than the year of the Gregorian calendar, Ramadan shifts earlier each
|
||||
@@ -288,15 +291,9 @@ Rule Egypt 2007 only - Sep Thu>=1 23:00s 0 -
|
||||
#
|
||||
# timeanddate[2] and another site I've found[3] also support that.
|
||||
#
|
||||
# [1] <a href="https://bugzilla.redhat.com/show_bug.cgi?id=492263">
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=492263
|
||||
# </a>
|
||||
# [2] <a href="http://www.timeanddate.com/worldclock/clockchange.html?n=53">
|
||||
# http://www.timeanddate.com/worldclock/clockchange.html?n=53
|
||||
# </a>
|
||||
# [3] <a href="http://wwp.greenwichmeantime.com/time-zone/africa/egypt/">
|
||||
# http://wwp.greenwichmeantime.com/time-zone/africa/egypt/
|
||||
# </a>
|
||||
# [1] https://bugzilla.redhat.com/show_bug.cgi?id=492263
|
||||
# [2] http://www.timeanddate.com/worldclock/clockchange.html?n=53
|
||||
# [3] http://wwp.greenwichmeantime.com/time-zone/africa/egypt/
|
||||
|
||||
# From Arthur David Olson (2009-04-20):
|
||||
# In 2009 (and for the next several years), Ramadan ends before the fourth
|
||||
@@ -306,14 +303,10 @@ Rule Egypt 2007 only - Sep Thu>=1 23:00s 0 -
|
||||
# From Steffen Thorsen (2009-08-11):
|
||||
# We have been able to confirm the August change with the Egyptian Cabinet
|
||||
# Information and Decision Support Center:
|
||||
# <a href="http://www.timeanddate.com/news/time/egypt-dst-ends-2009.html">
|
||||
# http://www.timeanddate.com/news/time/egypt-dst-ends-2009.html
|
||||
# </a>
|
||||
#
|
||||
# The Middle East News Agency
|
||||
# <a href="http://www.mena.org.eg/index.aspx">
|
||||
# http://www.mena.org.eg/index.aspx
|
||||
# </a>
|
||||
# also reports "Egypt starts winter time on August 21"
|
||||
# today in article numbered "71, 11/08/2009 12:25 GMT."
|
||||
# Only the title above is available without a subscription to their service,
|
||||
@@ -321,25 +314,94 @@ Rule Egypt 2007 only - Sep Thu>=1 23:00s 0 -
|
||||
# (at least today).
|
||||
|
||||
# From Alexander Krivenyshev (2010-07-20):
|
||||
# According to News from Egypt - Al-Masry Al-Youm Egypt's cabinet has
|
||||
# According to News from Egypt - Al-Masry Al-Youm Egypt's cabinet has
|
||||
# decided that Daylight Saving Time will not be used in Egypt during
|
||||
# Ramadan.
|
||||
#
|
||||
# Arabic translation:
|
||||
# "Clocks to go back during Ramadan--and then forward again"
|
||||
# <a href="http://www.almasryalyoum.com/en/news/clocks-go-back-during-ramadan-and-then-forward-again">
|
||||
# "Clocks to go back during Ramadan - and then forward again"
|
||||
# http://www.almasryalyoum.com/en/news/clocks-go-back-during-ramadan-and-then-forward-again
|
||||
# </a>
|
||||
# or
|
||||
# <a href="http://www.worldtimezone.com/dst_news/dst_news_egypt02.html">
|
||||
# http://www.worldtimezone.com/dst_news/dst_news_egypt02.html
|
||||
# </a>
|
||||
|
||||
Rule Egypt 2008 only - Aug lastThu 23:00s 0 -
|
||||
Rule Egypt 2009 only - Aug 20 23:00s 0 -
|
||||
Rule Egypt 2010 only - Aug 11 0:00 0 -
|
||||
Rule Egypt 2010 only - Sep 10 0:00 1:00 S
|
||||
Rule Egypt 2010 only - Sep lastThu 23:00s 0 -
|
||||
# From Ahmad El-Dardiry (2014-05-07):
|
||||
# Egypt is to change back to Daylight system on May 15
|
||||
# http://english.ahram.org.eg/NewsContent/1/64/100735/Egypt/Politics-/Egypts-government-to-reapply-daylight-saving-time-.aspx
|
||||
|
||||
# From Gunther Vermier (2015-05-13):
|
||||
# our Egypt office confirms that the change will be at 15 May "midnight" (24:00)
|
||||
|
||||
# From Imed Chihi (2014-06-04):
|
||||
# We have finally "located" a precise official reference about the DST changes
|
||||
# in Egypt. The Ministers Cabinet decision is explained at
|
||||
# http://www.cabinet.gov.eg/Media/CabinetMeetingsDetails.aspx?id=347 ...
|
||||
# [T]his (Arabic) site is not accessible outside Egypt, but the page ...
|
||||
# translates into: "With regard to daylight saving time, it is scheduled to
|
||||
# take effect at exactly twelve o'clock this evening, Thursday, 15 MAY 2014,
|
||||
# to be suspended by twelve o'clock on the evening of Thursday, 26 JUN 2014,
|
||||
# and re-established again at the end of the month of Ramadan, at twelve
|
||||
# o'clock on the evening of Thursday, 31 JUL 2014." This statement has been
|
||||
# reproduced by other (more accessible) sites[, e.g.,]...
|
||||
# http://elgornal.net/news/news.aspx?id=4699258
|
||||
|
||||
# From Paul Eggert (2014-06-04):
|
||||
# Sarah El Deeb and Lee Keath of AP report that the Egyptian government says
|
||||
# the change is because of blackouts in Cairo, even though Ahram Online (cited
|
||||
# above) says DST had no affect on electricity consumption. There is
|
||||
# no information about when DST will end this fall. See:
|
||||
# http://abcnews.go.com/International/wireStory/el-sissi-pushes-egyptians-line-23614833
|
||||
#
|
||||
# For now, guess that later spring and fall transitions will use
|
||||
# 2010's rules, and guess that Egypt will switch to standard time at
|
||||
# 24:00 the last Thursday before Ramadan, and back to DST at 00:00 the
|
||||
# first Friday after Ramadan. To implement this,
|
||||
# transition dates for 2015 through 2037 were determined by running
|
||||
# the following program under GNU Emacs 24.3, with the results integrated
|
||||
# by hand into the table below. Ramadan again intrudes on the guessed
|
||||
# DST starting in 2038, but that's beyond our somewhat-arbitrary cutoff.
|
||||
# (let ((islamic-year 1436))
|
||||
# (while (< islamic-year 1460)
|
||||
# (let ((a (calendar-islamic-to-absolute (list 9 1 islamic-year)))
|
||||
# (b (calendar-islamic-to-absolute (list 10 1 islamic-year)))
|
||||
# (friday 5))
|
||||
# (while (/= friday (mod a 7))
|
||||
# (setq a (1- a)))
|
||||
# (while (/= friday (mod b 7))
|
||||
# (setq b (1+ b)))
|
||||
# (setq a (1- a))
|
||||
# (setq b (1- b))
|
||||
# (setq a (calendar-gregorian-from-absolute a))
|
||||
# (setq b (calendar-gregorian-from-absolute b))
|
||||
# (insert
|
||||
# (format
|
||||
# (concat "Rule\tEgypt\t%d\tonly\t-\t%s\t%2d\t24:00\t0\t-\n"
|
||||
# "Rule\tEgypt\t%d\tonly\t-\t%s\t%2d\t24:00\t1:00\tS\n")
|
||||
# (car (cdr (cdr a))) (calendar-month-name (car a) t) (car (cdr a))
|
||||
# (car (cdr (cdr b))) (calendar-month-name (car b) t) (car (cdr b)))))
|
||||
# (setq islamic-year (+ 1 islamic-year))))
|
||||
Rule Egypt 2008 only - Aug lastThu 24:00 0 -
|
||||
Rule Egypt 2009 only - Aug 20 24:00 0 -
|
||||
Rule Egypt 2010 only - Aug 10 24:00 0 -
|
||||
Rule Egypt 2010 only - Sep 9 24:00 1:00 S
|
||||
Rule Egypt 2010 only - Sep lastThu 24:00 0 -
|
||||
Rule Egypt 2014 only - May 15 24:00 1:00 S
|
||||
Rule Egypt 2014 only - Jun 26 24:00 0 -
|
||||
Rule Egypt 2014 only - Jul 31 24:00 1:00 S
|
||||
Rule Egypt 2014 max - Sep lastThu 24:00 0 -
|
||||
Rule Egypt 2015 2019 - Apr lastFri 0:00s 1:00 S
|
||||
Rule Egypt 2015 only - Jun 11 24:00 0 -
|
||||
Rule Egypt 2015 only - Jul 23 24:00 1:00 S
|
||||
Rule Egypt 2016 only - Jun 2 24:00 0 -
|
||||
Rule Egypt 2016 only - Jul 7 24:00 1:00 S
|
||||
Rule Egypt 2017 only - May 25 24:00 0 -
|
||||
Rule Egypt 2017 only - Jun 29 24:00 1:00 S
|
||||
Rule Egypt 2018 only - May 10 24:00 0 -
|
||||
Rule Egypt 2018 only - Jun 14 24:00 1:00 S
|
||||
Rule Egypt 2019 only - May 2 24:00 0 -
|
||||
Rule Egypt 2019 only - Jun 6 24:00 1:00 S
|
||||
Rule Egypt 2020 only - May 28 24:00 1:00 S
|
||||
Rule Egypt 2021 only - May 13 24:00 1:00 S
|
||||
Rule Egypt 2022 only - May 5 24:00 1:00 S
|
||||
Rule Egypt 2023 max - Apr lastFri 0:00s 1:00 S
|
||||
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Africa/Cairo 2:05:09 - LMT 1900 Oct
|
||||
@@ -359,10 +421,15 @@ Zone Africa/Asmara 2:35:32 - LMT 1870
|
||||
3:00 - EAT
|
||||
|
||||
# Ethiopia
|
||||
# From Paul Eggert (2006-03-22):
|
||||
# Shanks & Pottenger write that Ethiopia had six narrowly-spaced time zones
|
||||
# between 1870 and 1890, and that they merged to 38E50 (2:35:20) in 1890.
|
||||
# We'll guess that 38E50 is for Adis Dera.
|
||||
# From Paul Eggert (2014-07-31):
|
||||
# Like the Swahili of Kenya and Tanzania, many Ethiopians keep a
|
||||
# 12-hour clock starting at our 06:00, so their "8 o'clock" is our
|
||||
# 02:00 or 14:00. Keep this in mind when you ask the time in Amharic.
|
||||
#
|
||||
# Shanks & Pottenger write that Ethiopia had six narrowly-spaced time
|
||||
# zones between 1870 and 1890, that they merged to 38E50 (2:35:20) in
|
||||
# 1890, and that they switched to 3:00 on 1936-05-05. Perhaps 38E50
|
||||
# was for Adis Dera. Quite likely the Shanks data are wrong anyway.
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Africa/Addis_Ababa 2:34:48 - LMT 1870
|
||||
2:35:20 - ADMT 1936 May 5 # Adis Dera MT
|
||||
@@ -374,28 +441,24 @@ Zone Africa/Libreville 0:37:48 - LMT 1912
|
||||
1:00 - WAT
|
||||
|
||||
# Gambia
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Africa/Banjul -1:06:36 - LMT 1912
|
||||
-1:06:36 - BMT 1935 # Banjul Mean Time
|
||||
-1:00 - WAT 1964
|
||||
0:00 - GMT
|
||||
# See Africa/Abidjan.
|
||||
|
||||
# Ghana
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
# Whitman says DST was observed from 1931 to ``the present'';
|
||||
# go with Shanks & Pottenger.
|
||||
Rule Ghana 1936 1942 - Sep 1 0:00 0:20 GHST
|
||||
Rule Ghana 1936 1942 - Dec 31 0:00 0 GMT
|
||||
# Whitman says DST was observed from 1931 to "the present";
|
||||
# Shanks & Pottenger say 1936 to 1942;
|
||||
# and September 1 to January 1 is given by:
|
||||
# Scott Keltie J, Epstein M (eds), The Statesman's Year-Book,
|
||||
# 57th ed. Macmillan, London (1920), OCLC 609408015, pp xxviii.
|
||||
# For lack of better info, assume DST was observed from 1920 to 1942.
|
||||
Rule Ghana 1920 1942 - Sep 1 0:00 0:20 GHST
|
||||
Rule Ghana 1920 1942 - Dec 31 0:00 0 GMT
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Africa/Accra -0:00:52 - LMT 1918
|
||||
0:00 Ghana %s
|
||||
|
||||
# Guinea
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Africa/Conakry -0:54:52 - LMT 1912
|
||||
0:00 - GMT 1934 Feb 26
|
||||
-1:00 - WAT 1960
|
||||
0:00 - GMT
|
||||
# See Africa/Abidjan.
|
||||
|
||||
# Guinea-Bissau
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
@@ -451,6 +514,14 @@ Zone Africa/Monrovia -0:43:08 - LMT 1882
|
||||
# (either two days before them or five days after them, so as to fall on
|
||||
# lastFri instead of lastSun).
|
||||
|
||||
# From Even Scharning (2013-10-25):
|
||||
# The scheduled end of DST in Libya on Friday, October 25, 2013 was
|
||||
# cancelled yesterday....
|
||||
# http://www.libyaherald.com/2013/10/24/correction-no-time-change-tomorrow/
|
||||
#
|
||||
# From Paul Eggert (2013-10-25):
|
||||
# For now, assume they're reverting to the pre-2012 rules of permanent UTC+2.
|
||||
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
Rule Libya 1951 only - Oct 14 2:00 1:00 S
|
||||
Rule Libya 1952 only - Jan 1 0:00 0 -
|
||||
@@ -467,8 +538,8 @@ Rule Libya 1987 1989 - Apr 1 0:00 1:00 S
|
||||
Rule Libya 1987 1989 - Oct 1 0:00 0 -
|
||||
Rule Libya 1997 only - Apr 4 0:00 1:00 S
|
||||
Rule Libya 1997 only - Oct 4 0:00 0 -
|
||||
Rule Libya 2013 max - Mar lastFri 1:00 1:00 S
|
||||
Rule Libya 2013 max - Oct lastFri 2:00 0 -
|
||||
Rule Libya 2013 only - Mar lastFri 1:00 1:00 S
|
||||
Rule Libya 2013 only - Oct lastFri 2:00 0 -
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Africa/Tripoli 0:52:44 - LMT 1920
|
||||
1:00 Libya CE%sT 1959
|
||||
@@ -479,7 +550,8 @@ Zone Africa/Tripoli 0:52:44 - LMT 1920
|
||||
2:00 - EET 1996 Sep 30
|
||||
1:00 Libya CE%sT 1997 Oct 4
|
||||
2:00 - EET 2012 Nov 10 2:00
|
||||
1:00 Libya CE%sT
|
||||
1:00 Libya CE%sT 2013 Oct 25 2:00
|
||||
2:00 - EET
|
||||
|
||||
# Madagascar
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
@@ -494,18 +566,8 @@ Zone Africa/Blantyre 2:20:00 - LMT 1903 Mar
|
||||
2:00 - CAT
|
||||
|
||||
# Mali
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Africa/Bamako -0:32:00 - LMT 1912
|
||||
0:00 - GMT 1934 Feb 26
|
||||
-1:00 - WAT 1960 Jun 20
|
||||
0:00 - GMT
|
||||
|
||||
# Mauritania
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Africa/Nouakchott -1:03:48 - LMT 1912
|
||||
0:00 - GMT 1934 Feb 26
|
||||
-1:00 - WAT 1960 Nov 28
|
||||
0:00 - GMT
|
||||
# See Africa/Abidjan.
|
||||
|
||||
# Mauritius
|
||||
|
||||
@@ -529,9 +591,7 @@ Zone Africa/Nouakchott -1:03:48 - LMT 1912
|
||||
|
||||
# From Steffen Thorsen (2008-07-10):
|
||||
# According to
|
||||
# <a href="http://www.lexpress.mu/display_article.php?news_id=111216">
|
||||
# http://www.lexpress.mu/display_article.php?news_id=111216
|
||||
# </a>
|
||||
# (in French), Mauritius will start and end their DST a few days earlier
|
||||
# than previously announced (2008-11-01 to 2009-03-31). The new start
|
||||
# date is 2008-10-26 at 02:00 and the new end date is 2009-03-27 (no time
|
||||
@@ -550,18 +610,13 @@ Zone Africa/Nouakchott -1:03:48 - LMT 1912
|
||||
# published on Monday, June 30, 2008...
|
||||
#
|
||||
# I guess that article in French "Le gouvernement avance l'introduction
|
||||
# de l'heure d'ete" stating that DST in Mauritius starting on October 26
|
||||
# and ending on March 27, 2009 is the most recent one.
|
||||
# ...
|
||||
# <a href="http://www.worldtimezone.com/dst_news/dst_news_mauritius02.html">
|
||||
# de l'heure d'été" stating that DST in Mauritius starting on October 26
|
||||
# and ending on March 27, 2009 is the most recent one....
|
||||
# http://www.worldtimezone.com/dst_news/dst_news_mauritius02.html
|
||||
# </a>
|
||||
|
||||
# From Riad M. Hossen Ally (2008-08-03):
|
||||
# The Government of Mauritius weblink
|
||||
# <a href="http://www.gov.mu/portal/site/pmosite/menuitem.4ca0efdee47462e7440a600248a521ca/?content_id=4728ca68b2a5b110VgnVCM1000000a04a8c0RCRD">
|
||||
# http://www.gov.mu/portal/site/pmosite/menuitem.4ca0efdee47462e7440a600248a521ca/?content_id=4728ca68b2a5b110VgnVCM1000000a04a8c0RCRD
|
||||
# </a>
|
||||
# Cabinet Decision of July 18th, 2008 states as follows:
|
||||
#
|
||||
# 4. ...Cabinet has agreed to the introduction into the National Assembly
|
||||
@@ -571,33 +626,25 @@ Zone Africa/Nouakchott -1:03:48 - LMT 1912
|
||||
# States of America. It will start at two o'clock in the morning on the
|
||||
# last Sunday of October and will end at two o'clock in the morning on
|
||||
# the last Sunday of March the following year. The summer time for the
|
||||
# year 2008 - 2009 will, therefore, be effective as from 26 October 2008
|
||||
# year 2008-2009 will, therefore, be effective as from 26 October 2008
|
||||
# and end on 29 March 2009.
|
||||
|
||||
# From Ed Maste (2008-10-07):
|
||||
# THE TIME BILL (No. XXVII of 2008) Explanatory Memorandum states the
|
||||
# beginning / ending of summer time is 2 o'clock standard time in the
|
||||
# morning of the last Sunday of October / last Sunday of March.
|
||||
# <a href="http://www.gov.mu/portal/goc/assemblysite/file/bill2708.pdf">
|
||||
# http://www.gov.mu/portal/goc/assemblysite/file/bill2708.pdf
|
||||
# </a>
|
||||
|
||||
# From Steffen Thorsen (2009-06-05):
|
||||
# According to several sources, Mauritius will not continue to observe
|
||||
# DST the coming summer...
|
||||
#
|
||||
# Some sources, in French:
|
||||
# <a href="http://www.defimedia.info/news/946/Rashid-Beebeejaun-:-%C2%AB-L%E2%80%99heure-d%E2%80%99%C3%A9t%C3%A9-ne-sera-pas-appliqu%C3%A9e-cette-ann%C3%A9e-%C2%BB">
|
||||
# http://www.defimedia.info/news/946/Rashid-Beebeejaun-:-%C2%AB-L%E2%80%99heure-d%E2%80%99%C3%A9t%C3%A9-ne-sera-pas-appliqu%C3%A9e-cette-ann%C3%A9e-%C2%BB
|
||||
# </a>
|
||||
# <a href="http://lexpress.mu/Story/3398~Beebeejaun---Les-objectifs-d-%C3%A9conomie-d-%C3%A9nergie-de-l-heure-d-%C3%A9t%C3%A9-ont-%C3%A9t%C3%A9-atteints-">
|
||||
# http://lexpress.mu/Story/3398~Beebeejaun---Les-objectifs-d-%C3%A9conomie-d-%C3%A9nergie-de-l-heure-d-%C3%A9t%C3%A9-ont-%C3%A9t%C3%A9-atteints-
|
||||
# </a>
|
||||
#
|
||||
# Our wrap-up:
|
||||
# <a href="http://www.timeanddate.com/news/time/mauritius-dst-will-not-repeat.html">
|
||||
# http://www.timeanddate.com/news/time/mauritius-dst-will-not-repeat.html
|
||||
# </a>
|
||||
|
||||
# From Arthur David Olson (2009-07-11):
|
||||
# The "mauritius-dst-will-not-repeat" wrapup includes this:
|
||||
@@ -621,7 +668,7 @@ Zone Indian/Mayotte 3:00:56 - LMT 1911 Jul # Mamoutzou
|
||||
3:00 - EAT
|
||||
|
||||
# Morocco
|
||||
# See the `europe' file for Spanish Morocco (Africa/Ceuta).
|
||||
# See the 'europe' file for Spanish Morocco (Africa/Ceuta).
|
||||
|
||||
# From Alex Krivenyshev (2008-05-09):
|
||||
# Here is an article that Morocco plan to introduce Daylight Saving Time between
|
||||
@@ -629,69 +676,43 @@ Zone Indian/Mayotte 3:00:56 - LMT 1911 Jul # Mamoutzou
|
||||
#
|
||||
# "... Morocco is to save energy by adjusting its clock during summer so it will
|
||||
# be one hour ahead of GMT between 1 June and 27 September, according to
|
||||
# Communication Minister and Gov ernment Spokesman, Khalid Naciri...."
|
||||
# Communication Minister and Government Spokesman, Khalid Naciri...."
|
||||
#
|
||||
# <a href="http://www.worldtimezone.net/dst_news/dst_news_morocco01.html">
|
||||
# http://www.worldtimezone.net/dst_news/dst_news_morocco01.html
|
||||
# </a>
|
||||
# OR
|
||||
# <a href="http://en.afrik.com/news11892.html">
|
||||
# http://en.afrik.com/news11892.html
|
||||
# </a>
|
||||
|
||||
# From Alex Krivenyshev (2008-05-09):
|
||||
# The Morocco time change can be confirmed on Morocco web site Maghreb Arabe Presse:
|
||||
# <a href="http://www.map.ma/eng/sections/box3/morocco_shifts_to_da/view">
|
||||
# http://www.map.ma/eng/sections/box3/morocco_shifts_to_da/view
|
||||
# </a>
|
||||
#
|
||||
# Morocco shifts to daylight time on June 1st through September 27, Govt.
|
||||
# spokesman.
|
||||
|
||||
# From Patrice Scattolin (2008-05-09):
|
||||
# According to this article:
|
||||
# <a href="http://www.avmaroc.com/actualite/heure-dete-comment-a127896.html">
|
||||
# http://www.avmaroc.com/actualite/heure-dete-comment-a127896.html
|
||||
# </a>
|
||||
# (and republished here:
|
||||
# <a href="http://www.actu.ma/heure-dete-comment_i127896_0.html">
|
||||
# http://www.actu.ma/heure-dete-comment_i127896_0.html
|
||||
# </a>
|
||||
# )
|
||||
# the changes occurs at midnight:
|
||||
# (and republished here: <http://www.actu.ma/heure-dete-comment_i127896_0.html>)
|
||||
# the changes occur at midnight:
|
||||
#
|
||||
# saturday night may 31st at midnight (which in french is to be
|
||||
# intrepreted as the night between saturday and sunday)
|
||||
# sunday night the 28th at midnight
|
||||
# Saturday night May 31st at midnight (which in French is to be
|
||||
# interpreted as the night between Saturday and Sunday)
|
||||
# Sunday night the 28th at midnight
|
||||
#
|
||||
# Seeing that the 28th is monday, I am guessing that she intends to say
|
||||
# the midnight of the 28th which is the midnight between sunday and
|
||||
# monday, which jives with other sources that say that it's inclusive
|
||||
# june1st to sept 27th.
|
||||
# Seeing that the 28th is Monday, I am guessing that she intends to say
|
||||
# the midnight of the 28th which is the midnight between Sunday and
|
||||
# Monday, which jives with other sources that say that it's inclusive
|
||||
# June 1st to Sept 27th.
|
||||
#
|
||||
# The decision was taken by decree *2-08-224 *but I can't find the decree
|
||||
# published on the web.
|
||||
#
|
||||
# It's also confirmed here:
|
||||
# <a href="http://www.maroc.ma/NR/exeres/FACF141F-D910-44B0-B7FA-6E03733425D1.htm">
|
||||
# http://www.maroc.ma/NR/exeres/FACF141F-D910-44B0-B7FA-6E03733425D1.htm
|
||||
# </a>
|
||||
# on a government portal as being between june 1st and sept 27th (not yet
|
||||
# posted in english).
|
||||
# on a government portal as being between June 1st and Sept 27th (not yet
|
||||
# posted in English).
|
||||
#
|
||||
# The following google query will generate many relevant hits:
|
||||
# <a href="http://www.google.com/search?hl=en&q=Conseil+de+gouvernement+maroc+heure+avance&btnG=Search">
|
||||
# The following Google query will generate many relevant hits:
|
||||
# http://www.google.com/search?hl=en&q=Conseil+de+gouvernement+maroc+heure+avance&btnG=Search
|
||||
# </a>
|
||||
|
||||
# From Alex Krivenyshev (2008-05-09):
|
||||
# Is Western Sahara (part which administrated by Morocco) going to follow
|
||||
# Morocco DST changes? Any information? What about other part of
|
||||
# Western Sahara - under administration of POLISARIO Front (also named
|
||||
# SADR Saharawi Arab Democratic Republic)?
|
||||
|
||||
# From Arthur David Olson (2008-05-09):
|
||||
# XXX--guess that it is only Morocco for now; guess only 2008 for now.
|
||||
|
||||
# From Steffen Thorsen (2008-08-27):
|
||||
# Morocco will change the clocks back on the midnight between August 31
|
||||
@@ -699,47 +720,32 @@ Zone Indian/Mayotte 3:00:56 - LMT 1911 Jul # Mamoutzou
|
||||
# of September:
|
||||
#
|
||||
# One article about it (in French):
|
||||
# <a href="http://www.menara.ma/fr/Actualites/Maroc/Societe/ci.retour_a_l_heure_gmt_a_partir_du_dimanche_31_aout_a_minuit_officiel_.default">
|
||||
# http://www.menara.ma/fr/Actualites/Maroc/Societe/ci.retour_a_l_heure_gmt_a_partir_du_dimanche_31_aout_a_minuit_officiel_.default
|
||||
# </a>
|
||||
#
|
||||
# We have some further details posted here:
|
||||
# <a href="http://www.timeanddate.com/news/time/morocco-ends-dst-early-2008.html">
|
||||
# http://www.timeanddate.com/news/time/morocco-ends-dst-early-2008.html
|
||||
# </a>
|
||||
|
||||
# From Steffen Thorsen (2009-03-17):
|
||||
# Morocco will observe DST from 2009-06-01 00:00 to 2009-08-21 00:00 according
|
||||
# to many sources, such as
|
||||
# <a href="http://news.marweb.com/morocco/entertainment/morocco-daylight-saving.html">
|
||||
# http://news.marweb.com/morocco/entertainment/morocco-daylight-saving.html
|
||||
# </a>
|
||||
# <a href="http://www.medi1sat.ma/fr/depeche.aspx?idp=2312">
|
||||
# http://www.medi1sat.ma/fr/depeche.aspx?idp=2312
|
||||
# </a>
|
||||
# (French)
|
||||
#
|
||||
# Our summary:
|
||||
# <a href="http://www.timeanddate.com/news/time/morocco-starts-dst-2009.html">
|
||||
# http://www.timeanddate.com/news/time/morocco-starts-dst-2009.html
|
||||
# </a>
|
||||
|
||||
# From Alexander Krivenyshev (2009-03-17):
|
||||
# Here is a link to official document from Royaume du Maroc Premier Ministre,
|
||||
# Ministere de la Modernisation des Secteurs Publics
|
||||
# Ministère de la Modernisation des Secteurs Publics
|
||||
#
|
||||
# Under Article 1 of Royal Decree No. 455-67 of Act 23 safar 1387 (2 june 1967)
|
||||
# concerning the amendment of the legal time, the Ministry of Modernization of
|
||||
# Public Sectors announced that the official time in the Kingdom will be
|
||||
# advanced 60 minutes from Sunday 31 May 2009 at midnight.
|
||||
#
|
||||
# <a href="http://www.mmsp.gov.ma/francais/Actualites_fr/PDF_Actualites_Fr/HeureEte_FR.pdf">
|
||||
# http://www.mmsp.gov.ma/francais/Actualites_fr/PDF_Actualites_Fr/HeureEte_FR.pdf
|
||||
# </a>
|
||||
#
|
||||
# <a href="http://www.worldtimezone.com/dst_news/dst_news_morocco03.html">
|
||||
# http://www.worldtimezone.com/dst_news/dst_news_morocco03.html
|
||||
# </a>
|
||||
|
||||
# From Steffen Thorsen (2010-04-13):
|
||||
# Several news media in Morocco report that the Ministry of Modernization
|
||||
@@ -747,14 +753,10 @@ Zone Indian/Mayotte 3:00:56 - LMT 1911 Jul # Mamoutzou
|
||||
# 2010-05-02 to 2010-08-08.
|
||||
#
|
||||
# Example:
|
||||
# <a href="http://www.lavieeco.com/actualites/4099-le-maroc-passera-a-l-heure-d-ete-gmt1-le-2-mai.html">
|
||||
# http://www.lavieeco.com/actualites/4099-le-maroc-passera-a-l-heure-d-ete-gmt1-le-2-mai.html
|
||||
# </a>
|
||||
# (French)
|
||||
# Our page:
|
||||
# <a href="http://www.timeanddate.com/news/time/morocco-starts-dst-2010.html">
|
||||
# http://www.timeanddate.com/news/time/morocco-starts-dst-2010.html
|
||||
# </a>
|
||||
|
||||
# From Dan Abitol (2011-03-30):
|
||||
# ...Rules for Africa/Casablanca are the following (24h format)
|
||||
@@ -764,34 +766,20 @@ Zone Indian/Mayotte 3:00:56 - LMT 1911 Jul # Mamoutzou
|
||||
# The change was broadcast on the FM Radio
|
||||
# I ve called ANRT (telecom regulations in Morocco) at
|
||||
# +212.537.71.84.00
|
||||
# <a href="http://www.anrt.net.ma/fr/">
|
||||
# http://www.anrt.net.ma/fr/
|
||||
# </a>
|
||||
# They said that
|
||||
# <a href="http://www.map.ma/fr/sections/accueil/l_heure_legale_au_ma/view">
|
||||
# http://www.map.ma/fr/sections/accueil/l_heure_legale_au_ma/view
|
||||
# </a>
|
||||
# is the official publication to look at.
|
||||
# They said that the decision was already taken.
|
||||
#
|
||||
# More articles in the press
|
||||
# <a href="http://www.yabiladi.com/articles/details/5058/secret-l-heure-d-ete-maroc-lev">
|
||||
# http://www.yabiladi.com/articles/details/5058/secret-l-heure-d-ete-maroc-lev
|
||||
# </a>
|
||||
# e.html
|
||||
# <a href="http://www.lematin.ma/Actualite/Express/Article.asp?id=148923">
|
||||
# http://www.yabiladi.com/articles/details/5058/secret-l-heure-d-ete-maroc-leve.html
|
||||
# http://www.lematin.ma/Actualite/Express/Article.asp?id=148923
|
||||
# </a>
|
||||
# <a href="http://www.lavieeco.com/actualite/Le-Maroc-passe-sur-GMT%2B1-a-partir-de-dim">
|
||||
# http://www.lavieeco.com/actualite/Le-Maroc-passe-sur-GMT%2B1-a-partir-de-dim
|
||||
# anche-prochain-5538.html
|
||||
# </a>
|
||||
|
||||
# From Petr Machata (2011-03-30):
|
||||
# They have it written in English here:
|
||||
# <a href="http://www.map.ma/eng/sections/home/morocco_to_spring_fo/view">
|
||||
# http://www.map.ma/eng/sections/home/morocco_to_spring_fo/view
|
||||
# </a>
|
||||
#
|
||||
# It says there that "Morocco will resume its standard time on July 31,
|
||||
# 2011 at midnight." Now they don't say whether they mean midnight of
|
||||
@@ -799,20 +787,16 @@ Zone Indian/Mayotte 3:00:56 - LMT 1911 Jul # Mamoutzou
|
||||
# also been like that in the past.
|
||||
|
||||
# From Alexander Krivenyshev (2012-03-09):
|
||||
# According to Infomédiaire web site from Morocco (infomediaire.ma),
|
||||
# on March 9, 2012, (in French) Heure légale:
|
||||
# Le Maroc adopte officiellement l'heure d'été
|
||||
# <a href="http://www.infomediaire.ma/news/maroc/heure-l%C3%A9gale-le-maroc-adopte-officiellement-lheure-d%C3%A9t%C3%A9">
|
||||
# According to Infomédiaire web site from Morocco (infomediaire.ma),
|
||||
# on March 9, 2012, (in French) Heure légale:
|
||||
# Le Maroc adopte officiellement l'heure d'été
|
||||
# http://www.infomediaire.ma/news/maroc/heure-l%C3%A9gale-le-maroc-adopte-officiellement-lheure-d%C3%A9t%C3%A9
|
||||
# </a>
|
||||
# Governing Council adopted draft decree, that Morocco DST starts on
|
||||
# the last Sunday of March (March 25, 2012) and ends on
|
||||
# last Sunday of September (September 30, 2012)
|
||||
# except the month of Ramadan.
|
||||
# or (brief)
|
||||
# <a href="http://www.worldtimezone.com/dst_news/dst_news_morocco06.html">
|
||||
# http://www.worldtimezone.com/dst_news/dst_news_morocco06.html
|
||||
# </a>
|
||||
|
||||
# From Arthur David Olson (2012-03-10):
|
||||
# The infomediaire.ma source indicates that the system is to be in
|
||||
@@ -823,17 +807,13 @@ Zone Indian/Mayotte 3:00:56 - LMT 1911 Jul # Mamoutzou
|
||||
|
||||
# From Christophe Tropamer (2012-03-16):
|
||||
# Seen Morocco change again:
|
||||
# <a href="http://www.le2uminutes.com/actualite.php">
|
||||
# http://www.le2uminutes.com/actualite.php
|
||||
# </a>
|
||||
# "...à partir du dernier dimance d'avril et non fins mars,
|
||||
# comme annoncé précédemment."
|
||||
# "...à partir du dernier dimanche d'avril et non fins mars,
|
||||
# comme annoncé précédemment."
|
||||
|
||||
# From Milamber Space Network (2012-07-17):
|
||||
# The official return to GMT is announced by the Moroccan government:
|
||||
# <a href="http://www.mmsp.gov.ma/fr/actualites.aspx?id=288">
|
||||
# http://www.mmsp.gov.ma/fr/actualites.aspx?id=288 [in French]
|
||||
# </a>
|
||||
#
|
||||
# Google translation, lightly edited:
|
||||
# Back to the standard time of the Kingdom (GMT)
|
||||
@@ -858,34 +838,49 @@ Zone Indian/Mayotte 3:00:56 - LMT 1911 Jul # Mamoutzou
|
||||
# transitions would be 2013-07-07 and 2013-08-10; see:
|
||||
# http://www.maroc.ma/en/news/morocco-suspends-daylight-saving-time-july-7-aug10
|
||||
|
||||
# From Paul Eggert (2013-07-03):
|
||||
# To estimate what the Moroccan government will do in future years,
|
||||
# transition dates for 2014 through 2021 were determined by running
|
||||
# the following program under GNU Emacs 24.3:
|
||||
#
|
||||
# (let ((islamic-year 1435))
|
||||
# (while (< islamic-year 1444)
|
||||
# (let ((a
|
||||
# (calendar-gregorian-from-absolute
|
||||
# (calendar-islamic-to-absolute (list 9 1 islamic-year))))
|
||||
# (b
|
||||
# (calendar-gregorian-from-absolute
|
||||
# (calendar-islamic-to-absolute (list 10 1 islamic-year)))))
|
||||
# (insert
|
||||
# (format
|
||||
# (concat "Rule\tMorocco\t%d\tonly\t-\t%s\t %2d\t 3:00\t0\t-\n"
|
||||
# "Rule\tMorocco\t%d\tonly\t-\t%s\t %2d\t 2:00\t1:00\tS\n")
|
||||
# (car (cdr (cdr a))) (calendar-month-name (car a) t) (car (cdr a))
|
||||
# (car (cdr (cdr b))) (calendar-month-name (car b) t) (car (cdr b)))))
|
||||
# From Steffen Thorsen (2013-09-28):
|
||||
# Morocco extends DST by one month, on very short notice, just 1 day
|
||||
# before it was going to end. There is a new decree (2.13.781) for
|
||||
# this, where DST from now on goes from last Sunday of March at 02:00
|
||||
# to last Sunday of October at 03:00, similar to EU rules. Official
|
||||
# source (French):
|
||||
# http://www.maroc.gov.ma/fr/actualites/lhoraire-dete-gmt1-maintenu-jusquau-27-octobre-2013
|
||||
# Another source (specifying the time for start and end in the decree):
|
||||
# http://www.lemag.ma/Heure-d-ete-au-Maroc-jusqu-au-27-octobre_a75620.html
|
||||
|
||||
# From Sebastien Willemijns (2014-03-18):
|
||||
# http://www.afriquinfos.com/articles/2014/3/18/maroc-heure-dete-avancez-tous-horloges-247891.asp
|
||||
|
||||
# From Milamber Space Network (2014-06-05):
|
||||
# The Moroccan government has recently announced that the country will return
|
||||
# to standard time at 03:00 on Saturday, June 28, 2014 local time.... DST
|
||||
# will resume again at 02:00 on Saturday, August 2, 2014....
|
||||
# http://www.mmsp.gov.ma/fr/actualites.aspx?id=586
|
||||
|
||||
# From Paul Eggert (2014-06-05):
|
||||
# For now, guess that later spring and fall transitions will use 2014's rules,
|
||||
# and guess that Morocco will switch to standard time at 03:00 the last
|
||||
# Saturday before Ramadan, and back to DST at 02:00 the first Saturday after
|
||||
# Ramadan. To implement this, transition dates for 2015 through 2037 were
|
||||
# determined by running the following program under GNU Emacs 24.3, with the
|
||||
# results integrated by hand into the table below.
|
||||
# (let ((islamic-year 1436))
|
||||
# (while (< islamic-year 1460)
|
||||
# (let ((a (calendar-islamic-to-absolute (list 9 1 islamic-year)))
|
||||
# (b (calendar-islamic-to-absolute (list 10 1 islamic-year)))
|
||||
# (saturday 6))
|
||||
# (while (/= saturday (mod (setq a (1- a)) 7)))
|
||||
# (while (/= saturday (mod b 7))
|
||||
# (setq b (1+ b)))
|
||||
# (setq a (calendar-gregorian-from-absolute a))
|
||||
# (setq b (calendar-gregorian-from-absolute b))
|
||||
# (insert
|
||||
# (format
|
||||
# (concat "Rule\tMorocco\t%d\tonly\t-\t%s\t%2d\t 3:00\t0\t-\n"
|
||||
# "Rule\tMorocco\t%d\tonly\t-\t%s\t%2d\t 2:00\t1:00\tS\n")
|
||||
# (car (cdr (cdr a))) (calendar-month-name (car a) t) (car (cdr a))
|
||||
# (car (cdr (cdr b))) (calendar-month-name (car b) t) (car (cdr b)))))
|
||||
# (setq islamic-year (+ 1 islamic-year))))
|
||||
#
|
||||
# with the results hand-edited for 2020-2022, when the normal spring-forward
|
||||
# date falls during the estimated Ramadan.
|
||||
#
|
||||
# From 2023 through 2038 Ramadan is not predicted to overlap with
|
||||
# daylight saving time. Starting in 2039 there will be overlap again,
|
||||
# but 32-bit time_t values roll around in 2038 so for now do not worry
|
||||
# about dates after 2038.
|
||||
|
||||
# RULE NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
|
||||
@@ -907,43 +902,65 @@ Rule Morocco 1978 only - Aug 4 0:00 0 -
|
||||
Rule Morocco 2008 only - Jun 1 0:00 1:00 S
|
||||
Rule Morocco 2008 only - Sep 1 0:00 0 -
|
||||
Rule Morocco 2009 only - Jun 1 0:00 1:00 S
|
||||
Rule Morocco 2009 only - Aug 21 0:00 0 -
|
||||
Rule Morocco 2009 only - Aug 21 0:00 0 -
|
||||
Rule Morocco 2010 only - May 2 0:00 1:00 S
|
||||
Rule Morocco 2010 only - Aug 8 0:00 0 -
|
||||
Rule Morocco 2011 only - Apr 3 0:00 1:00 S
|
||||
Rule Morocco 2011 only - Jul 31 0 0 -
|
||||
Rule Morocco 2012 2019 - Apr lastSun 2:00 1:00 S
|
||||
Rule Morocco 2012 max - Sep lastSun 3:00 0 -
|
||||
Rule Morocco 2012 only - Jul 20 3:00 0 -
|
||||
Rule Morocco 2012 only - Aug 20 2:00 1:00 S
|
||||
Rule Morocco 2013 only - Jul 7 3:00 0 -
|
||||
Rule Morocco 2013 only - Aug 10 2:00 1:00 S
|
||||
Rule Morocco 2014 only - Jun 29 3:00 0 -
|
||||
Rule Morocco 2014 only - Jul 29 2:00 1:00 S
|
||||
Rule Morocco 2015 only - Jun 18 3:00 0 -
|
||||
Rule Morocco 2015 only - Jul 18 2:00 1:00 S
|
||||
Rule Morocco 2016 only - Jun 7 3:00 0 -
|
||||
Rule Morocco 2016 only - Jul 7 2:00 1:00 S
|
||||
Rule Morocco 2017 only - May 27 3:00 0 -
|
||||
Rule Morocco 2017 only - Jun 26 2:00 1:00 S
|
||||
Rule Morocco 2018 only - May 16 3:00 0 -
|
||||
Rule Morocco 2018 only - Jun 15 2:00 1:00 S
|
||||
Rule Morocco 2019 only - May 6 3:00 0 -
|
||||
Rule Morocco 2019 only - Jun 5 2:00 1:00 S
|
||||
Rule Morocco 2020 only - May 24 2:00 1:00 S
|
||||
Rule Morocco 2021 only - May 13 2:00 1:00 S
|
||||
Rule Morocco 2022 only - May 3 2:00 1:00 S
|
||||
Rule Morocco 2023 max - Apr lastSun 2:00 1:00 S
|
||||
Rule Morocco 2011 only - Jul 31 0 0 -
|
||||
Rule Morocco 2012 2013 - Apr lastSun 2:00 1:00 S
|
||||
Rule Morocco 2012 only - Sep 30 3:00 0 -
|
||||
Rule Morocco 2012 only - Jul 20 3:00 0 -
|
||||
Rule Morocco 2012 only - Aug 20 2:00 1:00 S
|
||||
Rule Morocco 2013 only - Jul 7 3:00 0 -
|
||||
Rule Morocco 2013 only - Aug 10 2:00 1:00 S
|
||||
Rule Morocco 2013 max - Oct lastSun 3:00 0 -
|
||||
Rule Morocco 2014 2022 - Mar lastSun 2:00 1:00 S
|
||||
Rule Morocco 2014 only - Jun 28 3:00 0 -
|
||||
Rule Morocco 2014 only - Aug 2 2:00 1:00 S
|
||||
Rule Morocco 2015 only - Jun 13 3:00 0 -
|
||||
Rule Morocco 2015 only - Jul 18 2:00 1:00 S
|
||||
Rule Morocco 2016 only - Jun 4 3:00 0 -
|
||||
Rule Morocco 2016 only - Jul 9 2:00 1:00 S
|
||||
Rule Morocco 2017 only - May 20 3:00 0 -
|
||||
Rule Morocco 2017 only - Jul 1 2:00 1:00 S
|
||||
Rule Morocco 2018 only - May 12 3:00 0 -
|
||||
Rule Morocco 2018 only - Jun 16 2:00 1:00 S
|
||||
Rule Morocco 2019 only - May 4 3:00 0 -
|
||||
Rule Morocco 2019 only - Jun 8 2:00 1:00 S
|
||||
Rule Morocco 2020 only - Apr 18 3:00 0 -
|
||||
Rule Morocco 2020 only - May 30 2:00 1:00 S
|
||||
Rule Morocco 2021 only - Apr 10 3:00 0 -
|
||||
Rule Morocco 2021 only - May 15 2:00 1:00 S
|
||||
Rule Morocco 2022 only - Apr 2 3:00 0 -
|
||||
Rule Morocco 2022 only - May 7 2:00 1:00 S
|
||||
Rule Morocco 2023 only - Apr 22 2:00 1:00 S
|
||||
Rule Morocco 2024 only - Apr 13 2:00 1:00 S
|
||||
Rule Morocco 2025 only - Apr 5 2:00 1:00 S
|
||||
Rule Morocco 2026 max - Mar lastSun 2:00 1:00 S
|
||||
Rule Morocco 2035 only - Oct 27 3:00 0 -
|
||||
Rule Morocco 2036 only - Oct 18 3:00 0 -
|
||||
Rule Morocco 2037 only - Oct 10 3:00 0 -
|
||||
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Africa/Casablanca -0:30:20 - LMT 1913 Oct 26
|
||||
0:00 Morocco WE%sT 1984 Mar 16
|
||||
1:00 - CET 1986
|
||||
0:00 Morocco WE%sT
|
||||
|
||||
# Western Sahara
|
||||
Zone Africa/El_Aaiun -0:52:48 - LMT 1934 Jan
|
||||
#
|
||||
# From Gwillim Law (2013-10-22):
|
||||
# A correspondent who is usually well informed about time zone matters
|
||||
# ... says that Western Sahara observes daylight saving time, just as
|
||||
# Morocco does.
|
||||
#
|
||||
# From Paul Eggert (2013-10-23):
|
||||
# Assume that this has been true since Western Sahara switched to GMT,
|
||||
# since most of it was then controlled by Morocco.
|
||||
|
||||
Zone Africa/El_Aaiun -0:52:48 - LMT 1934 Jan # El Aaiún
|
||||
-1:00 - WAT 1976 Apr 14
|
||||
0:00 - WET
|
||||
0:00 Morocco WE%sT
|
||||
|
||||
# Mozambique
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
@@ -991,15 +1008,17 @@ Zone Africa/Niamey 0:08:28 - LMT 1912
|
||||
Zone Africa/Lagos 0:13:36 - LMT 1919 Sep
|
||||
1:00 - WAT
|
||||
|
||||
# Reunion
|
||||
# Réunion
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Indian/Reunion 3:41:52 - LMT 1911 Jun # Saint-Denis
|
||||
4:00 - RET # Reunion Time
|
||||
4:00 - RET # Réunion Time
|
||||
#
|
||||
# Scattered Islands (Iles Eparses) administered from Reunion are as follows.
|
||||
# Crozet Islands also observes Réunion time; see the 'antarctica' file.
|
||||
#
|
||||
# Scattered Islands (Îles Éparses) administered from Réunion are as follows.
|
||||
# The following information about them is taken from
|
||||
# Iles Eparses (www.outre-mer.gouv.fr/domtom/ile.htm, 1997-07-22, in French;
|
||||
# no longer available as of 1999-08-17).
|
||||
# Îles Éparses (<http://www.outre-mer.gouv.fr/domtom/ile.htm>, 1997-07-22,
|
||||
# in French; no longer available as of 1999-08-17).
|
||||
# We have no info about their time zone histories.
|
||||
#
|
||||
# Bassas da India - uninhabited
|
||||
@@ -1014,28 +1033,17 @@ Zone Africa/Kigali 2:00:16 - LMT 1935 Jun
|
||||
2:00 - CAT
|
||||
|
||||
# St Helena
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Atlantic/St_Helena -0:22:48 - LMT 1890 # Jamestown
|
||||
-0:22:48 - JMT 1951 # Jamestown Mean Time
|
||||
0:00 - GMT
|
||||
# See Africa/Abidjan.
|
||||
# The other parts of the St Helena territory are similar:
|
||||
# Tristan da Cunha: on GMT, say Whitman and the CIA
|
||||
# Ascension: on GMT, says usno1995 and the CIA
|
||||
# Ascension: on GMT, say the USNO (1995-12-21) and the CIA
|
||||
# Gough (scientific station since 1955; sealers wintered previously):
|
||||
# on GMT, says the CIA
|
||||
# Inaccessible, Nightingale: no information, but probably GMT
|
||||
|
||||
# Sao Tome and Principe
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Africa/Sao_Tome 0:26:56 - LMT 1884
|
||||
-0:36:32 - LMT 1912 # Lisbon Mean Time
|
||||
0:00 - GMT
|
||||
# Inaccessible, Nightingale: uninhabited
|
||||
|
||||
# São Tomé and Príncipe
|
||||
# Senegal
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Africa/Dakar -1:09:44 - LMT 1912
|
||||
-1:00 - WAT 1941 Jun
|
||||
0:00 - GMT
|
||||
# See Africa/Abidjan.
|
||||
|
||||
# Seychelles
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
@@ -1049,17 +1057,7 @@ Zone Indian/Mahe 3:41:48 - LMT 1906 Jun # Victoria
|
||||
# Possibly the islands were uninhabited.
|
||||
|
||||
# Sierra Leone
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
# Whitman gives Mar 31 - Aug 31 for 1931 on; go with Shanks & Pottenger.
|
||||
Rule SL 1935 1942 - Jun 1 0:00 0:40 SLST
|
||||
Rule SL 1935 1942 - Oct 1 0:00 0 WAT
|
||||
Rule SL 1957 1962 - Jun 1 0:00 1:00 SLST
|
||||
Rule SL 1957 1962 - Sep 1 0:00 0 GMT
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Africa/Freetown -0:53:00 - LMT 1882
|
||||
-0:53:00 - FMT 1913 Jun # Freetown Mean Time
|
||||
-1:00 SL %s 1957
|
||||
0:00 SL %s
|
||||
# See Africa/Abidjan.
|
||||
|
||||
# Somalia
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
@@ -1082,9 +1080,9 @@ Zone Africa/Johannesburg 1:52:00 - LMT 1892 Feb 8
|
||||
|
||||
# Sudan
|
||||
#
|
||||
# From <a href="http://www.sunanews.net/sn13jane.html">
|
||||
# Sudan News Agency (2000-01-13)
|
||||
# </a>, also reported by Michael De Beukelaer-Dossche via Steffen Thorsen:
|
||||
# From <http://www.sunanews.net/sn13jane.html>
|
||||
# Sudan News Agency (2000-01-13),
|
||||
# also reported by Michaël De Beukelaer-Dossche via Steffen Thorsen:
|
||||
# Clocks will be moved ahead for 60 minutes all over the Sudan as of noon
|
||||
# Saturday.... This was announced Thursday by Caretaker State Minister for
|
||||
# Manpower Abdul-Rahman Nur-Eddin.
|
||||
@@ -1100,9 +1098,7 @@ Zone Africa/Khartoum 2:10:08 - LMT 1931
|
||||
3:00 - EAT
|
||||
|
||||
# South Sudan
|
||||
Zone Africa/Juba 2:06:24 - LMT 1931
|
||||
2:00 Sudan CA%sT 2000 Jan 15 12:00
|
||||
3:00 - EAT
|
||||
Link Africa/Khartoum Africa/Juba
|
||||
|
||||
# Swaziland
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
@@ -1117,14 +1113,12 @@ Zone Africa/Dar_es_Salaam 2:37:08 - LMT 1931
|
||||
3:00 - EAT
|
||||
|
||||
# Togo
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Africa/Lome 0:04:52 - LMT 1893
|
||||
0:00 - GMT
|
||||
# See Africa/Abidjan.
|
||||
|
||||
# Tunisia
|
||||
|
||||
# From Gwillim Law (2005-04-30):
|
||||
# My correspondent, Risto Nykanen, has alerted me to another adoption of DST,
|
||||
# My correspondent, Risto Nykänen, has alerted me to another adoption of DST,
|
||||
# this time in Tunisia. According to Yahoo France News
|
||||
# <http://fr.news.yahoo.com/050426/5/4dumk.html>, in a story attributed to AP
|
||||
# and dated 2005-04-26, "Tunisia has decided to advance its official time by
|
||||
@@ -1133,7 +1127,7 @@ Zone Africa/Lome 0:04:52 - LMT 1893
|
||||
# Saturday." (My translation)
|
||||
#
|
||||
# From Oscar van Vlijmen (2005-05-02):
|
||||
# LaPresse, the first national daily newspaper ...
|
||||
# La Presse, the first national daily newspaper ...
|
||||
# <http://www.lapresse.tn/archives/archives280405/actualites/lheure.html>
|
||||
# ... DST for 2005: on: Sun May 1 0h standard time, off: Fri Sept. 30,
|
||||
# 1h standard time.
|
||||
@@ -1147,18 +1141,12 @@ Zone Africa/Lome 0:04:52 - LMT 1893
|
||||
# From Steffen Thorsen (2009-03-16):
|
||||
# According to several news sources, Tunisia will not observe DST this year.
|
||||
# (Arabic)
|
||||
# <a href="http://www.elbashayer.com/?page=viewn&nid=42546">
|
||||
# http://www.elbashayer.com/?page=viewn&nid=42546
|
||||
# </a>
|
||||
# <a href="http://www.babnet.net/kiwidetail-15295.asp">
|
||||
# http://www.babnet.net/kiwidetail-15295.asp
|
||||
# </a>
|
||||
#
|
||||
# We have also confirmed this with the US embassy in Tunisia.
|
||||
# We have a wrap-up about this on the following page:
|
||||
# <a href="http://www.timeanddate.com/news/time/tunisia-cancels-dst-2009.html">
|
||||
# http://www.timeanddate.com/news/time/tunisia-cancels-dst-2009.html
|
||||
# </a>
|
||||
|
||||
# From Alexander Krivenyshev (2009-03-17):
|
||||
# Here is a link to Tunis Afrique Presse News Agency
|
||||
@@ -1166,20 +1154,17 @@ Zone Africa/Lome 0:04:52 - LMT 1893
|
||||
# Standard time to be kept the whole year long (tap.info.tn):
|
||||
#
|
||||
# (in English)
|
||||
# <a href="http://www.tap.info.tn/en/index.php?option=com_content&task=view&id=26813&Itemid=157">
|
||||
# http://www.tap.info.tn/en/index.php?option=com_content&task=view&id=26813&Itemid=157
|
||||
# </a>
|
||||
#
|
||||
# (in Arabic)
|
||||
# <a href="http://www.tap.info.tn/ar/index.php?option=com_content&task=view&id=61240&Itemid=1">
|
||||
# http://www.tap.info.tn/ar/index.php?option=com_content&task=view&id=61240&Itemid=1
|
||||
# </a>
|
||||
|
||||
# From Arthur David Olson (2009--3-18):
|
||||
# The Tunis Afrique Presse News Agency notice contains this: "This measure is due to the fact
|
||||
# that the fasting month of ramadan coincides with the period concerned by summer time.
|
||||
# Therefore, the standard time will be kept unchanged the whole year long."
|
||||
# So foregoing DST seems to be an exception (albeit one that may be repeated in the future).
|
||||
# From Arthur David Olson (2009-03-18):
|
||||
# The Tunis Afrique Presse News Agency notice contains this: "This measure is
|
||||
# due to the fact that the fasting month of Ramadan coincides with the period
|
||||
# concerned by summer time. Therefore, the standard time will be kept
|
||||
# unchanged the whole year long." So foregoing DST seems to be an exception
|
||||
# (albeit one that may be repeated in the future).
|
||||
|
||||
# From Alexander Krivenyshev (2010-03-27):
|
||||
# According to some news reports Tunis confirmed not to use DST in 2010
|
||||
@@ -1191,12 +1176,8 @@ Zone Africa/Lome 0:04:52 - LMT 1893
|
||||
# coincided with the month of Ramadan..."
|
||||
#
|
||||
# (in Arabic)
|
||||
# <a href="http://www.moheet.com/show_news.aspx?nid=358861&pg=1">
|
||||
# http://www.moheet.com/show_news.aspx?nid=358861&pg=1
|
||||
# <a href="http://www.almadenahnews.com/newss/news.php?c=118&id=38036">
|
||||
# http://www.almadenahnews.com/newss/news.php?c=118&id=38036
|
||||
# or
|
||||
# <a href="http://www.worldtimezone.com/dst_news/dst_news_tunis02.html">
|
||||
# http://www.worldtimezone.com/dst_news/dst_news_tunis02.html
|
||||
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
|
||||
+100
-84
@@ -1,24 +1,21 @@
|
||||
# <pre>
|
||||
# This file is in the public domain, so clarified as of
|
||||
# 2009-05-17 by Arthur David Olson.
|
||||
|
||||
# From Paul Eggert (1999-11-15):
|
||||
# To keep things manageable, we list only locations occupied year-round; see
|
||||
# <a href="http://www.comnap.aq/comnap/comnap.nsf/P/Stations/">
|
||||
# COMNAP - Stations and Bases
|
||||
# </a>
|
||||
# <http://www.comnap.aq/comnap/comnap.nsf/P/Stations/>
|
||||
# and
|
||||
# <a href="http://www.spri.cam.ac.uk/bob/periant.htm">
|
||||
# Summary of the Peri-Antarctic Islands (1998-07-23)
|
||||
# </a>
|
||||
# <http://www.spri.cam.ac.uk/bob/periant.htm>
|
||||
# for information.
|
||||
# Unless otherwise specified, we have no time zone information.
|
||||
#
|
||||
# Except for the French entries,
|
||||
# I made up all time zone abbreviations mentioned here; corrections welcome!
|
||||
# FORMAT is `zzz' and GMTOFF is 0 for locations while uninhabited.
|
||||
# FORMAT is 'zzz' and GMTOFF is 0 for locations while uninhabited.
|
||||
|
||||
# These rules are stolen from the `southamerica' file.
|
||||
# These rules are stolen from the 'southamerica' file.
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
Rule ArgAQ 1964 1966 - Mar 1 0:00 0 -
|
||||
Rule ArgAQ 1964 1966 - Oct 15 0:00 1:00 S
|
||||
@@ -55,19 +52,19 @@ Rule ChileAQ 2012 max - Sep Sun>=2 4:00u 1:00 S
|
||||
|
||||
# Argentina - year-round bases
|
||||
# Belgrano II, Confin Coast, -770227-0343737, since 1972-02-05
|
||||
# Esperanza, San Martin Land, -6323-05659, since 1952-12-17
|
||||
# Jubany, Potter Peninsula, King George Island, -6414-0602320, since 1982-01
|
||||
# Marambio, Seymour I, -6414-05637, since 1969-10-29
|
||||
# Carlini, Potter Cove, King George Island, -6414-0602320, since 1982-01
|
||||
# Esperanza, Hope Bay, -6323-05659, since 1952-12-17
|
||||
# Marambio, -6414-05637, since 1969-10-29
|
||||
# Orcadas, Laurie I, -6016-04444, since 1904-02-22
|
||||
# San Martin, Debenham I, -6807-06708, since 1951-03-21
|
||||
# San Martín, Barry I, -6808-06706, since 1951-03-21
|
||||
# (except 1960-03 / 1976-03-21)
|
||||
|
||||
# Australia - territories
|
||||
# Heard Island, McDonald Islands (uninhabited)
|
||||
# previously sealers and scientific personnel wintered
|
||||
# <a href="http://web.archive.org/web/20021204222245/http://www.dstc.qut.edu.au/DST/marg/daylight.html">
|
||||
# Margaret Turner reports
|
||||
# </a> (1999-09-30) that they're UTC+5, with no DST;
|
||||
# <http://web.archive.org/web/20021204222245/http://www.dstc.qut.edu.au/DST/marg/daylight.html>
|
||||
# (1999-09-30) that they're UTC+5, with no DST;
|
||||
# presumably this is when they have visitors.
|
||||
#
|
||||
# year-round bases
|
||||
@@ -84,14 +81,10 @@ Rule ChileAQ 2012 max - Sep Sun>=2 4:00u 1:00 S
|
||||
# The changes occurred on 2009-10-18 at 02:00 (local times).
|
||||
#
|
||||
# Government source: (Australian Antarctic Division)
|
||||
# <a href="http://www.aad.gov.au/default.asp?casid=37079">
|
||||
# http://www.aad.gov.au/default.asp?casid=37079
|
||||
# </a>
|
||||
#
|
||||
# We have more background information here:
|
||||
# <a href="http://www.timeanddate.com/news/time/antarctica-new-times.html">
|
||||
# http://www.timeanddate.com/news/time/antarctica-new-times.html
|
||||
# </a>
|
||||
|
||||
# From Steffen Thorsen (2010-03-10):
|
||||
# We got these changes from the Australian Antarctic Division: ...
|
||||
@@ -106,19 +99,17 @@ Rule ChileAQ 2012 max - Sep Sun>=2 4:00u 1:00 S
|
||||
# - Mawson station stays on UTC+5.
|
||||
#
|
||||
# Background:
|
||||
# <a href="http://www.timeanddate.com/news/time/antartica-time-changes-2010.html">
|
||||
# http://www.timeanddate.com/news/time/antartica-time-changes-2010.html
|
||||
# </a>
|
||||
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Antarctica/Casey 0 - zzz 1969
|
||||
8:00 - WST 2009 Oct 18 2:00
|
||||
# Western (Aus) Standard Time
|
||||
8:00 - AWST 2009 Oct 18 2:00
|
||||
# Australian Western Std Time
|
||||
11:00 - CAST 2010 Mar 5 2:00
|
||||
# Casey Time
|
||||
8:00 - WST 2011 Oct 28 2:00
|
||||
8:00 - AWST 2011 Oct 28 2:00
|
||||
11:00 - CAST 2012 Feb 21 17:00u
|
||||
8:00 - WST
|
||||
8:00 - AWST
|
||||
Zone Antarctica/Davis 0 - zzz 1957 Jan 13
|
||||
7:00 - DAVT 1964 Nov # Davis Time
|
||||
0 - zzz 1969 Feb
|
||||
@@ -132,24 +123,27 @@ Zone Antarctica/Mawson 0 - zzz 1954 Feb 13
|
||||
# Mawson Time
|
||||
5:00 - MAWT
|
||||
# References:
|
||||
# <a href="http://www.antdiv.gov.au/aad/exop/sfo/casey/casey_aws.html">
|
||||
# Casey Weather (1998-02-26)
|
||||
# </a>
|
||||
# <a href="http://www.antdiv.gov.au/aad/exop/sfo/davis/video.html">
|
||||
# <http://www.antdiv.gov.au/aad/exop/sfo/casey/casey_aws.html>
|
||||
# Davis Station, Antarctica (1998-02-26)
|
||||
# </a>
|
||||
# <a href="http://www.antdiv.gov.au/aad/exop/sfo/mawson/video.html">
|
||||
# <http://www.antdiv.gov.au/aad/exop/sfo/davis/video.html>
|
||||
# Mawson Station, Antarctica (1998-02-25)
|
||||
# </a>
|
||||
# <http://www.antdiv.gov.au/aad/exop/sfo/mawson/video.html>
|
||||
|
||||
# Belgium - year-round base
|
||||
# Princess Elisabeth, Queen Maud Land, -713412+0231200, since 2007
|
||||
|
||||
# Brazil - year-round base
|
||||
# Comandante Ferraz, King George Island, -6205+05824, since 1983/4
|
||||
# Ferraz, King George Island, -6205+05824, since 1983/4
|
||||
|
||||
# Bulgaria - year-round base
|
||||
# St. Kliment Ohridski, Livingston Island, -623829-0602153, since 1988
|
||||
|
||||
# Chile - year-round bases and towns
|
||||
# Escudero, South Shetland Is, -621157-0585735, since 1994
|
||||
# Presidente Eduadro Frei, King George Island, -6214-05848, since 1969-03-07
|
||||
# General Bernardo O'Higgins, Antarctic Peninsula, -6319-05704, since 1948-02
|
||||
# Capitan Arturo Prat, -6230-05941
|
||||
# Frei Montalva, King George Island, -6214-05848, since 1969-03-07
|
||||
# O'Higgins, Antarctic Peninsula, -6319-05704, since 1948-02
|
||||
# Prat, -6230-05941
|
||||
# Villa Las Estrellas (a town), around the Frei base, since 1984-04-09
|
||||
# These locations have always used Santiago time; use TZ='America/Santiago'.
|
||||
|
||||
@@ -157,31 +151,35 @@ Zone Antarctica/Mawson 0 - zzz 1954 Feb 13
|
||||
# Great Wall, King George Island, -6213-05858, since 1985-02-20
|
||||
# Zhongshan, Larsemann Hills, Prydz Bay, -6922+07623, since 1989-02-26
|
||||
|
||||
# France - year-round bases
|
||||
# France - year-round bases (also see "France & Italy")
|
||||
#
|
||||
# From Antoine Leca (1997-01-20):
|
||||
# Time data are from Nicole Pailleau at the IFRTP
|
||||
# (French Institute for Polar Research and Technology).
|
||||
# She confirms that French Southern Territories and Terre Adelie bases
|
||||
# don't observe daylight saving time, even if Terre Adelie supplies came
|
||||
# She confirms that French Southern Territories and Terre Adélie bases
|
||||
# don't observe daylight saving time, even if Terre Adélie supplies came
|
||||
# from Tasmania.
|
||||
#
|
||||
# French Southern Territories with year-round inhabitants
|
||||
#
|
||||
# Martin-de-Vivies Base, Amsterdam Island, -374105+0773155, since 1950
|
||||
# Alfred-Faure Base, Crozet Islands, -462551+0515152, since 1964
|
||||
# Port-aux-Francais, Kerguelen Islands, -492110+0701303, since 1951;
|
||||
# Alfred Faure, Possession Island, Crozet Islands, -462551+0515152, since 1964;
|
||||
# sealing & whaling stations operated variously 1802/1911+;
|
||||
# see Indian/Reunion.
|
||||
#
|
||||
# Martin-de-Viviès, Amsterdam Island, -374105+0773155, since 1950
|
||||
# Port-aux-Français, Kerguelen Islands, -492110+0701303, since 1951;
|
||||
# whaling & sealing station operated 1908/1914, 1920/1929, and 1951/1956
|
||||
#
|
||||
# St Paul Island - near Amsterdam, uninhabited
|
||||
# fishing stations operated variously 1819/1931
|
||||
#
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Indian/Kerguelen 0 - zzz 1950 # Port-aux-Francais
|
||||
Zone Indian/Kerguelen 0 - zzz 1950 # Port-aux-Français
|
||||
5:00 - TFT # ISO code TF Time
|
||||
#
|
||||
# year-round base in the main continent
|
||||
# Dumont-d'Urville, Ile des Petrels, -6640+14001, since 1956-11
|
||||
# Dumont d'Urville, Île des Pétrels, -6640+14001, since 1956-11
|
||||
# <http://en.wikipedia.org/wiki/Dumont_d'Urville_Station> (2005-12-05)
|
||||
#
|
||||
# Another base at Port-Martin, 50km east, began operation in 1947.
|
||||
# It was destroyed by fire on 1952-01-14.
|
||||
@@ -191,20 +189,22 @@ Zone Antarctica/DumontDUrville 0 - zzz 1947
|
||||
10:00 - PMT 1952 Jan 14 # Port-Martin Time
|
||||
0 - zzz 1956 Nov
|
||||
10:00 - DDUT # Dumont-d'Urville Time
|
||||
# Reference:
|
||||
# <a href="http://en.wikipedia.org/wiki/Dumont_d'Urville_Station">
|
||||
# Dumont d'Urville Station (2005-12-05)
|
||||
# </a>
|
||||
|
||||
# France & Italy - year-round base
|
||||
# Concordia, -750600+1232000, since 2005
|
||||
|
||||
# Germany - year-round base
|
||||
# Georg von Neumayer, -7039-00815
|
||||
# Neumayer III, -704080-0081602, since 2009
|
||||
|
||||
# India - year-round base
|
||||
# Dakshin Gangotri, -7005+01200
|
||||
# India - year-round bases
|
||||
# Bharati, -692428+0761114, since 2012
|
||||
# Maitri, -704558+0114356, since 1989
|
||||
|
||||
# Italy - year-round base (also see "France & Italy")
|
||||
# Zuchelli, Terra Nova Bay, -744140+1640647, since 1986
|
||||
|
||||
# Japan - year-round bases
|
||||
# Dome Fuji, -7719+03942
|
||||
# Syowa, -690022+0393524
|
||||
# Syowa (also known as Showa), -690022+0393524, since 1957
|
||||
#
|
||||
# From Hideyuki Suzuki (1999-02-06):
|
||||
# In all Japanese stations, +0300 is used as the standard time.
|
||||
@@ -216,11 +216,11 @@ Zone Antarctica/DumontDUrville 0 - zzz 1947
|
||||
Zone Antarctica/Syowa 0 - zzz 1957 Jan 29
|
||||
3:00 - SYOT # Syowa Time
|
||||
# See:
|
||||
# <a href="http://www.nipr.ac.jp/english/ara01.html">
|
||||
# NIPR Antarctic Research Activities (1999-08-17)
|
||||
# </a>
|
||||
# <http://www.nipr.ac.jp/english/ara01.html>
|
||||
|
||||
# S Korea - year-round base
|
||||
# Jang Bogo, Terra Nova Bay, -743700+1641205 since 2014
|
||||
# King Sejong, King George Island, -6213-05847, since 1988
|
||||
|
||||
# New Zealand - claims
|
||||
@@ -228,29 +228,50 @@ Zone Antarctica/Syowa 0 - zzz 1957 Jan 29
|
||||
# Scott Island (never inhabited)
|
||||
#
|
||||
# year-round base
|
||||
# Scott, Ross Island, since 1957-01, is like Antarctica/McMurdo.
|
||||
#
|
||||
# These rules for New Zealand are stolen from the `australasia' file.
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
Rule NZAQ 1974 only - Nov 3 2:00s 1:00 D
|
||||
Rule NZAQ 1975 1988 - Oct lastSun 2:00s 1:00 D
|
||||
Rule NZAQ 1989 only - Oct 8 2:00s 1:00 D
|
||||
Rule NZAQ 1990 2006 - Oct Sun>=1 2:00s 1:00 D
|
||||
Rule NZAQ 1975 only - Feb 23 2:00s 0 S
|
||||
Rule NZAQ 1976 1989 - Mar Sun>=1 2:00s 0 S
|
||||
Rule NZAQ 1990 2007 - Mar Sun>=15 2:00s 0 S
|
||||
Rule NZAQ 2007 max - Sep lastSun 2:00s 1:00 D
|
||||
Rule NZAQ 2008 max - Apr Sun>=1 2:00s 0 S
|
||||
# Scott Base, Ross Island, since 1957-01.
|
||||
# See Pacific/Auckland.
|
||||
|
||||
# Norway - territories
|
||||
# Bouvet (never inhabited)
|
||||
#
|
||||
# claims
|
||||
# Peter I Island (never inhabited)
|
||||
#
|
||||
# year-round base
|
||||
# Troll, Queen Maud Land, -720041+0023206, since 2005-02-12
|
||||
#
|
||||
# From Paul-Inge Flakstad (2014-03-10):
|
||||
# I recently had a long dialog about this with the developer of timegenie.com.
|
||||
# In the absence of specific dates, he decided to choose some likely ones:
|
||||
# GMT +1 - From March 1 to the last Sunday in March
|
||||
# GMT +2 - From the last Sunday in March until the last Sunday in October
|
||||
# GMT +1 - From the last Sunday in October until November 7
|
||||
# GMT +0 - From November 7 until March 1
|
||||
# The dates for switching to and from UTC+0 will probably not be absolutely
|
||||
# correct, but they should be quite close to the actual dates.
|
||||
#
|
||||
# From Paul Eggert (2014-03-21):
|
||||
# The CET-switching Troll rules require zic from tzcode 2014b or later, so as
|
||||
# suggested by Bengt-Inge Larsson comment them out for now, and approximate
|
||||
# with only UTC and CEST. Uncomment them when 2014b is more prevalent.
|
||||
#
|
||||
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
||||
#Rule Troll 2005 max - Mar 1 1:00u 1:00 CET
|
||||
Rule Troll 2005 max - Mar lastSun 1:00u 2:00 CEST
|
||||
#Rule Troll 2005 max - Oct lastSun 1:00u 1:00 CET
|
||||
#Rule Troll 2004 max - Nov 7 1:00u 0:00 UTC
|
||||
# Remove the following line when uncommenting the above '#Rule' lines.
|
||||
Rule Troll 2004 max - Oct lastSun 1:00u 0:00 UTC
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Antarctica/Troll 0 - zzz 2005 Feb 12
|
||||
0:00 Troll %s
|
||||
|
||||
# Poland - year-round base
|
||||
# Arctowski, King George Island, -620945-0582745, since 1977
|
||||
|
||||
# Romania - year-bound base
|
||||
# Law-Racoviță, Larsemann Hills, -692319+0762251, since 1986
|
||||
|
||||
# Russia - year-round bases
|
||||
# Bellingshausen, King George Island, -621159-0585337, since 1968-02-22
|
||||
# Mirny, Davis coast, -6633+09301, since 1956-02
|
||||
@@ -260,23 +281,23 @@ Rule NZAQ 2008 max - Apr Sun>=1 2:00s 0 S
|
||||
# year-round from 1960/61 to 1992
|
||||
|
||||
# Vostok, since 1957-12-16, temporarily closed 1994-02/1994-11
|
||||
# <a href="http://quest.arc.nasa.gov/antarctica/QA/computers/Directions,Time,ZIP">
|
||||
# From Craig Mundell (1994-12-15)</a>:
|
||||
# From Craig Mundell (1994-12-15)
|
||||
# <http://quest.arc.nasa.gov/antarctica/QA/computers/Directions,Time,ZIP>:
|
||||
# Vostok, which is one of the Russian stations, is set on the same
|
||||
# time as Moscow, Russia.
|
||||
#
|
||||
# From Lee Hotz (2001-03-08):
|
||||
# I queried the folks at Columbia who spent the summer at Vostok and this is
|
||||
# what they had to say about time there:
|
||||
# ``in the US Camp (East Camp) we have been on New Zealand (McMurdo)
|
||||
# "in the US Camp (East Camp) we have been on New Zealand (McMurdo)
|
||||
# time, which is 12 hours ahead of GMT. The Russian Station Vostok was
|
||||
# 6 hours behind that (although only 2 miles away, i.e. 6 hours ahead
|
||||
# of GMT). This is a time zone I think two hours east of Moscow. The
|
||||
# natural time zone is in between the two: 8 hours ahead of GMT.''
|
||||
# natural time zone is in between the two: 8 hours ahead of GMT."
|
||||
#
|
||||
# From Paul Eggert (2001-05-04):
|
||||
# This seems to be hopelessly confusing, so I asked Lee Hotz about it
|
||||
# in person. He said that some Antartic locations set their local
|
||||
# in person. He said that some Antarctic locations set their local
|
||||
# time so that noon is the warmest part of the day, and that this
|
||||
# changes during the year and does not necessarily correspond to mean
|
||||
# solar noon. So the Vostok time might have been whatever the clocks
|
||||
@@ -288,9 +309,12 @@ Zone Antarctica/Vostok 0 - zzz 1957 Dec 16
|
||||
|
||||
# S Africa - year-round bases
|
||||
# Marion Island, -4653+03752
|
||||
# Sanae, -7141-00250
|
||||
# SANAE IV, Vesleskarvet, Queen Maud Land, -714022-0025026, since 1997
|
||||
|
||||
# UK
|
||||
# Ukraine - year-round base
|
||||
# Vernadsky (formerly Faraday), Galindez Island, -651445-0641526, since 1954
|
||||
|
||||
# United Kingdom
|
||||
#
|
||||
# British Antarctic Territories (BAT) claims
|
||||
# South Orkney Islands
|
||||
@@ -337,16 +361,8 @@ Zone Antarctica/Palmer 0 - zzz 1965
|
||||
-4:00 ChileAQ CL%sT
|
||||
#
|
||||
#
|
||||
# McMurdo, Ross Island, since 1955-12
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Antarctica/McMurdo 0 - zzz 1956
|
||||
12:00 NZAQ NZ%sT
|
||||
#
|
||||
# Amundsen-Scott, South Pole, continuously occupied since 1956-11-20
|
||||
#
|
||||
# From Paul Eggert (1996-09-03):
|
||||
# Normally it wouldn't have a separate entry, since it's like the
|
||||
# larger Antarctica/McMurdo since 1970, but it's too famous to omit.
|
||||
# McMurdo Station, Ross Island, since 1955-12
|
||||
# Amundsen-Scott South Pole Station, continuously occupied since 1956-11-20
|
||||
#
|
||||
# From Chris Carrier (1996-06-27):
|
||||
# Siple, the first commander of the South Pole station,
|
||||
@@ -354,7 +370,7 @@ Zone Antarctica/McMurdo 0 - zzz 1956
|
||||
# but that he found it more convenient to keep GMT+12
|
||||
# as supplies for the station were coming from McMurdo Sound,
|
||||
# which was on GMT+12 because New Zealand was on GMT+12 all year
|
||||
# at that time (1957). (Source: Siple's book 90 degrees SOUTH.)
|
||||
# at that time (1957). (Source: Siple's book 90 Degrees South.)
|
||||
#
|
||||
# From Susan Smith
|
||||
# http://www.cybertours.com/whs/pole10.html
|
||||
@@ -368,4 +384,4 @@ Zone Antarctica/McMurdo 0 - zzz 1956
|
||||
# we have to go around and set them back 5 minutes or so.
|
||||
# Maybe if we let them run fast all of the time, we'd get to leave here sooner!!
|
||||
#
|
||||
Link Antarctica/McMurdo Antarctica/South_Pole
|
||||
# See 'australasia' for Antarctica/McMurdo.
|
||||
+447
-393
File diff suppressed because it is too large.
Load diff
+429
-450
File diff suppressed because it is too large.
Load diff
+14
-10
@@ -1,4 +1,3 @@
|
||||
# <pre>
|
||||
# This file is in the public domain, so clarified as of
|
||||
# 2009-05-17 by Arthur David Olson.
|
||||
|
||||
@@ -6,7 +5,7 @@
|
||||
# and their old names. Many names changed in late 1993.
|
||||
|
||||
Link Africa/Asmara Africa/Asmera
|
||||
Link Africa/Bamako Africa/Timbuktu
|
||||
Link Africa/Abidjan Africa/Timbuktu
|
||||
Link America/Argentina/Catamarca America/Argentina/ComodRivadavia
|
||||
Link America/Adak America/Atka
|
||||
Link America/Argentina/Buenos_Aires America/Buenos_Aires
|
||||
@@ -22,15 +21,20 @@ Link America/Kentucky/Louisville America/Louisville
|
||||
Link America/Argentina/Mendoza America/Mendoza
|
||||
Link America/Rio_Branco America/Porto_Acre
|
||||
Link America/Argentina/Cordoba America/Rosario
|
||||
Link America/St_Thomas America/Virgin
|
||||
Link America/Denver America/Shiprock
|
||||
Link America/Port_of_Spain America/Virgin
|
||||
Link Pacific/Auckland Antarctica/South_Pole
|
||||
Link Asia/Ashgabat Asia/Ashkhabad
|
||||
Link Asia/Chongqing Asia/Chungking
|
||||
Link Asia/Dhaka Asia/Dacca
|
||||
Link Asia/Kathmandu Asia/Katmandu
|
||||
Link Asia/Kolkata Asia/Calcutta
|
||||
Link Asia/Shanghai Asia/Chongqing
|
||||
Link Asia/Shanghai Asia/Chungking
|
||||
Link Asia/Dhaka Asia/Dacca
|
||||
Link Asia/Shanghai Asia/Harbin
|
||||
Link Asia/Urumqi Asia/Kashgar
|
||||
Link Asia/Kathmandu Asia/Katmandu
|
||||
Link Asia/Macau Asia/Macao
|
||||
Link Asia/Jerusalem Asia/Tel_Aviv
|
||||
Link Asia/Ho_Chi_Minh Asia/Saigon
|
||||
Link Asia/Jerusalem Asia/Tel_Aviv
|
||||
Link Asia/Thimphu Asia/Thimbu
|
||||
Link Asia/Makassar Asia/Ujung_Pandang
|
||||
Link Asia/Ulaanbaatar Asia/Ulan_Bator
|
||||
@@ -88,10 +92,10 @@ Link Pacific/Auckland NZ
|
||||
Link Pacific/Chatham NZ-CHAT
|
||||
Link America/Denver Navajo
|
||||
Link Asia/Shanghai PRC
|
||||
Link Pacific/Pago_Pago Pacific/Samoa
|
||||
Link Pacific/Chuuk Pacific/Yap
|
||||
Link Pacific/Chuuk Pacific/Truk
|
||||
Link Pacific/Pohnpei Pacific/Ponape
|
||||
Link Pacific/Pago_Pago Pacific/Samoa
|
||||
Link Pacific/Chuuk Pacific/Truk
|
||||
Link Pacific/Chuuk Pacific/Yap
|
||||
Link Europe/Warsaw Poland
|
||||
Link Europe/Lisbon Portugal
|
||||
Link Asia/Taipei ROC
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
# <pre>
|
||||
# This file is in the public domain, so clarified as of
|
||||
# 2009-05-17 by Arthur David Olson.
|
||||
|
||||
@@ -14,7 +13,7 @@ Zone Etc/UTC 0 - UTC
|
||||
Zone Etc/UCT 0 - UCT
|
||||
|
||||
# The following link uses older naming conventions,
|
||||
# but it belongs here, not in the file `backward',
|
||||
# but it belongs here, not in the file 'backward',
|
||||
# as functions like gmtime load the "UTC" file to handle leap seconds properly.
|
||||
# We want this to work even on installations that omit the other older names.
|
||||
Link Etc/UTC UTC
|
||||
@@ -31,9 +30,9 @@ Link Etc/GMT Etc/GMT0
|
||||
# even though this is the opposite of what many people expect.
|
||||
# POSIX has positive signs west of Greenwich, but many people expect
|
||||
# positive signs east of Greenwich. For example, TZ='Etc/GMT+4' uses
|
||||
# the abbreviation "GMT+4" and corresponds to 4 hours behind UTC
|
||||
# the abbreviation "GMT+4" and corresponds to 4 hours behind UT
|
||||
# (i.e. west of Greenwich) even though many people would expect it to
|
||||
# mean 4 hours ahead of UTC (i.e. east of Greenwich).
|
||||
# mean 4 hours ahead of UT (i.e. east of Greenwich).
|
||||
#
|
||||
# In the draft 5 of POSIX 1003.1-200x, the angle bracket notation allows for
|
||||
# TZ='<GMT-4>+4'; if you want time zone abbreviations conforming to
|
||||
|
||||
+742
-375
File diff suppressed because it is too large.
Load diff
@@ -1,4 +1,3 @@
|
||||
# <pre>
|
||||
# This file is in the public domain, so clarified as of
|
||||
# 2009-05-17 by Arthur David Olson.
|
||||
|
||||
|
||||
@@ -0,0 +1,239 @@
|
||||
#
|
||||
# In the following text, the symbol '#' introduces
|
||||
# a comment, which continues from that symbol until
|
||||
# the end of the line. A plain comment line has a
|
||||
# whitespace character following the comment indicator.
|
||||
# There are also special comment lines defined below.
|
||||
# A special comment will always have a non-whitespace
|
||||
# character in column 2.
|
||||
#
|
||||
# A blank line should be ignored.
|
||||
#
|
||||
# The following table shows the corrections that must
|
||||
# be applied to compute International Atomic Time (TAI)
|
||||
# from the Coordinated Universal Time (UTC) values that
|
||||
# are transmitted by almost all time services.
|
||||
#
|
||||
# The first column shows an epoch as a number of seconds
|
||||
# since 1 January 1900, 00:00:00 (1900.0 is also used to
|
||||
# indicate the same epoch.) Both of these time stamp formats
|
||||
# ignore the complexities of the time scales that were
|
||||
# used before the current definition of UTC at the start
|
||||
# of 1972. (See note 3 below.)
|
||||
# The second column shows the number of seconds that
|
||||
# must be added to UTC to compute TAI for any timestamp
|
||||
# at or after that epoch. The value on each line is
|
||||
# valid from the indicated initial instant until the
|
||||
# epoch given on the next one or indefinitely into the
|
||||
# future if there is no next line.
|
||||
# (The comment on each line shows the representation of
|
||||
# the corresponding initial epoch in the usual
|
||||
# day-month-year format. The epoch always begins at
|
||||
# 00:00:00 UTC on the indicated day. See Note 5 below.)
|
||||
#
|
||||
# Important notes:
|
||||
#
|
||||
# 1. Coordinated Universal Time (UTC) is often referred to
|
||||
# as Greenwich Mean Time (GMT). The GMT time scale is no
|
||||
# longer used, and the use of GMT to designate UTC is
|
||||
# discouraged.
|
||||
#
|
||||
# 2. The UTC time scale is realized by many national
|
||||
# laboratories and timing centers. Each laboratory
|
||||
# identifies its realization with its name: Thus
|
||||
# UTC(NIST), UTC(USNO), etc. The differences among
|
||||
# these different realizations are typically on the
|
||||
# order of a few nanoseconds (i.e., 0.000 000 00x s)
|
||||
# and can be ignored for many purposes. These differences
|
||||
# are tabulated in Circular T, which is published monthly
|
||||
# by the International Bureau of Weights and Measures
|
||||
# (BIPM). See www.bipm.fr for more information.
|
||||
#
|
||||
# 3. The current definition of the relationship between UTC
|
||||
# and TAI dates from 1 January 1972. A number of different
|
||||
# time scales were in use before that epoch, and it can be
|
||||
# quite difficult to compute precise timestamps and time
|
||||
# intervals in those "prehistoric" days. For more information,
|
||||
# consult:
|
||||
#
|
||||
# The Explanatory Supplement to the Astronomical
|
||||
# Ephemeris.
|
||||
# or
|
||||
# Terry Quinn, "The BIPM and the Accurate Measurement
|
||||
# of Time," Proc. of the IEEE, Vol. 79, pp. 894-905,
|
||||
# July, 1991.
|
||||
#
|
||||
# 4. The decision to insert a leap second into UTC is currently
|
||||
# the responsibility of the International Earth Rotation and
|
||||
# Reference Systems Service. (The name was changed from the
|
||||
# International Earth Rotation Service, but the acronym IERS
|
||||
# is still used.)
|
||||
#
|
||||
# Leap seconds are announced by the IERS in its Bulletin C.
|
||||
#
|
||||
# See www.iers.org for more details.
|
||||
#
|
||||
# Every national laboratory and timing center uses the
|
||||
# data from the BIPM and the IERS to construct UTC(lab),
|
||||
# their local realization of UTC.
|
||||
#
|
||||
# Although the definition also includes the possibility
|
||||
# of dropping seconds ("negative" leap seconds), this has
|
||||
# never been done and is unlikely to be necessary in the
|
||||
# foreseeable future.
|
||||
#
|
||||
# 5. If your system keeps time as the number of seconds since
|
||||
# some epoch (e.g., NTP timestamps), then the algorithm for
|
||||
# assigning a UTC time stamp to an event that happens during a positive
|
||||
# leap second is not well defined. The official name of that leap
|
||||
# second is 23:59:60, but there is no way of representing that time
|
||||
# in these systems.
|
||||
# Many systems of this type effectively stop the system clock for
|
||||
# one second during the leap second and use a time that is equivalent
|
||||
# to 23:59:59 UTC twice. For these systems, the corresponding TAI
|
||||
# timestamp would be obtained by advancing to the next entry in the
|
||||
# following table when the time equivalent to 23:59:59 UTC
|
||||
# is used for the second time. Thus the leap second which
|
||||
# occurred on 30 June 1972 at 23:59:59 UTC would have TAI
|
||||
# timestamps computed as follows:
|
||||
#
|
||||
# ...
|
||||
# 30 June 1972 23:59:59 (2287785599, first time): TAI= UTC + 10 seconds
|
||||
# 30 June 1972 23:59:60 (2287785599,second time): TAI= UTC + 11 seconds
|
||||
# 1 July 1972 00:00:00 (2287785600) TAI= UTC + 11 seconds
|
||||
# ...
|
||||
#
|
||||
# If your system realizes the leap second by repeating 00:00:00 UTC twice
|
||||
# (this is possible but not usual), then the advance to the next entry
|
||||
# in the table must occur the second time that a time equivalent to
|
||||
# 00:00:00 UTC is used. Thus, using the same example as above:
|
||||
#
|
||||
# ...
|
||||
# 30 June 1972 23:59:59 (2287785599): TAI= UTC + 10 seconds
|
||||
# 30 June 1972 23:59:60 (2287785600, first time): TAI= UTC + 10 seconds
|
||||
# 1 July 1972 00:00:00 (2287785600,second time): TAI= UTC + 11 seconds
|
||||
# ...
|
||||
#
|
||||
# in both cases the use of timestamps based on TAI produces a smooth
|
||||
# time scale with no discontinuity in the time interval. However,
|
||||
# although the long-term behavior of the time scale is correct in both
|
||||
# methods, the second method is technically not correct because it adds
|
||||
# the extra second to the wrong day.
|
||||
#
|
||||
# This complexity would not be needed for negative leap seconds (if they
|
||||
# are ever used). The UTC time would skip 23:59:59 and advance from
|
||||
# 23:59:58 to 00:00:00 in that case. The TAI offset would decrease by
|
||||
# 1 second at the same instant. This is a much easier situation to deal
|
||||
# with, since the difficulty of unambiguously representing the epoch
|
||||
# during the leap second does not arise.
|
||||
#
|
||||
# Questions or comments to:
|
||||
# Judah Levine
|
||||
# Time and Frequency Division
|
||||
# NIST
|
||||
# Boulder, Colorado
|
||||
# [email protected]
|
||||
#
|
||||
# Last Update of leap second values: 11 January 2012
|
||||
#
|
||||
# The following line shows this last update date in NTP timestamp
|
||||
# format. This is the date on which the most recent change to
|
||||
# the leap second data was added to the file. This line can
|
||||
# be identified by the unique pair of characters in the first two
|
||||
# columns as shown below.
|
||||
#
|
||||
#$ 3535228800
|
||||
#
|
||||
# The NTP timestamps are in units of seconds since the NTP epoch,
|
||||
# which is 1 January 1900, 00:00:00. The Modified Julian Day number
|
||||
# corresponding to the NTP time stamp, X, can be computed as
|
||||
#
|
||||
# X/86400 + 15020
|
||||
#
|
||||
# where the first term converts seconds to days and the second
|
||||
# term adds the MJD corresponding to the time origin defined above.
|
||||
# The integer portion of the result is the integer MJD for that
|
||||
# day, and any remainder is the time of day, expressed as the
|
||||
# fraction of the day since 0 hours UTC. The conversion from day
|
||||
# fraction to seconds or to hours, minutes, and seconds may involve
|
||||
# rounding or truncation, depending on the method used in the
|
||||
# computation.
|
||||
#
|
||||
# The data in this file will be updated periodically as new leap
|
||||
# seconds are announced. In addition to being entered on the line
|
||||
# above, the update time (in NTP format) will be added to the basic
|
||||
# file name leap-seconds to form the name leap-seconds.<NTP TIME>.
|
||||
# In addition, the generic name leap-seconds.list will always point to
|
||||
# the most recent version of the file.
|
||||
#
|
||||
# This update procedure will be performed only when a new leap second
|
||||
# is announced.
|
||||
#
|
||||
# The following entry specifies the expiration date of the data
|
||||
# in this file in units of seconds since the origin at the instant
|
||||
# 1 January 1900, 00:00:00. This expiration date will be changed
|
||||
# at least twice per year whether or not a new leap second is
|
||||
# announced. These semi-annual changes will be made no later
|
||||
# than 1 June and 1 December of each year to indicate what
|
||||
# action (if any) is to be taken on 30 June and 31 December,
|
||||
# respectively. (These are the customary effective dates for new
|
||||
# leap seconds.) This expiration date will be identified by a
|
||||
# unique pair of characters in columns 1 and 2 as shown below.
|
||||
# In the unlikely event that a leap second is announced with an
|
||||
# effective date other than 30 June or 31 December, then this
|
||||
# file will be edited to include that leap second as soon as it is
|
||||
# announced or at least one month before the effective date
|
||||
# (whichever is later).
|
||||
# If an announcement by the IERS specifies that no leap second is
|
||||
# scheduled, then only the expiration date of the file will
|
||||
# be advanced to show that the information in the file is still
|
||||
# current -- the update time stamp, the data and the name of the file
|
||||
# will not change.
|
||||
#
|
||||
# Updated through IERS Bulletin C48
|
||||
# File expires on: 28 June 2015
|
||||
#
|
||||
#@ 3644438400
|
||||
#
|
||||
2272060800 10 # 1 Jan 1972
|
||||
2287785600 11 # 1 Jul 1972
|
||||
2303683200 12 # 1 Jan 1973
|
||||
2335219200 13 # 1 Jan 1974
|
||||
2366755200 14 # 1 Jan 1975
|
||||
2398291200 15 # 1 Jan 1976
|
||||
2429913600 16 # 1 Jan 1977
|
||||
2461449600 17 # 1 Jan 1978
|
||||
2492985600 18 # 1 Jan 1979
|
||||
2524521600 19 # 1 Jan 1980
|
||||
2571782400 20 # 1 Jul 1981
|
||||
2603318400 21 # 1 Jul 1982
|
||||
2634854400 22 # 1 Jul 1983
|
||||
2698012800 23 # 1 Jul 1985
|
||||
2776982400 24 # 1 Jan 1988
|
||||
2840140800 25 # 1 Jan 1990
|
||||
2871676800 26 # 1 Jan 1991
|
||||
2918937600 27 # 1 Jul 1992
|
||||
2950473600 28 # 1 Jul 1993
|
||||
2982009600 29 # 1 Jul 1994
|
||||
3029443200 30 # 1 Jan 1996
|
||||
3076704000 31 # 1 Jul 1997
|
||||
3124137600 32 # 1 Jan 1999
|
||||
3345062400 33 # 1 Jan 2006
|
||||
3439756800 34 # 1 Jan 2009
|
||||
3550089600 35 # 1 Jul 2012
|
||||
#
|
||||
# the following special comment contains the
|
||||
# hash value of the data in this file computed
|
||||
# use the secure hash algorithm as specified
|
||||
# by FIPS 180-1. See the files in ~/pub/sha for
|
||||
# the details of how this hash value is
|
||||
# computed. Note that the hash computation
|
||||
# ignores comments and whitespace characters
|
||||
# in data lines. It includes the NTP values
|
||||
# of both the last modification time and the
|
||||
# expiration time of the file, but not the
|
||||
# white space on those lines.
|
||||
# the hash line is also ignored in the
|
||||
# computation.
|
||||
#
|
||||
#h a4862ccd c6f43c6 964f3604 85944a26 b5cfad4e
|
||||
+205
-308
File diff suppressed because it is too large.
Load diff
@@ -1,4 +1,3 @@
|
||||
# <pre>
|
||||
# This file is in the public domain, so clarified as of
|
||||
# 2009-05-17 by Arthur David Olson.
|
||||
|
||||
|
||||
+217
-245
File diff suppressed because it is too large.
Load diff
@@ -1,4 +1,3 @@
|
||||
# <pre>
|
||||
# This file is in the public domain, so clarified as of
|
||||
# 2009-05-17 by Arthur David Olson.
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
case $#-$1 in
|
||||
2-|2-0*|2-*[!0-9]*)
|
||||
echo "$0: wild year - $1" >&2
|
||||
echo "$0: wild year: $1" >&2
|
||||
exit 1 ;;
|
||||
esac
|
||||
|
||||
@@ -31,7 +31,7 @@ case $#-$2 in
|
||||
*) exit 1 ;;
|
||||
esac ;;
|
||||
2-*)
|
||||
echo "$0: wild type - $2" >&2 ;;
|
||||
echo "$0: wild type: $2" >&2 ;;
|
||||
esac
|
||||
|
||||
echo "$0: usage is $0 year even|odd|uspres|nonpres|nonuspres" >&2
|
||||
|
||||
+30
-42
@@ -1,29 +1,20 @@
|
||||
# TZ zone descriptions
|
||||
# tz zone descriptions (deprecated version)
|
||||
#
|
||||
# This file is in the public domain, so clarified as of
|
||||
# 2009-05-17 by Arthur David Olson.
|
||||
#
|
||||
# From Paul Eggert (2013-05-27):
|
||||
# From Paul Eggert (2014-07-31):
|
||||
# This file is intended as a backward-compatibility aid for older programs.
|
||||
# New programs should use zone1970.tab. This file is like zone1970.tab (see
|
||||
# zone1970.tab's comments), but with the following additional restrictions:
|
||||
#
|
||||
# This file contains a table with the following columns:
|
||||
# 1. ISO 3166 2-character country code. See /usr/share/misc/iso3166.
|
||||
# This identifies a country that overlaps the zone. The country may
|
||||
# overlap other zones and the zone may overlap other countries.
|
||||
# 2. Latitude and longitude of the zone's principal location
|
||||
# in ISO 6709 sign-degrees-minutes-seconds format,
|
||||
# either +-DDMM+-DDDMM or +-DDMMSS+-DDDMMSS,
|
||||
# first latitude (+ is north), then longitude (+ is east).
|
||||
# This location need not lie within the column-1 country.
|
||||
# 3. Zone name used in value of TZ environment variable.
|
||||
# Please see the 'Theory' file for how zone names are chosen.
|
||||
# 4. Comments; present if and only if the country has multiple rows.
|
||||
# 1. This file contains only ASCII characters.
|
||||
# 2. The first data column contains exactly one country code.
|
||||
#
|
||||
# Columns are separated by a single tab.
|
||||
# The table is sorted first by country, then an order within the country that
|
||||
# (1) makes some geographical sense, and
|
||||
# (2) puts the most populous zones first, where that does not contradict (1).
|
||||
#
|
||||
# Lines beginning with `#' are comments.
|
||||
# Because of (2), each row stands for an area that is the intersection
|
||||
# of a region identified by a country code and of a zone where civil
|
||||
# clocks have agreed since 1970; this is a narrower definition than
|
||||
# that of zone1970.tab.
|
||||
#
|
||||
# This table is intended as an aid for users, to help them select time
|
||||
# zone data appropriate for their practical needs. It is not intended
|
||||
@@ -39,8 +30,7 @@ AI +1812-06304 America/Anguilla
|
||||
AL +4120+01950 Europe/Tirane
|
||||
AM +4011+04430 Asia/Yerevan
|
||||
AO -0848+01314 Africa/Luanda
|
||||
AQ -7750+16636 Antarctica/McMurdo McMurdo Station, Ross Island
|
||||
AQ -9000+00000 Antarctica/South_Pole Amundsen-Scott Station, South Pole
|
||||
AQ -7750+16636 Antarctica/McMurdo McMurdo, South Pole, Scott (New Zealand time)
|
||||
AQ -6734-06808 Antarctica/Rothera Rothera Station, Adelaide Island
|
||||
AQ -6448-06406 Antarctica/Palmer Palmer Station, Anvers Island
|
||||
AQ -6736+06253 Antarctica/Mawson Mawson Station, Holme Bay
|
||||
@@ -49,6 +39,7 @@ AQ -6617+11031 Antarctica/Casey Casey Station, Bailey Peninsula
|
||||
AQ -7824+10654 Antarctica/Vostok Vostok Station, Lake Vostok
|
||||
AQ -6640+14001 Antarctica/DumontDUrville Dumont-d'Urville Station, Terre Adelie
|
||||
AQ -690022+0393524 Antarctica/Syowa Syowa Station, E Ongul I
|
||||
AQ -720041+0023206 Antarctica/Troll Troll Station, Queen Maud Land
|
||||
AR -3436-05827 America/Argentina/Buenos_Aires Buenos Aires (BA, CF)
|
||||
AR -3124-06411 America/Argentina/Cordoba most locations (CB, CC, CN, ER, FM, MN, SE, SF)
|
||||
AR -2447-06525 America/Argentina/Salta (SA, LP, NQ, RN)
|
||||
@@ -120,13 +111,12 @@ CA +4612-05957 America/Glace_Bay Atlantic Time - Nova Scotia - places that did n
|
||||
CA +4606-06447 America/Moncton Atlantic Time - New Brunswick
|
||||
CA +5320-06025 America/Goose_Bay Atlantic Time - Labrador - most locations
|
||||
CA +5125-05707 America/Blanc-Sablon Atlantic Standard Time - Quebec - Lower North Shore
|
||||
CA +4531-07334 America/Montreal Eastern Time - Quebec - most locations
|
||||
CA +4339-07923 America/Toronto Eastern Time - Ontario - most locations
|
||||
CA +4339-07923 America/Toronto Eastern Time - Ontario & Quebec - most locations
|
||||
CA +4901-08816 America/Nipigon Eastern Time - Ontario & Quebec - places that did not observe DST 1967-1973
|
||||
CA +4823-08915 America/Thunder_Bay Eastern Time - Thunder Bay, Ontario
|
||||
CA +6344-06828 America/Iqaluit Eastern Time - east Nunavut - most locations
|
||||
CA +6608-06544 America/Pangnirtung Eastern Time - Pangnirtung, Nunavut
|
||||
CA +744144-0944945 America/Resolute Central Standard Time - Resolute, Nunavut
|
||||
CA +744144-0944945 America/Resolute Central Time - Resolute, Nunavut
|
||||
CA +484531-0913718 America/Atikokan Eastern Standard Time - Atikokan, Ontario and Southampton I, Nunavut
|
||||
CA +624900-0920459 America/Rankin_Inlet Central Time - central Nunavut
|
||||
CA +4953-09709 America/Winnipeg Central Time - Manitoba & west Ontario
|
||||
@@ -151,13 +141,10 @@ CH +4723+00832 Europe/Zurich
|
||||
CI +0519-00402 Africa/Abidjan
|
||||
CK -2114-15946 Pacific/Rarotonga
|
||||
CL -3327-07040 America/Santiago most locations
|
||||
CL -2709-10926 Pacific/Easter Easter Island & Sala y Gomez
|
||||
CL -2709-10926 Pacific/Easter Easter Island
|
||||
CM +0403+00942 Africa/Douala
|
||||
CN +3114+12128 Asia/Shanghai east China - Beijing, Guangdong, Shanghai, etc.
|
||||
CN +4545+12641 Asia/Harbin Heilongjiang (except Mohe), Jilin
|
||||
CN +2934+10635 Asia/Chongqing central China - Sichuan, Yunnan, Guangxi, Shaanxi, Guizhou, etc.
|
||||
CN +4348+08735 Asia/Urumqi most of Tibet & Xinjiang
|
||||
CN +3929+07559 Asia/Kashgar west Tibet & Xinjiang
|
||||
CN +3114+12128 Asia/Shanghai Beijing Time
|
||||
CN +4348+08735 Asia/Urumqi Xinjiang Time
|
||||
CO +0436-07405 America/Bogota
|
||||
CR +0956-08405 America/Costa_Rica
|
||||
CU +2308-08222 America/Havana
|
||||
@@ -232,7 +219,7 @@ IR +3540+05126 Asia/Tehran
|
||||
IS +6409-02151 Atlantic/Reykjavik
|
||||
IT +4154+01229 Europe/Rome
|
||||
JE +4912-00207 Europe/Jersey
|
||||
JM +1800-07648 America/Jamaica
|
||||
JM +175805-0764736 America/Jamaica
|
||||
JO +3157+03556 Asia/Amman
|
||||
JP +353916+1394441 Asia/Tokyo
|
||||
KE -0117+03649 Africa/Nairobi
|
||||
@@ -339,23 +326,26 @@ RE -2052+05528 Indian/Reunion
|
||||
RO +4426+02606 Europe/Bucharest
|
||||
RS +4450+02030 Europe/Belgrade
|
||||
RU +5443+02030 Europe/Kaliningrad Moscow-01 - Kaliningrad
|
||||
RU +5545+03735 Europe/Moscow Moscow+00 - west Russia
|
||||
RU +554521+0373704 Europe/Moscow Moscow+00 - west Russia
|
||||
RU +4457+03406 Europe/Simferopol Moscow+00 - Crimea
|
||||
RU +4844+04425 Europe/Volgograd Moscow+00 - Caspian Sea
|
||||
RU +5312+05009 Europe/Samara Moscow+00 - Samara, Udmurtia
|
||||
RU +5312+05009 Europe/Samara Moscow+00 (Moscow+01 after 2014-10-26) - Samara, Udmurtia
|
||||
RU +5651+06036 Asia/Yekaterinburg Moscow+02 - Urals
|
||||
RU +5500+07324 Asia/Omsk Moscow+03 - west Siberia
|
||||
RU +5502+08255 Asia/Novosibirsk Moscow+03 - Novosibirsk
|
||||
RU +5345+08707 Asia/Novokuznetsk Moscow+03 - Novokuznetsk
|
||||
RU +5345+08707 Asia/Novokuznetsk Moscow+03 (Moscow+04 after 2014-10-26) - Kemerovo
|
||||
RU +5601+09250 Asia/Krasnoyarsk Moscow+04 - Yenisei River
|
||||
RU +5216+10420 Asia/Irkutsk Moscow+05 - Lake Baikal
|
||||
RU +5203+11328 Asia/Chita Moscow+06 (Moscow+05 after 2014-10-26) - Zabaykalsky
|
||||
RU +6200+12940 Asia/Yakutsk Moscow+06 - Lena River
|
||||
RU +623923+1353314 Asia/Khandyga Moscow+06 - Tomponsky, Ust-Maysky
|
||||
RU +4310+13156 Asia/Vladivostok Moscow+07 - Amur River
|
||||
RU +4658+14242 Asia/Sakhalin Moscow+07 - Sakhalin Island
|
||||
RU +643337+1431336 Asia/Ust-Nera Moscow+07 - Oymyakonsky
|
||||
RU +5934+15048 Asia/Magadan Moscow+08 - Magadan
|
||||
RU +5301+15839 Asia/Kamchatka Moscow+08 - Kamchatka
|
||||
RU +6445+17729 Asia/Anadyr Moscow+08 - Bering Sea
|
||||
RU +5934+15048 Asia/Magadan Moscow+08 (Moscow+07 after 2014-10-26) - Magadan
|
||||
RU +6728+15343 Asia/Srednekolymsk Moscow+08 - E Sakha, N Kuril Is
|
||||
RU +5301+15839 Asia/Kamchatka Moscow+08 (Moscow+09 after 2014-10-26) - Kamchatka
|
||||
RU +6445+17729 Asia/Anadyr Moscow+08 (Moscow+09 after 2014-10-26) - Bering Sea
|
||||
RW -0157+03004 Africa/Kigali
|
||||
SA +2438+04643 Asia/Riyadh
|
||||
SB -0932+16012 Pacific/Guadalcanal
|
||||
@@ -397,7 +387,6 @@ TZ -0648+03917 Africa/Dar_es_Salaam
|
||||
UA +5026+03031 Europe/Kiev most locations
|
||||
UA +4837+02218 Europe/Uzhgorod Ruthenia
|
||||
UA +4750+03510 Europe/Zaporozhye Zaporozh'ye, E Lugansk / Zaporizhia, E Luhansk
|
||||
UA +4457+03406 Europe/Simferopol central Crimea
|
||||
UG +0019+03225 Africa/Kampala
|
||||
UM +1645-16931 Pacific/Johnston Johnston Atoll
|
||||
UM +2813-17722 Pacific/Midway Midway Islands
|
||||
@@ -421,16 +410,15 @@ US +465042-1012439 America/North_Dakota/New_Salem Central Time - North Dakota -
|
||||
US +471551-1014640 America/North_Dakota/Beulah Central Time - North Dakota - Mercer County
|
||||
US +394421-1045903 America/Denver Mountain Time
|
||||
US +433649-1161209 America/Boise Mountain Time - south Idaho & east Oregon
|
||||
US +364708-1084111 America/Shiprock Mountain Time - Navajo
|
||||
US +332654-1120424 America/Phoenix Mountain Standard Time - Arizona
|
||||
US +332654-1120424 America/Phoenix Mountain Standard Time - Arizona (except Navajo)
|
||||
US +340308-1181434 America/Los_Angeles Pacific Time
|
||||
US +550737-1313435 America/Metlakatla Pacific Standard Time - Annette Island, Alaska
|
||||
US +611305-1495401 America/Anchorage Alaska Time
|
||||
US +581807-1342511 America/Juneau Alaska Time - Alaska panhandle
|
||||
US +571035-1351807 America/Sitka Alaska Time - southeast Alaska panhandle
|
||||
US +593249-1394338 America/Yakutat Alaska Time - Alaska panhandle neck
|
||||
US +643004-1652423 America/Nome Alaska Time - west Alaska
|
||||
US +515248-1763929 America/Adak Aleutian Islands
|
||||
US +550737-1313435 America/Metlakatla Metlakatla Time - Annette Island
|
||||
US +211825-1575130 Pacific/Honolulu Hawaii
|
||||
UY -3453-05611 America/Montevideo
|
||||
UZ +3940+06648 Asia/Samarkand west Uzbekistan
|
||||
|
||||
@@ -0,0 +1,370 @@
|
||||
# tz zone descriptions
|
||||
#
|
||||
# This file is in the public domain.
|
||||
#
|
||||
# From Paul Eggert (2014-07-31):
|
||||
# This file contains a table where each row stands for a zone where
|
||||
# civil time stamps have agreed since 1970. Columns are separated by
|
||||
# a single tab. Lines beginning with '#' are comments. All text uses
|
||||
# UTF-8 encoding. The columns of the table are as follows:
|
||||
#
|
||||
# 1. The countries that overlap the zone, as a comma-separated list
|
||||
# of ISO 3166 2-character country codes.
|
||||
# See the file '/usr/share/misc/iso3166'.
|
||||
# 2. Latitude and longitude of the zone's principal location
|
||||
# in ISO 6709 sign-degrees-minutes-seconds format,
|
||||
# either +-DDMM+-DDDMM or +-DDMMSS+-DDDMMSS,
|
||||
# first latitude (+ is north), then longitude (+ is east).
|
||||
# 3. Zone name used in value of TZ environment variable.
|
||||
# Please see the 'Theory' file for how zone names are chosen.
|
||||
# If multiple zones overlap a country, each has a row in the
|
||||
# table, with each column 1 containing the country code.
|
||||
# 4. Comments; present if and only if a country has multiple zones.
|
||||
#
|
||||
# If a zone covers multiple countries, the most-populous city is used,
|
||||
# and that country is listed first in column 1; any other countries
|
||||
# are listed alphabetically by country code. The table is sorted
|
||||
# first by country code, then (if possible) by an order within the
|
||||
# country that (1) makes some geographical sense, and (2) puts the
|
||||
# most populous zones first, where that does not contradict (1).
|
||||
#
|
||||
# This table is intended as an aid for users, to help them select time
|
||||
# zone data appropriate for their practical needs. It is not intended
|
||||
# to take or endorse any position on legal or territorial claims.
|
||||
#
|
||||
#country-
|
||||
#codes coordinates TZ comments
|
||||
AD +4230+00131 Europe/Andorra
|
||||
AE,OM +2518+05518 Asia/Dubai
|
||||
AF +3431+06912 Asia/Kabul
|
||||
AL +4120+01950 Europe/Tirane
|
||||
AM +4011+04430 Asia/Yerevan
|
||||
AQ -6734-06808 Antarctica/Rothera Rothera Station, Adelaide Island
|
||||
AQ -6448-06406 Antarctica/Palmer Palmer Station, Anvers Island
|
||||
AQ -6736+06253 Antarctica/Mawson Mawson Station, Holme Bay
|
||||
AQ -6835+07758 Antarctica/Davis Davis Station, Vestfold Hills
|
||||
AQ -6617+11031 Antarctica/Casey Casey Station, Bailey Peninsula
|
||||
AQ -7824+10654 Antarctica/Vostok Vostok Station, Lake Vostok
|
||||
AQ -6640+14001 Antarctica/DumontDUrville Dumont-d'Urville Station, Terre Adelie
|
||||
AQ -690022+0393524 Antarctica/Syowa Syowa Station, E Ongul I
|
||||
AQ -720041+0023206 Antarctica/Troll Troll Station, Queen Maud Land
|
||||
AR -3436-05827 America/Argentina/Buenos_Aires Buenos Aires (BA, CF)
|
||||
AR -3124-06411 America/Argentina/Cordoba most locations (CB, CC, CN, ER, FM, MN, SE, SF)
|
||||
AR -2447-06525 America/Argentina/Salta (SA, LP, NQ, RN)
|
||||
AR -2411-06518 America/Argentina/Jujuy Jujuy (JY)
|
||||
AR -2649-06513 America/Argentina/Tucuman Tucumán (TM)
|
||||
AR -2828-06547 America/Argentina/Catamarca Catamarca (CT), Chubut (CH)
|
||||
AR -2926-06651 America/Argentina/La_Rioja La Rioja (LR)
|
||||
AR -3132-06831 America/Argentina/San_Juan San Juan (SJ)
|
||||
AR -3253-06849 America/Argentina/Mendoza Mendoza (MZ)
|
||||
AR -3319-06621 America/Argentina/San_Luis San Luis (SL)
|
||||
AR -5138-06913 America/Argentina/Rio_Gallegos Santa Cruz (SC)
|
||||
AR -5448-06818 America/Argentina/Ushuaia Tierra del Fuego (TF)
|
||||
AS,UM -1416-17042 Pacific/Pago_Pago Samoa, Midway
|
||||
AT +4813+01620 Europe/Vienna
|
||||
AU -3133+15905 Australia/Lord_Howe Lord Howe Island
|
||||
AU -5430+15857 Antarctica/Macquarie Macquarie Island
|
||||
AU -4253+14719 Australia/Hobart Tasmania - most locations
|
||||
AU -3956+14352 Australia/Currie Tasmania - King Island
|
||||
AU -3749+14458 Australia/Melbourne Victoria
|
||||
AU -3352+15113 Australia/Sydney New South Wales - most locations
|
||||
AU -3157+14127 Australia/Broken_Hill New South Wales - Yancowinna
|
||||
AU -2728+15302 Australia/Brisbane Queensland - most locations
|
||||
AU -2016+14900 Australia/Lindeman Queensland - Holiday Islands
|
||||
AU -3455+13835 Australia/Adelaide South Australia
|
||||
AU -1228+13050 Australia/Darwin Northern Territory
|
||||
AU -3157+11551 Australia/Perth Western Australia - most locations
|
||||
AU -3143+12852 Australia/Eucla Western Australia - Eucla area
|
||||
AZ +4023+04951 Asia/Baku
|
||||
BB +1306-05937 America/Barbados
|
||||
BD +2343+09025 Asia/Dhaka
|
||||
BE +5050+00420 Europe/Brussels
|
||||
BG +4241+02319 Europe/Sofia
|
||||
BM +3217-06446 Atlantic/Bermuda
|
||||
BN +0456+11455 Asia/Brunei
|
||||
BO -1630-06809 America/La_Paz
|
||||
BR -0351-03225 America/Noronha Atlantic islands
|
||||
BR -0127-04829 America/Belem Amapá, E Pará
|
||||
BR -0343-03830 America/Fortaleza NE Brazil (MA, PI, CE, RN, PB)
|
||||
BR -0803-03454 America/Recife Pernambuco
|
||||
BR -0712-04812 America/Araguaina Tocantins
|
||||
BR -0940-03543 America/Maceio Alagoas, Sergipe
|
||||
BR -1259-03831 America/Bahia Bahia
|
||||
BR -2332-04637 America/Sao_Paulo S & SE Brazil (GO, DF, MG, ES, RJ, SP, PR, SC, RS)
|
||||
BR -2027-05437 America/Campo_Grande Mato Grosso do Sul
|
||||
BR -1535-05605 America/Cuiaba Mato Grosso
|
||||
BR -0226-05452 America/Santarem W Pará
|
||||
BR -0846-06354 America/Porto_Velho Rondônia
|
||||
BR +0249-06040 America/Boa_Vista Roraima
|
||||
BR -0308-06001 America/Manaus E Amazonas
|
||||
BR -0640-06952 America/Eirunepe W Amazonas
|
||||
BR -0958-06748 America/Rio_Branco Acre
|
||||
BS +2505-07721 America/Nassau
|
||||
BT +2728+08939 Asia/Thimphu
|
||||
BY +5354+02734 Europe/Minsk
|
||||
BZ +1730-08812 America/Belize
|
||||
CA +4734-05243 America/St_Johns Newfoundland Time, including SE Labrador
|
||||
CA +4439-06336 America/Halifax Atlantic Time - Nova Scotia (most places), PEI
|
||||
CA +4612-05957 America/Glace_Bay Atlantic Time - Nova Scotia - places that did not observe DST 1966-1971
|
||||
CA +4606-06447 America/Moncton Atlantic Time - New Brunswick
|
||||
CA +5320-06025 America/Goose_Bay Atlantic Time - Labrador - most locations
|
||||
CA +5125-05707 America/Blanc-Sablon Atlantic Standard Time - Quebec - Lower North Shore
|
||||
CA +4339-07923 America/Toronto Eastern Time - Ontario & Quebec - most locations
|
||||
CA +4901-08816 America/Nipigon Eastern Time - Ontario & Quebec - places that did not observe DST 1967-1973
|
||||
CA +4823-08915 America/Thunder_Bay Eastern Time - Thunder Bay, Ontario
|
||||
CA +6344-06828 America/Iqaluit Eastern Time - east Nunavut - most locations
|
||||
CA +6608-06544 America/Pangnirtung Eastern Time - Pangnirtung, Nunavut
|
||||
CA +744144-0944945 America/Resolute Central Time - Resolute, Nunavut
|
||||
CA +484531-0913718 America/Atikokan Eastern Standard Time - Atikokan, Ontario and Southampton I, Nunavut
|
||||
CA +624900-0920459 America/Rankin_Inlet Central Time - central Nunavut
|
||||
CA +4953-09709 America/Winnipeg Central Time - Manitoba & west Ontario
|
||||
CA +4843-09434 America/Rainy_River Central Time - Rainy River & Fort Frances, Ontario
|
||||
CA +5024-10439 America/Regina Central Standard Time - Saskatchewan - most locations
|
||||
CA +5017-10750 America/Swift_Current Central Standard Time - Saskatchewan - midwest
|
||||
CA +5333-11328 America/Edmonton Mountain Time - Alberta, east British Columbia & west Saskatchewan
|
||||
CA +690650-1050310 America/Cambridge_Bay Mountain Time - west Nunavut
|
||||
CA +6227-11421 America/Yellowknife Mountain Time - central Northwest Territories
|
||||
CA +682059-1334300 America/Inuvik Mountain Time - west Northwest Territories
|
||||
CA +4906-11631 America/Creston Mountain Standard Time - Creston, British Columbia
|
||||
CA +5946-12014 America/Dawson_Creek Mountain Standard Time - Dawson Creek & Fort Saint John, British Columbia
|
||||
CA +4916-12307 America/Vancouver Pacific Time - west British Columbia
|
||||
CA +6043-13503 America/Whitehorse Pacific Time - south Yukon
|
||||
CA +6404-13925 America/Dawson Pacific Time - north Yukon
|
||||
CC -1210+09655 Indian/Cocos
|
||||
CH,DE,LI +4723+00832 Europe/Zurich Swiss time
|
||||
CI,BF,GM,GN,ML,MR,SH,SL,SN,ST,TG +0519-00402 Africa/Abidjan
|
||||
CK -2114-15946 Pacific/Rarotonga
|
||||
CL -3327-07040 America/Santiago most locations
|
||||
CL -2709-10926 Pacific/Easter Easter Island
|
||||
CN +3114+12128 Asia/Shanghai Beijing Time
|
||||
CN +4348+08735 Asia/Urumqi Xinjiang Time
|
||||
CO +0436-07405 America/Bogota
|
||||
CR +0956-08405 America/Costa_Rica
|
||||
CU +2308-08222 America/Havana
|
||||
CV +1455-02331 Atlantic/Cape_Verde
|
||||
CW,AW,BQ,SX +1211-06900 America/Curacao
|
||||
CX -1025+10543 Indian/Christmas
|
||||
CY +3510+03322 Asia/Nicosia
|
||||
CZ,SK +5005+01426 Europe/Prague
|
||||
DE +5230+01322 Europe/Berlin Berlin time
|
||||
DK +5540+01235 Europe/Copenhagen
|
||||
DO +1828-06954 America/Santo_Domingo
|
||||
DZ +3647+00303 Africa/Algiers
|
||||
EC -0210-07950 America/Guayaquil mainland
|
||||
EC -0054-08936 Pacific/Galapagos Galápagos Islands
|
||||
EE +5925+02445 Europe/Tallinn
|
||||
EG +3003+03115 Africa/Cairo
|
||||
EH +2709-01312 Africa/El_Aaiun
|
||||
ES +4024-00341 Europe/Madrid mainland
|
||||
ES +3553-00519 Africa/Ceuta Ceuta & Melilla
|
||||
ES +2806-01524 Atlantic/Canary Canary Islands
|
||||
FI,AX +6010+02458 Europe/Helsinki
|
||||
FJ -1808+17825 Pacific/Fiji
|
||||
FK -5142-05751 Atlantic/Stanley
|
||||
FM +0725+15147 Pacific/Chuuk Chuuk (Truk) and Yap
|
||||
FM +0658+15813 Pacific/Pohnpei Pohnpei (Ponape)
|
||||
FM +0519+16259 Pacific/Kosrae Kosrae
|
||||
FO +6201-00646 Atlantic/Faroe
|
||||
FR +4852+00220 Europe/Paris
|
||||
GB,GG,IM,JE +513030-0000731 Europe/London
|
||||
GE +4143+04449 Asia/Tbilisi
|
||||
GF +0456-05220 America/Cayenne
|
||||
GH +0533-00013 Africa/Accra
|
||||
GI +3608-00521 Europe/Gibraltar
|
||||
GL +6411-05144 America/Godthab most locations
|
||||
GL +7646-01840 America/Danmarkshavn east coast, north of Scoresbysund
|
||||
GL +7029-02158 America/Scoresbysund Scoresbysund / Ittoqqortoormiit
|
||||
GL +7634-06847 America/Thule Thule / Pituffik
|
||||
GR +3758+02343 Europe/Athens
|
||||
GS -5416-03632 Atlantic/South_Georgia
|
||||
GT +1438-09031 America/Guatemala
|
||||
GU,MP +1328+14445 Pacific/Guam
|
||||
GW +1151-01535 Africa/Bissau
|
||||
GY +0648-05810 America/Guyana
|
||||
HK +2217+11409 Asia/Hong_Kong
|
||||
HN +1406-08713 America/Tegucigalpa
|
||||
HT +1832-07220 America/Port-au-Prince
|
||||
HU +4730+01905 Europe/Budapest
|
||||
ID -0610+10648 Asia/Jakarta Java & Sumatra
|
||||
ID -0002+10920 Asia/Pontianak west & central Borneo
|
||||
ID -0507+11924 Asia/Makassar east & south Borneo, Sulawesi (Celebes), Bali, Nusa Tengarra, west Timor
|
||||
ID -0232+14042 Asia/Jayapura west New Guinea (Irian Jaya) & Malukus (Moluccas)
|
||||
IE +5320-00615 Europe/Dublin
|
||||
IL +314650+0351326 Asia/Jerusalem
|
||||
IN +2232+08822 Asia/Kolkata
|
||||
IO -0720+07225 Indian/Chagos
|
||||
IQ +3321+04425 Asia/Baghdad
|
||||
IR +3540+05126 Asia/Tehran
|
||||
IS +6409-02151 Atlantic/Reykjavik
|
||||
IT,SM,VA +4154+01229 Europe/Rome
|
||||
JM +175805-0764736 America/Jamaica
|
||||
JO +3157+03556 Asia/Amman
|
||||
JP +353916+1394441 Asia/Tokyo
|
||||
KE,DJ,ER,ET,KM,MG,SO,TZ,UG,YT -0117+03649 Africa/Nairobi
|
||||
KG +4254+07436 Asia/Bishkek
|
||||
KI +0125+17300 Pacific/Tarawa Gilbert Islands
|
||||
KI -0308-17105 Pacific/Enderbury Phoenix Islands
|
||||
KI +0152-15720 Pacific/Kiritimati Line Islands
|
||||
KP +3901+12545 Asia/Pyongyang
|
||||
KR +3733+12658 Asia/Seoul
|
||||
KZ +4315+07657 Asia/Almaty most locations
|
||||
KZ +4448+06528 Asia/Qyzylorda Qyzylorda (Kyzylorda, Kzyl-Orda)
|
||||
KZ +5017+05710 Asia/Aqtobe Aqtobe (Aktobe)
|
||||
KZ +4431+05016 Asia/Aqtau Atyrau (Atirau, Gur'yev), Mangghystau (Mankistau)
|
||||
KZ +5113+05121 Asia/Oral West Kazakhstan
|
||||
LB +3353+03530 Asia/Beirut
|
||||
LK +0656+07951 Asia/Colombo
|
||||
LR +0618-01047 Africa/Monrovia
|
||||
LT +5441+02519 Europe/Vilnius
|
||||
LU +4936+00609 Europe/Luxembourg
|
||||
LV +5657+02406 Europe/Riga
|
||||
LY +3254+01311 Africa/Tripoli
|
||||
MA +3339-00735 Africa/Casablanca
|
||||
MC +4342+00723 Europe/Monaco
|
||||
MD +4700+02850 Europe/Chisinau
|
||||
MH +0709+17112 Pacific/Majuro most locations
|
||||
MH +0905+16720 Pacific/Kwajalein Kwajalein
|
||||
MM +1647+09610 Asia/Rangoon
|
||||
MN +4755+10653 Asia/Ulaanbaatar most locations
|
||||
MN +4801+09139 Asia/Hovd Bayan-Ölgii, Govi-Altai, Hovd, Uvs, Zavkhan
|
||||
MN +4804+11430 Asia/Choibalsan Dornod, Sükhbaatar
|
||||
MO +2214+11335 Asia/Macau
|
||||
MQ +1436-06105 America/Martinique
|
||||
MT +3554+01431 Europe/Malta
|
||||
MU -2010+05730 Indian/Mauritius
|
||||
MV +0410+07330 Indian/Maldives
|
||||
MX +1924-09909 America/Mexico_City Central Time - most locations
|
||||
MX +2105-08646 America/Cancun Central Time - Quintana Roo
|
||||
MX +2058-08937 America/Merida Central Time - Campeche, Yucatán
|
||||
MX +2540-10019 America/Monterrey Mexican Central Time - Coahuila, Durango, Nuevo León, Tamaulipas away from US border
|
||||
MX +2550-09730 America/Matamoros US Central Time - Coahuila, Durango, Nuevo León, Tamaulipas near US border
|
||||
MX +2313-10625 America/Mazatlan Mountain Time - S Baja, Nayarit, Sinaloa
|
||||
MX +2838-10605 America/Chihuahua Mexican Mountain Time - Chihuahua away from US border
|
||||
MX +2934-10425 America/Ojinaga US Mountain Time - Chihuahua near US border
|
||||
MX +2904-11058 America/Hermosillo Mountain Standard Time - Sonora
|
||||
MX +3232-11701 America/Tijuana US Pacific Time - Baja California near US border
|
||||
MX +3018-11452 America/Santa_Isabel Mexican Pacific Time - Baja California away from US border
|
||||
MX +2048-10515 America/Bahia_Banderas Mexican Central Time - Bahía de Banderas
|
||||
MY +0310+10142 Asia/Kuala_Lumpur peninsular Malaysia
|
||||
MY +0133+11020 Asia/Kuching Sabah & Sarawak
|
||||
MZ,BI,BW,CD,MW,RW,ZM,ZW -2558+03235 Africa/Maputo Central Africa Time (UTC+2)
|
||||
NA -2234+01706 Africa/Windhoek
|
||||
NC -2216+16627 Pacific/Noumea
|
||||
NF -2903+16758 Pacific/Norfolk
|
||||
NG,AO,BJ,CD,CF,CG,CM,GA,GQ,NE +0627+00324 Africa/Lagos West Africa Time (UTC+1)
|
||||
NI +1209-08617 America/Managua
|
||||
NL +5222+00454 Europe/Amsterdam
|
||||
NO,SJ +5955+01045 Europe/Oslo
|
||||
NP +2743+08519 Asia/Kathmandu
|
||||
NR -0031+16655 Pacific/Nauru
|
||||
NU -1901-16955 Pacific/Niue
|
||||
NZ,AQ -3652+17446 Pacific/Auckland New Zealand time
|
||||
NZ -4357-17633 Pacific/Chatham Chatham Islands
|
||||
PA,KY +0858-07932 America/Panama
|
||||
PE -1203-07703 America/Lima
|
||||
PF -1732-14934 Pacific/Tahiti Society Islands
|
||||
PF -0900-13930 Pacific/Marquesas Marquesas Islands
|
||||
PF -2308-13457 Pacific/Gambier Gambier Islands
|
||||
PG -0930+14710 Pacific/Port_Moresby
|
||||
PH +1435+12100 Asia/Manila
|
||||
PK +2452+06703 Asia/Karachi
|
||||
PL +5215+02100 Europe/Warsaw
|
||||
PM +4703-05620 America/Miquelon
|
||||
PN -2504-13005 Pacific/Pitcairn
|
||||
PR +182806-0660622 America/Puerto_Rico
|
||||
PS +3130+03428 Asia/Gaza Gaza Strip
|
||||
PS +313200+0350542 Asia/Hebron West Bank
|
||||
PT +3843-00908 Europe/Lisbon mainland
|
||||
PT +3238-01654 Atlantic/Madeira Madeira Islands
|
||||
PT +3744-02540 Atlantic/Azores Azores
|
||||
PW +0720+13429 Pacific/Palau
|
||||
PY -2516-05740 America/Asuncion
|
||||
QA,BH +2517+05132 Asia/Qatar
|
||||
RE,TF -2052+05528 Indian/Reunion Réunion, Crozet Is, Scattered Is
|
||||
RO +4426+02606 Europe/Bucharest
|
||||
RS,BA,HR,ME,MK,SI +4450+02030 Europe/Belgrade
|
||||
RU +5443+02030 Europe/Kaliningrad Moscow-01 - Kaliningrad
|
||||
RU +554521+0373704 Europe/Moscow Moscow+00 - west Russia
|
||||
RU +4457+03406 Europe/Simferopol Moscow+00 - Crimea
|
||||
RU +4844+04425 Europe/Volgograd Moscow+00 - Caspian Sea
|
||||
RU +5312+05009 Europe/Samara Moscow+00 (Moscow+01 after 2014-10-26) - Samara, Udmurtia
|
||||
RU +5651+06036 Asia/Yekaterinburg Moscow+02 - Urals
|
||||
RU +5500+07324 Asia/Omsk Moscow+03 - west Siberia
|
||||
RU +5502+08255 Asia/Novosibirsk Moscow+03 - Novosibirsk
|
||||
RU +5345+08707 Asia/Novokuznetsk Moscow+03 (Moscow+04 after 2014-10-26) - Kemerovo
|
||||
RU +5601+09250 Asia/Krasnoyarsk Moscow+04 - Yenisei River
|
||||
RU +5216+10420 Asia/Irkutsk Moscow+05 - Lake Baikal
|
||||
RU +5203+11328 Asia/Chita Moscow+06 (Moscow+05 after 2014-10-26) - Zabaykalsky
|
||||
RU +6200+12940 Asia/Yakutsk Moscow+06 - Lena River
|
||||
RU +623923+1353314 Asia/Khandyga Moscow+06 - Tomponsky, Ust-Maysky
|
||||
RU +4310+13156 Asia/Vladivostok Moscow+07 - Amur River
|
||||
RU +4658+14242 Asia/Sakhalin Moscow+07 - Sakhalin Island
|
||||
RU +643337+1431336 Asia/Ust-Nera Moscow+07 - Oymyakonsky
|
||||
RU +5934+15048 Asia/Magadan Moscow+08 (Moscow+07 after 2014-10-26) - Magadan
|
||||
RU +6728+15343 Asia/Srednekolymsk Moscow+08 - E Sakha, N Kuril Is
|
||||
RU +5301+15839 Asia/Kamchatka Moscow+08 (Moscow+09 after 2014-10-26) - Kamchatka
|
||||
RU +6445+17729 Asia/Anadyr Moscow+08 (Moscow+09 after 2014-10-26) - Bering Sea
|
||||
SA,KW,YE +2438+04643 Asia/Riyadh
|
||||
SB -0932+16012 Pacific/Guadalcanal
|
||||
SC -0440+05528 Indian/Mahe
|
||||
SD,SS +1536+03232 Africa/Khartoum
|
||||
SE +5920+01803 Europe/Stockholm
|
||||
SG +0117+10351 Asia/Singapore
|
||||
SR +0550-05510 America/Paramaribo
|
||||
SV +1342-08912 America/El_Salvador
|
||||
SY +3330+03618 Asia/Damascus
|
||||
TC +2128-07108 America/Grand_Turk
|
||||
TD +1207+01503 Africa/Ndjamena
|
||||
TF -492110+0701303 Indian/Kerguelen Kerguelen, St Paul I, Amsterdam I
|
||||
TH,KH,LA,VN +1345+10031 Asia/Bangkok
|
||||
TJ +3835+06848 Asia/Dushanbe
|
||||
TK -0922-17114 Pacific/Fakaofo
|
||||
TL -0833+12535 Asia/Dili
|
||||
TM +3757+05823 Asia/Ashgabat
|
||||
TN +3648+01011 Africa/Tunis
|
||||
TO -2110-17510 Pacific/Tongatapu
|
||||
TR +4101+02858 Europe/Istanbul
|
||||
TT,AG,AI,BL,DM,GD,GP,MF,LC,KN,MS,VC,VG,VI +1039-06131 America/Port_of_Spain
|
||||
TV -0831+17913 Pacific/Funafuti
|
||||
TW +2503+12130 Asia/Taipei
|
||||
UA +5026+03031 Europe/Kiev most locations
|
||||
UA +4837+02218 Europe/Uzhgorod Ruthenia
|
||||
UA +4750+03510 Europe/Zaporozhye Zaporozh'ye, E Lugansk / Zaporizhia, E Luhansk
|
||||
UM +1917+16637 Pacific/Wake Wake Island
|
||||
US +404251-0740023 America/New_York Eastern Time
|
||||
US +421953-0830245 America/Detroit Eastern Time - Michigan - most locations
|
||||
US +381515-0854534 America/Kentucky/Louisville Eastern Time - Kentucky - Louisville area
|
||||
US +364947-0845057 America/Kentucky/Monticello Eastern Time - Kentucky - Wayne County
|
||||
US +394606-0860929 America/Indiana/Indianapolis Eastern Time - Indiana - most locations
|
||||
US +384038-0873143 America/Indiana/Vincennes Eastern Time - Indiana - Daviess, Dubois, Knox & Martin Counties
|
||||
US +410305-0863611 America/Indiana/Winamac Eastern Time - Indiana - Pulaski County
|
||||
US +382232-0862041 America/Indiana/Marengo Eastern Time - Indiana - Crawford County
|
||||
US +382931-0871643 America/Indiana/Petersburg Eastern Time - Indiana - Pike County
|
||||
US +384452-0850402 America/Indiana/Vevay Eastern Time - Indiana - Switzerland County
|
||||
US +415100-0873900 America/Chicago Central Time
|
||||
US +375711-0864541 America/Indiana/Tell_City Central Time - Indiana - Perry County
|
||||
US +411745-0863730 America/Indiana/Knox Central Time - Indiana - Starke County
|
||||
US +450628-0873651 America/Menominee Central Time - Michigan - Dickinson, Gogebic, Iron & Menominee Counties
|
||||
US +470659-1011757 America/North_Dakota/Center Central Time - North Dakota - Oliver County
|
||||
US +465042-1012439 America/North_Dakota/New_Salem Central Time - North Dakota - Morton County (except Mandan area)
|
||||
US +471551-1014640 America/North_Dakota/Beulah Central Time - North Dakota - Mercer County
|
||||
US +394421-1045903 America/Denver Mountain Time
|
||||
US +433649-1161209 America/Boise Mountain Time - south Idaho & east Oregon
|
||||
US +332654-1120424 America/Phoenix Mountain Standard Time - Arizona (except Navajo)
|
||||
US +340308-1181434 America/Los_Angeles Pacific Time
|
||||
US +550737-1313435 America/Metlakatla Pacific Standard Time - Annette Island, Alaska
|
||||
US +611305-1495401 America/Anchorage Alaska Time
|
||||
US +581807-1342511 America/Juneau Alaska Time - Alaska panhandle
|
||||
US +571035-1351807 America/Sitka Alaska Time - southeast Alaska panhandle
|
||||
US +593249-1394338 America/Yakutat Alaska Time - Alaska panhandle neck
|
||||
US +643004-1652423 America/Nome Alaska Time - west Alaska
|
||||
US +515248-1763929 America/Adak Aleutian Islands
|
||||
US,UM +211825-1575130 Pacific/Honolulu Hawaii time
|
||||
UY -3453-05611 America/Montevideo
|
||||
UZ +3940+06648 Asia/Samarkand west Uzbekistan
|
||||
UZ +4120+06918 Asia/Tashkent east Uzbekistan
|
||||
VE +1030-06656 America/Caracas
|
||||
VU -1740+16825 Pacific/Efate
|
||||
WF -1318-17610 Pacific/Wallis
|
||||
WS -1350-17144 Pacific/Apia
|
||||
ZA,LS,SZ -2615+02800 Africa/Johannesburg
|
||||
@@ -117,6 +117,7 @@ iter_new(struct module_qstate* qstate, int id)
|
||||
iq->query_restart_count = 0;
|
||||
iq->referral_count = 0;
|
||||
iq->sent_count = 0;
|
||||
iq->target_count = NULL;
|
||||
iq->wait_priming_stub = 0;
|
||||
iq->refetch_glue = 0;
|
||||
iq->dnssec_expected = 0;
|
||||
@@ -442,6 +443,26 @@ handle_cname_response(struct module_qstate* qstate, struct iter_qstate* iq,
|
||||
return 1;
|
||||
}
|
||||
|
||||
/** create target count structure for this query */
|
||||
static void
|
||||
target_count_create(struct iter_qstate* iq)
|
||||
{
|
||||
if(!iq->target_count) {
|
||||
iq->target_count = (int*)calloc(2, sizeof(int));
|
||||
/* if calloc fails we simply do not track this number */
|
||||
if(iq->target_count)
|
||||
iq->target_count[0] = 1;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
target_count_increase(struct iter_qstate* iq, int num)
|
||||
{
|
||||
target_count_create(iq);
|
||||
if(iq->target_count)
|
||||
iq->target_count[1] += num;
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate a subrequest.
|
||||
* Generate a local request event. Local events are tied to this module, and
|
||||
@@ -513,6 +534,10 @@ generate_sub_request(uint8_t* qname, size_t qnamelen, uint16_t qtype,
|
||||
subiq = (struct iter_qstate*)subq->minfo[id];
|
||||
memset(subiq, 0, sizeof(*subiq));
|
||||
subiq->num_target_queries = 0;
|
||||
target_count_create(iq);
|
||||
subiq->target_count = iq->target_count;
|
||||
if(iq->target_count)
|
||||
iq->target_count[0] ++; /* extra reference */
|
||||
subiq->num_current_queries = 0;
|
||||
subiq->depth = iq->depth+1;
|
||||
outbound_list_init(&subiq->outlist);
|
||||
@@ -1339,6 +1364,12 @@ query_for_targets(struct module_qstate* qstate, struct iter_qstate* iq,
|
||||
|
||||
if(iq->depth == ie->max_dependency_depth)
|
||||
return 0;
|
||||
if(iq->depth > 0 && iq->target_count &&
|
||||
iq->target_count[1] > MAX_TARGET_COUNT) {
|
||||
verbose(VERB_QUERY, "request has exceeded the maximum "
|
||||
"number of glue fetches %d", iq->target_count[1]);
|
||||
return 0;
|
||||
}
|
||||
|
||||
iter_mark_cycle_targets(qstate, iq->dp);
|
||||
missing = (int)delegpt_count_missing_targets(iq->dp);
|
||||
@@ -1487,6 +1518,7 @@ processLastResort(struct module_qstate* qstate, struct iter_qstate* iq,
|
||||
return error_response(qstate, id, LDNS_RCODE_SERVFAIL);
|
||||
}
|
||||
iq->num_target_queries += qs;
|
||||
target_count_increase(iq, qs);
|
||||
if(qs != 0) {
|
||||
qstate->ext_state[id] = module_wait_subquery;
|
||||
return 0; /* and wait for them */
|
||||
@@ -1496,6 +1528,12 @@ processLastResort(struct module_qstate* qstate, struct iter_qstate* iq,
|
||||
verbose(VERB_QUERY, "maxdepth and need more nameservers, fail");
|
||||
return error_response_cache(qstate, id, LDNS_RCODE_SERVFAIL);
|
||||
}
|
||||
if(iq->depth > 0 && iq->target_count &&
|
||||
iq->target_count[1] > MAX_TARGET_COUNT) {
|
||||
verbose(VERB_QUERY, "request has exceeded the maximum "
|
||||
"number of glue fetches %d", iq->target_count[1]);
|
||||
return error_response_cache(qstate, id, LDNS_RCODE_SERVFAIL);
|
||||
}
|
||||
/* mark cycle targets for parent-side lookups */
|
||||
iter_mark_pside_cycle_targets(qstate, iq->dp);
|
||||
/* see if we can issue queries to get nameserver addresses */
|
||||
@@ -1525,6 +1563,7 @@ processLastResort(struct module_qstate* qstate, struct iter_qstate* iq,
|
||||
if(query_count != 0) { /* suspend to await results */
|
||||
verbose(VERB_ALGO, "try parent-side glue lookup");
|
||||
iq->num_target_queries += query_count;
|
||||
target_count_increase(iq, query_count);
|
||||
qstate->ext_state[id] = module_wait_subquery;
|
||||
return 0;
|
||||
}
|
||||
@@ -1680,6 +1719,7 @@ processQueryTargets(struct module_qstate* qstate, struct iter_qstate* iq,
|
||||
return error_response(qstate, id, LDNS_RCODE_SERVFAIL);
|
||||
}
|
||||
iq->num_target_queries += extra;
|
||||
target_count_increase(iq, extra);
|
||||
if(iq->num_target_queries > 0) {
|
||||
/* wait to get all targets, we want to try em */
|
||||
verbose(VERB_ALGO, "wait for all targets for fallback");
|
||||
@@ -1720,6 +1760,7 @@ processQueryTargets(struct module_qstate* qstate, struct iter_qstate* iq,
|
||||
/* errors ignored, these targets are not strictly necessary for
|
||||
* this result, we do not have to reply with SERVFAIL */
|
||||
iq->num_target_queries += extra;
|
||||
target_count_increase(iq, extra);
|
||||
}
|
||||
|
||||
/* Add the current set of unused targets to our queue. */
|
||||
@@ -1765,6 +1806,7 @@ processQueryTargets(struct module_qstate* qstate, struct iter_qstate* iq,
|
||||
return 1;
|
||||
}
|
||||
iq->num_target_queries += qs;
|
||||
target_count_increase(iq, qs);
|
||||
}
|
||||
/* Since a target query might have been made, we
|
||||
* need to check again. */
|
||||
@@ -2847,6 +2889,8 @@ iter_clear(struct module_qstate* qstate, int id)
|
||||
iq = (struct iter_qstate*)qstate->minfo[id];
|
||||
if(iq) {
|
||||
outbound_list_clear(&iq->outlist);
|
||||
if(iq->target_count && --iq->target_count[0] == 0)
|
||||
free(iq->target_count);
|
||||
iq->num_current_queries = 0;
|
||||
}
|
||||
qstate->minfo[id] = NULL;
|
||||
|
||||
@@ -52,6 +52,8 @@ struct iter_donotq;
|
||||
struct iter_prep_list;
|
||||
struct iter_priv;
|
||||
|
||||
/** max number of targets spawned for a query and its subqueries */
|
||||
#define MAX_TARGET_COUNT 32
|
||||
/** max number of query restarts. Determines max number of CNAME chain. */
|
||||
#define MAX_RESTART_COUNT 8
|
||||
/** max number of referrals. Makes sure resolver does not run away */
|
||||
@@ -254,6 +256,10 @@ struct iter_qstate {
|
||||
|
||||
/** number of queries fired off */
|
||||
int sent_count;
|
||||
|
||||
/** number of target queries spawned in [1], for this query and its
|
||||
* subqueries, the malloced-array is shared, [0] refcount. */
|
||||
int* target_count;
|
||||
|
||||
/**
|
||||
* The query must store NS records from referrals as parentside RRs
|
||||
|
||||
@@ -119,7 +119,7 @@ _gsskrb5_pseudo_random(OM_uint32 *minor_status,
|
||||
while(dol > 0) {
|
||||
size_t tsize;
|
||||
|
||||
_gsskrb5_encode_om_uint32(num, input.data);
|
||||
_gsskrb5_encode_be_om_uint32(num, input.data);
|
||||
|
||||
ret = krb5_crypto_prf(context, crypto, &input, &output);
|
||||
if (ret) {
|
||||
@@ -133,7 +133,7 @@ _gsskrb5_pseudo_random(OM_uint32 *minor_status,
|
||||
|
||||
tsize = min(dol, output.length);
|
||||
memcpy(p, output.data, tsize);
|
||||
p += output.length;
|
||||
p += tsize;
|
||||
dol -= tsize;
|
||||
krb5_data_free(&output);
|
||||
num++;
|
||||
|
||||
@@ -1,3 +1,20 @@
|
||||
20131108
|
||||
- (djm) OpenBSD CVS Sync
|
||||
- [email protected] 2013/11/06 16:52:11
|
||||
[monitor_wrap.c]
|
||||
fix rekeying for AES-GCM modes; ok deraadt
|
||||
- [email protected] 2013/11/08 00:39:15
|
||||
[auth-options.c auth2-chall.c authfd.c channels.c cipher-3des1.c]
|
||||
[clientloop.c gss-genr.c monitor_mm.c packet.c schnorr.c umac.c]
|
||||
[sftp-client.c sftp-glob.c]
|
||||
use calloc for all structure allocations; from markus@
|
||||
- (djm) [README contrib/caldera/openssh.spec contrib/redhat/openssh.spec]
|
||||
[contrib/suse/openssh.spec] update version numbers
|
||||
- [email protected] 2013/11/08 01:38:11
|
||||
[version.h]
|
||||
openssh-6.4
|
||||
- (djm) Release 6.4p1
|
||||
|
||||
20130913
|
||||
- (djm) [channels.c] Fix unaligned access on sparc machines in SOCKS5 code;
|
||||
ok dtucker@
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
See http://www.openssh.com/txt/release-6.3 for the release notes.
|
||||
See http://www.openssh.com/txt/release-6.4 for the release notes.
|
||||
|
||||
- A Japanese translation of this document and of the OpenSSH FAQ is
|
||||
- available at http://www.unixuser.org/~haruyama/security/openssh/index.html
|
||||
@@ -62,4 +62,4 @@ References -
|
||||
[6] http://www.openbsd.org/cgi-bin/man.cgi?query=style&sektion=9
|
||||
[7] http://www.openssh.com/faq.html
|
||||
|
||||
$Id: README,v 1.83 2013/07/25 02:34:00 djm Exp $
|
||||
$Id: README,v 1.83.4.1 2013/11/08 01:36:17 djm Exp $
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: auth-options.c,v 1.59 2013/07/12 00:19:58 djm Exp $ */
|
||||
/* $OpenBSD: auth-options.c,v 1.61 2013/11/08 00:39:14 djm Exp $ */
|
||||
/*
|
||||
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
||||
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
||||
@@ -239,7 +239,7 @@ auth_parse_options(struct passwd *pw, char *opts, char *file, u_long linenum)
|
||||
auth_debug_add("Adding to environment: %.900s", s);
|
||||
debug("Adding to environment: %.900s", s);
|
||||
opts++;
|
||||
new_envstring = xmalloc(sizeof(struct envstring));
|
||||
new_envstring = xcalloc(1, sizeof(struct envstring));
|
||||
new_envstring->s = s;
|
||||
new_envstring->next = custom_environment;
|
||||
custom_environment = new_envstring;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: auth2-chall.c,v 1.38 2013/05/17 00:13:13 djm Exp $ */
|
||||
/* $OpenBSD: auth2-chall.c,v 1.39 2013/11/08 00:39:14 djm Exp $ */
|
||||
/*
|
||||
* Copyright (c) 2001 Markus Friedl. All rights reserved.
|
||||
* Copyright (c) 2001 Per Allansson. All rights reserved.
|
||||
@@ -111,7 +111,7 @@ kbdint_alloc(const char *devs)
|
||||
remove_kbdint_device("pam");
|
||||
#endif
|
||||
|
||||
kbdintctxt = xmalloc(sizeof(KbdintAuthctxt));
|
||||
kbdintctxt = xcalloc(1, sizeof(KbdintAuthctxt));
|
||||
if (strcmp(devs, "") == 0) {
|
||||
buffer_init(&b);
|
||||
for (i = 0; devices[i]; i++) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: authfd.c,v 1.87 2013/05/17 00:13:13 djm Exp $ */
|
||||
/* $OpenBSD: authfd.c,v 1.88 2013/11/08 00:39:14 djm Exp $ */
|
||||
/*
|
||||
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
||||
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
||||
@@ -206,7 +206,7 @@ ssh_get_authentication_connection(void)
|
||||
if (sock < 0)
|
||||
return NULL;
|
||||
|
||||
auth = xmalloc(sizeof(*auth));
|
||||
auth = xcalloc(1, sizeof(*auth));
|
||||
auth->fd = sock;
|
||||
buffer_init(&auth->identities);
|
||||
auth->howmany = 0;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: channels.c,v 1.324 2013/07/12 00:19:58 djm Exp $ */
|
||||
/* $OpenBSD: channels.c,v 1.327 2013/11/08 00:39:15 djm Exp $ */
|
||||
/* $FreeBSD$ */
|
||||
/*
|
||||
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
||||
@@ -711,7 +711,7 @@ channel_register_status_confirm(int id, channel_confirm_cb *cb,
|
||||
if ((c = channel_lookup(id)) == NULL)
|
||||
fatal("channel_register_expect: %d: bad id", id);
|
||||
|
||||
cc = xmalloc(sizeof(*cc));
|
||||
cc = xcalloc(1, sizeof(*cc));
|
||||
cc->cb = cb;
|
||||
cc->abandon_cb = abandon_cb;
|
||||
cc->ctx = ctx;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: cipher-3des1.c,v 1.8 2013/05/17 00:13:13 djm Exp $ */
|
||||
/* $OpenBSD: cipher-3des1.c,v 1.9 2013/11/08 00:39:15 djm Exp $ */
|
||||
/*
|
||||
* Copyright (c) 2003 Markus Friedl. All rights reserved.
|
||||
*
|
||||
@@ -67,7 +67,7 @@ ssh1_3des_init(EVP_CIPHER_CTX *ctx, const u_char *key, const u_char *iv,
|
||||
u_char *k1, *k2, *k3;
|
||||
|
||||
if ((c = EVP_CIPHER_CTX_get_app_data(ctx)) == NULL) {
|
||||
c = xmalloc(sizeof(*c));
|
||||
c = xcalloc(1, sizeof(*c));
|
||||
EVP_CIPHER_CTX_set_app_data(ctx, c);
|
||||
}
|
||||
if (key == NULL)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: clientloop.c,v 1.253 2013/06/07 15:37:52 dtucker Exp $ */
|
||||
/* $OpenBSD: clientloop.c,v 1.255 2013/11/08 00:39:15 djm Exp $ */
|
||||
/* $FreeBSD$ */
|
||||
/*
|
||||
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
||||
@@ -838,7 +838,7 @@ void
|
||||
client_expect_confirm(int id, const char *request,
|
||||
enum confirm_action action)
|
||||
{
|
||||
struct channel_reply_ctx *cr = xmalloc(sizeof(*cr));
|
||||
struct channel_reply_ctx *cr = xcalloc(1, sizeof(*cr));
|
||||
|
||||
cr->request_type = request;
|
||||
cr->action = action;
|
||||
@@ -861,7 +861,7 @@ client_register_global_confirm(global_confirm_cb *cb, void *ctx)
|
||||
return;
|
||||
}
|
||||
|
||||
gc = xmalloc(sizeof(*gc));
|
||||
gc = xcalloc(1, sizeof(*gc));
|
||||
gc->cb = cb;
|
||||
gc->ctx = ctx;
|
||||
gc->ref_count = 1;
|
||||
@@ -1439,7 +1439,7 @@ client_new_escape_filter_ctx(int escape_char)
|
||||
{
|
||||
struct escape_filter_ctx *ret;
|
||||
|
||||
ret = xmalloc(sizeof(*ret));
|
||||
ret = xcalloc(1, sizeof(*ret));
|
||||
ret->escape_pending = 0;
|
||||
ret->escape_char = escape_char;
|
||||
return (void *)ret;
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
#old cvs stuff. please update before use. may be deprecated.
|
||||
%define use_stable 1
|
||||
%define version 6.3p1
|
||||
%define version 6.4p1
|
||||
%if %{use_stable}
|
||||
%define cvs %{nil}
|
||||
%define release 1
|
||||
@@ -363,4 +363,4 @@ fi
|
||||
* Mon Jan 01 1998 ...
|
||||
Template Version: 1.31
|
||||
|
||||
$Id: openssh.spec,v 1.80 2013/07/25 02:34:00 djm Exp $
|
||||
$Id: openssh.spec,v 1.80.4.1 2013/11/08 01:36:19 djm Exp $
|
||||
@@ -1,4 +1,4 @@
|
||||
%define ver 6.3p1
|
||||
%define ver 6.4p1
|
||||
%define rel 1
|
||||
|
||||
# OpenSSH privilege separation requires a user & group ID
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
Summary: OpenSSH, a free Secure Shell (SSH) protocol implementation
|
||||
Name: openssh
|
||||
Version: 6.3p1
|
||||
Version: 6.4p1
|
||||
URL: http://www.openssh.com/
|
||||
Release: 1
|
||||
Source0: openssh-%{version}.tar.gz
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: gss-genr.c,v 1.21 2013/05/17 00:13:13 djm Exp $ */
|
||||
/* $OpenBSD: gss-genr.c,v 1.22 2013/11/08 00:39:15 djm Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2001-2007 Simon Wilkinson. All rights reserved.
|
||||
@@ -62,7 +62,7 @@ ssh_gssapi_set_oid_data(Gssctxt *ctx, void *data, size_t len)
|
||||
free(ctx->oid->elements);
|
||||
free(ctx->oid);
|
||||
}
|
||||
ctx->oid = xmalloc(sizeof(gss_OID_desc));
|
||||
ctx->oid = xcalloc(1, sizeof(gss_OID_desc));
|
||||
ctx->oid->length = len;
|
||||
ctx->oid->elements = xmalloc(len);
|
||||
memcpy(ctx->oid->elements, data, len);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: monitor_mm.c,v 1.17 2013/05/17 00:13:13 djm Exp $ */
|
||||
/* $OpenBSD: monitor_mm.c,v 1.18 2013/11/08 00:39:15 djm Exp $ */
|
||||
/*
|
||||
* Copyright 2002 Niels Provos <provos@citi.umich.edu>
|
||||
* All rights reserved.
|
||||
@@ -65,7 +65,7 @@ mm_make_entry(struct mm_master *mm, struct mmtree *head,
|
||||
struct mm_share *tmp, *tmp2;
|
||||
|
||||
if (mm->mmalloc == NULL)
|
||||
tmp = xmalloc(sizeof(struct mm_share));
|
||||
tmp = xcalloc(1, sizeof(struct mm_share));
|
||||
else
|
||||
tmp = mm_xmalloc(mm->mmalloc, sizeof(struct mm_share));
|
||||
tmp->address = address;
|
||||
@@ -88,7 +88,7 @@ mm_create(struct mm_master *mmalloc, size_t size)
|
||||
struct mm_master *mm;
|
||||
|
||||
if (mmalloc == NULL)
|
||||
mm = xmalloc(sizeof(struct mm_master));
|
||||
mm = xcalloc(1, sizeof(struct mm_master));
|
||||
else
|
||||
mm = mm_xmalloc(mmalloc, sizeof(struct mm_master));
|
||||
|
||||
@@ -161,6 +161,7 @@ mm_xmalloc(struct mm_master *mm, size_t size)
|
||||
address = mm_malloc(mm, size);
|
||||
if (address == NULL)
|
||||
fatal("%s: mm_malloc(%lu)", __func__, (u_long)size);
|
||||
memset(address, 0, size);
|
||||
return (address);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: monitor_wrap.c,v 1.76 2013/05/17 00:13:13 djm Exp $ */
|
||||
/* $OpenBSD: monitor_wrap.c,v 1.77 2013/11/06 16:52:11 markus Exp $ */
|
||||
/*
|
||||
* Copyright 2002 Niels Provos <provos@citi.umich.edu>
|
||||
* Copyright 2002 Markus Friedl <markus@openbsd.org>
|
||||
@@ -482,7 +482,7 @@ mm_newkeys_from_blob(u_char *blob, int blen)
|
||||
buffer_init(&b);
|
||||
buffer_append(&b, blob, blen);
|
||||
|
||||
newkey = xmalloc(sizeof(*newkey));
|
||||
newkey = xcalloc(1, sizeof(*newkey));
|
||||
enc = &newkey->enc;
|
||||
mac = &newkey->mac;
|
||||
comp = &newkey->comp;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: packet.c,v 1.188 2013/07/12 00:19:58 djm Exp $ */
|
||||
/* $OpenBSD: packet.c,v 1.189 2013/11/08 00:39:15 djm Exp $ */
|
||||
/*
|
||||
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
||||
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
||||
@@ -999,7 +999,7 @@ packet_send2(void)
|
||||
(type == SSH2_MSG_SERVICE_REQUEST) ||
|
||||
(type == SSH2_MSG_SERVICE_ACCEPT)) {
|
||||
debug("enqueue packet: %u", type);
|
||||
p = xmalloc(sizeof(*p));
|
||||
p = xcalloc(1, sizeof(*p));
|
||||
p->type = type;
|
||||
memcpy(&p->payload, &active_state->outgoing_packet,
|
||||
sizeof(Buffer));
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: schnorr.c,v 1.7 2013/05/17 00:13:14 djm Exp $ */
|
||||
/* $OpenBSD: schnorr.c,v 1.8 2013/11/08 00:39:15 djm Exp $ */
|
||||
/* $FreeBSD$ */
|
||||
/*
|
||||
* Copyright (c) 2008 Damien Miller. All rights reserved.
|
||||
@@ -552,7 +552,7 @@ modp_group_from_g_and_safe_p(const char *grp_g, const char *grp_p)
|
||||
{
|
||||
struct modp_group *ret;
|
||||
|
||||
ret = xmalloc(sizeof(*ret));
|
||||
ret = xcalloc(1, sizeof(*ret));
|
||||
ret->p = ret->q = ret->g = NULL;
|
||||
if (BN_hex2bn(&ret->p, grp_p) == 0 ||
|
||||
BN_hex2bn(&ret->g, grp_g) == 0)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: sftp-client.c,v 1.101 2013/07/25 00:56:51 djm Exp $ */
|
||||
/* $OpenBSD: sftp-client.c,v 1.108 2013/11/08 00:39:15 djm Exp $ */
|
||||
/*
|
||||
* Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org>
|
||||
*
|
||||
@@ -471,7 +471,7 @@ do_lsreaddir(struct sftp_conn *conn, char *path, int printflag,
|
||||
|
||||
if (dir) {
|
||||
ents = 0;
|
||||
*dir = xmalloc(sizeof(**dir));
|
||||
*dir = xcalloc(1, sizeof(**dir));
|
||||
(*dir)[0] = NULL;
|
||||
}
|
||||
|
||||
@@ -545,7 +545,7 @@ do_lsreaddir(struct sftp_conn *conn, char *path, int printflag,
|
||||
|
||||
if (dir) {
|
||||
*dir = xrealloc(*dir, ents + 2, sizeof(**dir));
|
||||
(*dir)[ents] = xmalloc(sizeof(***dir));
|
||||
(*dir)[ents] = xcalloc(1, sizeof(***dir));
|
||||
(*dir)[ents]->filename = xstrdup(filename);
|
||||
(*dir)[ents]->longname = xstrdup(longname);
|
||||
memcpy(&(*dir)[ents]->a, a, sizeof(*a));
|
||||
@@ -564,7 +564,7 @@ do_lsreaddir(struct sftp_conn *conn, char *path, int printflag,
|
||||
/* Don't return partial matches on interrupt */
|
||||
if (interrupted && dir != NULL && *dir != NULL) {
|
||||
free_sftp_dirents(*dir);
|
||||
*dir = xmalloc(sizeof(**dir));
|
||||
*dir = xcalloc(1, sizeof(**dir));
|
||||
**dir = NULL;
|
||||
}
|
||||
|
||||
@@ -1105,7 +1105,7 @@ do_download(struct sftp_conn *conn, char *remote_path, char *local_path,
|
||||
(unsigned long long)offset,
|
||||
(unsigned long long)offset + buflen - 1,
|
||||
num_req, max_req);
|
||||
req = xmalloc(sizeof(*req));
|
||||
req = xcalloc(1, sizeof(*req));
|
||||
req->id = conn->msg_id++;
|
||||
req->len = buflen;
|
||||
req->offset = offset;
|
||||
@@ -1463,7 +1463,7 @@ do_upload(struct sftp_conn *conn, char *local_path, char *remote_path,
|
||||
strerror(errno));
|
||||
|
||||
if (len != 0) {
|
||||
ack = xmalloc(sizeof(*ack));
|
||||
ack = xcalloc(1, sizeof(*ack));
|
||||
ack->id = ++id;
|
||||
ack->offset = offset;
|
||||
ack->len = len;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: sftp-glob.c,v 1.24 2013/05/17 00:13:14 djm Exp $ */
|
||||
/* $OpenBSD: sftp-glob.c,v 1.25 2013/11/08 00:39:15 djm Exp $ */
|
||||
/*
|
||||
* Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org>
|
||||
*
|
||||
@@ -48,7 +48,7 @@ fudge_opendir(const char *path)
|
||||
{
|
||||
struct SFTP_OPENDIR *r;
|
||||
|
||||
r = xmalloc(sizeof(*r));
|
||||
r = xcalloc(1, sizeof(*r));
|
||||
|
||||
if (do_readdir(cur.conn, (char *)path, &r->dir)) {
|
||||
free(r);
|
||||
|
||||
@@ -61,9 +61,8 @@ DESCRIPTION
|
||||
SEE ALSO
|
||||
sftp(1), ssh(1), sshd_config(5), sshd(8)
|
||||
|
||||
T. Ylonen and S. Lehtinen, SSH File Transfer Protocol,
|
||||
draft-ietf-secsh-filexfer-02.txt, October 2001, work in progress
|
||||
material.
|
||||
T. Ylonen and S. Lehtinen, SSH File Transfer Protocol, draft-ietf-secsh-
|
||||
filexfer-02.txt, October 2001, work in progress material.
|
||||
|
||||
HISTORY
|
||||
sftp-server first appeared in OpenBSD 2.8.
|
||||
|
||||
@@ -342,8 +342,7 @@ SEE ALSO
|
||||
ftp(1), ls(1), scp(1), ssh(1), ssh-add(1), ssh-keygen(1), glob(3),
|
||||
ssh_config(5), sftp-server(8), sshd(8)
|
||||
|
||||
T. Ylonen and S. Lehtinen, SSH File Transfer Protocol,
|
||||
draft-ietf-secsh-filexfer-00.txt, January 2001, work in progress
|
||||
material.
|
||||
T. Ylonen and S. Lehtinen, SSH File Transfer Protocol, draft-ietf-secsh-
|
||||
filexfer-00.txt, January 2001, work in progress material.
|
||||
|
||||
OpenBSD 5.4 July 25, 2013 OpenBSD 5.4
|
||||
@@ -48,4 +48,4 @@
|
||||
# ProxyCommand ssh -q -W %h:%p gateway.example.com
|
||||
# RekeyLimit 1G 1h
|
||||
# VerifyHostKeyDNS yes
|
||||
# VersionAddendum FreeBSD-20130918
|
||||
# VersionAddendum FreeBSD-20131111
|
||||
@@ -1259,7 +1259,7 @@ See also VERIFYING HOST KEYS in
|
||||
Specifies a string to append to the regular version string to identify
|
||||
OS- or site-specific modifications.
|
||||
The default is
|
||||
.Dq FreeBSD-20130918 .
|
||||
.Dq FreeBSD-20131111 .
|
||||
.It Cm VisualHostKey
|
||||
If this flag is set to
|
||||
.Dq yes ,
|
||||
|
||||
@@ -118,7 +118,7 @@
|
||||
#MaxStartups 10:30:100
|
||||
#PermitTunnel no
|
||||
#ChrootDirectory none
|
||||
#VersionAddendum FreeBSD-20130918
|
||||
#VersionAddendum FreeBSD-20131111
|
||||
|
||||
# no default banner path
|
||||
#Banner none
|
||||
|
||||
@@ -1217,7 +1217,7 @@ restrictions.
|
||||
Optionally specifies additional text to append to the SSH protocol banner
|
||||
sent by the server upon connection.
|
||||
The default is
|
||||
.Dq FreeBSD-20130918 .
|
||||
.Dq FreeBSD-20131111 .
|
||||
.It Cm X11DisplayOffset
|
||||
Specifies the first display number available for
|
||||
.Xr sshd 8 Ns 's
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: umac.c,v 1.7 2013/07/22 05:00:17 djm Exp $ */
|
||||
/* $OpenBSD: umac.c,v 1.8 2013/11/08 00:39:15 djm Exp $ */
|
||||
/* -----------------------------------------------------------------------
|
||||
*
|
||||
* umac.c -- C Implementation UMAC Message Authentication
|
||||
@@ -1227,7 +1227,7 @@ struct umac_ctx *umac_new(const u_char key[])
|
||||
size_t bytes_to_add;
|
||||
aes_int_key prf_key;
|
||||
|
||||
octx = ctx = xmalloc(sizeof(*ctx) + ALLOC_BOUNDARY);
|
||||
octx = ctx = xcalloc(1, sizeof(*ctx) + ALLOC_BOUNDARY);
|
||||
if (ctx) {
|
||||
if (ALLOC_BOUNDARY) {
|
||||
bytes_to_add = ALLOC_BOUNDARY -
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
/* $OpenBSD: version.h,v 1.67 2013/07/25 00:57:37 djm Exp $ */
|
||||
/* $OpenBSD: version.h,v 1.68 2013/11/08 01:38:11 djm Exp $ */
|
||||
/* $FreeBSD$ */
|
||||
|
||||
#define SSH_VERSION "OpenSSH_6.3"
|
||||
#define SSH_VERSION "OpenSSH_6.4"
|
||||
|
||||
#define SSH_PORTABLE "p1"
|
||||
#define SSH_RELEASE SSH_VERSION SSH_PORTABLE
|
||||
|
||||
#define SSH_VERSION_FREEBSD "FreeBSD-20130918"
|
||||
#define SSH_VERSION_FREEBSD "FreeBSD-20131111"
|
||||
#define SSH_VERSION_HPN "_hpn13v11"
|
||||
@@ -10,13 +10,18 @@ OpenSSL project.
|
||||
We would like to identify and thank the following such sponsors for their past
|
||||
or current significant support of the OpenSSL project:
|
||||
|
||||
Major support:
|
||||
|
||||
Qualys http://www.qualys.com/
|
||||
|
||||
Very significant support:
|
||||
|
||||
OpenGear: www.opengear.com
|
||||
OpenGear: http://www.opengear.com/
|
||||
|
||||
Significant support:
|
||||
|
||||
PSW Group: www.psw.net
|
||||
PSW Group: http://www.psw.net/
|
||||
Acano Ltd. http://acano.com/
|
||||
|
||||
Please note that we ask permission to identify sponsors and that some sponsors
|
||||
we consider eligible for inclusion here have requested to remain anonymous.
|
||||
|
||||
+506
-2
@@ -2,9 +2,376 @@
|
||||
OpenSSL CHANGES
|
||||
_______________
|
||||
|
||||
Changes between 1.0.1k and 1.0.1l [15 Jan 2015]
|
||||
|
||||
*) Build fixes for the Windows and OpenVMS platforms
|
||||
[Matt Caswell and Richard Levitte]
|
||||
|
||||
Changes between 1.0.1j and 1.0.1k [8 Jan 2015]
|
||||
|
||||
*) Fix DTLS segmentation fault in dtls1_get_record. A carefully crafted DTLS
|
||||
message can cause a segmentation fault in OpenSSL due to a NULL pointer
|
||||
dereference. This could lead to a Denial Of Service attack. Thanks to
|
||||
Markus Stenberg of Cisco Systems, Inc. for reporting this issue.
|
||||
(CVE-2014-3571)
|
||||
[Steve Henson]
|
||||
|
||||
*) Fix DTLS memory leak in dtls1_buffer_record. A memory leak can occur in the
|
||||
dtls1_buffer_record function under certain conditions. In particular this
|
||||
could occur if an attacker sent repeated DTLS records with the same
|
||||
sequence number but for the next epoch. The memory leak could be exploited
|
||||
by an attacker in a Denial of Service attack through memory exhaustion.
|
||||
Thanks to Chris Mueller for reporting this issue.
|
||||
(CVE-2015-0206)
|
||||
[Matt Caswell]
|
||||
|
||||
*) Fix issue where no-ssl3 configuration sets method to NULL. When openssl is
|
||||
built with the no-ssl3 option and a SSL v3 ClientHello is received the ssl
|
||||
method would be set to NULL which could later result in a NULL pointer
|
||||
dereference. Thanks to Frank Schmirler for reporting this issue.
|
||||
(CVE-2014-3569)
|
||||
[Kurt Roeckx]
|
||||
|
||||
*) Abort handshake if server key exchange message is omitted for ephemeral
|
||||
ECDH ciphersuites.
|
||||
|
||||
Thanks to Karthikeyan Bhargavan of the PROSECCO team at INRIA for
|
||||
reporting this issue.
|
||||
(CVE-2014-3572)
|
||||
[Steve Henson]
|
||||
|
||||
*) Remove non-export ephemeral RSA code on client and server. This code
|
||||
violated the TLS standard by allowing the use of temporary RSA keys in
|
||||
non-export ciphersuites and could be used by a server to effectively
|
||||
downgrade the RSA key length used to a value smaller than the server
|
||||
certificate. Thanks for Karthikeyan Bhargavan of the PROSECCO team at
|
||||
INRIA or reporting this issue.
|
||||
(CVE-2015-0204)
|
||||
[Steve Henson]
|
||||
|
||||
*) Fixed issue where DH client certificates are accepted without verification.
|
||||
An OpenSSL server will accept a DH certificate for client authentication
|
||||
without the certificate verify message. This effectively allows a client to
|
||||
authenticate without the use of a private key. This only affects servers
|
||||
which trust a client certificate authority which issues certificates
|
||||
containing DH keys: these are extremely rare and hardly ever encountered.
|
||||
Thanks for Karthikeyan Bhargavan of the PROSECCO team at INRIA or reporting
|
||||
this issue.
|
||||
(CVE-2015-0205)
|
||||
[Steve Henson]
|
||||
|
||||
*) Ensure that the session ID context of an SSL is updated when its
|
||||
SSL_CTX is updated via SSL_set_SSL_CTX.
|
||||
|
||||
The session ID context is typically set from the parent SSL_CTX,
|
||||
and can vary with the CTX.
|
||||
[Adam Langley]
|
||||
|
||||
*) Fix various certificate fingerprint issues.
|
||||
|
||||
By using non-DER or invalid encodings outside the signed portion of a
|
||||
certificate the fingerprint can be changed without breaking the signature.
|
||||
Although no details of the signed portion of the certificate can be changed
|
||||
this can cause problems with some applications: e.g. those using the
|
||||
certificate fingerprint for blacklists.
|
||||
|
||||
1. Reject signatures with non zero unused bits.
|
||||
|
||||
If the BIT STRING containing the signature has non zero unused bits reject
|
||||
the signature. All current signature algorithms require zero unused bits.
|
||||
|
||||
2. Check certificate algorithm consistency.
|
||||
|
||||
Check the AlgorithmIdentifier inside TBS matches the one in the
|
||||
certificate signature. NB: this will result in signature failure
|
||||
errors for some broken certificates.
|
||||
|
||||
Thanks to Konrad Kraszewski from Google for reporting this issue.
|
||||
|
||||
3. Check DSA/ECDSA signatures use DER.
|
||||
|
||||
Reencode DSA/ECDSA signatures and compare with the original received
|
||||
signature. Return an error if there is a mismatch.
|
||||
|
||||
This will reject various cases including garbage after signature
|
||||
(thanks to Antti Karjalainen and Tuomo Untinen from the Codenomicon CROSS
|
||||
program for discovering this case) and use of BER or invalid ASN.1 INTEGERs
|
||||
(negative or with leading zeroes).
|
||||
|
||||
Further analysis was conducted and fixes were developed by Stephen Henson
|
||||
of the OpenSSL core team.
|
||||
|
||||
(CVE-2014-8275)
|
||||
[Steve Henson]
|
||||
|
||||
*) Correct Bignum squaring. Bignum squaring (BN_sqr) may produce incorrect
|
||||
results on some platforms, including x86_64. This bug occurs at random
|
||||
with a very low probability, and is not known to be exploitable in any
|
||||
way, though its exact impact is difficult to determine. Thanks to Pieter
|
||||
Wuille (Blockstream) who reported this issue and also suggested an initial
|
||||
fix. Further analysis was conducted by the OpenSSL development team and
|
||||
Adam Langley of Google. The final fix was developed by Andy Polyakov of
|
||||
the OpenSSL core team.
|
||||
(CVE-2014-3570)
|
||||
[Andy Polyakov]
|
||||
|
||||
*) Do not resume sessions on the server if the negotiated protocol
|
||||
version does not match the session's version. Resuming with a different
|
||||
version, while not strictly forbidden by the RFC, is of questionable
|
||||
sanity and breaks all known clients.
|
||||
[David Benjamin, Emilia Käsper]
|
||||
|
||||
*) Tighten handling of the ChangeCipherSpec (CCS) message: reject
|
||||
early CCS messages during renegotiation. (Note that because
|
||||
renegotiation is encrypted, this early CCS was not exploitable.)
|
||||
[Emilia Käsper]
|
||||
|
||||
*) Tighten client-side session ticket handling during renegotiation:
|
||||
ensure that the client only accepts a session ticket if the server sends
|
||||
the extension anew in the ServerHello. Previously, a TLS client would
|
||||
reuse the old extension state and thus accept a session ticket if one was
|
||||
announced in the initial ServerHello.
|
||||
|
||||
Similarly, ensure that the client requires a session ticket if one
|
||||
was advertised in the ServerHello. Previously, a TLS client would
|
||||
ignore a missing NewSessionTicket message.
|
||||
[Emilia Käsper]
|
||||
|
||||
Changes between 1.0.1i and 1.0.1j [15 Oct 2014]
|
||||
|
||||
*) SRTP Memory Leak.
|
||||
|
||||
A flaw in the DTLS SRTP extension parsing code allows an attacker, who
|
||||
sends a carefully crafted handshake message, to cause OpenSSL to fail
|
||||
to free up to 64k of memory causing a memory leak. This could be
|
||||
exploited in a Denial Of Service attack. This issue affects OpenSSL
|
||||
1.0.1 server implementations for both SSL/TLS and DTLS regardless of
|
||||
whether SRTP is used or configured. Implementations of OpenSSL that
|
||||
have been compiled with OPENSSL_NO_SRTP defined are not affected.
|
||||
|
||||
The fix was developed by the OpenSSL team.
|
||||
(CVE-2014-3513)
|
||||
[OpenSSL team]
|
||||
|
||||
*) Session Ticket Memory Leak.
|
||||
|
||||
When an OpenSSL SSL/TLS/DTLS server receives a session ticket the
|
||||
integrity of that ticket is first verified. In the event of a session
|
||||
ticket integrity check failing, OpenSSL will fail to free memory
|
||||
causing a memory leak. By sending a large number of invalid session
|
||||
tickets an attacker could exploit this issue in a Denial Of Service
|
||||
attack.
|
||||
(CVE-2014-3567)
|
||||
[Steve Henson]
|
||||
|
||||
*) Build option no-ssl3 is incomplete.
|
||||
|
||||
When OpenSSL is configured with "no-ssl3" as a build option, servers
|
||||
could accept and complete a SSL 3.0 handshake, and clients could be
|
||||
configured to send them.
|
||||
(CVE-2014-3568)
|
||||
[Akamai and the OpenSSL team]
|
||||
|
||||
*) Add support for TLS_FALLBACK_SCSV.
|
||||
Client applications doing fallback retries should call
|
||||
SSL_set_mode(s, SSL_MODE_SEND_FALLBACK_SCSV).
|
||||
(CVE-2014-3566)
|
||||
[Adam Langley, Bodo Moeller]
|
||||
|
||||
*) Add additional DigestInfo checks.
|
||||
|
||||
Reencode DigestInto in DER and check against the original when
|
||||
verifying RSA signature: this will reject any improperly encoded
|
||||
DigestInfo structures.
|
||||
|
||||
Note: this is a precautionary measure and no attacks are currently known.
|
||||
|
||||
[Steve Henson]
|
||||
|
||||
Changes between 1.0.1h and 1.0.1i [6 Aug 2014]
|
||||
|
||||
*) Fix SRP buffer overrun vulnerability. Invalid parameters passed to the
|
||||
SRP code can be overrun an internal buffer. Add sanity check that
|
||||
g, A, B < N to SRP code.
|
||||
|
||||
Thanks to Sean Devlin and Watson Ladd of Cryptography Services, NCC
|
||||
Group for discovering this issue.
|
||||
(CVE-2014-3512)
|
||||
[Steve Henson]
|
||||
|
||||
*) A flaw in the OpenSSL SSL/TLS server code causes the server to negotiate
|
||||
TLS 1.0 instead of higher protocol versions when the ClientHello message
|
||||
is badly fragmented. This allows a man-in-the-middle attacker to force a
|
||||
downgrade to TLS 1.0 even if both the server and the client support a
|
||||
higher protocol version, by modifying the client's TLS records.
|
||||
|
||||
Thanks to David Benjamin and Adam Langley (Google) for discovering and
|
||||
researching this issue.
|
||||
(CVE-2014-3511)
|
||||
[David Benjamin]
|
||||
|
||||
*) OpenSSL DTLS clients enabling anonymous (EC)DH ciphersuites are subject
|
||||
to a denial of service attack. A malicious server can crash the client
|
||||
with a null pointer dereference (read) by specifying an anonymous (EC)DH
|
||||
ciphersuite and sending carefully crafted handshake messages.
|
||||
|
||||
Thanks to Felix Gröbert (Google) for discovering and researching this
|
||||
issue.
|
||||
(CVE-2014-3510)
|
||||
[Emilia Käsper]
|
||||
|
||||
*) By sending carefully crafted DTLS packets an attacker could cause openssl
|
||||
to leak memory. This can be exploited through a Denial of Service attack.
|
||||
Thanks to Adam Langley for discovering and researching this issue.
|
||||
(CVE-2014-3507)
|
||||
[Adam Langley]
|
||||
|
||||
*) An attacker can force openssl to consume large amounts of memory whilst
|
||||
processing DTLS handshake messages. This can be exploited through a
|
||||
Denial of Service attack.
|
||||
Thanks to Adam Langley for discovering and researching this issue.
|
||||
(CVE-2014-3506)
|
||||
[Adam Langley]
|
||||
|
||||
*) An attacker can force an error condition which causes openssl to crash
|
||||
whilst processing DTLS packets due to memory being freed twice. This
|
||||
can be exploited through a Denial of Service attack.
|
||||
Thanks to Adam Langley and Wan-Teh Chang for discovering and researching
|
||||
this issue.
|
||||
(CVE-2014-3505)
|
||||
[Adam Langley]
|
||||
|
||||
*) If a multithreaded client connects to a malicious server using a resumed
|
||||
session and the server sends an ec point format extension it could write
|
||||
up to 255 bytes to freed memory.
|
||||
|
||||
Thanks to Gabor Tyukasz (LogMeIn Inc) for discovering and researching this
|
||||
issue.
|
||||
(CVE-2014-3509)
|
||||
[Gabor Tyukasz]
|
||||
|
||||
*) A malicious server can crash an OpenSSL client with a null pointer
|
||||
dereference (read) by specifying an SRP ciphersuite even though it was not
|
||||
properly negotiated with the client. This can be exploited through a
|
||||
Denial of Service attack.
|
||||
|
||||
Thanks to Joonas Kuorilehto and Riku Hietamäki (Codenomicon) for
|
||||
discovering and researching this issue.
|
||||
(CVE-2014-5139)
|
||||
[Steve Henson]
|
||||
|
||||
*) A flaw in OBJ_obj2txt may cause pretty printing functions such as
|
||||
X509_name_oneline, X509_name_print_ex et al. to leak some information
|
||||
from the stack. Applications may be affected if they echo pretty printing
|
||||
output to the attacker.
|
||||
|
||||
Thanks to Ivan Fratric (Google) for discovering this issue.
|
||||
(CVE-2014-3508)
|
||||
[Emilia Käsper, and Steve Henson]
|
||||
|
||||
*) Fix ec_GFp_simple_points_make_affine (thus, EC_POINTs_mul etc.)
|
||||
for corner cases. (Certain input points at infinity could lead to
|
||||
bogus results, with non-infinity inputs mapped to infinity too.)
|
||||
[Bodo Moeller]
|
||||
|
||||
Changes between 1.0.1g and 1.0.1h [5 Jun 2014]
|
||||
|
||||
*) Fix for SSL/TLS MITM flaw. An attacker using a carefully crafted
|
||||
handshake can force the use of weak keying material in OpenSSL
|
||||
SSL/TLS clients and servers.
|
||||
|
||||
Thanks to KIKUCHI Masashi (Lepidum Co. Ltd.) for discovering and
|
||||
researching this issue. (CVE-2014-0224)
|
||||
[KIKUCHI Masashi, Steve Henson]
|
||||
|
||||
*) Fix DTLS recursion flaw. By sending an invalid DTLS handshake to an
|
||||
OpenSSL DTLS client the code can be made to recurse eventually crashing
|
||||
in a DoS attack.
|
||||
|
||||
Thanks to Imre Rad (Search-Lab Ltd.) for discovering this issue.
|
||||
(CVE-2014-0221)
|
||||
[Imre Rad, Steve Henson]
|
||||
|
||||
*) Fix DTLS invalid fragment vulnerability. A buffer overrun attack can
|
||||
be triggered by sending invalid DTLS fragments to an OpenSSL DTLS
|
||||
client or server. This is potentially exploitable to run arbitrary
|
||||
code on a vulnerable client or server.
|
||||
|
||||
Thanks to Jüri Aedla for reporting this issue. (CVE-2014-0195)
|
||||
[Jüri Aedla, Steve Henson]
|
||||
|
||||
*) Fix bug in TLS code where clients enable anonymous ECDH ciphersuites
|
||||
are subject to a denial of service attack.
|
||||
|
||||
Thanks to Felix Gröbert and Ivan Fratric at Google for discovering
|
||||
this issue. (CVE-2014-3470)
|
||||
[Felix Gröbert, Ivan Fratric, Steve Henson]
|
||||
|
||||
*) Harmonize version and its documentation. -f flag is used to display
|
||||
compilation flags.
|
||||
[mancha <[email protected]>]
|
||||
|
||||
*) Fix eckey_priv_encode so it immediately returns an error upon a failure
|
||||
in i2d_ECPrivateKey.
|
||||
[mancha <[email protected]>]
|
||||
|
||||
*) Fix some double frees. These are not thought to be exploitable.
|
||||
[mancha <[email protected]>]
|
||||
|
||||
Changes between 1.0.1f and 1.0.1g [7 Apr 2014]
|
||||
|
||||
*) A missing bounds check in the handling of the TLS heartbeat extension
|
||||
can be used to reveal up to 64k of memory to a connected client or
|
||||
server.
|
||||
|
||||
Thanks for Neel Mehta of Google Security for discovering this bug and to
|
||||
Adam Langley <[email protected]> and Bodo Moeller <[email protected]> for
|
||||
preparing the fix (CVE-2014-0160)
|
||||
[Adam Langley, Bodo Moeller]
|
||||
|
||||
*) Fix for the attack described in the paper "Recovering OpenSSL
|
||||
ECDSA Nonces Using the FLUSH+RELOAD Cache Side-channel Attack"
|
||||
by Yuval Yarom and Naomi Benger. Details can be obtained from:
|
||||
http://eprint.iacr.org/2014/140
|
||||
|
||||
Thanks to Yuval Yarom and Naomi Benger for discovering this
|
||||
flaw and to Yuval Yarom for supplying a fix (CVE-2014-0076)
|
||||
[Yuval Yarom and Naomi Benger]
|
||||
|
||||
*) TLS pad extension: draft-agl-tls-padding-03
|
||||
|
||||
Workaround for the "TLS hang bug" (see FAQ and PR#2771): if the
|
||||
TLS client Hello record length value would otherwise be > 255 and
|
||||
less that 512 pad with a dummy extension containing zeroes so it
|
||||
is at least 512 bytes long.
|
||||
|
||||
[Adam Langley, Steve Henson]
|
||||
|
||||
Changes between 1.0.1e and 1.0.1f [6 Jan 2014]
|
||||
|
||||
*) Fix for TLS record tampering bug. A carefully crafted invalid
|
||||
handshake could crash OpenSSL with a NULL pointer exception.
|
||||
Thanks to Anton Johansson for reporting this issues.
|
||||
(CVE-2013-4353)
|
||||
|
||||
*) Keep original DTLS digest and encryption contexts in retransmission
|
||||
structures so we can use the previous session parameters if they need
|
||||
to be resent. (CVE-2013-6450)
|
||||
[Steve Henson]
|
||||
|
||||
*) Add option SSL_OP_SAFARI_ECDHE_ECDSA_BUG (part of SSL_OP_ALL) which
|
||||
avoids preferring ECDHE-ECDSA ciphers when the client appears to be
|
||||
Safari on OS X. Safari on OS X 10.8..10.8.3 advertises support for
|
||||
several ECDHE-ECDSA ciphers, but fails to negotiate them. The bug
|
||||
is fixed in OS X 10.8.4, but Apple have ruled out both hot fixing
|
||||
10.8..10.8.3 and forcing users to upgrade to 10.8.4 or newer.
|
||||
[Rob Stradling, Adam Langley]
|
||||
|
||||
Changes between 1.0.1d and 1.0.1e [11 Feb 2013]
|
||||
|
||||
*)
|
||||
*) Correct fix for CVE-2013-0169. The original didn't work on AES-NI
|
||||
supporting platforms or when small records were transferred.
|
||||
[Andy Polyakov, Steve Henson]
|
||||
|
||||
Changes between 1.0.1c and 1.0.1d [5 Feb 2013]
|
||||
|
||||
@@ -404,6 +771,63 @@
|
||||
Add command line options to s_client/s_server.
|
||||
[Steve Henson]
|
||||
|
||||
Changes between 1.0.0j and 1.0.0k [5 Feb 2013]
|
||||
|
||||
*) Make the decoding of SSLv3, TLS and DTLS CBC records constant time.
|
||||
|
||||
This addresses the flaw in CBC record processing discovered by
|
||||
Nadhem Alfardan and Kenny Paterson. Details of this attack can be found
|
||||
at: http://www.isg.rhul.ac.uk/tls/
|
||||
|
||||
Thanks go to Nadhem Alfardan and Kenny Paterson of the Information
|
||||
Security Group at Royal Holloway, University of London
|
||||
(www.isg.rhul.ac.uk) for discovering this flaw and Adam Langley and
|
||||
Emilia Käsper for the initial patch.
|
||||
(CVE-2013-0169)
|
||||
[Emilia Käsper, Adam Langley, Ben Laurie, Andy Polyakov, Steve Henson]
|
||||
|
||||
*) Return an error when checking OCSP signatures when key is NULL.
|
||||
This fixes a DoS attack. (CVE-2013-0166)
|
||||
[Steve Henson]
|
||||
|
||||
*) Call OCSP Stapling callback after ciphersuite has been chosen, so
|
||||
the right response is stapled. Also change SSL_get_certificate()
|
||||
so it returns the certificate actually sent.
|
||||
See http://rt.openssl.org/Ticket/Display.html?id=2836.
|
||||
(This is a backport)
|
||||
[Rob Stradling <[email protected]>]
|
||||
|
||||
*) Fix possible deadlock when decoding public keys.
|
||||
[Steve Henson]
|
||||
|
||||
Changes between 1.0.0i and 1.0.0j [10 May 2012]
|
||||
|
||||
[NB: OpenSSL 1.0.0i and later 1.0.0 patch levels were released after
|
||||
OpenSSL 1.0.1.]
|
||||
|
||||
*) Sanity check record length before skipping explicit IV in DTLS
|
||||
to fix DoS attack.
|
||||
|
||||
Thanks to Codenomicon for discovering this issue using Fuzz-o-Matic
|
||||
fuzzing as a service testing platform.
|
||||
(CVE-2012-2333)
|
||||
[Steve Henson]
|
||||
|
||||
*) Initialise tkeylen properly when encrypting CMS messages.
|
||||
Thanks to Solar Designer of Openwall for reporting this issue.
|
||||
[Steve Henson]
|
||||
|
||||
Changes between 1.0.0h and 1.0.0i [19 Apr 2012]
|
||||
|
||||
*) Check for potentially exploitable overflows in asn1_d2i_read_bio
|
||||
BUF_mem_grow and BUF_mem_grow_clean. Refuse attempts to shrink buffer
|
||||
in CRYPTO_realloc_clean.
|
||||
|
||||
Thanks to Tavis Ormandy, Google Security Team, for discovering this
|
||||
issue and to Adam Langley <[email protected]> for fixing it.
|
||||
(CVE-2012-2110)
|
||||
[Adam Langley (Google), Tavis Ormandy, Google Security Team]
|
||||
|
||||
Changes between 1.0.0g and 1.0.0h [12 Mar 2012]
|
||||
|
||||
*) Fix MMA (Bleichenbacher's attack on PKCS #1 v1.5 RSA padding) weakness
|
||||
@@ -1394,6 +1818,86 @@
|
||||
*) Change 'Configure' script to enable Camellia by default.
|
||||
[NTT]
|
||||
|
||||
Changes between 0.9.8x and 0.9.8y [5 Feb 2013]
|
||||
|
||||
*) Make the decoding of SSLv3, TLS and DTLS CBC records constant time.
|
||||
|
||||
This addresses the flaw in CBC record processing discovered by
|
||||
Nadhem Alfardan and Kenny Paterson. Details of this attack can be found
|
||||
at: http://www.isg.rhul.ac.uk/tls/
|
||||
|
||||
Thanks go to Nadhem Alfardan and Kenny Paterson of the Information
|
||||
Security Group at Royal Holloway, University of London
|
||||
(www.isg.rhul.ac.uk) for discovering this flaw and Adam Langley and
|
||||
Emilia Käsper for the initial patch.
|
||||
(CVE-2013-0169)
|
||||
[Emilia Käsper, Adam Langley, Ben Laurie, Andy Polyakov, Steve Henson]
|
||||
|
||||
*) Return an error when checking OCSP signatures when key is NULL.
|
||||
This fixes a DoS attack. (CVE-2013-0166)
|
||||
[Steve Henson]
|
||||
|
||||
*) Call OCSP Stapling callback after ciphersuite has been chosen, so
|
||||
the right response is stapled. Also change SSL_get_certificate()
|
||||
so it returns the certificate actually sent.
|
||||
See http://rt.openssl.org/Ticket/Display.html?id=2836.
|
||||
(This is a backport)
|
||||
[Rob Stradling <[email protected]>]
|
||||
|
||||
*) Fix possible deadlock when decoding public keys.
|
||||
[Steve Henson]
|
||||
|
||||
Changes between 0.9.8w and 0.9.8x [10 May 2012]
|
||||
|
||||
*) Sanity check record length before skipping explicit IV in DTLS
|
||||
to fix DoS attack.
|
||||
|
||||
Thanks to Codenomicon for discovering this issue using Fuzz-o-Matic
|
||||
fuzzing as a service testing platform.
|
||||
(CVE-2012-2333)
|
||||
[Steve Henson]
|
||||
|
||||
*) Initialise tkeylen properly when encrypting CMS messages.
|
||||
Thanks to Solar Designer of Openwall for reporting this issue.
|
||||
[Steve Henson]
|
||||
|
||||
Changes between 0.9.8v and 0.9.8w [23 Apr 2012]
|
||||
|
||||
*) The fix for CVE-2012-2110 did not take into account that the
|
||||
'len' argument to BUF_MEM_grow and BUF_MEM_grow_clean is an
|
||||
int in OpenSSL 0.9.8, making it still vulnerable. Fix by
|
||||
rejecting negative len parameter. (CVE-2012-2131)
|
||||
[Tomas Hoger <[email protected]>]
|
||||
|
||||
Changes between 0.9.8u and 0.9.8v [19 Apr 2012]
|
||||
|
||||
*) Check for potentially exploitable overflows in asn1_d2i_read_bio
|
||||
BUF_mem_grow and BUF_mem_grow_clean. Refuse attempts to shrink buffer
|
||||
in CRYPTO_realloc_clean.
|
||||
|
||||
Thanks to Tavis Ormandy, Google Security Team, for discovering this
|
||||
issue and to Adam Langley <[email protected]> for fixing it.
|
||||
(CVE-2012-2110)
|
||||
[Adam Langley (Google), Tavis Ormandy, Google Security Team]
|
||||
|
||||
Changes between 0.9.8t and 0.9.8u [12 Mar 2012]
|
||||
|
||||
*) Fix MMA (Bleichenbacher's attack on PKCS #1 v1.5 RSA padding) weakness
|
||||
in CMS and PKCS7 code. When RSA decryption fails use a random key for
|
||||
content decryption and always return the same error. Note: this attack
|
||||
needs on average 2^20 messages so it only affects automated senders. The
|
||||
old behaviour can be reenabled in the CMS code by setting the
|
||||
CMS_DEBUG_DECRYPT flag: this is useful for debugging and testing where
|
||||
an MMA defence is not necessary.
|
||||
Thanks to Ivan Nestlerode <[email protected]> for discovering
|
||||
this issue. (CVE-2012-0884)
|
||||
[Steve Henson]
|
||||
|
||||
*) Fix CVE-2011-4619: make sure we really are receiving a
|
||||
client hello before rejecting multiple SGC restarts. Thanks to
|
||||
Ivan Nestlerode <[email protected]> for discovering this bug.
|
||||
[Steve Henson]
|
||||
|
||||
Changes between 0.9.8s and 0.9.8t [18 Jan 2012]
|
||||
|
||||
*) Fix for DTLS DoS issue introduced by fix for CVE-2011-4109.
|
||||
@@ -1401,7 +1905,7 @@
|
||||
Development, Cisco Systems, Inc. for discovering this bug and
|
||||
preparing a fix. (CVE-2012-0050)
|
||||
[Antonio Martin]
|
||||
|
||||
|
||||
Changes between 0.9.8r and 0.9.8s [4 Jan 2012]
|
||||
|
||||
*) Nadhem Alfardan and Kenny Paterson have discovered an extension
|
||||
|
||||
@@ -178,7 +178,7 @@ my %table=(
|
||||
"debug-ben-no-opt", "gcc: -Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -DDEBUG_SAFESTACK -DCRYPTO_MDEBUG -Werror -DL_ENDIAN -DTERMIOS -Wall -g3::(unknown)::::::",
|
||||
"debug-ben-strict", "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DCONST_STRICT -O2 -Wall -Wshadow -Werror -Wpointer-arith -Wcast-qual -Wwrite-strings -pipe::(unknown)::::::",
|
||||
"debug-rse","cc:-DTERMIOS -DL_ENDIAN -pipe -O -g -ggdb3 -Wall::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}",
|
||||
"debug-bodo", "gcc:$gcc_devteam_warn -DBN_DEBUG -DBN_DEBUG_RAND -DCONF_DEBUG -DBIO_PAIR_DEBUG -m64 -DL_ENDIAN -DTERMIO -g -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
|
||||
"debug-bodo", "gcc:$gcc_devteam_warn -Wno-error=overlength-strings -DBN_DEBUG -DBN_DEBUG_RAND -DCONF_DEBUG -DBIO_PAIR_DEBUG -m64 -DL_ENDIAN -DTERMIO -g -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
|
||||
"debug-ulf", "gcc:-DTERMIOS -DL_ENDIAN -march=i486 -Wall -DBN_DEBUG -DBN_DEBUG_RAND -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DOPENSSL_NO_ASM -g -Wformat -Wshadow -Wmissing-prototypes -Wmissing-declarations:::CYGWIN32:::${no_asm}:win32:cygwin-shared:::.dll",
|
||||
"debug-steve64", "gcc:$gcc_devteam_warn -m64 -DL_ENDIAN -DTERMIO -DCONF_DEBUG -DDEBUG_SAFESTACK -Wno-overlength-strings -g::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"debug-steve32", "gcc:$gcc_devteam_warn -m32 -DL_ENDIAN -DCONF_DEBUG -DDEBUG_SAFESTACK -g -pipe::-D_REENTRANT::-rdynamic -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC:-m32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
@@ -526,7 +526,7 @@ my %table=(
|
||||
# 'perl Configure VC-WIN32' with '-DUNICODE -D_UNICODE'
|
||||
"VC-WIN32","cl:-W3 -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE:::WIN32::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${x86_asm}:win32n:win32",
|
||||
# Unified CE target
|
||||
"debug-VC-WIN32","cl:-W3 -WX -Gs0 -GF -Gy -Zi -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE:::WIN32::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${x86_asm}:win32n:win32",
|
||||
"debug-VC-WIN32","cl:-W3 -Gs0 -GF -Gy -Zi -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE:::WIN32::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${x86_asm}:win32n:win32",
|
||||
"VC-CE","cl::::WINCE::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${no_asm}:win32",
|
||||
|
||||
# Borland C++ 4.5
|
||||
@@ -720,6 +720,7 @@ my %disabled = ( # "what" => "comment" [or special keyword "experimental
|
||||
"sctp" => "default",
|
||||
"shared" => "default",
|
||||
"store" => "experimental",
|
||||
"unit-test" => "default",
|
||||
"zlib" => "default",
|
||||
"zlib-dynamic" => "default"
|
||||
);
|
||||
@@ -727,7 +728,7 @@ my @experimental = ();
|
||||
|
||||
# This is what $depflags will look like with the above defaults
|
||||
# (we need this to see if we should advise the user to run "make depend"):
|
||||
my $default_depflags = " -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MD2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SCTP -DOPENSSL_NO_STORE";
|
||||
my $default_depflags = " -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MD2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SCTP -DOPENSSL_NO_STORE -DOPENSSL_NO_UNIT_TEST";
|
||||
|
||||
# Explicit "no-..." options will be collected in %disabled along with the defaults.
|
||||
# To remove something from %disabled, use "enable-foo" (unless it's experimental).
|
||||
@@ -803,6 +804,11 @@ PROCESS_ARGS:
|
||||
{
|
||||
$disabled{"tls1"} = "option(tls)"
|
||||
}
|
||||
elsif ($1 eq "ssl3-method")
|
||||
{
|
||||
$disabled{"ssl3-method"} = "option(ssl)";
|
||||
$disabled{"ssl3"} = "option(ssl)";
|
||||
}
|
||||
else
|
||||
{
|
||||
$disabled{$1} = "option";
|
||||
@@ -1766,6 +1772,9 @@ open(OUT,'>crypto/opensslconf.h.new') || die "unable to create crypto/opensslcon
|
||||
print OUT "/* opensslconf.h */\n";
|
||||
print OUT "/* WARNING: Generated automatically from opensslconf.h.in by Configure. */\n\n";
|
||||
|
||||
print OUT "#ifdef __cplusplus\n";
|
||||
print OUT "extern \"C\" {\n";
|
||||
print OUT "#endif\n";
|
||||
print OUT "/* OpenSSL was configured with the following options: */\n";
|
||||
my $openssl_algorithm_defines_trans = $openssl_algorithm_defines;
|
||||
$openssl_experimental_defines =~ s/^\s*#\s*define\s+OPENSSL_NO_(.*)/#ifndef OPENSSL_EXPERIMENTAL_$1\n# ifndef OPENSSL_NO_$1\n# define OPENSSL_NO_$1\n# endif\n#endif/mg;
|
||||
@@ -1870,6 +1879,9 @@ while (<IN>)
|
||||
{ print OUT $_; }
|
||||
}
|
||||
close(IN);
|
||||
print OUT "#ifdef __cplusplus\n";
|
||||
print OUT "}\n";
|
||||
print OUT "#endif\n";
|
||||
close(OUT);
|
||||
rename("crypto/opensslconf.h","crypto/opensslconf.h.bak") || die "unable to rename crypto/opensslconf.h\n" if -e "crypto/opensslconf.h";
|
||||
rename("crypto/opensslconf.h.new","crypto/opensslconf.h") || die "unable to rename crypto/opensslconf.h.new\n";
|
||||
|
||||
+3
-5
@@ -113,11 +113,6 @@ that came with the version of OpenSSL you are using. The pod format
|
||||
documentation is included in each OpenSSL distribution under the docs
|
||||
directory.
|
||||
|
||||
For information on parts of libcrypto that are not yet documented, you
|
||||
might want to read Ariel Glenn's documentation on SSLeay 0.9, OpenSSL's
|
||||
predecessor, at <URL: http://www.columbia.edu/~ariel/ssleay/>. Much
|
||||
of this still applies to OpenSSL.
|
||||
|
||||
There is some documentation about certificate extensions and PKCS#12
|
||||
in doc/openssl.txt
|
||||
|
||||
@@ -768,6 +763,9 @@ [email protected] if you don't get a prompt reply at least
|
||||
acknowledging receipt then resend or mail it directly to one of the
|
||||
more active team members (e.g. Steve).
|
||||
|
||||
Note that bugs only present in the openssl utility are not in general
|
||||
considered to be security issues.
|
||||
|
||||
[PROG] ========================================================================
|
||||
|
||||
* Is OpenSSL thread-safe?
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
## Makefile for OpenSSL
|
||||
##
|
||||
|
||||
VERSION=1.0.1e
|
||||
VERSION=1.0.1l
|
||||
MAJOR=1
|
||||
MINOR=0.1
|
||||
SHLIB_VERSION_NUMBER=1.0.0
|
||||
@@ -13,7 +13,7 @@ SHLIB_MAJOR=1
|
||||
SHLIB_MINOR=0.0
|
||||
SHLIB_EXT=
|
||||
PLATFORM=dist
|
||||
OPTIONS= no-ec_nistp_64_gcc_128 no-gmp no-jpake no-krb5 no-md2 no-rc5 no-rfc3779 no-sctp no-shared no-store no-zlib no-zlib-dynamic static-engine
|
||||
OPTIONS= no-ec_nistp_64_gcc_128 no-gmp no-jpake no-krb5 no-md2 no-rc5 no-rfc3779 no-sctp no-shared no-store no-unit-test no-zlib no-zlib-dynamic static-engine
|
||||
CONFIGURE_ARGS=dist
|
||||
SHLIB_TARGET=
|
||||
|
||||
@@ -61,7 +61,7 @@ OPENSSLDIR=/usr/local/ssl
|
||||
|
||||
CC= cc
|
||||
CFLAG= -O
|
||||
DEPFLAG= -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MD2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SCTP -DOPENSSL_NO_STORE
|
||||
DEPFLAG= -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MD2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SCTP -DOPENSSL_NO_STORE -DOPENSSL_NO_UNIT_TEST
|
||||
PEX_LIBS=
|
||||
EX_LIBS=
|
||||
EXE_EXT=
|
||||
@@ -304,7 +304,8 @@ libcrypto$(SHLIB_EXT): libcrypto.a fips_premain_dso$(EXE_EXT)
|
||||
FIPSLD_CC="$(CC)"; CC=$(FIPSDIR)/bin/fipsld; \
|
||||
export CC FIPSLD_CC FIPSLD_LIBCRYPTO; \
|
||||
fi; \
|
||||
$(MAKE) -e SHLIBDIRS=crypto build-shared; \
|
||||
$(MAKE) -e SHLIBDIRS=crypto CC="$${CC:-$(CC)}" build-shared && \
|
||||
(touch -c fips_premain_dso$(EXE_EXT) || :); \
|
||||
else \
|
||||
echo "There's no support for shared libraries on this platform" >&2; \
|
||||
exit 1; \
|
||||
|
||||
@@ -302,7 +302,8 @@ libcrypto$(SHLIB_EXT): libcrypto.a fips_premain_dso$(EXE_EXT)
|
||||
FIPSLD_CC="$(CC)"; CC=$(FIPSDIR)/bin/fipsld; \
|
||||
export CC FIPSLD_CC FIPSLD_LIBCRYPTO; \
|
||||
fi; \
|
||||
$(MAKE) -e SHLIBDIRS=crypto build-shared; \
|
||||
$(MAKE) -e SHLIBDIRS=crypto CC="$${CC:-$(CC)}" build-shared && \
|
||||
(touch -c fips_premain_dso$(EXE_EXT) || :); \
|
||||
else \
|
||||
echo "There's no support for shared libraries on this platform" >&2; \
|
||||
exit 1; \
|
||||
|
||||
+169
-65
@@ -5,11 +5,67 @@
|
||||
This file gives a brief overview of the major changes between each OpenSSL
|
||||
release. For more details please read the CHANGES file.
|
||||
|
||||
Major changes between OpenSSL 1.0.1d and OpenSSL 1.0.1e:
|
||||
Major changes between OpenSSL 1.0.1k and OpenSSL 1.0.1l [15 Jan 2015]
|
||||
|
||||
o Build fixes for the Windows and OpenVMS platforms
|
||||
|
||||
Major changes between OpenSSL 1.0.1j and OpenSSL 1.0.1k [8 Jan 2015]
|
||||
|
||||
o Fix for CVE-2014-3571
|
||||
o Fix for CVE-2015-0206
|
||||
o Fix for CVE-2014-3569
|
||||
o Fix for CVE-2014-3572
|
||||
o Fix for CVE-2015-0204
|
||||
o Fix for CVE-2015-0205
|
||||
o Fix for CVE-2014-8275
|
||||
o Fix for CVE-2014-3570
|
||||
|
||||
Major changes between OpenSSL 1.0.1i and OpenSSL 1.0.1j [15 Oct 2014]
|
||||
|
||||
o Fix for CVE-2014-3513
|
||||
o Fix for CVE-2014-3567
|
||||
o Mitigation for CVE-2014-3566 (SSL protocol vulnerability)
|
||||
o Fix for CVE-2014-3568
|
||||
|
||||
Major changes between OpenSSL 1.0.1h and OpenSSL 1.0.1i [6 Aug 2014]
|
||||
|
||||
o Fix for CVE-2014-3512
|
||||
o Fix for CVE-2014-3511
|
||||
o Fix for CVE-2014-3510
|
||||
o Fix for CVE-2014-3507
|
||||
o Fix for CVE-2014-3506
|
||||
o Fix for CVE-2014-3505
|
||||
o Fix for CVE-2014-3509
|
||||
o Fix for CVE-2014-5139
|
||||
o Fix for CVE-2014-3508
|
||||
|
||||
Major changes between OpenSSL 1.0.1g and OpenSSL 1.0.1h [5 Jun 2014]
|
||||
|
||||
o Fix for CVE-2014-0224
|
||||
o Fix for CVE-2014-0221
|
||||
o Fix for CVE-2014-0198
|
||||
o Fix for CVE-2014-0195
|
||||
o Fix for CVE-2014-3470
|
||||
o Fix for CVE-2010-5298
|
||||
|
||||
Major changes between OpenSSL 1.0.1f and OpenSSL 1.0.1g [7 Apr 2014]
|
||||
|
||||
o Fix for CVE-2014-0160
|
||||
o Add TLS padding extension workaround for broken servers.
|
||||
o Fix for CVE-2014-0076
|
||||
|
||||
Major changes between OpenSSL 1.0.1e and OpenSSL 1.0.1f [6 Jan 2014]
|
||||
|
||||
o Don't include gmt_unix_time in TLS server and client random values
|
||||
o Fix for TLS record tampering bug CVE-2013-4353
|
||||
o Fix for TLS version checking bug CVE-2013-6449
|
||||
o Fix for DTLS retransmission bug CVE-2013-6450
|
||||
|
||||
Major changes between OpenSSL 1.0.1d and OpenSSL 1.0.1e [11 Feb 2013]:
|
||||
|
||||
o Corrected fix for CVE-2013-0169
|
||||
|
||||
Major changes between OpenSSL 1.0.1c and OpenSSL 1.0.1d:
|
||||
Major changes between OpenSSL 1.0.1c and OpenSSL 1.0.1d [4 Feb 2013]:
|
||||
|
||||
o Fix renegotiation in TLS 1.1, 1.2 by using the correct TLS version.
|
||||
o Include the fips configuration module.
|
||||
@@ -17,24 +73,24 @@
|
||||
o Fix for SSL/TLS/DTLS CBC plaintext recovery attack CVE-2013-0169
|
||||
o Fix for TLS AESNI record handling flaw CVE-2012-2686
|
||||
|
||||
Major changes between OpenSSL 1.0.1b and OpenSSL 1.0.1c:
|
||||
Major changes between OpenSSL 1.0.1b and OpenSSL 1.0.1c [10 May 2012]:
|
||||
|
||||
o Fix TLS/DTLS record length checking bug CVE-2012-2333
|
||||
o Don't attempt to use non-FIPS composite ciphers in FIPS mode.
|
||||
|
||||
Major changes between OpenSSL 1.0.1a and OpenSSL 1.0.1b:
|
||||
Major changes between OpenSSL 1.0.1a and OpenSSL 1.0.1b [26 Apr 2012]:
|
||||
|
||||
o Fix compilation error on non-x86 platforms.
|
||||
o Make FIPS capable OpenSSL ciphers work in non-FIPS mode.
|
||||
o Fix SSL_OP_NO_TLSv1_1 clash with SSL_OP_ALL in OpenSSL 1.0.0
|
||||
|
||||
Major changes between OpenSSL 1.0.1 and OpenSSL 1.0.1a:
|
||||
Major changes between OpenSSL 1.0.1 and OpenSSL 1.0.1a [19 Apr 2012]:
|
||||
|
||||
o Fix for ASN1 overflow bug CVE-2012-2110
|
||||
o Workarounds for some servers that hang on long client hellos.
|
||||
o Fix SEGV in AES code.
|
||||
|
||||
Major changes between OpenSSL 1.0.0h and OpenSSL 1.0.1:
|
||||
Major changes between OpenSSL 1.0.0h and OpenSSL 1.0.1 [14 Mar 2012]:
|
||||
|
||||
o TLS/DTLS heartbeat support.
|
||||
o SCTP support.
|
||||
@@ -47,17 +103,30 @@
|
||||
o Preliminary FIPS capability for unvalidated 2.0 FIPS module.
|
||||
o SRP support.
|
||||
|
||||
Major changes between OpenSSL 1.0.0g and OpenSSL 1.0.0h:
|
||||
Major changes between OpenSSL 1.0.0j and OpenSSL 1.0.0k [5 Feb 2013]:
|
||||
|
||||
o Fix for SSL/TLS/DTLS CBC plaintext recovery attack CVE-2013-0169
|
||||
o Fix OCSP bad key DoS attack CVE-2013-0166
|
||||
|
||||
Major changes between OpenSSL 1.0.0i and OpenSSL 1.0.0j [10 May 2012]:
|
||||
|
||||
o Fix DTLS record length checking bug CVE-2012-2333
|
||||
|
||||
Major changes between OpenSSL 1.0.0h and OpenSSL 1.0.0i [19 Apr 2012]:
|
||||
|
||||
o Fix for ASN1 overflow bug CVE-2012-2110
|
||||
|
||||
Major changes between OpenSSL 1.0.0g and OpenSSL 1.0.0h [12 Mar 2012]:
|
||||
|
||||
o Fix for CMS/PKCS#7 MMA CVE-2012-0884
|
||||
o Corrected fix for CVE-2011-4619
|
||||
o Various DTLS fixes.
|
||||
|
||||
Major changes between OpenSSL 1.0.0f and OpenSSL 1.0.0g:
|
||||
Major changes between OpenSSL 1.0.0f and OpenSSL 1.0.0g [18 Jan 2012]:
|
||||
|
||||
o Fix for DTLS DoS issue CVE-2012-0050
|
||||
|
||||
Major changes between OpenSSL 1.0.0e and OpenSSL 1.0.0f:
|
||||
Major changes between OpenSSL 1.0.0e and OpenSSL 1.0.0f [4 Jan 2012]:
|
||||
|
||||
o Fix for DTLS plaintext recovery attack CVE-2011-4108
|
||||
o Clear block padding bytes of SSL 3.0 records CVE-2011-4576
|
||||
@@ -65,7 +134,7 @@
|
||||
o Check parameters are not NULL in GOST ENGINE CVE-2012-0027
|
||||
o Check for malformed RFC3779 data CVE-2011-4577
|
||||
|
||||
Major changes between OpenSSL 1.0.0d and OpenSSL 1.0.0e:
|
||||
Major changes between OpenSSL 1.0.0d and OpenSSL 1.0.0e [6 Sep 2011]:
|
||||
|
||||
o Fix for CRL vulnerability issue CVE-2011-3207
|
||||
o Fix for ECDH crashes CVE-2011-3210
|
||||
@@ -73,11 +142,11 @@
|
||||
o Support ECDH ciphersuites for certificates using SHA2 algorithms.
|
||||
o Various DTLS fixes.
|
||||
|
||||
Major changes between OpenSSL 1.0.0c and OpenSSL 1.0.0d:
|
||||
Major changes between OpenSSL 1.0.0c and OpenSSL 1.0.0d [8 Feb 2011]:
|
||||
|
||||
o Fix for security issue CVE-2011-0014
|
||||
|
||||
Major changes between OpenSSL 1.0.0b and OpenSSL 1.0.0c:
|
||||
Major changes between OpenSSL 1.0.0b and OpenSSL 1.0.0c [2 Dec 2010]:
|
||||
|
||||
o Fix for security issue CVE-2010-4180
|
||||
o Fix for CVE-2010-4252
|
||||
@@ -85,18 +154,18 @@
|
||||
o Fix various platform compilation issues.
|
||||
o Corrected fix for security issue CVE-2010-3864.
|
||||
|
||||
Major changes between OpenSSL 1.0.0a and OpenSSL 1.0.0b:
|
||||
Major changes between OpenSSL 1.0.0a and OpenSSL 1.0.0b [16 Nov 2010]:
|
||||
|
||||
o Fix for security issue CVE-2010-3864.
|
||||
o Fix for CVE-2010-2939
|
||||
o Fix WIN32 build system for GOST ENGINE.
|
||||
|
||||
Major changes between OpenSSL 1.0.0 and OpenSSL 1.0.0a:
|
||||
Major changes between OpenSSL 1.0.0 and OpenSSL 1.0.0a [1 Jun 2010]:
|
||||
|
||||
o Fix for security issue CVE-2010-1633.
|
||||
o GOST MAC and CFB fixes.
|
||||
|
||||
Major changes between OpenSSL 0.9.8n and OpenSSL 1.0.0:
|
||||
Major changes between OpenSSL 0.9.8n and OpenSSL 1.0.0 [29 Mar 2010]:
|
||||
|
||||
o RFC3280 path validation: sufficient to process PKITS tests.
|
||||
o Integrated support for PVK files and keyblobs.
|
||||
@@ -119,20 +188,55 @@
|
||||
o Opaque PRF Input TLS extension support.
|
||||
o Updated time routines to avoid OS limitations.
|
||||
|
||||
Major changes between OpenSSL 0.9.8q and OpenSSL 0.9.8r:
|
||||
Major changes between OpenSSL 0.9.8x and OpenSSL 0.9.8y [5 Feb 2013]:
|
||||
|
||||
o Fix for SSL/TLS/DTLS CBC plaintext recovery attack CVE-2013-0169
|
||||
o Fix OCSP bad key DoS attack CVE-2013-0166
|
||||
|
||||
Major changes between OpenSSL 0.9.8w and OpenSSL 0.9.8x [10 May 2012]:
|
||||
|
||||
o Fix DTLS record length checking bug CVE-2012-2333
|
||||
|
||||
Major changes between OpenSSL 0.9.8v and OpenSSL 0.9.8w [23 Apr 2012]:
|
||||
|
||||
o Fix for CVE-2012-2131 (corrected fix for 0.9.8 and CVE-2012-2110)
|
||||
|
||||
Major changes between OpenSSL 0.9.8u and OpenSSL 0.9.8v [19 Apr 2012]:
|
||||
|
||||
o Fix for ASN1 overflow bug CVE-2012-2110
|
||||
|
||||
Major changes between OpenSSL 0.9.8t and OpenSSL 0.9.8u [12 Mar 2012]:
|
||||
|
||||
o Fix for CMS/PKCS#7 MMA CVE-2012-0884
|
||||
o Corrected fix for CVE-2011-4619
|
||||
o Various DTLS fixes.
|
||||
|
||||
Major changes between OpenSSL 0.9.8s and OpenSSL 0.9.8t [18 Jan 2012]:
|
||||
|
||||
o Fix for DTLS DoS issue CVE-2012-0050
|
||||
|
||||
Major changes between OpenSSL 0.9.8r and OpenSSL 0.9.8s [4 Jan 2012]:
|
||||
|
||||
o Fix for DTLS plaintext recovery attack CVE-2011-4108
|
||||
o Fix policy check double free error CVE-2011-4109
|
||||
o Clear block padding bytes of SSL 3.0 records CVE-2011-4576
|
||||
o Only allow one SGC handshake restart for SSL/TLS CVE-2011-4619
|
||||
o Check for malformed RFC3779 data CVE-2011-4577
|
||||
|
||||
Major changes between OpenSSL 0.9.8q and OpenSSL 0.9.8r [8 Feb 2011]:
|
||||
|
||||
o Fix for security issue CVE-2011-0014
|
||||
|
||||
Major changes between OpenSSL 0.9.8p and OpenSSL 0.9.8q:
|
||||
Major changes between OpenSSL 0.9.8p and OpenSSL 0.9.8q [2 Dec 2010]:
|
||||
|
||||
o Fix for security issue CVE-2010-4180
|
||||
o Fix for CVE-2010-4252
|
||||
|
||||
Major changes between OpenSSL 0.9.8o and OpenSSL 0.9.8p:
|
||||
Major changes between OpenSSL 0.9.8o and OpenSSL 0.9.8p [16 Nov 2010]:
|
||||
|
||||
o Fix for security issue CVE-2010-3864.
|
||||
|
||||
Major changes between OpenSSL 0.9.8n and OpenSSL 0.9.8o:
|
||||
Major changes between OpenSSL 0.9.8n and OpenSSL 0.9.8o [1 Jun 2010]:
|
||||
|
||||
o Fix for security issue CVE-2010-0742.
|
||||
o Various DTLS fixes.
|
||||
@@ -140,12 +244,12 @@
|
||||
o Fix for no-rc4 compilation.
|
||||
o Chil ENGINE unload workaround.
|
||||
|
||||
Major changes between OpenSSL 0.9.8m and OpenSSL 0.9.8n:
|
||||
Major changes between OpenSSL 0.9.8m and OpenSSL 0.9.8n [24 Mar 2010]:
|
||||
|
||||
o CFB cipher definition fixes.
|
||||
o Fix security issues CVE-2010-0740 and CVE-2010-0433.
|
||||
|
||||
Major changes between OpenSSL 0.9.8l and OpenSSL 0.9.8m:
|
||||
Major changes between OpenSSL 0.9.8l and OpenSSL 0.9.8m [25 Feb 2010]:
|
||||
|
||||
o Cipher definition fixes.
|
||||
o Workaround for slow RAND_poll() on some WIN32 versions.
|
||||
@@ -157,33 +261,33 @@
|
||||
o Ticket and SNI coexistence fixes.
|
||||
o Many fixes to DTLS handling.
|
||||
|
||||
Major changes between OpenSSL 0.9.8k and OpenSSL 0.9.8l:
|
||||
Major changes between OpenSSL 0.9.8k and OpenSSL 0.9.8l [5 Nov 2009]:
|
||||
|
||||
o Temporary work around for CVE-2009-3555: disable renegotiation.
|
||||
|
||||
Major changes between OpenSSL 0.9.8j and OpenSSL 0.9.8k:
|
||||
Major changes between OpenSSL 0.9.8j and OpenSSL 0.9.8k [25 Mar 2009]:
|
||||
|
||||
o Fix various build issues.
|
||||
o Fix security issues (CVE-2009-0590, CVE-2009-0591, CVE-2009-0789)
|
||||
|
||||
Major changes between OpenSSL 0.9.8i and OpenSSL 0.9.8j:
|
||||
Major changes between OpenSSL 0.9.8i and OpenSSL 0.9.8j [7 Jan 2009]:
|
||||
|
||||
o Fix security issue (CVE-2008-5077)
|
||||
o Merge FIPS 140-2 branch code.
|
||||
|
||||
Major changes between OpenSSL 0.9.8g and OpenSSL 0.9.8h:
|
||||
Major changes between OpenSSL 0.9.8g and OpenSSL 0.9.8h [28 May 2008]:
|
||||
|
||||
o CryptoAPI ENGINE support.
|
||||
o Various precautionary measures.
|
||||
o Fix for bugs affecting certificate request creation.
|
||||
o Support for local machine keyset attribute in PKCS#12 files.
|
||||
|
||||
Major changes between OpenSSL 0.9.8f and OpenSSL 0.9.8g:
|
||||
Major changes between OpenSSL 0.9.8f and OpenSSL 0.9.8g [19 Oct 2007]:
|
||||
|
||||
o Backport of CMS functionality to 0.9.8.
|
||||
o Fixes for bugs introduced with 0.9.8f.
|
||||
|
||||
Major changes between OpenSSL 0.9.8e and OpenSSL 0.9.8f:
|
||||
Major changes between OpenSSL 0.9.8e and OpenSSL 0.9.8f [11 Oct 2007]:
|
||||
|
||||
o Add gcc 4.2 support.
|
||||
o Add support for AES and SSE2 assembly lanugauge optimization
|
||||
@@ -194,23 +298,23 @@
|
||||
o RFC4507bis support.
|
||||
o TLS Extensions support.
|
||||
|
||||
Major changes between OpenSSL 0.9.8d and OpenSSL 0.9.8e:
|
||||
Major changes between OpenSSL 0.9.8d and OpenSSL 0.9.8e [23 Feb 2007]:
|
||||
|
||||
o Various ciphersuite selection fixes.
|
||||
o RFC3779 support.
|
||||
|
||||
Major changes between OpenSSL 0.9.8c and OpenSSL 0.9.8d:
|
||||
Major changes between OpenSSL 0.9.8c and OpenSSL 0.9.8d [28 Sep 2006]:
|
||||
|
||||
o Introduce limits to prevent malicious key DoS (CVE-2006-2940)
|
||||
o Fix security issues (CVE-2006-2937, CVE-2006-3737, CVE-2006-4343)
|
||||
o Changes to ciphersuite selection algorithm
|
||||
|
||||
Major changes between OpenSSL 0.9.8b and OpenSSL 0.9.8c:
|
||||
Major changes between OpenSSL 0.9.8b and OpenSSL 0.9.8c [5 Sep 2006]:
|
||||
|
||||
o Fix Daniel Bleichenbacher forged signature attack, CVE-2006-4339
|
||||
o New cipher Camellia
|
||||
|
||||
Major changes between OpenSSL 0.9.8a and OpenSSL 0.9.8b:
|
||||
Major changes between OpenSSL 0.9.8a and OpenSSL 0.9.8b [4 May 2006]:
|
||||
|
||||
o Cipher string fixes.
|
||||
o Fixes for VC++ 2005.
|
||||
@@ -220,12 +324,12 @@
|
||||
o Built in dynamic engine compilation support on Win32.
|
||||
o Fixes auto dynamic engine loading in Win32.
|
||||
|
||||
Major changes between OpenSSL 0.9.8 and OpenSSL 0.9.8a:
|
||||
Major changes between OpenSSL 0.9.8 and OpenSSL 0.9.8a [11 Oct 2005]:
|
||||
|
||||
o Fix potential SSL 2.0 rollback, CVE-2005-2969
|
||||
o Extended Windows CE support
|
||||
|
||||
Major changes between OpenSSL 0.9.7g and OpenSSL 0.9.8:
|
||||
Major changes between OpenSSL 0.9.7g and OpenSSL 0.9.8 [5 Jul 2005]:
|
||||
|
||||
o Major work on the BIGNUM library for higher efficiency and to
|
||||
make operations more streamlined and less contradictory. This
|
||||
@@ -299,36 +403,36 @@
|
||||
o Added initial support for Win64.
|
||||
o Added alternate pkg-config files.
|
||||
|
||||
Major changes between OpenSSL 0.9.7l and OpenSSL 0.9.7m:
|
||||
Major changes between OpenSSL 0.9.7l and OpenSSL 0.9.7m [23 Feb 2007]:
|
||||
|
||||
o FIPS 1.1.1 module linking.
|
||||
o Various ciphersuite selection fixes.
|
||||
|
||||
Major changes between OpenSSL 0.9.7k and OpenSSL 0.9.7l:
|
||||
Major changes between OpenSSL 0.9.7k and OpenSSL 0.9.7l [28 Sep 2006]:
|
||||
|
||||
o Introduce limits to prevent malicious key DoS (CVE-2006-2940)
|
||||
o Fix security issues (CVE-2006-2937, CVE-2006-3737, CVE-2006-4343)
|
||||
|
||||
Major changes between OpenSSL 0.9.7j and OpenSSL 0.9.7k:
|
||||
Major changes between OpenSSL 0.9.7j and OpenSSL 0.9.7k [5 Sep 2006]:
|
||||
|
||||
o Fix Daniel Bleichenbacher forged signature attack, CVE-2006-4339
|
||||
|
||||
Major changes between OpenSSL 0.9.7i and OpenSSL 0.9.7j:
|
||||
Major changes between OpenSSL 0.9.7i and OpenSSL 0.9.7j [4 May 2006]:
|
||||
|
||||
o Visual C++ 2005 fixes.
|
||||
o Update Windows build system for FIPS.
|
||||
|
||||
Major changes between OpenSSL 0.9.7h and OpenSSL 0.9.7i:
|
||||
Major changes between OpenSSL 0.9.7h and OpenSSL 0.9.7i [14 Oct 2005]:
|
||||
|
||||
o Give EVP_MAX_MD_SIZE it's old value, except for a FIPS build.
|
||||
|
||||
Major changes between OpenSSL 0.9.7g and OpenSSL 0.9.7h:
|
||||
Major changes between OpenSSL 0.9.7g and OpenSSL 0.9.7h [11 Oct 2005]:
|
||||
|
||||
o Fix SSL 2.0 Rollback, CVE-2005-2969
|
||||
o Allow use of fixed-length exponent on DSA signing
|
||||
o Default fixed-window RSA, DSA, DH private-key operations
|
||||
|
||||
Major changes between OpenSSL 0.9.7f and OpenSSL 0.9.7g:
|
||||
Major changes between OpenSSL 0.9.7f and OpenSSL 0.9.7g [11 Apr 2005]:
|
||||
|
||||
o More compilation issues fixed.
|
||||
o Adaptation to more modern Kerberos API.
|
||||
@@ -337,7 +441,7 @@
|
||||
o More constification.
|
||||
o Added processing of proxy certificates (RFC 3820).
|
||||
|
||||
Major changes between OpenSSL 0.9.7e and OpenSSL 0.9.7f:
|
||||
Major changes between OpenSSL 0.9.7e and OpenSSL 0.9.7f [22 Mar 2005]:
|
||||
|
||||
o Several compilation issues fixed.
|
||||
o Many memory allocation failure checks added.
|
||||
@@ -345,12 +449,12 @@
|
||||
o Mandatory basic checks on certificates.
|
||||
o Performance improvements.
|
||||
|
||||
Major changes between OpenSSL 0.9.7d and OpenSSL 0.9.7e:
|
||||
Major changes between OpenSSL 0.9.7d and OpenSSL 0.9.7e [25 Oct 2004]:
|
||||
|
||||
o Fix race condition in CRL checking code.
|
||||
o Fixes to PKCS#7 (S/MIME) code.
|
||||
|
||||
Major changes between OpenSSL 0.9.7c and OpenSSL 0.9.7d:
|
||||
Major changes between OpenSSL 0.9.7c and OpenSSL 0.9.7d [17 Mar 2004]:
|
||||
|
||||
o Security: Fix Kerberos ciphersuite SSL/TLS handshaking bug
|
||||
o Security: Fix null-pointer assignment in do_change_cipher_spec()
|
||||
@@ -358,14 +462,14 @@
|
||||
o Multiple X509 verification fixes
|
||||
o Speed up HMAC and other operations
|
||||
|
||||
Major changes between OpenSSL 0.9.7b and OpenSSL 0.9.7c:
|
||||
Major changes between OpenSSL 0.9.7b and OpenSSL 0.9.7c [30 Sep 2003]:
|
||||
|
||||
o Security: fix various ASN1 parsing bugs.
|
||||
o New -ignore_err option to OCSP utility.
|
||||
o Various interop and bug fixes in S/MIME code.
|
||||
o SSL/TLS protocol fix for unrequested client certificates.
|
||||
|
||||
Major changes between OpenSSL 0.9.7a and OpenSSL 0.9.7b:
|
||||
Major changes between OpenSSL 0.9.7a and OpenSSL 0.9.7b [10 Apr 2003]:
|
||||
|
||||
o Security: counter the Klima-Pokorny-Rosa extension of
|
||||
Bleichbacher's attack
|
||||
@@ -376,7 +480,7 @@
|
||||
o ASN.1: treat domainComponent correctly.
|
||||
o Documentation: fixes and additions.
|
||||
|
||||
Major changes between OpenSSL 0.9.7 and OpenSSL 0.9.7a:
|
||||
Major changes between OpenSSL 0.9.7 and OpenSSL 0.9.7a [19 Feb 2003]:
|
||||
|
||||
o Security: Important security related bugfixes.
|
||||
o Enhanced compatibility with MIT Kerberos.
|
||||
@@ -387,7 +491,7 @@
|
||||
o SSL/TLS: now handles manual certificate chain building.
|
||||
o SSL/TLS: certain session ID malfunctions corrected.
|
||||
|
||||
Major changes between OpenSSL 0.9.6 and OpenSSL 0.9.7:
|
||||
Major changes between OpenSSL 0.9.6 and OpenSSL 0.9.7 [30 Dec 2002]:
|
||||
|
||||
o New library section OCSP.
|
||||
o Complete rewrite of ASN1 code.
|
||||
@@ -433,23 +537,23 @@
|
||||
o SSL/TLS: add callback to retrieve SSL/TLS messages.
|
||||
o SSL/TLS: support AES cipher suites (RFC3268).
|
||||
|
||||
Major changes between OpenSSL 0.9.6j and OpenSSL 0.9.6k:
|
||||
Major changes between OpenSSL 0.9.6j and OpenSSL 0.9.6k [30 Sep 2003]:
|
||||
|
||||
o Security: fix various ASN1 parsing bugs.
|
||||
o SSL/TLS protocol fix for unrequested client certificates.
|
||||
|
||||
Major changes between OpenSSL 0.9.6i and OpenSSL 0.9.6j:
|
||||
Major changes between OpenSSL 0.9.6i and OpenSSL 0.9.6j [10 Apr 2003]:
|
||||
|
||||
o Security: counter the Klima-Pokorny-Rosa extension of
|
||||
Bleichbacher's attack
|
||||
o Security: make RSA blinding default.
|
||||
o Build: shared library support fixes.
|
||||
|
||||
Major changes between OpenSSL 0.9.6h and OpenSSL 0.9.6i:
|
||||
Major changes between OpenSSL 0.9.6h and OpenSSL 0.9.6i [19 Feb 2003]:
|
||||
|
||||
o Important security related bugfixes.
|
||||
|
||||
Major changes between OpenSSL 0.9.6g and OpenSSL 0.9.6h:
|
||||
Major changes between OpenSSL 0.9.6g and OpenSSL 0.9.6h [5 Dec 2002]:
|
||||
|
||||
o New configuration targets for Tandem OSS and A/UX.
|
||||
o New OIDs for Microsoft attributes.
|
||||
@@ -463,25 +567,25 @@
|
||||
o Fixes for smaller building problems.
|
||||
o Updates of manuals, FAQ and other instructive documents.
|
||||
|
||||
Major changes between OpenSSL 0.9.6f and OpenSSL 0.9.6g:
|
||||
Major changes between OpenSSL 0.9.6f and OpenSSL 0.9.6g [9 Aug 2002]:
|
||||
|
||||
o Important building fixes on Unix.
|
||||
|
||||
Major changes between OpenSSL 0.9.6e and OpenSSL 0.9.6f:
|
||||
Major changes between OpenSSL 0.9.6e and OpenSSL 0.9.6f [8 Aug 2002]:
|
||||
|
||||
o Various important bugfixes.
|
||||
|
||||
Major changes between OpenSSL 0.9.6d and OpenSSL 0.9.6e:
|
||||
Major changes between OpenSSL 0.9.6d and OpenSSL 0.9.6e [30 Jul 2002]:
|
||||
|
||||
o Important security related bugfixes.
|
||||
o Various SSL/TLS library bugfixes.
|
||||
|
||||
Major changes between OpenSSL 0.9.6c and OpenSSL 0.9.6d:
|
||||
Major changes between OpenSSL 0.9.6c and OpenSSL 0.9.6d [9 May 2002]:
|
||||
|
||||
o Various SSL/TLS library bugfixes.
|
||||
o Fix DH parameter generation for 'non-standard' generators.
|
||||
|
||||
Major changes between OpenSSL 0.9.6b and OpenSSL 0.9.6c:
|
||||
Major changes between OpenSSL 0.9.6b and OpenSSL 0.9.6c [21 Dec 2001]:
|
||||
|
||||
o Various SSL/TLS library bugfixes.
|
||||
o BIGNUM library fixes.
|
||||
@@ -494,7 +598,7 @@
|
||||
Broadcom and Cryptographic Appliance's keyserver
|
||||
[in 0.9.6c-engine release].
|
||||
|
||||
Major changes between OpenSSL 0.9.6a and OpenSSL 0.9.6b:
|
||||
Major changes between OpenSSL 0.9.6a and OpenSSL 0.9.6b [9 Jul 2001]:
|
||||
|
||||
o Security fix: PRNG improvements.
|
||||
o Security fix: RSA OAEP check.
|
||||
@@ -511,7 +615,7 @@
|
||||
o Increase default size for BIO buffering filter.
|
||||
o Compatibility fixes in some scripts.
|
||||
|
||||
Major changes between OpenSSL 0.9.6 and OpenSSL 0.9.6a:
|
||||
Major changes between OpenSSL 0.9.6 and OpenSSL 0.9.6a [5 Apr 2001]:
|
||||
|
||||
o Security fix: change behavior of OpenSSL to avoid using
|
||||
environment variables when running as root.
|
||||
@@ -536,7 +640,7 @@
|
||||
o New function BN_rand_range().
|
||||
o Add "-rand" option to openssl s_client and s_server.
|
||||
|
||||
Major changes between OpenSSL 0.9.5a and OpenSSL 0.9.6:
|
||||
Major changes between OpenSSL 0.9.5a and OpenSSL 0.9.6 [10 Oct 2000]:
|
||||
|
||||
o Some documentation for BIO and SSL libraries.
|
||||
o Enhanced chain verification using key identifiers.
|
||||
@@ -551,7 +655,7 @@
|
||||
[1] The support for external crypto devices is currently a separate
|
||||
distribution. See the file README.ENGINE.
|
||||
|
||||
Major changes between OpenSSL 0.9.5 and OpenSSL 0.9.5a:
|
||||
Major changes between OpenSSL 0.9.5 and OpenSSL 0.9.5a [1 Apr 2000]:
|
||||
|
||||
o Bug fixes for Win32, SuSE Linux, NeXTSTEP and FreeBSD 2.2.8
|
||||
o Shared library support for HPUX and Solaris-gcc
|
||||
@@ -560,7 +664,7 @@
|
||||
o New 'rand' application
|
||||
o New way to check for existence of algorithms from scripts
|
||||
|
||||
Major changes between OpenSSL 0.9.4 and OpenSSL 0.9.5:
|
||||
Major changes between OpenSSL 0.9.4 and OpenSSL 0.9.5 [25 May 2000]:
|
||||
|
||||
o S/MIME support in new 'smime' command
|
||||
o Documentation for the OpenSSL command line application
|
||||
@@ -596,7 +700,7 @@
|
||||
o Enhanced support for Alpha Linux
|
||||
o Experimental MacOS support
|
||||
|
||||
Major changes between OpenSSL 0.9.3 and OpenSSL 0.9.4:
|
||||
Major changes between OpenSSL 0.9.3 and OpenSSL 0.9.4 [9 Aug 1999]:
|
||||
|
||||
o Transparent support for PKCS#8 format private keys: these are used
|
||||
by several software packages and are more secure than the standard
|
||||
@@ -607,7 +711,7 @@
|
||||
o New pipe-like BIO that allows using the SSL library when actual I/O
|
||||
must be handled by the application (BIO pair)
|
||||
|
||||
Major changes between OpenSSL 0.9.2b and OpenSSL 0.9.3:
|
||||
Major changes between OpenSSL 0.9.2b and OpenSSL 0.9.3 [24 May 1999]:
|
||||
o Lots of enhancements and cleanups to the Configuration mechanism
|
||||
o RSA OEAP related fixes
|
||||
o Added `openssl ca -revoke' option for revoking a certificate
|
||||
@@ -621,7 +725,7 @@
|
||||
o Sparc assembler bignum implementation, optimized hash functions
|
||||
o Option to disable selected ciphers
|
||||
|
||||
Major changes between OpenSSL 0.9.1c and OpenSSL 0.9.2b:
|
||||
Major changes between OpenSSL 0.9.1c and OpenSSL 0.9.2b [22 Mar 1999]:
|
||||
o Fixed a security hole related to session resumption
|
||||
o Fixed RSA encryption routines for the p < q case
|
||||
o "ALL" in cipher lists now means "everything except NULL ciphers"
|
||||
@@ -643,7 +747,7 @@
|
||||
o Lots of memory leak fixes.
|
||||
o Lots of bug fixes.
|
||||
|
||||
Major changes between SSLeay 0.9.0b and OpenSSL 0.9.1c:
|
||||
Major changes between SSLeay 0.9.0b and OpenSSL 0.9.1c [23 Dec 1998]:
|
||||
o Integration of the popular NO_RSA/NO_DSA patches
|
||||
o Initial support for compression inside the SSL record layer
|
||||
o Added BIO proxy and filtering functionality
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
OpenSSL 1.0.1e 11 Feb 2013
|
||||
OpenSSL 1.0.1l 15 Jan 2015
|
||||
|
||||
Copyright (c) 1998-2011 The OpenSSL Project
|
||||
Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson
|
||||
|
||||
@@ -577,14 +577,15 @@ openssl.o: ../include/openssl/objects.h ../include/openssl/ocsp.h
|
||||
openssl.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
||||
openssl.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
|
||||
openssl.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
|
||||
openssl.o: ../include/openssl/pqueue.h ../include/openssl/safestack.h
|
||||
openssl.o: ../include/openssl/sha.h ../include/openssl/srtp.h
|
||||
openssl.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
|
||||
openssl.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
|
||||
openssl.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
|
||||
openssl.o: ../include/openssl/tls1.h ../include/openssl/txt_db.h
|
||||
openssl.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h
|
||||
openssl.o: ../include/openssl/x509v3.h apps.h openssl.c progs.h s_apps.h
|
||||
openssl.o: ../include/openssl/pqueue.h ../include/openssl/rand.h
|
||||
openssl.o: ../include/openssl/safestack.h ../include/openssl/sha.h
|
||||
openssl.o: ../include/openssl/srtp.h ../include/openssl/ssl.h
|
||||
openssl.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
|
||||
openssl.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
|
||||
openssl.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
|
||||
openssl.o: ../include/openssl/txt_db.h ../include/openssl/x509.h
|
||||
openssl.o: ../include/openssl/x509_vfy.h ../include/openssl/x509v3.h apps.h
|
||||
openssl.o: openssl.c progs.h s_apps.h
|
||||
passwd.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
|
||||
passwd.o: ../include/openssl/buffer.h ../include/openssl/conf.h
|
||||
passwd.o: ../include/openssl/crypto.h ../include/openssl/des.h
|
||||
|
||||
@@ -390,6 +390,8 @@ int chopup_args(ARGS *arg, char *buf, int *argc, char **argv[])
|
||||
{
|
||||
arg->count=20;
|
||||
arg->data=(char **)OPENSSL_malloc(sizeof(char *)*arg->count);
|
||||
if (arg->data == NULL)
|
||||
return 0;
|
||||
}
|
||||
for (i=0; i<arg->count; i++)
|
||||
arg->data[i]=NULL;
|
||||
@@ -586,12 +588,12 @@ int password_callback(char *buf, int bufsiz, int verify,
|
||||
|
||||
if (ok >= 0)
|
||||
ok = UI_add_input_string(ui,prompt,ui_flags,buf,
|
||||
PW_MIN_LENGTH,BUFSIZ-1);
|
||||
PW_MIN_LENGTH,bufsiz-1);
|
||||
if (ok >= 0 && verify)
|
||||
{
|
||||
buff = (char *)OPENSSL_malloc(bufsiz);
|
||||
ok = UI_add_verify_string(ui,prompt,ui_flags,buff,
|
||||
PW_MIN_LENGTH,BUFSIZ-1, buf);
|
||||
PW_MIN_LENGTH,bufsiz-1, buf);
|
||||
}
|
||||
if (ok >= 0)
|
||||
do
|
||||
@@ -1542,6 +1544,8 @@ char *make_config_name()
|
||||
|
||||
len=strlen(t)+strlen(OPENSSL_CONF)+2;
|
||||
p=OPENSSL_malloc(len);
|
||||
if (p == NULL)
|
||||
return NULL;
|
||||
BUF_strlcpy(p,t,len);
|
||||
#ifndef OPENSSL_SYS_VMS
|
||||
BUF_strlcat(p,"/",len);
|
||||
@@ -2841,7 +2845,7 @@ double app_tminterval(int stop,int usertime)
|
||||
|
||||
if (proc==NULL)
|
||||
{
|
||||
if (GetVersion() < 0x80000000)
|
||||
if (check_winnt())
|
||||
proc = OpenProcess(PROCESS_QUERY_INFORMATION,FALSE,
|
||||
GetCurrentProcessId());
|
||||
if (proc==NULL) proc = (HANDLE)-1;
|
||||
|
||||
@@ -188,6 +188,7 @@ extern BIO *bio_err;
|
||||
do { CONF_modules_unload(1); destroy_ui_method(); \
|
||||
OBJ_cleanup(); EVP_cleanup(); ENGINE_cleanup(); \
|
||||
CRYPTO_cleanup_all_ex_data(); ERR_remove_thread_state(NULL); \
|
||||
RAND_cleanup(); \
|
||||
ERR_free_strings(); zlib_cleanup();} while(0)
|
||||
# else
|
||||
# define apps_startup() \
|
||||
@@ -198,6 +199,7 @@ extern BIO *bio_err;
|
||||
do { CONF_modules_unload(1); destroy_ui_method(); \
|
||||
OBJ_cleanup(); EVP_cleanup(); \
|
||||
CRYPTO_cleanup_all_ex_data(); ERR_remove_thread_state(NULL); \
|
||||
RAND_cleanup(); \
|
||||
ERR_free_strings(); zlib_cleanup(); } while(0)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
Loaded 100 of 1711 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user