@opntr opntr released this Jul 17, 2017 · 14291 commits to hardened/10-stable/master since this release

Assets 2

Warning: This is a security update!

Highlights:

  • HBSD: enforce FreeBSD and HardenedBSD KPI version for external modules (19eb04f)
  • MFC r320906: MFV r320905: Import Heimdal upstream fix for CVE-2017-11103. (b47deba) [FreeBSD-SA-17:05.heimdal]
  • Improved hbsd-update and hbsd-update-build
  • Improved NFSv4
  • Added Elastic Network Adapter (ENA) HAL
  • Added MAP_GUARD as solution against StackClash (c3699e9) [CVE-2017-1084]
  • *** [CVE-2017-1083]
  • Add VNC Authentication support for bhyve based on RFC6143 section 7.2.2. (3ea3add)
  • HBSD: fix broken pax_mprotect transitions (1904c84)
  • opBSD: plug the last memory protection test in paxtest (8341b1d)
  • HBSD MFC: Fix long standing issue in bsdconfig's keymap selection (b2d080f)

Changelog

M.Shirk (1):
      Updating hbsd-update-build to work with custom kernel configs.

Oliver Pinter (12):
      HBSD: add our second mirror: allbsd.org @Japan
      HBSD: use http instead of https in mirrorselect, since by default no certs are installed on installer
      HBSD: add our third mirror: de-01.installer.hardenedbsd.org @Germany
      HBSD MFC: Fix long standing issue in bsdconfig's keymap selection
      opBSD: plug the last memory protection test in paxtest
      HBSD: Bump __HardenedBSD_version to 47
      HBSD: Bump __HardenedBSD_version to 1100047
      Merge remote-tracking branch 'origin/freebsd/11-stable/master' into hardened/11-stable/master
      HBSD: fix merge conflict in sys/kern/imgact_elf.c after recent upstream changes
      HBSD: fix broken pax_mprotect transitions
      HBSD: enforce FreeBSD and HardenedBSD KPI version for external modules
      HBSD: bump __HardenedBSD_version to 1100048 after KPI enforcement

Oliver Pinter + (72):
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master
      Merge branch 'freebsd/11-stable/master' into hardened/11-stable/master

Shawn Webb (25):
      HBSD: Fix building with COMPAT_FREEBSD32
      HBSD: Harden the stack guard
      HBSD: style(9) fixes
      HBSD: Harden per-thread stack guard
      HBSD: Do not allow non-stack mappings between bottom-most limit of stack and the top of the stack
      HBSD: Return with proc unlocked
      HBSD: Randomize top of per-thread stacks
      Revert "HBSD: Randomize top of per-thread stacks"
      HBSD: Backout libthr stack guard hardening entirely
      Merge remote-tracking branch 'origin/freebsd/11-stable/master' into hardened/11-stable/master
      HBSD: Resolve merge conflict
      HBSD: Prevent foot shooting
      HBSD: style(9)
      Merge remote-tracking branch 'origin/freebsd/11-stable/master' into hardened/11-stable/master
      HBSD: Resolve merge conflict
      Merge remote-tracking branch 'origin/freebsd/11-stable/master' into hardened/11-stable/master
      HBSD: Resolve merge conflict
      HBSD: Bump copyright
      HBSD: Remove debugging code
      HBSD: Fix cross-build
      HBSD: Add option in hbsd-update to not apply kernel distset
      HBSD: Update passwd files with hbsd-update
      HBSD: Remove dead code
      HBSD: Fix hbsd-update-build
      HBSD: Provide better version detection

ae (2):
      MFC r319895:   Resurrect RTF_RNH_LOCKED flag and restore ability to call rtalloc1_fib()   with acquired RIB lock.
      MFC r320479:   Fix IPv6 extension header parsing. The length field doesn't include the   first 8 octets.

