1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-29 21:47:30 +03:00

841 Commits

Author SHA1 Message Date
Gerald Carter
fe245e2a92 Added EnumPorts() and fixed up some problems
with the other spoolss client calls.

Also cleaned up output for 'help' command.


jerry
(This used to be commit a0e8a55c279af50c1f770c7b913262094b9b593a)
2000-07-21 20:01:20 +00:00
Christopher R. Hertel
3c9e410c34 Instead of handing back a string (which might be a DNS name or an IP
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-19 05:32:43 +00:00
Christopher R. Hertel
b35f21fb3a First cut toward adding WINS server failover.
*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-19 01:21:30 +00:00
Gerald Carter
695e596446 I really didn't like the way generic arrays (lists) were
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-18 05:12:49 +00:00
Tim Potter
c9dc68746b Added some debugs.
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)
2000-07-17 02:36:19 +00:00
Gerald Carter
02fd5b08b5 Fixed a bug in cmd_interp.c where if user%pass was entered on
the command line, the password would still be cached in memory
in plain text for the lifetime of the rpcclient command line session.

removed loopback connection functions from msrpc-client.c since
we don't support that in the server code now anyways.  simplify,
simplify, ...


--jerry
(This used to be commit 8599e1bc394b1caee2483ec72d439a34d3f30629)
2000-07-14 16:54:07 +00:00
Tim Potter
9e2b1074aa Uninitialised variables.
(This used to be commit a895868912a24589de3a904ca537cf3367a645bf)
2000-07-13 01:21:21 +00:00
Gerald Carter
997e113a56 Fixed a bug in parsing the command line.
jerry
(This used to be commit ebcb7473c6b62266c30e276d02186d8e50a5629a)
2000-07-10 19:56:15 +00:00
Tim Potter
b561c18597 Fixes for various compile warnings on Solaris 8.
(This used to be commit 898a483cdab1ed7d8ff902c0dc0e0620440ae4cd)
2000-07-10 06:41:04 +00:00
Tim Potter
64299375b5 Moved winbind client functions from various odd locations to
nsswitch/wb_client.c

Merge of nsswitch/common.c rename to nsswitch/wb_common.c from TNG.
(This used to be commit f866c18f6be65db67d9d2a6c0b42e1af3b421e6c)
2000-07-10 05:40:43 +00:00
Tim Potter
8c0bb0c241 Added some useful debugging stuff.
Fixes for se_access_check() when you are the owner of the object.
(This used to be commit 1478198b709b26d0007a8ff0586c34fc6f37a9d2)
2000-07-10 04:54:09 +00:00
Gerald Carter
d2b40a7de2 More rpcclient merge issues:
* fixes some readline bugs from the merge
        * first attempt at commands (spoolenum almost works)
        * no changes to existing functions in HEAD; only additions
          of new functions.  I'll weed out what I can as I go.




--jerry
(This used to be commit 61d2aad5dc2b212b11c981f1eca47efa627e9fc8)
2000-07-07 06:20:46 +00:00
Tim Potter
cfc7266a7b Rewrite of se_access_check() function. Added comments and fixed a bunch of
bugs.  I think there is a problem though with the permissions granted when
SEC_RIGHTS_MAXIMUM_ALLOWED is passed as the permissions requested.
(This used to be commit 27d821913c87dddd44a0690f4b191c9d2445817e)
2000-07-06 06:57:22 +00:00
Tim Potter
084af3c5be Added global_sid_NULL S-1-0-0 to list of global sids.
(This used to be commit f49905e74c6e3891b5816b136fd1d0d77c392e2f)
2000-07-06 06:48:54 +00:00
Tim Potter
8a72991abb Bracked unbracketed macro arguments while looking for another bug.
(This used to be commit 873774e36dfc877727133a86fbc2c2ddc2d563cd)
2000-07-06 01:30:41 +00:00
Gerald Carter
33f6a1d9bb first pass at merging rpcclient from TNG to HEAD. You can get a
semi-connection and a rpcclient prompt, but no functionality there yet.
Will be a few more days on that.

