MFC r292337, r292552, r292553:
authorian <ian@FreeBSD.org>
Tue, 19 Jan 2016 23:36:49 +0000 (23:36 +0000)
committerian <ian@FreeBSD.org>
Tue, 19 Jan 2016 23:36:49 +0000 (23:36 +0000)
commit2651e6b1c65c3a49c9390393bd44d1fc1d428f42
treecc26d366f4adcf2eea35d63ffc8904941d69dcad
parent223081e0c89077309760cd2f5ce595677493432e
MFC r292337, r292552, r292553:

  Build mount_smbfs for arm.  Also sort the subdirs.

  Avoid unaligned memory accesses when encoding netbios names in libsmb.

  The current code for encoding a netbios name converts each byte to a 16-bit
  value and stores the result by casting a char* to u_short*, resulting in
  alignment faults on strict-alignment platforms.

  This change reimplements the encoding routine using only byte accesses to
  memory. There is no particular reason to work with 16-bit values just
  because the encoding process creates two bytes of output for every byte of
  input. Working a byte at at time also avoids endian problems for big-endian
  platforms.

  Make the building of libsmb and mount_smbfs unconditional, now that r292552
  has eliminated alignment and endian problems that were making it fail on
  some platforms.

PR:           180438
PR:           189415
Relnotes: Yes
contrib/smbfs/lib/smb/nb_name.c
lib/Makefile
usr.sbin/Makefile
usr.sbin/Makefile.amd64
usr.sbin/Makefile.arm
usr.sbin/Makefile.i386
usr.sbin/Makefile.ia64
usr.sbin/Makefile.powerpc
usr.sbin/Makefile.sparc64