1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-25 23:21:54 +03:00
Commit Graph

439 Commits

Author SHA1 Message Date
Tim Potter
2d27d8c720 Fixes to get pam_auth() functionality working again.
(This used to be commit 083b74c743)
2001-05-17 06:08:49 +00:00
Tim Potter
dd0cca5c21 Broke out change trust account password routines into separate file
since they're only used in one place anyway (timeout_processing() in
process.c)
(This used to be commit d1e5d5d62f)
2001-05-17 02:52:45 +00:00
Richard Sharpe
e307e9d814 Fix a stupid typo in Makefile.in that prevented the libsmbclient code
from being compiled with -fpic ... Larger changes coming ... I want to move
to -fPIC etc.
(This used to be commit 122e2753d5)
2001-05-16 15:33:07 +00:00
Tim Potter
84913375cc Added winbind programs to build for supported systems (i.e linux and
solaris) so the autobuilder can have a crack at it.

Cosmetic fix for large file support ./configure output.
(This used to be commit ded776af28)
2001-05-16 02:32:34 +00:00
Richard Sharpe
1b1aaa9dbe Make libsmbclient.so by default now.
Once we are happy with this in head, we will migrate it to 2.2.x.
(This used to be commit bf69d30b07)
2001-05-14 16:10:48 +00:00
Tim Potter
1b739fdcb7 So I promised Andrew that a winbindd_proto.h file wouldn't be necessary.
Unfortunately it is for the moment.  )-:
(This used to be commit 29f9a6c571)
2001-05-14 04:08:42 +00:00
Tim Potter
c504e240a8 OK so I couldn't be as clever as I wanted to be with winbindd_glue.c
so all the glue functions are prefixed with wb_ to avoid conflicts with
the old rpc_client stuff which is still a dependency of smbd/nmbd.
(This used to be commit 873e672b90)
2001-05-07 06:04:22 +00:00
Tim Potter
a36f9250e7 Preliminary merge of winbind into HEAD. Note that this compiles and links
but I haven't actually run it yet so it probably doesn't work.  (-:
(This used to be commit 59f95416b6)
2001-05-07 04:32:40 +00:00
Jean-François Micouleau
f35157f392 Big cleanup of passdb and backends.
I did some basic tests but I have probably broken something. Notably the
password changing. So don't cry ;-)

	J.F.
(This used to be commit a4a4c02b12)
2001-05-04 15:44:27 +00:00
Andrew Tridgell
07a229ec55 make clean should remove PROGS
(This used to be commit 783728fa8c)
2001-04-29 04:54:56 +00:00
Andrew Tridgell
3c71214d47 don't need slprintf.c any more
(This used to be commit 025285e179)
2001-04-28 13:52:50 +00:00
Gerald Carter
a8e0600654 removing the references to rpc_client_proto.h
(This used to be commit e7ef88dfee)
2001-04-28 00:35:05 +00:00
Gerald Carter
98489e9490 removed SMBRUN references
(This used to be commit bab7bb2d4e)
2001-04-26 02:24:45 +00:00
Andrew Tridgell
5f9dca64da merge some of the nsswitch code from tng to head
the libnss_winbind.so from head now works with
the winbindd from tng
(This used to be commit 67ccfd2826)
2001-04-25 05:47:50 +00:00
John Terpstra
c5eca67b0a Added Steve Langasek <vorlon@netexpress.net> pam_smbpass support
(This used to be commit 550cc5c182)
2001-04-24 21:13:48 +00:00
Andrew Tridgell
9ce5a03ccb merge from 2.2
(This used to be commit f52a5014ee)
2001-04-18 16:41:04 +00:00
Jeremy Allison
2ef68c7e92 Merge of Andrew's changes in 2.2.
Jeremy.
(This used to be commit fc76681812)
2001-04-13 19:12:06 +00:00
Tim Potter
3e24c65101 Added a caching system to smbsh. Previously access to workgroup or server
directories under /smb generated net share enum or net server enum calls.
For large networks this could result in bad performance.  We now cache these
results and only call net * enums after the cache timeout has exceeded.
(This used to be commit 1e38eef54d)
2001-04-12 05:53:07 +00:00
Jeremy Allison
ef1a7311ce Added JohnT and Andrew Bartlett's PAM changes.
Jeremy.
(This used to be commit ecd00e258c)
2001-04-10 18:10:38 +00:00
Jean-François Micouleau
0053bd8b80 first pass of the new group mapping code
J.F.
(This used to be commit 7154deb026)
2001-03-23 00:50:31 +00:00
Andrew Tridgell
9c4927d362 much better readline support from Simo Sorce, with some mods from me
to make it a bit simpler
(This used to be commit e1487eb2c4)
2001-03-18 13:24:57 +00:00
Jeremy Allison
65d35749b7 Added Michael Sweet's CUPS patch to call directly into the CUPS backend.
Parameterises the printing functions so other backends can be plugged
directly in (this is a good thing :-).
Jeremy.
(This used to be commit c0345bbaed)
2001-03-16 05:55:30 +00:00
Jeremy Allison
24993180ab Dead code removal. Not used anywhere.
Jeremy.
(This used to be commit 90f334be23)
2001-03-11 22:02:48 +00:00
Jeremy Allison
ce069f4132 Ok - everything now compiles in HEAD (at least the default stuff). We
should now be ready for the trivial winbindd port..... (Tim ? :-).
Jeremy.
(This used to be commit 85021b1638)
2001-03-11 00:44:30 +00:00
Jeremy Allison
da3053048c Merge of new 2.2 code into HEAD (Gerald I hate you :-) :-). Allows new SAMR
RPC code to merge with new passdb code.
Currently rpcclient doesn't compile. I'm working on it...
Jeremy.
(This used to be commit 0be41d5158)
2001-03-11 00:32:10 +00:00
Andrew Tridgell
b08b70faf8 started support for unicode on the wire in smbd. Using a very similar
method to what was used in the client I now have session setup and
tconx working.

Currently this is enabled with SMBD_USE_UNICODE environment
variable. Once the code is complete this will become a smb.conf
option.
(This used to be commit 7684c1e672)
2001-03-10 11:38:27 +00:00
Jeremy Allison
ef2de912f2 Separated dfs pipe into implementation and interface modules.
rpc_parse/parse_dfs.c: Had to add buffer overrun checking ! HOW DID THIS GET IN HERE !
rpc_parse/parse_prs.c: Ensure prs_alloc_mem does a memset of zero before returning.
Jeremy.
(This used to be commit c9a6a17025)
2001-02-27 02:09:50 +00:00
Jeremy Allison
de187df10c Split srvsvc pipe into interface and implementation modules.
Jeremy.
(This used to be commit e14c88ddf4)
2001-02-26 22:05:41 +00:00
Jeremy Allison
95731132dc Split wks pipe into interface and implementation modules.
Jeremy.
(This used to be commit 6a16b3850f)
2001-02-26 20:06:25 +00:00
Jeremy Allison
d757d61abf Separated lsa code into interface and implementation.
Jeremy.
(This used to be commit 1cc96e0340)
2001-02-26 19:45:00 +00:00
Jeremy Allison
1c8eb37534 Separated reg code into interface & implementation.
libsmb/namequery.c: Removed ununsed variables.
Jeremy.
(This used to be commit b857113f40)
2001-02-25 02:14:49 +00:00
Andrew Tridgell
3c270604c1 but it is needed for linking ...
(This used to be commit e7108a18b2)
2001-02-21 06:03:16 +00:00
Andrew Tridgell
63e6ffbe0d rpc_parse_samr.c doesn't exist in head ...
(This used to be commit ea81a3ec88)
2001-02-21 05:58:00 +00:00
Andrew Tridgell
a8ab984078 the unicode conversion of our client code is complete enough to be
enabled by default