--jerry
(This used to be commit 269051aa0c52728278a1d290148564f11cf7f189)
2000-07-03 04:28:29 +00:00
Andrew Tridgell
bdb98d93f2 fixed size alignment in talloc
(This used to be commit 064cdb7ee69bff3af12d1e0b3c3b59207c594681)
2000-06-26 08:18:42 +00:00
Jeremy Allison
ec1c58fcc0 lib/util_sid.c: Uninitialized memory read.
rpc_parse/parse_spoolss.c: Added note about prs_align when marshalling a SEC_DESC...
rpc_server/srv_lsa.c: Tim - your changes broke the display of the 'everyone' group
						when doing file access with no winbindd running. This is a partial
						fix - more when I have analysed this more.
rpc_server/srv_spoolss_nt.c: Fix for the 'change driver' problem ! Hurrah !

Jeremy.
(This used to be commit 151b131ee01ef916c072bcdaa9943a2e984a0f45)
2000-06-24 00:15:08 +00:00
Jeremy Allison
5dd2bd5076 lib/util_unistr.c: Off-by-one fix for dos_PutUniStr from John Reilly jreilly@hp.com.
Memory leak fix for new sec_ctx code (sorry Tim :-).
Jeremy.
(This used to be commit edaf49c66d5a5ccf6689b358c301e208599a468f)
2000-06-23 17:31:38 +00:00
Jeremy Allison
f9e9f98a4a lib/util_unistr.c: Removed ascii_to_unistr() as it does no codepage.
Removed unistr_to_ascii() as it was never used.
printing/nt_printing.c: Removed "DUMMY.XX" files.
rpc_server/srv_spoolss_nt.c: Use dos_PutUniCode() instead of ascii_to_unistr().
							Attempted to fix the "return value" size code based on J.F's
							comments. This needs looking at.
Jeremy.
(This used to be commit de99011bf3b2a23bd1854a047382a107aaeb9c68)
2000-06-22 01:39:17 +00:00
Andrew Tridgell
a7b5b10a0a fixed two minor bugs in new sys_select()
(This used to be commit 5afc5f503144c81ebc6139719fd88335fd30f4ad)
2000-06-21 12:14:51 +00:00
Jeremy Allison
5e06151e4d Paranoia changes to ensure that anything touched by a signal handler
and the main code is declared as VOLATILE SIG_ATOMIC_T.
Jeremy.
(This used to be commit b737c784e34b0e1af014cb828ef37d5b6d73c3e2)
2000-06-19 21:30:27 +00:00
Tim Potter
3bf8d26f7c Merged parse_domain_user() from TNG.
(This used to be commit f64ac9d9068901862290f7b25874156d6f0d4d73)
2000-06-14 09:57:51 +00:00
Andrew Tridgell
5dc618460d forgot to checkin select.c
(This used to be commit 719bc2f130393a55058f5c45ca6fbd30a78de2dc)
2000-06-13 03:29:36 +00:00
Andrew Tridgell
b2d01bd2db totally rewrote the async signal, notification and oplock notification
handling in Samba. This was needed due to several limitations and
races in the previous code - as a side effect the new code is much
cleaner :)

in summary:

- changed sys_select() to avoid a signal/select race condition. It is a
  rare race but once we have signals doing notification and oplocks it
  is important.

- changed our main processing loop to take advantage of the new
  sys_select semantics

- split the notify code into implementaion dependent and general
  parts. Added the following structure that defines an implementation:

struct cnotify_fns {
	void * (*register_notify)(connection_struct *conn, char *path, uint32 flags);
	BOOL (*check_notify)(connection_struct *conn, uint16 vuid, char *path, uint32 flags, void *data, time_t t);
	void (*remove_notify)(void *data);
};


then I wrote two implementations, one using hash/poll (like our old
code) and the other using the new Linux kernel change notify. It
should be easy to add other change notify implementations by creating
a sructure of the above type.

- fixed a bug in change notify where we were returning the wrong error
  code.

- rewrote the core change notify code to be much simpler

- moved to real-time signals for leases and change notify

