Commit Graph

32 Commits

Author SHA1 Message Date
arrowd
5cbf51da2a mount_smbfs: Issue a warning when .nsmbrc section name contains lowercase characters.
PR:		231656
Approved by:	bapt
MFC after:	3 days
Differential Revision:	https://reviews.freebsd.org/D22289
2020-01-03 12:54:14 +00:00
brooks
bf0e2ca510 Fix a stack overflow in mount_smbfs when hostname is too long.
The local hostname was blindly copied into the to the nn_name array.
When the hostname exceeded 16 bytes, it would overflow.  Truncate the
hostname to 15 bytes plus a 0 terminator which is the "workstation name"
suffix.

Use defensive strlcpy() when filling nn_name in all cases.

PR:		228354
Reported by:	donald.buchholz@intel.com
Reviewed by:	jpaetzel,  ian (prior version)
Discussed with:	Security Officer (gtetlow)
MFC after:	3 days
Security:	Stack overflow with the hostname.
Sponsored by:	DARPA, AFRL
Differential Revision:	https://reviews.freebsd.org/D15936
2018-06-25 16:42:49 +00:00
jpaetzel
3c89323b86 Fix SMBFS when saved passwords are greater than 18 characters
PR:	132302
Submitted by:	dhorn2000@gmail.com guru@unixarea.de
MFC after:	1 week
2017-06-08 00:48:26 +00:00
ian
1a16baceaa 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.

PR:		180438
PR:		189415
Differential Revision:	https://reviews.freebsd.org/D4622
2015-12-21 17:17:00 +00:00
tijl
b0813ee288 Remove the const qualifier from iconv(3) to comply with POSIX:
http://pubs.opengroup.org/onlinepubs/9699919799/functions/iconv.html

Adjust all code that calls iconv.

PR:		199099
Exp-run by:	antoine
MFC after:	2 weeks
2015-04-15 09:09:20 +00:00
trasz
7105bcbd70 Make it possible to use empty user name ("-U ''") for mount_smbfs(8).
It's just like "-U guest", except that it actually works, at least
with Samba 4, which seems to return authentication failure for "-U guest".

MFC after:	1 month
Sponsored by:	The FreeBSD Foundation
2014-09-08 11:01:57 +00:00
glebius
0cc3d4a1dd Just disable recoding support in libsmb if built WITHOUT_ICONV. 2013-11-12 15:09:28 +00:00
glebius
2967834945 Use system libiconv, instead of trying to dlopen() it.
PR:		183153
Submitted by:	Dominic Fandrey <kamikaze bsdforen.de>
2013-11-09 14:48:50 +00:00
davide
49171951e3 Completely rewrite the interface to smbdev switching from dev_clone
to cdevpriv(9). This commit changes the semantic of mount_smbfs
in userland as well, which now passes file descriptor in order to
to mount a specific filesystem istance.

Reviewed by:	attilio, ed
Tested by:	martymac
2013-05-04 14:03:18 +00:00
rwatson
b563afb164 When encoding an smb name, truncate one byte earlier in order than we did
previously in order to ensure it fit properly in the bufer when encoded.
This prevents a debugging printf from firing if a source or destination
host name for an smb mount exceeds 15 characters.

MFC after:	3 days
Obtained from:	Apple, Inc.
2008-11-02 19:48:15 +00:00
bp
0d80e85872 Allow user to override default port numbers used by communication
protocols.  This is very useful for tunneled SMB connections.

MFC after:	4 weeks
2005-10-02 08:32:49 +00:00
imura
198a538571 Remove macros
htole{s,l,q}, letoh{s,l,q},  htobe{s,l,q}, betoh{s,l,q}
and replace it with more standard byteorder macros in our system.
2005-09-19 08:07:18 +00:00
imura
a32dd5a151 - Fix checking range of strings of struct iconv_add_in in libsmb and libkiconv,
- Add checking range of strings to iconv_sysctl_add().