you can disable it by setting the environment variable CLI_FORCE_ASCII
(This used to be commit 4d59c08c5e)
2001-02-21 03:40:20 +00:00
Andrew Tridgell
6492d6b2f6 initial client side unicode support (needed for netapp filer)
I've currently got this code disabled by default as it is
incomplete. You enable it by setting a USE_UNICODE environment
variable. Once the support is complete this check will be removed and
the CAP_UNICODE capability bit will be the sole determination of
whether the client library code uses unicode

right now I have converted session_setup and tconx. I will do more fns
over the next few days.

see clistr.c for the new client side string interface. Luckily it
tends to make the code smaller and neater while adding unicode
support.
(This used to be commit e1a04e621f)
2001-02-20 08:09:06 +00:00
Richard Sharpe
a44daf2961 Add Makefile.in target for installing smbclientlib ...
(This used to be commit 2b9c6d1c9e)
2001-02-07 19:41:19 +00:00
Tim Potter
5d67bb9baf Added Baltic codepage support. From Toomas Soome <tsoome@ut.ee>
(This used to be commit d0c5339486)
2001-02-02 17:31:33 +00:00
Tim Potter
2537e23620 Fix for KOI8-R codepage from Andrey Kiselev <dron@at1895.spb.edu>
(This used to be commit 7a08c3a699)
2001-01-31 17:09:13 +00:00
Tim Potter
be09d25902 Patch to get smbcacls and rpcclient to compile together.
(This used to be commit 5a9870f22d)
2001-01-23 17:32:47 +00:00
Tim Potter
4673a99187 Some ugly mucking around to get the new rpcclient compiling and linking
with the new samr code and have prototypes working and smbd linking.
(This used to be commit 6d61f11788)
2001-01-15 23:53:33 +00:00
Tim Potter
cd7d339e17 Removed link errors between rpcclient and smbd.
(This used to be commit e5b078ee7c)
2001-01-11 23:49:21 +00:00
Tim Potter
bd72966aaa New makefile and proto for rpcclient.
(This used to be commit fdf044c351)
2001-01-11 23:11:16 +00:00
Tim Potter
6b51372c2e Codepages and stuff for Turkish language support. Contributed by
Deniz Akkus <akkus@alum.mit.edu>
(This used to be commit 5650c143a7)
2001-01-07 23:00:49 +00:00
David O'Neill
23807f2b30 Changes from APPLIANCE_HEAD:
source/Makefile.in
        - changes to ctags and etags rules that somehow got lost along the way.

    source/include/proto.h
        - make proto

    source/smbd/sec_ctx.c
    source/smbd/password.c
        - merge debugs for debugging user groups and NT token stuff.

    source/lib/util_str.c
        - capitalise domain name returned from parse_domain_user()

    source/nsswitch/wb_client.c
        - fix broken conditional in debug statement.

    source/include/rpc_secdes.h
    source/include/rpc_spoolss.h
    source/printing/nt_printing.c
    source/lib/util_seaccess.c
        - fix printer permission bugs related to ACE masks for printers.
          This adds mapping of generic access rights to object specific
          rights for NT printers.  Still need to work out whether or not to
          ignore ACEs with certain flags set, though. See comments in
          util_seaccess.c:check_ace() for details.

    source/printing/nt_printing.c
    source/printing/printing.c
        - use PRINTER_ACCESS_ADMINISTER instead of JOB_ACCESS_ADMINISTER
          until we sort out printer/printjob permission stuff.
(This used to be commit 1dba9c5cd1)
2001-01-04 19:27:08 +00:00
Richard Sharpe
b6cb83d0d1 Add a new file clidgram with routines that are used by the libsmbclient code.
These routines handle the sending of dgrams in ways that don't bind us to
the nmbd code, but we may merge the two routines at some stage.

Also fix Makefile.in so the new code is compiled ...

Let's see whether or not it compiles on other architectures ...

Seems OK under Linux.
(This used to be commit f7466ba67c)
2001-01-03 05:19:21 +00:00
Richard Sharpe
b87c484051 First pass at the libsmbclient code ...
This code handles the basic stuff and compiles and links under Linux, but
I do not know about any other operating systems. Now onto directory
listing routines, including those that list workgroups, servers, etc.

Nothing is built automatically yet, you have to make client/testsmbc to build
the library and test program. Also, no make install targets are defined for
libsmbclient.so as yet, either.

Would be good if people test on operating systems other than Linux.
(This used to be commit 51c0436a50)
2000-12-26 05:57:10 +00:00
Jeremy Allison
5c67f8de46 Added proto definition for new RPC calls.
Added printing fix from appliance-head.
Jeremy.
(This used to be commit f4c7f9ddb9)
2000-12-13 19:55:48 +00:00
Tim Potter
55b162d221 I think it's time to go home.
(This used to be commit fde66badf1)
2000-12-13 13:10:22 +00:00
Tim Potter
06ba5ec75d OK so I shouldn't have added cli_pipe.o to LIBSMB_OBJ.
(This used to be commit a724850eb8)
2000-12-13 13:04:49 +00:00
Tim Potter
d18fb4a2c9 Add libsmb/cli_lsarpc.o and rpc_client/cli_pipe.o to LIBSMB_OBJ. Not so
sure about the latter...

Modified SMBCACLS_OBJ
(This used to be commit c130d5b0f6)
2000-12-13 12:54:57 +00:00
Tim Potter
3478427f2e Port of lsa_lookup_sids() and lsa_lookup_names() rpc client functions from
TNG branch.

Re-instated lsa_lookup_sids and lsa_lookup_names functions in rpcclient.