alc (8):
      MFC r318995   In r118390, the swap pager's approach to striping swap allocation over   multiple devices was changed.  However, swapoff_one() was not fully and   correctly converted.  In particular, with r118390's introduction of a per-   device blist, the maximum swap block size, "dmmax", became irrelevant to   swapoff_one()'s operation.  Moreover, swapoff_one() was performing out-of-   range operations on the per-device blist that were silently ignored by   blist_fill().
      MFC r319540   The data type returned by vmoff() is too narrow in its range.  This could   break the transmission of files longer than 4 GB on 32-bit architectures.
      MFC r314310   Refine the fix from r312954.  Specifically, add a new PDE-only flag,   PG_PROMOTED, that indicates whether lingering 4KB page mappings might   need to be flushed on a PDE change that restricts or destroys a 2MB   page mapping.  This flag allows the pmap to avoid range invalidations   that are both unnecessary and costly.
      MFC r315518   Avoid unnecessary calls to vm_map_protect() in elf_load_section().
      MFC r319605   The variable "breakout" is used like a Boolean, so actually define it as   one.
      MFC r320181   Eliminate an unused macro.
      MFC r320049   Pages that are passed to swap_pager_putpages() should already be fully   dirty.  Assert that they are fully dirty rather than redundantly calling   vm_page_dirty() on them.
      MFC r319699   When allocating swap blocks, if the available number of free blocks in a   subtree is already zero, then setting the "largest contiguous free block"   hint for that subtree to anything other than zero makes no sense.  (To be   clear, assigning a value to the hint that is too large is not a correctness   problem, only a pessimization.)

allanjude (4):
      MFC r319610:   usr.sbin/sesutil: correct 'locate all off' to deactivate empty slot LEDs
      MFC: r319866, r319867 	top: Change the way the ZFS ARC compression ratio is calculated 	remove overhead statistics, already included in other counters
      MFC: r319863 	bsdinstall: Make ZFS min_auto_ashift adjustment persistent
      MFC r320644: 	Add deprecation notices for all rcmd tools

andrew (1):
      MFC r320403, r320497

araujo (4):
      MFC r320390:
      MFC r319487-r319488, r319682, r319968, r319995
      MFC r319678:
      MFC r319969-r319970

asomers (6):
      MFC r318790, r319336
      MFC r319337:
      MFC r319900:
      MFC r319714, r319854
      MFC r320163:
      MFC r320165-r320167

avg (3):
      MFC r318867: fix vmxnet3 crash when LRO is enabled
      MFC r320259: jedec_ts: read device id from the correct register
      MFC r320353: linux_getdents, linux_readdir: fix mismatch between malloc and free tags

bdrewery (5):
      MFC r320012,r320028,r320061,r320118:
      MFC r319862,r319996,r320030:
      MFC r319861:
      MFC r320174,r320204:
      MFC r320206,r320207:

brooks (1):
      MFC r318968:

cperciva (4):
      MFC r31956[12]: Teach primes(6) to enumerate primes up to 2^64 - 1.
      MFC r319491:
      Fix up r320731: * Record mergeinfo for merges of r317518, r318647, r319197, r319198, r319199, r319201, r320625, r320626, r320628, r320629, r320630, r320631, r320632. * Merge r319200, which (commit message notwithstanding) seems to have gotten lost from the r320731 merge.
      MFC r318894: Enable Amazon's "Elastic Network Adapter" in EC2 AMIs.

cy (2):
      MFC r319962:
      MFC r320242, r320256:

davidcs (2):
      MFC r319964 Upgrade STORMFW to 8.30.0.0 and ecore version to 8.30.0.0 Add support for pci deviceID 0x8070 for QLE41xxx product line which supports 10GbE/25GbE/40GbE
      MFC r320175 Add pkts_cnt_oversized to stats.

dchagin (2):
      MFC r319057:
      MFC r320595:

delphij (7):
      MFC r319852:
      MFC r320183: Reduce code duplication in rpc.lockd.
      MFC r320216: Fix use-after-free introduced in r300388.
      MFC r320494: Fix double free by reverting r300385 and r300624 which was false positive reported by cppcheck.
      MFC r320093: Check return value of seteuid() and bail out if we fail.
      MFC r320665:
      MFC r320906: MFV r320905: Import upstream fix for CVE-2017-11103.

