summaryrefslogtreecommitdiff
path: root/source3/include/proto.h
AgeCommit message (Collapse)AuthorFilesLines
2000-01-14we now pass all byte range locking testsAndrew Tridgell1-3/+5
the last piece was to use a smb timeout slightly larger than the locking timeout in bloking locks to prevent a race (This used to be commit 1b54cb4a33a65e62c2e3189b78ef073869a60c75)
2000-01-14Added "inherit permissions" patch.Jeremy Allison1-1/+3
Fixed locking bug found by Andrew. Jeremy. (This used to be commit 38dffd360dc2e44bfc9e751f017e24f81ff0f2fa)
2000-01-13new prototypesAndrew Tridgell1-5/+22
(This used to be commit 671e52cec2f254a11f9dcef9ef692afa3b86c679)
2000-01-12Added utmp fix from David Lee <T.D.Lee@durham.ac.uk>.Jeremy Allison1-0/+2
Jeremy. (This used to be commit 95d37a1d25d56316c80eec54aea1f358cd621d4c)
2000-01-10I'm currently designing a new locking system (using a tdb database!)Andrew Tridgell1-2/+5
that will make us match NT semantics exactly and do away with the horrible fd multiplexing in smbd. this is some diag stuff to get me started. - added the ability to do read or write locks in clientgen.c - added a LOCK4 test to smbtorture. This produces a report on the server and its locking capabilities. For example, NT4 gives this: the same process cannot set overlapping write locks the same process can set overlapping read locks a different connection cannot set overlapping write locks a different connection can set overlapping read locks a different pid cannot set overlapping write locks a different pid can set overlapping read locks the same process can set the same read lock twice the same process cannot set the same write lock twice the same process cannot override a read lock with a write lock the same process can override a write lock with a read lock a different pid cannot override a write lock with a read lock the same process cannot coalesce read locks this server does strict write locking this server does strict read locking whereas Samba currently gives this: the same process can set overlapping write locks the same process can set overlapping read locks a different connection cannot set overlapping write locks a different connection can set overlapping read locks a different pid can set overlapping write locks a different pid can set overlapping read locks the same process can set the same read lock twice the same process can set the same write lock twice the same process can override a read lock with a write lock the same process can override a write lock with a read lock a different pid can override a write lock with a read lock the same process can coalesce read locks this server does strict write locking this server does strict read locking win95 gives this - I don't understand why! the same process cannot set overlapping write locks the same process cannot set overlapping read locks a different connection cannot set overlapping write locks a different connection cannot set overlapping read locks a different pid cannot set overlapping write locks a different pid cannot set overlapping read locks the same process cannot set the same read lock twice the same process cannot set the same write lock twice the same process cannot override a read lock with a write lock the same process cannot override a write lock with a read lock a different pid cannot override a write lock with a read lock the same process cannot coalesce read locks this server does strict write locking this server does strict read locking (This used to be commit 49637936b6e9478df248c4ef73d818870c73b597)
2000-01-07this looks like a big commit, but it isn't really :)Andrew Tridgell1-1/+1
This fixes our netbios scope handling. We now have a 'netbios scope' option in smb.conf and the scope option is removed from make_nmb_name() this was prompted by a bug in our PDC finding code where it didn't append the scope to the query of the '*' name. (This used to be commit b563be824b8c3141c49558eced7829b48d4ab26f)
2000-01-06Re-added "dfree command" functionality that was described in the man pagesJeremy Allison1-0/+1
but was not in the code. Jeremy. (This used to be commit f4898a1f16a2dbc25d062b0088d6c589a34c93a0)
2000-01-05Moved check_plaintext_password() into smbd/chgpasswd.c from smbd/ipc.c.Jeremy Allison1-0/+2
configure configure.in include/config.h.in: Added <sys/un.h> autoconf code for Luke's UNIX domain sockets code. Jeremy. (This used to be commit 210d61db08136122f51a93428607fccd582c9e7d)
2000-01-05implemented talloc() as described on samba-technical. This fixes theAndrew Tridgell1-0/+7
lp_string() bug properly. we still need to add lp_talloc_free() calls in all the main event loops, I've only put it in smbd and nmbd thus far. (This used to be commit aa7f81552540f5dca2c146f5edd805611d5b390f)
2000-01-03simple mods to add msrpc pipe redirection. default behaviour: fall backLuke Leighton1-7/+111
to using internal msrpc code in smbd. (This used to be commit 8976e26d46cb991710bc77463f7f928ac00dd4d8)
2000-01-03added suppport for unexpected udp/138 packetsAndrew Tridgell1-2/+4
I also fixed up the lookup_pdc_name() code so that it now works, even with a NT server that insists on replying to udp/138. The method I used to match packets was to use the mailslot string as a datagram ID. The true dgm_id doesn't work as NT doesn't set it correctly. uggh. PS: Jeremy, I had to change your code quite a bit, are you sure this worked with a Samba PDC?? The code looked broken, it got the offsets wrong in the SMB portion of the packet and filled in the IP incorrectly. (This used to be commit 32f66f4ea63038cb4b3785bdf1762abdde076f5d)
2000-01-03added the unexpected packet database (unexpected.tdb)Andrew Tridgell1-5/+14
this means "nmblookup -S" now always works, even with broken servers the database stores all unexpected replies and these can be accessed by any client. while doing this I cleaned up a couple of functions, and put in place a better trn_id generator. in most places the code got quite a bit simpler due to the addition of simple helper functions. I haven't yet put the code in to take advantage of this for pdc replies - that will be next. Jeremys pdc finding code will then work :) (This used to be commit 280e6359d36c9bc8dcded302f15c3a1db8e3feeb)
2000-01-02- added tdb_flags option to tdb_open()Andrew Tridgell1-2/+2
- added TDB_CLEAR_IF_FIRST flag to clear the database if this is the first attached process. Useful for non-persistent databases like our locking area (this will also make upgrades to new database layouts easier) - use lock_path() in a couple of places - leave connections database open while smbd running - cleaned up some tdb code a little, using macros for constants (This used to be commit 00e9da3ca577527db392aced62f02c69cfee8f4f)
1999-12-29Converted most of the functions in lib/util_str.c to smb_ucs2_t equivalents.Jeremy Allison1-9/+52
Jeremy. (This used to be commit 1ba42aca2163c534f6be4e4a733604e3dffe0ed8)
1999-12-22First cut at unicode sys_xx functions. Now to start moving upwards.....Jeremy Allison1-0/+19
Jeremy. (This used to be commit b5eb009cc3cfd1adc044e91911d59acdb54c30cb)
1999-12-22Ok - we now have the following functions for UNICODE support :Jeremy Allison1-0/+2
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)
1999-12-21Added new unicode functions - not used yet, but are the basis for theJeremy Allison1-17/+3
internal unicode conversion of Samba. Jeremy. (This used to be commit 302412df64aa4b6572b13ef61dfd68c3f8ebbb8b)
1999-12-21converted all our existing shared memory code to use a tdb databaseAndrew Tridgell1-9/+12
instead of either sysv or mmap shared memory or lock files. this means we can now completely remove locking_shm.c locking_slow.c shmem.c shmem_sysv.c and lots of other things also got simpler locking.c got a bit larger, but is much better compartmentalised now (This used to be commit e48c2d9937eea0667b8cd3332e49c06314ef31e7)
1999-12-21first cut at using the tdb code for the connections structure, theAndrew Tridgell1-0/+6
SWAT status page and smbstatus. It made the code _much_ simpler, I wish we'd done a database module a long time ago! (This used to be commit 4951755413c11d4c5b9af4699a6e622056d52433)
1999-12-21first pass at the database code for Samba. This also includes a testAndrew Tridgell1-0/+11
suite and a very simple tool for manuipulating the databases. the main code is in tdb/tdb.c and includes both mmap and file based IO. All databases auto-expand and allow multiple simultaneous writers. the next step is using this new capability in lots of places in Samba where we have existing ad-hoc databases (This used to be commit c89d29cc5e3b6d568928acace01144059f1668b3)
1999-12-13first pass at updating head branch to be to be the same as the SAMBA_2_0 branchAndrew Tridgell1-2624/+850
(This used to be commit 453a822a76780063dff23526c35408866d0c0154)
1999-12-12changed function name of get_home_dir() to get_unixhome_dir(), to stopLuke Leighton1-1/+9
clash with gnu readline library. fixed issue with [homes] service not being there - call lp_add_home() just before starting the msrpc processing. (This used to be commit 054195df9b6187c663ede5cf4489499abbdc29fc)
1999-12-12final part of "first" phase converting over to msrpc daemon architecture.Luke Leighton1-28/+71
done a minimal amout of clean-up in the Makefile, removing unnecessary modules from the link stage. this is not complete, yet, and will involve some changes, for example to smbd, to remove dependencies on the password database API that shouldn't be there. for example, smbd should not ever call getsmbpwXXX() it should call the Samr or Lsa API. this first implementation has minor problems with not reinstantiating the same services as the caller. the "homes" service is a good example. (This used to be commit caa50525220b0d0250fa139367593c2de2c12135)
1999-12-12delineation between smb and msrpc more marked. smbd now constructsLuke Leighton1-24/+39
pdus, and then feeds them over either a "local" function call or a "remote" function call to an msrpc service. the "remote" msrpc daemon, on the other side of a unix socket, then calls the same "local" function that smbd would, if the msrpc service were being run from inside smbd. this allows a transition from local msrpc services (inside the same smbd process) to remote (over a unix socket). removed reference to pipes_struct in msrpc services. all msrpc processing functions take rpcsrv_struct which is a structure containing state info for the msrpc functions to decode and create pdus. created become_vuser() which does everything not related to connection_struct that become_user() does. removed, as best i could, connection_struct dependencies from the nt spoolss printing code. todo: remove dcinfo from rpcsrv_struct because this stores NETLOGON-specific info on a per-connection basis, and if the connection dies then so does the info, and that's a fairly serious problem. had to put pretty much everything that is in user_struct into parse_creds.c to feed unix user info over to the msrpc daemons. why? because it's expensive to do unix password/group database lookups, and it's definitely expensive to do nt user profile lookups, not to mention pretty difficult and if you did either of these it would introduce a complication / unnecessary interdependency. so, send uid/gid/num_groups/gid_t* + SID+num_rids+domain_group_rids* + unix username + nt username + nt domain + user session key etc. this is the MINIMUM info identified so far that's actually implemented. missing bits include the called and calling netbios names etc. (basically, anything that can be loaded into standard_sub() and standard_sub_basic()...) (This used to be commit aa3c659a8dba0437c17c60055a6ed30fdfecdb6d)
1999-12-08jerry spotted that get_domain_sids() was being called with the wrongLuke Leighton1-2/+2
arguments: get_any_dc_name() was being called with a server name not a domain name. oops. (This used to be commit 631814302d6992138cfe024ba7bd456cc7e0d3bf)
1999-12-08ABOUT TIME!!!!!!!!Luke Leighton1-20/+45
damn, this one is bad. started, at least two days ago, to add an authentication mechanism to the smbd<->msrpc redirector/relay, such that sufficient unix / nt information could be transferred across the unix socket to do a become_user() on the other side of the socket. it is necessary that the msrpc daemon inherit the same unix and nt credentials as the smbd process from which it was spawned, until such time as the msrpc daemon receives an authentication request of its own, whereupon the msrpc daemon is responsible for authenticating the new credentials and doing yet another become_user() etc sequence. (This used to be commit 30c7fdd6ef10ecd35594311c1b250b95ff895489)
1999-12-06the first independent msrpc daemon - lsarpcd.Luke Leighton1-16/+44
one horrible cut / paste job from smbd, plus a code split of shared components between the two. the job is not _yet_ complete, as i need to be able to do a become_user() call for security reasons. i picked lsarpcd first because you don't _need_ security on it (microsoft botched so badly on this one, it's not real. at least they fixed this in nt5 with restrictanonymous=0x2). fixing this involves sending the current smb and unix credentials down the unix pipe so that the daemon it eventually goes to can pick them up at the other end. i can't believe this all worked!!! (This used to be commit 2245b0c6d13c7c5886e81f9137b05df883598c26)
1999-12-05first version of msrpc agent redirector code. client-side only.Luke Leighton1-2/+35
(This used to be commit 5e5a1dceee0b6088822697284d3e0af04d197477)
1999-12-05created create_pipe_socket() function.Luke Leighton1-6/+8
(This used to be commit a3af3b4312144943413894b18b5845b56474ebb5)
1999-12-04cool! created higher-order function table for agent redirection.Luke Leighton1-0/+6
(This used to be commit 7bb2e55d0d3a00a97bba99ebed722a4adf84093c)
1999-12-04jeremy is going to hate me for this.Luke Leighton1-0/+3
created an "nmb-agent" utility that, yes: it connects to the 137 socket and accepts unix socket connections which it redirects onto port 137. it uses the name_trn_id field to filter requests to the correct location. name_query() and name_status() are the first victims to use this feature (by specifying a file descriptor of -1). (This used to be commit d923bc8da2cf996408194d98381409191dd81a16)
1999-12-03cool! a unix socket smb redirector. code based on smbfilter andLuke Leighton1-2/+5
ideas from ssh-agent. the intent is to be able to share smb sessions using cli_net_use_add() across multiple processes, where one process knows the target server name, user name and domain, but not the smb password. (This used to be commit 294b653f2e9cdc1864ec638ae8b4300df25723cf)
1999-12-02domain_client_validate() no longer takes serverlist, it callsLuke Leighton1-1/+1
get_any_dc_name(). (This used to be commit e21367c0ebdc5e202cdc39d50950bff089bf67f8)
1999-12-02cleaning up: removing those horrible references to server listLuke Leighton1-10/+5
functions (cli_net_use_addlist()). needed originally because there was no get_dc_any_name() function. (This used to be commit 3a2b920ea2e6704b2574f404e1e41c7cfc0f96b2)
1999-12-02added get_any_dc_name() function.Luke Leighton1-1/+10
(This used to be commit 455e17dbb7d451b462004f302f5c68770f17b65e)
1999-12-02need a domain resolving function, but get_trusted_serverlist() will do.Luke Leighton1-0/+1
this is horrible. (This used to be commit 9df973fe711f322075d86d6792d6c0b8539c1d00)
1999-12-02default SID map now reads in "trusted domains" from smb.conf.Luke Leighton1-0/+3
(This used to be commit f0946d1ccafeb5f541935b41f2d54bcbc06797ed)
1999-12-02improved enumdomains added -i option.Luke Leighton1-1/+2
(This used to be commit 50dc709fa95e86ebe2b3132176241cb3a2cc4e36)
1999-12-01more cli_session_setup() calls. what the heck are these doing???Luke Leighton1-0/+1
they should all be replaced with cli_establish_connection(). created cli_use_wait_keyboard() which waits on multiple cli_states and swallows session keepalives. (This used to be commit fcc39b3f4f2f8d04d3fab09db048b4f3dc1e97d5)
1999-12-01damn, that took a while. nt login password was being stored incorrectlyLuke Leighton1-6/+6
in private .mac file (oops). ntlogin test now works. (This used to be commit c98c66690683965612e9631d77c2dff91ec8a872)
1999-12-01fixing joining to domain plus something weird going down with nt logins...Luke Leighton1-4/+6
(This used to be commit cef258f1c931ecb7c2dda9d5c9977153e4c1dc73)
1999-12-01improving createuser account command to be able to add workstationsLuke Leighton1-6/+10
and then set a default random password. (This used to be commit 7846818432a93295651c8c67445a2d6a0f3b21d8)
1999-12-011) when no domain used in ntlogin test command, should use default oneLuke Leighton1-0/+1
from previous lsaquery command. over-ridden from DOMAIN\username 2) initialisation of cli_state is a little more specific: sets use_ntlmv2 to Auto. this can always be over-ridden. 3) fixed reusage of ntlmssp_cli_flgs which was being a pain 4) added pwd_compare() function then fixed bug in cli_use where NULL domain name was making connections multiply unfruitfully 5) type-casting of mallocs and Reallocs that cause ansi-c compilers to bitch (This used to be commit 301a6efaf67ddc96e6dcfd21b45a82863ff8f39a)
1999-12-01sys_select added one more argument (read, write selectors).Luke Leighton1-83/+111
(This used to be commit e4d92ff9dfc51735e6932748f66a7c20b2c1cb6a)
1999-11-29bug-fixLuke Leighton1-1/+1
(This used to be commit 1abdf9a45ff2e1d903a08891fbec0794349a9546)
1999-11-29this is going to sound _really_ weird, ok, but i had to implementLuke Leighton1-2/+15
equivalents of NetUseAdd and NetUseDel! (This used to be commit 86f4b1d3cc3887c4bb7bd6433f5f932f7db1b88e)
1999-11-29attempting to resolve the issue that multiple servers often specified inLuke Leighton1-5/+5
parameters to connect to \PIPE\NETLOGON. (This used to be commit d1986ade30bdcac1f49707221a3e5a5ae597ce62)
1999-11-29ok. got ntlogin command working. argh, it maintains a connection toLuke Leighton1-1/+6
the remote machine, because i don't know what to _do_ with it!!!! argh!!! (This used to be commit 85cc680736f17e3f879895be5dac8f1427653919)
1999-11-29first attempt at getting \PIPE\NETLOGON working. it's pretty horrible.Luke Leighton1-39/+71
(This used to be commit 44dd3efa6380544e9a515e91960f9271498cefaf)
1999-11-27well, i stuffed up the spooler commands.Luke Leighton1-20/+13
(This used to be commit 7a696330586b9ad5157b0c1ab249cc66e9accef7)