Commit Graph

60 Commits

Author SHA1 Message Date
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
ngie
d6e7c68d6a Add #include <string.h> to mute warning from clang/gcc about implicitly
declaring strcmp(3)

MFC after: 1 month
Reported by: Jenkins
Sponsored by: EMC / Isilon Storage Division
2016-02-01 07:09:08 +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
brueffer
8be98708bc Assorted grammar, spelling and punctuation fixes.
PR:		203336, 203339
Submitted by:	espeyb@rpi.edu, themesta@gmail.com
MFC after:	1 week
2015-12-15 13:04:44 +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
trasz
4826dbd2da Make mount_smbfs(8) preserve the "automounted" mount flag.
The issue here is that we have to pass this flag as a string,
in iov, because it doesn't fit in mntflags, which is an int.

MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
2014-09-08 10:57:43 +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
0dd1d9c578 - Trim an unused and bogus Makefile for mount_smbfs.
- Reconnect with some minor modifications, in particular now selsocket()
internals are adapted to use sbintime units after recent'ish calloutng
switch.
2013-06-28 21:00:08 +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
delphij
55278d20da Bump .Dd date for previous revision.
Approved by:	re (follow up commit fixing trivial issue)
2011-09-17 22:53:05 +00:00
delphij
2f9fed0409 Change the example of using smbfs in fstab to a password-less one,
which is less likely to block a remote system from boot.

Submitted by:	Garrett Cooper <yanegomi@gmail.com>
PR:		doc/160775
MFC after:	1 month
Approved by:	re (kib)
2011-09-17 22:17:31 +00:00
yongari
8a4c5a38b7 shi1_remark is in little endian format, convert it to host ordering.
Also remove upper 16bits which always seem to be 0xFFFF. We don't
allocate more than 64KB buffer anyway.
This change make smbutil work on sparc64.

Reviewed by:	marius, bp
Approved by:	bp
2010-01-25 18:35:58 +00:00
trhodes
a1622264a5 Document the "-U" option. While it is not part of the
getopt(), it is accepted through smb_ctx_init() in
lib/smb/ctx.c.

PR:		117013
Submitted by:	Tom Evans <tevans.uk@googlemail.com> (original version)
2009-01-22 08:29:39 +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
danfe
d37d408499 Document default values for timeout and retry count.
Approved by:	fjoe
2007-06-16 07:01:15 +00:00
keramida
e57c6a567c Spell 'connection options' correctly.
Submitted by:	  Leonidas Tsampros <ltsampros@upnet.gr>
2006-08-11 12:35:22 +00:00
ru
8a2652d669 -mdoc sweep. 2005-11-18 10:56:28 +00:00
ru
4ece2f85e2 Unbreak on amd64. 2005-11-16 12:33:04 +00:00
rodrigc
3d724a19e4 Convert mount_smbfs to use nmount().
Reviewed by:	bp (smbfs maintainer)
2005-11-16 02:47:12 +00:00
trhodes
6ec08b5282 Quick kill links to the nsmb(8) manual page, there is no such
utility that I can find.
2005-11-01 21:16:39 +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
6cabd0f5c3 Fix get{w,d}{l,b}e, set{w,d}{l,b}e macros on big endian systems.
Obtained from:	NetBSD
2005-09-19 08:11:04 +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
imura
3dd597e54b Fix core dump when "smbutil lc".
OK'ed by:	bp
2005-07-28 22:35:38 +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
tjr
24d8f8ddce Correctly check the return value of kldload() to determine whether an
error occurred.
2004-09-05 06:42:51 +00:00
kan
6e16eb36f4 Do not use casts as lvalues. 2004-07-28 05:33:58 +00:00
bp
0303c434d1 Use correct location for nsmb.conf file.
PR:	misc/45273
2004-07-17 14:38:42 +00:00
mux
eb7afb3b32 Re-add the code to automatically load the smbfs.ko module if necessary.
We can't realy on the mount(2) system call to do it for us here because
smb_lib_init() needs the module and we call it before mount().  The old
code has been slightly modified to not use the getvfsent(3) API which
is now retired.

Noticed by:     many
2004-06-20 14:30:33 +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
mux
3be170ff31 Sync with other mount_*fs(8) utilities; we don't need to try to
load the smbfs module because the mount(2) syscall will do it
if it's needed.
2004-04-11 21:07:26 +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
52c7b39fff Remove the # ("stringify") operator from the printf() arguments in
the iprintf macro. It was causing the actual format string and
variable names to be written out, instead of substituting the values
of the variables into the format string.
2003-08-23 13:05:13 +00:00
simon
3001b66e9f - Correct the path to the dot.nsmbrc sample file.
- Add FreeBSD CVS tag.

PR:		docs/35649
Submitted by:	roam
Approved by:	ceri (mentor)
2003-07-31 11:50:01 +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
975f59894e Pass getvfsbyname() the address of a struct xvfsconf instead of
struct vfsconf. This silences a warning, but could also prevent
stack corruption problems if xvfsconf ever became larger than vfsconf.

PR:		53863
Submitted by:	Lukas Ertl
2003-07-20 11:27:54 +00:00
obrien
e249f6b9f2 The author wanted stringification, not concatenation. 2003-05-03 19:22:47 +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