Commit Graph

88 Commits

Author SHA1 Message Date
jdolecek
d6eaa60e05 parenthesize NB_ENCNAMELEN value 2003-03-27 11:22:29 +00:00
jdolecek
78b50cb215 Receive packets in a small pieces (NB_SORECEIVE_CHUNK), so TCP slowstart will
get its ACKs faster.
From Darwin via FreeBSD.

XXX I don't have any idea if this is useful or reasonable, but it looks
XXX sane and the code works. "Remove if found nonuseful."
2003-03-24 18:08:51 +00:00
jdolecek
7ba3ded040 fix connecting to (samba) server when share-level security is in effect
(do not send second password at all)
from FreeBSD
2003-03-24 15:07:52 +00:00
jdolecek
01f94cf255 Implement support for mixed case passwords.
From Darwin via FreeBSD.

This will have some effect once the NetBSD iconv routines would
actually do something.
2003-03-24 15:03:58 +00:00
jdolecek
b55818f692 Use 'large' (64bit) readx and writex functions if server supports them.
This makes it possible to use files >4G.
From Darwin via FreeBSD, but changed so that smb_{read|write}() directly
calls appropriate i/o variant, and replaced md_get_uint16le() with
md_get_uint16() for target == NULL cases.

Replace some size_t's by int's.
2003-03-24 14:24:14 +00:00
jdolecek
fbfa48d0a9 make smb_smb_read() and smb_smb_write() return EFBIG if offset is
at or beyond 4G - this interface supports 32bit offset only
2003-03-24 14:11:32 +00:00
jdolecek
de3ee118b5 map ERRDOS/ERRnotlocked to EBUSY 2003-03-24 10:05:43 +00:00
jdolecek
6e843721e9 don't access (u_int32_t *) as (u_int16_t *), this fails on BE machines -
use temporary variable to fetch the 16bit value instead
remove some redundant temporaries, use NULL for those md_get_*() calls instead
make sv_sm 16bit - it is 16bit in later SMB dialects
2003-03-24 09:17:52 +00:00
jdolecek
6d65835e70 one more rename - ERRbaddevice -> ERRnoipc 2003-03-24 08:56:21 +00:00
jdolecek
2b08f4a53d fix some typos. from FreeBSD 2003-03-24 08:42:31 +00:00
jdolecek
3c34ce99af Add more constants for future use in kernel and userland.
From Darwin via FreeBSD smb.h rev. 1.6

This renames some constants added in NetBSD smb.h rev 1.6 - smb_subr.c
adjusted
2003-03-24 08:39:17 +00:00
jdolecek
a266be64dc Recongnize more error codes returned by W2K servers.
From FreeBSD
2003-03-24 08:20:01 +00:00
jdolecek
fd9fac7cc2 spelling fixes, add SMB_SET_FILE_END_OF_FILE_INFO subfunction for
future use
from FreeBSD rev. 1.3, 1.4
2003-03-24 08:03:40 +00:00
jdolecek
f0b60803a5 fix pasto in smb_t2_request() - t2_flags use SMBT2_RESTART, not SMBR_RESTART 2003-03-24 07:51:04 +00:00
jdolecek
41b5582182 iod_pingtimo is unused, #if 0
iod_sleeptimo is set to same value always, so use the value directly
and #if 0 iod_sleeptimo

add one smb_iod_wakeup() in smb_iod_sendrq()
XXX unfortunately iod thread still must wakeup periodically to check
XXX for arriving replies - command latency might be improved if this could
XXX be avoided
2003-03-24 07:49:48 +00:00
jdolecek
850f5b36ec Add unicode related definition for future use. Descibe Samba bug.
From Darwin via FreeBSD rev. 1.4
2003-03-24 07:40:50 +00:00
jdolecek
037635c879 spelling fixes.
From FreeBSD rev. 1.4

Add unicode related definition for future use.
From Darwin via FreeBSD rev. 1.5
2003-03-24 07:38:54 +00:00
jdolecek
5cc8e19b22 drop trailing $ added to FreeBSD RCS Id in last rev by mistake 2003-03-24 07:36:36 +00:00
jdolecek
0b6415076c Remove redundant checks for iovcnt > 1. This should be handled properly
in the subr_mchain.
From Darwin via FreeBSD smb_smb.c rev. 1.5

g/c bogus 'olduio' save/restore, it's not needed
2003-03-24 07:24:02 +00:00
jdolecek
5e1aff13f2 Pullup FreeBSD rev. 1.3 of this file - support for iovcnt greater than
1 in mb_put_uio(), mb_get_uio()
2003-03-24 07:09:34 +00:00
jdolecek
568fd88386 struct smb_rq diet - g/c unused structure members, and move some stuff
around to not waste space with alignment padding
2003-03-23 16:57:51 +00:00
jdolecek
b05cd2b635 translate ERRDOS/ERRnofiles to ENOENT in smb_maperror(), and simplify
handling in smbfs_smb_search() appropriately - avoids using
sr_errclass&sr_serror too
2003-03-23 16:55:54 +00:00
jdolecek
4e2b57cec2 don't use rqp->{sr_errclass|sr_serror} - use the translated error
number instead
g/c SMB_DIALECT_MAX, it's not used
2003-03-23 16:51:52 +00:00
jdolecek
4a53d44e24 md_get_uint16le() doesn't like NULL target; change to md_get_uint16() 2003-03-23 16:46:41 +00:00
jdolecek
0e82a29d7a remove unused struct members from struct smbioc_rq 2003-03-23 12:17:49 +00:00
jdolecek
3eecb88b32 smb_rq_reply():
* no need to use dummy variables for md_get_*(), just use NULL
* don't bother storing rpflags/rpflags2, it's not used anywhere
* g/c local variable rperror
2003-03-23 11:43:09 +00:00
jdolecek
aee3251066 use 'NetBSD' for client OS string 2003-03-23 10:52:03 +00:00
jdolecek
14e421e6b0 constify smb_share_typename() 2003-03-23 10:38:14 +00:00
jdolecek
fa1e2856c7 use simpleq instead of tailq for iod_rqlist - simpleq is enough
for our needs here
2003-03-23 10:32:05 +00:00
jdolecek
f6f096034a Compute the request timeout time in smb_iod_sendrq() when the request is
sent out, use mono_time instead microtime(), and simplify computation
in smb_iod_sendall(). Also count the timout once, not twice as previous code.

