From hselasky at FreeBSD.org Thu Mar 5 09:29:06 2015 From: hselasky at FreeBSD.org (Hans Petter Selasky) Date: Thu, 5 Mar 2015 09:29:06 +0000 (UTC) Subject: svn commit: r279635 - stable/8/sys/sys Message-ID: <201503050929.t259T6VH036648@svn.freebsd.org> Author: hselasky Date: Thu Mar 5 09:29:05 2015 New Revision: 279635 URL: https://svnweb.freebsd.org/changeset/base/279635 Log: MFC r279242: Fix debugging macros. Modified: stable/8/sys/sys/queue.h Directory Properties: stable/8/sys/ (props changed) stable/8/sys/sys/ (props changed) Modified: stable/8/sys/sys/queue.h ============================================================================== --- stable/8/sys/sys/queue.h Thu Mar 5 09:27:39 2015 (r279634) +++ stable/8/sys/sys/queue.h Thu Mar 5 09:29:05 2015 (r279635) @@ -608,7 +608,7 @@ struct { \ TAILQ_NEXT((listelm), field) = (elm); \ (elm)->field.tqe_prev = &TAILQ_NEXT((listelm), field); \ QMD_TRACE_ELEM(&(elm)->field); \ - QMD_TRACE_ELEM(&listelm->field); \ + QMD_TRACE_ELEM(&(listelm)->field); \ } while (0) #define TAILQ_INSERT_BEFORE(listelm, elm, field) do { \ @@ -618,7 +618,7 @@ struct { \ *(listelm)->field.tqe_prev = (elm); \ (listelm)->field.tqe_prev = &TAILQ_NEXT((elm), field); \ QMD_TRACE_ELEM(&(elm)->field); \ - QMD_TRACE_ELEM(&listelm->field); \ + QMD_TRACE_ELEM(&(listelm)->field); \ } while (0) #define TAILQ_INSERT_HEAD(head, elm, field) do { \ From hselasky at FreeBSD.org Thu Mar 5 09:37:28 2015 From: hselasky at FreeBSD.org (Hans Petter Selasky) Date: Thu, 5 Mar 2015 09:37:28 +0000 (UTC) Subject: svn commit: r279638 - stable/8/sys/dev/usb Message-ID: <201503050937.t259bSXI041419@svn.freebsd.org> Author: hselasky Date: Thu Mar 5 09:37:27 2015 New Revision: 279638 URL: https://svnweb.freebsd.org/changeset/base/279638 Log: MFC r279270: Add ugen keyword to USB pnpinfo. Remove extra space from existing pnpinfo. PR: 198015 PR: 198019 PR: 198026 Modified: stable/8/sys/dev/usb/usb_hub.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/dev/ (props changed) stable/8/sys/dev/usb/ (props changed) Modified: stable/8/sys/dev/usb/usb_hub.c ============================================================================== --- stable/8/sys/dev/usb/usb_hub.c Thu Mar 5 09:35:15 2015 (r279637) +++ stable/8/sys/dev/usb/usb_hub.c Thu Mar 5 09:37:27 2015 (r279638) @@ -1610,10 +1610,11 @@ uhub_child_location_string(device_t pare } goto done; } - snprintf(buf, buflen, "bus=%u hubaddr=%u port=%u devaddr=%u interface=%u", + snprintf(buf, buflen, "bus=%u hubaddr=%u port=%u devaddr=%u interface=%u" + " ugen=%s", (res.udev->parent_hub != NULL) ? res.udev->parent_hub->device_index : 0, res.portno, device_get_unit(res.udev->bus->bdev), - res.udev->device_index, res.iface_index); + res.udev->device_index, res.iface_index, res.udev->ugen_name); done: mtx_unlock(&Giant); @@ -1655,7 +1656,7 @@ uhub_child_pnpinfo_string(device_t paren "release=0x%04x " "mode=%s " "intclass=0x%02x intsubclass=0x%02x " - "intprotocol=0x%02x " "%s%s", + "intprotocol=0x%02x" "%s%s", UGETW(res.udev->ddesc.idVendor), UGETW(res.udev->ddesc.idProduct), res.udev->ddesc.bDeviceClass, From ae at FreeBSD.org Thu Mar 5 10:12:29 2015 From: ae at FreeBSD.org (Andrey V. Elsukov) Date: Thu, 5 Mar 2015 10:12:28 +0000 (UTC) Subject: svn commit: r279647 - stable/8/sbin/geom/class/part Message-ID: <201503051012.t25ACSpl060563@svn.freebsd.org> Author: ae Date: Thu Mar 5 10:12:28 2015 New Revision: 279647 URL: https://svnweb.freebsd.org/changeset/base/279647 Log: MFC r279324: When gpart(8) is trying automatically determine the first available block of free space after existing partition, take into account provider's stripeoffset, since the result will be adjusted to this value. PR: 197989 Modified: stable/8/sbin/geom/class/part/geom_part.c Directory Properties: stable/8/sbin/geom/class/part/ (props changed) Modified: stable/8/sbin/geom/class/part/geom_part.c ============================================================================== --- stable/8/sbin/geom/class/part/geom_part.c Thu Mar 5 10:08:37 2015 (r279646) +++ stable/8/sbin/geom/class/part/geom_part.c Thu Mar 5 10:12:28 2015 (r279647) @@ -565,7 +565,7 @@ gpart_autofill(struct gctl_req *req) (off_t)strtoimax(s, NULL, 0) / pp->lg_sectorsize; } else first = (off_t)strtoimax(s, NULL, 0) + 1; - if (first > a_first) + if (first + offset > a_first) a_first = ALIGNUP(first + offset, alignment); } if (a_first <= last) { From edwin at FreeBSD.org Fri Mar 6 22:09:48 2015 From: edwin at FreeBSD.org (Edwin Groothuis) Date: Fri, 6 Mar 2015 22:09:45 +0000 (UTC) Subject: svn commit: r279709 - stable/8/share/zoneinfo Message-ID: <201503062209.t26M9jO9009270@svn.freebsd.org> Author: edwin Date: Fri Mar 6 22:09:44 2015 New Revision: 279709 URL: https://svnweb.freebsd.org/changeset/base/279709 Log: MFC of 279706,tzdata8: Release 2015a - 2015-01-29 Changes affecting future time stamps The Mexican state of Quintana Roo, represented by America/Cancun, will shift from Central Time with DST to Eastern Time without DST on 2015-02-01 at 02:00. (Thanks to Steffen Thorsen and Gwillim Law.) Chile will not change clocks in April or thereafter; its new standard time will be its old daylight saving time. This affects America/Santiago, Pacific/Easter, and Antarctica/Palmer. (Thanks to Juan Correa.) New leap second 2015-06-30 23:59:60 UTC as per IERS Bulletin C 49. (Thanks to Tim Parenti.) Changes affecting past time stamps Iceland observed DST in 1919 and 1921, and its 1939 fallback transition was Oct. 29, not Nov. 29. Remove incorrect data from Shanks about time in Iceland between 1837 and 1908. Some more zones have been turned into links, when they differed from existing zones only for older time stamps. As usual, these changes affect UTC offsets in pre-1970 time stamps only. Their old contents have been moved to the 'backzone' file. The affected zones are: Asia/Aden, Asia/Bahrain, Asia/Kuwait, and Asia/Muscat. Modified: stable/8/share/zoneinfo/antarctica stable/8/share/zoneinfo/asia stable/8/share/zoneinfo/backward stable/8/share/zoneinfo/europe stable/8/share/zoneinfo/leap-seconds.list stable/8/share/zoneinfo/northamerica stable/8/share/zoneinfo/southamerica stable/8/share/zoneinfo/zone.tab stable/8/share/zoneinfo/zone1970.tab Directory Properties: stable/8/share/zoneinfo/ (props changed) Modified: stable/8/share/zoneinfo/antarctica ============================================================================== --- stable/8/share/zoneinfo/antarctica Fri Mar 6 22:08:47 2015 (r279708) +++ stable/8/share/zoneinfo/antarctica Fri Mar 6 22:09:44 2015 (r279709) @@ -47,8 +47,8 @@ Rule ChileAQ 2009 only - Mar Sun>=9 3:00 Rule ChileAQ 2010 only - Apr Sun>=1 3:00u 0 - Rule ChileAQ 2011 only - May Sun>=2 3:00u 0 - Rule ChileAQ 2011 only - Aug Sun>=16 4:00u 1:00 S -Rule ChileAQ 2012 max - Apr Sun>=23 3:00u 0 - -Rule ChileAQ 2012 max - Sep Sun>=2 4:00u 1:00 S +Rule ChileAQ 2012 2015 - Apr Sun>=23 3:00u 0 - +Rule ChileAQ 2012 2014 - Sep Sun>=2 4:00u 1:00 S # Argentina - year-round bases # Belgrano II, Confin Coast, -770227-0343737, since 1972-02-05 @@ -354,9 +354,10 @@ Zone Antarctica/Rothera 0 - zzz 1976 Dec # # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Antarctica/Palmer 0 - zzz 1965 - -4:00 ArgAQ AR%sT 1969 Oct 5 + -4:00 ArgAQ AR%sT 1969 Oct 5 -3:00 ArgAQ AR%sT 1982 May - -4:00 ChileAQ CL%sT + -4:00 ChileAQ CL%sT 2015 Apr 26 3:00u + -3:00 - CLT # # # McMurdo Station, Ross Island, since 1955-12 Modified: stable/8/share/zoneinfo/asia ============================================================================== --- stable/8/share/zoneinfo/asia Fri Mar 6 22:08:47 2015 (r279708) +++ stable/8/share/zoneinfo/asia Fri Mar 6 22:09:44 2015 (r279709) @@ -145,10 +145,7 @@ Zone Asia/Baku 3:19:24 - LMT 1924 May 2 4:00 Azer AZ%sT # Bahrain -# Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Asia/Bahrain 3:22:20 - LMT 1920 # Manamah - 4:00 - GST 1972 Jun - 3:00 - AST +# See Asia/Qatar. # Bangladesh # From Alexander Krivenyshev (2009-05-13): @@ -1731,9 +1728,7 @@ Zone Asia/Pyongyang 8:23:00 - LMT 1908 A ############################################################################### # Kuwait -# Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Asia/Kuwait 3:11:56 - LMT 1950 - 3:00 - AST +# See Asia/Riyadh. # Laos # See Asia/Bangkok. @@ -1954,12 +1949,7 @@ Zone Asia/Kathmandu 5:41:16 - LMT 1920 5:45 - NPT # Nepal Time # Oman - -# Milne says 3:54:24 was the meridian of the Muscat Tidal Observatory. - -# Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Asia/Muscat 3:54:24 - LMT 1920 - 4:00 - GST +# See Asia/Dubai. # Pakistan @@ -2453,6 +2443,7 @@ Zone Asia/Manila -15:56:00 - LMT 1844 De Zone Asia/Qatar 3:26:08 - LMT 1920 # Al Dawhah / Doha 4:00 - GST 1972 Jun 3:00 - AST +Link Asia/Qatar Asia/Bahrain # Saudi Arabia # @@ -2479,6 +2470,8 @@ Zone Asia/Qatar 3:26:08 - LMT 1920 # # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Riyadh 3:06:52 - LMT 1947 Mar 14 3:00 - AST +Link Asia/Riyadh Asia/Aden # Yemen +Link Asia/Riyadh Asia/Kuwait # Singapore # taken from Mok Ly Yng (2003-10-30) @@ -2767,6 +2760,7 @@ Zone Asia/Ashgabat 3:53:32 - LMT 1924 Ma # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Dubai 3:41:12 - LMT 1920 4:00 - GST +Link Asia/Dubai Asia/Muscat # Oman # Uzbekistan # Byalokoz 1919 says Uzbekistan was 4:27:53. @@ -2851,10 +2845,4 @@ Zone Asia/Ho_Chi_Minh 7:06:40 - LMT 1906 7:00 - ICT # Yemen - -# Milne says 2:59:54 was the meridian of the saluting battery at Aden, -# and that Yemen was at 1:55:56, the meridian of the Hagia Sophia. - -# Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Asia/Aden 2:59:54 - LMT 1950 - 3:00 - AST +# See Asia/Riyadh. Modified: stable/8/share/zoneinfo/backward ============================================================================== --- stable/8/share/zoneinfo/backward Fri Mar 6 22:08:47 2015 (r279708) +++ stable/8/share/zoneinfo/backward Fri Mar 6 22:09:44 2015 (r279709) @@ -5,7 +5,7 @@ # and their old names. Many names changed in late 1993. # Link TARGET LINK-NAME -Link Africa/Asmara Africa/Asmera +Link Africa/Nairobi Africa/Asmera Link Africa/Abidjan Africa/Timbuktu Link America/Argentina/Catamarca America/Argentina/ComodRivadavia Link America/Adak America/Atka Modified: stable/8/share/zoneinfo/europe ============================================================================== --- stable/8/share/zoneinfo/europe Fri Mar 6 22:08:47 2015 (r279708) +++ stable/8/share/zoneinfo/europe Fri Mar 6 22:09:44 2015 (r279709) @@ -1407,35 +1407,32 @@ Zone Europe/Budapest 1:16:20 - LMT 1890 # might be a reference to the Julian calendar as opposed to Gregorian, or it # might mean something else (???). # -# From Paul Eggert (2006-03-22): -# The Iceland Almanak, Shanks & Pottenger, and Whitman disagree on many points. -# We go with the Almanak, except for one claim from Shanks & Pottenger, namely -# that Reykavik was 21W57 from 1837 to 1908, local mean time before that. +# From Paul Eggert (2014-11-22): +# The information below is taken from the 1988 Almanak; see +# http://www.almanak.hi.is/klukkan.html # # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule Iceland 1917 1918 - Feb 19 23:00 1:00 S +Rule Iceland 1917 1919 - Feb 19 23:00 1:00 S Rule Iceland 1917 only - Oct 21 1:00 0 - -Rule Iceland 1918 only - Nov 16 1:00 0 - +Rule Iceland 1918 1919 - Nov 16 1:00 0 - +Rule Iceland 1921 only - Mar 19 23:00 1:00 S +Rule Iceland 1921 only - Jun 23 1:00 0 - Rule Iceland 1939 only - Apr 29 23:00 1:00 S -Rule Iceland 1939 only - Nov 29 2:00 0 - +Rule Iceland 1939 only - Oct 29 2:00 0 - Rule Iceland 1940 only - Feb 25 2:00 1:00 S -Rule Iceland 1940 only - Nov 3 2:00 0 - -Rule Iceland 1941 only - Mar 2 1:00s 1:00 S -Rule Iceland 1941 only - Nov 2 1:00s 0 - -Rule Iceland 1942 only - Mar 8 1:00s 1:00 S -Rule Iceland 1942 only - Oct 25 1:00s 0 - +Rule Iceland 1940 1941 - Nov Sun>=2 1:00s 0 - +Rule Iceland 1941 1942 - Mar Sun>=2 1:00s 1:00 S # 1943-1946 - first Sunday in March until first Sunday in winter Rule Iceland 1943 1946 - Mar Sun>=1 1:00s 1:00 S -Rule Iceland 1943 1948 - Oct Sun>=22 1:00s 0 - +Rule Iceland 1942 1948 - Oct Sun>=22 1:00s 0 - # 1947-1967 - first Sunday in April until first Sunday in winter Rule Iceland 1947 1967 - Apr Sun>=1 1:00s 1:00 S -# 1949 Oct transition delayed by 1 week +# 1949 and 1967 Oct transitions delayed by 1 week Rule Iceland 1949 only - Oct 30 1:00s 0 - Rule Iceland 1950 1966 - Oct Sun>=22 1:00s 0 - Rule Iceland 1967 only - Oct 29 1:00s 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Atlantic/Reykjavik -1:27:24 - LMT 1837 - -1:27:48 - RMT 1908 # Reykjavik Mean Time? +Zone Atlantic/Reykjavik -1:28 - LMT 1908 -1:00 Iceland IS%sT 1968 Apr 7 1:00s 0:00 - GMT Modified: stable/8/share/zoneinfo/leap-seconds.list ============================================================================== --- stable/8/share/zoneinfo/leap-seconds.list Fri Mar 6 22:08:47 2015 (r279708) +++ stable/8/share/zoneinfo/leap-seconds.list Fri Mar 6 22:09:44 2015 (r279709) @@ -47,7 +47,7 @@ # 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. +# (BIPM). See www.bipm.org for more information. # # 3. The current definition of the relationship between UTC # and TAI dates from 1 January 1972. A number of different @@ -127,6 +127,15 @@ # with, since the difficulty of unambiguously representing the epoch # during the leap second does not arise. # +# Some systems implement leap seconds by amortizing the leap second +# over the last few minutes of the day. The frequency of the local +# clock is decreased (or increased) to realize the positive (or +# negative) leap second. This method removes the time step described +# above. Although the long-term behavior of the time scale is correct +# in this case, this method introduces an error during the adjustment +# period both in time and in frequency with respect to the official +# defintion of UTC. +# # Questions or comments to: # Judah Levine # Time and Frequency Division @@ -134,7 +143,7 @@ # Boulder, Colorado # Judah.Levine at nist.gov # -# Last Update of leap second values: 11 January 2012 +# Last Update of leap second values: 5 January 2015 # # The following line shows this last update date in NTP timestamp # format. This is the date on which the most recent change to @@ -142,7 +151,7 @@ # be identified by the unique pair of characters in the first two # columns as shown below. # -#$ 3535228800 +#$ 3629404800 # # 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 @@ -190,10 +199,10 @@ # 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 +# Updated through IERS Bulletin C49 +# File expires on: 28 December 2015 # -#@ 3644438400 +#@ 3660249600 # 2272060800 10 # 1 Jan 1972 2287785600 11 # 1 Jul 1972 @@ -221,6 +230,7 @@ 3345062400 33 # 1 Jan 2006 3439756800 34 # 1 Jan 2009 3550089600 35 # 1 Jul 2012 +3644697600 36 # 1 Jul 2015 # # the following special comment contains the # hash value of the data in this file computed @@ -236,4 +246,4 @@ # the hash line is also ignored in the # computation. # -#h a4862ccd c6f43c6 964f3604 85944a26 b5cfad4e +#h 45e70fa7 a9df2033 f4a49ab0 ec648273 7b6c22c Modified: stable/8/share/zoneinfo/northamerica ============================================================================== --- stable/8/share/zoneinfo/northamerica Fri Mar 6 22:08:47 2015 (r279708) +++ stable/8/share/zoneinfo/northamerica Fri Mar 6 22:09:44 2015 (r279709) @@ -124,7 +124,7 @@ Rule US 1918 1919 - Mar lastSun 2:00 1:0 Rule US 1918 1919 - Oct lastSun 2:00 0 S Rule US 1942 only - Feb 9 2:00 1:00 W # War Rule US 1945 only - Aug 14 23:00u 1:00 P # Peace -Rule US 1945 only - Sep 30 2:00 0 S +Rule US 1945 only - Sep lastSun 2:00 0 S Rule US 1967 2006 - Oct lastSun 2:00 0 S Rule US 1967 1973 - Apr lastSun 2:00 1:00 D Rule US 1974 only - Jan 6 2:00 1:00 D @@ -2124,11 +2124,11 @@ Zone America/Dawson -9:17:40 - LMT 1900 # Mexico -# From Paul Eggert (2001-03-05): +# From Paul Eggert (2014-12-07): # The Investigation and Analysis Service of the # Mexican Library of Congress (MLoC) has published a # history of Mexican local time (in Spanish) -# http://www.cddhcu.gob.mx/bibliot/publica/inveyana/polisoc/horver/ +# http://www.diputados.gob.mx/bibliot/publica/inveyana/polisoc/horver/index.htm # # Here are the discrepancies between Shanks & Pottenger (S&P) and the MLoC. # (In all cases we go with the MLoC.) @@ -2297,6 +2297,24 @@ Zone America/Dawson -9:17:40 - LMT 1900 # efecto desde las dos horas del segundo domingo de marzo y concluir? a # las dos horas del primer domingo de noviembre. +# From Steffen Thorsen (2014-12-08), translated by Gwillim Law: +# The Mexican state of Quintana Roo will likely change to EST in 2015. +# +# http://www.unioncancun.mx/articulo/2014/12/04/medio-ambiente/congreso-aprueba-una-hora-mas-de-sol-en-qroo +# "With this change, the time conflict that has existed between the municipios +# of Quintana Roo and the municipio of Felipe Carrillo Puerto may come to an +# end. The latter declared itself in rebellion 15 years ago when a time change +# was initiated in Mexico, and since then it has refused to change its time +# zone along with the rest of the country." +# +# From Steffen Thorsen (2015-01-14), translated by Gwillim Law: +# http://sipse.com/novedades/confirman-aplicacion-de-nueva-zona-horaria-para-quintana-roo-132331.html +# "...the new time zone will come into effect at two o'clock on the first Sunday +# of February, when we will have to advance the clock one hour from its current +# time..." +# +# Also, the new zone will not use DST. + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Mexico 1939 only - Feb 5 0:00 1:00 D Rule Mexico 1939 only - Jun 25 0:00 0 S @@ -2317,7 +2335,8 @@ Rule Mexico 2002 max - Oct lastSun 2:00 Zone America/Cancun -5:47:04 - LMT 1922 Jan 1 0:12:56 -6:00 - CST 1981 Dec 23 -5:00 Mexico E%sT 1998 Aug 2 2:00 - -6:00 Mexico C%sT + -6:00 Mexico C%sT 2015 Feb 1 2:00 + -5:00 - EST # Campeche, Yucat?n; represented by M?rida Zone America/Merida -5:58:28 - LMT 1922 Jan 1 0:01:32 -6:00 - CST 1981 Dec 23 Modified: stable/8/share/zoneinfo/southamerica ============================================================================== --- stable/8/share/zoneinfo/southamerica Fri Mar 6 22:08:47 2015 (r279708) +++ stable/8/share/zoneinfo/southamerica Fri Mar 6 22:09:44 2015 (r279709) @@ -1206,6 +1206,11 @@ Zone America/Rio_Branco -4:31:12 - LMT 1 # DST Start: first Saturday of September 2014 (Sun 07 Sep 2014 04:00 UTC) # http://www.diariooficial.interior.gob.cl//media/2014/02/19/do-20140219.pdf +# From Juan Correa (2015-01-28): +# ... today the Ministry of Energy announced that Chile will drop DST, will keep +# "summer time" (UTC -3 / UTC -5) all year round.... +# http://www.minenergia.cl/ministerio/noticias/generales/ministerio-de-energia-anuncia.html + # NOTE: ChileAQ rules for Antarctic bases are stored separately in the # 'antarctica' file. @@ -1247,8 +1252,8 @@ Rule Chile 2009 only - Mar Sun>=9 3:00u Rule Chile 2010 only - Apr Sun>=1 3:00u 0 - Rule Chile 2011 only - May Sun>=2 3:00u 0 - Rule Chile 2011 only - Aug Sun>=16 4:00u 1:00 S -Rule Chile 2012 max - Apr Sun>=23 3:00u 0 - -Rule Chile 2012 max - Sep Sun>=2 4:00u 1:00 S +Rule Chile 2012 2015 - Apr Sun>=23 3:00u 0 - +Rule Chile 2012 2014 - Sep Sun>=2 4:00u 1:00 S # IATA SSIM anomalies: (1992-02) says 1992-03-14; # (1996-09) says 1998-03-08. Ignore these. # Zone NAME GMTOFF RULES FORMAT [UNTIL] @@ -1259,11 +1264,13 @@ Zone America/Santiago -4:42:46 - LMT 189 -4:00 - CLT 1919 Jul 1 # Chile Time -4:42:46 - SMT 1927 Sep 1 # Santiago Mean Time -5:00 Chile CL%sT 1947 May 22 # Chile Time - -4:00 Chile CL%sT + -4:00 Chile CL%sT 2015 Apr 26 3:00u + -3:00 - CLT Zone Pacific/Easter -7:17:44 - LMT 1890 -7:17:28 - EMT 1932 Sep # Easter Mean Time - -7:00 Chile EAS%sT 1982 Mar 13 21:00 # Easter Time - -6:00 Chile EAS%sT + -7:00 Chile EAS%sT 1982 Mar 13 3:00u # Easter Time + -6:00 Chile EAS%sT 2015 Apr 26 3:00u + -5:00 - EAST # # Salas y G?mez Island is uninhabited. # Other Chilean locations, including Juan Fern?ndez Is, Desventuradas Is, Modified: stable/8/share/zoneinfo/zone.tab ============================================================================== --- stable/8/share/zoneinfo/zone.tab Fri Mar 6 22:08:47 2015 (r279708) +++ stable/8/share/zoneinfo/zone.tab Fri Mar 6 22:09:44 2015 (r279709) @@ -274,7 +274,7 @@ MU -2010+05730 Indian/Mauritius MV +0410+07330 Indian/Maldives MW -1547+03500 Africa/Blantyre MX +1924-09909 America/Mexico_City Central Time - most locations -MX +2105-08646 America/Cancun Central Time - Quintana Roo +MX +2105-08646 America/Cancun Eastern Standard Time - Quintana Roo MX +2058-08937 America/Merida Central Time - Campeche, Yucatan MX +2540-10019 America/Monterrey Mexican Central Time - Coahuila, Durango, Nuevo Leon, Tamaulipas away from US border MX +2550-09730 America/Matamoros US Central Time - Coahuila, Durango, Nuevo Leon, Tamaulipas near US border Modified: stable/8/share/zoneinfo/zone1970.tab ============================================================================== --- stable/8/share/zoneinfo/zone1970.tab Fri Mar 6 22:08:47 2015 (r279708) +++ stable/8/share/zoneinfo/zone1970.tab Fri Mar 6 22:09:44 2015 (r279709) @@ -234,7 +234,7 @@ 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 +2105-08646 America/Cancun Eastern Standard 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 From jkim at FreeBSD.org Fri Mar 6 22:35:02 2015 From: jkim at FreeBSD.org (Jung-uk Kim) Date: Fri, 6 Mar 2015 22:35:01 +0000 (UTC) Subject: svn commit: r279715 - stable/8/libexec/rtld-elf Message-ID: <201503062235.t26MZ1WQ023604@svn.freebsd.org> Author: jkim Date: Fri Mar 6 22:35:01 2015 New Revision: 279715 URL: https://svnweb.freebsd.org/changeset/base/279715 Log: MFC: r279364 Use realpath(3) to properly expand $ORIGIN to its absolute path. Modified: stable/8/libexec/rtld-elf/rtld.c Directory Properties: stable/8/libexec/rtld-elf/ (props changed) Modified: stable/8/libexec/rtld-elf/rtld.c ============================================================================== --- stable/8/libexec/rtld-elf/rtld.c Fri Mar 6 22:34:09 2015 (r279714) +++ stable/8/libexec/rtld-elf/rtld.c Fri Mar 6 22:35:01 2015 (r279715) @@ -2563,17 +2563,16 @@ rtld_dirname(const char *path, char *bna static int rtld_dirname_abs(const char *path, char *base) { - char base_rel[PATH_MAX]; + char *last; - if (rtld_dirname(path, base) == -1) + if (realpath(path, base) == NULL) return (-1); - if (base[0] == '/') - return (0); - if (getcwd(base_rel, sizeof(base_rel)) == NULL || - strlcat(base_rel, "/", sizeof(base_rel)) >= sizeof(base_rel) || - strlcat(base_rel, base, sizeof(base_rel)) >= sizeof(base_rel)) + dbg("%s -> %s", path, base); + last = strrchr(base, '/'); + if (last == NULL) return (-1); - strcpy(base, base_rel); + if (last != base) + *last = '\0'; return (0); } From peter at FreeBSD.org Tue Mar 10 05:23:30 2015 From: peter at FreeBSD.org (Peter Wemm) Date: Tue, 10 Mar 2015 05:23:30 +0000 (UTC) Subject: svn commit: r279839 - stable/8/sys/conf Message-ID: <201503100523.t2A5NUxH092116@svn.freebsd.org> Author: peter Date: Tue Mar 10 05:23:29 2015 New Revision: 279839 URL: https://svnweb.freebsd.org/changeset/base/279839 Log: MFC r254340 Some objects - such as *_genassym.o are not hooked into SRCS OBJS or anything else, yet have a dependency on symlinks such as machine/ This causes occasional build failures with -j Modified: stable/8/sys/conf/kern.post.mk Modified: stable/8/sys/conf/kern.post.mk ============================================================================== --- stable/8/sys/conf/kern.post.mk Tue Mar 10 05:20:40 2015 (r279838) +++ stable/8/sys/conf/kern.post.mk Tue Mar 10 05:23:29 2015 (r279839) @@ -202,7 +202,7 @@ _ILINKS+= ${MACHINE_ARCH} # Ensure that the link exists without depending on it when it exists. .for _link in ${_ILINKS} .if !exists(${.OBJDIR}/${_link}) -${SRCS}: ${_link} +${SRCS} ${CLEAN:M*.o}: ${_link} .endif .endfor From jhb at FreeBSD.org Fri Mar 13 20:10:11 2015 From: jhb at FreeBSD.org (John Baldwin) Date: Fri, 13 Mar 2015 20:10:10 +0000 (UTC) Subject: svn commit: r279964 - in stable: 8/sys/dev/ipmi 9/sys/dev/ipmi Message-ID: <201503132010.t2DKAA1U080084@svn.freebsd.org> Author: jhb Date: Fri Mar 13 20:10:09 2015 New Revision: 279964 URL: https://svnweb.freebsd.org/changeset/base/279964 Log: MFC 278321: Use direct hardware access for internal requests for KCS and SMIC. In particular, updates to the watchdog should no longer sleep. - Add a new IPMI_IO_LOCK for low-level I/O access. Use this for kcs_polled_request() and smic_polled_request(). - Add a new backend callback "ipmi_driver_request" to handle a driver request. The new callback performs the request sychronously for KCS and SMIC. SSIF still defers the work to the worker thread since the worker thread sleeps during request processing anyway. - Allocate driver requests on the stack rather than using malloc(). Modified: stable/8/sys/dev/ipmi/ipmi.c stable/8/sys/dev/ipmi/ipmi_kcs.c stable/8/sys/dev/ipmi/ipmi_smic.c stable/8/sys/dev/ipmi/ipmi_ssif.c stable/8/sys/dev/ipmi/ipmivars.h Directory Properties: stable/8/sys/ (props changed) stable/8/sys/dev/ (props changed) stable/8/sys/dev/ipmi/ (props changed) Changes in other areas also in this revision: Modified: stable/9/sys/dev/ipmi/ipmi.c stable/9/sys/dev/ipmi/ipmi_kcs.c stable/9/sys/dev/ipmi/ipmi_smic.c stable/9/sys/dev/ipmi/ipmi_ssif.c stable/9/sys/dev/ipmi/ipmivars.h Directory Properties: stable/9/sys/ (props changed) stable/9/sys/dev/ (props changed) Modified: stable/8/sys/dev/ipmi/ipmi.c ============================================================================== --- stable/8/sys/dev/ipmi/ipmi.c Fri Mar 13 20:08:35 2015 (r279963) +++ stable/8/sys/dev/ipmi/ipmi.c Fri Mar 13 20:10:09 2015 (r279964) @@ -49,6 +49,23 @@ __FBSDID("$FreeBSD$"); #include #endif +/* + * Driver request structures are allocated on the stack via alloca() to + * avoid calling malloc(), especially for the watchdog handler. + * To avoid too much stack growth, a previously allocated structure can + * be reused via IPMI_INIT_DRIVER_REQUEST(), but the caller should ensure + * that there is adequate reply/request space in the original allocation. + */ +#define IPMI_INIT_DRIVER_REQUEST(req, addr, cmd, reqlen, replylen) \ + bzero((req), sizeof(struct ipmi_request)); \ + ipmi_init_request((req), NULL, 0, (addr), (cmd), (reqlen), (replylen)) + +#define IPMI_ALLOC_DRIVER_REQUEST(req, addr, cmd, reqlen, replylen) \ + (req) = __builtin_alloca(sizeof(struct ipmi_request) + \ + (reqlen) + (replylen)); \ + IPMI_INIT_DRIVER_REQUEST((req), (addr), (cmd), (reqlen), \ + (replylen)) + #ifdef IPMB static int ipmi_ipmb_checksum(u_char, int); static int ipmi_ipmb_send_message(device_t, u_char, u_char, u_char, @@ -180,8 +197,8 @@ ipmi_dtor(void *arg) */ dev->ipmi_closing = 1; while (dev->ipmi_requests > 0) { - msleep(&dev->ipmi_requests, &sc->ipmi_lock, PWAIT, - "ipmidrain", 0); + msleep(&dev->ipmi_requests, &sc->ipmi_requests_lock, + PWAIT, "ipmidrain", 0); ipmi_purge_completed_requests(dev); } } @@ -214,7 +231,7 @@ ipmi_ipmb_send_message(device_t dev, u_c u_char slave_addr = 0x52; int error; - req = ipmi_alloc_driver_request(IPMI_ADDR(IPMI_APP_REQUEST, 0), + IPMI_ALLOC_DRIVER_REQUEST(req, IPMI_ADDR(IPMI_APP_REQUEST, 0), IPMI_SEND_MSG, data_len + 8, 0); req->ir_request[0] = channel; req->ir_request[1] = slave_addr; @@ -230,7 +247,6 @@ ipmi_ipmb_send_message(device_t dev, u_c ipmi_submit_driver_request(sc, req); error = req->ir_error; - ipmi_free_request(req); return (error); } @@ -242,7 +258,7 @@ ipmi_handle_attn(struct ipmi_softc *sc) int error; device_printf(sc->ipmi_dev, "BMC has a message\n"); - req = ipmi_alloc_driver_request(IPMI_ADDR(IPMI_APP_REQUEST, 0), + IPMI_ALLOC_DRIVER_REQUEST(req, IPMI_ADDR(IPMI_APP_REQUEST, 0), IPMI_GET_MSG_FLAGS, 0, 1); ipmi_submit_driver_request(sc, req); @@ -256,9 +272,7 @@ ipmi_handle_attn(struct ipmi_softc *sc) "watchdog about to go off"); } if (req->ir_reply[0] & IPMI_MSG_AVAILABLE) { - ipmi_free_request(req); - - req = ipmi_alloc_driver_request( + IPMI_ALLOC_DRIVER_REQUEST(req, IPMI_ADDR(IPMI_APP_REQUEST, 0), IPMI_GET_MSG, 0, 16); @@ -267,7 +281,6 @@ ipmi_handle_attn(struct ipmi_softc *sc) } } error = req->ir_error; - ipmi_free_request(req); return (error); } @@ -477,15 +490,11 @@ ipmi_ioctl(struct cdev *cdev, u_long cmd * Request management. */ -/* Allocate a new request with request and reply buffers. */ -struct ipmi_request * -ipmi_alloc_request(struct ipmi_device *dev, long msgid, uint8_t addr, - uint8_t command, size_t requestlen, size_t replylen) +static __inline void +ipmi_init_request(struct ipmi_request *req, struct ipmi_device *dev, long msgid, + uint8_t addr, uint8_t command, size_t requestlen, size_t replylen) { - struct ipmi_request *req; - req = malloc(sizeof(struct ipmi_request) + requestlen + replylen, - M_IPMI, M_WAITOK | M_ZERO); req->ir_owner = dev; req->ir_msgid = msgid; req->ir_addr = addr; @@ -498,6 +507,18 @@ ipmi_alloc_request(struct ipmi_device *d req->ir_reply = (char *)&req[1] + requestlen; req->ir_replybuflen = replylen; } +} + +/* Allocate a new request with request and reply buffers. */ +struct ipmi_request * +ipmi_alloc_request(struct ipmi_device *dev, long msgid, uint8_t addr, + uint8_t command, size_t requestlen, size_t replylen) +{ + struct ipmi_request *req; + + req = malloc(sizeof(struct ipmi_request) + requestlen + replylen, + M_IPMI, M_WAITOK | M_ZERO); + ipmi_init_request(req, dev, msgid, addr, command, requestlen, replylen); return (req); } @@ -532,21 +553,13 @@ ipmi_complete_request(struct ipmi_softc } } -/* Enqueue an internal driver request and wait until it is completed. */ +/* Perform an internal driver request. */ int ipmi_submit_driver_request(struct ipmi_softc *sc, struct ipmi_request *req, int timo) { - int error; - IPMI_LOCK(sc); - error = sc->ipmi_enqueue_request(sc, req); - if (error == 0) - error = msleep(req, &sc->ipmi_lock, 0, "ipmireq", timo); - if (error == 0) - error = req->ir_error; - IPMI_UNLOCK(sc); - return (error); + return (sc->ipmi_driver_request(sc, req, timo)); } /* @@ -563,7 +576,7 @@ ipmi_dequeue_request(struct ipmi_softc * IPMI_LOCK_ASSERT(sc); while (!sc->ipmi_detaching && TAILQ_EMPTY(&sc->ipmi_pending_requests)) - cv_wait(&sc->ipmi_request_added, &sc->ipmi_lock); + cv_wait(&sc->ipmi_request_added, &sc->ipmi_requests_lock); if (sc->ipmi_detaching) return (NULL); @@ -597,7 +610,7 @@ ipmi_set_watchdog(struct ipmi_softc *sc, if (sec > 0xffff / 10) return (EINVAL); - req = ipmi_alloc_driver_request(IPMI_ADDR(IPMI_APP_REQUEST, 0), + IPMI_ALLOC_DRIVER_REQUEST(req, IPMI_ADDR(IPMI_APP_REQUEST, 0), IPMI_SET_WDOG, 6, 0); if (sec) { @@ -621,9 +634,7 @@ ipmi_set_watchdog(struct ipmi_softc *sc, if (error) device_printf(sc->ipmi_dev, "Failed to set watchdog\n"); else if (sec) { - ipmi_free_request(req); - - req = ipmi_alloc_driver_request(IPMI_ADDR(IPMI_APP_REQUEST, 0), + IPMI_INIT_DRIVER_REQUEST(req, IPMI_ADDR(IPMI_APP_REQUEST, 0), IPMI_RESET_WDOG, 0, 0); error = ipmi_submit_driver_request(sc, req, 0); @@ -632,7 +643,6 @@ ipmi_set_watchdog(struct ipmi_softc *sc, "Failed to reset watchdog\n"); } - ipmi_free_request(req); return (error); /* dump_watchdog(sc); @@ -676,7 +686,8 @@ ipmi_startup(void *arg) dev = sc->ipmi_dev; /* Initialize interface-independent state. */ - mtx_init(&sc->ipmi_lock, device_get_nameunit(dev), "ipmi", MTX_DEF); + mtx_init(&sc->ipmi_requests_lock, "ipmi requests", NULL, MTX_DEF); + mtx_init(&sc->ipmi_io_lock, "ipmi io", NULL, MTX_DEF); cv_init(&sc->ipmi_request_added, "ipmireq"); TAILQ_INIT(&sc->ipmi_pending_requests); @@ -689,28 +700,24 @@ ipmi_startup(void *arg) } /* Send a GET_DEVICE_ID request. */ - req = ipmi_alloc_driver_request(IPMI_ADDR(IPMI_APP_REQUEST, 0), + IPMI_ALLOC_DRIVER_REQUEST(req, IPMI_ADDR(IPMI_APP_REQUEST, 0), IPMI_GET_DEVICE_ID, 0, 15); error = ipmi_submit_driver_request(sc, req, MAX_TIMEOUT); if (error == EWOULDBLOCK) { device_printf(dev, "Timed out waiting for GET_DEVICE_ID\n"); - ipmi_free_request(req); return; } else if (error) { device_printf(dev, "Failed GET_DEVICE_ID: %d\n", error); - ipmi_free_request(req); return; } else if (req->ir_compcode != 0) { device_printf(dev, "Bad completion code for GET_DEVICE_ID: %d\n", req->ir_compcode); - ipmi_free_request(req); return; } else if (req->ir_replylen < 5) { device_printf(dev, "Short reply for GET_DEVICE_ID: %d\n", req->ir_replylen); - ipmi_free_request(req); return; } @@ -720,9 +727,7 @@ ipmi_startup(void *arg) req->ir_reply[2] & 0x7f, req->ir_reply[3] >> 4, req->ir_reply[3] & 0x0f, req->ir_reply[4] & 0x0f, req->ir_reply[4] >> 4); - ipmi_free_request(req); - - req = ipmi_alloc_driver_request(IPMI_ADDR(IPMI_APP_REQUEST, 0), + IPMI_INIT_DRIVER_REQUEST(req, IPMI_ADDR(IPMI_APP_REQUEST, 0), IPMI_CLEAR_FLAGS, 1, 0); ipmi_submit_driver_request(sc, req, 0); @@ -734,25 +739,21 @@ ipmi_startup(void *arg) if (req->ir_compcode == 0xc1) { device_printf(dev, "Clear flags illegal\n"); } - ipmi_free_request(req); for (i = 0; i < 8; i++) { - req = ipmi_alloc_driver_request(IPMI_ADDR(IPMI_APP_REQUEST, 0), + IPMI_INIT_DRIVER_REQUEST(req, IPMI_ADDR(IPMI_APP_REQUEST, 0), IPMI_GET_CHANNEL_INFO, 1, 0); req->ir_request[0] = i; ipmi_submit_driver_request(sc, req, 0); - if (req->ir_compcode != 0) { - ipmi_free_request(req); + if (req->ir_compcode != 0) break; - } - ipmi_free_request(req); } device_printf(dev, "Number of channels %d\n", i); /* probe for watchdog */ - req = ipmi_alloc_driver_request(IPMI_ADDR(IPMI_APP_REQUEST, 0), + IPMI_INIT_DRIVER_REQUEST(req, IPMI_ADDR(IPMI_APP_REQUEST, 0), IPMI_GET_WDOG, 0, 0); ipmi_submit_driver_request(sc, req, 0); @@ -763,7 +764,6 @@ ipmi_startup(void *arg) sc->ipmi_watchdog_tag = EVENTHANDLER_REGISTER(watchdog_list, ipmi_wd_event, sc, 0); } - ipmi_free_request(req); sc->ipmi_cdev = make_dev(&ipmi_cdevsw, device_get_unit(dev), UID_ROOT, GID_OPERATOR, 0660, "ipmi%d", device_get_unit(dev)); @@ -830,14 +830,16 @@ ipmi_detach(device_t dev) sc->ipmi_detaching = 1; if (sc->ipmi_kthread) { cv_broadcast(&sc->ipmi_request_added); - msleep(sc->ipmi_kthread, &sc->ipmi_lock, 0, "ipmi_wait", 0); + msleep(sc->ipmi_kthread, &sc->ipmi_requests_lock, 0, + "ipmi_wait", 0); } IPMI_UNLOCK(sc); if (sc->ipmi_irq) bus_teardown_intr(dev, sc->ipmi_irq_res, sc->ipmi_irq); ipmi_release_resources(dev); - mtx_destroy(&sc->ipmi_lock); + mtx_destroy(&sc->ipmi_io_lock); + mtx_destroy(&sc->ipmi_requests_lock); return (0); } Modified: stable/8/sys/dev/ipmi/ipmi_kcs.c ============================================================================== --- stable/8/sys/dev/ipmi/ipmi_kcs.c Fri Mar 13 20:08:35 2015 (r279963) +++ stable/8/sys/dev/ipmi/ipmi_kcs.c Fri Mar 13 20:10:09 2015 (r279964) @@ -321,6 +321,8 @@ kcs_polled_request(struct ipmi_softc *sc u_char *cp, data; int i, state; + IPMI_IO_LOCK(sc); + /* Send the request. */ if (!kcs_start_write(sc)) { device_printf(sc->ipmi_dev, "KCS: Failed to start write\n"); @@ -444,6 +446,7 @@ kcs_polled_request(struct ipmi_softc *sc } i++; } + IPMI_IO_UNLOCK(sc); req->ir_replylen = i; #ifdef KCS_DEBUG device_printf(sc->ipmi_dev, "KCS: READ finished (%d bytes)\n", i); @@ -457,6 +460,7 @@ kcs_polled_request(struct ipmi_softc *sc return (1); fail: kcs_error(sc); + IPMI_IO_UNLOCK(sc); return (0); } @@ -490,6 +494,21 @@ kcs_startup(struct ipmi_softc *sc) device_get_nameunit(sc->ipmi_dev))); } +static int +kcs_driver_request(struct ipmi_softc *sc, struct ipmi_request *req, int timo) +{ + int i, ok; + + ok = 0; + for (i = 0; i < 3 && !ok; i++) + ok = kcs_polled_request(sc, req); + if (ok) + req->ir_error = 0; + else + req->ir_error = EIO; + return (req->ir_error); +} + int ipmi_kcs_attach(struct ipmi_softc *sc) { @@ -498,6 +517,7 @@ ipmi_kcs_attach(struct ipmi_softc *sc) /* Setup function pointers. */ sc->ipmi_startup = kcs_startup; sc->ipmi_enqueue_request = ipmi_polled_enqueue_request; + sc->ipmi_driver_request = kcs_driver_request; /* See if we can talk to the controller. */ status = INB(sc, KCS_CTL_STS); Modified: stable/8/sys/dev/ipmi/ipmi_smic.c ============================================================================== --- stable/8/sys/dev/ipmi/ipmi_smic.c Fri Mar 13 20:08:35 2015 (r279963) +++ stable/8/sys/dev/ipmi/ipmi_smic.c Fri Mar 13 20:10:09 2015 (r279964) @@ -363,8 +363,11 @@ smic_loop(void *arg) IPMI_LOCK(sc); while ((req = ipmi_dequeue_request(sc)) != NULL) { ok = 0; - for (i = 0; i < 3 && !ok; i++) + for (i = 0; i < 3 && !ok; i++) { + IPMI_IO_LOCK(sc); ok = smic_polled_request(sc, req); + IPMI_IO_UNLOCK(sc); + } if (ok) req->ir_error = 0; else @@ -383,6 +386,24 @@ smic_startup(struct ipmi_softc *sc) "%s: smic", device_get_nameunit(sc->ipmi_dev))); } +static int +smic_driver_request(struct ipmi_softc *sc, struct ipmi_request *req, int timo) +{ + int i, ok; + + ok = 0; + for (i = 0; i < 3 && !ok; i++) { + IPMI_IO_LOCK(sc); + ok = smic_polled_request(sc, req); + IPMI_IO_UNLOCK(sc); + } + if (ok) + req->ir_error = 0; + else + req->ir_error = EIO; + return (req->ir_error); +} + int ipmi_smic_attach(struct ipmi_softc *sc) { @@ -391,6 +412,7 @@ ipmi_smic_attach(struct ipmi_softc *sc) /* Setup function pointers. */ sc->ipmi_startup = smic_startup; sc->ipmi_enqueue_request = ipmi_polled_enqueue_request; + sc->ipmi_driver_request = smic_driver_request; /* See if we can talk to the controller. */ flags = INB(sc, SMIC_FLAGS); Modified: stable/8/sys/dev/ipmi/ipmi_ssif.c ============================================================================== --- stable/8/sys/dev/ipmi/ipmi_ssif.c Fri Mar 13 20:08:35 2015 (r279963) +++ stable/8/sys/dev/ipmi/ipmi_ssif.c Fri Mar 13 20:10:09 2015 (r279964) @@ -359,6 +359,22 @@ ssif_startup(struct ipmi_softc *sc) "%s: ssif", device_get_nameunit(sc->ipmi_dev))); } +static int +ssif_driver_request(struct ipmi_softc *sc, struct ipmi_request *req, int timo) +{ + int error; + + IPMI_LOCK(sc); + error = ipmi_polled_enqueue_request(sc, req); + if (error == 0) + error = msleep(req, &sc->ipmi_requests_lock, 0, "ipmireq", + timo); + if (error == 0) + error = req->ir_error; + IPMI_UNLOCK(sc); + return (error); +} + int ipmi_ssif_attach(struct ipmi_softc *sc, device_t smbus, int smbus_address) { @@ -370,6 +386,7 @@ ipmi_ssif_attach(struct ipmi_softc *sc, /* Setup function pointers. */ sc->ipmi_startup = ssif_startup; sc->ipmi_enqueue_request = ipmi_polled_enqueue_request; + sc->ipmi_driver_request = ssif_driver_request; return (0); } Modified: stable/8/sys/dev/ipmi/ipmivars.h ============================================================================== --- stable/8/sys/dev/ipmi/ipmivars.h Fri Mar 13 20:08:35 2015 (r279963) +++ stable/8/sys/dev/ipmi/ipmivars.h Fri Mar 13 20:10:09 2015 (r279964) @@ -95,6 +95,7 @@ struct ipmi_softc { } _iface; int ipmi_io_rid; int ipmi_io_type; + struct mtx ipmi_io_lock; struct resource *ipmi_io_res[MAX_RES]; int ipmi_io_spacing; int ipmi_irq_rid; @@ -107,12 +108,13 @@ struct ipmi_softc { eventhandler_tag ipmi_watchdog_tag; int ipmi_watchdog_active; struct intr_config_hook ipmi_ich; - struct mtx ipmi_lock; + struct mtx ipmi_requests_lock; struct cv ipmi_request_added; struct proc *ipmi_kthread; driver_intr_t *ipmi_intr; int (*ipmi_startup)(struct ipmi_softc *); int (*ipmi_enqueue_request)(struct ipmi_softc *, struct ipmi_request *); + int (*ipmi_driver_request)(struct ipmi_softc *, struct ipmi_request *, int); }; #define ipmi_ssif_smbus_address _iface.ssif.smbus_address @@ -183,12 +185,13 @@ struct ipmi_ipmb { #define IPMI_ADDR(netfn, lun) ((netfn) << 2 | (lun)) #define IPMI_REPLY_ADDR(addr) ((addr) + 0x4) -#define IPMI_LOCK(sc) mtx_lock(&(sc)->ipmi_lock) -#define IPMI_UNLOCK(sc) mtx_unlock(&(sc)->ipmi_lock) -#define IPMI_LOCK_ASSERT(sc) mtx_assert(&(sc)->ipmi_lock, MA_OWNED) - -#define ipmi_alloc_driver_request(addr, cmd, reqlen, replylen) \ - ipmi_alloc_request(NULL, 0, (addr), (cmd), (reqlen), (replylen)) +#define IPMI_LOCK(sc) mtx_lock(&(sc)->ipmi_requests_lock) +#define IPMI_UNLOCK(sc) mtx_unlock(&(sc)->ipmi_requests_lock) +#define IPMI_LOCK_ASSERT(sc) mtx_assert(&(sc)->ipmi_requests_lock, MA_OWNED) + +#define IPMI_IO_LOCK(sc) mtx_lock(&(sc)->ipmi_io_lock) +#define IPMI_IO_UNLOCK(sc) mtx_unlock(&(sc)->ipmi_io_lock) +#define IPMI_IO_LOCK_ASSERT(sc) mtx_assert(&(sc)->ipmi_io_lock, MA_OWNED) #if __FreeBSD_version < 601105 #define bus_read_1(r, o) \ From delphij at FreeBSD.org Thu Mar 19 17:40:51 2015 From: delphij at FreeBSD.org (Xin LI) Date: Thu, 19 Mar 2015 17:40:47 +0000 (UTC) Subject: svn commit: r280266 - in stable: 10/crypto/openssl/crypto/asn1 10/crypto/openssl/crypto/pkcs7 10/crypto/openssl/doc/crypto 10/crypto/openssl/ssl 10/secure/lib/libcrypto/man 8/crypto/openssl/crypto/... Message-ID: <201503191740.t2JHem5H072328@svn.freebsd.org> Author: delphij Date: Thu Mar 19 17:40:43 2015 New Revision: 280266 URL: https://svnweb.freebsd.org/changeset/base/280266 Log: Fix multiple OpenSSL vulnerabilities. Security: FreeBSD-SA-15:06.openssl Security: CVE-2015-0209 Security: CVE-2015-0286 Security: CVE-2015-0287 Security: CVE-2015-0288 Security: CVE-2015-0289 Security: CVE-2015-0293 Modified: stable/8/crypto/openssl/crypto/asn1/a_type.c stable/8/crypto/openssl/crypto/asn1/tasn_dec.c stable/8/crypto/openssl/crypto/pkcs7/pk7_doit.c stable/8/crypto/openssl/crypto/pkcs7/pk7_lib.c stable/8/crypto/openssl/doc/crypto/d2i_X509.pod stable/8/crypto/openssl/ssl/s2_lib.c stable/8/crypto/openssl/ssl/s2_srvr.c stable/8/secure/lib/libcrypto/man/d2i_X509.3 Changes in other areas also in this revision: Modified: stable/10/crypto/openssl/crypto/asn1/a_type.c stable/10/crypto/openssl/crypto/asn1/tasn_dec.c stable/10/crypto/openssl/crypto/pkcs7/pk7_doit.c stable/10/crypto/openssl/crypto/pkcs7/pk7_lib.c stable/10/crypto/openssl/doc/crypto/d2i_X509.pod stable/10/crypto/openssl/ssl/s2_lib.c stable/10/crypto/openssl/ssl/s2_srvr.c stable/10/secure/lib/libcrypto/man/d2i_X509.3 stable/9/crypto/openssl/crypto/asn1/a_type.c stable/9/crypto/openssl/crypto/asn1/tasn_dec.c stable/9/crypto/openssl/crypto/pkcs7/pk7_doit.c stable/9/crypto/openssl/crypto/pkcs7/pk7_lib.c stable/9/crypto/openssl/doc/crypto/d2i_X509.pod stable/9/crypto/openssl/ssl/s2_lib.c stable/9/crypto/openssl/ssl/s2_srvr.c stable/9/secure/lib/libcrypto/man/d2i_X509.3 Modified: stable/8/crypto/openssl/crypto/asn1/a_type.c ============================================================================== --- stable/8/crypto/openssl/crypto/asn1/a_type.c Thu Mar 19 16:14:27 2015 (r280265) +++ stable/8/crypto/openssl/crypto/asn1/a_type.c Thu Mar 19 17:40:43 2015 (r280266) @@ -121,6 +121,9 @@ int ASN1_TYPE_cmp(const ASN1_TYPE *a, co case V_ASN1_OBJECT: result = OBJ_cmp(a->value.object, b->value.object); break; + case V_ASN1_BOOLEAN: + result = a->value.boolean - b->value.boolean; + break; case V_ASN1_NULL: result = 0; /* They do not have content. */ break; Modified: stable/8/crypto/openssl/crypto/asn1/tasn_dec.c ============================================================================== --- stable/8/crypto/openssl/crypto/asn1/tasn_dec.c Thu Mar 19 16:14:27 2015 (r280265) +++ stable/8/crypto/openssl/crypto/asn1/tasn_dec.c Thu Mar 19 17:40:43 2015 (r280266) @@ -125,16 +125,23 @@ unsigned long ASN1_tag2bit(int tag) ASN1_VALUE *ASN1_item_d2i(ASN1_VALUE **pval, const unsigned char **in, long len, const ASN1_ITEM *it) - { +{ ASN1_TLC c; ASN1_VALUE *ptmpval = NULL; - if (!pval) - pval = &ptmpval; c.valid = 0; - if (ASN1_item_ex_d2i(pval, in, len, it, -1, 0, 0, &c) > 0) - return *pval; - return NULL; + if (pval && *pval && it->itype == ASN1_ITYPE_PRIMITIVE) + ptmpval = *pval; + + if (ASN1_item_ex_d2i(&ptmpval, in, len, it, -1, 0, 0, &c) > 0) { + if (pval && it->itype != ASN1_ITYPE_PRIMITIVE) { + if (*pval) + ASN1_item_free(*pval, it); + *pval = ptmpval; + } + return ptmpval; } + return NULL; +} int ASN1_template_d2i(ASN1_VALUE **pval, const unsigned char **in, long len, const ASN1_TEMPLATE *tt) @@ -309,13 +316,20 @@ int ASN1_item_ex_d2i(ASN1_VALUE **pval, if (asn1_cb && !asn1_cb(ASN1_OP_D2I_PRE, pval, it)) goto auxerr; - /* Allocate structure */ - if (!*pval && !ASN1_item_ex_new(pval, it)) - { + if (*pval) { + /* Free up and zero CHOICE value if initialised */ + i = asn1_get_choice_selector(pval, it); + if ((i >= 0) && (i < it->tcount)) { + tt = it->templates + i; + pchptr = asn1_get_field_ptr(pval, tt); + ASN1_template_free(pchptr, tt); + asn1_set_choice_selector(pval, -1, it); + } + } else if (!ASN1_item_ex_new(pval, it)) { ASN1err(ASN1_F_ASN1_ITEM_EX_D2I, ERR_R_NESTED_ASN1_ERROR); goto err; - } + } /* CHOICE type, try each possibility in turn */ p = *in; for (i = 0, tt=it->templates; i < it->tcount; i++, tt++) @@ -405,6 +419,17 @@ int ASN1_item_ex_d2i(ASN1_VALUE **pval, if (asn1_cb && !asn1_cb(ASN1_OP_D2I_PRE, pval, it)) goto auxerr; + /* Free up and zero any ADB found */ + for (i = 0, tt = it->templates; i < it->tcount; i++, tt++) { + if (tt->flags & ASN1_TFLG_ADB_MASK) { + const ASN1_TEMPLATE *seqtt; + ASN1_VALUE **pseqval; + seqtt = asn1_do_adb(pval, tt, 1); + pseqval = asn1_get_field_ptr(pval, seqtt); + ASN1_template_free(pseqval, seqtt); + } + } + /* Get each field entry */ for (i = 0, tt = it->templates; i < it->tcount; i++, tt++) { Modified: stable/8/crypto/openssl/crypto/pkcs7/pk7_doit.c ============================================================================== --- stable/8/crypto/openssl/crypto/pkcs7/pk7_doit.c Thu Mar 19 16:14:27 2015 (r280265) +++ stable/8/crypto/openssl/crypto/pkcs7/pk7_doit.c Thu Mar 19 17:40:43 2015 (r280266) @@ -151,6 +151,25 @@ BIO *PKCS7_dataInit(PKCS7 *p7, BIO *bio) EVP_PKEY *pkey; ASN1_OCTET_STRING *os=NULL; + if (p7 == NULL) { + PKCS7err(PKCS7_F_PKCS7_DATAINIT, PKCS7_R_INVALID_NULL_POINTER); + return NULL; + } + /* + * The content field in the PKCS7 ContentInfo is optional, but that really + * only applies to inner content (precisely, detached signatures). + * + * When reading content, missing outer content is therefore treated as an + * error. + * + * When creating content, PKCS7_content_new() must be called before + * calling this method, so a NULL p7->d is always an error. + */ + if (p7->d.ptr == NULL) { + PKCS7err(PKCS7_F_PKCS7_DATAINIT, PKCS7_R_NO_CONTENT); + return NULL; + } + i=OBJ_obj2nid(p7->type); p7->state=PKCS7_S_HEADER; @@ -344,6 +363,16 @@ BIO *PKCS7_dataDecode(PKCS7 *p7, EVP_PKE STACK_OF(PKCS7_RECIP_INFO) *rsk=NULL; PKCS7_RECIP_INFO *ri=NULL; + if (p7 == NULL) { + PKCS7err(PKCS7_F_PKCS7_DATADECODE, PKCS7_R_INVALID_NULL_POINTER); + return NULL; + } + + if (p7->d.ptr == NULL) { + PKCS7err(PKCS7_F_PKCS7_DATADECODE, PKCS7_R_NO_CONTENT); + return NULL; + } + i=OBJ_obj2nid(p7->type); p7->state=PKCS7_S_HEADER; @@ -637,6 +666,16 @@ int PKCS7_dataFinal(PKCS7 *p7, BIO *bio) STACK_OF(PKCS7_SIGNER_INFO) *si_sk=NULL; ASN1_OCTET_STRING *os=NULL; + if (p7 == NULL) { + PKCS7err(PKCS7_F_PKCS7_DATAFINAL, PKCS7_R_INVALID_NULL_POINTER); + return 0; + } + + if (p7->d.ptr == NULL) { + PKCS7err(PKCS7_F_PKCS7_DATAFINAL, PKCS7_R_NO_CONTENT); + return 0; + } + EVP_MD_CTX_init(&ctx_tmp); i=OBJ_obj2nid(p7->type); p7->state=PKCS7_S_HEADER; @@ -668,6 +707,7 @@ int PKCS7_dataFinal(PKCS7 *p7, BIO *bio) /* If detached data then the content is excluded */ if(PKCS7_type_is_data(p7->d.sign->contents) && p7->detached) { M_ASN1_OCTET_STRING_free(os); + os = NULL; p7->d.sign->contents->d.data = NULL; } break; @@ -678,6 +718,7 @@ int PKCS7_dataFinal(PKCS7 *p7, BIO *bio) if(PKCS7_type_is_data(p7->d.digest->contents) && p7->detached) { M_ASN1_OCTET_STRING_free(os); + os = NULL; p7->d.digest->contents->d.data = NULL; } break; @@ -813,8 +854,13 @@ int PKCS7_dataFinal(PKCS7 *p7, BIO *bio) M_ASN1_OCTET_STRING_set(p7->d.digest->digest, md_data, md_len); } - if (!PKCS7_is_detached(p7)) - { + if (!PKCS7_is_detached(p7)) { + /* + * NOTE(emilia): I think we only reach os == NULL here because detached + * digested data support is broken. + */ + if (os == NULL) + goto err; btmp=BIO_find_type(bio,BIO_TYPE_MEM); if (btmp == NULL) { @@ -849,6 +895,16 @@ int PKCS7_dataVerify(X509_STORE *cert_st STACK_OF(X509) *cert; X509 *x509; + if (p7 == NULL) { + PKCS7err(PKCS7_F_PKCS7_DATAVERIFY, PKCS7_R_INVALID_NULL_POINTER); + return 0; + } + + if (p7->d.ptr == NULL) { + PKCS7err(PKCS7_F_PKCS7_DATAVERIFY, PKCS7_R_NO_CONTENT); + return 0; + } + if (PKCS7_type_is_signed(p7)) { cert=p7->d.sign->cert; Modified: stable/8/crypto/openssl/crypto/pkcs7/pk7_lib.c ============================================================================== --- stable/8/crypto/openssl/crypto/pkcs7/pk7_lib.c Thu Mar 19 16:14:27 2015 (r280265) +++ stable/8/crypto/openssl/crypto/pkcs7/pk7_lib.c Thu Mar 19 17:40:43 2015 (r280266) @@ -70,6 +70,7 @@ long PKCS7_ctrl(PKCS7 *p7, int cmd, long switch (cmd) { + /* NOTE(emilia): does not support detached digested data. */ case PKCS7_OP_SET_DETACHED_SIGNATURE: if (nid == NID_pkcs7_signed) { @@ -473,6 +474,8 @@ int PKCS7_set_digest(PKCS7 *p7, const EV STACK_OF(PKCS7_SIGNER_INFO) *PKCS7_get_signer_info(PKCS7 *p7) { + if (p7 == NULL || p7->d.ptr == NULL) + return NULL; if (PKCS7_type_is_signed(p7)) { return(p7->d.sign->signer_info); Modified: stable/8/crypto/openssl/doc/crypto/d2i_X509.pod ============================================================================== --- stable/8/crypto/openssl/doc/crypto/d2i_X509.pod Thu Mar 19 16:14:27 2015 (r280265) +++ stable/8/crypto/openssl/doc/crypto/d2i_X509.pod Thu Mar 19 17:40:43 2015 (r280266) @@ -199,6 +199,12 @@ B<*px> is valid is broken and some parts persist if they are not present in the new one. As a result the use of this "reuse" behaviour is strongly discouraged. +Current versions of OpenSSL will not modify B<*px> if an error occurs. +If parsing succeeds then B<*px> is freed (if it is not NULL) and then +set to the value of the newly decoded structure. As a result B<*px> +B be allocated on the stack or an attempt will be made to +free an invalid pointer. + i2d_X509() will not return an error in many versions of OpenSSL, if mandatory fields are not initialized due to a programming error then the encoded structure may contain invalid data or omit the @@ -210,7 +216,9 @@ always succeed. d2i_X509(), d2i_X509_bio() and d2i_X509_fp() return a valid B structure or B if an error occurs. The error code that can be obtained by -L. +L. If the "reuse" capability has been used +with a valid X509 structure being passed in via B then the object is not +modified in the event of error. i2d_X509() returns the number of bytes successfully encoded or a negative value if an error occurs. The error code can be obtained by Modified: stable/8/crypto/openssl/ssl/s2_lib.c ============================================================================== --- stable/8/crypto/openssl/ssl/s2_lib.c Thu Mar 19 16:14:27 2015 (r280265) +++ stable/8/crypto/openssl/ssl/s2_lib.c Thu Mar 19 17:40:43 2015 (r280266) @@ -410,7 +410,7 @@ int ssl2_generate_key_material(SSL *s) OPENSSL_assert(s->session->master_key_length >= 0 && s->session->master_key_length - < (int)sizeof(s->session->master_key)); + <= (int)sizeof(s->session->master_key)); EVP_DigestUpdate(&ctx,s->session->master_key,s->session->master_key_length); EVP_DigestUpdate(&ctx,&c,1); c++; Modified: stable/8/crypto/openssl/ssl/s2_srvr.c ============================================================================== --- stable/8/crypto/openssl/ssl/s2_srvr.c Thu Mar 19 16:14:27 2015 (r280265) +++ stable/8/crypto/openssl/ssl/s2_srvr.c Thu Mar 19 17:40:43 2015 (r280266) @@ -446,9 +446,6 @@ static int get_client_master_key(SSL *s) SSLerr(SSL_F_GET_CLIENT_MASTER_KEY,SSL_R_NO_PRIVATEKEY); return(-1); } - i=ssl_rsa_private_decrypt(s->cert,s->s2->tmp.enc, - &(p[s->s2->tmp.clear]),&(p[s->s2->tmp.clear]), - (s->s2->ssl2_rollback)?RSA_SSLV23_PADDING:RSA_PKCS1_PADDING); is_export=SSL_C_IS_EXPORT(s->session->cipher); @@ -467,23 +464,61 @@ static int get_client_master_key(SSL *s) else ek=5; + /* + * The format of the CLIENT-MASTER-KEY message is + * 1 byte message type + * 3 bytes cipher + * 2-byte clear key length (stored in s->s2->tmp.clear) + * 2-byte encrypted key length (stored in s->s2->tmp.enc) + * 2-byte key args length (IV etc) + * clear key + * encrypted key + * key args + * + * If the cipher is an export cipher, then the encrypted key bytes + * are a fixed portion of the total key (5 or 8 bytes). The size of + * this portion is in |ek|. If the cipher is not an export cipher, + * then the entire key material is encrypted (i.e., clear key length + * must be zero). + */ + if ((!is_export && s->s2->tmp.clear != 0) || + (is_export && s->s2->tmp.clear + ek != EVP_CIPHER_key_length(c))) { + ssl2_return_error(s, SSL2_PE_UNDEFINED_ERROR); + SSLerr(SSL_F_GET_CLIENT_MASTER_KEY,SSL_R_BAD_LENGTH); + return -1; + } + /* + * The encrypted blob must decrypt to the encrypted portion of the key. + * Decryption can't be expanding, so if we don't have enough encrypted + * bytes to fit the key in the buffer, stop now. + */ + if ((is_export && s->s2->tmp.enc < ek) || + (!is_export && s->s2->tmp.enc < EVP_CIPHER_key_length(c))) { + ssl2_return_error(s,SSL2_PE_UNDEFINED_ERROR); + SSLerr(SSL_F_GET_CLIENT_MASTER_KEY,SSL_R_LENGTH_TOO_SHORT); + return -1; + } + + i = ssl_rsa_private_decrypt(s->cert, s->s2->tmp.enc, + &(p[s->s2->tmp.clear]), + &(p[s->s2->tmp.clear]), + (s->s2->ssl2_rollback) ? RSA_SSLV23_PADDING : + RSA_PKCS1_PADDING); + /* bad decrypt */ #if 1 /* If a bad decrypt, continue with protocol but with a * random master secret (Bleichenbacher attack) */ - if ((i < 0) || - ((!is_export && (i != EVP_CIPHER_key_length(c))) - || (is_export && ((i != ek) || (s->s2->tmp.clear+(unsigned int)i != - (unsigned int)EVP_CIPHER_key_length(c)))))) - { + if ((i < 0) || ((!is_export && i != EVP_CIPHER_key_length(c)) + || (is_export && i != ek))) { ERR_clear_error(); if (is_export) i=ek; else i=EVP_CIPHER_key_length(c); - if (RAND_pseudo_bytes(p,i) <= 0) + if (RAND_pseudo_bytes(&p[s->s2->tmp.clear], i) <= 0) return 0; - } + } #else if (i < 0) { @@ -505,7 +540,8 @@ static int get_client_master_key(SSL *s) } #endif - if (is_export) i+=s->s2->tmp.clear; + if (is_export) + i = EVP_CIPHER_key_length(c); if (i > SSL_MAX_MASTER_KEY_LENGTH) { Modified: stable/8/secure/lib/libcrypto/man/d2i_X509.3 ============================================================================== --- stable/8/secure/lib/libcrypto/man/d2i_X509.3 Thu Mar 19 16:14:27 2015 (r280265) +++ stable/8/secure/lib/libcrypto/man/d2i_X509.3 Thu Mar 19 17:40:43 2015 (r280266) @@ -342,6 +342,12 @@ In some versions of OpenSSL the \*(L"reu persist if they are not present in the new one. As a result the use of this \*(L"reuse\*(R" behaviour is strongly discouraged. .PP +Current versions of OpenSSL will not modify \fB*px\fR if an error occurs. +If parsing succeeds then \fB*px\fR is freed (if it is not \s-1NULL\s0) and then +set to the value of the newly decoded structure. As a result \fB*px\fR +\&\fBmust not\fR be allocated on the stack or an attempt will be made to +free an invalid pointer. +.PP \&\fIi2d_X509()\fR will not return an error in many versions of OpenSSL, if mandatory fields are not initialized due to a programming error then the encoded structure may contain invalid data or omit the @@ -352,7 +358,9 @@ always succeed. .IX Header "RETURN VALUES" \&\fId2i_X509()\fR, \fId2i_X509_bio()\fR and \fId2i_X509_fp()\fR return a valid \fBX509\fR structure or \fB\s-1NULL\s0\fR if an error occurs. The error code that can be obtained by -\&\fIERR_get_error\fR\|(3). +\&\fIERR_get_error\fR\|(3). If the \*(L"reuse\*(R" capability has been used +with a valid X509 structure being passed in via \fBpx\fR then the object is not +modified in the event of error. .PP \&\fIi2d_X509()\fR returns the number of bytes successfully encoded or a negative value if an error occurs. The error code can be obtained by From delphij at FreeBSD.org Fri Mar 20 07:11:23 2015 From: delphij at FreeBSD.org (Xin LI) Date: Fri, 20 Mar 2015 07:11:22 +0000 (UTC) Subject: svn commit: r280274 - in stable: 10/crypto/openssl/crypto/asn1 10/crypto/openssl/crypto/ec 10/crypto/openssl/crypto/x509 8/crypto/openssl/crypto/asn1 8/crypto/openssl/crypto/ec 8/crypto/openssl/cry... Message-ID: <201503200711.t2K7BMvD061828@svn.freebsd.org> Author: delphij Date: Fri Mar 20 07:11:20 2015 New Revision: 280274 URL: https://svnweb.freebsd.org/changeset/base/280274 Log: Fix issues with original SA-15:06.openssl commit: - Revert a portion of ASN1 change per suggested by OpenBSD and OpenSSL developers. The change was removed from the formal OpenSSL release and does not solve security issue. - Properly fix CVE-2015-0209 and CVE-2015-0288. Pointy hat to: delphij Modified: stable/8/crypto/openssl/crypto/asn1/tasn_dec.c stable/8/crypto/openssl/crypto/ec/ec_asn1.c stable/8/crypto/openssl/crypto/x509/x509_req.c Changes in other areas also in this revision: Modified: stable/10/crypto/openssl/crypto/asn1/tasn_dec.c stable/10/crypto/openssl/crypto/ec/ec_asn1.c stable/10/crypto/openssl/crypto/x509/x509_req.c stable/9/crypto/openssl/crypto/asn1/tasn_dec.c stable/9/crypto/openssl/crypto/ec/ec_asn1.c stable/9/crypto/openssl/crypto/x509/x509_req.c Modified: stable/8/crypto/openssl/crypto/asn1/tasn_dec.c ============================================================================== --- stable/8/crypto/openssl/crypto/asn1/tasn_dec.c Fri Mar 20 01:07:48 2015 (r280273) +++ stable/8/crypto/openssl/crypto/asn1/tasn_dec.c Fri Mar 20 07:11:20 2015 (r280274) @@ -125,23 +125,16 @@ unsigned long ASN1_tag2bit(int tag) ASN1_VALUE *ASN1_item_d2i(ASN1_VALUE **pval, const unsigned char **in, long len, const ASN1_ITEM *it) -{ + { ASN1_TLC c; ASN1_VALUE *ptmpval = NULL; + if (!pval) + pval = &ptmpval; c.valid = 0; - if (pval && *pval && it->itype == ASN1_ITYPE_PRIMITIVE) - ptmpval = *pval; - - if (ASN1_item_ex_d2i(&ptmpval, in, len, it, -1, 0, 0, &c) > 0) { - if (pval && it->itype != ASN1_ITYPE_PRIMITIVE) { - if (*pval) - ASN1_item_free(*pval, it); - *pval = ptmpval; - } - return ptmpval; - } + if (ASN1_item_ex_d2i(pval, in, len, it, -1, 0, 0, &c) > 0) + return *pval; return NULL; -} + } int ASN1_template_d2i(ASN1_VALUE **pval, const unsigned char **in, long len, const ASN1_TEMPLATE *tt) Modified: stable/8/crypto/openssl/crypto/ec/ec_asn1.c ============================================================================== --- stable/8/crypto/openssl/crypto/ec/ec_asn1.c Fri Mar 20 01:07:48 2015 (r280273) +++ stable/8/crypto/openssl/crypto/ec/ec_asn1.c Fri Mar 20 07:11:20 2015 (r280274) @@ -1126,8 +1126,6 @@ EC_KEY *d2i_ECPrivateKey(EC_KEY **a, con ERR_R_MALLOC_FAILURE); goto err; } - if (a) - *a = ret; } else ret = *a; @@ -1192,11 +1190,13 @@ EC_KEY *d2i_ECPrivateKey(EC_KEY **a, con } } + if (a) + *a = ret; ok = 1; err: if (!ok) { - if (ret) + if (ret && (a == NULL || *a != ret)) EC_KEY_free(ret); ret = NULL; } Modified: stable/8/crypto/openssl/crypto/x509/x509_req.c ============================================================================== --- stable/8/crypto/openssl/crypto/x509/x509_req.c Fri Mar 20 01:07:48 2015 (r280273) +++ stable/8/crypto/openssl/crypto/x509/x509_req.c Fri Mar 20 07:11:20 2015 (r280274) @@ -91,6 +91,8 @@ X509_REQ *X509_to_X509_REQ(X509 *x, EVP_ goto err; pktmp = X509_get_pubkey(x); + if (pktmp == NULL) + goto err; i=X509_REQ_set_pubkey(ret,pktmp); EVP_PKEY_free(pktmp); if (!i) goto err; From jkim at FreeBSD.org Fri Mar 20 21:56:53 2015 From: jkim at FreeBSD.org (Jung-uk Kim) Date: Fri, 20 Mar 2015 21:56:50 +0000 (UTC) Subject: svn commit: r280305 - in stable: 8/crypto/openssl 8/crypto/openssl/apps 8/crypto/openssl/bugs 8/crypto/openssl/crypto 8/crypto/openssl/crypto/aes 8/crypto/openssl/crypto/asn1 8/crypto/openssl/crypt... Message-ID: <201503202156.t2KLuo94081628@svn.freebsd.org> Author: jkim Date: Fri Mar 20 21:56:48 2015 New Revision: 280305 URL: https://svnweb.freebsd.org/changeset/base/280305 Log: Merge OpenSSL 0.9.8zf. Relnotes: yes Added: stable/8/crypto/openssl/util/indent.pro - copied unchanged from r280290, vendor-crypto/openssl/dist-0.9.8/util/indent.pro stable/8/crypto/openssl/util/openssl-format-source - copied unchanged from r280290, vendor-crypto/openssl/dist-0.9.8/util/openssl-format-source stable/8/crypto/openssl/util/su-filter.pl - copied unchanged from r280290, vendor-crypto/openssl/dist-0.9.8/util/su-filter.pl Modified: stable/8/crypto/openssl/CHANGES stable/8/crypto/openssl/Makefile stable/8/crypto/openssl/NEWS stable/8/crypto/openssl/README stable/8/crypto/openssl/apps/app_rand.c stable/8/crypto/openssl/apps/apps.c stable/8/crypto/openssl/apps/apps.h stable/8/crypto/openssl/apps/asn1pars.c stable/8/crypto/openssl/apps/ca.c stable/8/crypto/openssl/apps/ciphers.c stable/8/crypto/openssl/apps/cms.c stable/8/crypto/openssl/apps/crl.c stable/8/crypto/openssl/apps/crl2p7.c stable/8/crypto/openssl/apps/dgst.c stable/8/crypto/openssl/apps/dh.c stable/8/crypto/openssl/apps/dhparam.c stable/8/crypto/openssl/apps/dsa.c stable/8/crypto/openssl/apps/dsaparam.c stable/8/crypto/openssl/apps/ec.c stable/8/crypto/openssl/apps/ecparam.c stable/8/crypto/openssl/apps/enc.c stable/8/crypto/openssl/apps/engine.c stable/8/crypto/openssl/apps/errstr.c stable/8/crypto/openssl/apps/gendh.c stable/8/crypto/openssl/apps/gendsa.c stable/8/crypto/openssl/apps/genrsa.c stable/8/crypto/openssl/apps/nseq.c stable/8/crypto/openssl/apps/ocsp.c stable/8/crypto/openssl/apps/openssl.c stable/8/crypto/openssl/apps/passwd.c stable/8/crypto/openssl/apps/pkcs12.c stable/8/crypto/openssl/apps/pkcs7.c stable/8/crypto/openssl/apps/pkcs8.c stable/8/crypto/openssl/apps/prime.c stable/8/crypto/openssl/apps/progs.h stable/8/crypto/openssl/apps/rand.c stable/8/crypto/openssl/apps/req.c stable/8/crypto/openssl/apps/rsa.c stable/8/crypto/openssl/apps/rsautl.c stable/8/crypto/openssl/apps/s_apps.h stable/8/crypto/openssl/apps/s_cb.c stable/8/crypto/openssl/apps/s_client.c stable/8/crypto/openssl/apps/s_server.c stable/8/crypto/openssl/apps/s_socket.c stable/8/crypto/openssl/apps/s_time.c stable/8/crypto/openssl/apps/sess_id.c stable/8/crypto/openssl/apps/smime.c stable/8/crypto/openssl/apps/speed.c stable/8/crypto/openssl/apps/spkac.c stable/8/crypto/openssl/apps/testdsa.h stable/8/crypto/openssl/apps/testrsa.h stable/8/crypto/openssl/apps/timeouts.h stable/8/crypto/openssl/apps/verify.c stable/8/crypto/openssl/apps/version.c stable/8/crypto/openssl/apps/winrand.c stable/8/crypto/openssl/apps/x509.c stable/8/crypto/openssl/bugs/alpha.c stable/8/crypto/openssl/bugs/dggccbug.c stable/8/crypto/openssl/bugs/sgiccbug.c stable/8/crypto/openssl/bugs/stream.c stable/8/crypto/openssl/bugs/ultrixcc.c stable/8/crypto/openssl/crypto/LPdir_nyi.c stable/8/crypto/openssl/crypto/LPdir_unix.c stable/8/crypto/openssl/crypto/LPdir_vms.c stable/8/crypto/openssl/crypto/LPdir_win.c stable/8/crypto/openssl/crypto/LPdir_win32.c stable/8/crypto/openssl/crypto/LPdir_wince.c stable/8/crypto/openssl/crypto/aes/aes.h stable/8/crypto/openssl/crypto/aes/aes_cbc.c stable/8/crypto/openssl/crypto/aes/aes_cfb.c stable/8/crypto/openssl/crypto/aes/aes_core.c stable/8/crypto/openssl/crypto/aes/aes_ctr.c stable/8/crypto/openssl/crypto/aes/aes_ecb.c stable/8/crypto/openssl/crypto/aes/aes_ige.c stable/8/crypto/openssl/crypto/aes/aes_locl.h stable/8/crypto/openssl/crypto/aes/aes_misc.c stable/8/crypto/openssl/crypto/aes/aes_ofb.c stable/8/crypto/openssl/crypto/aes/aes_wrap.c stable/8/crypto/openssl/crypto/asn1/a_bitstr.c stable/8/crypto/openssl/crypto/asn1/a_bool.c stable/8/crypto/openssl/crypto/asn1/a_bytes.c stable/8/crypto/openssl/crypto/asn1/a_d2i_fp.c stable/8/crypto/openssl/crypto/asn1/a_digest.c stable/8/crypto/openssl/crypto/asn1/a_dup.c stable/8/crypto/openssl/crypto/asn1/a_enum.c stable/8/crypto/openssl/crypto/asn1/a_gentm.c stable/8/crypto/openssl/crypto/asn1/a_hdr.c stable/8/crypto/openssl/crypto/asn1/a_i2d_fp.c stable/8/crypto/openssl/crypto/asn1/a_int.c stable/8/crypto/openssl/crypto/asn1/a_mbstr.c stable/8/crypto/openssl/crypto/asn1/a_meth.c stable/8/crypto/openssl/crypto/asn1/a_object.c stable/8/crypto/openssl/crypto/asn1/a_octet.c stable/8/crypto/openssl/crypto/asn1/a_print.c stable/8/crypto/openssl/crypto/asn1/a_set.c stable/8/crypto/openssl/crypto/asn1/a_sign.c stable/8/crypto/openssl/crypto/asn1/a_strex.c stable/8/crypto/openssl/crypto/asn1/a_strnid.c stable/8/crypto/openssl/crypto/asn1/a_time.c stable/8/crypto/openssl/crypto/asn1/a_type.c stable/8/crypto/openssl/crypto/asn1/a_utctm.c stable/8/crypto/openssl/crypto/asn1/a_utf8.c stable/8/crypto/openssl/crypto/asn1/a_verify.c stable/8/crypto/openssl/crypto/asn1/asn1.h stable/8/crypto/openssl/crypto/asn1/asn1_err.c stable/8/crypto/openssl/crypto/asn1/asn1_gen.c stable/8/crypto/openssl/crypto/asn1/asn1_lib.c stable/8/crypto/openssl/crypto/asn1/asn1_mac.h stable/8/crypto/openssl/crypto/asn1/asn1_par.c stable/8/crypto/openssl/crypto/asn1/asn1t.h stable/8/crypto/openssl/crypto/asn1/asn_mime.c stable/8/crypto/openssl/crypto/asn1/asn_moid.c stable/8/crypto/openssl/crypto/asn1/asn_pack.c stable/8/crypto/openssl/crypto/asn1/charmap.h stable/8/crypto/openssl/crypto/asn1/d2i_pr.c stable/8/crypto/openssl/crypto/asn1/d2i_pu.c stable/8/crypto/openssl/crypto/asn1/evp_asn1.c stable/8/crypto/openssl/crypto/asn1/f_enum.c stable/8/crypto/openssl/crypto/asn1/f_int.c stable/8/crypto/openssl/crypto/asn1/f_string.c stable/8/crypto/openssl/crypto/asn1/i2d_pr.c stable/8/crypto/openssl/crypto/asn1/i2d_pu.c stable/8/crypto/openssl/crypto/asn1/n_pkey.c stable/8/crypto/openssl/crypto/asn1/nsseq.c stable/8/crypto/openssl/crypto/asn1/p5_pbe.c stable/8/crypto/openssl/crypto/asn1/p5_pbev2.c stable/8/crypto/openssl/crypto/asn1/p8_key.c stable/8/crypto/openssl/crypto/asn1/p8_pkey.c stable/8/crypto/openssl/crypto/asn1/t_bitst.c stable/8/crypto/openssl/crypto/asn1/t_crl.c stable/8/crypto/openssl/crypto/asn1/t_pkey.c stable/8/crypto/openssl/crypto/asn1/t_req.c stable/8/crypto/openssl/crypto/asn1/t_spki.c stable/8/crypto/openssl/crypto/asn1/t_x509.c stable/8/crypto/openssl/crypto/asn1/t_x509a.c stable/8/crypto/openssl/crypto/asn1/tasn_dec.c stable/8/crypto/openssl/crypto/asn1/tasn_enc.c stable/8/crypto/openssl/crypto/asn1/tasn_fre.c stable/8/crypto/openssl/crypto/asn1/tasn_new.c stable/8/crypto/openssl/crypto/asn1/tasn_prn.c stable/8/crypto/openssl/crypto/asn1/tasn_typ.c stable/8/crypto/openssl/crypto/asn1/tasn_utl.c stable/8/crypto/openssl/crypto/asn1/x_algor.c stable/8/crypto/openssl/crypto/asn1/x_attrib.c stable/8/crypto/openssl/crypto/asn1/x_bignum.c stable/8/crypto/openssl/crypto/asn1/x_crl.c stable/8/crypto/openssl/crypto/asn1/x_exten.c stable/8/crypto/openssl/crypto/asn1/x_info.c stable/8/crypto/openssl/crypto/asn1/x_long.c stable/8/crypto/openssl/crypto/asn1/x_name.c stable/8/crypto/openssl/crypto/asn1/x_pkey.c stable/8/crypto/openssl/crypto/asn1/x_pubkey.c stable/8/crypto/openssl/crypto/asn1/x_req.c stable/8/crypto/openssl/crypto/asn1/x_sig.c stable/8/crypto/openssl/crypto/asn1/x_spki.c stable/8/crypto/openssl/crypto/asn1/x_val.c stable/8/crypto/openssl/crypto/asn1/x_x509.c stable/8/crypto/openssl/crypto/asn1/x_x509a.c stable/8/crypto/openssl/crypto/bf/bf_cbc.c stable/8/crypto/openssl/crypto/bf/bf_cfb64.c stable/8/crypto/openssl/crypto/bf/bf_ecb.c stable/8/crypto/openssl/crypto/bf/bf_enc.c stable/8/crypto/openssl/crypto/bf/bf_locl.h stable/8/crypto/openssl/crypto/bf/bf_ofb64.c stable/8/crypto/openssl/crypto/bf/bf_opts.c stable/8/crypto/openssl/crypto/bf/bf_pi.h stable/8/crypto/openssl/crypto/bf/bf_skey.c stable/8/crypto/openssl/crypto/bf/bfspeed.c stable/8/crypto/openssl/crypto/bf/bftest.c stable/8/crypto/openssl/crypto/bf/blowfish.h stable/8/crypto/openssl/crypto/bio/b_dump.c stable/8/crypto/openssl/crypto/bio/b_print.c stable/8/crypto/openssl/crypto/bio/b_sock.c stable/8/crypto/openssl/crypto/bio/bf_buff.c stable/8/crypto/openssl/crypto/bio/bf_lbuf.c stable/8/crypto/openssl/crypto/bio/bf_nbio.c stable/8/crypto/openssl/crypto/bio/bf_null.c stable/8/crypto/openssl/crypto/bio/bio.h stable/8/crypto/openssl/crypto/bio/bio_cb.c stable/8/crypto/openssl/crypto/bio/bio_err.c stable/8/crypto/openssl/crypto/bio/bio_lcl.h stable/8/crypto/openssl/crypto/bio/bio_lib.c stable/8/crypto/openssl/crypto/bio/bss_acpt.c stable/8/crypto/openssl/crypto/bio/bss_bio.c stable/8/crypto/openssl/crypto/bio/bss_conn.c stable/8/crypto/openssl/crypto/bio/bss_dgram.c stable/8/crypto/openssl/crypto/bio/bss_fd.c stable/8/crypto/openssl/crypto/bio/bss_file.c stable/8/crypto/openssl/crypto/bio/bss_log.c stable/8/crypto/openssl/crypto/bio/bss_mem.c stable/8/crypto/openssl/crypto/bio/bss_null.c stable/8/crypto/openssl/crypto/bio/bss_rtcp.c stable/8/crypto/openssl/crypto/bio/bss_sock.c stable/8/crypto/openssl/crypto/bn/asm/x86_64-gcc.c stable/8/crypto/openssl/crypto/bn/bn.h stable/8/crypto/openssl/crypto/bn/bn_add.c stable/8/crypto/openssl/crypto/bn/bn_asm.c stable/8/crypto/openssl/crypto/bn/bn_blind.c stable/8/crypto/openssl/crypto/bn/bn_const.c stable/8/crypto/openssl/crypto/bn/bn_ctx.c stable/8/crypto/openssl/crypto/bn/bn_depr.c stable/8/crypto/openssl/crypto/bn/bn_div.c stable/8/crypto/openssl/crypto/bn/bn_err.c stable/8/crypto/openssl/crypto/bn/bn_exp.c stable/8/crypto/openssl/crypto/bn/bn_exp2.c stable/8/crypto/openssl/crypto/bn/bn_gcd.c stable/8/crypto/openssl/crypto/bn/bn_gf2m.c stable/8/crypto/openssl/crypto/bn/bn_kron.c stable/8/crypto/openssl/crypto/bn/bn_lcl.h stable/8/crypto/openssl/crypto/bn/bn_lib.c stable/8/crypto/openssl/crypto/bn/bn_mod.c stable/8/crypto/openssl/crypto/bn/bn_mont.c stable/8/crypto/openssl/crypto/bn/bn_mpi.c stable/8/crypto/openssl/crypto/bn/bn_mul.c stable/8/crypto/openssl/crypto/bn/bn_nist.c stable/8/crypto/openssl/crypto/bn/bn_opt.c stable/8/crypto/openssl/crypto/bn/bn_prime.c stable/8/crypto/openssl/crypto/bn/bn_prime.h stable/8/crypto/openssl/crypto/bn/bn_print.c stable/8/crypto/openssl/crypto/bn/bn_rand.c stable/8/crypto/openssl/crypto/bn/bn_recp.c stable/8/crypto/openssl/crypto/bn/bn_shift.c stable/8/crypto/openssl/crypto/bn/bn_sqr.c stable/8/crypto/openssl/crypto/bn/bn_sqrt.c stable/8/crypto/openssl/crypto/bn/bn_word.c stable/8/crypto/openssl/crypto/bn/bn_x931p.c stable/8/crypto/openssl/crypto/bn/bnspeed.c stable/8/crypto/openssl/crypto/bn/bntest.c stable/8/crypto/openssl/crypto/bn/divtest.c stable/8/crypto/openssl/crypto/bn/exp.c stable/8/crypto/openssl/crypto/bn/expspeed.c stable/8/crypto/openssl/crypto/bn/exptest.c stable/8/crypto/openssl/crypto/buffer/buf_err.c stable/8/crypto/openssl/crypto/buffer/buf_str.c stable/8/crypto/openssl/crypto/buffer/buffer.c stable/8/crypto/openssl/crypto/buffer/buffer.h stable/8/crypto/openssl/crypto/camellia/camellia.c stable/8/crypto/openssl/crypto/camellia/camellia.h stable/8/crypto/openssl/crypto/camellia/cmll_cbc.c stable/8/crypto/openssl/crypto/camellia/cmll_cfb.c stable/8/crypto/openssl/crypto/camellia/cmll_ctr.c stable/8/crypto/openssl/crypto/camellia/cmll_ecb.c stable/8/crypto/openssl/crypto/camellia/cmll_locl.h stable/8/crypto/openssl/crypto/camellia/cmll_misc.c stable/8/crypto/openssl/crypto/camellia/cmll_ofb.c stable/8/crypto/openssl/crypto/cast/c_cfb64.c stable/8/crypto/openssl/crypto/cast/c_ecb.c stable/8/crypto/openssl/crypto/cast/c_enc.c stable/8/crypto/openssl/crypto/cast/c_ofb64.c stable/8/crypto/openssl/crypto/cast/c_skey.c stable/8/crypto/openssl/crypto/cast/cast.h stable/8/crypto/openssl/crypto/cast/cast_lcl.h stable/8/crypto/openssl/crypto/cast/cast_s.h stable/8/crypto/openssl/crypto/cast/cast_spd.c stable/8/crypto/openssl/crypto/cast/castopts.c stable/8/crypto/openssl/crypto/cast/casttest.c stable/8/crypto/openssl/crypto/cms/cms.h stable/8/crypto/openssl/crypto/cms/cms_asn1.c stable/8/crypto/openssl/crypto/cms/cms_att.c stable/8/crypto/openssl/crypto/cms/cms_cd.c stable/8/crypto/openssl/crypto/cms/cms_dd.c stable/8/crypto/openssl/crypto/cms/cms_enc.c stable/8/crypto/openssl/crypto/cms/cms_env.c stable/8/crypto/openssl/crypto/cms/cms_err.c stable/8/crypto/openssl/crypto/cms/cms_ess.c stable/8/crypto/openssl/crypto/cms/cms_io.c stable/8/crypto/openssl/crypto/cms/cms_lcl.h stable/8/crypto/openssl/crypto/cms/cms_lib.c stable/8/crypto/openssl/crypto/cms/cms_sd.c stable/8/crypto/openssl/crypto/cms/cms_smime.c stable/8/crypto/openssl/crypto/comp/c_rle.c stable/8/crypto/openssl/crypto/comp/c_zlib.c stable/8/crypto/openssl/crypto/comp/comp.h stable/8/crypto/openssl/crypto/comp/comp_err.c stable/8/crypto/openssl/crypto/comp/comp_lib.c stable/8/crypto/openssl/crypto/conf/cnf_save.c stable/8/crypto/openssl/crypto/conf/conf.h stable/8/crypto/openssl/crypto/conf/conf_api.c stable/8/crypto/openssl/crypto/conf/conf_api.h stable/8/crypto/openssl/crypto/conf/conf_def.c stable/8/crypto/openssl/crypto/conf/conf_def.h stable/8/crypto/openssl/crypto/conf/conf_err.c stable/8/crypto/openssl/crypto/conf/conf_lib.c stable/8/crypto/openssl/crypto/conf/conf_mall.c stable/8/crypto/openssl/crypto/conf/conf_mod.c stable/8/crypto/openssl/crypto/conf/conf_sap.c stable/8/crypto/openssl/crypto/conf/test.c stable/8/crypto/openssl/crypto/constant_time_locl.h stable/8/crypto/openssl/crypto/constant_time_test.c stable/8/crypto/openssl/crypto/cpt_err.c stable/8/crypto/openssl/crypto/cryptlib.c stable/8/crypto/openssl/crypto/cryptlib.h stable/8/crypto/openssl/crypto/crypto.h stable/8/crypto/openssl/crypto/cversion.c stable/8/crypto/openssl/crypto/des/cbc3_enc.c stable/8/crypto/openssl/crypto/des/cbc_cksm.c stable/8/crypto/openssl/crypto/des/cbc_enc.c stable/8/crypto/openssl/crypto/des/cfb64ede.c stable/8/crypto/openssl/crypto/des/cfb64enc.c stable/8/crypto/openssl/crypto/des/cfb_enc.c stable/8/crypto/openssl/crypto/des/des.c stable/8/crypto/openssl/crypto/des/des.h stable/8/crypto/openssl/crypto/des/des_enc.c stable/8/crypto/openssl/crypto/des/des_lib.c stable/8/crypto/openssl/crypto/des/des_locl.h stable/8/crypto/openssl/crypto/des/des_old.c stable/8/crypto/openssl/crypto/des/des_old.h stable/8/crypto/openssl/crypto/des/des_old2.c stable/8/crypto/openssl/crypto/des/des_opts.c stable/8/crypto/openssl/crypto/des/des_ver.h stable/8/crypto/openssl/crypto/des/destest.c stable/8/crypto/openssl/crypto/des/ecb3_enc.c stable/8/crypto/openssl/crypto/des/ecb_enc.c stable/8/crypto/openssl/crypto/des/ede_cbcm_enc.c stable/8/crypto/openssl/crypto/des/enc_read.c stable/8/crypto/openssl/crypto/des/enc_writ.c stable/8/crypto/openssl/crypto/des/fcrypt.c stable/8/crypto/openssl/crypto/des/fcrypt_b.c stable/8/crypto/openssl/crypto/des/ncbc_enc.c stable/8/crypto/openssl/crypto/des/ofb64ede.c stable/8/crypto/openssl/crypto/des/ofb64enc.c stable/8/crypto/openssl/crypto/des/ofb_enc.c stable/8/crypto/openssl/crypto/des/pcbc_enc.c stable/8/crypto/openssl/crypto/des/qud_cksm.c stable/8/crypto/openssl/crypto/des/rand_key.c stable/8/crypto/openssl/crypto/des/read2pwd.c stable/8/crypto/openssl/crypto/des/read_pwd.c stable/8/crypto/openssl/crypto/des/rpc_des.h stable/8/crypto/openssl/crypto/des/rpc_enc.c stable/8/crypto/openssl/crypto/des/rpw.c stable/8/crypto/openssl/crypto/des/set_key.c stable/8/crypto/openssl/crypto/des/speed.c stable/8/crypto/openssl/crypto/des/spr.h stable/8/crypto/openssl/crypto/des/str2key.c stable/8/crypto/openssl/crypto/des/xcbc_enc.c stable/8/crypto/openssl/crypto/dh/dh.h stable/8/crypto/openssl/crypto/dh/dh_asn1.c stable/8/crypto/openssl/crypto/dh/dh_check.c stable/8/crypto/openssl/crypto/dh/dh_depr.c stable/8/crypto/openssl/crypto/dh/dh_err.c stable/8/crypto/openssl/crypto/dh/dh_gen.c stable/8/crypto/openssl/crypto/dh/dh_key.c stable/8/crypto/openssl/crypto/dh/dh_lib.c stable/8/crypto/openssl/crypto/dh/dhtest.c stable/8/crypto/openssl/crypto/dh/p1024.c stable/8/crypto/openssl/crypto/dh/p192.c stable/8/crypto/openssl/crypto/dh/p512.c stable/8/crypto/openssl/crypto/dsa/dsa.h stable/8/crypto/openssl/crypto/dsa/dsa_asn1.c stable/8/crypto/openssl/crypto/dsa/dsa_depr.c stable/8/crypto/openssl/crypto/dsa/dsa_err.c stable/8/crypto/openssl/crypto/dsa/dsa_gen.c stable/8/crypto/openssl/crypto/dsa/dsa_key.c stable/8/crypto/openssl/crypto/dsa/dsa_lib.c stable/8/crypto/openssl/crypto/dsa/dsa_ossl.c stable/8/crypto/openssl/crypto/dsa/dsa_sign.c stable/8/crypto/openssl/crypto/dsa/dsa_utl.c stable/8/crypto/openssl/crypto/dsa/dsa_vrf.c stable/8/crypto/openssl/crypto/dsa/dsagen.c stable/8/crypto/openssl/crypto/dsa/dsatest.c stable/8/crypto/openssl/crypto/dso/dso.h stable/8/crypto/openssl/crypto/dso/dso_dl.c stable/8/crypto/openssl/crypto/dso/dso_dlfcn.c stable/8/crypto/openssl/crypto/dso/dso_err.c stable/8/crypto/openssl/crypto/dso/dso_lib.c stable/8/crypto/openssl/crypto/dso/dso_null.c stable/8/crypto/openssl/crypto/dso/dso_openssl.c stable/8/crypto/openssl/crypto/dyn_lck.c stable/8/crypto/openssl/crypto/ebcdic.c stable/8/crypto/openssl/crypto/ebcdic.h stable/8/crypto/openssl/crypto/ec/ec.h stable/8/crypto/openssl/crypto/ec/ec2_mult.c stable/8/crypto/openssl/crypto/ec/ec2_smpl.c stable/8/crypto/openssl/crypto/ec/ec2_smpt.c stable/8/crypto/openssl/crypto/ec/ec_asn1.c stable/8/crypto/openssl/crypto/ec/ec_check.c stable/8/crypto/openssl/crypto/ec/ec_curve.c stable/8/crypto/openssl/crypto/ec/ec_cvt.c stable/8/crypto/openssl/crypto/ec/ec_err.c stable/8/crypto/openssl/crypto/ec/ec_key.c stable/8/crypto/openssl/crypto/ec/ec_lcl.h stable/8/crypto/openssl/crypto/ec/ec_lib.c stable/8/crypto/openssl/crypto/ec/ec_mult.c stable/8/crypto/openssl/crypto/ec/ec_print.c stable/8/crypto/openssl/crypto/ec/ecp_mont.c stable/8/crypto/openssl/crypto/ec/ecp_nist.c stable/8/crypto/openssl/crypto/ec/ecp_smpl.c stable/8/crypto/openssl/crypto/ec/ectest.c stable/8/crypto/openssl/crypto/ecdh/ecdh.h stable/8/crypto/openssl/crypto/ecdh/ecdhtest.c stable/8/crypto/openssl/crypto/ecdh/ech_err.c stable/8/crypto/openssl/crypto/ecdh/ech_key.c stable/8/crypto/openssl/crypto/ecdh/ech_lib.c stable/8/crypto/openssl/crypto/ecdh/ech_locl.h stable/8/crypto/openssl/crypto/ecdh/ech_ossl.c stable/8/crypto/openssl/crypto/ecdsa/Makefile stable/8/crypto/openssl/crypto/ecdsa/ecdsa.h stable/8/crypto/openssl/crypto/ecdsa/ecdsatest.c stable/8/crypto/openssl/crypto/ecdsa/ecs_asn1.c stable/8/crypto/openssl/crypto/ecdsa/ecs_err.c stable/8/crypto/openssl/crypto/ecdsa/ecs_lib.c stable/8/crypto/openssl/crypto/ecdsa/ecs_locl.h stable/8/crypto/openssl/crypto/ecdsa/ecs_ossl.c stable/8/crypto/openssl/crypto/ecdsa/ecs_sign.c stable/8/crypto/openssl/crypto/ecdsa/ecs_vrf.c stable/8/crypto/openssl/crypto/engine/eng_all.c stable/8/crypto/openssl/crypto/engine/eng_cnf.c stable/8/crypto/openssl/crypto/engine/eng_cryptodev.c stable/8/crypto/openssl/crypto/engine/eng_ctrl.c stable/8/crypto/openssl/crypto/engine/eng_dyn.c stable/8/crypto/openssl/crypto/engine/eng_err.c stable/8/crypto/openssl/crypto/engine/eng_fat.c stable/8/crypto/openssl/crypto/engine/eng_init.c stable/8/crypto/openssl/crypto/engine/eng_int.h stable/8/crypto/openssl/crypto/engine/eng_lib.c stable/8/crypto/openssl/crypto/engine/eng_list.c stable/8/crypto/openssl/crypto/engine/eng_openssl.c stable/8/crypto/openssl/crypto/engine/eng_padlock.c stable/8/crypto/openssl/crypto/engine/eng_pkey.c stable/8/crypto/openssl/crypto/engine/eng_table.c stable/8/crypto/openssl/crypto/engine/engine.h stable/8/crypto/openssl/crypto/engine/enginetest.c stable/8/crypto/openssl/crypto/engine/tb_cipher.c stable/8/crypto/openssl/crypto/engine/tb_dh.c stable/8/crypto/openssl/crypto/engine/tb_digest.c stable/8/crypto/openssl/crypto/engine/tb_dsa.c stable/8/crypto/openssl/crypto/engine/tb_ecdh.c stable/8/crypto/openssl/crypto/engine/tb_ecdsa.c stable/8/crypto/openssl/crypto/engine/tb_rand.c stable/8/crypto/openssl/crypto/engine/tb_rsa.c stable/8/crypto/openssl/crypto/engine/tb_store.c stable/8/crypto/openssl/crypto/err/err.c stable/8/crypto/openssl/crypto/err/err.h stable/8/crypto/openssl/crypto/err/err_all.c stable/8/crypto/openssl/crypto/err/err_bio.c stable/8/crypto/openssl/crypto/err/err_def.c stable/8/crypto/openssl/crypto/err/err_prn.c stable/8/crypto/openssl/crypto/err/err_str.c stable/8/crypto/openssl/crypto/evp/bio_b64.c stable/8/crypto/openssl/crypto/evp/bio_enc.c stable/8/crypto/openssl/crypto/evp/bio_md.c stable/8/crypto/openssl/crypto/evp/bio_ok.c stable/8/crypto/openssl/crypto/evp/c_all.c stable/8/crypto/openssl/crypto/evp/c_allc.c stable/8/crypto/openssl/crypto/evp/c_alld.c stable/8/crypto/openssl/crypto/evp/dig_eng.c stable/8/crypto/openssl/crypto/evp/digest.c stable/8/crypto/openssl/crypto/evp/e_aes.c stable/8/crypto/openssl/crypto/evp/e_bf.c stable/8/crypto/openssl/crypto/evp/e_camellia.c stable/8/crypto/openssl/crypto/evp/e_cast.c stable/8/crypto/openssl/crypto/evp/e_des.c stable/8/crypto/openssl/crypto/evp/e_des3.c stable/8/crypto/openssl/crypto/evp/e_dsa.c stable/8/crypto/openssl/crypto/evp/e_idea.c stable/8/crypto/openssl/crypto/evp/e_null.c stable/8/crypto/openssl/crypto/evp/e_old.c stable/8/crypto/openssl/crypto/evp/e_rc2.c stable/8/crypto/openssl/crypto/evp/e_rc4.c stable/8/crypto/openssl/crypto/evp/e_rc5.c stable/8/crypto/openssl/crypto/evp/e_seed.c stable/8/crypto/openssl/crypto/evp/e_xcbc_d.c stable/8/crypto/openssl/crypto/evp/enc_min.c stable/8/crypto/openssl/crypto/evp/encode.c stable/8/crypto/openssl/crypto/evp/evp.h stable/8/crypto/openssl/crypto/evp/evp_acnf.c stable/8/crypto/openssl/crypto/evp/evp_cnf.c stable/8/crypto/openssl/crypto/evp/evp_enc.c stable/8/crypto/openssl/crypto/evp/evp_err.c stable/8/crypto/openssl/crypto/evp/evp_key.c stable/8/crypto/openssl/crypto/evp/evp_lib.c stable/8/crypto/openssl/crypto/evp/evp_locl.h stable/8/crypto/openssl/crypto/evp/evp_pbe.c stable/8/crypto/openssl/crypto/evp/evp_pkey.c stable/8/crypto/openssl/crypto/evp/evp_test.c stable/8/crypto/openssl/crypto/evp/m_dss.c stable/8/crypto/openssl/crypto/evp/m_dss1.c stable/8/crypto/openssl/crypto/evp/m_ecdsa.c stable/8/crypto/openssl/crypto/evp/m_md2.c stable/8/crypto/openssl/crypto/evp/m_md4.c stable/8/crypto/openssl/crypto/evp/m_md5.c stable/8/crypto/openssl/crypto/evp/m_mdc2.c stable/8/crypto/openssl/crypto/evp/m_null.c stable/8/crypto/openssl/crypto/evp/m_ripemd.c stable/8/crypto/openssl/crypto/evp/m_sha.c stable/8/crypto/openssl/crypto/evp/m_sha1.c stable/8/crypto/openssl/crypto/evp/names.c stable/8/crypto/openssl/crypto/evp/openbsd_hw.c stable/8/crypto/openssl/crypto/evp/p5_crpt.c stable/8/crypto/openssl/crypto/evp/p5_crpt2.c stable/8/crypto/openssl/crypto/evp/p_dec.c stable/8/crypto/openssl/crypto/evp/p_enc.c stable/8/crypto/openssl/crypto/evp/p_lib.c stable/8/crypto/openssl/crypto/evp/p_open.c stable/8/crypto/openssl/crypto/evp/p_seal.c stable/8/crypto/openssl/crypto/evp/p_sign.c stable/8/crypto/openssl/crypto/evp/p_verify.c stable/8/crypto/openssl/crypto/ex_data.c stable/8/crypto/openssl/crypto/fips_err.c stable/8/crypto/openssl/crypto/fips_err.h stable/8/crypto/openssl/crypto/hmac/hmac.c stable/8/crypto/openssl/crypto/hmac/hmac.h stable/8/crypto/openssl/crypto/hmac/hmactest.c stable/8/crypto/openssl/crypto/idea/i_cbc.c stable/8/crypto/openssl/crypto/idea/i_cfb64.c stable/8/crypto/openssl/crypto/idea/i_ecb.c stable/8/crypto/openssl/crypto/idea/i_ofb64.c stable/8/crypto/openssl/crypto/idea/i_skey.c stable/8/crypto/openssl/crypto/idea/idea.h stable/8/crypto/openssl/crypto/idea/idea_lcl.h stable/8/crypto/openssl/crypto/idea/idea_spd.c stable/8/crypto/openssl/crypto/idea/ideatest.c stable/8/crypto/openssl/crypto/jpake/jpake.c stable/8/crypto/openssl/crypto/jpake/jpake.h stable/8/crypto/openssl/crypto/jpake/jpake_err.c stable/8/crypto/openssl/crypto/jpake/jpaketest.c stable/8/crypto/openssl/crypto/krb5/krb5_asn.c stable/8/crypto/openssl/crypto/krb5/krb5_asn.h stable/8/crypto/openssl/crypto/lhash/lh_stats.c stable/8/crypto/openssl/crypto/lhash/lh_test.c stable/8/crypto/openssl/crypto/lhash/lhash.c stable/8/crypto/openssl/crypto/lhash/lhash.h stable/8/crypto/openssl/crypto/md2/md2.c stable/8/crypto/openssl/crypto/md2/md2.h stable/8/crypto/openssl/crypto/md2/md2_dgst.c stable/8/crypto/openssl/crypto/md2/md2_one.c stable/8/crypto/openssl/crypto/md2/md2test.c stable/8/crypto/openssl/crypto/md32_common.h stable/8/crypto/openssl/crypto/md4/md4.c stable/8/crypto/openssl/crypto/md4/md4.h stable/8/crypto/openssl/crypto/md4/md4_dgst.c stable/8/crypto/openssl/crypto/md4/md4_locl.h stable/8/crypto/openssl/crypto/md4/md4_one.c stable/8/crypto/openssl/crypto/md4/md4test.c stable/8/crypto/openssl/crypto/md5/md5.c stable/8/crypto/openssl/crypto/md5/md5.h stable/8/crypto/openssl/crypto/md5/md5_dgst.c stable/8/crypto/openssl/crypto/md5/md5_locl.h stable/8/crypto/openssl/crypto/md5/md5_one.c stable/8/crypto/openssl/crypto/md5/md5test.c stable/8/crypto/openssl/crypto/mdc2/mdc2.h stable/8/crypto/openssl/crypto/mdc2/mdc2_one.c stable/8/crypto/openssl/crypto/mdc2/mdc2dgst.c stable/8/crypto/openssl/crypto/mdc2/mdc2test.c stable/8/crypto/openssl/crypto/mem.c stable/8/crypto/openssl/crypto/mem_clr.c stable/8/crypto/openssl/crypto/mem_dbg.c stable/8/crypto/openssl/crypto/o_dir.c stable/8/crypto/openssl/crypto/o_dir.h stable/8/crypto/openssl/crypto/o_dir_test.c stable/8/crypto/openssl/crypto/o_init.c stable/8/crypto/openssl/crypto/o_str.c stable/8/crypto/openssl/crypto/o_str.h stable/8/crypto/openssl/crypto/o_time.c stable/8/crypto/openssl/crypto/o_time.h stable/8/crypto/openssl/crypto/objects/o_names.c stable/8/crypto/openssl/crypto/objects/obj_dat.c stable/8/crypto/openssl/crypto/objects/obj_err.c stable/8/crypto/openssl/crypto/objects/obj_lib.c stable/8/crypto/openssl/crypto/objects/obj_mac.h stable/8/crypto/openssl/crypto/objects/objects.h stable/8/crypto/openssl/crypto/objects/objects.pl stable/8/crypto/openssl/crypto/ocsp/ocsp.h stable/8/crypto/openssl/crypto/ocsp/ocsp_asn.c stable/8/crypto/openssl/crypto/ocsp/ocsp_cl.c stable/8/crypto/openssl/crypto/ocsp/ocsp_err.c stable/8/crypto/openssl/crypto/ocsp/ocsp_ext.c stable/8/crypto/openssl/crypto/ocsp/ocsp_ht.c stable/8/crypto/openssl/crypto/ocsp/ocsp_lib.c stable/8/crypto/openssl/crypto/ocsp/ocsp_prn.c stable/8/crypto/openssl/crypto/ocsp/ocsp_srv.c stable/8/crypto/openssl/crypto/ocsp/ocsp_vfy.c stable/8/crypto/openssl/crypto/opensslv.h stable/8/crypto/openssl/crypto/ossl_typ.h stable/8/crypto/openssl/crypto/pem/pem.h stable/8/crypto/openssl/crypto/pem/pem2.h stable/8/crypto/openssl/crypto/pem/pem_all.c stable/8/crypto/openssl/crypto/pem/pem_err.c stable/8/crypto/openssl/crypto/pem/pem_info.c stable/8/crypto/openssl/crypto/pem/pem_lib.c stable/8/crypto/openssl/crypto/pem/pem_oth.c stable/8/crypto/openssl/crypto/pem/pem_pk8.c stable/8/crypto/openssl/crypto/pem/pem_pkey.c stable/8/crypto/openssl/crypto/pem/pem_seal.c stable/8/crypto/openssl/crypto/pem/pem_sign.c stable/8/crypto/openssl/crypto/pem/pem_x509.c stable/8/crypto/openssl/crypto/pem/pem_xaux.c stable/8/crypto/openssl/crypto/pkcs12/p12_add.c stable/8/crypto/openssl/crypto/pkcs12/p12_asn.c stable/8/crypto/openssl/crypto/pkcs12/p12_attr.c stable/8/crypto/openssl/crypto/pkcs12/p12_crpt.c stable/8/crypto/openssl/crypto/pkcs12/p12_crt.c stable/8/crypto/openssl/crypto/pkcs12/p12_decr.c stable/8/crypto/openssl/crypto/pkcs12/p12_init.c stable/8/crypto/openssl/crypto/pkcs12/p12_key.c stable/8/crypto/openssl/crypto/pkcs12/p12_kiss.c stable/8/crypto/openssl/crypto/pkcs12/p12_mutl.c stable/8/crypto/openssl/crypto/pkcs12/p12_npas.c stable/8/crypto/openssl/crypto/pkcs12/p12_p8d.c stable/8/crypto/openssl/crypto/pkcs12/p12_p8e.c stable/8/crypto/openssl/crypto/pkcs12/p12_utl.c stable/8/crypto/openssl/crypto/pkcs12/pk12err.c stable/8/crypto/openssl/crypto/pkcs12/pkcs12.h stable/8/crypto/openssl/crypto/pkcs7/pk7_asn1.c stable/8/crypto/openssl/crypto/pkcs7/pk7_attr.c stable/8/crypto/openssl/crypto/pkcs7/pk7_dgst.c stable/8/crypto/openssl/crypto/pkcs7/pk7_doit.c stable/8/crypto/openssl/crypto/pkcs7/pk7_enc.c stable/8/crypto/openssl/crypto/pkcs7/pk7_lib.c stable/8/crypto/openssl/crypto/pkcs7/pk7_mime.c stable/8/crypto/openssl/crypto/pkcs7/pk7_smime.c stable/8/crypto/openssl/crypto/pkcs7/pkcs7.h stable/8/crypto/openssl/crypto/pkcs7/pkcs7err.c stable/8/crypto/openssl/crypto/pqueue/pq_compat.h stable/8/crypto/openssl/crypto/pqueue/pq_test.c stable/8/crypto/openssl/crypto/pqueue/pqueue.c stable/8/crypto/openssl/crypto/pqueue/pqueue.h stable/8/crypto/openssl/crypto/rand/md_rand.c stable/8/crypto/openssl/crypto/rand/rand.h stable/8/crypto/openssl/crypto/rand/rand_egd.c stable/8/crypto/openssl/crypto/rand/rand_eng.c stable/8/crypto/openssl/crypto/rand/rand_err.c stable/8/crypto/openssl/crypto/rand/rand_lcl.h stable/8/crypto/openssl/crypto/rand/rand_lib.c stable/8/crypto/openssl/crypto/rand/rand_nw.c stable/8/crypto/openssl/crypto/rand/rand_os2.c stable/8/crypto/openssl/crypto/rand/rand_unix.c stable/8/crypto/openssl/crypto/rand/rand_vms.c stable/8/crypto/openssl/crypto/rand/rand_win.c stable/8/crypto/openssl/crypto/rand/randfile.c stable/8/crypto/openssl/crypto/rand/randtest.c stable/8/crypto/openssl/crypto/rc2/rc2.h stable/8/crypto/openssl/crypto/rc2/rc2_cbc.c stable/8/crypto/openssl/crypto/rc2/rc2_ecb.c stable/8/crypto/openssl/crypto/rc2/rc2_locl.h stable/8/crypto/openssl/crypto/rc2/rc2_skey.c stable/8/crypto/openssl/crypto/rc2/rc2cfb64.c stable/8/crypto/openssl/crypto/rc2/rc2ofb64.c stable/8/crypto/openssl/crypto/rc2/rc2speed.c stable/8/crypto/openssl/crypto/rc2/rc2test.c stable/8/crypto/openssl/crypto/rc2/tab.c stable/8/crypto/openssl/crypto/rc4/rc4.c stable/8/crypto/openssl/crypto/rc4/rc4.h stable/8/crypto/openssl/crypto/rc4/rc4_enc.c stable/8/crypto/openssl/crypto/rc4/rc4_fblk.c stable/8/crypto/openssl/crypto/rc4/rc4_locl.h stable/8/crypto/openssl/crypto/rc4/rc4_skey.c stable/8/crypto/openssl/crypto/rc4/rc4speed.c stable/8/crypto/openssl/crypto/rc4/rc4test.c stable/8/crypto/openssl/crypto/rc5/rc5.h stable/8/crypto/openssl/crypto/rc5/rc5_ecb.c stable/8/crypto/openssl/crypto/rc5/rc5_enc.c stable/8/crypto/openssl/crypto/rc5/rc5_locl.h stable/8/crypto/openssl/crypto/rc5/rc5_skey.c stable/8/crypto/openssl/crypto/rc5/rc5cfb64.c stable/8/crypto/openssl/crypto/rc5/rc5ofb64.c stable/8/crypto/openssl/crypto/rc5/rc5speed.c stable/8/crypto/openssl/crypto/rc5/rc5test.c stable/8/crypto/openssl/crypto/ripemd/ripemd.h stable/8/crypto/openssl/crypto/ripemd/rmd160.c stable/8/crypto/openssl/crypto/ripemd/rmd_dgst.c stable/8/crypto/openssl/crypto/ripemd/rmd_locl.h stable/8/crypto/openssl/crypto/ripemd/rmd_one.c stable/8/crypto/openssl/crypto/ripemd/rmdconst.h stable/8/crypto/openssl/crypto/ripemd/rmdtest.c stable/8/crypto/openssl/crypto/rsa/rsa.h stable/8/crypto/openssl/crypto/rsa/rsa_asn1.c stable/8/crypto/openssl/crypto/rsa/rsa_chk.c stable/8/crypto/openssl/crypto/rsa/rsa_depr.c stable/8/crypto/openssl/crypto/rsa/rsa_eay.c stable/8/crypto/openssl/crypto/rsa/rsa_eng.c stable/8/crypto/openssl/crypto/rsa/rsa_err.c stable/8/crypto/openssl/crypto/rsa/rsa_gen.c stable/8/crypto/openssl/crypto/rsa/rsa_lib.c stable/8/crypto/openssl/crypto/rsa/rsa_none.c stable/8/crypto/openssl/crypto/rsa/rsa_null.c stable/8/crypto/openssl/crypto/rsa/rsa_oaep.c stable/8/crypto/openssl/crypto/rsa/rsa_pk1.c stable/8/crypto/openssl/crypto/rsa/rsa_pss.c stable/8/crypto/openssl/crypto/rsa/rsa_saos.c stable/8/crypto/openssl/crypto/rsa/rsa_sign.c stable/8/crypto/openssl/crypto/rsa/rsa_ssl.c stable/8/crypto/openssl/crypto/rsa/rsa_test.c stable/8/crypto/openssl/crypto/rsa/rsa_x931.c stable/8/crypto/openssl/crypto/rsa/rsa_x931g.c stable/8/crypto/openssl/crypto/seed/seed.c stable/8/crypto/openssl/crypto/seed/seed.h stable/8/crypto/openssl/crypto/seed/seed_cbc.c stable/8/crypto/openssl/crypto/seed/seed_cfb.c stable/8/crypto/openssl/crypto/seed/seed_ecb.c stable/8/crypto/openssl/crypto/seed/seed_locl.h stable/8/crypto/openssl/crypto/seed/seed_ofb.c stable/8/crypto/openssl/crypto/sha/sha.c stable/8/crypto/openssl/crypto/sha/sha.h stable/8/crypto/openssl/crypto/sha/sha1.c stable/8/crypto/openssl/crypto/sha/sha1_one.c stable/8/crypto/openssl/crypto/sha/sha1dgst.c stable/8/crypto/openssl/crypto/sha/sha1test.c stable/8/crypto/openssl/crypto/sha/sha256.c stable/8/crypto/openssl/crypto/sha/sha256t.c stable/8/crypto/openssl/crypto/sha/sha512.c stable/8/crypto/openssl/crypto/sha/sha512t.c stable/8/crypto/openssl/crypto/sha/sha_dgst.c stable/8/crypto/openssl/crypto/sha/sha_locl.h stable/8/crypto/openssl/crypto/sha/sha_one.c stable/8/crypto/openssl/crypto/sha/shatest.c stable/8/crypto/openssl/crypto/stack/safestack.h stable/8/crypto/openssl/crypto/stack/stack.c stable/8/crypto/openssl/crypto/stack/stack.h stable/8/crypto/openssl/crypto/store/store.h stable/8/crypto/openssl/crypto/store/str_err.c stable/8/crypto/openssl/crypto/store/str_lib.c stable/8/crypto/openssl/crypto/store/str_locl.h stable/8/crypto/openssl/crypto/store/str_mem.c stable/8/crypto/openssl/crypto/store/str_meth.c stable/8/crypto/openssl/crypto/symhacks.h stable/8/crypto/openssl/crypto/threads/mttest.c stable/8/crypto/openssl/crypto/threads/th-lock.c stable/8/crypto/openssl/crypto/tmdiff.c stable/8/crypto/openssl/crypto/tmdiff.h stable/8/crypto/openssl/crypto/txt_db/txt_db.c stable/8/crypto/openssl/crypto/txt_db/txt_db.h stable/8/crypto/openssl/crypto/ui/ui.h stable/8/crypto/openssl/crypto/ui/ui_compat.c stable/8/crypto/openssl/crypto/ui/ui_compat.h stable/8/crypto/openssl/crypto/ui/ui_err.c stable/8/crypto/openssl/crypto/ui/ui_lib.c stable/8/crypto/openssl/crypto/ui/ui_locl.h stable/8/crypto/openssl/crypto/ui/ui_openssl.c stable/8/crypto/openssl/crypto/ui/ui_util.c stable/8/crypto/openssl/crypto/uid.c stable/8/crypto/openssl/crypto/x509/by_dir.c stable/8/crypto/openssl/crypto/x509/by_file.c stable/8/crypto/openssl/crypto/x509/x509.h stable/8/crypto/openssl/crypto/x509/x509_att.c stable/8/crypto/openssl/crypto/x509/x509_cmp.c stable/8/crypto/openssl/crypto/x509/x509_d2.c stable/8/crypto/openssl/crypto/x509/x509_def.c stable/8/crypto/openssl/crypto/x509/x509_err.c stable/8/crypto/openssl/crypto/x509/x509_ext.c stable/8/crypto/openssl/crypto/x509/x509_lu.c stable/8/crypto/openssl/crypto/x509/x509_obj.c stable/8/crypto/openssl/crypto/x509/x509_r2x.c stable/8/crypto/openssl/crypto/x509/x509_req.c stable/8/crypto/openssl/crypto/x509/x509_set.c stable/8/crypto/openssl/crypto/x509/x509_trs.c stable/8/crypto/openssl/crypto/x509/x509_txt.c stable/8/crypto/openssl/crypto/x509/x509_v3.c stable/8/crypto/openssl/crypto/x509/x509_vfy.c stable/8/crypto/openssl/crypto/x509/x509_vfy.h stable/8/crypto/openssl/crypto/x509/x509_vpm.c stable/8/crypto/openssl/crypto/x509/x509cset.c stable/8/crypto/openssl/crypto/x509/x509name.c stable/8/crypto/openssl/crypto/x509/x509rset.c stable/8/crypto/openssl/crypto/x509/x509spki.c stable/8/crypto/openssl/crypto/x509/x509type.c stable/8/crypto/openssl/crypto/x509/x_all.c stable/8/crypto/openssl/crypto/x509v3/ext_dat.h stable/8/crypto/openssl/crypto/x509v3/pcy_cache.c stable/8/crypto/openssl/crypto/x509v3/pcy_data.c stable/8/crypto/openssl/crypto/x509v3/pcy_int.h stable/8/crypto/openssl/crypto/x509v3/pcy_lib.c stable/8/crypto/openssl/crypto/x509v3/pcy_map.c stable/8/crypto/openssl/crypto/x509v3/pcy_node.c stable/8/crypto/openssl/crypto/x509v3/pcy_tree.c stable/8/crypto/openssl/crypto/x509v3/tabtest.c stable/8/crypto/openssl/crypto/x509v3/v3_addr.c stable/8/crypto/openssl/crypto/x509v3/v3_akey.c stable/8/crypto/openssl/crypto/x509v3/v3_akeya.c stable/8/crypto/openssl/crypto/x509v3/v3_alt.c stable/8/crypto/openssl/crypto/x509v3/v3_asid.c stable/8/crypto/openssl/crypto/x509v3/v3_bcons.c stable/8/crypto/openssl/crypto/x509v3/v3_bitst.c stable/8/crypto/openssl/crypto/x509v3/v3_conf.c stable/8/crypto/openssl/crypto/x509v3/v3_cpols.c stable/8/crypto/openssl/crypto/x509v3/v3_crld.c stable/8/crypto/openssl/crypto/x509v3/v3_enum.c stable/8/crypto/openssl/crypto/x509v3/v3_extku.c stable/8/crypto/openssl/crypto/x509v3/v3_genn.c stable/8/crypto/openssl/crypto/x509v3/v3_ia5.c stable/8/crypto/openssl/crypto/x509v3/v3_info.c stable/8/crypto/openssl/crypto/x509v3/v3_int.c stable/8/crypto/openssl/crypto/x509v3/v3_lib.c stable/8/crypto/openssl/crypto/x509v3/v3_ncons.c stable/8/crypto/openssl/crypto/x509v3/v3_ocsp.c stable/8/crypto/openssl/crypto/x509v3/v3_pci.c stable/8/crypto/openssl/crypto/x509v3/v3_pcia.c stable/8/crypto/openssl/crypto/x509v3/v3_pcons.c stable/8/crypto/openssl/crypto/x509v3/v3_pku.c stable/8/crypto/openssl/crypto/x509v3/v3_pmaps.c stable/8/crypto/openssl/crypto/x509v3/v3_prn.c stable/8/crypto/openssl/crypto/x509v3/v3_purp.c stable/8/crypto/openssl/crypto/x509v3/v3_skey.c stable/8/crypto/openssl/crypto/x509v3/v3_sxnet.c stable/8/crypto/openssl/crypto/x509v3/v3_utl.c stable/8/crypto/openssl/crypto/x509v3/v3conf.c stable/8/crypto/openssl/crypto/x509v3/v3err.c stable/8/crypto/openssl/crypto/x509v3/v3prin.c stable/8/crypto/openssl/crypto/x509v3/x509v3.h stable/8/crypto/openssl/demos/asn1/ocsp.c stable/8/crypto/openssl/demos/b64.c stable/8/crypto/openssl/demos/bio/saccept.c stable/8/crypto/openssl/demos/bio/sconnect.c stable/8/crypto/openssl/demos/easy_tls/easy-tls.c stable/8/crypto/openssl/demos/easy_tls/easy-tls.h stable/8/crypto/openssl/demos/easy_tls/test.c stable/8/crypto/openssl/demos/easy_tls/test.h stable/8/crypto/openssl/demos/engines/cluster_labs/cluster_labs.h stable/8/crypto/openssl/demos/engines/cluster_labs/hw_cluster_labs.c stable/8/crypto/openssl/demos/engines/cluster_labs/hw_cluster_labs_err.c stable/8/crypto/openssl/demos/engines/cluster_labs/hw_cluster_labs_err.h stable/8/crypto/openssl/demos/engines/ibmca/hw_ibmca.c stable/8/crypto/openssl/demos/engines/ibmca/hw_ibmca_err.c stable/8/crypto/openssl/demos/engines/ibmca/hw_ibmca_err.h stable/8/crypto/openssl/demos/engines/ibmca/ica_openssl_api.h stable/8/crypto/openssl/demos/engines/zencod/hw_zencod.c stable/8/crypto/openssl/demos/engines/zencod/hw_zencod.h stable/8/crypto/openssl/demos/engines/zencod/hw_zencod_err.c stable/8/crypto/openssl/demos/engines/zencod/hw_zencod_err.h stable/8/crypto/openssl/demos/jpake/jpakedemo.c stable/8/crypto/openssl/demos/pkcs12/pkread.c stable/8/crypto/openssl/demos/pkcs12/pkwrite.c stable/8/crypto/openssl/demos/prime/prime.c stable/8/crypto/openssl/demos/selfsign.c stable/8/crypto/openssl/demos/sign/sign.c stable/8/crypto/openssl/demos/spkigen.c stable/8/crypto/openssl/demos/state_machine/state_machine.c stable/8/crypto/openssl/demos/tunala/breakage.c stable/8/crypto/openssl/demos/tunala/buffer.c stable/8/crypto/openssl/demos/tunala/cb.c stable/8/crypto/openssl/demos/tunala/ip.c stable/8/crypto/openssl/demos/tunala/sm.c stable/8/crypto/openssl/demos/tunala/tunala.c stable/8/crypto/openssl/demos/tunala/tunala.h stable/8/crypto/openssl/demos/x509/mkcert.c stable/8/crypto/openssl/demos/x509/mkreq.c stable/8/crypto/openssl/doc/apps/ciphers.pod stable/8/crypto/openssl/doc/crypto/d2i_X509.pod stable/8/crypto/openssl/e_os.h stable/8/crypto/openssl/e_os2.h stable/8/crypto/openssl/engines/e_4758cca.c stable/8/crypto/openssl/engines/e_4758cca_err.c stable/8/crypto/openssl/engines/e_4758cca_err.h stable/8/crypto/openssl/engines/e_aep.c stable/8/crypto/openssl/engines/e_aep_err.c stable/8/crypto/openssl/engines/e_aep_err.h stable/8/crypto/openssl/engines/e_atalla.c stable/8/crypto/openssl/engines/e_atalla_err.c stable/8/crypto/openssl/engines/e_atalla_err.h stable/8/crypto/openssl/engines/e_capi.c stable/8/crypto/openssl/engines/e_capi_err.c stable/8/crypto/openssl/engines/e_capi_err.h stable/8/crypto/openssl/engines/e_chil.c stable/8/crypto/openssl/engines/e_chil_err.c stable/8/crypto/openssl/engines/e_chil_err.h stable/8/crypto/openssl/engines/e_cswift.c stable/8/crypto/openssl/engines/e_cswift_err.c stable/8/crypto/openssl/engines/e_cswift_err.h stable/8/crypto/openssl/engines/e_gmp.c stable/8/crypto/openssl/engines/e_gmp_err.c stable/8/crypto/openssl/engines/e_gmp_err.h stable/8/crypto/openssl/engines/e_nuron.c stable/8/crypto/openssl/engines/e_nuron_err.c stable/8/crypto/openssl/engines/e_nuron_err.h stable/8/crypto/openssl/engines/e_sureware.c stable/8/crypto/openssl/engines/e_sureware_err.c stable/8/crypto/openssl/engines/e_sureware_err.h stable/8/crypto/openssl/engines/e_ubsec.c stable/8/crypto/openssl/engines/e_ubsec_err.c stable/8/crypto/openssl/engines/e_ubsec_err.h stable/8/crypto/openssl/engines/vendor_defns/aep.h stable/8/crypto/openssl/engines/vendor_defns/atalla.h stable/8/crypto/openssl/engines/vendor_defns/cswift.h stable/8/crypto/openssl/engines/vendor_defns/hw_4758_cca.h stable/8/crypto/openssl/engines/vendor_defns/hw_ubsec.h stable/8/crypto/openssl/engines/vendor_defns/hwcryptohook.h stable/8/crypto/openssl/engines/vendor_defns/sureware.h stable/8/crypto/openssl/fips/aes/fips_aes_selftest.c stable/8/crypto/openssl/fips/aes/fips_aesavs.c stable/8/crypto/openssl/fips/des/fips_des_selftest.c stable/8/crypto/openssl/fips/des/fips_desmovs.c stable/8/crypto/openssl/fips/dh/dh_gen.c stable/8/crypto/openssl/fips/dh/fips_dh_check.c stable/8/crypto/openssl/fips/dh/fips_dh_gen.c stable/8/crypto/openssl/fips/dh/fips_dh_key.c stable/8/crypto/openssl/fips/dh/fips_dh_lib.c stable/8/crypto/openssl/fips/dsa/fips_dsa_gen.c stable/8/crypto/openssl/fips/dsa/fips_dsa_key.c stable/8/crypto/openssl/fips/dsa/fips_dsa_lib.c stable/8/crypto/openssl/fips/dsa/fips_dsa_ossl.c stable/8/crypto/openssl/fips/dsa/fips_dsa_selftest.c stable/8/crypto/openssl/fips/dsa/fips_dsa_sign.c stable/8/crypto/openssl/fips/dsa/fips_dsatest.c stable/8/crypto/openssl/fips/dsa/fips_dssvs.c stable/8/crypto/openssl/fips/fips.c stable/8/crypto/openssl/fips/fips.h stable/8/crypto/openssl/fips/fips_canister.c stable/8/crypto/openssl/fips/fips_locl.h stable/8/crypto/openssl/fips/fips_premain.c stable/8/crypto/openssl/fips/fips_test_suite.c stable/8/crypto/openssl/fips/fips_utl.h stable/8/crypto/openssl/fips/hmac/fips_hmac.c stable/8/crypto/openssl/fips/hmac/fips_hmac_selftest.c stable/8/crypto/openssl/fips/hmac/fips_hmactest.c stable/8/crypto/openssl/fips/rand/fips_rand.c stable/8/crypto/openssl/fips/rand/fips_rand.h stable/8/crypto/openssl/fips/rand/fips_rand_selftest.c stable/8/crypto/openssl/fips/rand/fips_randtest.c stable/8/crypto/openssl/fips/rand/fips_rngvs.c stable/8/crypto/openssl/fips/rsa/fips_rsa_eay.c stable/8/crypto/openssl/fips/rsa/fips_rsa_gen.c stable/8/crypto/openssl/fips/rsa/fips_rsa_lib.c stable/8/crypto/openssl/fips/rsa/fips_rsa_selftest.c stable/8/crypto/openssl/fips/rsa/fips_rsa_sign.c stable/8/crypto/openssl/fips/rsa/fips_rsa_x931g.c stable/8/crypto/openssl/fips/rsa/fips_rsagtest.c stable/8/crypto/openssl/fips/rsa/fips_rsastest.c stable/8/crypto/openssl/fips/rsa/fips_rsavtest.c stable/8/crypto/openssl/fips/sha/fips_sha1_selftest.c stable/8/crypto/openssl/fips/sha/fips_shatest.c stable/8/crypto/openssl/fips/sha/fips_standalone_sha1.c stable/8/crypto/openssl/openssl.spec stable/8/crypto/openssl/ssl/bio_ssl.c stable/8/crypto/openssl/ssl/d1_both.c stable/8/crypto/openssl/ssl/d1_clnt.c stable/8/crypto/openssl/ssl/d1_enc.c stable/8/crypto/openssl/ssl/d1_lib.c stable/8/crypto/openssl/ssl/d1_meth.c stable/8/crypto/openssl/ssl/d1_pkt.c stable/8/crypto/openssl/ssl/d1_srvr.c stable/8/crypto/openssl/ssl/dtls1.h stable/8/crypto/openssl/ssl/kssl.c stable/8/crypto/openssl/ssl/kssl.h stable/8/crypto/openssl/ssl/kssl_lcl.h stable/8/crypto/openssl/ssl/s23_clnt.c stable/8/crypto/openssl/ssl/s23_lib.c stable/8/crypto/openssl/ssl/s23_meth.c stable/8/crypto/openssl/ssl/s23_pkt.c stable/8/crypto/openssl/ssl/s23_srvr.c stable/8/crypto/openssl/ssl/s2_clnt.c stable/8/crypto/openssl/ssl/s2_enc.c stable/8/crypto/openssl/ssl/s2_lib.c stable/8/crypto/openssl/ssl/s2_meth.c stable/8/crypto/openssl/ssl/s2_pkt.c stable/8/crypto/openssl/ssl/s2_srvr.c stable/8/crypto/openssl/ssl/s3_both.c stable/8/crypto/openssl/ssl/s3_cbc.c stable/8/crypto/openssl/ssl/s3_clnt.c stable/8/crypto/openssl/ssl/s3_enc.c stable/8/crypto/openssl/ssl/s3_lib.c stable/8/crypto/openssl/ssl/s3_meth.c stable/8/crypto/openssl/ssl/s3_pkt.c stable/8/crypto/openssl/ssl/s3_srvr.c stable/8/crypto/openssl/ssl/ssl.h stable/8/crypto/openssl/ssl/ssl2.h stable/8/crypto/openssl/ssl/ssl23.h stable/8/crypto/openssl/ssl/ssl3.h stable/8/crypto/openssl/ssl/ssl_algs.c stable/8/crypto/openssl/ssl/ssl_asn1.c stable/8/crypto/openssl/ssl/ssl_cert.c stable/8/crypto/openssl/ssl/ssl_ciph.c stable/8/crypto/openssl/ssl/ssl_err.c stable/8/crypto/openssl/ssl/ssl_err2.c stable/8/crypto/openssl/ssl/ssl_lib.c stable/8/crypto/openssl/ssl/ssl_locl.h stable/8/crypto/openssl/ssl/ssl_rsa.c stable/8/crypto/openssl/ssl/ssl_sess.c stable/8/crypto/openssl/ssl/ssl_stat.c stable/8/crypto/openssl/ssl/ssl_task.c stable/8/crypto/openssl/ssl/ssl_txt.c stable/8/crypto/openssl/ssl/ssltest.c stable/8/crypto/openssl/ssl/t1_clnt.c stable/8/crypto/openssl/ssl/t1_enc.c stable/8/crypto/openssl/ssl/t1_lib.c stable/8/crypto/openssl/ssl/t1_meth.c stable/8/crypto/openssl/ssl/t1_reneg.c stable/8/crypto/openssl/ssl/t1_srvr.c stable/8/crypto/openssl/ssl/tls1.h stable/8/crypto/openssl/test/dummytest.c stable/8/crypto/openssl/test/igetest.c stable/8/crypto/openssl/test/methtest.c stable/8/crypto/openssl/test/r160test.c stable/8/crypto/openssl/util/ck_errf.pl stable/8/crypto/openssl/util/mkerr.pl stable/8/secure/lib/libcrypto/Makefile.inc stable/8/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 stable/8/secure/lib/libcrypto/man/ASN1_STRING_length.3 stable/8/secure/lib/libcrypto/man/ASN1_STRING_new.3 stable/8/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 stable/8/secure/lib/libcrypto/man/ASN1_generate_nconf.3 stable/8/secure/lib/libcrypto/man/BIO_ctrl.3 stable/8/secure/lib/libcrypto/man/BIO_f_base64.3 stable/8/secure/lib/libcrypto/man/BIO_f_buffer.3 stable/8/secure/lib/libcrypto/man/BIO_f_cipher.3 stable/8/secure/lib/libcrypto/man/BIO_f_md.3 stable/8/secure/lib/libcrypto/man/BIO_f_null.3 stable/8/secure/lib/libcrypto/man/BIO_f_ssl.3 stable/8/secure/lib/libcrypto/man/BIO_find_type.3 stable/8/secure/lib/libcrypto/man/BIO_new.3 stable/8/secure/lib/libcrypto/man/BIO_push.3 stable/8/secure/lib/libcrypto/man/BIO_read.3 stable/8/secure/lib/libcrypto/man/BIO_s_accept.3 stable/8/secure/lib/libcrypto/man/BIO_s_bio.3 stable/8/secure/lib/libcrypto/man/BIO_s_connect.3 stable/8/secure/lib/libcrypto/man/BIO_s_fd.3 stable/8/secure/lib/libcrypto/man/BIO_s_file.3 stable/8/secure/lib/libcrypto/man/BIO_s_mem.3 stable/8/secure/lib/libcrypto/man/BIO_s_null.3 stable/8/secure/lib/libcrypto/man/BIO_s_socket.3 stable/8/secure/lib/libcrypto/man/BIO_set_callback.3 stable/8/secure/lib/libcrypto/man/BIO_should_retry.3 stable/8/secure/lib/libcrypto/man/BN_BLINDING_new.3 stable/8/secure/lib/libcrypto/man/BN_CTX_new.3 stable/8/secure/lib/libcrypto/man/BN_CTX_start.3 stable/8/secure/lib/libcrypto/man/BN_add.3 stable/8/secure/lib/libcrypto/man/BN_add_word.3 stable/8/secure/lib/libcrypto/man/BN_bn2bin.3 stable/8/secure/lib/libcrypto/man/BN_cmp.3 stable/8/secure/lib/libcrypto/man/BN_copy.3 stable/8/secure/lib/libcrypto/man/BN_generate_prime.3 stable/8/secure/lib/libcrypto/man/BN_mod_inverse.3 stable/8/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 stable/8/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 stable/8/secure/lib/libcrypto/man/BN_new.3 stable/8/secure/lib/libcrypto/man/BN_num_bytes.3 stable/8/secure/lib/libcrypto/man/BN_rand.3 stable/8/secure/lib/libcrypto/man/BN_set_bit.3 stable/8/secure/lib/libcrypto/man/BN_swap.3 stable/8/secure/lib/libcrypto/man/BN_zero.3 stable/8/secure/lib/libcrypto/man/CONF_modules_free.3 stable/8/secure/lib/libcrypto/man/CONF_modules_load_file.3 stable/8/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 stable/8/secure/lib/libcrypto/man/DH_generate_key.3 stable/8/secure/lib/libcrypto/man/DH_generate_parameters.3 stable/8/secure/lib/libcrypto/man/DH_get_ex_new_index.3 stable/8/secure/lib/libcrypto/man/DH_new.3 stable/8/secure/lib/libcrypto/man/DH_set_method.3 stable/8/secure/lib/libcrypto/man/DH_size.3 stable/8/secure/lib/libcrypto/man/DSA_SIG_new.3 stable/8/secure/lib/libcrypto/man/DSA_do_sign.3 stable/8/secure/lib/libcrypto/man/DSA_dup_DH.3 stable/8/secure/lib/libcrypto/man/DSA_generate_key.3 stable/8/secure/lib/libcrypto/man/DSA_generate_parameters.3 stable/8/secure/lib/libcrypto/man/DSA_get_ex_new_index.3 stable/8/secure/lib/libcrypto/man/DSA_new.3 stable/8/secure/lib/libcrypto/man/DSA_set_method.3 stable/8/secure/lib/libcrypto/man/DSA_sign.3 stable/8/secure/lib/libcrypto/man/DSA_size.3 stable/8/secure/lib/libcrypto/man/ERR_GET_LIB.3 stable/8/secure/lib/libcrypto/man/ERR_clear_error.3 stable/8/secure/lib/libcrypto/man/ERR_error_string.3 stable/8/secure/lib/libcrypto/man/ERR_get_error.3 stable/8/secure/lib/libcrypto/man/ERR_load_crypto_strings.3 stable/8/secure/lib/libcrypto/man/ERR_load_strings.3 stable/8/secure/lib/libcrypto/man/ERR_print_errors.3 stable/8/secure/lib/libcrypto/man/ERR_put_error.3 stable/8/secure/lib/libcrypto/man/ERR_remove_state.3 stable/8/secure/lib/libcrypto/man/ERR_set_mark.3 stable/8/secure/lib/libcrypto/man/EVP_BytesToKey.3 stable/8/secure/lib/libcrypto/man/EVP_DigestInit.3 stable/8/secure/lib/libcrypto/man/EVP_EncryptInit.3 stable/8/secure/lib/libcrypto/man/EVP_OpenInit.3 stable/8/secure/lib/libcrypto/man/EVP_PKEY_new.3 stable/8/secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3 stable/8/secure/lib/libcrypto/man/EVP_SealInit.3 stable/8/secure/lib/libcrypto/man/EVP_SignInit.3 stable/8/secure/lib/libcrypto/man/EVP_VerifyInit.3 stable/8/secure/lib/libcrypto/man/OBJ_nid2obj.3 stable/8/secure/lib/libcrypto/man/OPENSSL_Applink.3 stable/8/secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3 stable/8/secure/lib/libcrypto/man/OPENSSL_config.3 stable/8/secure/lib/libcrypto/man/OPENSSL_ia32cap.3 stable/8/secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3 stable/8/secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 stable/8/secure/lib/libcrypto/man/PKCS12_create.3 stable/8/secure/lib/libcrypto/man/PKCS12_parse.3 stable/8/secure/lib/libcrypto/man/PKCS7_decrypt.3 stable/8/secure/lib/libcrypto/man/PKCS7_encrypt.3 stable/8/secure/lib/libcrypto/man/PKCS7_sign.3 stable/8/secure/lib/libcrypto/man/PKCS7_verify.3 stable/8/secure/lib/libcrypto/man/RAND_add.3 stable/8/secure/lib/libcrypto/man/RAND_bytes.3 stable/8/secure/lib/libcrypto/man/RAND_cleanup.3 stable/8/secure/lib/libcrypto/man/RAND_egd.3 stable/8/secure/lib/libcrypto/man/RAND_load_file.3 stable/8/secure/lib/libcrypto/man/RAND_set_rand_method.3 stable/8/secure/lib/libcrypto/man/RSA_blinding_on.3 stable/8/secure/lib/libcrypto/man/RSA_check_key.3 stable/8/secure/lib/libcrypto/man/RSA_generate_key.3 stable/8/secure/lib/libcrypto/man/RSA_get_ex_new_index.3 stable/8/secure/lib/libcrypto/man/RSA_new.3 stable/8/secure/lib/libcrypto/man/RSA_padding_add_PKCS1_type_1.3 stable/8/secure/lib/libcrypto/man/RSA_print.3 stable/8/secure/lib/libcrypto/man/RSA_private_encrypt.3 stable/8/secure/lib/libcrypto/man/RSA_public_encrypt.3 stable/8/secure/lib/libcrypto/man/RSA_set_method.3 stable/8/secure/lib/libcrypto/man/RSA_sign.3 stable/8/secure/lib/libcrypto/man/RSA_sign_ASN1_OCTET_STRING.3 stable/8/secure/lib/libcrypto/man/RSA_size.3 stable/8/secure/lib/libcrypto/man/SMIME_read_PKCS7.3 stable/8/secure/lib/libcrypto/man/SMIME_write_PKCS7.3 stable/8/secure/lib/libcrypto/man/X509_NAME_ENTRY_get_object.3 stable/8/secure/lib/libcrypto/man/X509_NAME_add_entry_by_txt.3 stable/8/secure/lib/libcrypto/man/X509_NAME_get_index_by_NID.3 stable/8/secure/lib/libcrypto/man/X509_NAME_print_ex.3 stable/8/secure/lib/libcrypto/man/X509_new.3 stable/8/secure/lib/libcrypto/man/bio.3 stable/8/secure/lib/libcrypto/man/blowfish.3 stable/8/secure/lib/libcrypto/man/bn.3 stable/8/secure/lib/libcrypto/man/bn_internal.3 stable/8/secure/lib/libcrypto/man/buffer.3 stable/8/secure/lib/libcrypto/man/crypto.3 stable/8/secure/lib/libcrypto/man/d2i_ASN1_OBJECT.3 stable/8/secure/lib/libcrypto/man/d2i_DHparams.3 stable/8/secure/lib/libcrypto/man/d2i_DSAPublicKey.3 stable/8/secure/lib/libcrypto/man/d2i_PKCS8PrivateKey.3 stable/8/secure/lib/libcrypto/man/d2i_RSAPublicKey.3 stable/8/secure/lib/libcrypto/man/d2i_X509.3 stable/8/secure/lib/libcrypto/man/d2i_X509_ALGOR.3 stable/8/secure/lib/libcrypto/man/d2i_X509_CRL.3 stable/8/secure/lib/libcrypto/man/d2i_X509_NAME.3 stable/8/secure/lib/libcrypto/man/d2i_X509_REQ.3 stable/8/secure/lib/libcrypto/man/d2i_X509_SIG.3 stable/8/secure/lib/libcrypto/man/des.3 stable/8/secure/lib/libcrypto/man/dh.3 stable/8/secure/lib/libcrypto/man/dsa.3 stable/8/secure/lib/libcrypto/man/ecdsa.3 stable/8/secure/lib/libcrypto/man/engine.3 stable/8/secure/lib/libcrypto/man/err.3 stable/8/secure/lib/libcrypto/man/evp.3 stable/8/secure/lib/libcrypto/man/hmac.3 stable/8/secure/lib/libcrypto/man/lh_stats.3 stable/8/secure/lib/libcrypto/man/lhash.3 stable/8/secure/lib/libcrypto/man/md5.3 stable/8/secure/lib/libcrypto/man/mdc2.3 stable/8/secure/lib/libcrypto/man/pem.3 stable/8/secure/lib/libcrypto/man/rand.3 stable/8/secure/lib/libcrypto/man/rc4.3 stable/8/secure/lib/libcrypto/man/ripemd.3 stable/8/secure/lib/libcrypto/man/rsa.3 stable/8/secure/lib/libcrypto/man/sha.3 stable/8/secure/lib/libcrypto/man/threads.3 stable/8/secure/lib/libcrypto/man/ui.3 stable/8/secure/lib/libcrypto/man/ui_compat.3 stable/8/secure/lib/libcrypto/man/x509.3 stable/8/secure/lib/libssl/man/SSL_CIPHER_get_name.3 stable/8/secure/lib/libssl/man/SSL_COMP_add_compression_method.3 stable/8/secure/lib/libssl/man/SSL_CTX_add_extra_chain_cert.3 stable/8/secure/lib/libssl/man/SSL_CTX_add_session.3 stable/8/secure/lib/libssl/man/SSL_CTX_ctrl.3 stable/8/secure/lib/libssl/man/SSL_CTX_flush_sessions.3 stable/8/secure/lib/libssl/man/SSL_CTX_free.3 stable/8/secure/lib/libssl/man/SSL_CTX_get_ex_new_index.3 stable/8/secure/lib/libssl/man/SSL_CTX_get_verify_mode.3 stable/8/secure/lib/libssl/man/SSL_CTX_load_verify_locations.3 stable/8/secure/lib/libssl/man/SSL_CTX_new.3 stable/8/secure/lib/libssl/man/SSL_CTX_sess_number.3 stable/8/secure/lib/libssl/man/SSL_CTX_sess_set_cache_size.3 stable/8/secure/lib/libssl/man/SSL_CTX_sess_set_get_cb.3 stable/8/secure/lib/libssl/man/SSL_CTX_sessions.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_cert_store.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_cert_verify_callback.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_cipher_list.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_client_CA_list.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_client_cert_cb.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_default_passwd_cb.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_generate_session_id.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_info_callback.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_max_cert_list.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_mode.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_msg_callback.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_options.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_quiet_shutdown.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_session_cache_mode.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_session_id_context.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_ssl_version.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_timeout.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_tlsext_ticket_key_cb.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_tmp_dh_callback.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_tmp_rsa_callback.3 stable/8/secure/lib/libssl/man/SSL_CTX_set_verify.3 stable/8/secure/lib/libssl/man/SSL_CTX_use_certificate.3 stable/8/secure/lib/libssl/man/SSL_SESSION_free.3 stable/8/secure/lib/libssl/man/SSL_SESSION_get_ex_new_index.3 stable/8/secure/lib/libssl/man/SSL_SESSION_get_time.3 stable/8/secure/lib/libssl/man/SSL_accept.3 stable/8/secure/lib/libssl/man/SSL_alert_type_string.3 stable/8/secure/lib/libssl/man/SSL_clear.3 stable/8/secure/lib/libssl/man/SSL_connect.3 stable/8/secure/lib/libssl/man/SSL_do_handshake.3 stable/8/secure/lib/libssl/man/SSL_free.3 stable/8/secure/lib/libssl/man/SSL_get_SSL_CTX.3 stable/8/secure/lib/libssl/man/SSL_get_ciphers.3 stable/8/secure/lib/libssl/man/SSL_get_client_CA_list.3 stable/8/secure/lib/libssl/man/SSL_get_current_cipher.3 stable/8/secure/lib/libssl/man/SSL_get_default_timeout.3 stable/8/secure/lib/libssl/man/SSL_get_error.3 stable/8/secure/lib/libssl/man/SSL_get_ex_data_X509_STORE_CTX_idx.3 stable/8/secure/lib/libssl/man/SSL_get_ex_new_index.3 stable/8/secure/lib/libssl/man/SSL_get_fd.3 stable/8/secure/lib/libssl/man/SSL_get_peer_cert_chain.3 stable/8/secure/lib/libssl/man/SSL_get_peer_certificate.3 stable/8/secure/lib/libssl/man/SSL_get_rbio.3 stable/8/secure/lib/libssl/man/SSL_get_session.3 stable/8/secure/lib/libssl/man/SSL_get_verify_result.3 stable/8/secure/lib/libssl/man/SSL_get_version.3 stable/8/secure/lib/libssl/man/SSL_library_init.3 stable/8/secure/lib/libssl/man/SSL_load_client_CA_file.3 stable/8/secure/lib/libssl/man/SSL_new.3 stable/8/secure/lib/libssl/man/SSL_pending.3 stable/8/secure/lib/libssl/man/SSL_read.3 stable/8/secure/lib/libssl/man/SSL_rstate_string.3 stable/8/secure/lib/libssl/man/SSL_session_reused.3 stable/8/secure/lib/libssl/man/SSL_set_bio.3 stable/8/secure/lib/libssl/man/SSL_set_connect_state.3 stable/8/secure/lib/libssl/man/SSL_set_fd.3 stable/8/secure/lib/libssl/man/SSL_set_session.3 stable/8/secure/lib/libssl/man/SSL_set_shutdown.3 stable/8/secure/lib/libssl/man/SSL_set_verify_result.3 stable/8/secure/lib/libssl/man/SSL_shutdown.3 stable/8/secure/lib/libssl/man/SSL_state_string.3 stable/8/secure/lib/libssl/man/SSL_want.3 stable/8/secure/lib/libssl/man/SSL_write.3 stable/8/secure/lib/libssl/man/d2i_SSL_SESSION.3 stable/8/secure/lib/libssl/man/ssl.3 stable/8/secure/usr.bin/openssl/man/CA.pl.1 stable/8/secure/usr.bin/openssl/man/asn1parse.1 stable/8/secure/usr.bin/openssl/man/ca.1 stable/8/secure/usr.bin/openssl/man/ciphers.1 stable/8/secure/usr.bin/openssl/man/crl.1 stable/8/secure/usr.bin/openssl/man/crl2pkcs7.1 stable/8/secure/usr.bin/openssl/man/dgst.1 stable/8/secure/usr.bin/openssl/man/dhparam.1 stable/8/secure/usr.bin/openssl/man/dsa.1 stable/8/secure/usr.bin/openssl/man/dsaparam.1 stable/8/secure/usr.bin/openssl/man/ec.1 stable/8/secure/usr.bin/openssl/man/ecparam.1 stable/8/secure/usr.bin/openssl/man/enc.1 stable/8/secure/usr.bin/openssl/man/errstr.1 stable/8/secure/usr.bin/openssl/man/gendsa.1 stable/8/secure/usr.bin/openssl/man/genrsa.1 stable/8/secure/usr.bin/openssl/man/nseq.1 stable/8/secure/usr.bin/openssl/man/ocsp.1 stable/8/secure/usr.bin/openssl/man/openssl.1 stable/8/secure/usr.bin/openssl/man/passwd.1 stable/8/secure/usr.bin/openssl/man/pkcs12.1 stable/8/secure/usr.bin/openssl/man/pkcs7.1 stable/8/secure/usr.bin/openssl/man/pkcs8.1 stable/8/secure/usr.bin/openssl/man/rand.1 stable/8/secure/usr.bin/openssl/man/req.1 stable/8/secure/usr.bin/openssl/man/rsa.1 stable/8/secure/usr.bin/openssl/man/rsautl.1 stable/8/secure/usr.bin/openssl/man/s_client.1 stable/8/secure/usr.bin/openssl/man/s_server.1 stable/8/secure/usr.bin/openssl/man/s_time.1 stable/8/secure/usr.bin/openssl/man/sess_id.1 stable/8/secure/usr.bin/openssl/man/smime.1 stable/8/secure/usr.bin/openssl/man/speed.1 stable/8/secure/usr.bin/openssl/man/spkac.1 stable/8/secure/usr.bin/openssl/man/verify.1 stable/8/secure/usr.bin/openssl/man/version.1 stable/8/secure/usr.bin/openssl/man/x509.1 stable/8/secure/usr.bin/openssl/man/x509v3_config.1 Directory Properties: stable/8/crypto/openssl/ (props changed) Changes in other areas also in this revision: Added: stable/9/crypto/openssl/util/indent.pro - copied unchanged from r280290, vendor-crypto/openssl/dist-0.9.8/util/indent.pro stable/9/crypto/openssl/util/openssl-format-source - copied unchanged from r280290, vendor-crypto/openssl/dist-0.9.8/util/openssl-format-source stable/9/crypto/openssl/util/su-filter.pl - copied unchanged from r280290, vendor-crypto/openssl/dist-0.9.8/util/su-filter.pl Modified: stable/9/crypto/openssl/CHANGES stable/9/crypto/openssl/Makefile stable/9/crypto/openssl/NEWS stable/9/crypto/openssl/README stable/9/crypto/openssl/apps/app_rand.c stable/9/crypto/openssl/apps/apps.c stable/9/crypto/openssl/apps/apps.h stable/9/crypto/openssl/apps/asn1pars.c stable/9/crypto/openssl/apps/ca.c stable/9/crypto/openssl/apps/ciphers.c stable/9/crypto/openssl/apps/cms.c stable/9/crypto/openssl/apps/crl.c stable/9/crypto/openssl/apps/crl2p7.c stable/9/crypto/openssl/apps/dgst.c stable/9/crypto/openssl/apps/dh.c stable/9/crypto/openssl/apps/dhparam.c stable/9/crypto/openssl/apps/dsa.c stable/9/crypto/openssl/apps/dsaparam.c stable/9/crypto/openssl/apps/ec.c stable/9/crypto/openssl/apps/ecparam.c stable/9/crypto/openssl/apps/enc.c stable/9/crypto/openssl/apps/engine.c stable/9/crypto/openssl/apps/errstr.c stable/9/crypto/openssl/apps/gendh.c stable/9/crypto/openssl/apps/gendsa.c stable/9/crypto/openssl/apps/genrsa.c stable/9/crypto/openssl/apps/nseq.c stable/9/crypto/openssl/apps/ocsp.c stable/9/crypto/openssl/apps/openssl.c stable/9/crypto/openssl/apps/passwd.c stable/9/crypto/openssl/apps/pkcs12.c stable/9/crypto/openssl/apps/pkcs7.c stable/9/crypto/openssl/apps/pkcs8.c stable/9/crypto/openssl/apps/prime.c stable/9/crypto/openssl/apps/progs.h stable/9/crypto/openssl/apps/rand.c stable/9/crypto/openssl/apps/req.c stable/9/crypto/openssl/apps/rsa.c stable/9/crypto/openssl/apps/rsautl.c stable/9/crypto/openssl/apps/s_apps.h stable/9/crypto/openssl/apps/s_cb.c stable/9/crypto/openssl/apps/s_client.c stable/9/crypto/openssl/apps/s_server.c stable/9/crypto/openssl/apps/s_socket.c stable/9/crypto/openssl/apps/s_time.c stable/9/crypto/openssl/apps/sess_id.c stable/9/crypto/openssl/apps/smime.c stable/9/crypto/openssl/apps/speed.c stable/9/crypto/openssl/apps/spkac.c stable/9/crypto/openssl/apps/testdsa.h stable/9/crypto/openssl/apps/testrsa.h stable/9/crypto/openssl/apps/timeouts.h stable/9/crypto/openssl/apps/verify.c stable/9/crypto/openssl/apps/version.c stable/9/crypto/openssl/apps/winrand.c stable/9/crypto/openssl/apps/x509.c stable/9/crypto/openssl/bugs/alpha.c stable/9/crypto/openssl/bugs/dggccbug.c stable/9/crypto/openssl/bugs/sgiccbug.c stable/9/crypto/openssl/bugs/stream.c stable/9/crypto/openssl/bugs/ultrixcc.c stable/9/crypto/openssl/crypto/LPdir_nyi.c stable/9/crypto/openssl/crypto/LPdir_unix.c stable/9/crypto/openssl/crypto/LPdir_vms.c stable/9/crypto/openssl/crypto/LPdir_win.c stable/9/crypto/openssl/crypto/LPdir_win32.c stable/9/crypto/openssl/crypto/LPdir_wince.c stable/9/crypto/openssl/crypto/aes/aes.h stable/9/crypto/openssl/crypto/aes/aes_cbc.c stable/9/crypto/openssl/crypto/aes/aes_cfb.c stable/9/crypto/openssl/crypto/aes/aes_core.c stable/9/crypto/openssl/crypto/aes/aes_ctr.c stable/9/crypto/openssl/crypto/aes/aes_ecb.c stable/9/crypto/openssl/crypto/aes/aes_ige.c stable/9/crypto/openssl/crypto/aes/aes_locl.h stable/9/crypto/openssl/crypto/aes/aes_misc.c stable/9/crypto/openssl/crypto/aes/aes_ofb.c stable/9/crypto/openssl/crypto/aes/aes_wrap.c stable/9/crypto/openssl/crypto/asn1/a_bitstr.c stable/9/crypto/openssl/crypto/asn1/a_bool.c stable/9/crypto/openssl/crypto/asn1/a_bytes.c stable/9/crypto/openssl/crypto/asn1/a_d2i_fp.c stable/9/crypto/openssl/crypto/asn1/a_digest.c stable/9/crypto/openssl/crypto/asn1/a_dup.c stable/9/crypto/openssl/crypto/asn1/a_enum.c stable/9/crypto/openssl/crypto/asn1/a_gentm.c stable/9/crypto/openssl/crypto/asn1/a_hdr.c stable/9/crypto/openssl/crypto/asn1/a_i2d_fp.c stable/9/crypto/openssl/crypto/asn1/a_int.c stable/9/crypto/openssl/crypto/asn1/a_mbstr.c stable/9/crypto/openssl/crypto/asn1/a_meth.c stable/9/crypto/openssl/crypto/asn1/a_object.c stable/9/crypto/openssl/crypto/asn1/a_octet.c stable/9/crypto/openssl/crypto/asn1/a_print.c stable/9/crypto/openssl/crypto/asn1/a_set.c stable/9/crypto/openssl/crypto/asn1/a_sign.c stable/9/crypto/openssl/crypto/asn1/a_strex.c stable/9/crypto/openssl/crypto/asn1/a_strnid.c stable/9/crypto/openssl/crypto/asn1/a_time.c stable/9/crypto/openssl/crypto/asn1/a_type.c stable/9/crypto/openssl/crypto/asn1/a_utctm.c stable/9/crypto/openssl/crypto/asn1/a_utf8.c stable/9/crypto/openssl/crypto/asn1/a_verify.c stable/9/crypto/openssl/crypto/asn1/asn1.h stable/9/crypto/openssl/crypto/asn1/asn1_err.c stable/9/crypto/openssl/crypto/asn1/asn1_gen.c stable/9/crypto/openssl/crypto/asn1/asn1_lib.c stable/9/crypto/openssl/crypto/asn1/asn1_mac.h stable/9/crypto/openssl/crypto/asn1/asn1_par.c stable/9/crypto/openssl/crypto/asn1/asn1t.h stable/9/crypto/openssl/crypto/asn1/asn_mime.c stable/9/crypto/openssl/crypto/asn1/asn_moid.c stable/9/crypto/openssl/crypto/asn1/asn_pack.c stable/9/crypto/openssl/crypto/asn1/charmap.h stable/9/crypto/openssl/crypto/asn1/d2i_pr.c stable/9/crypto/openssl/crypto/asn1/d2i_pu.c stable/9/crypto/openssl/crypto/asn1/evp_asn1.c stable/9/crypto/openssl/crypto/asn1/f_enum.c stable/9/crypto/openssl/crypto/asn1/f_int.c stable/9/crypto/openssl/crypto/asn1/f_string.c stable/9/crypto/openssl/crypto/asn1/i2d_pr.c stable/9/crypto/openssl/crypto/asn1/i2d_pu.c stable/9/crypto/openssl/crypto/asn1/n_pkey.c stable/9/crypto/openssl/crypto/asn1/nsseq.c stable/9/crypto/openssl/crypto/asn1/p5_pbe.c stable/9/crypto/openssl/crypto/asn1/p5_pbev2.c stable/9/crypto/openssl/crypto/asn1/p8_key.c stable/9/crypto/openssl/crypto/asn1/p8_pkey.c stable/9/crypto/openssl/crypto/asn1/t_bitst.c stable/9/crypto/openssl/crypto/asn1/t_crl.c stable/9/crypto/openssl/crypto/asn1/t_pkey.c stable/9/crypto/openssl/crypto/asn1/t_req.c stable/9/crypto/openssl/crypto/asn1/t_spki.c stable/9/crypto/openssl/crypto/asn1/t_x509.c stable/9/crypto/openssl/crypto/asn1/t_x509a.c stable/9/crypto/openssl/crypto/asn1/tasn_dec.c stable/9/crypto/openssl/crypto/asn1/tasn_enc.c stable/9/crypto/openssl/crypto/asn1/tasn_fre.c stable/9/crypto/openssl/crypto/asn1/tasn_new.c stable/9/crypto/openssl/crypto/asn1/tasn_prn.c stable/9/crypto/openssl/crypto/asn1/tasn_typ.c stable/9/crypto/openssl/crypto/asn1/tasn_utl.c stable/9/crypto/openssl/crypto/asn1/x_algor.c stable/9/crypto/openssl/crypto/asn1/x_attrib.c stable/9/crypto/openssl/crypto/asn1/x_bignum.c stable/9/crypto/openssl/crypto/asn1/x_crl.c stable/9/crypto/openssl/crypto/asn1/x_exten.c stable/9/crypto/openssl/crypto/asn1/x_info.c stable/9/crypto/openssl/crypto/asn1/x_long.c stable/9/crypto/openssl/crypto/asn1/x_name.c stable/9/crypto/openssl/crypto/asn1/x_pkey.c stable/9/crypto/openssl/crypto/asn1/x_pubkey.c stable/9/crypto/openssl/crypto/asn1/x_req.c stable/9/crypto/openssl/crypto/asn1/x_sig.c stable/9/crypto/openssl/crypto/asn1/x_spki.c stable/9/crypto/openssl/crypto/asn1/x_val.c stable/9/crypto/openssl/crypto/asn1/x_x509.c stable/9/crypto/openssl/crypto/asn1/x_x509a.c stable/9/crypto/openssl/crypto/bf/bf_cbc.c stable/9/crypto/openssl/crypto/bf/bf_cfb64.c stable/9/crypto/openssl/crypto/bf/bf_ecb.c stable/9/crypto/openssl/crypto/bf/bf_enc.c stable/9/crypto/openssl/crypto/bf/bf_locl.h stable/9/crypto/openssl/crypto/bf/bf_ofb64.c stable/9/crypto/openssl/crypto/bf/bf_opts.c stable/9/crypto/openssl/crypto/bf/bf_pi.h stable/9/crypto/openssl/crypto/bf/bf_skey.c stable/9/crypto/openssl/crypto/bf/bfspeed.c stable/9/crypto/openssl/crypto/bf/bftest.c stable/9/crypto/openssl/crypto/bf/blowfish.h stable/9/crypto/openssl/crypto/bio/b_dump.c stable/9/crypto/openssl/crypto/bio/b_print.c stable/9/crypto/openssl/crypto/bio/b_sock.c stable/9/crypto/openssl/crypto/bio/bf_buff.c stable/9/crypto/openssl/crypto/bio/bf_lbuf.c stable/9/crypto/openssl/crypto/bio/bf_nbio.c stable/9/crypto/openssl/crypto/bio/bf_null.c stable/9/crypto/openssl/crypto/bio/bio.h stable/9/crypto/openssl/crypto/bio/bio_cb.c stable/9/crypto/openssl/crypto/bio/bio_err.c stable/9/crypto/openssl/crypto/bio/bio_lcl.h stable/9/crypto/openssl/crypto/bio/bio_lib.c stable/9/crypto/openssl/crypto/bio/bss_acpt.c stable/9/crypto/openssl/crypto/bio/bss_bio.c stable/9/crypto/openssl/crypto/bio/bss_conn.c stable/9/crypto/openssl/crypto/bio/bss_dgram.c stable/9/crypto/openssl/crypto/bio/bss_fd.c stable/9/crypto/openssl/crypto/bio/bss_file.c stable/9/crypto/openssl/crypto/bio/bss_log.c stable/9/crypto/openssl/crypto/bio/bss_mem.c stable/9/crypto/openssl/crypto/bio/bss_null.c stable/9/crypto/openssl/crypto/bio/bss_rtcp.c stable/9/crypto/openssl/crypto/bio/bss_sock.c stable/9/crypto/openssl/crypto/bn/asm/x86_64-gcc.c stable/9/crypto/openssl/crypto/bn/bn.h stable/9/crypto/openssl/crypto/bn/bn_add.c stable/9/crypto/openssl/crypto/bn/bn_asm.c stable/9/crypto/openssl/crypto/bn/bn_blind.c stable/9/crypto/openssl/crypto/bn/bn_const.c stable/9/crypto/openssl/crypto/bn/bn_ctx.c stable/9/crypto/openssl/crypto/bn/bn_depr.c stable/9/crypto/openssl/crypto/bn/bn_div.c stable/9/crypto/openssl/crypto/bn/bn_err.c stable/9/crypto/openssl/crypto/bn/bn_exp.c stable/9/crypto/openssl/crypto/bn/bn_exp2.c stable/9/crypto/openssl/crypto/bn/bn_gcd.c stable/9/crypto/openssl/crypto/bn/bn_gf2m.c stable/9/crypto/openssl/crypto/bn/bn_kron.c stable/9/crypto/openssl/crypto/bn/bn_lcl.h stable/9/crypto/openssl/crypto/bn/bn_lib.c stable/9/crypto/openssl/crypto/bn/bn_mod.c stable/9/crypto/openssl/crypto/bn/bn_mont.c stable/9/crypto/openssl/crypto/bn/bn_mpi.c stable/9/crypto/openssl/crypto/bn/bn_mul.c stable/9/crypto/openssl/crypto/bn/bn_nist.c stable/9/crypto/openssl/crypto/bn/bn_opt.c stable/9/crypto/openssl/crypto/bn/bn_prime.c stable/9/crypto/openssl/crypto/bn/bn_prime.h stable/9/crypto/openssl/crypto/bn/bn_print.c stable/9/crypto/openssl/crypto/bn/bn_rand.c stable/9/crypto/openssl/crypto/bn/bn_recp.c stable/9/crypto/openssl/crypto/bn/bn_shift.c stable/9/crypto/openssl/crypto/bn/bn_sqr.c stable/9/crypto/openssl/crypto/bn/bn_sqrt.c stable/9/crypto/openssl/crypto/bn/bn_word.c stable/9/crypto/openssl/crypto/bn/bn_x931p.c stable/9/crypto/openssl/crypto/bn/bnspeed.c stable/9/crypto/openssl/crypto/bn/bntest.c stable/9/crypto/openssl/crypto/bn/divtest.c stable/9/crypto/openssl/crypto/bn/exp.c stable/9/crypto/openssl/crypto/bn/expspeed.c stable/9/crypto/openssl/crypto/bn/exptest.c stable/9/crypto/openssl/crypto/buffer/buf_err.c stable/9/crypto/openssl/crypto/buffer/buf_str.c stable/9/crypto/openssl/crypto/buffer/buffer.c stable/9/crypto/openssl/crypto/buffer/buffer.h stable/9/crypto/openssl/crypto/camellia/camellia.c stable/9/crypto/openssl/crypto/camellia/camellia.h stable/9/crypto/openssl/crypto/camellia/cmll_cbc.c stable/9/crypto/openssl/crypto/camellia/cmll_cfb.c stable/9/crypto/openssl/crypto/camellia/cmll_ctr.c stable/9/crypto/openssl/crypto/camellia/cmll_ecb.c stable/9/crypto/openssl/crypto/camellia/cmll_locl.h stable/9/crypto/openssl/crypto/camellia/cmll_misc.c stable/9/crypto/openssl/crypto/camellia/cmll_ofb.c stable/9/crypto/openssl/crypto/cast/c_cfb64.c stable/9/crypto/openssl/crypto/cast/c_ecb.c stable/9/crypto/openssl/crypto/cast/c_enc.c stable/9/crypto/openssl/crypto/cast/c_ofb64.c stable/9/crypto/openssl/crypto/cast/c_skey.c stable/9/crypto/openssl/crypto/cast/cast.h stable/9/crypto/openssl/crypto/cast/cast_lcl.h stable/9/crypto/openssl/crypto/cast/cast_s.h stable/9/crypto/openssl/crypto/cast/cast_spd.c stable/9/crypto/openssl/crypto/cast/castopts.c stable/9/crypto/openssl/crypto/cast/casttest.c stable/9/crypto/openssl/crypto/cms/cms.h stable/9/crypto/openssl/crypto/cms/cms_asn1.c stable/9/crypto/openssl/crypto/cms/cms_att.c stable/9/crypto/openssl/crypto/cms/cms_cd.c stable/9/crypto/openssl/crypto/cms/cms_dd.c stable/9/crypto/openssl/crypto/cms/cms_enc.c stable/9/crypto/openssl/crypto/cms/cms_env.c stable/9/crypto/openssl/crypto/cms/cms_err.c stable/9/crypto/openssl/crypto/cms/cms_ess.c stable/9/crypto/openssl/crypto/cms/cms_io.c stable/9/crypto/openssl/crypto/cms/cms_lcl.h stable/9/crypto/openssl/crypto/cms/cms_lib.c stable/9/crypto/openssl/crypto/cms/cms_sd.c stable/9/crypto/openssl/crypto/cms/cms_smime.c stable/9/crypto/openssl/crypto/comp/c_rle.c stable/9/crypto/openssl/crypto/comp/c_zlib.c stable/9/crypto/openssl/crypto/comp/comp.h stable/9/crypto/openssl/crypto/comp/comp_err.c stable/9/crypto/openssl/crypto/comp/comp_lib.c stable/9/crypto/openssl/crypto/conf/cnf_save.c stable/9/crypto/openssl/crypto/conf/conf.h stable/9/crypto/openssl/crypto/conf/conf_api.c stable/9/crypto/openssl/crypto/conf/conf_api.h stable/9/crypto/openssl/crypto/conf/conf_def.c stable/9/crypto/openssl/crypto/conf/conf_def.h stable/9/crypto/openssl/crypto/conf/conf_err.c stable/9/crypto/openssl/crypto/conf/conf_lib.c stable/9/crypto/openssl/crypto/conf/conf_mall.c stable/9/crypto/openssl/crypto/conf/conf_mod.c stable/9/crypto/openssl/crypto/conf/conf_sap.c stable/9/crypto/openssl/crypto/conf/test.c stable/9/crypto/openssl/crypto/constant_time_locl.h stable/9/crypto/openssl/crypto/constant_time_test.c stable/9/crypto/openssl/crypto/cpt_err.c stable/9/crypto/openssl/crypto/cryptlib.c stable/9/crypto/openssl/crypto/cryptlib.h stable/9/crypto/openssl/crypto/crypto.h stable/9/crypto/openssl/crypto/cversion.c stable/9/crypto/openssl/crypto/des/cbc3_enc.c stable/9/crypto/openssl/crypto/des/cbc_cksm.c stable/9/crypto/openssl/crypto/des/cbc_enc.c stable/9/crypto/openssl/crypto/des/cfb64ede.c stable/9/crypto/openssl/crypto/des/cfb64enc.c stable/9/crypto/openssl/crypto/des/cfb_enc.c stable/9/crypto/openssl/crypto/des/des.c stable/9/crypto/openssl/crypto/des/des.h stable/9/crypto/openssl/crypto/des/des_enc.c stable/9/crypto/openssl/crypto/des/des_lib.c stable/9/crypto/openssl/crypto/des/des_locl.h stable/9/crypto/openssl/crypto/des/des_old.c stable/9/crypto/openssl/crypto/des/des_old.h stable/9/crypto/openssl/crypto/des/des_old2.c stable/9/crypto/openssl/crypto/des/des_opts.c stable/9/crypto/openssl/crypto/des/des_ver.h stable/9/crypto/openssl/crypto/des/destest.c stable/9/crypto/openssl/crypto/des/ecb3_enc.c stable/9/crypto/openssl/crypto/des/ecb_enc.c stable/9/crypto/openssl/crypto/des/ede_cbcm_enc.c stable/9/crypto/openssl/crypto/des/enc_read.c stable/9/crypto/openssl/crypto/des/enc_writ.c stable/9/crypto/openssl/crypto/des/fcrypt.c stable/9/crypto/openssl/crypto/des/fcrypt_b.c stable/9/crypto/openssl/crypto/des/ncbc_enc.c stable/9/crypto/openssl/crypto/des/ofb64ede.c stable/9/crypto/openssl/crypto/des/ofb64enc.c stable/9/crypto/openssl/crypto/des/ofb_enc.c stable/9/crypto/openssl/crypto/des/pcbc_enc.c stable/9/crypto/openssl/crypto/des/qud_cksm.c stable/9/crypto/openssl/crypto/des/rand_key.c stable/9/crypto/openssl/crypto/des/read2pwd.c stable/9/crypto/openssl/crypto/des/read_pwd.c stable/9/crypto/openssl/crypto/des/rpc_des.h stable/9/crypto/openssl/crypto/des/rpc_enc.c stable/9/crypto/openssl/crypto/des/rpw.c stable/9/crypto/openssl/crypto/des/set_key.c stable/9/crypto/openssl/crypto/des/speed.c stable/9/crypto/openssl/crypto/des/spr.h stable/9/crypto/openssl/crypto/des/str2key.c stable/9/crypto/openssl/crypto/des/xcbc_enc.c stable/9/crypto/openssl/crypto/dh/dh.h stable/9/crypto/openssl/crypto/dh/dh_asn1.c stable/9/crypto/openssl/crypto/dh/dh_check.c stable/9/crypto/openssl/crypto/dh/dh_depr.c stable/9/crypto/openssl/crypto/dh/dh_err.c stable/9/crypto/openssl/crypto/dh/dh_gen.c stable/9/crypto/openssl/crypto/dh/dh_key.c stable/9/crypto/openssl/crypto/dh/dh_lib.c stable/9/crypto/openssl/crypto/dh/dhtest.c stable/9/crypto/openssl/crypto/dh/p1024.c stable/9/crypto/openssl/crypto/dh/p192.c stable/9/crypto/openssl/crypto/dh/p512.c stable/9/crypto/openssl/crypto/dsa/dsa.h stable/9/crypto/openssl/crypto/dsa/dsa_asn1.c stable/9/crypto/openssl/crypto/dsa/dsa_depr.c stable/9/crypto/openssl/crypto/dsa/dsa_err.c stable/9/crypto/openssl/crypto/dsa/dsa_gen.c stable/9/crypto/openssl/crypto/dsa/dsa_key.c stable/9/crypto/openssl/crypto/dsa/dsa_lib.c stable/9/crypto/openssl/crypto/dsa/dsa_ossl.c stable/9/crypto/openssl/crypto/dsa/dsa_sign.c stable/9/crypto/openssl/crypto/dsa/dsa_utl.c stable/9/crypto/openssl/crypto/dsa/dsa_vrf.c stable/9/crypto/openssl/crypto/dsa/dsagen.c stable/9/crypto/openssl/crypto/dsa/dsatest.c stable/9/crypto/openssl/crypto/dso/dso.h stable/9/crypto/openssl/crypto/dso/dso_dl.c stable/9/crypto/openssl/crypto/dso/dso_dlfcn.c stable/9/crypto/openssl/crypto/dso/dso_err.c stable/9/crypto/openssl/crypto/dso/dso_lib.c stable/9/crypto/openssl/crypto/dso/dso_null.c stable/9/crypto/openssl/crypto/dso/dso_openssl.c stable/9/crypto/openssl/crypto/dyn_lck.c stable/9/crypto/openssl/crypto/ebcdic.c stable/9/crypto/openssl/crypto/ebcdic.h stable/9/crypto/openssl/crypto/ec/ec.h stable/9/crypto/openssl/crypto/ec/ec2_mult.c stable/9/crypto/openssl/crypto/ec/ec2_smpl.c stable/9/crypto/openssl/crypto/ec/ec2_smpt.c stable/9/crypto/openssl/crypto/ec/ec_asn1.c stable/9/crypto/openssl/crypto/ec/ec_check.c stable/9/crypto/openssl/crypto/ec/ec_curve.c stable/9/crypto/openssl/crypto/ec/ec_cvt.c stable/9/crypto/openssl/crypto/ec/ec_err.c stable/9/crypto/openssl/crypto/ec/ec_key.c stable/9/crypto/openssl/crypto/ec/ec_lcl.h stable/9/crypto/openssl/crypto/ec/ec_lib.c stable/9/crypto/openssl/crypto/ec/ec_mult.c stable/9/crypto/openssl/crypto/ec/ec_print.c stable/9/crypto/openssl/crypto/ec/ecp_mont.c stable/9/crypto/openssl/crypto/ec/ecp_nist.c stable/9/crypto/openssl/crypto/ec/ecp_smpl.c stable/9/crypto/openssl/crypto/ec/ectest.c stable/9/crypto/openssl/crypto/ecdh/ecdh.h stable/9/crypto/openssl/crypto/ecdh/ecdhtest.c stable/9/crypto/openssl/crypto/ecdh/ech_err.c stable/9/crypto/openssl/crypto/ecdh/ech_key.c stable/9/crypto/openssl/crypto/ecdh/ech_lib.c stable/9/crypto/openssl/crypto/ecdh/ech_locl.h stable/9/crypto/openssl/crypto/ecdh/ech_ossl.c stable/9/crypto/openssl/crypto/ecdsa/Makefile stable/9/crypto/openssl/crypto/ecdsa/ecdsa.h stable/9/crypto/openssl/crypto/ecdsa/ecdsatest.c stable/9/crypto/openssl/crypto/ecdsa/ecs_asn1.c stable/9/crypto/openssl/crypto/ecdsa/ecs_err.c stable/9/crypto/openssl/crypto/ecdsa/ecs_lib.c stable/9/crypto/openssl/crypto/ecdsa/ecs_locl.h stable/9/crypto/openssl/crypto/ecdsa/ecs_ossl.c stable/9/crypto/openssl/crypto/ecdsa/ecs_sign.c stable/9/crypto/openssl/crypto/ecdsa/ecs_vrf.c stable/9/crypto/openssl/crypto/engine/eng_all.c stable/9/crypto/openssl/crypto/engine/eng_cnf.c stable/9/crypto/openssl/crypto/engine/eng_cryptodev.c stable/9/crypto/openssl/crypto/engine/eng_ctrl.c stable/9/crypto/openssl/crypto/engine/eng_dyn.c stable/9/crypto/openssl/crypto/engine/eng_err.c stable/9/crypto/openssl/crypto/engine/eng_fat.c stable/9/crypto/openssl/crypto/engine/eng_init.c stable/9/crypto/openssl/crypto/engine/eng_int.h stable/9/crypto/openssl/crypto/engine/eng_lib.c stable/9/crypto/openssl/crypto/engine/eng_list.c stable/9/crypto/openssl/crypto/engine/eng_openssl.c stable/9/crypto/openssl/crypto/engine/eng_padlock.c stable/9/crypto/openssl/crypto/engine/eng_pkey.c stable/9/crypto/openssl/crypto/engine/eng_table.c stable/9/crypto/openssl/crypto/engine/engine.h stable/9/crypto/openssl/crypto/engine/enginetest.c stable/9/crypto/openssl/crypto/engine/tb_cipher.c stable/9/crypto/openssl/crypto/engine/tb_dh.c stable/9/crypto/openssl/crypto/engine/tb_digest.c stable/9/crypto/openssl/crypto/engine/tb_dsa.c stable/9/crypto/openssl/crypto/engine/tb_ecdh.c stable/9/crypto/openssl/crypto/engine/tb_ecdsa.c stable/9/crypto/openssl/crypto/engine/tb_rand.c stable/9/crypto/openssl/crypto/engine/tb_rsa.c stable/9/crypto/openssl/crypto/engine/tb_store.c stable/9/crypto/openssl/crypto/err/err.c stable/9/crypto/openssl/crypto/err/err.h stable/9/crypto/openssl/crypto/err/err_all.c stable/9/crypto/openssl/crypto/err/err_bio.c stable/9/crypto/openssl/crypto/err/err_def.c stable/9/crypto/openssl/crypto/err/err_prn.c stable/9/crypto/openssl/crypto/err/err_str.c stable/9/crypto/openssl/crypto/evp/bio_b64.c stable/9/crypto/openssl/crypto/evp/bio_enc.c stable/9/crypto/openssl/crypto/evp/bio_md.c stable/9/crypto/openssl/crypto/evp/bio_ok.c stable/9/crypto/openssl/crypto/evp/c_all.c stable/9/crypto/openssl/crypto/evp/c_allc.c stable/9/crypto/openssl/crypto/evp/c_alld.c stable/9/crypto/openssl/crypto/evp/dig_eng.c stable/9/crypto/openssl/crypto/evp/digest.c stable/9/crypto/openssl/crypto/evp/e_aes.c stable/9/crypto/openssl/crypto/evp/e_bf.c stable/9/crypto/openssl/crypto/evp/e_camellia.c stable/9/crypto/openssl/crypto/evp/e_cast.c stable/9/crypto/openssl/crypto/evp/e_des.c stable/9/crypto/openssl/crypto/evp/e_des3.c stable/9/crypto/openssl/crypto/evp/e_dsa.c stable/9/crypto/openssl/crypto/evp/e_idea.c stable/9/crypto/openssl/crypto/evp/e_null.c stable/9/crypto/openssl/crypto/evp/e_old.c stable/9/crypto/openssl/crypto/evp/e_rc2.c stable/9/crypto/openssl/crypto/evp/e_rc4.c stable/9/crypto/openssl/crypto/evp/e_rc5.c stable/9/crypto/openssl/crypto/evp/e_seed.c stable/9/crypto/openssl/crypto/evp/e_xcbc_d.c stable/9/crypto/openssl/crypto/evp/enc_min.c stable/9/crypto/openssl/crypto/evp/encode.c stable/9/crypto/openssl/crypto/evp/evp.h stable/9/crypto/openssl/crypto/evp/evp_acnf.c stable/9/crypto/openssl/crypto/evp/evp_cnf.c stable/9/crypto/openssl/crypto/evp/evp_enc.c stable/9/crypto/openssl/crypto/evp/evp_err.c stable/9/crypto/openssl/crypto/evp/evp_key.c stable/9/crypto/openssl/crypto/evp/evp_lib.c stable/9/crypto/openssl/crypto/evp/evp_locl.h stable/9/crypto/openssl/crypto/evp/evp_pbe.c stable/9/crypto/openssl/crypto/evp/evp_pkey.c stable/9/crypto/openssl/crypto/evp/evp_test.c stable/9/crypto/openssl/crypto/evp/m_dss.c stable/9/crypto/openssl/crypto/evp/m_dss1.c stable/9/crypto/openssl/crypto/evp/m_ecdsa.c stable/9/crypto/openssl/crypto/evp/m_md2.c stable/9/crypto/openssl/crypto/evp/m_md4.c stable/9/crypto/openssl/crypto/evp/m_md5.c stable/9/crypto/openssl/crypto/evp/m_mdc2.c stable/9/crypto/openssl/crypto/evp/m_null.c stable/9/crypto/openssl/crypto/evp/m_ripemd.c stable/9/crypto/openssl/crypto/evp/m_sha.c stable/9/crypto/openssl/crypto/evp/m_sha1.c stable/9/crypto/openssl/crypto/evp/names.c stable/9/crypto/openssl/crypto/evp/openbsd_hw.c stable/9/crypto/openssl/crypto/evp/p5_crpt.c stable/9/crypto/openssl/crypto/evp/p5_crpt2.c stable/9/crypto/openssl/crypto/evp/p_dec.c stable/9/crypto/openssl/crypto/evp/p_enc.c stable/9/crypto/openssl/crypto/evp/p_lib.c stable/9/crypto/openssl/crypto/evp/p_open.c stable/9/crypto/openssl/crypto/evp/p_seal.c stable/9/crypto/openssl/crypto/evp/p_sign.c stable/9/crypto/openssl/crypto/evp/p_verify.c stable/9/crypto/openssl/crypto/ex_data.c stable/9/crypto/openssl/crypto/fips_err.c stable/9/crypto/openssl/crypto/fips_err.h stable/9/crypto/openssl/crypto/hmac/hmac.c stable/9/crypto/openssl/crypto/hmac/hmac.h stable/9/crypto/openssl/crypto/hmac/hmactest.c stable/9/crypto/openssl/crypto/idea/i_cbc.c stable/9/crypto/openssl/crypto/idea/i_cfb64.c stable/9/crypto/openssl/crypto/idea/i_ecb.c stable/9/crypto/openssl/crypto/idea/i_ofb64.c stable/9/crypto/openssl/crypto/idea/i_skey.c stable/9/crypto/openssl/crypto/idea/idea.h stable/9/crypto/openssl/crypto/idea/idea_lcl.h stable/9/crypto/openssl/crypto/idea/idea_spd.c stable/9/crypto/openssl/crypto/idea/ideatest.c stable/9/crypto/openssl/crypto/jpake/jpake.c stable/9/crypto/openssl/crypto/jpake/jpake.h stable/9/crypto/openssl/crypto/jpake/jpake_err.c stable/9/crypto/openssl/crypto/jpake/jpaketest.c stable/9/crypto/openssl/crypto/krb5/krb5_asn.c stable/9/crypto/openssl/crypto/krb5/krb5_asn.h stable/9/crypto/openssl/crypto/lhash/lh_stats.c stable/9/crypto/openssl/crypto/lhash/lh_test.c stable/9/crypto/openssl/crypto/lhash/lhash.c stable/9/crypto/openssl/crypto/lhash/lhash.h stable/9/crypto/openssl/crypto/md2/md2.c stable/9/crypto/openssl/crypto/md2/md2.h stable/9/crypto/openssl/crypto/md2/md2_dgst.c stable/9/crypto/openssl/crypto/md2/md2_one.c stable/9/crypto/openssl/crypto/md2/md2test.c stable/9/crypto/openssl/crypto/md32_common.h stable/9/crypto/openssl/crypto/md4/md4.c stable/9/crypto/openssl/crypto/md4/md4.h stable/9/crypto/openssl/crypto/md4/md4_dgst.c stable/9/crypto/openssl/crypto/md4/md4_locl.h stable/9/crypto/openssl/crypto/md4/md4_one.c stable/9/crypto/openssl/crypto/md4/md4test.c stable/9/crypto/openssl/crypto/md5/md5.c stable/9/crypto/openssl/crypto/md5/md5.h stable/9/crypto/openssl/crypto/md5/md5_dgst.c stable/9/crypto/openssl/crypto/md5/md5_locl.h stable/9/crypto/openssl/crypto/md5/md5_one.c stable/9/crypto/openssl/crypto/md5/md5test.c stable/9/crypto/openssl/crypto/mdc2/mdc2.h stable/9/crypto/openssl/crypto/mdc2/mdc2_one.c stable/9/crypto/openssl/crypto/mdc2/mdc2dgst.c stable/9/crypto/openssl/crypto/mdc2/mdc2test.c stable/9/crypto/openssl/crypto/mem.c stable/9/crypto/openssl/crypto/mem_clr.c stable/9/crypto/openssl/crypto/mem_dbg.c stable/9/crypto/openssl/crypto/o_dir.c stable/9/crypto/openssl/crypto/o_dir.h stable/9/crypto/openssl/crypto/o_dir_test.c stable/9/crypto/openssl/crypto/o_init.c stable/9/crypto/openssl/crypto/o_str.c stable/9/crypto/openssl/crypto/o_str.h stable/9/crypto/openssl/crypto/o_time.c stable/9/crypto/openssl/crypto/o_time.h stable/9/crypto/openssl/crypto/objects/o_names.c stable/9/crypto/openssl/crypto/objects/obj_dat.c stable/9/crypto/openssl/crypto/objects/obj_err.c stable/9/crypto/openssl/crypto/objects/obj_lib.c stable/9/crypto/openssl/crypto/objects/obj_mac.h stable/9/crypto/openssl/crypto/objects/objects.h stable/9/crypto/openssl/crypto/objects/objects.pl stable/9/crypto/openssl/crypto/ocsp/ocsp.h stable/9/crypto/openssl/crypto/ocsp/ocsp_asn.c stable/9/crypto/openssl/crypto/ocsp/ocsp_cl.c stable/9/crypto/openssl/crypto/ocsp/ocsp_err.c stable/9/crypto/openssl/crypto/ocsp/ocsp_ext.c stable/9/crypto/openssl/crypto/ocsp/ocsp_ht.c stable/9/crypto/openssl/crypto/ocsp/ocsp_lib.c stable/9/crypto/openssl/crypto/ocsp/ocsp_prn.c stable/9/crypto/openssl/crypto/ocsp/ocsp_srv.c stable/9/crypto/openssl/crypto/ocsp/ocsp_vfy.c stable/9/crypto/openssl/crypto/opensslv.h stable/9/crypto/openssl/crypto/ossl_typ.h stable/9/crypto/openssl/crypto/pem/pem.h stable/9/crypto/openssl/crypto/pem/pem2.h stable/9/crypto/openssl/crypto/pem/pem_all.c stable/9/crypto/openssl/crypto/pem/pem_err.c stable/9/crypto/openssl/crypto/pem/pem_info.c stable/9/crypto/openssl/crypto/pem/pem_lib.c stable/9/crypto/openssl/crypto/pem/pem_oth.c stable/9/crypto/openssl/crypto/pem/pem_pk8.c stable/9/crypto/openssl/crypto/pem/pem_pkey.c stable/9/crypto/openssl/crypto/pem/pem_seal.c stable/9/crypto/openssl/crypto/pem/pem_sign.c stable/9/crypto/openssl/crypto/pem/pem_x509.c stable/9/crypto/openssl/crypto/pem/pem_xaux.c stable/9/crypto/openssl/crypto/pkcs12/p12_add.c stable/9/crypto/openssl/crypto/pkcs12/p12_asn.c stable/9/crypto/openssl/crypto/pkcs12/p12_attr.c stable/9/crypto/openssl/crypto/pkcs12/p12_crpt.c stable/9/crypto/openssl/crypto/pkcs12/p12_crt.c stable/9/crypto/openssl/crypto/pkcs12/p12_decr.c stable/9/crypto/openssl/crypto/pkcs12/p12_init.c stable/9/crypto/openssl/crypto/pkcs12/p12_key.c stable/9/crypto/openssl/crypto/pkcs12/p12_kiss.c stable/9/crypto/openssl/crypto/pkcs12/p12_mutl.c stable/9/crypto/openssl/crypto/pkcs12/p12_npas.c stable/9/crypto/openssl/crypto/pkcs12/p12_p8d.c stable/9/crypto/openssl/crypto/pkcs12/p12_p8e.c stable/9/crypto/openssl/crypto/pkcs12/p12_utl.c stable/9/crypto/openssl/crypto/pkcs12/pk12err.c stable/9/crypto/openssl/crypto/pkcs12/pkcs12.h stable/9/crypto/openssl/crypto/pkcs7/pk7_asn1.c stable/9/crypto/openssl/crypto/pkcs7/pk7_attr.c stable/9/crypto/openssl/crypto/pkcs7/pk7_dgst.c stable/9/crypto/openssl/crypto/pkcs7/pk7_doit.c stable/9/crypto/openssl/crypto/pkcs7/pk7_enc.c stable/9/crypto/openssl/crypto/pkcs7/pk7_lib.c stable/9/crypto/openssl/crypto/pkcs7/pk7_mime.c stable/9/crypto/openssl/crypto/pkcs7/pk7_smime.c stable/9/crypto/openssl/crypto/pkcs7/pkcs7.h stable/9/crypto/openssl/crypto/pkcs7/pkcs7err.c stable/9/crypto/openssl/crypto/pqueue/pq_compat.h stable/9/crypto/openssl/crypto/pqueue/pq_test.c stable/9/crypto/openssl/crypto/pqueue/pqueue.c stable/9/crypto/openssl/crypto/pqueue/pqueue.h stable/9/crypto/openssl/crypto/rand/md_rand.c stable/9/crypto/openssl/crypto/rand/rand.h stable/9/crypto/openssl/crypto/rand/rand_egd.c stable/9/crypto/openssl/crypto/rand/rand_eng.c stable/9/crypto/openssl/crypto/rand/rand_err.c stable/9/crypto/openssl/crypto/rand/rand_lcl.h stable/9/crypto/openssl/crypto/rand/rand_lib.c stable/9/crypto/openssl/crypto/rand/rand_nw.c stable/9/crypto/openssl/crypto/rand/rand_os2.c stable/9/crypto/openssl/crypto/rand/rand_unix.c stable/9/crypto/openssl/crypto/rand/rand_vms.c stable/9/crypto/openssl/crypto/rand/rand_win.c stable/9/crypto/openssl/crypto/rand/randfile.c stable/9/crypto/openssl/crypto/rand/randtest.c stable/9/crypto/openssl/crypto/rc2/rc2.h stable/9/crypto/openssl/crypto/rc2/rc2_cbc.c stable/9/crypto/openssl/crypto/rc2/rc2_ecb.c stable/9/crypto/openssl/crypto/rc2/rc2_locl.h stable/9/crypto/openssl/crypto/rc2/rc2_skey.c stable/9/crypto/openssl/crypto/rc2/rc2cfb64.c stable/9/crypto/openssl/crypto/rc2/rc2ofb64.c stable/9/crypto/openssl/crypto/rc2/rc2speed.c stable/9/crypto/openssl/crypto/rc2/rc2test.c stable/9/crypto/openssl/crypto/rc2/tab.c stable/9/crypto/openssl/crypto/rc4/rc4.c stable/9/crypto/openssl/crypto/rc4/rc4.h stable/9/crypto/openssl/crypto/rc4/rc4_enc.c stable/9/crypto/openssl/crypto/rc4/rc4_fblk.c stable/9/crypto/openssl/crypto/rc4/rc4_locl.h stable/9/crypto/openssl/crypto/rc4/rc4_skey.c stable/9/crypto/openssl/crypto/rc4/rc4speed.c stable/9/crypto/openssl/crypto/rc4/rc4test.c stable/9/crypto/openssl/crypto/rc5/rc5.h stable/9/crypto/openssl/crypto/rc5/rc5_ecb.c stable/9/crypto/openssl/crypto/rc5/rc5_enc.c stable/9/crypto/openssl/crypto/rc5/rc5_locl.h stable/9/crypto/openssl/crypto/rc5/rc5_skey.c stable/9/crypto/openssl/crypto/rc5/rc5cfb64.c stable/9/crypto/openssl/crypto/rc5/rc5ofb64.c stable/9/crypto/openssl/crypto/rc5/rc5speed.c stable/9/crypto/openssl/crypto/rc5/rc5test.c stable/9/crypto/openssl/crypto/ripemd/ripemd.h stable/9/crypto/openssl/crypto/ripemd/rmd160.c stable/9/crypto/openssl/crypto/ripemd/rmd_dgst.c stable/9/crypto/openssl/crypto/ripemd/rmd_locl.h stable/9/crypto/openssl/crypto/ripemd/rmd_one.c stable/9/crypto/openssl/crypto/ripemd/rmdconst.h stable/9/crypto/openssl/crypto/ripemd/rmdtest.c stable/9/crypto/openssl/crypto/rsa/rsa.h stable/9/crypto/openssl/crypto/rsa/rsa_asn1.c stable/9/crypto/openssl/crypto/rsa/rsa_chk.c stable/9/crypto/openssl/crypto/rsa/rsa_depr.c stable/9/crypto/openssl/crypto/rsa/rsa_eay.c stable/9/crypto/openssl/crypto/rsa/rsa_eng.c stable/9/crypto/openssl/crypto/rsa/rsa_err.c stable/9/crypto/openssl/crypto/rsa/rsa_gen.c stable/9/crypto/openssl/crypto/rsa/rsa_lib.c stable/9/crypto/openssl/crypto/rsa/rsa_none.c stable/9/crypto/openssl/crypto/rsa/rsa_null.c stable/9/crypto/openssl/crypto/rsa/rsa_oaep.c stable/9/crypto/openssl/crypto/rsa/rsa_pk1.c stable/9/crypto/openssl/crypto/rsa/rsa_pss.c stable/9/crypto/openssl/crypto/rsa/rsa_saos.c stable/9/crypto/openssl/crypto/rsa/rsa_sign.c stable/9/crypto/openssl/crypto/rsa/rsa_ssl.c stable/9/crypto/openssl/crypto/rsa/rsa_test.c stable/9/crypto/openssl/crypto/rsa/rsa_x931.c stable/9/crypto/openssl/crypto/rsa/rsa_x931g.c stable/9/crypto/openssl/crypto/seed/seed.c stable/9/crypto/openssl/crypto/seed/seed.h stable/9/crypto/openssl/crypto/seed/seed_cbc.c stable/9/crypto/openssl/crypto/seed/seed_cfb.c stable/9/crypto/openssl/crypto/seed/seed_ecb.c stable/9/crypto/openssl/crypto/seed/seed_locl.h stable/9/crypto/openssl/crypto/seed/seed_ofb.c stable/9/crypto/openssl/crypto/sha/sha.c stable/9/crypto/openssl/crypto/sha/sha.h stable/9/crypto/openssl/crypto/sha/sha1.c stable/9/crypto/openssl/crypto/sha/sha1_one.c stable/9/crypto/openssl/crypto/sha/sha1dgst.c stable/9/crypto/openssl/crypto/sha/sha1test.c stable/9/crypto/openssl/crypto/sha/sha256.c stable/9/crypto/openssl/crypto/sha/sha256t.c stable/9/crypto/openssl/crypto/sha/sha512.c stable/9/crypto/openssl/crypto/sha/sha512t.c stable/9/crypto/openssl/crypto/sha/sha_dgst.c stable/9/crypto/openssl/crypto/sha/sha_locl.h stable/9/crypto/openssl/crypto/sha/sha_one.c stable/9/crypto/openssl/crypto/sha/shatest.c stable/9/crypto/openssl/crypto/stack/safestack.h stable/9/crypto/openssl/crypto/stack/stack.c stable/9/crypto/openssl/crypto/stack/stack.h stable/9/crypto/openssl/crypto/store/store.h stable/9/crypto/openssl/crypto/store/str_err.c stable/9/crypto/openssl/crypto/store/str_lib.c stable/9/crypto/openssl/crypto/store/str_locl.h stable/9/crypto/openssl/crypto/store/str_mem.c stable/9/crypto/openssl/crypto/store/str_meth.c stable/9/crypto/openssl/crypto/symhacks.h stable/9/crypto/openssl/crypto/threads/mttest.c stable/9/crypto/openssl/crypto/threads/th-lock.c stable/9/crypto/openssl/crypto/tmdiff.c stable/9/crypto/openssl/crypto/tmdiff.h stable/9/crypto/openssl/crypto/txt_db/txt_db.c stable/9/crypto/openssl/crypto/txt_db/txt_db.h stable/9/crypto/openssl/crypto/ui/ui.h stable/9/crypto/openssl/crypto/ui/ui_compat.c stable/9/crypto/openssl/crypto/ui/ui_compat.h stable/9/crypto/openssl/crypto/ui/ui_err.c stable/9/crypto/openssl/crypto/ui/ui_lib.c stable/9/crypto/openssl/crypto/ui/ui_locl.h stable/9/crypto/openssl/crypto/ui/ui_openssl.c stable/9/crypto/openssl/crypto/ui/ui_util.c stable/9/crypto/openssl/crypto/uid.c stable/9/crypto/openssl/crypto/x509/by_dir.c stable/9/crypto/openssl/crypto/x509/by_file.c stable/9/crypto/openssl/crypto/x509/x509.h stable/9/crypto/openssl/crypto/x509/x509_att.c stable/9/crypto/openssl/crypto/x509/x509_cmp.c stable/9/crypto/openssl/crypto/x509/x509_d2.c stable/9/crypto/openssl/crypto/x509/x509_def.c stable/9/crypto/openssl/crypto/x509/x509_err.c stable/9/crypto/openssl/crypto/x509/x509_ext.c stable/9/crypto/openssl/crypto/x509/x509_lu.c stable/9/crypto/openssl/crypto/x509/x509_obj.c stable/9/crypto/openssl/crypto/x509/x509_r2x.c stable/9/crypto/openssl/crypto/x509/x509_req.c stable/9/crypto/openssl/crypto/x509/x509_set.c stable/9/crypto/openssl/crypto/x509/x509_trs.c stable/9/crypto/openssl/crypto/x509/x509_txt.c stable/9/crypto/openssl/crypto/x509/x509_v3.c stable/9/crypto/openssl/crypto/x509/x509_vfy.c stable/9/crypto/openssl/crypto/x509/x509_vfy.h stable/9/crypto/openssl/crypto/x509/x509_vpm.c stable/9/crypto/openssl/crypto/x509/x509cset.c stable/9/crypto/openssl/crypto/x509/x509name.c stable/9/crypto/openssl/crypto/x509/x509rset.c stable/9/crypto/openssl/crypto/x509/x509spki.c stable/9/crypto/openssl/crypto/x509/x509type.c stable/9/crypto/openssl/crypto/x509/x_all.c stable/9/crypto/openssl/crypto/x509v3/ext_dat.h stable/9/crypto/openssl/crypto/x509v3/pcy_cache.c stable/9/crypto/openssl/crypto/x509v3/pcy_data.c stable/9/crypto/openssl/crypto/x509v3/pcy_int.h stable/9/crypto/openssl/crypto/x509v3/pcy_lib.c stable/9/crypto/openssl/crypto/x509v3/pcy_map.c stable/9/crypto/openssl/crypto/x509v3/pcy_node.c stable/9/crypto/openssl/crypto/x509v3/pcy_tree.c stable/9/crypto/openssl/crypto/x509v3/tabtest.c stable/9/crypto/openssl/crypto/x509v3/v3_addr.c stable/9/crypto/openssl/crypto/x509v3/v3_akey.c stable/9/crypto/openssl/crypto/x509v3/v3_akeya.c stable/9/crypto/openssl/crypto/x509v3/v3_alt.c stable/9/crypto/openssl/crypto/x509v3/v3_asid.c stable/9/crypto/openssl/crypto/x509v3/v3_bcons.c stable/9/crypto/openssl/crypto/x509v3/v3_bitst.c stable/9/crypto/openssl/crypto/x509v3/v3_conf.c stable/9/crypto/openssl/crypto/x509v3/v3_cpols.c stable/9/crypto/openssl/crypto/x509v3/v3_crld.c stable/9/crypto/openssl/crypto/x509v3/v3_enum.c stable/9/crypto/openssl/crypto/x509v3/v3_extku.c stable/9/crypto/openssl/crypto/x509v3/v3_genn.c stable/9/crypto/openssl/crypto/x509v3/v3_ia5.c stable/9/crypto/openssl/crypto/x509v3/v3_info.c stable/9/crypto/openssl/crypto/x509v3/v3_int.c stable/9/crypto/openssl/crypto/x509v3/v3_lib.c stable/9/crypto/openssl/crypto/x509v3/v3_ncons.c stable/9/crypto/openssl/crypto/x509v3/v3_ocsp.c stable/9/crypto/openssl/crypto/x509v3/v3_pci.c stable/9/crypto/openssl/crypto/x509v3/v3_pcia.c stable/9/crypto/openssl/crypto/x509v3/v3_pcons.c stable/9/crypto/openssl/crypto/x509v3/v3_pku.c stable/9/crypto/openssl/crypto/x509v3/v3_pmaps.c stable/9/crypto/openssl/crypto/x509v3/v3_prn.c stable/9/crypto/openssl/crypto/x509v3/v3_purp.c stable/9/crypto/openssl/crypto/x509v3/v3_skey.c stable/9/crypto/openssl/crypto/x509v3/v3_sxnet.c stable/9/crypto/openssl/crypto/x509v3/v3_utl.c stable/9/crypto/openssl/crypto/x509v3/v3conf.c stable/9/crypto/openssl/crypto/x509v3/v3err.c stable/9/crypto/openssl/crypto/x509v3/v3prin.c stable/9/crypto/openssl/crypto/x509v3/x509v3.h stable/9/crypto/openssl/demos/asn1/ocsp.c stable/9/crypto/openssl/demos/b64.c stable/9/crypto/openssl/demos/bio/saccept.c stable/9/crypto/openssl/demos/bio/sconnect.c stable/9/crypto/openssl/demos/easy_tls/easy-tls.c stable/9/crypto/openssl/demos/easy_tls/easy-tls.h stable/9/crypto/openssl/demos/easy_tls/test.c stable/9/crypto/openssl/demos/easy_tls/test.h stable/9/crypto/openssl/demos/engines/cluster_labs/cluster_labs.h stable/9/crypto/openssl/demos/engines/cluster_labs/hw_cluster_labs.c stable/9/crypto/openssl/demos/engines/cluster_labs/hw_cluster_labs_err.c stable/9/crypto/openssl/demos/engines/cluster_labs/hw_cluster_labs_err.h stable/9/crypto/openssl/demos/engines/ibmca/hw_ibmca.c stable/9/crypto/openssl/demos/engines/ibmca/hw_ibmca_err.c stable/9/crypto/openssl/demos/engines/ibmca/hw_ibmca_err.h stable/9/crypto/openssl/demos/engines/ibmca/ica_openssl_api.h stable/9/crypto/openssl/demos/engines/zencod/hw_zencod.c stable/9/crypto/openssl/demos/engines/zencod/hw_zencod.h stable/9/crypto/openssl/demos/engines/zencod/hw_zencod_err.c stable/9/crypto/openssl/demos/engines/zencod/hw_zencod_err.h stable/9/crypto/openssl/demos/jpake/jpakedemo.c stable/9/crypto/openssl/demos/pkcs12/pkread.c stable/9/crypto/openssl/demos/pkcs12/pkwrite.c stable/9/crypto/openssl/demos/prime/prime.c stable/9/crypto/openssl/demos/selfsign.c stable/9/crypto/openssl/demos/sign/sign.c stable/9/crypto/openssl/demos/spkigen.c stable/9/crypto/openssl/demos/state_machine/state_machine.c stable/9/crypto/openssl/demos/tunala/breakage.c stable/9/crypto/openssl/demos/tunala/buffer.c stable/9/crypto/openssl/demos/tunala/cb.c stable/9/crypto/openssl/demos/tunala/ip.c stable/9/crypto/openssl/demos/tunala/sm.c stable/9/crypto/openssl/demos/tunala/tunala.c stable/9/crypto/openssl/demos/tunala/tunala.h stable/9/crypto/openssl/demos/x509/mkcert.c stable/9/crypto/openssl/demos/x509/mkreq.c stable/9/crypto/openssl/doc/apps/ciphers.pod stable/9/crypto/openssl/doc/crypto/d2i_X509.pod stable/9/crypto/openssl/e_os.h stable/9/crypto/openssl/e_os2.h stable/9/crypto/openssl/engines/e_4758cca.c stable/9/crypto/openssl/engines/e_4758cca_err.c stable/9/crypto/openssl/engines/e_4758cca_err.h stable/9/crypto/openssl/engines/e_aep.c stable/9/crypto/openssl/engines/e_aep_err.c stable/9/crypto/openssl/engines/e_aep_err.h stable/9/crypto/openssl/engines/e_atalla.c stable/9/crypto/openssl/engines/e_atalla_err.c stable/9/crypto/openssl/engines/e_atalla_err.h stable/9/crypto/openssl/engines/e_capi.c stable/9/crypto/openssl/engines/e_capi_err.c stable/9/crypto/openssl/engines/e_capi_err.h stable/9/crypto/openssl/engines/e_chil.c stable/9/crypto/openssl/engines/e_chil_err.c stable/9/crypto/openssl/engines/e_chil_err.h stable/9/crypto/openssl/engines/e_cswift.c stable/9/crypto/openssl/engines/e_cswift_err.c stable/9/crypto/openssl/engines/e_cswift_err.h stable/9/crypto/openssl/engines/e_gmp.c stable/9/crypto/openssl/engines/e_gmp_err.c stable/9/crypto/openssl/engines/e_gmp_err.h stable/9/crypto/openssl/engines/e_nuron.c stable/9/crypto/openssl/engines/e_nuron_err.c stable/9/crypto/openssl/engines/e_nuron_err.h stable/9/crypto/openssl/engines/e_sureware.c stable/9/crypto/openssl/engines/e_sureware_err.c stable/9/crypto/openssl/engines/e_sureware_err.h stable/9/crypto/openssl/engines/e_ubsec.c stable/9/crypto/openssl/engines/e_ubsec_err.c stable/9/crypto/openssl/engines/e_ubsec_err.h stable/9/crypto/openssl/engines/vendor_defns/aep.h stable/9/crypto/openssl/engines/vendor_defns/atalla.h stable/9/crypto/openssl/engines/vendor_defns/cswift.h stable/9/crypto/openssl/engines/vendor_defns/hw_4758_cca.h stable/9/crypto/openssl/engines/vendor_defns/hw_ubsec.h stable/9/crypto/openssl/engines/vendor_defns/hwcryptohook.h stable/9/crypto/openssl/engines/vendor_defns/sureware.h stable/9/crypto/openssl/fips/aes/fips_aes_selftest.c stable/9/crypto/openssl/fips/aes/fips_aesavs.c stable/9/crypto/openssl/fips/des/fips_des_selftest.c stable/9/crypto/openssl/fips/des/fips_desmovs.c stable/9/crypto/openssl/fips/dh/dh_gen.c stable/9/crypto/openssl/fips/dh/fips_dh_check.c stable/9/crypto/openssl/fips/dh/fips_dh_gen.c stable/9/crypto/openssl/fips/dh/fips_dh_key.c stable/9/crypto/openssl/fips/dh/fips_dh_lib.c stable/9/crypto/openssl/fips/dsa/fips_dsa_gen.c stable/9/crypto/openssl/fips/dsa/fips_dsa_key.c stable/9/crypto/openssl/fips/dsa/fips_dsa_lib.c stable/9/crypto/openssl/fips/dsa/fips_dsa_ossl.c stable/9/crypto/openssl/fips/dsa/fips_dsa_selftest.c stable/9/crypto/openssl/fips/dsa/fips_dsa_sign.c stable/9/crypto/openssl/fips/dsa/fips_dsatest.c stable/9/crypto/openssl/fips/dsa/fips_dssvs.c stable/9/crypto/openssl/fips/fips.c stable/9/crypto/openssl/fips/fips.h stable/9/crypto/openssl/fips/fips_canister.c stable/9/crypto/openssl/fips/fips_locl.h stable/9/crypto/openssl/fips/fips_premain.c stable/9/crypto/openssl/fips/fips_test_suite.c stable/9/crypto/openssl/fips/fips_utl.h stable/9/crypto/openssl/fips/hmac/fips_hmac.c stable/9/crypto/openssl/fips/hmac/fips_hmac_selftest.c stable/9/crypto/openssl/fips/hmac/fips_hmactest.c stable/9/crypto/openssl/fips/rand/fips_rand.c stable/9/crypto/openssl/fips/rand/fips_rand.h stable/9/crypto/openssl/fips/rand/fips_rand_selftest.c stable/9/crypto/openssl/fips/rand/fips_randtest.c stable/9/crypto/openssl/fips/rand/fips_rngvs.c stable/9/crypto/openssl/fips/rsa/fips_rsa_eay.c stable/9/crypto/openssl/fips/rsa/fips_rsa_gen.c stable/9/crypto/openssl/fips/rsa/fips_rsa_lib.c stable/9/crypto/openssl/fips/rsa/fips_rsa_selftest.c stable/9/crypto/openssl/fips/rsa/fips_rsa_sign.c stable/9/crypto/openssl/fips/rsa/fips_rsa_x931g.c stable/9/crypto/openssl/fips/rsa/fips_rsagtest.c stable/9/crypto/openssl/fips/rsa/fips_rsastest.c stable/9/crypto/openssl/fips/rsa/fips_rsavtest.c stable/9/crypto/openssl/fips/sha/fips_sha1_selftest.c stable/9/crypto/openssl/fips/sha/fips_shatest.c stable/9/crypto/openssl/fips/sha/fips_standalone_sha1.c stable/9/crypto/openssl/openssl.spec stable/9/crypto/openssl/ssl/bio_ssl.c stable/9/crypto/openssl/ssl/d1_both.c stable/9/crypto/openssl/ssl/d1_clnt.c stable/9/crypto/openssl/ssl/d1_enc.c stable/9/crypto/openssl/ssl/d1_lib.c stable/9/crypto/openssl/ssl/d1_meth.c stable/9/crypto/openssl/ssl/d1_pkt.c stable/9/crypto/openssl/ssl/d1_srvr.c stable/9/crypto/openssl/ssl/dtls1.h stable/9/crypto/openssl/ssl/kssl.c stable/9/crypto/openssl/ssl/kssl.h stable/9/crypto/openssl/ssl/kssl_lcl.h stable/9/crypto/openssl/ssl/s23_clnt.c stable/9/crypto/openssl/ssl/s23_lib.c stable/9/crypto/openssl/ssl/s23_meth.c stable/9/crypto/openssl/ssl/s23_pkt.c stable/9/crypto/openssl/ssl/s23_srvr.c stable/9/crypto/openssl/ssl/s2_clnt.c stable/9/crypto/openssl/ssl/s2_enc.c stable/9/crypto/openssl/ssl/s2_lib.c stable/9/crypto/openssl/ssl/s2_meth.c stable/9/crypto/openssl/ssl/s2_pkt.c stable/9/crypto/openssl/ssl/s2_srvr.c stable/9/crypto/openssl/ssl/s3_both.c stable/9/crypto/openssl/ssl/s3_cbc.c stable/9/crypto/openssl/ssl/s3_clnt.c stable/9/crypto/openssl/ssl/s3_enc.c stable/9/crypto/openssl/ssl/s3_lib.c stable/9/crypto/openssl/ssl/s3_meth.c stable/9/crypto/openssl/ssl/s3_pkt.c stable/9/crypto/openssl/ssl/s3_srvr.c stable/9/crypto/openssl/ssl/ssl.h stable/9/crypto/openssl/ssl/ssl2.h stable/9/crypto/openssl/ssl/ssl23.h stable/9/crypto/openssl/ssl/ssl3.h stable/9/crypto/openssl/ssl/ssl_algs.c stable/9/crypto/openssl/ssl/ssl_asn1.c stable/9/crypto/openssl/ssl/ssl_cert.c stable/9/crypto/openssl/ssl/ssl_ciph.c stable/9/crypto/openssl/ssl/ssl_err.c stable/9/crypto/openssl/ssl/ssl_err2.c stable/9/crypto/openssl/ssl/ssl_lib.c stable/9/crypto/openssl/ssl/ssl_locl.h stable/9/crypto/openssl/ssl/ssl_rsa.c stable/9/crypto/openssl/ssl/ssl_sess.c stable/9/crypto/openssl/ssl/ssl_stat.c stable/9/crypto/openssl/ssl/ssl_task.c stable/9/crypto/openssl/ssl/ssl_txt.c stable/9/crypto/openssl/ssl/ssltest.c stable/9/crypto/openssl/ssl/t1_clnt.c stable/9/crypto/openssl/ssl/t1_enc.c stable/9/crypto/openssl/ssl/t1_lib.c stable/9/crypto/openssl/ssl/t1_meth.c stable/9/crypto/openssl/ssl/t1_reneg.c stable/9/crypto/openssl/ssl/t1_srvr.c stable/9/crypto/openssl/ssl/tls1.h stable/9/crypto/openssl/test/dummytest.c stable/9/crypto/openssl/test/igetest.c stable/9/crypto/openssl/test/methtest.c stable/9/crypto/openssl/test/r160test.c stable/9/crypto/openssl/util/ck_errf.pl stable/9/crypto/openssl/util/mkerr.pl stable/9/secure/lib/libcrypto/Makefile.inc stable/9/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 stable/9/secure/lib/libcrypto/man/ASN1_STRING_length.3 stable/9/secure/lib/libcrypto/man/ASN1_STRING_new.3 stable/9/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 stable/9/secure/lib/libcrypto/man/ASN1_generate_nconf.3 stable/9/secure/lib/libcrypto/man/BIO_ctrl.3 stable/9/secure/lib/libcrypto/man/BIO_f_base64.3 stable/9/secure/lib/libcrypto/man/BIO_f_buffer.3 stable/9/secure/lib/libcrypto/man/BIO_f_cipher.3 stable/9/secure/lib/libcrypto/man/BIO_f_md.3 stable/9/secure/lib/libcrypto/man/BIO_f_null.3 stable/9/secure/lib/libcrypto/man/BIO_f_ssl.3 stable/9/secure/lib/libcrypto/man/BIO_find_type.3 stable/9/secure/lib/libcrypto/man/BIO_new.3 stable/9/secure/lib/libcrypto/man/BIO_push.3 stable/9/secure/lib/libcrypto/man/BIO_read.3 stable/9/secure/lib/libcrypto/man/BIO_s_accept.3 stable/9/secure/lib/libcrypto/man/BIO_s_bio.3 stable/9/secure/lib/libcrypto/man/BIO_s_connect.3 stable/9/secure/lib/libcrypto/man/BIO_s_fd.3 stable/9/secure/lib/libcrypto/man/BIO_s_file.3 stable/9/secure/lib/libcrypto/man/BIO_s_mem.3 stable/9/secure/lib/libcrypto/man/BIO_s_null.3 stable/9/secure/lib/libcrypto/man/BIO_s_socket.3 stable/9/secure/lib/libcrypto/man/BIO_set_callback.3 stable/9/secure/lib/libcrypto/man/BIO_should_retry.3 stable/9/secure/lib/libcrypto/man/BN_BLINDING_new.3 stable/9/secure/lib/libcrypto/man/BN_CTX_new.3 stable/9/secure/lib/libcrypto/man/BN_CTX_start.3 stable/9/secure/lib/libcrypto/man/BN_add.3 stable/9/secure/lib/libcrypto/man/BN_add_word.3 stable/9/secure/lib/libcrypto/man/BN_bn2bin.3 stable/9/secure/lib/libcrypto/man/BN_cmp.3 stable/9/secure/lib/libcrypto/man/BN_copy.3 stable/9/secure/lib/libcrypto/man/BN_generate_prime.3 stable/9/secure/lib/libcrypto/man/BN_mod_inverse.3 stable/9/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 stable/9/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 stable/9/secure/lib/libcrypto/man/BN_new.3 stable/9/secure/lib/libcrypto/man/BN_num_bytes.3 stable/9/secure/lib/libcrypto/man/BN_rand.3 stable/9/secure/lib/libcrypto/man/BN_set_bit.3 stable/9/secure/lib/libcrypto/man/BN_swap.3 stable/9/secure/lib/libcrypto/man/BN_zero.3 stable/9/secure/lib/libcrypto/man/CONF_modules_free.3 stable/9/secure/lib/libcrypto/man/CONF_modules_load_file.3 stable/9/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 stable/9/secure/lib/libcrypto/man/DH_generate_key.3 stable/9/secure/lib/libcrypto/man/DH_generate_parameters.3 stable/9/secure/lib/libcrypto/man/DH_get_ex_new_index.3 stable/9/secure/lib/libcrypto/man/DH_new.3 stable/9/secure/lib/libcrypto/man/DH_set_method.3 stable/9/secure/lib/libcrypto/man/DH_size.3 stable/9/secure/lib/libcrypto/man/DSA_SIG_new.3 stable/9/secure/lib/libcrypto/man/DSA_do_sign.3 stable/9/secure/lib/libcrypto/man/DSA_dup_DH.3 stable/9/secure/lib/libcrypto/man/DSA_generate_key.3 stable/9/secure/lib/libcrypto/man/DSA_generate_parameters.3 stable/9/secure/lib/libcrypto/man/DSA_get_ex_new_index.3 stable/9/secure/lib/libcrypto/man/DSA_new.3 stable/9/secure/lib/libcrypto/man/DSA_set_method.3 stable/9/secure/lib/libcrypto/man/DSA_sign.3 stable/9/secure/lib/libcrypto/man/DSA_size.3 stable/9/secure/lib/libcrypto/man/ERR_GET_LIB.3 stable/9/secure/lib/libcrypto/man/ERR_clear_error.3 stable/9/secure/lib/libcrypto/man/ERR_error_string.3 stable/9/secure/lib/libcrypto/man/ERR_get_error.3 stable/9/secure/lib/libcrypto/man/ERR_load_crypto_strings.3 stable/9/secure/lib/libcrypto/man/ERR_load_strings.3 stable/9/secure/lib/libcrypto/man/ERR_print_errors.3 stable/9/secure/lib/libcrypto/man/ERR_put_error.3 stable/9/secure/lib/libcrypto/man/ERR_remove_state.3 stable/9/secure/lib/libcrypto/man/ERR_set_mark.3 stable/9/secure/lib/libcrypto/man/EVP_BytesToKey.3 stable/9/secure/lib/libcrypto/man/EVP_DigestInit.3 stable/9/secure/lib/libcrypto/man/EVP_EncryptInit.3 stable/9/secure/lib/libcrypto/man/EVP_OpenInit.3 stable/9/secure/lib/libcrypto/man/EVP_PKEY_new.3 stable/9/secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3 stable/9/secure/lib/libcrypto/man/EVP_SealInit.3 stable/9/secure/lib/libcrypto/man/EVP_SignInit.3 stable/9/secure/lib/libcrypto/man/EVP_VerifyInit.3 stable/9/secure/lib/libcrypto/man/OBJ_nid2obj.3 stable/9/secure/lib/libcrypto/man/OPENSSL_Applink.3 stable/9/secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3 stable/9/secure/lib/libcrypto/man/OPENSSL_config.3 stable/9/secure/lib/libcrypto/man/OPENSSL_ia32cap.3 stable/9/secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3 stable/9/secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 stable/9/secure/lib/libcrypto/man/PKCS12_create.3 stable/9/secure/lib/libcrypto/man/PKCS12_parse.3 stable/9/secure/lib/libcrypto/man/PKCS7_decrypt.3 stable/9/secure/lib/libcrypto/man/PKCS7_encrypt.3 stable/9/secure/lib/libcrypto/man/PKCS7_sign.3 stable/9/secure/lib/libcrypto/man/PKCS7_verify.3 stable/9/secure/lib/libcrypto/man/RAND_add.3 stable/9/secure/lib/libcrypto/man/RAND_bytes.3 stable/9/secure/lib/libcrypto/man/RAND_cleanup.3 stable/9/secure/lib/libcrypto/man/RAND_egd.3 stable/9/secure/lib/libcrypto/man/RAND_load_file.3 stable/9/secure/lib/libcrypto/man/RAND_set_rand_method.3 stable/9/secure/lib/libcrypto/man/RSA_blinding_on.3 stable/9/secure/lib/libcrypto/man/RSA_check_key.3 stable/9/secure/lib/libcrypto/man/RSA_generate_key.3 stable/9/secure/lib/libcrypto/man/RSA_get_ex_new_index.3 stable/9/secure/lib/libcrypto/man/RSA_new.3 stable/9/secure/lib/libcrypto/man/RSA_padding_add_PKCS1_type_1.3 stable/9/secure/lib/libcrypto/man/RSA_print.3 stable/9/secure/lib/libcrypto/man/RSA_private_encrypt.3 stable/9/secure/lib/libcrypto/man/RSA_public_encrypt.3 stable/9/secure/lib/libcrypto/man/RSA_set_method.3 stable/9/secure/lib/libcrypto/man/RSA_sign.3 stable/9/secure/lib/libcrypto/man/RSA_sign_ASN1_OCTET_STRING.3 stable/9/secure/lib/libcrypto/man/RSA_size.3 stable/9/secure/lib/libcrypto/man/SMIME_read_PKCS7.3 stable/9/secure/lib/libcrypto/man/SMIME_write_PKCS7.3 stable/9/secure/lib/libcrypto/man/X509_NAME_ENTRY_get_object.3 stable/9/secure/lib/libcrypto/man/X509_NAME_add_entry_by_txt.3 stable/9/secure/lib/libcrypto/man/X509_NAME_get_index_by_NID.3 stable/9/secure/lib/libcrypto/man/X509_NAME_print_ex.3 stable/9/secure/lib/libcrypto/man/X509_new.3 stable/9/secure/lib/libcrypto/man/bio.3 stable/9/secure/lib/libcrypto/man/blowfish.3 stable/9/secure/lib/libcrypto/man/bn.3 stable/9/secure/lib/libcrypto/man/bn_internal.3 stable/9/secure/lib/libcrypto/man/buffer.3 stable/9/secure/lib/libcrypto/man/crypto.3 stable/9/secure/lib/libcrypto/man/d2i_ASN1_OBJECT.3 stable/9/secure/lib/libcrypto/man/d2i_DHparams.3 stable/9/secure/lib/libcrypto/man/d2i_DSAPublicKey.3 stable/9/secure/lib/libcrypto/man/d2i_PKCS8PrivateKey.3 stable/9/secure/lib/libcrypto/man/d2i_RSAPublicKey.3 stable/9/secure/lib/libcrypto/man/d2i_X509.3 stable/9/secure/lib/libcrypto/man/d2i_X509_ALGOR.3 stable/9/secure/lib/libcrypto/man/d2i_X509_CRL.3 stable/9/secure/lib/libcrypto/man/d2i_X509_NAME.3 stable/9/secure/lib/libcrypto/man/d2i_X509_REQ.3 stable/9/secure/lib/libcrypto/man/d2i_X509_SIG.3 stable/9/secure/lib/libcrypto/man/des.3 stable/9/secure/lib/libcrypto/man/dh.3 stable/9/secure/lib/libcrypto/man/dsa.3 stable/9/secure/lib/libcrypto/man/ecdsa.3 stable/9/secure/lib/libcrypto/man/engine.3 stable/9/secure/lib/libcrypto/man/err.3 stable/9/secure/lib/libcrypto/man/evp.3 stable/9/secure/lib/libcrypto/man/hmac.3 stable/9/secure/lib/libcrypto/man/lh_stats.3 stable/9/secure/lib/libcrypto/man/lhash.3 stable/9/secure/lib/libcrypto/man/md5.3 stable/9/secure/lib/libcrypto/man/mdc2.3 stable/9/secure/lib/libcrypto/man/pem.3 stable/9/secure/lib/libcrypto/man/rand.3 stable/9/secure/lib/libcrypto/man/rc4.3 stable/9/secure/lib/libcrypto/man/ripemd.3 stable/9/secure/lib/libcrypto/man/rsa.3 stable/9/secure/lib/libcrypto/man/sha.3 stable/9/secure/lib/libcrypto/man/threads.3 stable/9/secure/lib/libcrypto/man/ui.3 stable/9/secure/lib/libcrypto/man/ui_compat.3 stable/9/secure/lib/libcrypto/man/x509.3 stable/9/secure/lib/libssl/man/SSL_CIPHER_get_name.3 stable/9/secure/lib/libssl/man/SSL_COMP_add_compression_method.3 stable/9/secure/lib/libssl/man/SSL_CTX_add_extra_chain_cert.3 stable/9/secure/lib/libssl/man/SSL_CTX_add_session.3 stable/9/secure/lib/libssl/man/SSL_CTX_ctrl.3 stable/9/secure/lib/libssl/man/SSL_CTX_flush_sessions.3 stable/9/secure/lib/libssl/man/SSL_CTX_free.3 stable/9/secure/lib/libssl/man/SSL_CTX_get_ex_new_index.3 stable/9/secure/lib/libssl/man/SSL_CTX_get_verify_mode.3 stable/9/secure/lib/libssl/man/SSL_CTX_load_verify_locations.3 stable/9/secure/lib/libssl/man/SSL_CTX_new.3 stable/9/secure/lib/libssl/man/SSL_CTX_sess_number.3 stable/9/secure/lib/libssl/man/SSL_CTX_sess_set_cache_size.3 stable/9/secure/lib/libssl/man/SSL_CTX_sess_set_get_cb.3 stable/9/secure/lib/libssl/man/SSL_CTX_sessions.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_cert_store.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_cert_verify_callback.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_cipher_list.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_client_CA_list.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_client_cert_cb.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_default_passwd_cb.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_generate_session_id.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_info_callback.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_max_cert_list.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_mode.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_msg_callback.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_options.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_quiet_shutdown.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_session_cache_mode.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_session_id_context.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_ssl_version.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_timeout.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_tlsext_ticket_key_cb.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_tmp_dh_callback.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_tmp_rsa_callback.3 stable/9/secure/lib/libssl/man/SSL_CTX_set_verify.3 stable/9/secure/lib/libssl/man/SSL_CTX_use_certificate.3 stable/9/secure/lib/libssl/man/SSL_SESSION_free.3 stable/9/secure/lib/libssl/man/SSL_SESSION_get_ex_new_index.3 stable/9/secure/lib/libssl/man/SSL_SESSION_get_time.3 stable/9/secure/lib/libssl/man/SSL_accept.3 stable/9/secure/lib/libssl/man/SSL_alert_type_string.3 stable/9/secure/lib/libssl/man/SSL_clear.3 stable/9/secure/lib/libssl/man/SSL_connect.3 stable/9/secure/lib/libssl/man/SSL_do_handshake.3 stable/9/secure/lib/libssl/man/SSL_free.3 stable/9/secure/lib/libssl/man/SSL_get_SSL_CTX.3 stable/9/secure/lib/libssl/man/SSL_get_ciphers.3 stable/9/secure/lib/libssl/man/SSL_get_client_CA_list.3 stable/9/secure/lib/libssl/man/SSL_get_current_cipher.3 stable/9/secure/lib/libssl/man/SSL_get_default_timeout.3 stable/9/secure/lib/libssl/man/SSL_get_error.3 stable/9/secure/lib/libssl/man/SSL_get_ex_data_X509_STORE_CTX_idx.3 stable/9/secure/lib/libssl/man/SSL_get_ex_new_index.3 stable/9/secure/lib/libssl/man/SSL_get_fd.3 stable/9/secure/lib/libssl/man/SSL_get_peer_cert_chain.3 stable/9/secure/lib/libssl/man/SSL_get_peer_certificate.3 stable/9/secure/lib/libssl/man/SSL_get_rbio.3 stable/9/secure/lib/libssl/man/SSL_get_session.3 stable/9/secure/lib/libssl/man/SSL_get_verify_result.3 stable/9/secure/lib/libssl/man/SSL_get_version.3 stable/9/secure/lib/libssl/man/SSL_library_init.3 stable/9/secure/lib/libssl/man/SSL_load_client_CA_file.3 stable/9/secure/lib/libssl/man/SSL_new.3 stable/9/secure/lib/libssl/man/SSL_pending.3 stable/9/secure/lib/libssl/man/SSL_read.3 stable/9/secure/lib/libssl/man/SSL_rstate_string.3 stable/9/secure/lib/libssl/man/SSL_session_reused.3 stable/9/secure/lib/libssl/man/SSL_set_bio.3 stable/9/secure/lib/libssl/man/SSL_set_connect_state.3 stable/9/secure/lib/libssl/man/SSL_set_fd.3 stable/9/secure/lib/libssl/man/SSL_set_session.3 stable/9/secure/lib/libssl/man/SSL_set_shutdown.3 stable/9/secure/lib/libssl/man/SSL_set_verify_result.3 stable/9/secure/lib/libssl/man/SSL_shutdown.3 stable/9/secure/lib/libssl/man/SSL_state_string.3 stable/9/secure/lib/libssl/man/SSL_want.3 stable/9/secure/lib/libssl/man/SSL_write.3 stable/9/secure/lib/libssl/man/d2i_SSL_SESSION.3 stable/9/secure/lib/libssl/man/ssl.3 stable/9/secure/usr.bin/openssl/man/CA.pl.1 stable/9/secure/usr.bin/openssl/man/asn1parse.1 stable/9/secure/usr.bin/openssl/man/ca.1 stable/9/secure/usr.bin/openssl/man/ciphers.1 stable/9/secure/usr.bin/openssl/man/crl.1 stable/9/secure/usr.bin/openssl/man/crl2pkcs7.1 stable/9/secure/usr.bin/openssl/man/dgst.1 stable/9/secure/usr.bin/openssl/man/dhparam.1 stable/9/secure/usr.bin/openssl/man/dsa.1 stable/9/secure/usr.bin/openssl/man/dsaparam.1 stable/9/secure/usr.bin/openssl/man/ec.1 stable/9/secure/usr.bin/openssl/man/ecparam.1 stable/9/secure/usr.bin/openssl/man/enc.1 stable/9/secure/usr.bin/openssl/man/errstr.1 stable/9/secure/usr.bin/openssl/man/gendsa.1 stable/9/secure/usr.bin/openssl/man/genrsa.1 stable/9/secure/usr.bin/openssl/man/nseq.1 stable/9/secure/usr.bin/openssl/man/ocsp.1 stable/9/secure/usr.bin/openssl/man/openssl.1 stable/9/secure/usr.bin/openssl/man/passwd.1 stable/9/secure/usr.bin/openssl/man/pkcs12.1 stable/9/secure/usr.bin/openssl/man/pkcs7.1 stable/9/secure/usr.bin/openssl/man/pkcs8.1 stable/9/secure/usr.bin/openssl/man/rand.1 stable/9/secure/usr.bin/openssl/man/req.1 stable/9/secure/usr.bin/openssl/man/rsa.1 stable/9/secure/usr.bin/openssl/man/rsautl.1 stable/9/secure/usr.bin/openssl/man/s_client.1 stable/9/secure/usr.bin/openssl/man/s_server.1 stable/9/secure/usr.bin/openssl/man/s_time.1 stable/9/secure/usr.bin/openssl/man/sess_id.1 stable/9/secure/usr.bin/openssl/man/smime.1 stable/9/secure/usr.bin/openssl/man/speed.1 stable/9/secure/usr.bin/openssl/man/spkac.1 stable/9/secure/usr.bin/openssl/man/verify.1 stable/9/secure/usr.bin/openssl/man/version.1 stable/9/secure/usr.bin/openssl/man/x509.1 stable/9/secure/usr.bin/openssl/man/x509v3_config.1 Directory Properties: stable/9/crypto/openssl/ (props changed) Modified: stable/8/crypto/openssl/CHANGES ============================================================================== --- stable/8/crypto/openssl/CHANGES Fri Mar 20 21:54:45 2015 (r280304) +++ stable/8/crypto/openssl/CHANGES Fri Mar 20 21:56:48 2015 (r280305) @@ -2,6 +2,88 @@ OpenSSL CHANGES _______________ + Changes between 0.9.8ze and 0.9.8zf [19 Mar 2015] + + *) Segmentation fault in ASN1_TYPE_cmp fix + + The function ASN1_TYPE_cmp will crash with an invalid read if an attempt is + made to compare ASN.1 boolean types. Since ASN1_TYPE_cmp is used to check + certificate signature algorithm consistency this can be used to crash any + certificate verification operation and exploited in a DoS attack. Any + application which performs certificate verification is vulnerable including + OpenSSL clients and servers which enable client authentication. + (CVE-2015-0286) + [Stephen Henson] + + *) ASN.1 structure reuse memory corruption fix + + Reusing a structure in ASN.1 parsing may allow an attacker to cause + memory corruption via an invalid write. Such reuse is and has been + strongly discouraged and is believed to be rare. + + Applications that parse structures containing CHOICE or ANY DEFINED BY + components may be affected. Certificate parsing (d2i_X509 and related + functions) are however not affected. OpenSSL clients and servers are + not affected. + (CVE-2015-0287) + [Stephen Henson] + + *) PKCS7 NULL pointer dereferences fix + + The PKCS#7 parsing code does not handle missing outer ContentInfo + correctly. An attacker can craft malformed ASN.1-encoded PKCS#7 blobs with + missing content and trigger a NULL pointer dereference on parsing. + + Applications that verify PKCS#7 signatures, decrypt PKCS#7 data or + otherwise parse PKCS#7 structures from untrusted sources are + affected. OpenSSL clients and servers are not affected. + + This issue was reported to OpenSSL by Michal Zalewski (Google). + (CVE-2015-0289) + [Emilia K?sper] + + *) DoS via reachable assert in SSLv2 servers fix + + A malicious client can trigger an OPENSSL_assert (i.e., an abort) in + servers that both support SSLv2 and enable export cipher suites by sending + a specially crafted SSLv2 CLIENT-MASTER-KEY message. + + This issue was discovered by Sean Burford (Google) and Emilia K?sper + (OpenSSL development team). + (CVE-2015-0293) + [Emilia K?sper] + + *) Use After Free following d2i_ECPrivatekey error fix + + A malformed EC private key file consumed via the d2i_ECPrivateKey function + could cause a use after free condition. This, in turn, could cause a double + free in several private key parsing functions (such as d2i_PrivateKey + or EVP_PKCS82PKEY) and could lead to a DoS attack or memory corruption + for applications that receive EC private keys from untrusted + sources. This scenario is considered rare. + + This issue was discovered by the BoringSSL project and fixed in their + commit 517073cd4b. + (CVE-2015-0209) + [Matt Caswell] + + *) X509_to_X509_REQ NULL pointer deref fix + + The function X509_to_X509_REQ will crash with a NULL pointer dereference if + the certificate key is invalid. This function is rarely used in practice. + + This issue was discovered by Brian Carpenter. + (CVE-2015-0288) + [Stephen Henson] + + *) Removed the export and SSLv2 ciphers from the DEFAULT ciphers + [Kurt Roeckx] + + Changes between 0.9.8zd and 0.9.8ze [15 Jan 2015] + + *) Build fixes for the Windows and OpenVMS platforms + [Matt Caswell and Richard Levitte] + Changes between 0.9.8zc and 0.9.8zd [8 Jan 2015] *) Fix DTLS segmentation fault in dtls1_get_record. A carefully crafted DTLS Modified: stable/8/crypto/openssl/Makefile ============================================================================== --- stable/8/crypto/openssl/Makefile Fri Mar 20 21:54:45 2015 (r280304) +++ stable/8/crypto/openssl/Makefile Fri Mar 20 21:56:48 2015 (r280305) @@ -4,7 +4,7 @@ ## Makefile for OpenSSL ## -VERSION=0.9.8zd +VERSION=0.9.8zf MAJOR=0 MINOR=9.8 SHLIB_VERSION_NUMBER=0.9.8 Modified: stable/8/crypto/openssl/NEWS ============================================================================== --- stable/8/crypto/openssl/NEWS Fri Mar 20 21:54:45 2015 (r280304) +++ stable/8/crypto/openssl/NEWS Fri Mar 20 21:56:48 2015 (r280305) @@ -5,6 +5,20 @@ 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 0.9.8ze and OpenSSL 0.9.8zf [19 Mar 2015] + + o Segmentation fault in ASN1_TYPE_cmp fix (CVE-2015-0286) + o ASN.1 structure reuse memory corruption fix (CVE-2015-0287) + o PKCS7 NULL pointer dereferences fix (CVE-2015-0289) + o DoS via reachable assert in SSLv2 servers fix (CVE-2015-0293) + o Use After Free following d2i_ECPrivatekey error fix (CVE-2015-0209) + o X509_to_X509_REQ NULL pointer deref fix (CVE-2015-0288) + o Removed the export ciphers from the DEFAULT ciphers + + Major changes between OpenSSL 0.9.8zd and OpenSSL 0.9.8ze [15 Jan 2015] + + o Build fixes for the Windows and OpenVMS platforms + Major changes between OpenSSL 0.9.8zc and OpenSSL 0.9.8zd [8 Jan 2015] o Fix for CVE-2014-3571 Modified: stable/8/crypto/openssl/README ============================================================================== --- stable/8/crypto/openssl/README Fri Mar 20 21:54:45 2015 (r280304) +++ stable/8/crypto/openssl/README Fri Mar 20 21:56:48 2015 (r280305) @@ -1,5 +1,5 @@ - OpenSSL 0.9.8zd 8 Jan 2015 + OpenSSL 0.9.8zf 19 Mar 2015 Copyright (c) 1998-2011 The OpenSSL Project Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson Modified: stable/8/crypto/openssl/apps/app_rand.c ============================================================================== --- stable/8/crypto/openssl/apps/app_rand.c Fri Mar 20 21:54:45 2015 (r280304) +++ stable/8/crypto/openssl/apps/app_rand.c Fri Mar 20 21:56:48 2015 (r280305) @@ -5,21 +5,21 @@ * This package is an SSL implementation written * by Eric Young (eay at cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. - * + * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh at cryptsoft.com). - * + * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. - * + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -34,10 +34,10 @@ * Eric Young (eay at cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from + * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh at cryptsoft.com)" - * + * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -49,7 +49,7 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * + * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence @@ -63,7 +63,7 @@ * are met: * * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. + * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in @@ -115,104 +115,106 @@ #include #include - static int seeded = 0; static int egdsocket = 0; int app_RAND_load_file(const char *file, BIO *bio_e, int dont_warn) - { - int consider_randfile = (file == NULL); - char buffer[200]; - +{ + int consider_randfile = (file == NULL); + char buffer[200]; + #ifdef OPENSSL_SYS_WINDOWS - BIO_printf(bio_e,"Loading 'screen' into random state -"); - BIO_flush(bio_e); - RAND_screen(); - BIO_printf(bio_e," done\n"); + BIO_printf(bio_e, "Loading 'screen' into random state -"); + BIO_flush(bio_e); + RAND_screen(); + BIO_printf(bio_e, " done\n"); #endif - if (file == NULL) - file = RAND_file_name(buffer, sizeof buffer); - else if (RAND_egd(file) > 0) - { - /* we try if the given filename is an EGD socket. - if it is, we don't write anything back to the file. */ - egdsocket = 1; - return 1; - } - if (file == NULL || !RAND_load_file(file, -1)) - { - if (RAND_status() == 0) - { - if (!dont_warn) - { - BIO_printf(bio_e,"unable to load 'random state'\n"); - BIO_printf(bio_e,"This means that the random number generator has not been seeded\n"); - BIO_printf(bio_e,"with much random data.\n"); - if (consider_randfile) /* explanation does not apply when a file is explicitly named */ - { - BIO_printf(bio_e,"Consider setting the RANDFILE environment variable to point at a file that\n"); - BIO_printf(bio_e,"'random' data can be kept in (the file will be overwritten).\n"); - } - } - return 0; - } - } - seeded = 1; - return 1; - } + if (file == NULL) + file = RAND_file_name(buffer, sizeof buffer); + else if (RAND_egd(file) > 0) { + /* + * we try if the given filename is an EGD socket. if it is, we don't + * write anything back to the file. + */ + egdsocket = 1; + return 1; + } + if (file == NULL || !RAND_load_file(file, -1)) { + if (RAND_status() == 0) { + if (!dont_warn) { + BIO_printf(bio_e, "unable to load 'random state'\n"); + BIO_printf(bio_e, + "This means that the random number generator has not been seeded\n"); + BIO_printf(bio_e, "with much random data.\n"); + if (consider_randfile) { /* explanation does not apply when a + * file is explicitly named */ + BIO_printf(bio_e, + "Consider setting the RANDFILE environment variable to point at a file that\n"); + BIO_printf(bio_e, + "'random' data can be kept in (the file will be overwritten).\n"); + } + } + return 0; + } + } + seeded = 1; + return 1; +} long app_RAND_load_files(char *name) - { - char *p,*n; - int last; - long tot=0; - int egd; - - for (;;) - { - last=0; - for (p=name; ((*p != '\0') && (*p != LIST_SEPARATOR_CHAR)); p++); - if (*p == '\0') last=1; - *p='\0'; - n=name; - name=p+1; - if (*n == '\0') break; - - egd=RAND_egd(n); - if (egd > 0) - tot+=egd; - else - tot+=RAND_load_file(n,-1); - if (last) break; - } - if (tot > 512) - app_RAND_allow_write_file(); - return(tot); - } +{ + char *p, *n; + int last; + long tot = 0; + int egd; + + for (;;) { + last = 0; + for (p = name; ((*p != '\0') && (*p != LIST_SEPARATOR_CHAR)); p++) ; + if (*p == '\0') + last = 1; + *p = '\0'; + n = name; + name = p + 1; + if (*n == '\0') + break; + + egd = RAND_egd(n); + if (egd > 0) + tot += egd; + else + tot += RAND_load_file(n, -1); + if (last) + break; + } + if (tot > 512) + app_RAND_allow_write_file(); + return (tot); +} int app_RAND_write_file(const char *file, BIO *bio_e) - { - char buffer[200]; - - if (egdsocket || !seeded) - /* If we did not manage to read the seed file, - * we should not write a low-entropy seed file back -- - * it would suppress a crucial warning the next time - * we want to use it. */ - return 0; - - if (file == NULL) - file = RAND_file_name(buffer, sizeof buffer); - if (file == NULL || !RAND_write_file(file)) - { - BIO_printf(bio_e,"unable to write 'random state'\n"); - return 0; - } - return 1; - } +{ + char buffer[200]; + + if (egdsocket || !seeded) + /* + * If we did not manage to read the seed file, we should not write a + * low-entropy seed file back -- it would suppress a crucial warning + * the next time we want to use it. + */ + return 0; + + if (file == NULL) + file = RAND_file_name(buffer, sizeof buffer); + if (file == NULL || !RAND_write_file(file)) { + BIO_printf(bio_e, "unable to write 'random state'\n"); + return 0; + } + return 1; +} void app_RAND_allow_write_file(void) - { - seeded = 1; - } +{ + seeded = 1; +} Modified: stable/8/crypto/openssl/apps/apps.c ============================================================================== --- stable/8/crypto/openssl/apps/apps.c Fri Mar 20 21:54:45 2015 (r280304) +++ stable/8/crypto/openssl/apps/apps.c Fri Mar 20 21:56:48 2015 (r280305) @@ -5,21 +5,21 @@ * This package is an SSL implementation written * by Eric Young (eay at cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. - * + * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh at cryptsoft.com). - * + * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. - * + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -34,10 +34,10 @@ * Eric Young (eay at cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from + * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh at cryptsoft.com)" - * + * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -49,7 +49,7 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * + * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence @@ -63,7 +63,7 @@ * are met: * * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. + * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in @@ -124,14 +124,14 @@ #include #include #ifndef OPENSSL_NO_ENGINE -#include +# include #endif #ifndef OPENSSL_NO_RSA -#include +# include #endif #include #ifndef OPENSSL_NO_JPAKE -#include +# include #endif #define NON_MAIN @@ -139,2449 +139,2309 @@ #undef NON_MAIN typedef struct { - const char *name; - unsigned long flag; - unsigned long mask; + const char *name; + unsigned long flag; + unsigned long mask; } NAME_EX_TBL; static UI_METHOD *ui_method = NULL; -static int set_table_opts(unsigned long *flags, const char *arg, const NAME_EX_TBL *in_tbl); -static int set_multi_opts(unsigned long *flags, const char *arg, const NAME_EX_TBL *in_tbl); +static int set_table_opts(unsigned long *flags, const char *arg, + const NAME_EX_TBL * in_tbl); +static int set_multi_opts(unsigned long *flags, const char *arg, + const NAME_EX_TBL * in_tbl); #if !defined(OPENSSL_NO_RC4) && !defined(OPENSSL_NO_RSA) /* Looks like this stuff is worth moving into separate function */ -static EVP_PKEY * -load_netscape_key(BIO *err, BIO *key, const char *file, - const char *key_descrip, int format); +static EVP_PKEY *load_netscape_key(BIO *err, BIO *key, const char *file, + const char *key_descrip, int format); #endif int app_init(long mesgwin); -#ifdef undef /* never finished - probably never will be :-) */ +#ifdef undef /* never finished - probably never will be + * :-) */ int args_from_file(char *file, int *argc, char **argv[]) - { - FILE *fp; - int num,i; - unsigned int len; - static char *buf=NULL; - static char **arg=NULL; - char *p; - struct stat stbuf; - - if (stat(file,&stbuf) < 0) return(0); - - fp=fopen(file,"r"); - if (fp == NULL) - return(0); - - *argc=0; - *argv=NULL; - - len=(unsigned int)stbuf.st_size; - if (buf != NULL) OPENSSL_free(buf); - buf=(char *)OPENSSL_malloc(len+1); - if (buf == NULL) return(0); - - len=fread(buf,1,len,fp); - if (len <= 1) return(0); - buf[len]='\0'; - - i=0; - for (p=buf; *p; p++) - if (*p == '\n') i++; - if (arg != NULL) OPENSSL_free(arg); - arg=(char **)OPENSSL_malloc(sizeof(char *)*(i*2)); - - *argv=arg; - num=0; - p=buf; - for (;;) - { - if (!*p) break; - if (*p == '#') /* comment line */ - { - while (*p && (*p != '\n')) p++; - continue; - } - /* else we have a line */ - *(arg++)=p; - num++; - while (*p && ((*p != ' ') && (*p != '\t') && (*p != '\n'))) - p++; - if (!*p) break; - if (*p == '\n') - { - *(p++)='\0'; - continue; - } - /* else it is a tab or space */ - p++; - while (*p && ((*p == ' ') || (*p == '\t') || (*p == '\n'))) - p++; - if (!*p) break; - if (*p == '\n') - { - p++; - continue; - } - *(arg++)=p++; - num++; - while (*p && (*p != '\n')) p++; - if (!*p) break; - /* else *p == '\n' */ - *(p++)='\0'; - } - *argc=num; - return(1); - } +{ + FILE *fp; + int num, i; + unsigned int len; + static char *buf = NULL; + static char **arg = NULL; + char *p; + struct stat stbuf; + + if (stat(file, &stbuf) < 0) + return (0); + + fp = fopen(file, "r"); + if (fp == NULL) + return (0); + + *argc = 0; + *argv = NULL; + + len = (unsigned int)stbuf.st_size; + if (buf != NULL) + OPENSSL_free(buf); + buf = (char *)OPENSSL_malloc(len + 1); + if (buf == NULL) + return (0); + + len = fread(buf, 1, len, fp); + if (len <= 1) + return (0); + buf[len] = '\0'; + + i = 0; + for (p = buf; *p; p++) + if (*p == '\n') + i++; + if (arg != NULL) + OPENSSL_free(arg); + arg = (char **)OPENSSL_malloc(sizeof(char *) * (i * 2)); + + *argv = arg; + num = 0; + p = buf; + for (;;) { + if (!*p) + break; + if (*p == '#') { /* comment line */ + while (*p && (*p != '\n')) + p++; + continue; + } + /* else we have a line */ + *(arg++) = p; + num++; + while (*p && ((*p != ' ') && (*p != '\t') && (*p != '\n'))) + p++; + if (!*p) + break; + if (*p == '\n') { + *(p++) = '\0'; + continue; + } + /* else it is a tab or space */ + p++; + while (*p && ((*p == ' ') || (*p == '\t') || (*p == '\n'))) + p++; + if (!*p) + break; + if (*p == '\n') { + p++; + continue; + } + *(arg++) = p++; + num++; + while (*p && (*p != '\n')) + p++; + if (!*p) + break; + /* else *p == '\n' */ + *(p++) = '\0'; + } + *argc = num; + return (1); +} #endif int str2fmt(char *s) - { - if ((*s == 'D') || (*s == 'd')) - return(FORMAT_ASN1); - else if ((*s == 'T') || (*s == 't')) - return(FORMAT_TEXT); - else if ((*s == 'P') || (*s == 'p')) - return(FORMAT_PEM); - else if ((*s == 'N') || (*s == 'n')) - return(FORMAT_NETSCAPE); - else if ((*s == 'S') || (*s == 's')) - return(FORMAT_SMIME); - else if ((*s == '1') - || (strcmp(s,"PKCS12") == 0) || (strcmp(s,"pkcs12") == 0) - || (strcmp(s,"P12") == 0) || (strcmp(s,"p12") == 0)) - return(FORMAT_PKCS12); - else if ((*s == 'E') || (*s == 'e')) - return(FORMAT_ENGINE); - else - return(FORMAT_UNDEF); - } +{ + if ((*s == 'D') || (*s == 'd')) + return (FORMAT_ASN1); + else if ((*s == 'T') || (*s == 't')) + return (FORMAT_TEXT); + else if ((*s == 'P') || (*s == 'p')) + return (FORMAT_PEM); + else if ((*s == 'N') || (*s == 'n')) + return (FORMAT_NETSCAPE); + else if ((*s == 'S') || (*s == 's')) + return (FORMAT_SMIME); + else if ((*s == '1') + || (strcmp(s, "PKCS12") == 0) || (strcmp(s, "pkcs12") == 0) + || (strcmp(s, "P12") == 0) || (strcmp(s, "p12") == 0)) + return (FORMAT_PKCS12); + else if ((*s == 'E') || (*s == 'e')) + return (FORMAT_ENGINE); + else + return (FORMAT_UNDEF); +} #if defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_WIN16) || defined(OPENSSL_SYS_NETWARE) void program_name(char *in, char *out, int size) - { - int i,n; - char *p=NULL; - - n=strlen(in); - /* find the last '/', '\' or ':' */ - for (i=n-1; i>0; i--) - { - if ((in[i] == '/') || (in[i] == '\\') || (in[i] == ':')) - { - p= &(in[i+1]); - break; - } - } - if (p == NULL) - p=in; - n=strlen(p); - -#if defined(OPENSSL_SYS_NETWARE) - /* strip off trailing .nlm if present. */ - if ((n > 4) && (p[n-4] == '.') && - ((p[n-3] == 'n') || (p[n-3] == 'N')) && - ((p[n-2] == 'l') || (p[n-2] == 'L')) && - ((p[n-1] == 'm') || (p[n-1] == 'M'))) - n-=4; -#else - /* strip off trailing .exe if present. */ - if ((n > 4) && (p[n-4] == '.') && - ((p[n-3] == 'e') || (p[n-3] == 'E')) && - ((p[n-2] == 'x') || (p[n-2] == 'X')) && - ((p[n-1] == 'e') || (p[n-1] == 'E'))) - n-=4; -#endif - - if (n > size-1) - n=size-1; - - for (i=0; i= 'A') && (p[i] <= 'Z')) - out[i]=p[i]-'A'+'a'; - else - out[i]=p[i]; - } - out[n]='\0'; - } +{ + int i, n; + char *p = NULL; + + n = strlen(in); + /* find the last '/', '\' or ':' */ + for (i = n - 1; i > 0; i--) { + if ((in[i] == '/') || (in[i] == '\\') || (in[i] == ':')) { + p = &(in[i + 1]); + break; + } + } + if (p == NULL) + p = in; + n = strlen(p); + +# if defined(OPENSSL_SYS_NETWARE) + /* strip off trailing .nlm if present. */ + if ((n > 4) && (p[n - 4] == '.') && + ((p[n - 3] == 'n') || (p[n - 3] == 'N')) && + ((p[n - 2] == 'l') || (p[n - 2] == 'L')) && + ((p[n - 1] == 'm') || (p[n - 1] == 'M'))) + n -= 4; +# else + /* strip off trailing .exe if present. */ + if ((n > 4) && (p[n - 4] == '.') && + ((p[n - 3] == 'e') || (p[n - 3] == 'E')) && + ((p[n - 2] == 'x') || (p[n - 2] == 'X')) && + ((p[n - 1] == 'e') || (p[n - 1] == 'E'))) + n -= 4; +# endif + + if (n > size - 1) + n = size - 1; + + for (i = 0; i < n; i++) { + if ((p[i] >= 'A') && (p[i] <= 'Z')) + out[i] = p[i] - 'A' + 'a'; + else + out[i] = p[i]; + } + out[n] = '\0'; +} #else -#ifdef OPENSSL_SYS_VMS +# ifdef OPENSSL_SYS_VMS void program_name(char *in, char *out, int size) - { - char *p=in, *q; - char *chars=":]>"; - - while(*chars != '\0') - { - q=strrchr(p,*chars); - if (q > p) - p = q + 1; - chars++; - } - - q=strrchr(p,'.'); - if (q == NULL) - q = p + strlen(p); - strncpy(out,p,size-1); - if (q-p >= size) - { - out[size-1]='\0'; - } - else - { - out[q-p]='\0'; - } - } -#else +{ + char *p = in, *q; + char *chars = ":]>"; + + while (*chars != '\0') { + q = strrchr(p, *chars); + if (q > p) + p = q + 1; + chars++; + } + + q = strrchr(p, '.'); + if (q == NULL) + q = p + strlen(p); + strncpy(out, p, size - 1); + if (q - p >= size) { + out[size - 1] = '\0'; + } else { + out[q - p] = '\0'; + } +} +# else void program_name(char *in, char *out, int size) - { - char *p; +{ + char *p; - p=strrchr(in,'/'); - if (p != NULL) - p++; - else - p=in; - BUF_strlcpy(out,p,size); - } -#endif + p = strrchr(in, '/'); + if (p != NULL) + p++; + else + p = in; + BUF_strlcpy(out, p, size); +} +# endif #endif int chopup_args(ARGS *arg, char *buf, int *argc, char **argv[]) - { - int num,i; - char *p; - - *argc=0; - *argv=NULL; - - i=0; - if (arg->count == 0) - { - arg->count=20; - arg->data=(char **)OPENSSL_malloc(sizeof(char *)*arg->count); - if (arg->data == NULL) - return 0; - } - for (i=0; icount; i++) - arg->data[i]=NULL; - - num=0; - p=buf; - for (;;) - { - /* first scan over white space */ - if (!*p) break; - while (*p && ((*p == ' ') || (*p == '\t') || (*p == '\n'))) - p++; - if (!*p) break; - - /* The start of something good :-) */ - if (num >= arg->count) - { - char **tmp_p; - int tlen = arg->count + 20; - tmp_p = (char **)OPENSSL_realloc(arg->data, - sizeof(char *)*tlen); - if (tmp_p == NULL) - return 0; - arg->data = tmp_p; - arg->count = tlen; - /* initialize newly allocated data */ - for (i = num; i < arg->count; i++) - arg->data[i] = NULL; - } - arg->data[num++]=p; - - /* now look for the end of this */ - if ((*p == '\'') || (*p == '\"')) /* scan for closing quote */ - { - i= *(p++); - arg->data[num-1]++; /* jump over quote */ - while (*p && (*p != i)) - p++; - *p='\0'; - } - else - { - while (*p && ((*p != ' ') && - (*p != '\t') && (*p != '\n'))) - p++; - - if (*p == '\0') - p--; - else - *p='\0'; - } - p++; - } - *argc=num; - *argv=arg->data; - return(1); - } +{ + int num, i; + char *p; + + *argc = 0; + *argv = NULL; + + i = 0; + if (arg->count == 0) { + 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; + + num = 0; + p = buf; + for (;;) { + /* first scan over white space */ + if (!*p) + break; + while (*p && ((*p == ' ') || (*p == '\t') || (*p == '\n'))) + p++; + if (!*p) + break; + + /* The start of something good :-) */ + if (num >= arg->count) { + char **tmp_p; + int tlen = arg->count + 20; + tmp_p = (char **)OPENSSL_realloc(arg->data, + sizeof(char *) * tlen); + if (tmp_p == NULL) + return 0; + arg->data = tmp_p; + arg->count = tlen; + /* initialize newly allocated data */ + for (i = num; i < arg->count; i++) + arg->data[i] = NULL; + } + arg->data[num++] = p; + + /* now look for the end of this */ + if ((*p == '\'') || (*p == '\"')) { /* scan for closing quote */ + i = *(p++); + arg->data[num - 1]++; /* jump over quote */ + while (*p && (*p != i)) + p++; + *p = '\0'; + } else { + while (*p && ((*p != ' ') && (*p != '\t') && (*p != '\n'))) + p++; + + if (*p == '\0') + p--; + else + *p = '\0'; + } + p++; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From edwin at FreeBSD.org Tue Mar 24 06:11:24 2015 From: edwin at FreeBSD.org (Edwin Groothuis) Date: Tue, 24 Mar 2015 06:11:21 +0000 (UTC) Subject: svn commit: r280416 - stable/8/share/zoneinfo Message-ID: <201503240611.t2O6BLmI064099@svn.freebsd.org> Author: edwin Date: Tue Mar 24 06:11:20 2015 New Revision: 280416 URL: https://svnweb.freebsd.org/changeset/base/280416 Log: MFC of 280413,tzdata8: Release 2015b - 2015-03-19 23:28:11 -0700 Changes affecting future time stamps Mongolia will start observing DST again this year, from the last Saturday in March at 02:00 to the last Saturday in September at 00:00. (Thanks to Ganbold Tsagaankhuu.) Palestine will start DST on March 28, not March 27. Also, correct the fall 2014 transition from September 26 to October 24. Adjust future predictions accordingly. (Thanks to Steffen Thorsen.) Changes affecting past time stamps The 1982 zone shift in Pacific/Easter has been corrected, fixing a 2015a regression. (Thanks to Stuart Bishop for reporting the problem.) Some more zones have been turned into links, when they differed from existing zones only for older time stamps. As usual, these changes affect UTC offsets in pre-1970 time stamps only. Their old contents have been moved to the 'backzone' file. The affected zones are: America/Antigua, America/Cayman, Pacific/Midway, and Pacific/Saipan. Changes affecting time zone abbreviations Correct the 1992-2010 DST abbreviation in Volgograd from "MSK" to "MSD". (Thanks to Hank W.) Modified: stable/8/share/zoneinfo/asia stable/8/share/zoneinfo/australasia stable/8/share/zoneinfo/europe stable/8/share/zoneinfo/leap-seconds.list stable/8/share/zoneinfo/northamerica stable/8/share/zoneinfo/southamerica Directory Properties: stable/8/share/zoneinfo/ (props changed) Modified: stable/8/share/zoneinfo/asia ============================================================================== --- stable/8/share/zoneinfo/asia Tue Mar 24 06:09:04 2015 (r280415) +++ stable/8/share/zoneinfo/asia Tue Mar 24 06:11:20 2015 (r280416) @@ -1904,6 +1904,13 @@ Zone Indian/Maldives 4:54:00 - LMT 1880 # was at the start of 2008-03-31 (the day of Steffen Thorsen's report); # this is almost surely wrong. +# From Ganbold Tsagaankhuu (2015-03-10): +# It seems like yesterday Mongolian Government meeting has concluded to use +# daylight saving time in Mongolia.... Starting at 2:00AM of last Saturday of +# March 2015, daylight saving time starts. And 00:00AM of last Saturday of +# September daylight saving time ends. Source: +# http://zasag.mn/news/view/8969 + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Mongol 1983 1984 - Apr 1 0:00 1:00 S Rule Mongol 1983 only - Oct 1 0:00 0 - @@ -1924,6 +1931,8 @@ Rule Mongol 1984 1998 - Sep lastSun 0:00 Rule Mongol 2001 only - Apr lastSat 2:00 1:00 S Rule Mongol 2001 2006 - Sep lastSat 2:00 0 - Rule Mongol 2002 2006 - Mar lastSat 2:00 1:00 S +Rule Mongol 2015 max - Mar lastSat 2:00 1:00 S +Rule Mongol 2015 max - Sep lastSat 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] # Hovd, a.k.a. Chovd, Dund-Us, Dzhargalant, Khovd, Jirgalanta @@ -2342,13 +2351,19 @@ Zone Asia/Karachi 4:28:12 - LMT 1907 # official source...: # http://www.palestinecabinet.gov.ps/ar/Views/ViewDetails.aspx?pid=1252 -# From Paul Eggert (2013-09-24): -# For future dates, guess the last Thursday in March at 24:00 through -# the first Friday on or after September 21 at 00:00. This is consistent with -# the predictions in today's editions of the following URLs, -# which are for Gaza and Hebron respectively: -# http://www.timeanddate.com/worldclock/timezone.html?n=702 -# http://www.timeanddate.com/worldclock/timezone.html?n=2364 +# From Steffen Thorsen (2015-03-03): +# Sources such as http://www.alquds.com/news/article/view/id/548257 +# and http://www.raya.ps/ar/news/890705.html say Palestine areas will +# start DST on 2015-03-28 00:00 which is one day later than expected. +# +# From Paul Eggert (2015-03-03): +# http://www.timeanddate.com/time/change/west-bank/ramallah?year=2014 +# says that the fall 2014 transition was Oct 23 at 24:00. +# For future dates, guess the last Friday in March at 24:00 through +# the first Friday on or after October 21 at 00:00. This is consistent with +# the predictions in today's editions of the following URLs: +# http://www.timeanddate.com/time/change/gaza-strip/gaza +# http://www.timeanddate.com/time/change/west-bank/hebron # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule EgyptAsia 1957 only - May 10 0:00 1:00 S @@ -2374,9 +2389,11 @@ Rule Palestine 2011 only - Apr 1 0:01 1 Rule Palestine 2011 only - Aug 1 0:00 0 - Rule Palestine 2011 only - Aug 30 0:00 1:00 S Rule Palestine 2011 only - Sep 30 0:00 0 - -Rule Palestine 2012 max - Mar lastThu 24:00 1:00 S +Rule Palestine 2012 2014 - Mar lastThu 24:00 1:00 S Rule Palestine 2012 only - Sep 21 1:00 0 - -Rule Palestine 2013 max - Sep Fri>=21 0:00 0 - +Rule Palestine 2013 only - Sep Fri>=21 0:00 0 - +Rule Palestine 2014 max - Oct Fri>=21 0:00 0 - +Rule Palestine 2015 max - Mar lastFri 24:00 1:00 S # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Gaza 2:17:52 - LMT 1900 Oct Modified: stable/8/share/zoneinfo/australasia ============================================================================== --- stable/8/share/zoneinfo/australasia Tue Mar 24 06:09:04 2015 (r280415) +++ stable/8/share/zoneinfo/australasia Tue Mar 24 06:11:20 2015 (r280416) @@ -373,6 +373,7 @@ Zone Pacific/Guam -14:21:00 - LMT 1844 D 9:39:00 - LMT 1901 # Agana 10:00 - GST 2000 Dec 23 # Guam 10:00 - ChST # Chamorro Standard Time +Link Pacific/Guam Pacific/Saipan # N Mariana Is # Kiribati # Zone NAME GMTOFF RULES FORMAT [UNTIL] @@ -388,12 +389,7 @@ Zone Pacific/Kiritimati -10:29:20 - LMT 14:00 - LINT # N Mariana Is -# Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Pacific/Saipan -14:17:00 - LMT 1844 Dec 31 - 9:43:00 - LMT 1901 - 9:00 - MPT 1969 Oct # N Mariana Is Time - 10:00 - MPT 2000 Dec 23 - 10:00 - ChST # Chamorro Standard Time +# See Pacific/Guam. # Marshall Is # Zone NAME GMTOFF RULES FORMAT [UNTIL] @@ -563,6 +559,7 @@ Zone Pacific/Pago_Pago 12:37:12 - LMT 1 -11:00 - NST 1967 Apr # N=Nome -11:00 - BST 1983 Nov 30 # B=Bering -11:00 - SST # S=Samoa +Link Pacific/Pago_Pago Pacific/Midway # in US minor outlying islands # Samoa (formerly and also known as Western Samoa) @@ -744,23 +741,7 @@ Zone Pacific/Funafuti 11:56:52 - LMT 190 # uninhabited # Midway -# -# From Mark Brader (2005-01-23): -# [Fallacies and Fantasies of Air Transport History, by R.E.G. Davies, -# published 1994 by Paladwr Press, McLean, VA, USA; ISBN 0-9626483-5-3] -# reproduced a Pan American Airways timetable from 1936, for their weekly -# "Orient Express" flights between San Francisco and Manila, and connecting -# flights to Chicago and the US East Coast. As it uses some time zone -# designations that I've never seen before:.... -# Fri. 6:30A Lv. HONOLOLU (Pearl Harbor), H.I. H.L.T. Ar. 5:30P Sun. -# " 3:00P Ar. MIDWAY ISLAND . . . . . . . . . M.L.T. Lv. 6:00A " -# -Zone Pacific/Midway -11:49:28 - LMT 1901 - -11:00 - NST 1956 Jun 3 - -11:00 1:00 NDT 1956 Sep 2 - -11:00 - NST 1967 Apr # N=Nome - -11:00 - BST 1983 Nov 30 # B=Bering - -11:00 - SST # S=Samoa +# See Pacific/Pago_Pago. # Palmyra # uninhabited since World War II; was probably like Pacific/Kiritimati Modified: stable/8/share/zoneinfo/europe ============================================================================== --- stable/8/share/zoneinfo/europe Tue Mar 24 06:09:04 2015 (r280415) +++ stable/8/share/zoneinfo/europe Tue Mar 24 06:11:20 2015 (r280416) @@ -2400,7 +2400,7 @@ Zone Europe/Volgograd 2:57:40 - LMT 192 4:00 Russia VOL%sT 1989 Mar 26 2:00s # Volgograd T 3:00 Russia VOL%sT 1991 Mar 31 2:00s 4:00 - VOLT 1992 Mar 29 2:00s - 3:00 Russia MSK 2011 Mar 27 2:00s + 3:00 Russia MSK/MSD 2011 Mar 27 2:00s 4:00 - MSK 2014 Oct 26 2:00s 3:00 - MSK Modified: stable/8/share/zoneinfo/leap-seconds.list ============================================================================== --- stable/8/share/zoneinfo/leap-seconds.list Tue Mar 24 06:09:04 2015 (r280415) +++ stable/8/share/zoneinfo/leap-seconds.list Tue Mar 24 06:11:20 2015 (r280416) @@ -131,10 +131,10 @@ # over the last few minutes of the day. The frequency of the local # clock is decreased (or increased) to realize the positive (or # negative) leap second. This method removes the time step described -# above. Although the long-term behavior of the time scale is correct -# in this case, this method introduces an error during the adjustment -# period both in time and in frequency with respect to the official -# defintion of UTC. +# above. Although the long-term behavior of the time scale is correct +# in this case, this method introduces an error during the adjustment +# period both in time and in frequency with respect to the official +# definition of UTC. # # Questions or comments to: # Judah Levine Modified: stable/8/share/zoneinfo/northamerica ============================================================================== --- stable/8/share/zoneinfo/northamerica Tue Mar 24 06:09:04 2015 (r280415) +++ stable/8/share/zoneinfo/northamerica Tue Mar 24 06:11:20 2015 (r280416) @@ -2312,8 +2312,24 @@ Zone America/Dawson -9:17:40 - LMT 1900 # "...the new time zone will come into effect at two o'clock on the first Sunday # of February, when we will have to advance the clock one hour from its current # time..." -# # Also, the new zone will not use DST. +# +# From Carlos Ra?l Perasso (2015-02-02): +# The decree that modifies the Mexican Hour System Law has finally +# been published at the Diario Oficial de la Federaci?n +# http://www.dof.gob.mx/nota_detalle.php?codigo=5380123&fecha=31/01/2015 +# It establishes 5 zones for Mexico: +# 1- Zona Centro (Central Zone): Corresponds to longitude 90 W, +# includes most of Mexico, excluding what's mentioned below. +# 2- Zona Pac?fico (Pacific Zone): Longitude 105 W, includes the +# states of Baja California Sur; Chihuahua; Nayarit (excluding Bah?a +# de Banderas which lies in Central Zone); Sinaloa and Sonora. +# 3- Zona Noroeste (Northwest Zone): Longitude 120 W, includes the +# state of Baja California. +# 4- Zona Sureste (Southeast Zone): Longitude 75 W, includes the state +# of Quintana Roo. +# 5- The islands, reefs and keys shall take their timezone from the +# longitude they are located at. # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Mexico 1939 only - Feb 5 0:00 1:00 D @@ -2508,13 +2524,8 @@ Zone America/Santa_Isabel -7:39:28 - LMT ############################################################################### # Anguilla -# See America/Port_of_Spain. - # Antigua and Barbuda -# Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone America/Antigua -4:07:12 - LMT 1912 Mar 2 - -5:00 - EST 1951 - -4:00 - AST +# See America/Port_of_Spain. # Bahamas # @@ -2581,10 +2592,7 @@ Zone Atlantic/Bermuda -4:19:18 - LMT 193 -4:00 US A%sT # Cayman Is -# Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone America/Cayman -5:25:32 - LMT 1890 # Georgetown - -5:07:11 - KMT 1912 Feb # Kingston Mean Time - -5:00 - EST +# See America/Panama. # Costa Rica @@ -3107,6 +3115,7 @@ Zone America/Managua -5:45:08 - LMT 1890 Zone America/Panama -5:18:08 - LMT 1890 -5:19:36 - CMT 1908 Apr 22 # Col?n Mean Time -5:00 - EST +Link America/Panama America/Cayman # Puerto Rico # There are too many San Juans elsewhere, so we'll use 'Puerto_Rico'. Modified: stable/8/share/zoneinfo/southamerica ============================================================================== --- stable/8/share/zoneinfo/southamerica Tue Mar 24 06:09:04 2015 (r280415) +++ stable/8/share/zoneinfo/southamerica Tue Mar 24 06:11:20 2015 (r280416) @@ -1206,10 +1206,13 @@ Zone America/Rio_Branco -4:31:12 - LMT 1 # DST Start: first Saturday of September 2014 (Sun 07 Sep 2014 04:00 UTC) # http://www.diariooficial.interior.gob.cl//media/2014/02/19/do-20140219.pdf -# From Juan Correa (2015-01-28): -# ... today the Ministry of Energy announced that Chile will drop DST, will keep -# "summer time" (UTC -3 / UTC -5) all year round.... -# http://www.minenergia.cl/ministerio/noticias/generales/ministerio-de-energia-anuncia.html +# From Eduardo Romero Urra (2015-03-03): +# Today has been published officially that Chile will use the DST time +# permanently until March 25 of 2017 +# http://www.diariooficial.interior.gob.cl/media/2015/03/03/1-large.jpg +# +# From Paul Eggert (2015-03-03): +# For now, assume that the extension will persist indefinitely. # NOTE: ChileAQ rules for Antarctic bases are stored separately in the # 'antarctica' file. @@ -1268,7 +1271,7 @@ Zone America/Santiago -4:42:46 - LMT 189 -3:00 - CLT Zone Pacific/Easter -7:17:44 - LMT 1890 -7:17:28 - EMT 1932 Sep # Easter Mean Time - -7:00 Chile EAS%sT 1982 Mar 13 3:00u # Easter Time + -7:00 Chile EAS%sT 1982 Mar 14 3:00u # Easter Time -6:00 Chile EAS%sT 2015 Apr 26 3:00u -5:00 - EAST # @@ -1603,6 +1606,7 @@ Zone America/Port_of_Spain -4:06:04 - LM # These all agree with Trinidad and Tobago since 1970. Link America/Port_of_Spain America/Anguilla +Link America/Port_of_Spain America/Antigua Link America/Port_of_Spain America/Dominica Link America/Port_of_Spain America/Grenada Link America/Port_of_Spain America/Guadeloupe From hselasky at FreeBSD.org Wed Mar 25 10:39:00 2015 From: hselasky at FreeBSD.org (Hans Petter Selasky) Date: Wed, 25 Mar 2015 10:39:00 +0000 (UTC) Subject: svn commit: r280534 - stable/8/sys/dev/usb/input Message-ID: <201503251039.t2PAd05H089544@svn.freebsd.org> Author: hselasky Date: Wed Mar 25 10:38:59 2015 New Revision: 280534 URL: https://svnweb.freebsd.org/changeset/base/280534 Log: MFC r279854: Lock softc before clearing bits. Modified: stable/8/sys/dev/usb/input/uhid.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/dev/ (props changed) stable/8/sys/dev/usb/ (props changed) Modified: stable/8/sys/dev/usb/input/uhid.c ============================================================================== --- stable/8/sys/dev/usb/input/uhid.c Wed Mar 25 10:38:22 2015 (r280533) +++ stable/8/sys/dev/usb/input/uhid.c Wed Mar 25 10:38:59 2015 (r280534) @@ -518,7 +518,9 @@ uhid_open(struct usb_fifo *fifo, int ffl */ if (fflags & FREAD) { /* reset flags */ + mtx_lock(&sc->sc_mtx); sc->sc_flags &= ~UHID_FLAG_IMMED; + mtx_unlock(&sc->sc_mtx); if (usb_fifo_alloc_buffer(fifo, sc->sc_isize + 1, UHID_FRAME_NUM)) { From hselasky at FreeBSD.org Wed Mar 25 13:08:58 2015 From: hselasky at FreeBSD.org (Hans Petter Selasky) Date: Wed, 25 Mar 2015 13:08:58 +0000 (UTC) Subject: svn commit: r280586 - stable/8/sys/kern Message-ID: <201503251308.t2PD8wEm065217@svn.freebsd.org> Author: hselasky Date: Wed Mar 25 13:08:57 2015 New Revision: 280586 URL: https://svnweb.freebsd.org/changeset/base/280586 Log: MFC r280345: Fix for out of order device destruction notifications when using the delist_dev() function. In addition to this change: - add a proper description of this function - add a proper witness assert inside this function - switch a nearby line to use the "cdp" pointer instead of cdev2priv() Modified: stable/8/sys/kern/kern_conf.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/kern/ (props changed) Modified: stable/8/sys/kern/kern_conf.c ============================================================================== --- stable/8/sys/kern/kern_conf.c Wed Mar 25 13:06:37 2015 (r280585) +++ stable/8/sys/kern/kern_conf.c Wed Mar 25 13:08:57 2015 (r280586) @@ -929,9 +929,12 @@ destroy_devl(struct cdev *dev) } dev_unlock(); - notify_destroy(dev); + if ((cdp->cdp_flags & CDP_UNREF_DTR) == 0) { + /* avoid out of order notify events */ + notify_destroy(dev); + } mtx_lock(&cdevpriv_mtx); - while ((p = LIST_FIRST(&cdev2priv(dev)->cdp_fdpriv)) != NULL) { + while ((p = LIST_FIRST(&cdp->cdp_fdpriv)) != NULL) { devfs_destroy_cdevpriv(p); mtx_lock(&cdevpriv_mtx); } @@ -977,12 +980,25 @@ delist_dev_locked(struct cdev *dev) devfs_destroy(dev); LIST_FOREACH(child, &dev->si_children, si_siblings) delist_dev_locked(child); + dev_unlock(); + /* ensure the destroy event is queued in order */ + notify_destroy(dev); + dev_lock(); } +/* + * This function will delist a character device and its children from + * the directory listing and create a destroy event without waiting + * for all character device references to go away. At some later point + * destroy_dev() must be called to complete the character device + * destruction. After calling this function the character device name + * can instantly be re-used. + */ void delist_dev(struct cdev *dev) { + WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL, "delist_dev"); dev_lock(); delist_dev_locked(dev); dev_unlock(); From hselasky at FreeBSD.org Wed Mar 25 13:18:38 2015 From: hselasky at FreeBSD.org (Hans Petter Selasky) Date: Wed, 25 Mar 2015 13:18:37 +0000 (UTC) Subject: svn commit: r280595 - stable/8/sys/dev/sound/usb Message-ID: <201503251318.t2PDIbDi070795@svn.freebsd.org> Author: hselasky Date: Wed Mar 25 13:18:36 2015 New Revision: 280595 URL: https://svnweb.freebsd.org/changeset/base/280595 Log: MFC r280322 and r280429: The synchronisation value returned by the so-called feedback endpoint appears to be too inaccurate that it can be used to synchronize the playback data stream. If there is a recording endpoint associated with the playback endpoint, use that instead. That means if the isochronous OUT endpoint is asynchronus the USB audio driver will automatically start recording, if possible, to get exact information about the needed sample rate adjustments. In no recording endpoint is present, no rate adaption will be done. While at it fix an issue where the hardware buffer pointers don't get reset at the first device PCM trigger. Make some variables 32-bit to avoid problems with multithreading. Use the feedback value from the synchronization endpoint as fallback when there is no recording channel. PR: 198444 Modified: stable/8/sys/dev/sound/usb/uaudio.c stable/8/sys/dev/sound/usb/uaudio.h stable/8/sys/dev/sound/usb/uaudio_pcm.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/dev/ (props changed) stable/8/sys/dev/sound/ (props changed) stable/8/sys/dev/sound/usb/ (props changed) Modified: stable/8/sys/dev/sound/usb/uaudio.c ============================================================================== --- stable/8/sys/dev/sound/usb/uaudio.c Wed Mar 25 13:16:39 2015 (r280594) +++ stable/8/sys/dev/sound/usb/uaudio.c Wed Mar 25 13:18:36 2015 (r280595) @@ -218,26 +218,25 @@ struct uaudio_chan { uint32_t sample_rem; uint32_t sample_curr; uint32_t max_buf; + int32_t jitter_rem; + int32_t jitter_curr; + + int feedback_rate; uint32_t pcm_format[2]; uint16_t bytes_per_frame[2]; - uint8_t num_alt; - uint8_t cur_alt; - uint8_t set_alt; - uint8_t operation; + uint32_t intr_counter; + uint32_t running; + uint32_t num_alt; + uint32_t cur_alt; + uint32_t set_alt; + uint32_t operation; #define CHAN_OP_NONE 0 #define CHAN_OP_START 1 #define CHAN_OP_STOP 2 #define CHAN_OP_DRAIN 3 - - /* USB audio feedback endpoint state */ - struct { - uint16_t time; /* I/O interrupt count */ - int16_t constant; /* sample rate adjustment in Hz */ - int16_t remainder; /* current remainder */ - } feedback; }; #define UMIDI_EMB_JACK_MAX 16 /* units */ @@ -1096,6 +1095,11 @@ uaudio_attach_sub(device_t dev, kobj_cla uaudio_mixer_register_sysctl(sc, dev); + SYSCTL_ADD_INT(device_get_sysctl_ctx(dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, + "feedback_rate", CTLFLAG_RD, &sc->sc_play_chan.feedback_rate, + 0, "Feedback sample rate in Hz"); + return (0); /* success */ detach: @@ -1294,7 +1298,6 @@ uaudio_configure_msg_sub(struct uaudio_s chan->frames_per_second = fps; chan->sample_rem = chan_alt->sample_rate % fps; chan->sample_curr = 0; - chan->frames_per_second = fps; /* compute required buffer size */ buf_size = (chan->bytes_per_frame[1] * frames); @@ -1974,7 +1977,7 @@ uaudio_chan_play_sync_callback(struct us { struct uaudio_chan *ch = usbd_xfer_softc(xfer); struct usb_page_cache *pc; - uint64_t sample_rate = ch->usb_alt[ch->cur_alt].sample_rate; + uint64_t sample_rate; uint8_t buf[4]; uint64_t temp; int len; @@ -2017,6 +2020,8 @@ uaudio_chan_play_sync_callback(struct us temp *= 125ULL; + sample_rate = ch->usb_alt[ch->cur_alt].sample_rate; + /* auto adjust */ while (temp < (sample_rate - (sample_rate / 4))) temp *= 2; @@ -2024,35 +2029,17 @@ uaudio_chan_play_sync_callback(struct us while (temp > (sample_rate + (sample_rate / 2))) temp /= 2; - /* - * Some USB audio devices only report a sample rate - * different from the nominal one when they want one - * more or less sample. Make sure we catch this case - * by pulling the sample rate offset slowly towards - * zero if the reported value is equal to the sample - * rate. - */ - if (temp > sample_rate) - ch->feedback.constant += 1; - else if (temp < sample_rate) - ch->feedback.constant -= 1; - else if (ch->feedback.constant > 0) - ch->feedback.constant--; - else if (ch->feedback.constant < 0) - ch->feedback.constant++; - - DPRINTF("Comparing %d Hz :: %d Hz :: %d samples drift\n", - (int)temp, (int)sample_rate, (int)ch->feedback.constant); + DPRINTF("Comparing %d Hz :: %d Hz\n", + (int)temp, (int)sample_rate); /* - * Range check sync constant. We cannot change the - * number of samples per second by more than the value - * defined by "UAUDIO_IRQS": + * Use feedback value as fallback when there is no + * recording channel: */ - if (ch->feedback.constant > UAUDIO_IRQS) - ch->feedback.constant = UAUDIO_IRQS; - else if (ch->feedback.constant < -UAUDIO_IRQS) - ch->feedback.constant = -UAUDIO_IRQS; + if (ch->priv_sc->sc_rec_chan.num_alt == 0) + ch->jitter_curr = temp - sample_rate; + + ch->feedback_rate = temp; break; case USB_ST_SETUP: @@ -2066,43 +2053,98 @@ uaudio_chan_play_sync_callback(struct us } } +static int +uaudio_chan_is_async(struct uaudio_chan *ch, uint8_t alt) +{ + uint8_t attr = ch->usb_alt[alt].p_ed1->bmAttributes; + return (UE_GET_ISO_TYPE(attr) == UE_ISO_ASYNC); +} + static void uaudio_chan_play_callback(struct usb_xfer *xfer, usb_error_t error) { struct uaudio_chan *ch = usbd_xfer_softc(xfer); + struct uaudio_chan *ch_rec; struct usb_page_cache *pc; - uint32_t sample_size = ch->usb_alt[ch->cur_alt].sample_size; uint32_t mfl; uint32_t total; uint32_t blockcount; uint32_t n; uint32_t offset; + int sample_size; int actlen; int sumlen; - usbd_xfer_status(xfer, &actlen, &sumlen, NULL, NULL); - - if (ch->end == ch->start) { - DPRINTF("no buffer!\n"); + if (ch->running == 0 || ch->start == ch->end) { + DPRINTF("not running or no buffer!\n"); return; } + /* check if there is a record channel */ + if (ch->priv_sc->sc_rec_chan.num_alt > 0) + ch_rec = &ch->priv_sc->sc_rec_chan; + else + ch_rec = NULL; + + usbd_xfer_status(xfer, &actlen, &sumlen, NULL, NULL); + switch (USB_GET_STATE(xfer)) { + case USB_ST_SETUP: +tr_setup: + if (ch_rec != NULL) { + /* reset receive jitter counters */ + mtx_lock(ch_rec->pcm_mtx); + ch_rec->jitter_curr = 0; + ch_rec->jitter_rem = 0; + mtx_unlock(ch_rec->pcm_mtx); + } + + /* reset transmit jitter counters */ + ch->jitter_curr = 0; + ch->jitter_rem = 0; + + /* FALLTHROUGH */ case USB_ST_TRANSFERRED: -tr_transferred: if (actlen < sumlen) { DPRINTF("short transfer, " "%d of %d bytes\n", actlen, sumlen); } chn_intr(ch->pcm_ch); + /* + * Check for asynchronous playback endpoint and that + * the playback endpoint is properly configured: + */ + if (ch_rec != NULL && + uaudio_chan_is_async(ch, ch->cur_alt) != 0) { + mtx_lock(ch_rec->pcm_mtx); + if (ch_rec->cur_alt < ch_rec->num_alt) { + int64_t tx_jitter; + int64_t rx_rate; + + /* translate receive jitter into transmit jitter */ + tx_jitter = ch->usb_alt[ch->cur_alt].sample_rate; + tx_jitter = (tx_jitter * ch_rec->jitter_curr) + + ch->jitter_rem; + + /* reset receive jitter counters */ + ch_rec->jitter_curr = 0; + ch_rec->jitter_rem = 0; + + /* compute exact number of transmit jitter samples */ + rx_rate = ch_rec->usb_alt[ch_rec->cur_alt].sample_rate; + ch->jitter_curr += tx_jitter / rx_rate; + ch->jitter_rem = tx_jitter % rx_rate; + } + mtx_unlock(ch_rec->pcm_mtx); + } + /* start the SYNC transfer one time per second, if any */ - if (++(ch->feedback.time) >= UAUDIO_IRQS) { - ch->feedback.time = 0; + if (++(ch->intr_counter) >= UAUDIO_IRQS) { + ch->intr_counter = 0; usbd_transfer_start(ch->xfer[UAUDIO_NCHANBUFS]); } - case USB_ST_SETUP: mfl = usbd_xfer_max_framelen(xfer); if (ch->bytes_per_frame[1] > mfl) { @@ -2118,6 +2160,9 @@ tr_transferred: /* setup number of frames */ usbd_xfer_set_frames(xfer, blockcount); + /* get sample size */ + sample_size = ch->usb_alt[ch->cur_alt].sample_size; + /* reset total length */ total = 0; @@ -2133,31 +2178,23 @@ tr_transferred: frame_len = ch->bytes_per_frame[0]; } - if (n == (blockcount - 1)) { - /* - * Update sync remainder and check if - * we should transmit more or less - * data: - */ - ch->feedback.remainder += ch->feedback.constant; - if (ch->feedback.remainder >= UAUDIO_IRQS) { - ch->feedback.remainder -= UAUDIO_IRQS; - DPRINTFN(6, "sending one sample more\n"); - if ((frame_len + sample_size) <= mfl) - frame_len += sample_size; - } else if (ch->feedback.remainder <= -UAUDIO_IRQS) { - ch->feedback.remainder += UAUDIO_IRQS; - DPRINTFN(6, "sending one sample less\n"); - if (frame_len >= sample_size) - frame_len -= sample_size; - } + /* handle free running clock case */ + if (ch->jitter_curr > 0 && + (frame_len + sample_size) <= mfl) { + DPRINTFN(6, "sending one sample more\n"); + ch->jitter_curr--; + frame_len += sample_size; + } else if (ch->jitter_curr < 0 && + frame_len >= sample_size) { + DPRINTFN(6, "sending one sample less\n"); + ch->jitter_curr++; + frame_len -= sample_size; } - usbd_xfer_set_frame_len(xfer, n, frame_len); total += frame_len; } - DPRINTFN(6, "transfer %d bytes\n", total); + DPRINTFN(6, "transferring %d bytes\n", total); offset = 0; @@ -2165,28 +2202,25 @@ tr_transferred: while (total > 0) { n = (ch->end - ch->cur); - if (n > total) { + if (n > total) n = total; - } + usbd_copy_in(pc, offset, ch->cur, n); total -= n; ch->cur += n; offset += n; - if (ch->cur >= ch->end) { + if (ch->cur >= ch->end) ch->cur = ch->start; - } } - usbd_transfer_submit(xfer); break; default: /* Error */ - if (error == USB_ERR_CANCELLED) { - break; - } - goto tr_transferred; + if (error != USB_ERR_CANCELLED) + goto tr_setup; + break; } } @@ -2202,36 +2236,59 @@ uaudio_chan_record_callback(struct usb_x struct uaudio_chan *ch = usbd_xfer_softc(xfer); struct usb_page_cache *pc; uint32_t offset0; - uint32_t offset1; uint32_t mfl; int m; int n; int len; int actlen; int nframes; - int blockcount; - - usbd_xfer_status(xfer, &actlen, NULL, NULL, &nframes); - mfl = usbd_xfer_max_framelen(xfer); + int expected_bytes; + int sample_size; - if (ch->end == ch->start) { + if (ch->start == ch->end) { DPRINTF("no buffer!\n"); return; } + usbd_xfer_status(xfer, &actlen, NULL, NULL, &nframes); + mfl = usbd_xfer_max_framelen(xfer); + switch (USB_GET_STATE(xfer)) { case USB_ST_TRANSFERRED: - DPRINTFN(6, "transferred %d bytes\n", actlen); - offset0 = 0; pc = usbd_xfer_get_frame(xfer, 0); + /* try to compute the number of expected bytes */ + ch->sample_curr += (ch->sample_rem * ch->intr_frames); + + /* compute number of expected bytes */ + expected_bytes = (ch->intr_frames * ch->bytes_per_frame[0]) + + ((ch->sample_curr / ch->frames_per_second) * + (ch->bytes_per_frame[1] - ch->bytes_per_frame[0])); + + /* keep remainder */ + ch->sample_curr %= ch->frames_per_second; + + /* get current sample size */ + sample_size = ch->usb_alt[ch->cur_alt].sample_size; + for (n = 0; n != nframes; n++) { + uint32_t offset1 = offset0; - offset1 = offset0; len = usbd_xfer_frame_len(xfer, n); + /* make sure we only receive complete samples */ + len = len - (len % sample_size); + + /* subtract bytes received from expected payload */ + expected_bytes -= len; + + /* don't receive data when not ready */ + if (ch->running == 0 || ch->cur_alt != ch->set_alt) + continue; + + /* fill ring buffer with samples, if any */ while (len > 0) { m = (ch->end - ch->cur); @@ -2245,33 +2302,46 @@ uaudio_chan_record_callback(struct usb_x offset1 += m; ch->cur += m; - if (ch->cur >= ch->end) { + if (ch->cur >= ch->end) ch->cur = ch->start; - } } offset0 += mfl; } - chn_intr(ch->pcm_ch); + /* update current jitter */ + ch->jitter_curr -= (expected_bytes / sample_size); + + /* don't allow a huge amount of jitter to accumulate */ + nframes = 2 * ch->intr_frames; + + /* range check current jitter */ + if (ch->jitter_curr < -nframes) + ch->jitter_curr = -nframes; + else if (ch->jitter_curr > nframes) + ch->jitter_curr = nframes; + + DPRINTFN(6, "transferred %d bytes, jitter %d samples\n", + actlen, ch->jitter_curr); + + if (ch->running != 0) + chn_intr(ch->pcm_ch); case USB_ST_SETUP: tr_setup: - blockcount = ch->intr_frames; + nframes = ch->intr_frames; - usbd_xfer_set_frames(xfer, blockcount); - for (n = 0; n < blockcount; n++) { + usbd_xfer_set_frames(xfer, nframes); + for (n = 0; n != nframes; n++) usbd_xfer_set_frame_len(xfer, n, mfl); - } usbd_transfer_submit(xfer); break; default: /* Error */ - if (error == USB_ERR_CANCELLED) { - break; - } - goto tr_setup; + if (error != USB_ERR_CANCELLED) + goto tr_setup; + break; } } @@ -2344,13 +2414,7 @@ int uaudio_chan_set_param_blocksize(struct uaudio_chan *ch, uint32_t blocksize) { uint32_t temp = 2 * uaudio_get_buffer_size(ch, ch->set_alt); - sndbuf_setup(ch->pcm_buf, ch->buf, temp); - - ch->start = ch->buf; - ch->end = ch->buf + temp; - ch->cur = ch->buf; - return (temp / 2); } @@ -2364,8 +2428,11 @@ uaudio_chan_set_param_fragments(struct u int uaudio_chan_set_param_speed(struct uaudio_chan *ch, uint32_t speed) { + struct uaudio_softc *sc; uint8_t x; + sc = ch->priv_sc; + for (x = 0; x < ch->num_alt; x++) { if (ch->usb_alt[x].sample_rate < speed) { /* sample rate is too low */ @@ -2376,7 +2443,9 @@ uaudio_chan_set_param_speed(struct uaudi if (x != 0) x--; + usb_proc_explore_lock(sc->sc_udev); ch->set_alt = x; + usb_proc_explore_unlock(sc->sc_udev); DPRINTF("Selecting alt %d\n", (int)x); @@ -2447,16 +2516,16 @@ uaudio_chan_set_param_format(struct uaud return (0); } -int -uaudio_chan_start(struct uaudio_chan *ch) +static void +uaudio_chan_start_sub(struct uaudio_chan *ch) { struct uaudio_softc *sc = ch->priv_sc; int do_start = 0; - usb_proc_explore_lock(sc->sc_udev); if (ch->operation != CHAN_OP_DRAIN) { if (ch->cur_alt == ch->set_alt && - ch->operation == CHAN_OP_NONE) { + ch->operation == CHAN_OP_NONE && + mtx_owned(ch->pcm_mtx) != 0) { /* save doing the explore task */ do_start = 1; } else { @@ -2465,28 +2534,81 @@ uaudio_chan_start(struct uaudio_chan *ch &sc->sc_config_msg[0], &sc->sc_config_msg[1]); } } - usb_proc_explore_unlock(sc->sc_udev); - - /* reset feedback endpoint state */ - memset(&ch->feedback, 0, sizeof(ch->feedback)); - if (do_start) { usbd_transfer_start(ch->xfer[0]); usbd_transfer_start(ch->xfer[1]); } - return (0); } -int -uaudio_chan_stop(struct uaudio_chan *ch) +static int +uaudio_chan_need_both(struct uaudio_softc *sc) +{ + return (sc->sc_play_chan.num_alt > 0 && + sc->sc_play_chan.running != 0 && + uaudio_chan_is_async(&sc->sc_play_chan, + sc->sc_play_chan.set_alt) != 0 && + sc->sc_rec_chan.num_alt > 0 && + sc->sc_rec_chan.running == 0); +} + +static int +uaudio_chan_need_none(struct uaudio_softc *sc) +{ + return (sc->sc_play_chan.num_alt > 0 && + sc->sc_play_chan.running == 0 && + sc->sc_rec_chan.num_alt > 0 && + sc->sc_rec_chan.running == 0); +} + +void +uaudio_chan_start(struct uaudio_chan *ch) { struct uaudio_softc *sc = ch->priv_sc; - int do_stop = 0; + /* make operation atomic */ usb_proc_explore_lock(sc->sc_udev); + + /* check if not running */ + if (ch->running == 0) { + uint32_t temp; + + /* get current buffer size */ + temp = 2 * uaudio_get_buffer_size(ch, ch->set_alt); + + /* set running flag */ + ch->running = 1; + + /* ensure the hardware buffer is reset */ + ch->start = ch->buf; + ch->end = ch->buf + temp; + ch->cur = ch->buf; + + if (uaudio_chan_need_both(sc)) { + /* + * Start both endpoints because of need for + * jitter information: + */ + uaudio_chan_start_sub(&sc->sc_rec_chan); + uaudio_chan_start_sub(&sc->sc_play_chan); + } else { + uaudio_chan_start_sub(ch); + } + } + + /* exit atomic operation */ + usb_proc_explore_unlock(sc->sc_udev); +} + +static void +uaudio_chan_stop_sub(struct uaudio_chan *ch) +{ + struct uaudio_softc *sc = ch->priv_sc; + int do_stop = 0; + if (ch->operation != CHAN_OP_DRAIN) { if (ch->cur_alt == ch->set_alt && - ch->operation == CHAN_OP_NONE) { + ch->operation == CHAN_OP_NONE && + mtx_owned(ch->pcm_mtx) != 0) { /* save doing the explore task */ do_stop = 1; } else { @@ -2495,13 +2617,44 @@ uaudio_chan_stop(struct uaudio_chan *ch) &sc->sc_config_msg[0], &sc->sc_config_msg[1]); } } - usb_proc_explore_unlock(sc->sc_udev); - if (do_stop) { usbd_transfer_stop(ch->xfer[0]); usbd_transfer_stop(ch->xfer[1]); } - return (0); +} + +void +uaudio_chan_stop(struct uaudio_chan *ch) +{ + struct uaudio_softc *sc = ch->priv_sc; + + /* make operation atomic */ + usb_proc_explore_lock(sc->sc_udev); + + /* check if running */ + if (ch->running != 0) { + /* clear running flag */ + ch->running = 0; + + if (uaudio_chan_need_both(sc)) { + /* + * Leave the endpoints running because we need + * information about jitter! + */ + } else if (uaudio_chan_need_none(sc)) { + /* + * Stop both endpoints in case the one was used for + * jitter information: + */ + uaudio_chan_stop_sub(&sc->sc_rec_chan); + uaudio_chan_stop_sub(&sc->sc_play_chan); + } else { + uaudio_chan_stop_sub(ch); + } + } + + /* exit atomic operation */ + usb_proc_explore_unlock(sc->sc_udev); } /*========================================================================* Modified: stable/8/sys/dev/sound/usb/uaudio.h ============================================================================== --- stable/8/sys/dev/sound/usb/uaudio.h Wed Mar 25 13:16:39 2015 (r280594) +++ stable/8/sys/dev/sound/usb/uaudio.h Wed Mar 25 13:18:36 2015 (r280595) @@ -54,8 +54,8 @@ extern struct pcmchan_matrix *uaudio_cha uint32_t format); extern int uaudio_chan_set_param_format(struct uaudio_chan *ch, uint32_t format); -extern int uaudio_chan_start(struct uaudio_chan *ch); -extern int uaudio_chan_stop(struct uaudio_chan *ch); +extern void uaudio_chan_start(struct uaudio_chan *ch); +extern void uaudio_chan_stop(struct uaudio_chan *ch); extern int uaudio_mixer_init_sub(struct uaudio_softc *sc, struct snd_mixer *m); extern int uaudio_mixer_uninit_sub(struct uaudio_softc *sc); Modified: stable/8/sys/dev/sound/usb/uaudio_pcm.c ============================================================================== --- stable/8/sys/dev/sound/usb/uaudio_pcm.c Wed Mar 25 13:16:39 2015 (r280594) +++ stable/8/sys/dev/sound/usb/uaudio_pcm.c Wed Mar 25 13:18:36 2015 (r280595) @@ -81,14 +81,14 @@ ua_chan_setfragments(kobj_t obj, void *d static int ua_chan_trigger(kobj_t obj, void *data, int go) { - if (!PCMTRIG_COMMON(go)) { - return (0); - } - if (go == PCMTRIG_START) { - return (uaudio_chan_start(data)); - } else { - return (uaudio_chan_stop(data)); + if (PCMTRIG_COMMON(go)) { + if (go == PCMTRIG_START) { + uaudio_chan_start(data); + } else { + uaudio_chan_stop(data); + } } + return (0); } static uint32_t From gjb at FreeBSD.org Wed Mar 25 17:58:47 2015 From: gjb at FreeBSD.org (Glen Barber) Date: Wed, 25 Mar 2015 17:58:46 +0000 (UTC) Subject: svn commit: r280628 - in stable: 10/release/doc/share/xml 8/release/doc/share/xml 9/release/doc/share/xml Message-ID: <201503251758.t2PHwkOq009857@svn.freebsd.org> Author: gjb Date: Wed Mar 25 17:58:44 2015 New Revision: 280628 URL: https://svnweb.freebsd.org/changeset/base/280628 Log: Document SA-15:06. Sponsored by: The FreeBSD Foundation Modified: stable/8/release/doc/share/xml/security.xml Changes in other areas also in this revision: Modified: stable/10/release/doc/share/xml/security.xml stable/9/release/doc/share/xml/security.xml Modified: stable/8/release/doc/share/xml/security.xml ============================================================================== --- stable/8/release/doc/share/xml/security.xml Wed Mar 25 17:20:59 2015 (r280627) +++ stable/8/release/doc/share/xml/security.xml Wed Mar 25 17:58:44 2015 (r280628) @@ -231,6 +231,13 @@ Remote denial of service vulnerability + + + FreeBSD-SA-15:06.openssl + 19 March 2015 + Multiple vulnerabilities + From hselasky at FreeBSD.org Thu Mar 26 10:27:41 2015 From: hselasky at FreeBSD.org (Hans Petter Selasky) Date: Thu, 26 Mar 2015 10:27:40 +0000 (UTC) Subject: svn commit: r280683 - stable/8/share/man/man4 Message-ID: <201503261027.t2QARe88085965@svn.freebsd.org> Author: hselasky Date: Thu Mar 26 10:27:39 2015 New Revision: 280683 URL: https://svnweb.freebsd.org/changeset/base/280683 Log: MFC r280262 and r280263: Add more known bugs to the USB audio manual page. Modified: stable/8/share/man/man4/snd_uaudio.4 Directory Properties: stable/8/share/ (props changed) stable/8/share/man/ (props changed) stable/8/share/man/man4/ (props changed) Modified: stable/8/share/man/man4/snd_uaudio.4 ============================================================================== --- stable/8/share/man/man4/snd_uaudio.4 Thu Mar 26 10:26:25 2015 (r280682) +++ stable/8/share/man/man4/snd_uaudio.4 Thu Mar 26 10:27:39 2015 (r280683) @@ -36,7 +36,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 24, 2011 +.Dd March 19, 2015 .Dt SND_UAUDIO 4 .Os .Sh NAME @@ -98,12 +98,27 @@ by The .Tn PCM framework in -.Fx , -as of this writing, does not handle device un-registrations in a properly -abstracted manner, i.e., a detach request is refused by the -.Tn PCM -framework if the device is in use. -It is necessary to allow the device un-registration to complete -successfully, otherwise the +.Fx +only supports synchronous device detach. +That means all mixer and DSP character devices belonging to a given +USB audio device must be closed when receiving an error on a DSP read, +a DSP write or a DSP IOCTL request. +Else the USB audio driver will wait for this to happen, preventing +enumeration of new devices on the parenting USB controller. +.Pp +Some USB audio devices might refuse to work properly unless the sample +rate is configured the same for both recording and playback, even if +only simplex is used. +See the +.Va dev.pcm.%d.[play|rec].vchanrate +sysctls. +.Pp +The .Tn PCM -layer will panic. +framework in +.Fx +currently doesn't support the full set of USB audio mixer +controls. +Some mixer controls are only available as +.Va dev.pcm.%d.mixer +sysctls.