dexuan (1):
      MFC: 319690

emaste (5):
      MFC r317428 (cognet): fix arm64 MSI
      lld: Fix weak symbols on arm and aarch64
      bsdinstall: use consistent EFI configuration across platforms
      This update is primarily bug fixes in C++ symbol demangling, including:
      MFC r320069: Add ZFS to Linux statfs ftype

erj (1):
      MFC r316541, r316544, and r320688 from HEAD to stable/11.

eugen (1):
      MFC r310888:

gjb (14):
      MFC r319954:  Modernize FreeBSD version numbers in freebsd-update(8).  While here, expand a contraction to make textproc/igor happy.
      Update stable/11 to BETA2 as part of the 11.1-RELEASE cycle.
      Document r320088, default EFI partition size change.
      MFC r319942 (jhb):
      Fix units in the r320088 entry. [1] While here, move to a more appropriate section.
      Document r320218, primes(6) updated to new limit of 2^64-1. Document r320164, qlnxe(4) firmware and hardware support updates.
      Update stable/11 to BETA3 as part of the 11.1-RELEASE cycle.
      Fix an incorrect revision number.
      - Update stable/11 to 11.1-PRERELEASE for the duration of the   11.1-RELEASE cycle. - Reset __FreeBSD_version for 11.1-STABLE.
      MFC r320488:  Correct the branch naming convention in param.h.  While here, consistently use upper-case 'X' to represent the  version number.
      MFC r320599:  Fix Vagrant image upload after recent API changes.
      MFC r320748:  Allow passing NOPKG= to make(1) to enable the pkg-stage target  from getting executed when NOPKG is defined but empty.
      MFC r320785:  Connect ena(4) to the build.
      Document SA-17:05.heimdal, EN-17:06.hyperv

gnn (1):
      MFC 319803

grehan (3):
      MFC r311699
      MFC 313727, 317483   In addition, replace the missing caph	routines with small helper functions (bhyverun.c) or an open-coded replacement (uart_emul.c)
      MFC r317542, r317543, r317543

hselasky (3):
      MFC r319972: Use static device numbering instead of dynamic one when creating mlx4en network interfaces. This prevents infinite unit number growth typically when the mlx4en driver is used inside virtual machines which support runtime PCI attach and detach.
      MFC r319355: Minor code optimisation. Avoid locking the global CUSE lock when the polling flags are zero.
      MFC r320876: Make sure the mlx4en RX DMA ring gets stamped with software ownership in order to prevent the flow of QP to error in the firmware once UPDATE_QP is called.

jhb (5):
      MFC 318996: Add descriptions for AES-GCM IPSec authentication (AH) counters.
      MFC 319490: Remove stale cap_rights_get(2) manpage.
      MFC 319702: Fix an off-by-one error in the VM page array on some systems.
      MFC 320675: Add deprecation notices for gdb and kgdb.
      Add deprecation notices for various device drivers removed in 12.0.

jhibbits (3):
      MFC r317928
      MFC r320392:
      MFC r320489:

jkim (1):
      Null pointer must be checked before use.  This fixes a regression introduced in r318716.

jpaetzel (1):
      MFC 319670

ken (3):
      MFC r320123:
      MFC r320420:
      MFC r320421:

