summaryrefslogtreecommitdiff
path: root/source3/lib
AgeCommit message (Collapse)AuthorFilesLines
2000-10-06Print socket options - patch from Dave Collier-Brown @ Sun.Jeremy Allison1-2/+23
Jeremy. (This used to be commit c18d6f8701c8e6ca03f9fff79cf28c842b3b5ff9)
2000-10-06Herb's warning fixes. Also the POSIX locking fix.Jeremy Allison1-1/+0
We now use our own vfs layer to do get/set acl calls (hurrah!). Jeremy. (This used to be commit dfe77c7046cbd65ee52aea7439f21503c1eac41d)
2000-10-04Made re-init of stat cache explicit rather than being hidden.Jeremy Allison1-4/+0
Jeremy. (This used to be commit b0c40236bb4381fec0e812c20e5f8c09ebf005f9)
2000-10-04Adding Herb's compile warning fixes to HEAD.Jeremy Allison5-13/+17
Jeremy. (This used to be commit d131ad1ce3f6e72e295f865a463f8dcbfa6f8d42)
2000-10-03utf-8 and EUC3 patch from Hiroshi Miura Samba User Group Japan staff.Jeremy Allison3-13/+476
mkdir high bits patch from Robert Dahlem" <Robert.Dahlem@gmx.net>. jeremy. (This used to be commit b40191d27180ab1e59935086073c4d312552f717)
2000-09-29added a hack to get 64 bit locking working with the broken fcntl()Andrew Tridgell1-0/+14
call in glibc 2.1.95. This hack only gets enabled if you define GLIBC_HACK_FCNTL64 (This used to be commit d8b9ec741cc57b5f3dd1b3ef782a7baed402beaa)
2000-09-28Removed annoying unecessary debug message.Tim Potter1-1/+0
(This used to be commit b1a893b74114ee4ab6a295ac0cb0e8fdccda3f53)
2000-09-27Restructuring of the code to remove dos_ChDir/dos_GetWd and re-vector themJeremy Allison2-292/+8
through the VFS. All file access/directory access code in smbd should now go via the vfs. Added vfs_chown/vfs_chmod calls. Still looking at vfs_get_nt_acl() vfs_set_nt_acl() call API design. Jeremy. (This used to be commit f96625ec124adb6e110dc54632e006b3620a962b)
2000-09-26fix for IRIX compiler error messagesHerb Lewis1-3/+3
(This used to be commit f2549db1ce6527c3e378e9f9210c70be5de93762)
2000-09-13first cut at smbcontrol program. It currently allows syntax like:Andrew Tridgell1-0/+43
smbcontrol nmbd debug 7 smbcontrol smbd debug 9 smbcontrol 3278 debug 1 smbcontrol nmbd force-election (This used to be commit 5f91c24636f5d82486f22c10bc55e060f9c518bf)
2000-09-12fixed a race in the pipe() setup in sys_select()Andrew Tridgell1-1/+1
(This used to be commit bb0f769272d8a8bd527053746b468bca797e1663)
2000-09-12- fixed some memory leaks in the messages codeAndrew Tridgell1-1/+28
- added a MSG_PING message for performance testing. (This used to be commit e779f834dbb875669c3aa0a35b324aa13f0c8c36)
2000-09-12- changed the msg_type to be an int instead of an enum so that it isAndrew Tridgell2-14/+19
easier to add new message types to messages.h without breaking old binaries - added a MSG_FORCE_ELECTION message to force nmbd to hold an election (This used to be commit f1c49ca7ce56bc39259041a71479e84ebf53eeca)
2000-09-12much nicer message interface. We now register dispatch functions,Andrew Tridgell2-26/+62
allowing new bits of code or vfs modules to register functions without impacting on the messaging code itself. Also note that multiple registrations for the same message type are possible allowing the same message to be delivered to multiple parts of the code (possibly useful for reload messages). (This used to be commit c3350c77f52cade48d2945574e09cb630af85b92)
2000-09-11the first cut of the internal messaging system.Andrew Tridgell2-44/+254
The motivation for this system is to replace the UDP message for oplocks, but this commit only does the "set debug level" message. (This used to be commit 2a34ee95f3929cff131db6c5a2b4820194c05b2d)
2000-09-01Changes from APPLIANCE_HEAD (per Tim Potter):David O'Neill1-0/+75
- make proto - addition of function to convert from errno values to NT status codes (source/lib/error.c) - purge queue done without full access permission will purge only the jobs owned by that user, rather than failing. - unlock job database tdb before sending job to printer - in print_job_start(), ensure that we don't pick a jobid with an existing temporary file that may be owned by another user, as it causes silent failures. - fixes for printer permission checking for NT5 clients (source/include/rpc_spoolss.h, source/printing/nt_printing.c, source/printing/printing.c, source/rpc_server/srv_spoolss_nt.c) - change from uint8 to 'enum SID_NAME_USE' (source/rpc_server/srv_lsa.c) - fixed memory leaks for win95 driver download process (source/smbd/lanman.c) - properly free prs_structs and dacl in testsuite/printing/psec.c (This used to be commit 74af3e2caec7197e5d1ca389e2f78054a4197502)
2000-09-01-U% should be an anonymous connection. Fixed bug whereGerald Carter1-1/+2
the password was being set to "" instead of NULL. ..and yes Elrond, I'll merge this into TNG. P jerry (This used to be commit cc611ecc674832f7e7390b5e7ad6648c9d622e9e)
2000-08-30Implemented AbortPrinter() from Gerald's Win32 test code. Just purge allJeremy Allison1-0/+2
possible printjobs from that printer (I think this is correct). Added error code returns for print_queue_XXX() functions. Jeremy. (This used to be commit 6d081a9017f87f59b7189ba507e211db01c40af5)
2000-08-29added -P (for no prompt) and -A <authfile> optionsGerald Carter1-22/+92
jerry (This used to be commit 2d95c38f7e65a0379cbaadd57b8eb41d830b5a6b)
2000-08-29needed to use strwicmp() in smbclient code, so I moved it to util_str.cGerald Carter1-0/+30
and made it non-static --jerry (This used to be commit dfdca21bd90b9c83f195d580ec9d774f1be8f9cb)
2000-08-28made reopen_logs() always re-open logs, not try and be smart about notAndrew Tridgell1-37/+34
re-opening in some circumstances. This fixes a problem where a HUP does not re-open logs and leaves the log open on a unlinked file. (This used to be commit f99f028c77482e591741df2a3da7f036f7409a68)
2000-08-25- fixed the %U macro so that the old (and documented) semantics workAndrew Tridgell1-2/+13
again. This got broken with one of the substitute.c updates a couple of months ago. - also fixed %u to return the username from the current_user structure when called via a method that does not have direct access to the username. I cache the uidtoname() result to prevent thrashing nss. (This used to be commit 2520a0eff9c5decbec79aababe9910db3535890a)
2000-08-23Added code to do SID to uid/gid conversion. Needed for ACL support.Jeremy Allison1-2/+2
Jeremy. (This used to be commit 81c5380f91839b6416c8a42739dadf00e7388528)
2000-08-18oops. must return "" string and length zero when strlen(filebuf) == 0Luke Leighton1-13/+16
(This used to be commit d3bc7cca99e47ce89035a03022d7c3ec69e01636)
2000-08-18getfileline() - line with length of zero -> filebuf[strlen(filebuf)-1]Luke Leighton1-10/+13
is NOT ok. (This used to be commit 24e0c8ef70dc59bfaaa113c3d44befbccbcba15f)
2000-08-14Reverted the change Luke made. Removed IS_BITS_SET_XX macros.Jeremy Allison1-13/+7
Do not re-add them. These macros are unsafe as they are not understood. Change all TNG code using them to correct '&' and '|' please. IS_BITS_SET_ALL was being used in cmd_interp.c when IS_BITS_SET_SOME should have been used. Jeremy. (This used to be commit be4e5eeb4f808c1d8ac4030e8886a83a37914c57)
2000-08-14hey, jerry: turns out you _have_ converted to get_safe_nt_errmsg!!!Luke Leighton1-2/+4
[got confused with which way dirdiff was going :)]. ... but you forgot to update TNG's lib/cmd_interp.c... (This used to be commit 8fe195df0b5826af7048ef6c87e4b55dfd336cf8)
2000-08-14jeremy,Luke Leighton1-11/+15
please do not remove IS_BITS_SET_XXX macros just because you happen "not to like them". whilst still working on merging, you are not responsible for this code, therefore do not hinder its development whilst people are attempting to do merges. after the merge from TNG to cvs main is completed, you can do what the hell you like. thank you. jerry, please could you consider adding underlying routines (in this case get_safe_smb_errstr()) instead of reverting to a [less secure] previous coding method. thanks. (This used to be commit b2e044f89de7cb12fd14540d5d7d5070951ce2fb)
2000-08-12fixed unistr_to_ascii to deal with NULL src stringsGerald Carter1-14/+14
jerry (This used to be commit 8e95aae1709a9be28d6e25ff6f0fdc729dc09274)
2000-08-12reworked talloc() to in order to help track down invalidGerald Carter1-25/+26
memory access. Tridge, I don't think using 0xdeadbeef for size allocations of 0 is going to work. I ended up having to use NULL as much code that works on UNISTR checks to see if the buffer ptr is NULL. So valid code ends up with a seg fault. Rather than rewriting it all, I added a DEBUG_TALLOC #ifdef in talloc.h that sets a macro BAD_PTR. This is the value assigned to ptr for an allocation of 0 bytes. jerry (This used to be commit 233b9cffa2350552d9f775f791d5d5e0464a1ed4)
2000-08-10Tidied up security rights definitions.Jeremy Allison1-4/+4
Jeremy. (This used to be commit e466c863f5540e13776f4477b6d58e3fbfe7276d)
2000-08-10Removed requirement that sid have an owner before being interpreted.Jeremy Allison1-18/+9
Thanks to Elrond for pointing this out. Jeremy. (This used to be commit 1d9a5494f8214b8d6171073f4090687a8535d78c)
2000-08-10Deal will NULL UNISTR in unistr_to_asciiGerald Carter1-13/+21
jerry (This used to be commit cfa4c878a2ccaf346940f8f4a201737e185f76d6)
2000-08-10talloc returns 0xdeadbeef when asked to allocate 0 bytesGerald Carter1-19/+29
jerry (This used to be commit df51dc32f6ffc4fe2cebfaae5079417aad1ff34d)
2000-08-09Fixed memory leak with NT tokens.Jeremy Allison1-2/+15
Added debug messages to se_access_check(). Added FULL_ACCESS acl to default acl on printers. Jeremy. (This used to be commit 7507f6f408cf8b0f8d7e2b3da54ce5fb5ef5343b)
2000-08-08Added SID "Everyone" S-1-1-0 as always matching if present in an ACE.Jeremy Allison1-4/+17
Jeremy. (This used to be commit b3a1038ac1bfb0c32e64f6cb26e5e46fbda794a2)
2000-08-08Changed the sec desc access checks to match the spec. Needs testing.Jeremy Allison1-220/+149
Jeremy. (This used to be commit 5a4a7cd4727df5d1b5e71d343e776c7df52dc515)
2000-08-08All changes related to rpcclient...Gerald Carter1-2/+2
- cleaned up some code - Fixed a few memory leaks of my own making - Add AddPrinterDriver(); I'm missing some of the semantics here as the call is done correctly, but I'm not getting all the information right in the DRIVER_INFO_3 struct I think. Will work on it tomorrow some more... --jerry (This used to be commit 3bf9a29f34ee4ade5180c5a0b0b9ff4aca7f0f08)
2000-08-04Fixed up se_access_check() to use the token list from the user structJeremy Allison1-82/+32
as the SID list. Now to go through and tidy up the algorithm. Jeremy. (This used to be commit 1f7300df6713a6728feb1600ca7e62fc213232fc)
2000-08-03Added an NT_USER_TOKEN structure that is copied/passed around associatedJeremy Allison1-3/+5
with the current user. This will allow se_access_check() to quickly do a SD check without having to translate uid/gid's to SIDs. Still needs work on pipe calls. Jeremy. (This used to be commit e28d01b744b3dbd33e0e54af4e7f426fa8c082b8)
2000-08-02Started to canonicalize our handling of uid -> sid code in order toJeremy Allison1-19/+27
get ready and fix se_access_check(). Added cannonical lookup_name(), lookup_sid(), uid_to_sid(), gid_to_sid() functions that look via winbind first the fall back on local lookup. All Samba should use these rather than trying to call winbindd code directly. Added NT_USER_TOKEN struct in user_struct, contains list of NT sids associated with this user. se_access_check() should use this (cached) value rather than attempting to do the same thing itself when given a uid/gid pair. More work needs to be done to preserve these things accross security context changes (especially with the tricky pipe problem) but I'm beginning to see how this will be done..... probably by registering a new vuid for an authenticated RPC pipe and not treating the pipe calls specially. More thoughts needed - but we're almost there... Jeremy. (This used to be commit 5e5cc6efe2e4687be59085f562caea1e2e05d0a8)
2000-08-01Tidyup removing many of the 0xC0000000 | NT_STATUS_XXX stuff (only need ↵Jeremy Allison1-13/+7
NT_STATUS_XXX). Removed IS_BITS_xxx macros as they were just reproducing "C" syntax in a more obscure way. Jeremy. (This used to be commit c55bcec817f47d6162466b193d533c877194124a)
2000-07-31More work on rpcclient...Gerald Carter1-4/+2
* Fixed to work with Jeremy's recent changes re: dunamic memory allocation when unmarshalling unistr[2] * included EnumPorts level 1 * more work on AddPrinterEx --jerry (This used to be commit 45fbf31b698d6e754630590034cff712c0a716b1)
2000-07-27Ok - this is a *BIG* change - but it fixes the problems with static stringsJeremy Allison3-2/+10
in the RPC code. This change was prompted by trying to save a long (>256) character comment in the printer properties page. The new system associates a TALLOC_CTX with the pipe struct, and frees the pool on return of a complete PDU. A global TALLOC_CTX is used for the odd buffer allocated in the BUFFERxx code, and is freed in the main loop. This code works with insure, and seems to be free of memory leaks and crashes (so far) but there are probably the occasional problem with code that uses UNISTRxx structs on the stack and expects them to contain storage without doing a init_unistrXX(). This means that rpcclient will probably be horribly broken. A TALLOC_CTX also needed associating with the struct cli_state also, to make the prs_xx code there work. The main interface change is the addition of a TALLOC_CTX to the prs_init calls - used for dynamic allocation in the prs_XXX calls. Now this is in place it should make dynamic allocation of all RPC memory on unmarshall *much* easier to fix. Jeremy. (This used to be commit 0ff2ce543ee54f7364e6d839db6d06e7ef1edcf4)
2000-07-25if the sids are not the same pointer and either of the sids are NULLAndrew Tridgell1-0/+3
then the two sids are not equal (This used to be commit 9ccf3b1dc5baf0e00d032d8b932ab0fb5b1e11b1)
2000-07-21Added EnumPorts() and fixed up some problemsGerald Carter1-48/+27
with the other spoolss client calls. Also cleaned up output for 'help' command. jerry (This used to be commit a0e8a55c279af50c1f770c7b913262094b9b593a)
2000-07-19Instead of handing back a string (which might be a DNS name or an IPChristopher R. Hertel1-33/+85
string), the wins_srv module now hands back a struct in_addr when it's called. It caches the IP address once it has been looked up. The IP is cleared (and must be looked up again) if the 'wins server' parameter is reread, or if the node is marked 'dead'. A dead node will not be re-tried for 10 minutes (per a #define in wins_srv.c). As it was, the code was reading the WINS server name or IP directly from lp_wins_server. That's okay, except that if the value was expressed as a name, then a DNS lookup would be done every time the client wanted to talk to the server. I still need to work out the implications of failover regarding the 'unicast subnet' list. Chris -)----- (This used to be commit 73aa188320fd3bf10b5dfc057323f40aff2c13bd)
2000-07-19First cut toward adding WINS server failover.Christopher R. Hertel1-0/+218
*Note: failover doesn't actually work yet!* It's just that the code I'm adding provides all of the pieces necessary. I do have one big question. Something that I'll have to ask Jeremy, I'm thinkin'. In nmbd/nmbd_subnetdb.c the IP of the WINS server is used to set up the Unicast subnet. ...so what happens if the WINS server changes? My guess is either: a) nothing. b) I'd have to change the unicast subnet entry whenever the WINS server changes. Urq. BTW, the lp_wins_server() function no longer returns the WINS server name or IP. It returns the list of WINS servers entered in smb.conf. To get the currently 'live' WINS server, use the wins_srv() function. Fun, eh? Chris -)----- (This used to be commit cc08bdc74f4cd111fdc582ee7babef47ed8a950d)
2000-07-18I really didn't like the way generic arrays (lists) wereGerald Carter1-0/+321
implemented in util_array.c so I wrote a smaller (and simplier package). I would like to replace the use of util_array.c functions in the rest of the source tree if no one objects. This will be an interface change, but not really a difference in the functionality provided. --jerry (This used to be commit 0863ce3a31e4c76c8356850ac128f6d96ea54917)
2000-07-17Added some debugs.Tim Potter1-13/+27
Changed interface to se_access_check to take a user struct instead of each bit as a separate parameter. (This used to be commit ff7938310d0636b165b03a2b0a15e51494b2459f)