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
Andrew Bartlett
6a7e334ea3 passdb/pampass.c and passdb/pass_check.c are not passdb related at all,
so don't link them as such.
(This used to be commit 3afad9ae01)
2001-09-19 06:01:35 +00:00
Andrew Bartlett
41432074f5 Kill off the dangerous passwd program default, as its both very
system-dependent and can allow (when unix password sync = yes) the
'syncronisation' of root's password by a normal user :-(

Andrew Bartlett
(This used to be commit eecda11eef)
2001-09-16 00:07:04 +00:00
Andrew Tridgell
39d7983a47 - enable MSDFS by default, there seems no reason not to have it enabled
by default in Samba 3.x

- got rid of some unused parameters in Makefile.in

- declare DEBUGLEVEL in debug.h rather than in each file
(This used to be commit b8651acb9c)
2001-09-12 03:08:51 +00:00
Andrew Tridgell
39b24e4865 passdb/smbpassfile ain't needed any more - it only provided migration from an ancient file format, not relevant for Samba 3.0
(This used to be commit 954adb630d)
2001-09-10 11:16:18 +00:00
Andrew Tridgell
b30e75692d replaced stdio in many parts of samba with a XFILE. XFILE is a cut-down
replacemnt of stdio that doesn't suffer from the 8-bit filedescriptor
limit that we hit with nasty consequences on some systems

I would eventually prefer us to have a configure test to see if we need
to replace stdio, but for now this code needs to be tested widely so
I'm enabling it by default.
(This used to be commit 1af8bf34f1)
2001-09-10 11:08:57 +00:00
Andrew Tridgell
5573a1c739 added "display charset" option in smb.conf, along with d_printf()
which should now be used instead of DEBUG(0) or printf() for
interactive messages

I have only converted client.c to use d_printf(), and the code hasn't
had much testing yet. Eventually we want all interactive code to use
d_printf(), plus SWAT
(This used to be commit 266d8e6766)
2001-09-07 14:14:57 +00:00
Andrew Tridgell
fc07eb5eef - fixed proto.h build on systems using a parallel make
- changed DENY1 and DENY2 tests to only report errors
(This used to be commit 9341e5534d)
2001-09-06 10:37:21 +00:00
Tim Potter
65e35d5d4b Started a cleanup of smbpasswd related stuff. I've created a new file
lib/smbpasswd.c which will contain routines related to manipulating
smbpasswd entries.

 - renamed and moved pdb_{get,set}hexpwd() functions
 - renamed and moved pdb_{decode,encode}acct_ctrl() functions
 - started hiding references to the cruftalicious
   NEW_PW_FORMAT_SPACE_PADDED_LEN constant
 - started gradual rename of references to acct_ctrl to acb_info which is
   the nomenclature used in MSDN and header files

There's still more work to be done.  Currently there are several places
where smbpasswd entries are iterated etc.  Ideally this should all happen
through the passdb system.
(This used to be commit 4a01e24030)
2001-09-06 09:10:26 +00:00
Herb Lewis
afd0ba9d92 add PROFILE_OBJ to nmbd now
(This used to be commit 99b773217c)
2001-09-05 20:06:33 +00:00
Tim Potter
c22ecf6cfc Added additional objects to rpcclient for sam sync/repl support.
Added bin/samsync target.
(This used to be commit 9c8276dfec)
2001-08-28 06:46:28 +00:00
Tim Potter
504cebabdd Fix for make proto when srcdir != cwd.
(This used to be commit e6c0fb7575)
2001-08-28 04:16:56 +00:00
Andrew Tridgell
e8e98c9ea0 converted smbd to use NTSTATUS by default
major changes include:

- added NSTATUS type
- added automatic mapping between dos and nt error codes
- changed all ERROR() calls to ERROR_DOS() and many to ERROR_NT()
  these calls auto-translate to the client error code system
- got rid of the cached error code and the writebmpx code

We eventually will need to also:
- get rid of BOOL, so we don't lose error info
- replace all ERROR_DOS() calls with ERROR_NT() calls

but that is too much for one night
(This used to be commit 83d9896c1e)
2001-08-27 08:19:43 +00:00
Tim Potter
0309090f1e Link in smbdes routines for new wbinfo authentication stuff.
(This used to be commit 84998f1fce)
2001-08-22 03:10:58 +00:00
Andrew Bartlett
6ad80352dd This patch does a number of things, mostly smaller than they look :-)
In particuar, it moves the domain_client_validate stuff out of
auth_domain.c to somwhere where they (I hope) they can be shared
with winbind better.  (This may need some work)

The main purpose of this patch was however to improve some of the
internal documentation and to correctly place become_root()/unbecome_root()
calls within the code.

Finally this patch moves some more of auth.c into other files, auth_unix.c
in this case.