kib (34):
      MFC r319825: More accurately handle early EFER restoration on resume.
      MFC r319869: Decode recently added flags.
      MFC r319539: Mitigate several problems with the softdep_request_cleanup() on busy host.
      MFC r320034: Start a new sentence on the new line.
      MFC r320035: Move the description of kern.kq_calloutmax sysctl into a new paragraph for better presentation.
      MFC r319916: Remove stray return.
      MFC r319975: Some minor improvements to vnode_pager_generic_putpages().
      MFC r320038: Style.
      MFC r320051: Correct translations between abridged and full x87 tags.
      MFC r320052: Do not leak syslog_mutex on cancellation.
      MFC r320108: Allow negative aio_offset only for the read and write LIO ops on device nodes.
      MFC r320125: Fix batched unload for DMAR busdma in qi mode.
      MFC r320121: Ignore the P_SYSTEM process flag, and do not request VM_MAP_WIRE_SYSTEM mode when wiring the newly grown stack.
      MFC r320313: Fix typo.
      MFC r320314: Remove the description of MAP_HASSEMAPHORE.
      MFC r320307: Fix indent.
      MFC r320201: Assert that the protection of a new map entry is a subset of the max protection.
      MFC r320202: Call pmap_copy() only for map entries which have the backing object instantiated.
      MFC r320308: Translate between abridged and full x87 tags for compat32 ptrace(PT_GETFPREGS).
      MFC r320316: Do not try to unmark MAP_ENTRY_IN_TRANSITION marked by other thread.
      MFC r320332: Style.
      MFC r320422: Do not ignore an error from vm_mmap_object().
      Add MAP_GUARD and use it for stack grow area protection. Bump __FreeBSD_version.
      MFC r320318: Use address space guard to implement inter-segment gap.
      MFC r320570: Correct signatures of several pthreads stubs.
      MFC r320619: Resolve confusion between different error code spaces.
      MFC r320658: When reporting undefined symbol, note the version, if specified.
      MFC r320801: Simplify language.
      Restore layout of struct vm_map_entry, to restore layout of struct vm_map which embeds vm_map_entries.
      MFC r320843: Fix loop termination in vm_map_find_min().
      MFC r320755,r320762,r320893: BIT_FLS(9).
      MFC r320472,r320508,r320509: Make stdio deferred cancel-safe.
      MFC r320501: Correct fences for sys/refcount.h.
      MFC r320804: Fix handling of one more possible exception on return to usermode.

marius (1):
      MFC: r320577, r320620

markj (11):
      MFC r319932: Fix handling of subpage BIO_WRITE and BIO_DELETE requests on swap MDs.
      MFC r320124: Fix the !TD_IS_IDLETHREAD(curthread) locking assertions.
      MFC r320372: Fix a memory leak in ses_get_elm_devnames().
      MFC r309017 (partially): Omit v_cache_count when computing the number of free pages, since its value is always 0.
      MFC r303052: Make vm_pageout_wakeup_thresh a u_int rather than an int.
      MFC r320451: Complete support for the IO_APPEND flag in fuse.
      MFC r320690: Defer ACPI taskqueue creation to SI_SUB_KICK_SCHEDULER.
      MFC r312208, r312994: Optimize vm_object_madvise().
      MFC r311346, r311352, r313756: Add an allocator for KVA for execve arguments.
      Direct commit to fix a mismerge in r320797.
      MFC r311204: Add some missing atomic_*_ptr #defines for arm.

mckusick (1):
      MFC of 320176:

ngie (8):
      MFC r319634:
      MFC r319637:
      MFC r319626:
      MFC r318651:
      MFC r317179:
      Regenerate src.conf(5)
      MFC r317161:
      MFC r319455,r319456:

pfg (3):
      MFC r319676: patch: if reading fails, do not go into infinite loop asking for a filename.
      MFC r320079: ext2fs: Enable RO huge_file feature support.
      MFC r320408: ext2fs: Support e2di_uid_high and e2di_gid_high.

rgrimes (1):
      MFC r307517, r314342, r316357, r317545, r317777:

rmacklem (6):
      MFC: r319882, r320062, r320070, r320126 Make MAXBCACHEBUF a tunable called vfs.maxbcachebuf.
      MFC: r320208 Ensure that the credentials field of the NFSv4 client open structure is initialized.
      MFC: r320322 Add two new compound RPCs to the NFSv4.1/pNFS client.
      MFC: r320323 Add RPC count reporting for the two new RPCs added by r320322.
      MFC: r320345 Add support to the NFSv4.1/pNFS client for commits through the DS.
      MFC: r320458 Fix an NFSv3 client case that probably never happens.