Amazingly, it all seems to work. I was very surprised!
(This used to be commit 44766c39e0027c762bee8b33b12c621c109a3267)
2000-06-12 15:53:31 +00:00
Andrew Tridgell
6de513cef4 fixed a bug in BlockSignals() for systems that don't have
sigprocmask()
(This used to be commit abf06fa90ba49f6a1ec5458d056f8b8cf20b6512)
2000-06-12 06:09:39 +00:00
Andrew Tridgell
8843a6379d Linux kernel oplocks now seem to work, but need a _lot_ of testing
I had to modify sys_select() to not loop on EINTR. I added a wrapper
called sys_select_intr() which gives the old behaviour.
(This used to be commit b28cc4163bc2faaa80c5782fc02c8f03c410cdeb)
2000-06-11 05:57:58 +00:00
Andrew Tridgell
52cb05678a continued the split of the kernel level oplocks code into a more
modular form. In this pass I added oplock_irix.c and added a "struct
kernel_oplocks" that describes a kernel oplock implementation.
(This used to be commit b5ceab810292602ea9a81696c20a781c16b706c2)
2000-06-10 13:38:07 +00:00
Jeremy Allison
eab8f3c940 Fix from Elrond for hash table corruption. Should fix stat cache bug (I
sincerely hope :-). Thanks elrond !
Jeremy.
(This used to be commit 0d59e8c6bf49e06f11b386f9d805474771365f52)
2000-06-09 18:54:41 +00:00
Jean-François Micouleau
e58682eb07 do some standard_sub_advanced() in api_net_sam_logon on lp_logon_xxx().
and if you have unix realname=yes, you get the gecos name when locking the
station.

	J.F.
(This used to be commit b5ad24ae0b15643df5832e2369fb4e43c98a1359)
2000-06-09 14:13:11 +00:00
Andrew Tridgell
15cf0e8470 clean up oplock capability code ready for Linux code
(This used to be commit 70dcc791b45ac64fc536ef449e4e6b53b2b68fd4)
2000-06-09 06:58:06 +00:00
Luke Leighton
1bdbb4e601 added se_access_check.
(This used to be commit 6de329f6bf9c26e132869cf43d4976d4881e285c)
2000-06-08 08:41:28 +00:00
Jeremy Allison
f0080e5a39 Getting back to a compilable state (not there yet but close).
Added patches for random -> sys_random.
Added set_effective_xxx patches for AFS code.
Memory allocation changes in spoolss code.
Jeremy.
(This used to be commit c2099cfb033c2cdb6035f4f7f50ce21b98e1584d)
2000-06-01 17:01:34 +00:00
Jeremy Allison
2a4ce0f0b9 The functionality in this file has been moved into smbd/unix_acls.c in order
to make the acl functionality regular (we can have smbd/posix_acls etc).
Jeremy.
(This used to be commit 9adb9399df27c5c1d7fec04f80d49e5476200738)
2000-05-31 17:47:39 +00:00
Matthew Chapman
badb7fc0d2 Fixed LsaQueryInformationPolicy level 3 to return primary domain info.
Domain SID is saved in secrets.tdb upon joining domain.