This requires most samba binaries to link in another handful of object
files due to uncessary coupling between modules.  )-:
(This used to be commit 817819d0cc)
2000-12-08 03:34:00 +00:00
Jeremy Allison
70922b9bbe Cause smbd to use the new posix_acls code, not the old unix_acls code.
Currently does exactly the same thing (returns ACLs the same way). This
code is written to try and get a POSIX ACL via the abstract sys_XX interface,
then fall back to providing a UNIX based ACL if the calls fail. Seems to
work. Next step is to add a --with-posix-acls to configure.in and then
check on a POSIX ACL system that a complex ACL is returned correctly
as an NT ACL. Note that the ACL set (a more complex problem) is not
addressed yet.
Jeremy.
(This used to be commit 4339e20202)
2000-12-06 23:24:31 +00:00
Gerald Carter
e899f04a68 update for new pdbedit tool (code from Simo)
--jerry
(This used to be commit 3d0ecea18d)
2000-12-06 18:24:10 +00:00
Jeremy Allison
7e4c4721b4 Changed to sourceforge tdb code. This includes spinlocks (so we now have
a --with-spinlocks option to configure, this does mean the on-disk tdb
format has changed, so 2.2alphaX sites will need to re-create their
tdb's. The upside is no more tdb fragmentation and a +5% on netbench.
Swings and roundabouts....
Jeremy.
(This used to be commit 9dea7b7c25)
2000-12-06 00:05:15 +00:00
Andrew Tridgell
bf0f2ea6b6 make sure we don't duplicate object files
(This used to be commit 976b9f6264)
2000-12-03 05:23:46 +00:00
Andrew Tridgell
996bcb55a8 split the RPC_PARSE object into two pieces. The first is included as
part of LIBSMB and the latter is used by parts of samba that know
about the pwd backends
(This used to be commit 3420b52da5)
2000-12-03 02:15:58 +00:00
Gerald Carter
0dcbafe2b9 Another large patch for the passdb rewrite.
o added BOOL own_memory flag in SAM_ACCOUNT so we could
    use static memory for string pointer assignment or
    allocate a new string

  o added a reference TDB passdb backend.  This is only a reference
    and should not be used in production because
	- RID's are generated using the same algorithm as with smbpasswd
 	- a TDB can only have one key (w/o getting into problems) and we
	  need three.  Therefore the pdb_sam-getpwuid() and
	  pdb_getsampwrid() functions are interative searches :-(

    we need transaction support, multiple indexes, and a nice open
    source DBM.  The Berkeley DB (from sleepycat.com seems to fit
    this criteria now)

  o added a new parameter "private dir" as many places in the code were
    using lp_smb_passwd_file() and chopping off the filename part.
    This makes more sense to me and I will docuement it in the man pages

  o Ran through Insure-lite and corrected memory leaks.  Need for
    a public flogging this time Jeremy (-:



-- jerry
(This used to be commit 4792029a29)
2000-11-21 05:55:16 +00:00
Jeremy Allison
cdac09614e Fix for a problem with the new messaging system. If a sender is using the
messaging system as a notification mechanism, and the speed of notification
greatly exceeds the speed of message recovery, then you get a massively (>75Mb)
growing tdb. If the message is a simple notification, then the message is
static, and you only need one of them in transit to a target process at
any one time.
This patch adds a BOOL "allow_duplicates" to the message_send_XX primitives.
If set to False, then before sending a message the sender checks the existing
message queue for a target pid for a duplicate of this message, and doesn't
add to it if one already exists.
Also added code into msgtest.c to test this.
Jeremy.
(This used to be commit 3aa7995660)
2000-11-16 21:38:24 +00:00
Gerald Carter
9fede0dc0d Large commit which restructures the local password storage API.
Currently the only backend which works is smbpasswd (tdb, LDAP, and NIS+)
are broken, but they were somewhat broken before. :)

The following functions implement the storage manipulation interface

/*The following definitions come from  passdb/pdb_smbpasswd.c  */

BOOL pdb_setsampwent (BOOL update);
void pdb_endsampwent (void);
SAM_ACCOUNT* pdb_getsampwent (void);
SAM_ACCOUNT* pdb_getsampwnam (char *username);
SAM_ACCOUNT* pdb_getsampwuid (uid_t uid);
SAM_ACCOUNT* pdb_getsampwrid (uint32 rid);
BOOL pdb_add_sam_account (SAM_ACCOUNT *sampass);
BOOL pdb_update_sam_account (SAM_ACCOUNT *sampass, BOOL override);
BOOL pdb_delete_sam_account (char* username);

There is also a host of pdb_set..() and pdb_get..() functions for
manipulating SAM_ACCOUNT struct members.  Note that the struct
passdb_ops {} has gone away.  Also notice that struct smb_passwd
(formally in smb.h) has been moved to passdb/pdb_smbpasswd.c
and is not accessed outisde of static internal functions in this
file.  All local password searches should make use of the the SAM_ACCOUNT
struct and the previously mentioned functions.

I'll write some documentation for this later.  The next step is to fix
the TDB passdb backend, then work on spliting the backends out into
share libraries, and finally get the LDAP backend going.

What works and may not:

	o domain logons from Win9x 	works
	o domain logons from WinNT 4	works
	o user and group enumeration
		as implemented by Tim	works
	o file and print access		works
	o changing password from
		Win9x & NT		ummm...i'll fix this tonight :)

If I broke anything else, just yell and I'll fix it.  I think it
should be fairly quite.





-- jerry
(This used to be commit 0b92d0838e)
2000-11-13 23:03:34 +00:00
Gerald Carter
01e0d3879e TDB password backend support written by Simo Sorce <simo.sorce@polimi.it>
Marked as an experimental compile time option (defaults to off) for now.





jerry
(This used to be commit 0435af4417)
2000-10-26 03:31:41 +00:00
Jeremy Allison
a7f8d8b636 Fix to allow smbd to call winbindd if it is running for all group enumeration,
falling back to the UNIX calls on error. This should fix all problems with
smbd enumerating all users in all groups in all trusted domains via winbindd.
Jeremy.
(This used to be commit 54a1ae815b)
2000-10-13 01:16:35 +00:00
John Terpstra
96e27b10bf Fixes to allow wins.c to compile to allow building of libnss_wins.so.
(This used to be commit 3fb2e94c44)
2000-10-09 21:44:00 +00:00
Jean-François Micouleau
233bc00020 printer notify code.
It only sends notifies to one client. The broadcasting notify code will
code soon.

	J.F.
(This used to be commit 4c63c91858)
2000-09-25 21:05:18 +00:00
Andrew Tridgell
7be9a4fd4c first cut at smbcontrol program. It currently allows syntax like:
smbcontrol nmbd debug 7
  smbcontrol smbd debug 9
  smbcontrol 3278 debug 1
  smbcontrol nmbd force-election
(This used to be commit 5f91c24636)
2000-09-13 07:07:17 +00:00
Andrew Tridgell
3689e4ffc1 the first cut of the internal messaging system.
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 2a34ee95f3)
2000-09-11 07:02:43 +00:00
David O'Neill
a3a28675fa Changes from APPLIANCE_HEAD (per Tim Potter):
- 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 74af3e2cae)
2000-09-01 18:49:26 +00:00
Gerald Carter
e0d09910a1 make rpcclent by default.
--jerry
(This used to be commit e89117f418)
2000-08-29 14:32:23 +00:00
Gerald Carter
fca31d804e readded util_list.c (just to the RPCCLIENT_OBJ). I need to split
the file up i think.  Later.



--jerry
(This used to be commit ed54a9f4d1)
2000-07-20 13:39:51 +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 cc08bdc74f)
2000-07-19 01:21:30 +00:00
Gerald Carter
6f9afd1766 remove util_list from LIB_OBJS since it broke smbd build
(undefined references in link).  This is a quick fix.
I'll resolve things later.

Sorry everyone.




jerry
(This used to be commit ea64f2525d)
2000-07-18 19:05:50 +00:00
Gerald Carter
2a922bd09a Added lib/util_list.[c|o] to Makefile.in
--jerry
(This used to be commit 94967b31bb)
2000-07-18 05:19:29 +00:00
Gerald Carter
6a9db25270 a few changes to Makefile.in to clean up dependencies for rpcclient
--jerry
(This used to be commit 9206d59360)
2000-07-14 17:04:57 +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 f866c18f6b)
2000-07-10 05:40:43 +00:00
Gerald Carter
a3deb502e3 Just a few changes due to bringing some partial files back
from TNG to HEAD.



--jerry
(This used to be commit ddef41c134)
2000-07-07 06:24:16 +00:00
Tim Potter
01f7ba69ae Moved lib/util_seaccess.o from LIB_OBJ to SMBD1_OBJ as it is only used by
smbd.
(This used to be commit 539c32fa42)
2000-07-06 06:43:30 +00:00
Andrew Tridgell
da74939852 wrote a little sample smbw program
build using "make bin/smbw_sample"

this is to show people how to use smbw
(This used to be commit 7d7ceaa921)
2000-07-06 03:52:47 +00:00
Tim Potter
e7b5aba7f1 Merge of wbinfo program from TNG.
(This used to be commit 659e4d88ff)
2000-07-05 11:24:26 +00:00
Gerald Carter
efc9413278 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.

I need to clean this up a little.  Will work on that some more.

--jerry
(This used to be commit 1b305cb342)
2000-07-03 04:29:17 +00:00
Tim Potter
5d7c2db6f8 Added smbd/sec_ctx.o to smbd objects.
(This used to be commit 11897939bc)
2000-06-23 05:55:41 +00:00
Gerald Carter
3396a1d978 just enough to get rpcclient to compile. Look for #if 0
blocks around a few unimplemented functions.  Also had to
add cli_reg.c to Makefile.in


