Age | Commit message (Collapse) | Author | Files | Lines |
|
new internal string stuff. The main problem is that some unicode strings
are null terminated and some aren't. There's no rhyme or reason to it -
some pipes have 99% of the strings terminated and some have 99%
unterminated. To avoid having to actually know the termination policy, I
propose a set of functions that take a UNISTR2* and use the length
contained there.
Added rpcstr_pull_unistr2_string() function to convert a unicode string of
dubious termination to a fstring.
(This used to be commit e5b62b4961769e45bc377be6180ca61ef5f6c22e)
|
|
(This used to be commit 1436c9f424abbac2752e952172ddbdf15ec73f91)
|
|
(This used to be commit f4359b5f7ff891d7fcb5772b589756376ae5d412)
|
|
(This used to be commit d39d8429d1cb8a976022ae92a1ce551f7d876aff)
|
|
This commit gets rid of all our old codepage handling and replaces it with
iconv. All internal strings in Samba are now in "unix" charset, which may
be multi-byte. See internals.doc and my posting to samba-technical for
a more complete explanation.
(This used to be commit debb471267960e56005a741817ebd227ecfc512a)
|
|
fix for the problem.
Jeremy.
(This used to be commit e059fffd03a1382fb2b7059b6de369d9fc765a17)
|
|
but the code suffered from bitrot and is not now reentrant. That means
we can get bizarre behaviour
i've fixed this by making next_token() reentrant and creating a
next_token_nr() that is a small non-reentrant wrapper for those lumps
of code (mostly smbclient) that have come to rely on the non-reentrant
behaviour
(This used to be commit 674ee2f1d12b0afc164a9e9072758fd1c5e54df7)
|
|
problems.
Jeremy.
(This used to be commit 24eea8a309ff0151277b9537a5c00321041e70d3)
|
|
Jeremy.
(This used to be commit 94747b4639ed9b19f7d0fb896e43aa392a84989a)
|
|
Jeremy.
(This used to be commit 28a0bc5f5710aa732db662caa38f9da2138b5db2)
|
|
Jeremy.
(This used to be commit e7ecb9410ff2e4fcd33bca9f82e14c060590942a)
|
|
except in my code so I know this is safe.
otherwise unicode client lib doesn't work on big-endian hosts
(This used to be commit 18ede716d10de1ac774cca82b4b8ff5ea1a9650d)
|
|
I've currently got this code disabled by default as it is
incomplete. You enable it by setting a USE_UNICODE environment
variable. Once the support is complete this check will be removed and
the CAP_UNICODE capability bit will be the sole determination of
whether the client library code uses unicode
right now I have converted session_setup and tconx. I will do more fns
over the next few days.
see clistr.c for the new client side string interface. Luckily it
tends to make the code smaller and neater while adding unicode
support.
(This used to be commit e1a04e621f1c28d8e6e543d43741ca0272e2237f)
|
|
Jeremy.
(This used to be commit 56a93567a106f25e87df093e1861f6bdd1d3196a)
|
|
Jeremy.
(This used to be commit a83702c99f1ecd6e68f8c178b20823fce6d4c6c6)
|
|
function.
lib/util_unistr.c: Check lengths *before* reading source - prevent uninitialised
memory reads.
Jeremy.
(This used to be commit ce4f461965c872fbfc9fe5f6b98aed58bb3dd67a)
|
|
rewrote unistr2_to_ascii() to correct a bug seen on SGI boxes.
rpc_parse/parse_misc.c:
rpc_parse/parse_prs.c:
rewrote of BUFFER5 handling to NOT byteswap when it was already in
network byte order.
rpc_parse/parse_samr.c:
cleanup of samr_io_q_lookup_domain(), remove the over-parsing by 2
bytes.
rpc_server/srv_lsa.c:
UNISTR2 strings need to be NULL terminated to pleased W2K.
rpc_server/srv_spoolss_nt.c:
use snprintf instead of safe_strcpy as we want the string
truncated at 32 chars.
That should fix SUN and SGI box not able to act as printserver and the
problem with joining from a W2K wks.
J.F.
(This used to be commit 69fe739303b105f2c488f266f13977da1b6b201d)
|
|
Found by Joseph Cheek <joseph@cheek.com>
(This used to be commit ec74fdc631fbd5f0b5450df02acb9cd98c153823)
|
|
JF :-).
Jeremy.
(This used to be commit 443293a06530d0a5421b39d9a6a224d6ae316bd3)
|
|
Jeremy.
(This used to be commit d131ad1ce3f6e72e295f865a463f8dcbfa6f8d42)
|
|
mkdir high bits patch from Robert Dahlem" <Robert.Dahlem@gmx.net>.
jeremy.
(This used to be commit b40191d27180ab1e59935086073c4d312552f717)
|
|
jerry
(This used to be commit 8e95aae1709a9be28d6e25ff6f0fdc729dc09274)
|
|
jerry
(This used to be commit cfa4c878a2ccaf346940f8f4a201737e185f76d6)
|
|
* fixes some readline bugs from the merge
* first attempt at commands (spoolenum almost works)
* no changes to existing functions in HEAD; only additions
of new functions. I'll weed out what I can as I go.
--jerry
(This used to be commit 61d2aad5dc2b212b11c981f1eca47efa627e9fc8)
|
|
jreilly@hp.com.
Memory leak fix for new sec_ctx code (sorry Tim :-).
Jeremy.
(This used to be commit edaf49c66d5a5ccf6689b358c301e208599a468f)
|
|
Removed unistr_to_ascii() as it was never used.
printing/nt_printing.c: Removed "DUMMY.XX" files.
rpc_server/srv_spoolss_nt.c: Use dos_PutUniCode() instead of ascii_to_unistr().
Attempted to fix the "return value" size code based on J.F's
comments. This needs looking at.
Jeremy.
(This used to be commit de99011bf3b2a23bd1854a047382a107aaeb9c68)
|
|
Added patches for random -> sys_random.
Added set_effective_xxx patches for AFS code.
Memory allocation changes in spoolss code.
Jeremy.
(This used to be commit c2099cfb033c2cdb6035f4f7f50ce21b98e1584d)
|
|
(This used to be commit f46c4fe876a0cabe7044ca30c17e6c217d618635)
|
|
characters to one or more DOS codepage characters.
Jeremy.
(This used to be commit eefbfb5e16fcf40f335edc840a49f837f6b64111)
|
|
libsmb/clilist.c:
rpc_server/srv_spoolss_nt.c:
smbd/trans2.c: Changed unistr_to_ascii to unistr_to_dos - do codepage conversion.
msdfs/msdfs.c: Removed stub unistr_to_dos.
libsmb/pwd_cache.c: Removed obfuscation functions as they don't do anything and
don't add any security.
Jeremy.
(This used to be commit 1ed146467e764e6a81d8f78cd58fb5765ebf5d21)
|
|
call to ms_fnmatch(). This also removes all the Win9X semantics stuff
and a bunch of other associated cruft.
- moved the stat cache code into statcache.c
- fixed the uint16 alignment requirements of ascii_to_unistr() and
unistr_to_ascii()
- trans2 SMB_FIND_FILE_BOTH_DIRECTORY_INFO returns the short name as
unicode always (at least thats what NT4 does)
- fixed some errors in the in-memory tdb code. Still ugly, but doesn't
crash as much
(This used to be commit 03e9cea004bbba72161a5323cf3b4556c94aed8e)
|
|
new open mechanism Andrew & I discussed.
config.sub:
configure: Included the QNX patch.
include/vfs.h:
smbd/vfs-wrap.c:
smbd/vfs.c: Added ftruncate vfs call (needed).
Note that we will also need locking calls in the vfs (to be added).
lib/util_unistr.c:
nmbd/nmbd_processlogon.c: Fix for NT domain logons causing nmbd to core dump.
Also fix for sidsize DOS bug.
locking/locking.c: Check value of ret before using it for memdup.
printing/printing.c: Convert print_fsp_open to return an allocated fsp.
rpc_server/srv_lsa.c: Fix for NT domain logons.
I have removed all use of lp_share_modes() from the code (although I
left the parameter in the table for backwards compatibility). It no longer makes
sense for this to exist.
smbd/close.c: Removed lp_share_modes().
smbd/fileio.c: Fixed parameters to unlock_share_entry call in panic code.
smbd/files.c: Correctly set the unix_ERR_code to ERRnofids on fsp allocation fail.
smbd/nttrans.c:
smbd/reply.c:
smbd/trans2.c: Changed all occurrences of open_file_shared/open_directory/
open_file_stat to return an fsp from the call.
smbd/open.c: Changed all occurrences of open_file_shared/open_directory/
open_file_stat to return an fsp from the call.
In addition I have fixed a long standing race condition in the deny mode
processing w.r.t. two smbd's creating a file. Andrew, please note that
your original idea of using open with O_EXCL in this case would not work
(I went over the races very carefully) and so we must re-check deny modes
*after* the open() call returns. This is because there is a race between
the open with O_EXCL and the lock of the share mode entry. Imagine the
case where the first smbd does the open with O_EXCL and a deny mode of DENY_ALL,
but is pre-empted before it locks the share modes and creates the deny
mode entry for DENY_ALL. A second smbd could then come in with O_RDONLY
and a deny mode of DENY_NONE and the two opens would be allowed.
The *only* way to fix this race is to lock the share modes after the
open and then do the deny mode checks *after* this lock in the case
where the file did not originally exist.
This code will need extensive testing but seems to initially work.
Jeremy.
(This used to be commit ab0ecc39d688f16b9692fe90b991f0b89287070a)
|
|
(This used to be commit a82a5acff2ad2120f5480f0cb08550e95d80c59e)
|
|
3MB to 250k.
I split the table into 3 sections, after noticing that 5/6 of the
table was empty.
(This used to be commit c1496736bbdb7f6bf1eb43a54f883e5f41a4d39e)
|
|
TNG
out unicode string handling functions need a lot of work
(This used to be commit 707401fc1e697362cdaadcfaac4edc964b80b1a0)
|
|
the previous definition could result is us overflowing a buffer. The
null termination was always added yet the size returned did not
include the null termination.
the new function takes a BOOL null_terminate, and always returns the
total number of bytes consumed by the string.
(This used to be commit 426c90433396a95033eefcc4af97603abc934221)
|
|
secure file create.
Jeremy.
(This used to be commit 90134dd13721f60d4fb05ce9434b65e95ff09629)
|
|
include/byteorder.h: Added alignment macros.
include/nameserv.h: Added defines for msg_type field options - from rfc1002.
lib/time.c: Typo fix.
lib/util_unistr.c: Updates from UNICODE branch.
printing/nt_printing.c: bzero -> memset.
smbd/connection.c: Added check for UT_SYSLEN for utmp code.
Other fixes : Rollback of unapproved commit from Luke.
Please *ask* next time before doing large changes to HEAD.
Jeremy.
(This used to be commit f02999dbf7971b4ea05050d7206205d7737a78b2)
|
|
fixed a stupid bug in unistr2_to_ascii that I introduced
fixed getprinterdata()
(This used to be commit 2f544a807714024c0fe2ddc26e11c9ddcb47e81f)
|
|
I added 2 UNICODE <-> ASCII functions which _don't_ honor codepage
support.
J.F.
(This used to be commit b81dc7b7f832cae2e66076398a134fbb6c1f78ca)
|
|
Stop makeing function calls for every use of skip_multibyte_char. This function
is called several *million* times during a NetBench run :-).
Jeremy.
(This used to be commit e5a3deba46ea2d4cb49a6c4b73edd766fe8b5a5c)
|
|
Jeremy.
(This used to be commit 1ba42aca2163c534f6be4e4a733604e3dffe0ed8)
|
|
Jeremy.
(This used to be commit 61e06c44b47834ed297aacee6d59c40796b4ffb5)
|
|
Jeremy.
(This used to be commit 2e03ed62542152264ca5315b9ee9bb045b7f0b03)
|
|
Jeremy.
(This used to be commit d7b72d4cbfb6bd1925abc7f95c1180d3d65856a5)
|
|
lib/system.c: Trimmed down unicode directory entry to be POSIX complient.
lib/util_unistr.c: Added wstrdup().
Jeremy.
(This used to be commit ca64f4ab00c6d54022ba9bd4b869523566a242d7)
|
|
unicode_to_unix()
unix_to_unicode()
unicode_to_dos()
dos_to_unicode()
wstrlen()
safe_wstrcpy()
safe_wstrcat()
wstrcmp()
wstrncmp()
wstrstr()
wstrchr()
wstrrchr()
wstrtok()
Jeremy.
(This used to be commit ae34e2589ac32b7144607b77bd0d42bc74b42aff)
|
|
internal unicode conversion of Samba.
Jeremy.
(This used to be commit 302412df64aa4b6572b13ef61dfd68c3f8ebbb8b)
|
|
Jeremy.
(This used to be commit decc6ebca29abd78754c275352de58b0de2e2aa5)
|
|
(This used to be commit 453a822a76780063dff23526c35408866d0c0154)
|