Andrew Bartlett
(This used to be commit ea1c547ac8)
2001-08-12 11:19:57 +00:00
Simo Sorce
acc149c427 - avoid possible mem leaks in rpcclient/cmd_*.c (talloc_destroy not performed)
- ported two rpc back from TNG (WINREG: shutdown and abort shutdown)
- some optimizations and changed some DEBUG statement in loadparm.c
- changed rpcclient a bit moved from non reentrant next_token_nr to next_token
- in cmd_reg.c not sure if getopt will work ok on all platforms only setting optind=0
(This used to be commit fd54412ce9)
2001-08-10 09:52:10 +00:00
Tim Potter
d41606d6d9 Link fix for smbpasswd.
(This used to be commit 2c73ae4ac7)
2001-08-09 03:41:18 +00:00
Andrew Bartlett
986372901e This is my 'Authentication Rewrite' version 1.01, mostly as submitted to
samba-technical a few weeks ago.

The idea here is to standardize the checking of user names and passwords,
thereby ensuring that all authtentications pass the same standards.  The
interface currently implemented in as

nt_status = check_password(user_info, server_info)

where user_info contains (mostly) the authentication data, and server_info
contains things like the user-id they got, and their resolved user name.

The current ugliness with the way the structures are created will be killed
the next revision, when they will be created and malloced by creator functions.

This patch also includes the first implementation of NTLMv2 in HEAD, but which
needs some more testing.  We also add a hack to allow plaintext passwords to be
compared with smbpasswd, not the system password database.

Finally, this patch probably reintroduces the PAM accounts bug we had in
2.2.0, I'll fix that once this hits the tree.  (I've just finished testing
it on a wide variety of platforms, so I want to get this patch in).
(This used to be commit b30b6202f3)
2001-08-03 13:09:23 +00:00
Tim Potter
2affa66ac0 Tweaked the installdirs target to ignore errors. This allows RPMS to be
built as non-root user, assuming you have permissions set up properly
in your /usr/src/redhat directory.

Added nsswitch sub-target to all target.
(This used to be commit 109840bb3a)
2001-08-01 05:55:01 +00:00
Tim Potter
a0cd01e03c Fixed up compilation of pam_winbind.so to be consistent with value of
--with-pam passed to configure.

Fixed nsswitch target to compile the sbin and lib winbind targets.

Winbind still doesn't install its lib targets (libnss_winbind.so and
pam_winbind.so) properly - the install script is a big mess.  )-:
(This used to be commit fc83346a43)
2001-08-01 02:12:36 +00:00
Andrew Tridgell
e9968db4f3 build smbtree by default. It's a very useful utility.
(This used to be commit e2ab5e09d0)
2001-07-25 01:41:45 +00:00
Tim Potter
bec370b079 Store winbindd in the sbin directory. Make the winbind pam module also as
a sbin program.

Currently the pam and nss modules are installed into @prefix@/sbin - I'm
not sure whether this is a good idea or not.  Perhaps they should be left
in the build tree and copied across as needed by hand or a packaging tool.
(This used to be commit 09af934c4a)
2001-07-24 23:30:13 +00:00
Richard Sharpe
78dfa74852 Make sure that a shared library build of libsmbclient causes build
breakage if there are problems. I will take this out tomorrow if it
causes too many problems.
(This used to be commit f4d9abcac7)
2001-07-24 12:17:00 +00:00
Tim Potter
9521c7c85d make nsswitch target wasn't building the winbind pam module.
(This used to be commit 2484f0fc39)
2001-07-24 06:54:58 +00:00
Richard Sharpe
7867341747 Fix some fscked up things that I added to the Solaris CC build of shared libs
(This used to be commit f214f6b5d5)
2001-07-23 14:13:19 +00:00
Richard Sharpe
022db351e8 Fix the POOBAD_CC on Slowaris so we can handle things correctly ...
Lets see how this goes.
(This used to be commit d63b03f753)
2001-07-23 11:22:29 +00:00
Richard Sharpe
57673d585a A few tweaks around linking libsmbclient
(This used to be commit 83334fc474)
2001-07-14 02:52:41 +00:00
Andrew Bartlett
c6fa884a4b I think this was just a typo... If there was some method to the madness then
please yell, but the build has been broken for long enough.

Andrew Bartlett
(This used to be commit 93ff9f6101)
2001-07-11 10:03:34 +00:00
Richard Sharpe
be11842e79 A serious set of changes to build libsmbclienmt. Copied much ofthis from
CUPS.
(This used to be commit 7b392f9f68)
2001-07-11 01:58:37 +00:00
Andrew Tridgell
81393e6fda removed remnants of libtool
(This used to be commit abe01facea)
2001-07-08 19:18:06 +00:00
Andrew Bartlett
7be19ad10f Add backend encryption support for NTLMv2.
The leg-work for this was done by the folks at samba-tng.org, I'm just bringing
it accross to HEAD.

The MD5 implementation is seperatly derived, and does not have the copyright
problems that the one in TNG has.

Also add const to a few places where it makes sence.