--jerry
(This used to be commit 426c43fb51)
2000-06-23 00:09:21 +00:00
Tim Potter
a08b01de50 Added nsswitch/common.o to SMBD_OBJ1
(This used to be commit 6c743427df)
2000-06-14 10:25:19 +00:00
Andrew Tridgell
c8de9b8fe1 enable the Linux change notify code and change some notify debug code
(This used to be commit c6be511fcc)
2000-06-12 17:06:00 +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 44766c39e0)
2000-06-12 15:53:31 +00:00
Andrew Tridgell
6db12f7180 split all the change notify code out into a separate module
smbd/notify.c. All the data structures are now private to that
module.

this is in preparation for Linux kernel support for change notify
(coming soon to a CVS tree near you)
(This used to be commit 1bb0aad4f6)
2000-06-12 05:32:28 +00:00
Andrew Tridgell
26848a3478 a first pass at Linux kernel oplocks support
(This used to be commit 3253085d98)
2000-06-10 14:29:31 +00:00
Andrew Tridgell
a9a512192d 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.

I also removed the maintainence mode from the Makefile. It was causing
too much trouble. If someone really likes it they can keep a patch
around to enable it themselves.
(This used to be commit fbeb980434)
2000-06-10 13:35:20 +00:00
Luke Leighton
1bdbb4e601 added se_access_check.
(This used to be commit 6de329f6bf)
2000-06-08 08:41:28 +00:00
Andrew Tridgell
7df31cb494 added locktest2
this uses 16 open file descriptors on 2 servers, with each server
accessed both via POSIX call and SMB calls. The idea is to test
NFS/SMB locking interaction.

Unfortunately the NT NFS locking implementation is so badly broken
that we don't have anything to test against
(This used to be commit 581498fe6b)
2000-06-05 13:53:56 +00:00
Jeremy Allison
a811ade9aa Fixed interface between new ACLS and nttrans code.
Jeremy.
(This used to be commit 400263245b)
2000-05-31 17:51:28 +00:00
Andrew Tridgell
82db6b6d9f don't build cli_reg in rpc client library until we merge that from tng
(This used to be commit 0cc59cc2c6)
2000-05-28 23:06:43 +00:00
Luke Leighton
682cccd8af unistr_to_dos not unistr_to_ascii
(This used to be commit f46c4fe876)
2000-05-27 02:05:15 +00:00
Luke Leighton
54695647ef fixed nttrans.c
(This used to be commit 06cd46b0ec)
2000-05-27 01:56:26 +00:00
Shirish Kalele
74d677ec59 Added the NETDFS pipe to allow remote administration of the msdfs symlinks
on the samba server.
(This used to be commit 15e7d8f6c5)
2000-05-18 18:43:53 +00:00
Shirish Kalele
651946153e The new msdfs implementation that uses symlinks to point to other
servers. Very intuitive.

Removed the dfs map parsing code and tdb maintenance code (files
msdfs/parse_dfs_map.c & msdfs/msdfs_tdb.c), dfs map loading and unloading
calls (param/loadparm.c smbd/server.c).

Added code to display msdfs format symlinks as directories in a
transact2_findfirst/findnext. (smbd/trans2.c)

Modified msdfs/msdfs.c to use the msdfs symlinks to
create dfs referrals.

Changed msdfs/README to reflect new operability.
(This used to be commit 6803d2574f)
2000-05-16 01:13:16 +00:00
Andrew Tridgell
4f21301ea6 in head as well ...
renamed ntdom to winbind
I think that using winbind in /etc/nsswitch.conf is better than ntdom
(This used to be commit 80f85b5359)
2000-05-10 14:17:21 +00:00
Andrew Tridgell
ddc9b8b406 more merging
it is now at the stage that winbindd can compile in the head branch,
but not link
(This used to be commit d178c00aae)
2000-05-10 09:49:55 +00:00
Andrew Tridgell
fe7f54bc99 don't attempt to build rpcclient in the head branch
(This used to be commit 1b6d01e115)
2000-05-09 13:21:58 +00:00
Andrew Tridgell
6bf1c3ac25 added some rules for winbindd and pam_winbind
(This used to be commit 6c5d139844)
2000-05-09 11:41:38 +00:00
Jeremy Allison
1684d534c8 Someone :-) forgot to add secrets.c to HEAD.
Jeremy.
(This used to be commit ac40971f30)
2000-05-08 18:14:25 +00:00
Andrew Tridgell
a7820eb9af need LOCKING_OBJ in locktest now
(This used to be commit 89e7199445)
2000-05-04 06:57:26 +00:00
Andrew Tridgell
1d3d724dd1 added a nasty lock testing program
it opens 2 connections to each of 2 servers, and opens 2 fnums on the
same file on each connection (a total of 8 file descriptors)

then it does random lock/unlock/reopen requests in a 100 byte range on
the file and compares the results from the 2 servers.

strangely enough, NT fails this test against itself right now - I'm
still trying to figure that out.
(This used to be commit 2f14d7c9bc)
2000-05-03 13:54:28 +00:00
Andrew Tridgell
814f37a5e3 we don't need fnmatch.c any more
(This used to be commit e23f43e7d3)
2000-04-30 11:15:27 +00:00
Andrew Tridgell
700f72453e - removed all our old wildcard matching code and replaced it with a
call to ms_fnmatch(). This also removes all the Win9X semantics stuff
and a bunch of other associated cruft.

- moved the stat cache code into statcache.c

- fixed the uint16 alignment requirements of ascii_to_unistr() and
  unistr_to_ascii()

- trans2 SMB_FIND_FILE_BOTH_DIRECTORY_INFO returns the short name as
  unicode always (at least thats what NT4 does)

- fixed some errors in the in-memory tdb code. Still ugly, but doesn't
  crash as much
(This used to be commit 03e9cea004)
2000-04-30 11:04:28 +00:00
Andrew Tridgell
71e7974f3f YIPEE!!!!!
We finally have a perfect emulation of Microsoft wildcard
matching. The routine ms_fnmatch() does wildcard matching with all MS
wildcards (including the unicode wildcards), and masktest against a
NT4 workstation with hundreds of thousands of random exmaples has not
found a single error.

