summaryrefslogtreecommitdiff
path: root/source3/lib/iconv.c
AgeCommit message (Collapse)AuthorFilesLines
2003-03-07Patch from Michael Steffens. In his own words :Jeremy Allison1-3/+3
------------------------------------------------------------------------- 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-02-27Doxygen merge from headMartin Pool1-5/+6
(This used to be commit 38fa2898967f607a17fd7fbd324f2940a05fb551)
2002-01-30Removed version number from file header.Tim Potter1-2/+1
Changed "SMB/Netbios" to "SMB/CIFS" in file header. (This used to be commit 6a58c9bd06d0d7502a24bf5ce5a2faf0a146edfa)
2001-12-20much better auto-init of valid_table[]. This should just about removeAndrew Tridgell1-1/+7
the need for valid.dat (This used to be commit 0cfd0a5e543181b1384f7afee93fbaf3ccb2b999)
2001-10-23get rid of compiler warnings (casts and delete unused variables)Herb Lewis1-2/+2
(This used to be commit 51cb4411df61d1caec9d84809b1a53a6a632f808)
2001-09-29Add a few const statements to various odd bits of the tree. (Fixes someAndrew Bartlett1-1/+1
warnings) (This used to be commit b648cc669d16eb40b477c8dc51efeab485a15de5)
2001-09-25allow all ucs2 chars in utf8, rather than mapping some to a singleAndrew Tridgell1-10/+1
char like libiconv does (This used to be commit e13e8b190c70136cb2c3588bdcf7328a7f61d152)
2001-09-17move to SAFE_FREE()Simo Sorce1-2/+2
(This used to be commit 60e907b7e8e1c008463a88ed2b076344278986ef)
2001-09-07added "display charset" option in smb.conf, along with d_printf()Andrew Tridgell1-2/+2
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-07-22changed the iconv interface to go via ucs2 for all conversions. ThisAndrew Tridgell1-71/+186
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-22switch from UCS2 to UCS-2LEAndrew Tridgell1-15/+1
(This used to be commit e236a3e29e4af24b20ec6af357ce67abf82b4528)
2001-07-06fixed a silly bug in the internal UTF8 implementationAndrew Tridgell1-1/+14
(This used to be commit 95a9a1814f1a1ac07c316cc920c7493a86d5a09b)
2001-07-06added some comments and removed an unnecessary checkAndrew Tridgell1-3/+2
(This used to be commit 25c4b3f19315bdef57041da79c12271b72015701)
2001-07-05optimised the 7 bit case for utf8 conversionAndrew Tridgell1-4/+4
(This used to be commit 0c61e54f152eca6b7607fcce9ea512bc60a19060)
2001-07-05make sure we reset the shift state on error for charsets like SJISAndrew Tridgell1-1/+10
(This used to be commit 42648a7aada48220fdfaf6acfe95b9614122f1da)
2001-07-04added builtin support for UTF8Andrew Tridgell1-1/+115
(This used to be commit 76d83e7f704cf016308dccaad9bc42d57db97686)
2001-07-04more portability fixesAndrew Tridgell1-4/+2
(This used to be commit bf818268516cfbebcdeacbb0528395e9bbb8e442)
2001-07-04portability fixesAndrew Tridgell1-4/+9
(This used to be commit 7a5c24c219d8b19f2c3cd11fdde3ebcede0646a2)
2001-07-04got rid of __FUNCTION__ debugAndrew Tridgell1-2/+2
(This used to be commit 815ca752744c2ae93390445f4bb6532d396bbc59)
2001-07-04The big character set handling changeover!Andrew Tridgell1-0/+346
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)