1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-22 22:04:08 +03:00

32 Commits

Author SHA1 Message Date
Herb Lewis
81c497b38b r938: on an error save the original errno before calling iconv to reset
the conversion state
(This used to be commit 4a5a122b3a85c653bbf458342400f3b8a69dc615)
2007-10-10 10:51:50 -05:00
Andrew Bartlett
d198c55877 Make more functions static, and remove duplication in the use of functions
in lib/smbpasswd.c that were exact duplicates of functions in passdb/passdb.c

(These should perhaps be pulled back out to smbpasswd.c, but that can occour
later).

Andrew Bartlett
(This used to be commit fcdc5efb1e245c8fa95cd031f67ec56093b9056e)
2004-02-08 08:38:42 +00:00
Jeremy Allison
39f8afa866 Working on #830. Cope with bad conversions better - don't just memcpy but
try a crap conversion instead. Next this needs to be done to the convert_alloc
function.
Actually fixes some valgrind warnings as well - cool !
Jeremy.
(This used to be commit 6a7919f2544a689840fe46f3c58ed66f69aca65a)
2004-02-04 02:09:41 +00:00
Alexander Bokovoy
5760704918 Fix #558 -- support ISO-8859-1 internally. Makes Solaris users a bit happier
(This used to be commit ba95fe56d2db8243191d5dd6b75c6b65e0f5fbe9)
2003-12-10 15:59:28 +00:00
Jeremy Allison
bb0598faf5 Put strcasecmp/strncasecmp on the banned list (except for needed calls
in iconv.c and nsswitch/). Using them means you're not thinking about multibyte at
all and I really want to discourage that.
Jeremy.
(This used to be commit d7e35dfb9283d560d0ed2ab231f36ed92767dace)
2003-10-22 23:38:20 +00:00
Jeremy Allison
fa7932296d iconv isn't const safe. Neither should smb_iconv be.
Jeremy.
(This used to be commit 238bb74c16417140d85a304890b97e04df389ae9)
2003-09-27 01:29:18 +00:00
Alexander Bokovoy
f9b6d0fd10 Alias charset 646 internally as it is same as ASCII. Should solve Solaris problems where ASCII was not detected and 646.so were requested through dynamic loading
(This used to be commit c248cd4784ac0f8f16813de36d293ab6bf1d259b)
2003-09-15 12:42:10 +00:00
Tim Potter
4b25a46624 Undo 'Fix compiler warning'. It didn't work because the value of inbuf changes so
we end up freeing a pointer we didn't mallocate.

Also, calling strdup() in a frequently called function just to clear up a
const compiler warning seems inelegant and inefficient.
(This used to be commit a0da5ae1198082d0cf18707ed2cf05f728b00d0b)
2003-07-14 01:18:43 +00:00
Rafal Szczesniak
ce12b32c4a Fix compiler warning.
(This used to be commit 3a71b4873034b3fe9dc7b23a95e56c865e857507)
2003-07-13 16:25:55 +00:00
Jelmer Vernooij
17a3acafa8 Use NTSTATUS as return value for smb_register_*() functions and init_module()
function. Patch by metze with some minor modifications.
(This used to be commit bc4b51bcb2daa7271c884cb83bf8bdba6d3a9b6d)
2003-04-28 17:48:48 +00:00
Jelmer Vernooij
08b30fcf27 Get rid of module_path_get_name() and use the find backend function
to find duplicates
(This used to be commit 871cad7e9ac38e6f8e4391fcb2894d91300cbe94)
2003-04-24 20:27:19 +00:00
Jelmer Vernooij
004502551b Add support for the new modules system to lib/iconv.c (merge from HEAD)
(This used to be commit 64a357017a897d1920c06fc19453470ee517470d)
2003-04-16 13:09:00 +00:00
Jeremy Allison
e9f51a6e38 Patch from Michael Steffens. In his own words :
-------------------------------------------------------------------------
I think there are basically two problem:

  1. Windows clients do not always send ACEs for SMB_ACL_USER_OBJ, SMB_ACL_GROUP_OBJ,
     and SMB_ACL_OTHER.
     The function ensure_canon_entry_valid() is prepared for that, but tries
     to "guess" values from group or other permissions, respectively, otherwise
     falling back to minimum r-- for the owner. Even if the owner had full
     permissions before setting ACL. This is the problem with W2k clients.

  2. Function set_nt_acl() always chowns *before* attempting to set POSIX ACLs.
     This is ok in a take-ownership situation, but must fail if the file is
     to be given away. This is the problem with XP clients, trying to transfer
     ownership of the original file to the temp file.

The problem with NT4 clients (no ACEs are transferred to the temp file, thus
are lost after moving the temp file to the original name) is a client problem.
It simply doesn't attempt to.

I have played around with that using posic_acls.c from 3.0 merged into 2.2.
As a result I can now present two patches, one for each branch. They
basically modify:

  1. Interpret missing SMB_ACL_USER_OBJ, SMB_ACL_GROUP_OBJ, or SMB_ACL_OTHER
     as "preserve current value" instead of attempting to build one ourself.
     The original code is still in, but only as fallback in case current values
     can't be retrieved.

  2. Rearrange set_nt_acl() such that chown is only done before setting
     ACLs if there is either no change of owning user, or change of owning
     user is towards the current user. Otherwise chown is done after setting
     ACLs.