Submitted by:	Rudolf Cejka
2005-08-24 12:38:26 +00:00
imura
5a67019bb8 Tell nls_setlocale() the very locale name from command line option,
rather than using optarg variable which would be allways NULL.
2005-08-07 08:46:56 +00:00
imura
b1a3558c87 Correct argument order of kiconv_add_xlat16_cspairs().
Security:
2005-07-29 14:56:16 +00:00
takawata
a61ec3d816 Make smbfs capable to use 16bit char set in filenames.
PR:78110
2005-05-04 15:05:46 +00:00
obrien
bc2aa7d2c0 + Get prototypes for libc functions.
+ Use the correct printf format for size_t.
2004-10-19 17:44:31 +00:00
obrien
d3916bf95c Size matters. Correctly use a size_t so 64-bit hosts can mount SMB FS's
when using character set conversions.
Also include POSIX <string.h> vs. BSD <strings.h> now that we've broken
traditional BSD behavior [and compatibility with our BSD brethren].

PR:		72445
Submitted by:	Vladimir Nechitailo <nechit@lpi.ru>
Patch by:	Stasys Smailys <ssmailys@komvista.lt>
2004-10-19 17:39:15 +00:00
kan
6e16eb36f4 Do not use casts as lvalues. 2004-07-28 05:33:58 +00:00
le
afcd053aa6 Fine-tune the last change even more and use the return value as error
indicator, as it is expected.

Spotted by: Christoph Mallon <christoph.mallon@gmx.de>
2004-06-19 19:03:01 +00:00
le
ac0b4e6f1f Don't return NULL when the function is defined to return an integer.
OK'ed by: tjr
2004-06-19 10:09:44 +00:00
tjr
3dc2c6ac8e Merge from NetBSD rev. 1.3 (drochner): Use getifaddrs(3) instead of
SIOCGIFCONF.
2004-02-26 08:49:19 +00:00
tjr
f66bd5e23b Merge from NetBSD rev. 1.2 (drochner): Do the address calculations inside
the data delivered by SIOCGIFCONF correctly (this isn't a plain array!),
and sort the checks a bit to avoid duplicates in the interface list.
2004-01-28 05:55:13 +00:00
tjr
84b3f90e1d Fix some off-by-one errors dealing with limits of server names,
usernames, workgroup names and passwords. We can now connect to
servers with 15-character NetBIOS names. (Some versions of Windows
use semi-random 15-char names by default.)

PR:		46902
2003-07-27 11:41:38 +00:00
peter
8f2d8640ee Fixes for 64 bit cleanliness. The length arg to sysctl is a pointer to
size_t not int.

Reviewed by:	bp
2003-07-26 04:03:18 +00:00
peter
b39888292e Use #include <string.h> rather than <strings.h> so that the strdup()
prototype gets brought into scope.  This is a big deal for 64 bit
systems where the default return value of 'int' is != pointer.

Reviewed by:	bp
2003-07-26 04:02:22 +00:00
tjr
aebe69bef3 Fix a typo in the -O parsing code that caused a crash when the -O option
is used without supplying "sowner:sgroup".

Obtained from:	NetBSD (jdolecek)
PR:		37171
2003-04-12 12:11:14 +00:00
bp
558db90d74 Import smbfs 1.4.5. This release intended to fix problem with iconv
library.

MFC after:	1 week
2002-07-22 09:50:09 +00:00
sheldonh
fbe39dfcc2 Import smbfs-1.4.4. 2002-04-22 16:15:20 +00:00
sheldonh
e408bb5856 Import smbfs-1.4.3. 2001-12-26 15:35:10 +00:00
sheldonh
48de1f540d Import smbfs-1.4.2. 2001-12-20 16:16:25 +00:00
sheldonh
4e260b134f Import smbfs-1.4.1.
This is Boris Popov's SMB/CIFS file system implementation for FreeBSD.

Obtained from:	Boris Popov via ftp://ftp.butya.kz/pub/smbfs/
2001-12-14 11:06:03 +00:00