sbruno (2):
      Direct commit to stable/11 to correctly setting the EIAC and IMS registers to the same values when processing interrupts.  This reverts a change made in r286831 that was not fully reverted in r311979
      MFC r320916

sephe (2):
      MFC 320184
      MFC 320490

tuexen (1):
      MFC r320263: Use a longer buffer for messages in ERROR chunks.

zbb (1):
      MFC r317518, r318647, r319197, r319198, r319199, r319200, r320625, r320626, r320628, r319201, r320629, r320630, r320631, r320632.

Installer images: http://installer.hardenedbsd.org/pub/HardenedBSD/releases/amd64/amd64/ISO-IMAGES/HardenedBSD-11-STABLE-v1100048/

CHECKSUM.SHA512:

SHA512 (HardenedBSD-11-STABLE-v1100048-amd64-bootonly.iso) = e1bd387e938eab7fbd091e15b7c9b32d6794482b508a97077e7869c294b350540d6b4e7d40387272100951a7b658fd822905b584b9d587af7d66fecc969bb996
SHA512 (HardenedBSD-11-STABLE-v1100048-amd64-disc1.iso) = 4610823277ec4cfb083381772a722912e57611fdea740725e06158144ef6298a14b225fb3ebc86b0904487a060ebc9d4dcfb610c85c9590a38c7c2a9112608cc
SHA512 (HardenedBSD-11-STABLE-v1100048-amd64-memstick.img) = d1821a696dd941a7942beeeeb16a85fe3ef123854b69ff2b7b3cd8aa2527abe5e3e6ca89dd7f8613dc8bb00614bd1777f05c03d27febd637c714c6e36b06cd8b
SHA512 (HardenedBSD-11-STABLE-v1100048-amd64-mini-memstick.img) = 8c83720aec219bce62566a6907e8739564eb3043020f641e029d16016330531ad5389441122e8c7a35375846062006714640e9d82728b3d96a88bc2a553e7154

CHECKSUM.SHA512.asc:

-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEu1M4jTvZiSgVy54wgZsRom/9GI0FAllsGL4ACgkQgZsRom/9
GI1b9RAAsVd7XPZdXlVU28lYB6zb6ItBeZsrWRLJUmH/DuTOa9Pc8eFJSLIRFM7e
jzBzOLKJ8xqtKIkNDTh0Rw8Pd02oU7sbT9Gf2teTLRZ251MWuW/xOpC7m8redpuM
sltO+R/6kA2fmh9fJlIlxUTiCCc2Zjnzzezb/qRYugusTjY2tZ/1Ywka8YIhQOF8
AGlkzs8uYP3WRja+9slrQQxN4sVUxvBBo7u4DdNMi6vT45K0RzFtEVOxtSeOtsn0
yDReeKKAqS/QcPJMabBuVX+DNAlhNX3QwKEalecLKx6TugpssZRe/w40hMfaBp/d
AwUBr/t26eShOtbaPMTWTNsvKWsnlxK2i3m9SIXJAqtXK1Tg9uYpPt4hql7/SdT0
9NkXOafZEW94qAE5xV4yHrJlTSvlY4P9+/wVXQEnvwJ/HqrYxri4tDADd3Cx/CSd
IgKbF5qjHbAQAEWF/r8vgsohgaCdr6df2iCcKjD1Qbz5BjAS9bzCKEJW74DgSZIZ
iFdYRTzppEXk1Xy1JqgycrBk6ktDP7hmOxSB/OxybP2MB11WnG4+GilKLwz71cKS
aaRBvGfIlxAJXpqMcTx6pNt+6XYo39IU97XsSItWg5uuwMaM7FX1egwEcdbikwCF
wwXoaBMSPnhur4OFpFfPFqGtcdvUPcwn3rnjxPDqgzEHMIiDzhY=
=4Zsv
-----END PGP SIGNATURE-----

shortlog-HardenedBSD-11-STABLE-v1100048.txt
CHECKSUM.SHA512.txt
CHECKSUM.SHA512.asc.txt