It now seems to produce reasonable results. (Well, as far as it can. If
NT4 doesn't even try to transfer ACEs, only deliberate use of named default
ACEs and/or "force group" or the crystal ball can help :)
-------------------------------------------------------------------------
Jeremy.
(This used to be commit 1d3b8c528bebfa1971d1affe454a03453335786e)
2003-03-07 19:37:31 +00:00
Martin Pool
ff5d95f0ef Doxygen merge from head
(This used to be commit 38fa2898967f607a17fd7fbd324f2940a05fb551)
2003-02-27 05:57:21 +00:00
Tim Potter
cd68afe312 Removed version number from file header.
Changed "SMB/Netbios" to "SMB/CIFS" in file header.
(This used to be commit 6a58c9bd06d0d7502a24bf5ce5a2faf0a146edfa)
2002-01-30 06:08:46 +00:00
Andrew Tridgell
ec31274163 much better auto-init of valid_table[]. This should just about remove
the need for valid.dat
(This used to be commit 0cfd0a5e543181b1384f7afee93fbaf3ccb2b999)
2001-12-20 06:18:52 +00:00
Herb Lewis
3ea3492713 get rid of compiler warnings (casts and delete unused variables)
(This used to be commit 51cb4411df61d1caec9d84809b1a53a6a632f808)
2001-10-23 19:10:30 +00:00
Andrew Bartlett
d25c2b146b Add a few const statements to various odd bits of the tree. (Fixes some
warnings)
(This used to be commit b648cc669d16eb40b477c8dc51efeab485a15de5)
2001-09-29 11:51:40 +00:00
Andrew Tridgell
c386d8bdd0 allow all ucs2 chars in utf8, rather than mapping some to a single
char like libiconv does
(This used to be commit e13e8b190c70136cb2c3588bdcf7328a7f61d152)
2001-09-25 04:27:59 +00:00
Simo Sorce
484a7c0341 move to SAFE_FREE()
(This used to be commit 60e907b7e8e1c008463a88ed2b076344278986ef)
2001-09-17 02:19:44 +00:00
Andrew Tridgell
5573a1c739 added "display charset" option in smb.conf, along with d_printf()
which should now be used instead of DEBUG(0) or printf() for
interactive messages

I have only converted client.c to use d_printf(), and the code hasn't
had much testing yet. Eventually we want all interactive code to use
d_printf(), plus SWAT
(This used to be commit 266d8e67669adb329f25676c4bc4d4c50f223428)
2001-09-07 14:14:57 +00:00
Andrew Tridgell
4951426613 changed the iconv interface to go via ucs2 for all conversions. This
fixes some problems wih some character sets and allows for using
internal charsets in conjunction with ionv charsets
this makes us slower but more correct. speed will come later.
(This used to be commit 594f84b4e39182dcf344c02dc0185376a2726395)
2001-07-22 07:38:32 +00:00
Andrew Tridgell
512351db92 switch from UCS2 to UCS-2LE
(This used to be commit e236a3e29e4af24b20ec6af357ce67abf82b4528)
2001-07-22 00:27:30 +00:00
Andrew Tridgell
4b7c807085 fixed a silly bug in the internal UTF8 implementation
(This used to be commit 95a9a1814f1a1ac07c316cc920c7493a86d5a09b)
2001-07-06 08:59:50 +00:00
Andrew Tridgell
9a0397cf69 added some comments and removed an unnecessary check
(This used to be commit 25c4b3f19315bdef57041da79c12271b72015701)
2001-07-06 00:14:56 +00:00
Andrew Tridgell
fb50cf54e5 optimised the 7 bit case for utf8 conversion
(This used to be commit 0c61e54f152eca6b7607fcce9ea512bc60a19060)
2001-07-05 00:57:42 +00:00
Andrew Tridgell
ee3119cee6 make sure we reset the shift state on error for charsets like SJIS
(This used to be commit 42648a7aada48220fdfaf6acfe95b9614122f1da)
2001-07-05 00:04:30 +00:00
Andrew Tridgell
22325f6fdb added builtin support for UTF8
(This used to be commit 76d83e7f704cf016308dccaad9bc42d57db97686)
2001-07-04 15:08:30 +00:00
Andrew Tridgell
681c3100ed more portability fixes
(This used to be commit bf818268516cfbebcdeacbb0528395e9bbb8e442)
2001-07-04 14:41:06 +00:00
Andrew Tridgell
33b550e47b portability fixes
(This used to be commit 7a5c24c219d8b19f2c3cd11fdde3ebcede0646a2)
2001-07-04 12:16:24 +00:00
Andrew Tridgell
f51260a65e got rid of __FUNCTION__ debug
(This used to be commit 815ca752744c2ae93390445f4bb6532d396bbc59)
2001-07-04 08:03:47 +00:00
Andrew Tridgell
87fbb7092b The big character set handling changeover!
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)
2001-07-04 07:15:53 +00:00