Andrew Bartlett
(This used to be commit 8df8e84144)
2001-07-07 07:00:15 +00:00
Andrew Tridgell
87fbb7092b The big character set handling changeover!
This commit gets rid of all our old codepage handling and replaces it with
iconv. All internal strings in Samba are now in "unix" charset, which may
be multi-byte. See internals.doc and my posting to samba-technical for
a more complete explanation.
(This used to be commit debb471267)
2001-07-04 07:15:53 +00:00
Andrew Bartlett
9e9e73303e This brings HEAD into line with SAMBA_2_2, they now both use bindir.
Andrew Bartlett
(This used to be commit cfd81e62c8)
2001-07-04 06:31:15 +00:00
Tim Potter
23d4aec48c Split pam_winbind out of WINBIND progs so it can be build separately
only if --with-pam is specified.
(This used to be commit 3fd2387a95)
2001-07-03 06:46:37 +00:00
Richard Sharpe
6db4e76120 Fix another small problem with Makefile.in ... not doing the correct
check for whether or not we should build a shared library.
(This used to be commit 09837044a2)
2001-06-30 03:01:09 +00:00
Richard Sharpe
51b83860a1 Modified Makefile.in to work properly. Define BLDSHARED as a variable in the makefile now.
(This used to be commit 332f646fdc)
2001-06-30 01:40:51 +00:00
Richard Sharpe
7e7c258e0b These changes cause the libsmbclient stuff to always build a non-shared library and to build a shared library only for the four OSes that we currently like.
I will probably add HP/UX and AIX support based on the CUPS stuff soon ...
(This used to be commit 9585529455)
2001-06-29 23:30:01 +00:00
Andrew Tridgell
a2c81f1aed temporarily made smbclient a non-error target so that builds will succeed when it fails. This will give richard a chance to fix problems without breaking the tree
(This used to be commit 83d0dc4b53)
2001-06-28 03:03:11 +00:00
Richard Sharpe
d088d8e9d0 Added back the automatic build of libsmbclient.so in head.
This is so I can find out what platforms it fails on. I will pull it again tomorrow if there are too many problems, like > 2 platforms that it fails to build on, but will pop it back in again as I resolve platforms.
(This used to be commit cc72c44e53)
2001-06-27 04:41:01 +00:00
Andrew Tridgell
8b79a473fa - make the regresison test mode code build in by default. This should
allow us to have test targets without special configure options
- fixed make proto so that it actually does something
(This used to be commit 55109a7525)
2001-06-25 00:46:34 +00:00
Andrew Tridgell
15bf58b257 auto-build proto.h if its not there, but don't make it depend
on anything. Delete proto.h from CVS
(This used to be commit 8a37df73ec)
2001-06-22 02:33:27 +00:00
Andrew Tridgell
32ce168a3f added a torture target for building all torture progs. Fixed a typo in locktest
(This used to be commit fd0d729ce0)
2001-06-19 02:06:12 +00:00
Andrew Tridgell
ffb63e4f8e moved all our torture code to a separate directory
(This used to be commit dd12c47645)
2001-06-19 02:02:19 +00:00
Tim Potter
8a3782947a Added $(PROFILE_OBJ) to winbindd objects.
(This used to be commit 4897cfcf85)
2001-06-19 00:29:00 +00:00
Andrew Tridgell
e324e21457 added a oplock break handler hook to the client code, this allows for more complete testing of oplocks from smbtorture and would also be essential if a client app ever really did want to use oplocks properly
(This used to be commit 3d4a3bfacd)
2001-06-18 08:26:15 +00:00
Tim Potter
971cbd57dc Added stub dfs client commands to rpcclient.
(This used to be commit e65b486273)
2001-06-06 07:35:08 +00:00
Andrew Tridgell
05fc3e578c use LDSHFLAGS not -shared in several places
(This used to be commit 8ec9c87b5d)
2001-06-04 05:13:59 +00:00
Andrew Tridgell
a14c8acbba removed SHLIBS until someone has time to get it to compile on more platforms (Richard?)
(This used to be commit 02a3a782b8)
2001-06-03 23:49:53 +00:00
Simo Sorce
bbf5ea221a 4 new functions to retrieve single linked list of group and passwd entries
+ a fix to an infinite loop in srv_samr_nt.c caused by misuse of
setgrent/getgrent/endgrent solved by these new functions
(This used to be commit 97dbb54a13)
2001-05-29 07:34:01 +00:00
Tim Potter
40ff4007c7 Added stubs for SRVSVC and NETLOGON rpcclient commands.
(This used to be commit 3343c9f0d6)
2001-05-24 00:20:32 +00:00
Andrew Tridgell
8910320b85 added utmp.o to NECESSARY_BECAUSE_SAMBA_DEPENDENCIES_ARE_SO_BROKEN_OBJ
(This used to be commit f2bb3c50f3)
2001-05-17 13:51:07 +00:00
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