Age | Commit message (Collapse) | Author | Files | Lines |
|
- old mangle code has gone, the new one based on tdb seem resonably ok
probably the valid.dat table need to be updated to treat wild chars as
invalid ones (work ok without it)
- a LOT of new string manipulation function for unicode, they are somewhat
tested but a review would not be bad
- some new function I will need for the new unix_convert function I'm writing,
this will be renamed filename_convert and use only unicode strings.
- charconv, I attached a comment, if someone wnat to look if I'm right or
just was hacking to late in the night to make a sane one :)
of course any bug is my responsibility an will be pleased to see patches if
you find any. :-)
Simo.
(This used to be commit ee19f7efb6ea9216fc91cf112ac1afa691983e9d)
|
|
dos hars...
- addedd ascii compatibility functions
(This used to be commit 8b9302b7078f1dd5459051500ed19a696dc09ae0)
|
|
this fixes also the bug with file renaming.
(This used to be commit 5246d7609c3aff658fcd08a1f1c1bb6e11509e35)
|
|
(This used to be commit 320c21b7a9e0a914b8a9523775df8895cb41256f)
|
|
(This used to be commit 51cb4411df61d1caec9d84809b1a53a6a632f808)
|
|
(This used to be commit e48eb7b572de10481e928fb55243f47e8a3aa446)
|
|
all the calls go through a compatibility interface will
change that soon
a new mangle.tdb file will be set in the lock directory
it contains a static mapping longname<->manglename
(This used to be commit 1ffacd2068a896d36a9e56b6e28c63e2f7e98762)
|
|
add talloc_asprintf()
(This used to be commit 7264d611eff871f424d449e1ff1c7ec3f5fdde40)
|
|
fix some alloc leaks spotted by andreas moroder.
(This used to be commit 39409a20f69078709c63f6f867c042e66d5c7de3)
|
|
(This used to be commit c9b3e6c71401efe754c10f7077671f0c1cebdafb)
|
|
(This used to be commit c0bb484e0fcdfece62d361aaaebd90cf15548992)
|
|
added ucs2_to_dos83 function.
the code should be ok now.
further test with japanese and other languages is needed at this point.
(This used to be commit 74f746fee2e528e4f23192e21e1d74739dc1072e)
|
|
remove unused structure for tdb data.
fixes.
(This used to be commit c82cf58ae2ae9790b8575328b419dbc8a089b60f)
|
|
(This used to be commit 2d0922b0eabfdc0aaf1d0797482fef47ed7fde8e)
|
|
(This used to be commit 5ab220efd7a1532e11370cb0fc9854d610a7f3d7)
|
|
first tests show it still does not work.
work in progress...
(This used to be commit a4c746ac474e2e4cead78076ffe2109fab74aefe)
|
|
store mangled filename in dos charset and unmangled in unicode.
clean ups
still lot to do.
againg compiled but not yet tested.
(This used to be commit 2d1aabb6d4bf23985a9ce0f7e065292aacedc80a)
|
|
(This used to be commit 57e639bbdd115b51362caf7e3db4ba34ccdeddc2)
|
|
- some more utils for unicode string manipulation
(This used to be commit 4ade36446e7dee1c3828d8c822f047c6e891a644)
|
|
(This used to be commit a95943fde0ad89ae3f2deca2f7ba9cb5ab612b74)
|
|
can't redefine them. damn.
(This used to be commit c41fc06376d1a2b83690612304e85010b5e5f3cf)
|
|
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)
|
|
of code that were unclear.
Chris -)-----
(This used to be commit c2977be3408645499915d728538ba2c65b97614f)
|
|
reporting a memory leak in the cache module. I've modified the cache
code to prevent insure getting confused, so the patch can now be removed.
(This used to be commit 50599b0fa2b78109e3bd2cf50007dc69c4059955)
|
|
entry before adding to ensure that we don't ever add a duplicate entry
this code can be removed when ubi gets fixed
(This used to be commit 062d79bf8ba5308803393c7b9140d1f77db3690f)
|
|
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)
|
|
smbd/negprot.c: Tidyup of static initializers.
smbd/server.c: Fix -l option.
Jeremy.
(This used to be commit d120f22fefde21b38e43ea5ad0180bf27304d2eb)
|
|
(This used to be commit 453a822a76780063dff23526c35408866d0c0154)
|
|
(This used to be commit 5e2fc8b7ccf4a9c8b0a2acf4bd752531ac6fa775)
|
|
tactics :-). Protected by #ifdef until used.
Fixed bug in fd_attempt_close() where a pointer to potentially
free'd memory was returned. I hate that.
Added "blocking locks" as a per-share option for performance testing.
Changed is_mangled() so it will return true if called with a pathname
and any component of the pathname was mangled (it was already attempting
to do this, but not checking for a '/' as end-of-mangle).
This should be a better fix for the wierd stat cache bug Andrew identified.
Jeremy.
(This used to be commit 0de01f45980c7bc261248a9cead972a8d8cbd594)
|
|
mangling a name can't increase it's size which isn't true. (imagine a
file called "L B" which mangles to "LB~XX")
The symptoms were that users couldn't run batch files from short
directory names that contained non 8.3 characters (such as spaces).
(This used to be commit c319d8ea3f8b42bb3a8e501642971ed0bdb21583)
|
|
Connections[] is now a local array in server.c
I might have broken something with this change. In particular the
oplock code is suspect and some .dll files aren't being oplocked when
I expected them to be. I'll look at it after I've got some sleep.
(This used to be commit c7ee025ead4a85b6fa44a832047b878451845fb6)
|
|
before testing that the strdup() worked. Fixed.
(This used to be commit 899d0d5de5dd9d080d5c4cb94874d4f939427d1b)
|
|
dir.c & mangle.c. This was possible after I checked the tree code to make
sure that the tree code did not reference functions by macro name. Also,
note that the AVL module has been removed to prevent conflict with the
SplayTree macro defines.
Chris -)-----
(This used to be commit a1f4c8567c3c5264cbfa99867fa894cafab7da81)
|
|
It removed all ocurrences of the following functions :
sprintf
strcpy
strcat
The replacements are slprintf, safe_strcpy and safe_strcat.
It should not be possible to use code in Samba that uses
sprintf, strcpy or strcat, only the safe_equivalents.
Once Andrew has fixed the slprintf implementation then
this code will be moved back to the 1.9.18 code stream.
Jeremy.
(This used to be commit 2d774454005f0b54e5684cf618da7060594dfcbb)
|
|
He also suggested that some systems may implement free() as a macro (but
I think he was looking for an excuse ;). Anyway, I've added a function
to mangle.c that calls free().
Chris -)-----
(This used to be commit 95f7b03285c42e8f5573690939b79afc7e686908)
|
|
Jeremy.
(This used to be commit e74428e4287cbc1557cc79d4930371cfaf3256d4)
|
|
proto.h: The unusual. ;)
reply.c: I changes some function names, and updated reply.c to match.
See mangle.c below for more.
server.c: Changed function names and parameters in file mangle.c, so
changed server.c calls to match. See mangle.c below for more.
mangle.c:
I replaced the caching mechanism used for caching reverse mangled name
maps. The old method was a large array of 256-byte strings. Movement
in the stack (including push and pop) was done by memcpy()ing whole
chunks of memory around.
The new system uses the ubi_Cache module which, in turn, uses a splay
tree. Entries are dynamically allocated using a minimum amount of
memory. Searches are non-linear, which should speed things up a bit,
too. Overall, this should save memory and be faster.
Other changes: I streamlined the is_mangled() test and made other
speed enhancements including replacing some static functions with
macros. Added comments, etc.
Note: Per an E'mail conversation with Andrew, the 'mangled stack'
parameter in smb.conf doesn't do anything anymore. The cache is
now set for 16K bytes maximum memory usage. The mangle stack
parameter is silently ignored. This can easily be changed, but
I'd rather introduce a 'mangled cache memory' parameter and
remove 'mangled stack'.
Remaining problems:
While testing the module, I noticed that something is calling
name_map_mangle() twice. The result is that names which contain
illegal characters are getting mangled twice.
Also, the entire module works by overwriting the input string.
This has a variety of nasty side effects.
Summary:
There's a lot still to be done, but the changes I have in place *should*
work in exactly the same way (except for the mangle stack parameter).
The rest of the bugs and other issues are separate.
Chris -)-----
(This used to be commit 8759bec11ba483b2292b0e513b85c98ed5e3e2d4)
|
|
algorithm was correct).
Finally (I think) fixed the mangled directory stack issue in
scan_directory() correctly. Mangled & non-mangled names are
now being checked correctly. Hurrah to Ulrik Dickow <ukd@kampsax.dk>
who helped isolate this one.
Jeremy.
(This used to be commit 37f5f7b557aa59c7eba4a9f2f2f323d7cec62fc7)
|
|
Kanji support is one case of multibyte character
support, rather than being a specific case in
single byte character support.
This allows us to add Big5 Chinese support (code page 950)
and Korean Hangul support (code page 949) at very little
cost. Also allows us to easily add future multibyte
code pages.
Makefile: Added codepages 949, 950 as we now support more multibyte
codepages.
asyncdns.c: Fixed problem with child being re-spawned when parent killed.
charcnv.c
charset.c
client.c
clitar.c
kanji.c
kanji.h
smb.h
util.c
loadparm.c: Generic multibyte codepage support (adding Big5 Chinese
and Korean Hangul).
nmbd.c: Fixed problem with child being re-spawned when parent killed.
mangle.c: Modified str_checksum so that first 15 characters have more
effect on outcome. This helps with short name mangling as
most 'long' names are still shorter than 15 chars (bug was
foobar_mng and foobar_sum would hash to the same value, with
the modified code they hash differently.
Jeremy.
(This used to be commit 299016338cfb47f0c585875ef9b468121fcee97d)
|
|
This is merely updating the Copyright statements from 1997 to 1998.
It's a once a year thing :-).
NO OTHER CHANGES WERE MADE.
Jeremy.
(This used to be commit b9c16977231efb274e08856f7f3f4408dad6d96c)
|
|
mangle.c server.c proto.h
mangle.c
I am planning to replace the mangled_stack array with a proper stack,
but found many style inconsistencies (no, really). As you might expect,
I have standardized on my own preferences. ;)
I also found a potential problem in create_mangled_stack (which I've
renamed as reset_mangled_stack). If the stack size were passed into
the function as 0 or less, there was the possibility that the array
would have been freed twice. I doubt that this ever happens, but I
don't like to leave holes.
Of course, the fix will be irrelevent once I replace the array with
a linked-list-based stack.
server.c
Changed the call to create_mangled_stack() to a call to reset_mangled_stack().
proto.h
Regenerated to match the above changes. (A real comment! How unusual!)
(This used to be commit 34d1b3e4fa7a1158f3a3c5c47adf0417c7144095)
|
|
CIFS3 spec does not list them as illegal.
This allows things like the control panel icon to be placed on a Samba
drive.
(This used to be commit d2ac9e6fb6e76778154c58217237251d7bb0e98c)
|
|
Jeremy (jallison@whistle.com)
(This used to be commit e7eb1f044d3101679dc7a118820ea5efe0cd837c)
|
|
mangle.c smb.h util.c:
Big merge to allow KANJI support to be in the main
binary without explicitly compiling with it.
locking.c: Fix for smbstatus not being able to read files.
namepacket.c: Removed unneccesary debug statement.
trans2.c: Added Luke's proposed fix (ifdefed out until further testing).
nmblookup.c: Fixed bug where query fails and status is done on bogus IP.
Jeremy (jallison@whistle.com)
(This used to be commit 9196255022ae8c51b527412747b324819bea2c13)
|
|
server.c: Changed comparison from dname to name2 - seems correct - don't know why
I changed it originally. hmmmmm.
trans2.c: Made lanman2 code more similar to scan_directory(). I should
make the trans2 code call scan_dir as they are so similar.
Jeremy(jallison@whistle.com).
(This used to be commit 3909576849025ed21e5282abc892ae7582ee0275)
|
|
Wed May 7 1997: Update for 1.9.17alpha1 release - 'browsefix release'
designed to make browsing across subnets work.
byteorder.h: Updated copyright to 1997.
charcnv.c: Updated copyright to 1997.
charset.c Updated copyright to 1997.
charset.h Updated copyright to 1997.
client.c Updated copyright to 1997.
clientutil.c Updated copyright to 1997.
dir.c Updated copyright to 1997.
fault.c Updated copyright to 1997.
includes.h Updated copyright to 1997.
interface.c Updated copyright to 1997.
ipc.c Updated copyright to 1997.
kanji.c Updated copyright to 1997.
kanji.h Updated copyright to 1997.
loadparm.c Updated copyright to 1997.
locking.c Updated copyright to 1997.
mangle.c Updated copyright to 1997.
message.c Updated copyright to 1997.
nameannounce.c
Made use of WINS subnet explicit.
Added reset_announce_timer() so announcement
can be made immediately when we become a master.
Expanded code to do sync with dmb.
namebrowse.c
Removed redundent checks for AM_MASTER in
sync code. Made use of WINS subnet explicit.
namedbname.c Made use of WINS subnet explicit.
namedbresp.c Made use of WINS subnet explicit.
namedbserver.c Made use of WINS subnet explicit.
namedbsubnet.c
Explicitly add workgroup to WINS subnet
when we become a dmb. Made use of WINS subnet explicit.
namedbwork.c
Made use of WINS subnet explicit. Removed
redundent check_work_servertype() function.
nameelect.c
Explicitly add workgroup to WINS subnet
when we become a master browser. Made use of WINS subnet explicit.
namelogon.c Updated copyright to 1997.
namepacket.c Updated copyright to 1997.
namequery.c Updated copyright to 1997.
nameresp.c
Made use of WINS subnet explicit. Made nmbd fail if
configured as master browser and one exists already.
nameserv.c
Made use of WINS subnet explicit. Remove redundent
logon server and domain master code.
nameserv.h Add emumerate subnet macros.
nameservreply.c Made use of WINS subnet explicit.
nameservresp.c Updated copyright to 1997.
namework.c
Made use of WINS subnet explicit. Updated code to
add sync browser entries to add subnet parameter.
nmbd.c
Added sanity check for misconfigured nmbd.
nmblib.c Updated copyright to 1997.
nmblookup.c Updated copyright to 1997.
nmbsync.c
Removed redundent AM_ANY_MASTER check.
params.c Updated copyright to 1997.
password.c Updated copyright to 1997.
pipes.c Updated copyright to 1997.
predict.c Updated copyright to 1997.
printing.c Updated copyright to 1997.
proto.h
Changed protos for new nmbd code.
quotas.c Updated copyright to 1997.
replace.c Updated copyright to 1997.
reply.c Updated copyright to 1997.
server.c Updated copyright to 1997.
shmem.c Updated copyright to 1997.
smb.h Updated copyright to 1997.
smbencrypt.c Updated copyright to 1997.
smbpasswd.c Updated copyright to 1997.
smbrun.c Updated copyright to 1997.
status.c Updated copyright to 1997.
system.c Updated copyright to 1997.
testparm.c Updated copyright to 1997.
testprns.c Updated copyright to 1997.
time.c Updated copyright to 1997.
trans2.c Updated copyright to 1997.
trans2.h Updated copyright to 1997.
uid.c Updated copyright to 1997.
username.c Updated copyright to 1997.
util.c Updated copyright to 1997.
version.h
Changed to 1.9.17alpha1.
(This used to be commit cf23a155a1315f50d488794a2caf88402bf3e3e6)
|
|
changes a bit less. Also added fix to tricky reply_mv case.
jra@cygnus.com
(This used to be commit f22ac13b1423186d463c9fc5b3588a3dcbd7bc1c)
|
|
filename problem.
Problem conditions:
case sensitive = no
default case = lower
mangle case = yes
preserve case = yes
short preserve case = yes
Problem: Win95 still writes upper case file names.
Patches supplied have been incorporated into mangle.c and server.c
but needs YOSTW to be defined for it to take effect.
Action:
=======
If we are happy with the patch, delete old code in mangle.c, then
remove all YOSTW #ifdefs.
(This used to be commit 84fc674c89e8999f284b59888dfa2cdc47438e88)
|
|
(compiler bugs were the problem)
- minor password cleanups (catch WfWG bug where it sets the password
to a space instead of a NULL)
- fix printing problem for kanji users
- minor cleanups
(This used to be commit 92566ecc315c29da6e9aaa67ddae33e64f5bcc67)
|