amazingly it is only about 60 lines of code, but it has taken us years
to get it right. I didn't sleep much last night :)
(This used to be commit cc9e007cdf)
2000-04-30 04:45:16 +00:00
Andrew Tridgell
c0e1c65053 put tdb utility functions in a separate file
(This used to be commit 77009422a0)
2000-04-29 04:05:38 +00:00
Jeremy Allison
9a5eb068ab Ok - this is the *third* implementation of this (third time's the charm :-).
This implementation keeps all POSIX lock records in a separate in memory
tdb database only known about in locking/posix.c. In addition, the pending
close fd's are also held in a tdb which has an array of fd's indexed by
device and inode.

The walk-split code uglyness has been moved to posix.c from brlock.c,
which is the only place that needs to know about it, and the extra
functions hacked into brlock to expose internal state have been removed.

This implementation passes smbtorture locktest4, the only thing I need
to check now for completeness is what to do about lock upgrade/downgrades
which Win32 allows under some *very* strange circumstances.

Jeremy.
(This used to be commit 3f655de1c7)
2000-04-28 20:54:23 +00:00
Andrew Tridgell
858e63cab3 split clientgen.c into several parts
the next step is splitting out the auth code, to make adding lukes
NTLMSSP support easier
(This used to be commit 10c5470835)
2000-04-25 14:04:06 +00:00
Andrew Tridgell
a32420e5b7 Makefile.in change for split of printfsp.c
(This used to be commit 980a81651a)
2000-04-23 07:56:11 +00:00
Andrew Tridgell
f074d6ef57 split fsusage() into a separate module (to fix linking problems with
spoolssd in tng)
(This used to be commit e2eacdd74c)
2000-04-19 08:23:13 +00:00
Andrew Tridgell
bb28f06eae moved standard_sub() and friends into a separate module
(This used to be commit 030ec8e71f)
2000-04-17 04:46:10 +00:00
Andrew Tridgell
4a12fb79c0 The following series of commits are for the new tdb based printing
backend. This completely replaces our old printing backend.

Major changes include:

- all print ops are now done in printing/*.c rather than scattered all
  over the place
- system job ids are decoupled from SMB job ids
- the lpq parsers don't need to be nearly so smart, they only need to
  parse the filename, the status and system job id
- we can store lots more info about a job, including the full job name
- the queue cache control is much better

I also added a new utility routine file_lines_load() that loads a text
file and parses it into lines. This is used in out lpq parsing and I
also want to use it to replace all of our fgets() based code in other
places.
(This used to be commit 0b68660159)
2000-04-16 06:17:59 +00:00
Andrew Tridgell
df72a6aedc removed the read prediction code from the head branch. I think the
idea is fundamentally flawed anyway and it has been disabled for a
long time.
(This used to be commit 08de67ced4)
2000-04-10 12:54:18 +00:00
Andrew Tridgell
001765501e split out the lpq parsing code into a separate file
printing/lpq_parse.c

getting ready for the new printing backend
(This used to be commit 0ec1072e01)
2000-04-10 03:09:42 +00:00
Andrew Tridgell
d97c3e4591 don't echo warning messages twice
(This used to be commit 64a3fd2bc5)
2000-04-10 02:57:54 +00:00
Andrew Tridgell
3daa0cf86f I finally got sick of configure being run automaticaly when I run make
clean or in other situations. That then screws up options I pass to
configure and is generally annoying.

Instead the Makefile now emits a warning if configure needs
rerunning, but doesn't actually run it.

don't re-enable the auto running of configure on pain of death :)
(This used to be commit ea769a280f)
2000-03-30 00:34:15 +00:00
Tim Potter
191566780e Adding libtool support to HEAD branch. We're going to need this for
various things yet to be merged from TNG.  The smbwrapper stuff should
probably be ported across too.
(This used to be commit b183c24220)
2000-03-13 23:20:01 +00:00
Jeremy Allison
6bb92a6d38 Big update moving the multi-pdu support from 2.0.x into HEAD for JF
and the printer functions.
Also tidied up some header includes and got the order right so you
can now do a :

make proto
make clean
make

Jeremy.
(This used to be commit 833cd9fba9)
2000-03-09 21:45:16 +00:00
Shirish Kalele
952799d9af dded Microsoft Dfs services.
* added a new msdfs/ directory under source/
* added msdfs sources under this directory.
* modified configure setup to add a --with-msdfs configure time option

 Modified Files:
 	Makefile.in acconfig.h configure configure.in
 	include/config.h.in include/includes.h include/proto.h
 	include/smb.h include/smb_macros.h param/loadparm.c
 	smbd/negprot.c smbd/nttrans.c smbd/process.c smbd/reply.c
 	smbd/server.c smbd/trans2.c
 Added Files:
 	include/msdfs.h msdfs/README msdfs/msdfs.c msdfs/msdfs_tdb.c
 	msdfs/parse_dfs_map.c
 ----------------------------------------------------------------------
(This used to be commit 4684b4a188)
2000-03-08 22:14:30 +00:00
Jeremy Allison
27921069a7 Added new codepage from Ded Marazm <DedMarazm@mail.lv> - MSDOS baltic rim.
Jeremy.
(This used to be commit b8b98d5058)
2000-03-01 20:41:26 +00:00
Andrew Tridgell
89c3cf8ab6 damn, masktest now needs the mangle code from smbd
not very clean
(This used to be commit 6c09c0fd9e)
2000-02-10 13:45:52 +00:00
Jean-François Micouleau
cedf91b1f6 make proto ...
and the Makefile.in file

	J.F.
(This used to be commit aa22586aac)
2000-02-07 16:28:41 +00:00
Tim Potter
f3772fe91d Added smbd/vfs.o and smbd/vfs-wrap.o to smbd objects.
(This used to be commit d91bfec537)
2000-02-03 05:05:29 +00:00
Jeremy Allison
ace4006c9f Added hash-based stat cache code from Ying Chen.
Jeremy.
(This used to be commit b62a1bd632)
2000-01-26 21:25:35 +00:00
Andrew Tridgell
43f1d804af we need -lc when making shared objects or glibc doesn't do its magic
binding for stat()
(This used to be commit b52e60d568)
2000-01-24 03:39:24 +00:00
Andrew Tridgell
08685f6a62 added locking/brlock.c, a byte range locking system
(This used to be commit 67b7b2a5a6)
2000-01-13 12:04:31 +00:00
Jeremy Allison
fab3e0eb08 smbd/mangle.c
smbd/negprot.c: Tidyup of static initializers.
smbd/server.c: Fix -l option.
Jeremy.
(This used to be commit d120f22fef)
2000-01-08 02:16:15 +00:00
Andrew Tridgell
5e9f559187 implemented talloc() as described on samba-technical. This fixes the
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 aa7f815525)
2000-01-05 06:36:36 +00:00
Luke Leighton
fbd17c8daf simple mods to add msrpc pipe redirection. default behaviour: fall back
to using internal msrpc code in smbd.
(This used to be commit 8976e26d46)
2000-01-03 19:19:48 +00:00
Andrew Tridgell
574788039f added the unexpected packet database (unexpected.tdb)
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 280e6359d3)
2000-01-03 03:17:16 +00:00
Andrew Tridgell
4e1291a83f converted all our existing shared memory code to use a tdb database
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 e48c2d9937)
1999-12-21 09:25:59 +00:00
Andrew Tridgell
c2c42b8694 first pass at the database code for Samba. This also includes a test
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 c89d29cc5e)
1999-12-21 03:04:37 +00:00
Andrew Tridgell
3db52feb1f first pass at updating head branch to be to be the same as the SAMBA_2_0 branch
(This used to be commit 453a822a76)
1999-12-13 13:27:58 +00:00
Luke Leighton
4f8a24522c final part of "first" phase converting over to msrpc daemon architecture.
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 caa5052522)
1999-12-12 20:03:42 +00:00
Luke Leighton
4ab9d91428 ABOUT TIME!!!!!!!!
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 30c7fdd6ef)
1999-12-08 21:43:03 +00:00
Luke Leighton
a0ba234cf9 the first independent msrpc daemon - lsarpcd.
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 2245b0c6d1)
1999-12-06 00:44:32 +00:00
Luke Leighton
92bc7a4263 first version of msrpc agent redirector code. client-side only.
(This used to be commit 5e5a1dceee)
1999-12-05 01:34:34 +00:00
Luke Leighton
f6077db317 cool! created higher-order function table for agent redirection.
(This used to be commit 7bb2e55d0d)
1999-12-04 21:55:39 +00:00
Luke Leighton
f521205cb3 jeremy is going to hate me for this.
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 d923bc8da2)
1999-12-04 19:14:37 +00:00
Luke Leighton
7d01f964ff cool! a unix socket smb redirector. code based on smbfilter and
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 294b653f2e)
1999-12-03 18:16:08 +00:00
Luke Leighton
6ddfc68e04 sys_select added one more argument (read, write selectors).
(This used to be commit e4d92ff9df)
1999-12-01 02:15:14 +00:00
Luke Leighton
8d0660607f this is going to sound _really_ weird, ok, but i had to implement
equivalents of NetUseAdd and NetUseDel!
(This used to be commit 86f4b1d3cc)
1999-11-29 23:56:09 +00:00
Luke Leighton
f8b82a7b95 first stages of removing struct cli_state* and uint16 fnum from all
msrpc client code.  the intent is to hide / abstract / associate
connection info behind policy handles.

this makes the msrpc functions look more and more like their nt equivalents.

who-hou!
(This used to be commit c01b18e632)
1999-11-24 20:24:33 +00:00
Luke Leighton
2752e372b6 WARNING! MOVED rpc_server/srv_lsa_hnd.c TO lib/util_hnd.c
CVS UPDATE MAY ISSUE WARNING ABOUT lib/util_hnd.c MODIFICATION
DATE BEING IN THE FUTURE.  CVS CHECKOUT A NEW REPOSITORY MAY BE
SAFER.
(This used to be commit c26e8a6ac5)
1999-11-24 18:15:50 +00:00
Luke Leighton
7bd8fd1a10 adding svcctl 0x1b function
(This used to be commit d5869df371)
1999-11-23 18:57:07 +00:00
Luke Leighton
a56bea383b doing a code reshuffle. want to add code to establish trust relationships.
(This used to be commit 3ec269b402)
1999-11-20 19:43:37 +00:00
Luke Leighton
161c11e4bc - bug in nmbd registering DOMAIN_NAME<1c> to WINS server; recursion
desired flag MUST be set in any NBT UDP packets sent to a WINS
  server, else they will go to the WINS client side of the NT NetBIOS
  kernel instead, and will get trashed.

- added \PIPE\browser server-side code.
(This used to be commit 8e406c1fa2)
1999-11-19 01:01:07 +00:00
Luke Leighton
1c6c4e7e39 added \PIPE\browser plus experimental brsinfo command. you wouldn't
believe the XXXX that MIGHT be involved in getting nt5rc2 to join
a samba domain...
(This used to be commit 569babb393)
1999-11-19 00:12:16 +00:00
Luke Leighton
4c479f0574 split array-handling functions into separate module.
(This used to be commit cc2ce2b755)
1999-11-12 15:37:05 +00:00
Luke Leighton
bd6467154e spoolss openprinterex / closeprinter client-code.
experimental spoolopen <printer name> command added.

jean-francois, f.y.i. i changed the #define for SPOOLSS_OPENPRINTEREX from
op code 0x44 to 0x45.
(This used to be commit ef7fa58fd3)
1999-11-06 18:11:19 +00:00
Luke Leighton
32dedee7f0 experimental spoolss rpcclient commands
(This used to be commit c86edef90e)
1999-11-05 18:40:38 +00:00
Luke Leighton
6f9105c853 various. debug levels changed. nmbd doesn't need libsmb/clienttrust.c.
samr_lookup_rids() moved to a dynamic memory structure not a
static one limited to 32 RIDs.  cli_pipe.c reading wasn't checking
ERRmoredata when DOS error codes negotiated (this terminates
MSRPC code with prejudice).
(This used to be commit 8976eca2db)
1999-10-21 16:53:50 +00:00
Luke Leighton
6af79fb09d split modify_trust_account_password into a separate module.
(This used to be commit 479fc93bd0)
1999-10-21 15:38:59 +00:00
Luke Leighton
09e6f6eb9c adding CAP_EXTENDED_SECURITY support in a hurry last week. forgot to
deal with linking issues in other binaries
(This used to be commit 57f95a0198)
1999-10-14 18:49:24 +00:00
Luke Leighton
f1c2fdb270 split matthew's sync command (only currently called from smbpasswd)
into a separate module
(This used to be commit d99eca020a)
1999-09-21 21:28:27 +00:00
Luke Leighton
7a0595b234 use read() instead of fread() as fread() fails on redhat 6.
(This used to be commit b1025d499b)
1999-08-18 00:01:00 +00:00
Luke Leighton
0cf1de5fdd adding lib/util_status.c to Makefile.in
(This used to be commit f1fdf4c391)
1999-08-17 23:20:44 +00:00
Alexandre Oliva
848823bc9f Avoid multiple ``Updating dependencies'' messages before .deps/.stamp
is created
(This used to be commit 407eec6316)
1999-07-18 20:31:57 +00:00
Luke Leighton
8f1404739f Jean-Francois Micouleau's rewritten DFS patch, originally written by
Nigel Williams.  despite the data format being *exactly* the same as
NT's, this still doesn't work yet.  more work needed.
(This used to be commit 270981960b)
1999-07-12 18:46:15 +00:00
Jean-François Micouleau
9ac038817e Changed the RPC api definition now first arg is a pipe_struct
found some memory leak in the spoolss code.

	Jean Francois
(This used to be commit 958591abd1)
1999-05-03 22:00:33 +00:00
Luke Leighton
d6ba4580d7 md5 and hmac_md5
(This used to be commit 5777c1fb12)
1999-04-30 05:37:55 +00:00
Jean-François Micouleau
be552ca350 rpc_parse/parse_misc.c : defined a new BUFFER5 struct
include/ntdomain.h     : added rpc_spoolss.h include statement
include/proto.h
include/rpc_dce.h      : added definition of RPC_ALTER_CONTEXT request &
                         reply
param/loadparm.c       : 2 new options for NT printing support and some
                         changes to initial values in the LPRNG case.
rpc_parse/parse_prs.c  : added prs_uint16s()
rpc_parse/parse_rpc.c  : added SYNT_SPOOLSS_V1 and code for the
                         alter-context support.
rpc_server/srv_pipe.c  : alter-context support
smbd/nttrans.c
smbd/server.c
include/rpc_misc.h
Makefile.in
include/smb.h

Jean Francois
(This used to be commit 4c515804b7)
1999-04-27 10:43:32 +00:00
Matthew Chapman
7fe5ba774b Adding scheduler control pipe (\atsvc), client-side routines, and rpcclient
command "at" (compatible with NT's "at" command - see rpcclient commit) -
useful for remote NT administration.
(This used to be commit cf30a472f7)
1999-04-23 14:47:45 +00:00
Andrew Tridgell
388a408a73 fixed a typo
(This used to be commit 12d55d208a)
1999-04-17 14:09:15 +00:00
Andrew Tridgell
a32c926289 damn, new files need to be added to the head branch first, I've told
other people this before then forgot myself :)
(This used to be commit a116228d37)
1999-04-17 14:06:57 +00:00
Tim Potter
bbff2fad2f Added smbd/vfs.o and smbd/vfs-wrap.o to object list for smbd.
(This used to be commit db60aa209c)
1999-04-04 06:47:57 +00:00
Andrew Tridgell
d330c907bd Ken McDonell from SGI was interested in adding some profiling
capabilities to Samba so that Samba could talk to the SGI PCP
(Performance Co-Pilot) apps.

This change adds a profiling shared memory area and uses it to count
two fairly trivial things, the number of uid switches and the number
of SMB packets processes. To add more just edit include/profile.h and
then increment it at the right place.

I've also added a -P switch to smbstatus to dump the profile area.
(This used to be commit ef3d61a80a)
1999-04-01 05:22:58 +00:00
Luke Leighton
236cea4efa Benjamin Kuit's MYSQL SAM Database implementation.
Copyright (C) Benjamin Kuit <bj@mcs.uts.edu.au> 1999.
(This used to be commit fdf61e1dab)
1999-03-01 16:31:14 +00:00
Christopher R. Hertel
7bf6e4d6a0 Sorry that this is going so slowly.
I've added debug2html to Makefile.in so that it compiles as part of the
normal build.  Fixed a typo in debug2html.c as well.

One problem:  I found it necessary to link with both $(PARAM_OBJ) and
              $(LIB_OBJ).  The result is an executable that is much larger
              than it really needs to be.
(This used to be commit d2d6f0bf36)
1998-12-28 22:34:08 +00:00
Luke Leighton
a8e2698306 lib_sec_ctxt.o not .c
(This used to be commit 2485b8e706)
1998-12-20 00:31:18 +00:00
Christopher R. Hertel
dc003d8d40 A while back, Andrew and I talked about making the debug parsing code a
better "fit" with other Samba code.  This is a small first step toward
doing what (I think) we agreed to do.

I've moved the key function from ubiqx/debugparse.c into lib/debug.c.  I
have also moved the enum from ubiqx/debugparse.h into the debug section in
smb.h.

The next thing to do is to get debug2html added into the Makefile.in so
that it is always produced when compiling the suite.

Chris -)-----
(This used to be commit 782474f41e)
1998-12-16 18:50:54 +00:00
Andrew Tridgell
cfba976fc2 removed the SID stuff from the head branch as well.
This allows the removal of PASSDB_OBJ, RPC_CLIENT_OBJ and
RPC_PARSE_OBJ from nmbd in the head branch.

so nmbd just went on a diet :)
(This used to be commit be697c9ef0)
1998-12-09 06:35:37 +00:00
Luke Leighton
7135fb0a2c adding "Service Control Manager" commands to rpcclient.
(This used to be commit e5ee965f8d)
1998-12-08 23:29:37 +00:00
Luke Leighton
8308c000b2 adding srvsvc pipe.
(This used to be commit d06d636994)
1998-12-08 00:25:04 +00:00
Luke Leighton
699bae847f matthew chapman's ldap code, to date. plus docs!
(This used to be commit 2c438c86cb)
1998-12-07 21:37:17 +00:00
Luke Leighton
312f4f3960 - lib/unix_sec_ctxt.c
attempt at taking lib/uid.c and getting a unix security context
	change module that is independent of "cnums" and "snums".
	a security context is needed for pipes, not just IPC$ or other
	services.

- group database API

	added add_group/alias_member, del_group/alias_member,
	del_group/alias_entry functions.  del_builtin_entry() is
	deliberately set to NULL to cause an exception, you cannot
	delete builtin aliases.

- parse_lsa.c srv_lsa.c

	fixed lookup_names code, it was a load of trash and didn't do
	anything.

- cmd_samr.c rpcclient.c srv_samr.c

	added "deletegroup", "deletealias", "delaliasmem", "delgroupmem",
	"addgroupmem", "addaliasmem", "createalias", "creategroup", to
	both client and server code.

	server code calls into unix stubs right now, which don't actually
	do anything.  the only instance where they are expected to do
	anything is in appliance mode NOT even in the ldap code or anything.

	client code modified to call samr_lookup_names() for group code
	(because we can) and lsa_lookup_names() for alias code (because
	we have to).

- srv_lookup.c

	oops, lookup on unsplit name, we got lookup on DOMAIN, DOMAIN\name
	instead of DOMAIN, name.
(This used to be commit b8175702ef)
1998-12-07 17:23:48 +00:00
Luke Leighton
6c94b455a0 trailing backslashes spotted by andrej.
(This used to be commit 9266137fcb)
1998-12-02 16:21:25 +00:00
Luke Leighton
31044dd8e6 - adding builtin[alias]db.
- lib/sids.c:

	generate_sam_sid() modified to take a domain name: it now
	generates "DOMAIN_NAME.SID".  reasons:

	1) if you run multiple samba servers on the same machine
	under different netbios names as members of a domain,
	they won't all use the same SID, which is a _big_ mistake
	but it would happen _by default_.

	2) we have (had) a problem with sid_to_string() and string_to_sid()
	which cause SIDs to be incorrectly read.  one of the major
	reasons for *NOT* making this change was so as not to disrupt
	existing users.  but as they will be anyway by this bug,
	we might as well go ahead.

- passdb/smbpass.c:

	wanted to change the meaning of the name in the smbpasswd
	file to an "nt" name not a "unix" name.  this is probably
	not a good idea: reverted this.

- output formatting / bug-fixing in rpcclient query_useraliases code.
(This used to be commit e4930f5f48)
1998-11-30 15:08:58 +00:00
Luke Leighton
130e971942 cvs getting it wrong. again.
(This used to be commit 776abe3fe5)
1998-11-29 20:16:20 +00:00
Luke Leighton
b20fc00464 we have a problem: resolution of "Primary Group RID" which we assumed
would only be a domain group rid.  it can also be a local group rid,
which causes us problems in attempting to turn a unix gid into the
correct rid (domain group or local group).

sooo.... the fix is _in_ there, we just can't use it because it causes
link / knock-on problems in nmbd.
(This used to be commit e4ee653870)
1998-11-26 00:48:31 +00:00
Jeremy Allison
bfc38ff872 Makefile.in: Added maintainer mode fixes.
aclocal.m4: Added AC_LIBTESTFUNC.
configure.in: Fixed -lsecurity -lsec problems.
client.c: dos_ fixes.
groupdb/aliasunix.c: Dead code removal.
include/includes.h: Added default PRINTCAP_NAME.
lib/genrand.c: dos_ fixes.
lib/replace.c: Added strtoul.
lib/system.c: dos_ fixes.
lib/util.c: dos_ fixes.
lib/util_sid.c: Signed/unsigned fixes.
lib/util_str.c: removed bad const.
locking/locking_slow.c: dos_ fixes.
printing/printing.c: dos_ fixes.
rpc_server/srv_samr.c: Dead code removal.
rpc_server/srv_sid.c: global_myworkgroup defined with wrong size AGAIN !
smbd/dir.c: dos_ fixes.
smbd/open.c: dos_ fixes.
smbd/oplock.c: dos_ fixes.
smbd/reply.c smbd/server.c smbd/service.c smbd/uid.c: dos_ fixes.

Jeremy.
(This used to be commit 6acb4b68f6)
1998-11-25 21:17:20 +00:00
Luke Leighton
4cee58780c unix instance of group database API
(This used to be commit e76f593b35)
1998-11-23 21:51:05 +00:00
Andrew Tridgell
a0c6af03d6 use bindir not sbindir in Makefile to ensure that we don't break
existing setups
(This used to be commit e97cbd6912)
1998-11-21 00:56:52 +00:00
Jeremy Allison
d5015ef708 Makefile.in: Added passing of CPPFLAGS into Makefile.
configure
configure.in
include/config.h.in: Fixes for AIX4.x. AIX *will not*
                     enable large file support of *any* description unless
                     either -D_LARGE_FILES or -D_LARGE_FILES_API are defined.
                     I chose "-D_LARGE_FILES" as this leads to cleaner code...

Also fixed bug where getpwnam was listed as getpw(a)nam in configure.in.
Jeremy.
(This used to be commit 2d62dc26f4)
1998-11-19 23:42:57 +00:00
Jeremy Allison
17590be23d Sync up with 2.0 code.
Added HPUX autoconf changes.
Added "gross hack" printer code.
Jeremy.
(This used to be commit 1ef6d3bd63)
1998-11-19 22:37:33 +00:00
Jeremy Allison
157fe90d2e Changed Makefile.in to use autoconf prefixes.
NOTE: The packaging scripts will have to be changed !!!!

Jeremy.
(This used to be commit 79c259f05c)
1998-11-17 22:06:59 +00:00
Luke Leighton
74d539f557 - group database API. oops and oh dear, the threat has been carried out:
the pre-alpha "domain group" etc parameters have disappeared.

- interactive debug detection

- re-added mem_man (andrew's memory management, detects memory corruption)

- american spellings of "initialise" replaced with english spelling of
  "initialise".

- started on "lookup_name()" and "lookup_sid()" functions.  proper ones.

- moved lots of functions around.  created some modules of commonly used
  code.  e.g the password file locking code, which is used in groupfile.c
  and aliasfile.c and smbpass.c

- moved RID_TYPE_MASK up another bit.  this is really unfortunate, but
  there is no other "fast" way to identify users from groups from aliases.
  i do not believe that this code saves us anything (the multipliers)
  and puts us at a disadvantage (reduces the useable rid space).
  the designers of NT aren't silly: if they can get away with a user-
  interface-speed LsaLookupNames / LsaLookupSids, then so can we.  i
  spoke with isaac at the cifs conference, the only time for example that
  they do a security context check is on file create.  certainly not on
  individual file reads / writes, which would drastically hit their
  performance and ours, too.

- renamed myworkgroup to global_sam_name, amongst other things, when used
  in the rpc code.  there is also a global_member_name, as we are always
  responsible for a SAM database, the scope of which is limited by the role
  of the machine (e.g if a member of a workgroup, your SAM is for _local_
  logins only, and its name is the name of your server.  you even still
  have a SID.  see LsaQueryInfoPolicy, levels 3 and 5).

- updated functionality of groupname.c to be able to cope with names
  like DOMAIN\group and SERVER\alias.  used this code to be able to
  do aliases as well as groups.  this code may actually be better
  off being used in username mapping, too.

- created a connect to serverlist function in clientgen.c and used it
  in password.c

- initialisation in server.c depends on the role of the server.  well,
  it does now.

- rpctorture.  smbtorture.  EXERCISE EXTREME CAUTION.
(This used to be commit 0d21e1e609)
1998-11-17 16:19:04 +00:00
Jeremy Allison
3b4a9ff380 Makefile.in: Re-added quotes round ROFF call for DGUX.
script/installman.sh: Make installman ignore ROFF argument if it is "".
smbd/oplock.c: Move location of oplock test file to lockdir.
Jeremy.
(This used to be commit 6c25a33142)
1998-11-16 23:28:59 +00:00
Jeremy Allison
8fc1504ff8 Makefile.in configure configure.in include/config.h.in: Changes for DGUX and UNIXWARE.
groupdb/aliasdb.c groupdb/aliasfile.c groupdb/groupfile.c: Don't use snprinf, use slprintf.
include/includes.h: Fix YP problem.
include/smb.h: Fix ZERO_STRUCTP.
lib/util_sock.c: Added strerror() in debugs.
passdb/ldap.c: Don't use snprinf, use slprintf.
rpc_client/cli_lsarpc.c rpc_client/cli_pipe.c rpc_parse/parse_sec.c rpc_server/srv_pipe.c: Don't use snprinf, use slprintf.
script/installman.sh: DGUX changes.
smbd/open.c smbd/oplock.c: Fixed gcc warnings.
web/swat.c: Changes USER to SWAT_USER.
(This used to be commit 4c2b5a0098)
1998-11-13 21:41:01 +00:00
Luke Leighton
5b863af4c0 cleaning up conflicts between group code not yet committed and
changes from yesterday by me, jeremy and andrew.

jeremy, your ACB_PWNOTREQ mod would have caused a crash if the user
didn't exist (first check should be for smb_pass != NULL)
(This used to be commit cbac0f165d)
1998-11-12 16:07:00 +00:00
Andrew Tridgell
29e36b7134 extracted the password change code from smbpasswd and used it in swat
instead of opening pipes and other horrible stuff.
(This used to be commit 49bf197103)
1998-11-12 07:06:48 +00:00
Herb Lewis
4dd4f1798e Added needed flag for swat password changing
I forgot to mention that the changes to swat were contributed by
John Sygulla
(This used to be commit aa0cec0470)
1998-11-11 21:41:44 +00:00
Jeremy Allison
b94520e424 Makefile.in: Added target for makeyodldocs - not used by default.
rpc_client/cli_reg.c: The perils of cut-n-paste coding include using variables before
                      they are initialised :-).
script/makeyodldocs.sh: Remove the intermediate files.
Jeremy.
(This used to be commit 88031bca5c)
1998-11-11 01:33:57 +00:00
Luke Leighton
1e1c2ec93c rpcclient registry commands.
(This used to be commit 36fcb4a6e6)
1998-11-10 19:05:00 +00:00
Luke Leighton
313d8ef27d util functions split into relevant modules, first pass.
(This used to be commit d448906e68)
1998-11-10 18:14:16 +00:00
Jeremy Allison
5c3295c16d Default for SMB_PASSWD program was set to smbpasswd ! This explained the problems
John & Andrew were having with smbpasswd. This would cause the smbpasswd
to be changed *twice* - this the second decrypt would fail.
Changed it to be "/bin/passwd" and changed the name of the macro
to PASSWORD_PROGRAM to make it clear this is not an smb password
changer.
Jeremy.
(This used to be commit 8c16253654)
1998-11-10 00:37:14 +00:00
Jeremy Allison
e4f974c611 Makefile.in: Removed rpc_server/srv_ldap_helpers.c per J.F.'s instructions.
client/client.c:
client/clitar.c:
include/client.h:
smbwrapper/smbw_dir.c:
smbwrapper/smbw_stat.c:
smbwrapper/smbw.c:
lib/util.c: Converted all use of 'mode' to uint16.
smbd/quotas.c: Fixed stupid comment bug I put in there :-(.
printing/printing.c: Fix from J.F. to new code.
Jeremy.
(This used to be commit bacd3e9d20)
1998-11-09 20:33:37 +00:00
Andrew Tridgell
8c62b28e0e converted smbclient to use clientgen.c rather than clientutil.c
I did this when I saw yet another bug report complaining about
smbclient intermittently missing files. Rather than applying more
patches to smbclient it was better to move to the more robust
clientgen.c code.

The conversion wasn't perfect, I probably lost some features of
smbclient while doing it, but at least smbclient should be consistent
now. It if fails it should _always_ fail rather than giving people the
false impression of a reliable utility.

the tar stuff seems to work, but hasn't had much testing as I never
use it myself. I'm sure someone will find bugs in my conversion of
smbtar.c. It was quite tricky as it did a lot of its own SMB calls. It
now uses clientgen.c exclusively.

smbclient is still quite messy, but at least it doesn't build its own
SMB packets.

I haven't touched smbmount as I never use it. Mike, do you want to
convert smbmount to use clientgen.c?
(This used to be commit e14ca7765a)
1998-11-09 03:45:49 +00:00
Jeremy Allison
68d3842dc7 Added scripts/convert_smbpasswd to SCRIPTS
Jeremy.
(This used to be commit 60553b3dc2)
1998-11-05 02:58:37 +00:00
Jeremy Allison
01e04614c7 Makefile.in configure configure.in include/proto.h smbd/noquotas.c smbd/quotas.c:
Added quotas patch for autoconf from Dejan Ilic <svedja@lysator.liu.se>.
printing/printing.c: Filenames with spaces patch from Allan Bjorklund <allan@umich.edu>
utils/nmblookup.c: Fix usage() function.
smbd/reply.c: Split out the security=server and security=domain checks into
              check_server_security() and check_domain_security() to aid the
              writing of the 'hack' appliance mode invented by John Schimmel.
Jeremy.
(This used to be commit f09ab9b522)
1998-11-03 02:25:28 +00:00
Alexandre Oliva
e746555102 do not print garbage just because someone does not want dependencies :-)
(This used to be commit 7f3c96c5da)
1998-10-30 16:37:39 +00:00