Added "Authenticated Users" and "SYSTEM" well-known SIDs (under
NT Authority).
(This used to be commit 7710b4f48d3e8532df5e37f99a779758f750efdb)
2000-05-29 01:23:48 +00:00
Andrew Tridgell
6c9f6b22cb don't return a passwd struct for usernames that don't
belong to us
(This used to be commit 2740a80e30cbf512d51ba76684905a904c2fddf7)
2000-05-29 01:08:18 +00:00
Andrew Tridgell
5f7c40f6d0 getting and setting security descriptors on printers now works
this needed some fixes in tdb_unpack(). Tim, you'll need to update
(This used to be commit 9422719ab4c35e4ce3199b62dd632433bf391283)
2000-05-27 09:53:11 +00:00
Luke Leighton
712a30ed51 prs_give_memory in wrong place, also poss. was losing mem.
(This used to be commit 9805e17cd0ce427c329a8b5a8318d5f75227e283)
2000-05-27 09:19:57 +00:00
Luke Leighton
682cccd8af unistr_to_dos not unistr_to_ascii
(This used to be commit f46c4fe876a0cabe7044ca30c17e6c217d618635)
2000-05-27 02:05:15 +00:00
Luke Leighton
54695647ef fixed nttrans.c
(This used to be commit 06cd46b0ec10b32af54edd8256d2fdbec45e1371)
2000-05-27 01:56:26 +00:00
Jeremy Allison
7b49e6ac6c Changed name of case_sensitive in mask_match to avaid gcc "shadow global"
warning.
Jeremy.
(This used to be commit 36629d2a934fe61e68f87c5d2faf67158b365ae6)
2000-05-17 20:54:56 +00:00
Jeremy Allison
fa659fea9b Added unicode_to_dos_char() function to address converting single UNICODE
characters to one or more DOS codepage characters.
Jeremy.
(This used to be commit eefbfb5e16fcf40f335edc840a49f837f6b64111)
2000-05-12 14:28:48 +00:00
Andrew Tridgell
479c73559e use "winbind separator" option for domain/user separator character
(This used to be commit 6cbb826b154e61085fd651116caf472d4d438c1d)
2000-05-12 06:30:45 +00:00
Jeremy Allison
612738a9e1 lib/util_unistr.c:
libsmb/clilist.c:
rpc_server/srv_spoolss_nt.c:
smbd/trans2.c: Changed unistr_to_ascii to unistr_to_dos - do codepage conversion.
msdfs/msdfs.c: Removed stub unistr_to_dos.
libsmb/pwd_cache.c: Removed obfuscation functions as they don't do anything and
					don't add any security.
Jeremy.
(This used to be commit 1ed146467e764e6a81d8f78cd58fb5765ebf5d21)
2000-05-10 22:47:09 +00:00
Andrew Tridgell
43a3faab08 - changed smb_getpwnam() to use winbind style usernames
- finished ntdom -> winbind rename in head
(This used to be commit ada483cb56453afc6df4ec4be18bfe5e943c7150)
2000-05-10 14:48:33 +00:00
Andrew Tridgell
49a0e6d598 more merging voodoo
this adds "#define OLD_NTDOMAIN 1" in lots of places. Don't panic -
this isn't permanent, it should go after another few merge steps have
been done
(This used to be commit 92109d7b3c06f240452d39f669ecb8c9c86ab610)
2000-05-10 10:41:59 +00:00
Jeremy Allison
c33b0a6074 Fix for VMS platforms from "John E. Malmberg" <wb8tyw@qsl.net>
Jeremy.
(This used to be commit eb281324fa409296bb3f29c9b7c59b2337fadc0d)
2000-05-08 18:24:26 +00:00
Andrew Tridgell
f6844e0b7e a minimal change to get appliance mode to work with winbindd
we needed to accept usernames of the form DOMAIN/user, which means we
needed to pass the domain to a getpwnam() like routine in certain
critical spots.

What I'd rather do is get rid of "char *user" everywhere and use the
new userdom_struct, but that will have to wait a few days.
(This used to be commit 8b7a10febead8be182e7d5b1d68259e31530b69c)
2000-05-04 16:01:47 +00:00
Andrew Tridgell
32d5416b6a split the username in the vuser structure into a separate
userdom_struct. As the name implies this also contains a domain
(unused at the moment).

This will be important shortly, as operation in appliance mode needs
the domain to be always carried with the username.
(This used to be commit ee8546342d5be90e730372b985710d764564b124)
2000-05-02 13:55:42 +00:00
Jeremy Allison
ba020b0612 Moved uglyness needed in fcntl locking (64->32 bit mapping, NFS
errors etc.) into locking/posix.c, where it is needed. fcntl_lock in lib/util.c
is now very small and clean.
Added (*lock) op to vfs layer.
Jeremy.
(This used to be commit 46092ee1410faa4e3c143d80a960a8adaa19d7fc)
2000-05-02 03:20:47 +00:00