#if 0 iod->iod_lastrqsent, it was write-only
2003-03-23 10:01:31 +00:00
jdolecek
3a7bb2ccf1 smb_rq_new(): use MB_MZERO instead of MB_MSYSTEM+dummy tzero[] 2003-03-23 08:30:37 +00:00
jdolecek
9b7005c79d g/c some non-NetBSD code 2003-03-23 08:28:06 +00:00
kristerw
3a7b34238b The implementation of the try/catch functionality uses two gcc extensions
that our lint does not understand.

One of these extensions (local labels) is needed only when using multiple
try/catch blocks within a function, and the comment before these macros
say that they should be used only once per function so that the implementaton
may be portable.

The other extension (taking the address of a label) is not needed at all.

Remove the use of the extensions.
2003-03-15 02:54:24 +00:00
kristerw
6c096545e5 ISO C requires a statement after a label. 2003-03-15 02:11:43 +00:00
jdolecek
ede214240b #if 0 or g/c unused stuff
pointed out by Krister Walfridsson
2003-03-03 21:16:02 +00:00
jdolecek
8984cf4564 add couple more SMB constants and explanation texts 2003-03-02 18:55:48 +00:00
jdolecek
d67d6bee01 M_TRYWAIT -> M_WAIT
MGET() -> m_get()
MCLGET() -> m_clget()
c_caddr_t -> const char *
2003-02-26 21:50:15 +00:00
jdolecek
4f88b74062 improve tsleep() wmesgs 2003-02-26 19:31:33 +00:00
jdolecek
11c209aa83 prefix tsleep() wmesg with 'smb', rather than '90'
drop #ifndef __NetBSD__ msleep() code, it only obfuscates the code
2003-02-26 19:30:51 +00:00
jdolecek
2c8e39ef8f need to include <sys/mbuf.h> for M_SONAME 2003-02-26 11:12:28 +00:00
matt
65e5548a17 Add MBUFTRACE kernel option.
Do a little mbuf rework while here.  Change all uses of MGET*(*, M_WAIT, *)
to m_get*(M_WAIT, *).  These are not performance critical and making them
call m_get saves considerable space.  Add m_clget analogue of MCLGET and
make corresponding change for M_WAIT uses.
Modify netinet, gem, fxp, tulip, nfs to support MBUFTRACE.
Begin to change netstat to use sysctl.
2003-02-26 06:31:08 +00:00
jdolecek
e1ea74dfac add __KERNEL_RCSID 2003-02-25 09:12:11 +00:00
jdolecek
c672cc0379 make sure sr_bcount, sr_rqtid and sr_rquid are wrote in alignment-safe way
problem pointed out by Martin Husemann

while here, turn some checks/SMBERROR()s to #ifdef DIAGNOSTIC panic()s
2003-02-24 21:13:13 +00:00
jdolecek
695a1f63b5 const-poison a bit 2003-02-24 19:32:16 +00:00
jdolecek
9a9493a698 make M_SMBRQ static 2003-02-24 19:31:45 +00:00
briggs
9a152e34ad Define smb_co_lockstatus iff DEBUG || DIAGNOSTIC. 2003-02-24 16:12:08 +00:00
jdolecek
31a056fdaf clarify locking requirements for smb_{share,vc,co}_{rele,put}() - the lock
must be held on entry
drain the lock in smb_co_gone(), so that it's done always
turn some SMBERROR()s to #ifdef DIAGNOSTIC/DEBUG panics
2003-02-24 09:55:37 +00:00
jdolecek
ebc50c199c simplify nbssn_rselect() some more 2003-02-21 21:12:24 +00:00
jdolecek
aaaa0b09ac rewrite nbssn_rselect() to resemple sys_select() more (as was the
intent); besides being reable now, this fixes (several!) bugs in
timeout calculation, which caused nbssn_rselect() to return
prematurely

put the timeout in separate variable declared on top, so that it's clear
where the value comes from

don't adjust timeout in smb_nbst_connect() - this made the timeout
too short if connect happened to be fast
(XXX perhaps reevaluate this later and put back in some other form)

bump NB_SNDQ/NB_RCVQ to 64k, and actually use the defines to set
snd/rcv buffer sizes

use #define for the snd/rcv timeo

some whitespace/KNF fixes
2003-02-21 20:12:05 +00:00
jdolecek
85f22d966f simlify smb_proc_intr() - p_siglist never contains signals from
p_sigmask or p_sigignore, so no point explicitly removing them

also kill some compatibility macros/defines and use the real thing directly,
it's more readable that way
2003-02-21 19:55:14 +00:00