1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-08 21:18:16 +03:00
Commit Graph

384 Commits

Author SHA1 Message Date
Andrew Tridgell
5f7c40f6d0 getting and setting security descriptors on printers now works
this needed some fixes in tdb_unpack(). Tim, you'll need to update
(This used to be commit 9422719ab4)
2000-05-27 09:53:11 +00:00
Luke Leighton
afab6492e1 uninitialised variable "list"
(This used to be commit bf33b10a43)
2000-05-27 03:12:06 +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
a65dead017 security descs in spoolss. needs parse_sec.c nttrans.c broken.
(This used to be commit f9f2a04fdb)
2000-05-27 01:26:34 +00:00
Shirish Kalele
f3c44fba11 Fixed memory leak in RPC parsing code.
Problem in prs_set_buffer_size() was Realloc returns a NULL when newsize is zero (equivalent to a free()). We were returning a failure here without resetting the buffer_size or the data_p pointer in the prs_struct. And we weren't checking for a failure from prs_set_buffer_size(). So realloc's to zero size were not reflected in the prs_struct: memory leak.
(This used to be commit 590d9ece84)
2000-05-26 22:37:08 +00:00
Jeremy Allison
9646e6e1ba Compile time warning fixes and a time_t -> uint32 conversion fix.
Jeremy.
(This used to be commit 80a0079b2f)
2000-05-26 20:54:46 +00:00
Shirish Kalele
8a86541e28 Changed MS_DFS to WITH_MSDFS throughout.
Fixed trans2 calls on IPC$ to let dfs referral calls through.
(This used to be commit e0965a80bd)
2000-05-26 17:10:40 +00:00
Andrew Tridgell
722c86a38f a fairly big change in spoolss.
got rid of the forms, drivers and printers files in the nt drivers
directory and instead use a single tdb

note that this is _not_ all finished.
(This used to be commit 537cd6dff0)
2000-05-24 06:34:47 +00:00
Jeremy Allison
69519df0f6 Modify NT driver heirarchy to fix HP bug with duplicate printer driver
filenames :-).
Jeremy.
(This used to be commit adb6ad812a)
2000-05-22 20:04:50 +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
Jeremy Allison
819c154498 Fixed bug I introduced last night (sorry). Now truncate incoming prs_struct
buffer size to exact size of incoming data to prevent read overruns into slop
space.
Jeremy.
(This used to be commit aa1a4f46da)
2000-05-17 19:17:16 +00:00
Jeremy Allison
c560164030 Fixed bug where mallocd size of prs_struct could be larger than
incoming packet. Ensure new alloced memory is zeroed before use.
Jeremy.
(This used to be commit 1c3193aa1c)
2000-05-17 03:12:56 +00:00
Jeremy Allison
91b736d258 Synced up srv_samr with HP changes. Added error checking to original code
- what a concept :-). All this code will be replaced with TNG stuff anyway,
so not a big deal....
Jeremy.
(This used to be commit b090cff4b5)
2000-05-16 19:45:26 +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
Jeremy Allison
210f11d0e3 Check error returns.
Jeremy.
(This used to be commit 919d49b58a)
2000-05-15 21:38:03 +00:00
Jeremy Allison
ad9a3a16e0 Added Shirish's reg changes to HEAD. Sync up with 2.2.0 backport.
Also added prs_xx error return checks to new code in rpc_parse/parse_reg.c
Jeremy.
(This used to be commit a148cb9962)
2000-05-15 20:53:08 +00:00
Jeremy Allison
4fb2e2c72f Added fix for Win2k ACL query code from Shirish. I need this back ported
to 2.2.0.
Jeremy.
(This used to be commit 74851a481e)
2000-05-15 20:08:26 +00:00
Jeremy Allison
b27886addb passdb/secrets.c: Fix typo in comment.
rpc_server/srv_pipe.c: Use accessor functions rather than diddling with structure
internals directly.
smbd/process.c:
smbd/reply.c: Remove READ_PREDICTION #ifdefs.
Jeremy.
(This used to be commit eba825ff03)
2000-05-15 17:13:50 +00:00
Andrew Tridgell
e2e33eb320 call prs_dump() on every input and output packet so we have plenty of
data to work with
(This used to be commit 839ab0e332)
2000-05-15 09:59:58 +00:00
Andrew Tridgell
378ec58beb add prs_dump() at the top level rpc switch
this gets us examples of all rpc messages sent to us
(This used to be commit ce3dd8db6d)
2000-05-15 07:18:12 +00:00
Andrew Tridgell
0806cf75ff added spool_io_printer_driver_info_level_6()
thsi function and the associated header structure were autogenerated
using a little awk based code geerator I wroe ths evening. I'll commit
that next ...
(This used to be commit 974813f0d4)
2000-05-12 14:28:46 +00:00
Andrew Tridgell
053322d0ca fixed two uninitialised variables
(This used to be commit eefb36f130)
2000-05-12 06:38:41 +00:00
Jeremy Allison
612738a9e1 lib/util_unistr.c:
libsmb/clilist.c:
rpc_server/srv_spoolss_nt.c:
smbd/trans2.c: Changed unistr_to_ascii to unistr_to_dos - do codepage conversion.
msdfs/msdfs.c: Removed stub unistr_to_dos.
libsmb/pwd_cache.c: Removed obfuscation functions as they don't do anything and
					don't add any security.
Jeremy.
(This used to be commit 1ed146467e)
2000-05-10 22:47:09 +00:00
Andrew Tridgell
49a0e6d598 more merging voodoo
this adds "#define OLD_NTDOMAIN 1" in lots of places. Don't panic -
this isn't permanent, it should go after another few merge steps have
been done
(This used to be commit 92109d7b3c)
2000-05-10 10:41:59 +00:00
Andrew Tridgell
c23e01d049 the beginnings of a new scheme I've working on to allow an easier
head/tng merge.

It goes something like this:

- headers from tng get copied over one at a time

- the old headers get renamed to *_old.h

- server side code that used the old headers gets a
  #define OLD_NTDOMAIN 1
  #undef OLD_NTDOMAIN
  at the start and end of the code

- mkproto.awk recognises these special defines and does magic stuff so
  that each .c file sees the right headers

- we start moving the rpc client libraries from tng to head.

if this goes OK then, in theory, we should be able to move the client
side rpc code from tng to head without disturbing the existing head
server side code. Then when that works we can consider merging the
server side.

it remains to be seen if this scheme will work. So far I've moved
rpc_samr.h and don't seem to have broken anything.

Note this this is still a very delicate operation, as at every step of
the way I want to keep head fully functional. Please don't take part
unless you discuss it with me first.
(This used to be commit f76c037255)
2000-05-09 13:28:19 +00:00
Jeremy Allison
045469493c rpc_server/srv_lsa.c: Bring into sync with 2.0.x.
rpc_server/srv_pipe_hnd.c: Bring into sync with 2.0.x.
smbd/blocking.c: Improve blocking debug reporting.
utils/torture.c: Added check for NT locking bug.
Jeremy.
(This used to be commit e8ff6d3fb5)
2000-05-04 21:57:28 +00:00
Andrew Tridgell
f3a861e04e - use full_name instead of real_name
- got rid of guest map code in lpq parser
(This used to be commit 8e53f781d3)
2000-05-04 07:59:34 +00:00
Andrew Tridgell
59fa2dbe2c added support for deleting printers into the spoolss system
(This used to be commit e72a571853)
2000-05-02 15:31:55 +00:00
Andrew Tridgell
32d5416b6a split the username in the vuser structure into a separate
userdom_struct. As the name implies this also contains a domain
(unused at the moment).

This will be important shortly, as operation in appliance mode needs
the domain to be always carried with the username.
(This used to be commit ee8546342d)
2000-05-02 13:55:42 +00:00
Andrew Tridgell
f6dec4d551 fixed a memory leak
(This used to be commit d4743ec0be)
2000-05-02 07:10:26 +00:00
Jeremy Allison
693ffb8466 Added sys_fork() and sys_getpid() functions to stop the overhead
of doing a system call every time we want to just get our pid.
Jeremy.
(This used to be commit 148628b616)
2000-05-02 02:23:41 +00:00
Andrew Tridgell
565cc66e6a fix handing of ascii_to_unistr
(This used to be commit 385b1844b6)
2000-04-30 14:27:39 +00:00
Shirish Kalele
b39cee0bb9 Added info level 1005 to netsharegetinfo (is the share a DFS root)
Added dfs_server announcement in set_default_server_announce_type()
(This used to be commit 99d07e1352)
2000-04-28 18:36:47 +00:00
Andrew Tridgell
00e3fe1324 moved trans2.h and nterr.h into includes.h with all our other includes
(This used to be commit d7cd7c88fd)
2000-04-25 14:06:57 +00:00
Andrew Tridgell
4a57f9763a fixed a memory leak of devmode in spoolss
this stuff is screaming out for talloc() rather than malloc/free
(This used to be commit e9576124cb)
2000-04-25 00:46:24 +00:00
Andrew Tridgell
d315f69e54 more pstring/fstring errors found by insure
(This used to be commit ba1931bb65)
2000-04-23 14:25:36 +00:00
Andrew Tridgell
d0e9a0c4f2 another fstring/pstring fix
(This used to be commit 91ed7d8ffe)
2000-04-23 08:44:55 +00:00
Andrew Tridgell
6d667ad4d3 fixed another spoolss memory leak
I am falling in love with insure - it is finding _lots_ of memory
problems
(This used to be commit d9b4076293)
2000-04-23 08:40:54 +00:00
Andrew Tridgell
b1686a6109 we can't pass a fstring to a routine expecting a pstring
(This used to be commit 8af70f2887)
2000-04-23 08:13:48 +00:00
Andrew Tridgell
9e3f457db0 fixed a prs memory leak (weren't freeing input buffer)
(This used to be commit be7186b0dd)
2000-04-23 07:38:18 +00:00
Jeremy Allison
6259f51dd9 This is a *big* checkin that may break some things, but implements the
new open mechanism Andrew & I discussed.

config.sub:
configure: Included the QNX patch.

include/vfs.h:
smbd/vfs-wrap.c:
smbd/vfs.c: Added ftruncate vfs call (needed).

Note that we will also need locking calls in the vfs (to be added).

lib/util_unistr.c:
nmbd/nmbd_processlogon.c: Fix for NT domain logons causing nmbd to core dump.
                          Also fix for sidsize DOS bug.

locking/locking.c: Check value of ret before using it for memdup.

printing/printing.c: Convert print_fsp_open to return an allocated fsp.

rpc_server/srv_lsa.c: Fix for NT domain logons.

I have removed all use of lp_share_modes() from the code (although I
left the parameter in the table for backwards compatibility). It no longer makes
sense for this to exist.

smbd/close.c: Removed lp_share_modes().
smbd/fileio.c: Fixed parameters to unlock_share_entry call in panic code.
smbd/files.c: Correctly set the unix_ERR_code to ERRnofids on fsp allocation fail.

smbd/nttrans.c:
smbd/reply.c:
smbd/trans2.c: Changed all occurrences of open_file_shared/open_directory/
               open_file_stat to return an fsp from the call.

smbd/open.c: Changed all occurrences of open_file_shared/open_directory/
             open_file_stat to return an fsp from the call.

In addition I have fixed a long standing race condition in the deny mode
processing w.r.t. two smbd's creating a file. Andrew, please note that
your original idea of using open with O_EXCL in this case would not work
(I went over the races very carefully) and so we must re-check deny modes
*after* the open() call returns. This is because there is a race between
the open with O_EXCL and the lock of the share mode entry. Imagine the
case where the first smbd does the open with O_EXCL and a deny mode of DENY_ALL,
but is pre-empted before it locks the share modes and creates the deny
mode entry for DENY_ALL. A second smbd could then come in with O_RDONLY
and a deny mode of DENY_NONE and the two opens would be allowed.

The *only* way to fix this race is to lock the share modes after the
open and then do the deny mode checks *after* this lock in the case
where the file did not originally exist.

This code will need extensive testing but seems to initially work.

Jeremy.
(This used to be commit ab0ecc39d6)
2000-04-22 00:33:16 +00:00
Jeremy Allison
d2db520692 Sync up with 2.0.7 w.r.t. guest users.
Jeremy.
(This used to be commit 8a99d824c0)
2000-04-18 21:23:26 +00:00
Andrew Tridgell
83170b36c5 got rid of FILE* in the unix name mapping code
(This used to be commit 92f85cef8b)
2000-04-16 09:42:09 +00:00
Andrew Tridgell
b062fe0d8f - put the job status in english not french!
- add helper fns to change from internal status codes to nt spoolss codes
(This used to be commit 917c4814fe)
2000-04-16 07:28:06 +00:00
Andrew Tridgell
8a91379a00 JF and Jeremy - please have a look at what I did to the spoolss
code. It now uses the new printing backend.

------------
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 2df82862c0)
2000-04-16 06:20:43 +00:00
Jeremy Allison
067b341a01 Ensure sign&seal work. Data len must have RPC_HEADER_LEN removed, but
offset should not (rpc header already consumed). This fix does not affect tng.
Jeremy.
(This used to be commit 018ec4fdd9)
2000-04-14 19:02:41 +00:00
Andrew Tridgell
2fa922611b finally got sick of the "extern int Client" code and the stupid
assumption that we have one socket everywhere

while doing so I discovered a few bugs!

1) the clientgen session retarget code if used from smbd or nmbd would
cause a crash as it called close_sockets() which closed our main
socket! fixed by removing close_sockets() completely - it is unnecessary

2) the caching in client_addr() and client_name() was bogus - it could
easily get fooled and give the wrong result. fixed.

3) the retarget could could recurse, allowing an easy denial of
service attack on nmbd. fixed.
(This used to be commit 5937ab14d2)
2000-04-11 13:55:53 +00:00
Jean-François Micouleau
416fa5377b added checks to open both \\server\printer and \\server\share.
it doesn't work, the getprinter level 0 reply is wrong...

	J.F.
(This used to be commit a7b09e3e11)
2000-04-10 21:47:46 +00:00
Jeremy Allison
aac823aca1 Modified interfaces and added checks around *all* *alloc calls
so that errors are returned on memory allocation failure.
Jeremy.
(This used to be commit 9a118cd4a2)
2000-04-06 22:48:53 +00:00
Jean-François Micouleau
154596cae5 filled the architecture table (useless for the moment).
fixed GetJob.

	J.F.
(This used to be commit 3fea49e1d8)
2000-04-06 16:23:04 +00:00
Jean-François Micouleau
dc2d1544b3 changed all the status code to ERROR_xxx instead of NT_STATUS_xx which are
wrong in the spoolss case.

fxed a bug in the job notify code (that's the polite answer), the truth is
different: there is a bug in the NT spooler service, including SP6a and
NT2K.

changed the default lpcommand in the LPRNG case.

	J.F.
(This used to be commit 396f73c11b)
2000-04-05 10:05:32 +00:00
Jeremy Allison
2d15c34f4f Change to vfs API. POSIX states fsync should return an int, not a void.
Jeremy.
(This used to be commit 6c442d68af)
2000-04-04 18:44:04 +00:00
Tim Potter
16d53e8752 Snuck in some whitespace cleanup while I was visiting these files. (-:
(This used to be commit f249dc041f)
2000-04-04 00:36:19 +00:00
Tim Potter
ba0a53b52c Removed unused parameter vuid from rpc_server api_* calls. For the very few
functions that need to access the vuid, it can be obtained from the
current_user global.

Did some whitespace cleanup.
(This used to be commit 738b307bd7)
2000-04-04 00:35:34 +00:00
Jeremy Allison
15bb28ccd2 IRIX include fixes.
Jeremy.
(This used to be commit 3a39acd353)
2000-03-31 20:44:55 +00:00
Jean-François Micouleau
c475ab51d9 split addprinterex in preparation for level 1 support and to stop it
coredump.

	J.F.
(This used to be commit aea47dee7d)
2000-03-29 14:49:05 +00:00
Jean-François Micouleau
6ca0ed9baa rewrote getprinterdriver level 3, now correctly handle the dependent
files.
A number of memleak fixed
some error return values fixed.

	J.F.
(This used to be commit c212fbe009)
2000-03-29 12:36:44 +00:00
Jeremy Allison
8f1620125d acconfig.h configure configure.in: Added check for UT_SYSLEN for utmp code.
include/byteorder.h: Added alignment macros.
include/nameserv.h: Added defines for msg_type field options - from rfc1002.
lib/time.c: Typo fix.
lib/util_unistr.c: Updates from UNICODE branch.
printing/nt_printing.c: bzero -> memset.
smbd/connection.c: Added check for UT_SYSLEN for utmp code.

Other fixes : Rollback of unapproved commit from Luke.
Please *ask* next time before doing large changes to HEAD.

Jeremy.
(This used to be commit f02999dbf7)
2000-03-22 19:03:12 +00:00
Luke Leighton
c90a455f32 disabled the getgrent() code recently added that returns all unix groups
as NT aliases.  no allowance is made for possible clashes with some
unix groups that may be mapped to NT groups, not NT aliases.

it is not the place of this code to make decisions about which unix
groups should be mapped to NT aliases or NT groups, or in fact whether
unix groups exist at all (e.g "appliance" mode).

please could the person who wrote this code contact me and i will outline
the architecture and design issues that you need to be aware of when
working in this area: i need your skills and ability -- applied in the
right places.

thank you.
(This used to be commit 67d9b3733f)
2000-03-22 11:03:32 +00:00
Luke Leighton
253e4eec84 disabled code from HP that replaced get_sampwd_entries() with
get_passwd_entries().  get_sampwd_entries() calls the generic
SAM pwdb API, whereas get_passwd_entries() calls the Unix database
explicitly.

this will result in LDAP, MYSQL, NISPLUS and any other future modules
(e.g "appliance" mode SAM database) failing to operate correctly.

i know what problem was attempted to be fixed, here, but this is
not the right place to attempt to fix it.
(This used to be commit 04fa6a0273)
2000-03-22 10:55:01 +00:00
Luke Leighton
b89b75a368 added the following message to all dce/rpc client/server code, except
the spoolss code (it's cut from TNG) and the smb-dce/rpc interface
code that jeremy has been working up to TNG-functionality.

i also want this message to go into SAMBA_2_0 and SAMBA_2_0_RELEASE,
because it is intolerable that potentially good modifications be made
to code that is going to be thrown away, and people waste their time
fixing bugs and adding enhancements that have already been carried
out already, up to two years ago in the TNG branch.

/*
 * THIS CODE IS OUT-OF-DATE BY TWO YEARS, IS LEGACY DESIGN AND VERY, VERY,
 * INCOMPLETE.  PLEASE DO NOT MAKE ANY FURTHER ENHANCEMENTS TO THIS CODE
 * UNLESS THEY ARE ALSO CARRIED OUT IN THE SAMBA_TNG BRANCH.
 *
 * PLEASE DO NOT TREAT THIS CODE AS AUTHORITATIVE IN *ANY* WAY.
 *
 * REPEAT, PLEASE DO NOT MAKE ANY MODIFICATIONS TO THIS CODE WITHOUT
 * FIRST CHECKING THE EQUIVALENT MODULE IN SAMBA_TNG, UPDATING THAT
 * FIRST, *THEN* CONSIDER MAKING THE SAME MODIFICATION IN THIS BRANCH
 *
 * YOU WILL, ALMOST GUARANTEED, FIND THAT THE BUG-FIX OR ENHANCEMENT THAT
 * YOU THINK IS NECESSARY, HAS ALREADY BEEN IMPLEMENTED IN SAMBA_TNG.
 * IF IT HAS NOT, YOUR BUG-FIX OR ENHANCEMENT *MUST* GO INTO SAMBA_TNG
 * AS THE SAMBA_TNG CODE WILL REPLACE THIS MODULE WITHOUT REFERENCE TO
 * ANYTHING IN IT, WITH THE POSSIBLE RISK THAT THE BUG-FIX OR ENHANCEMENT
 * MAY BE LOST.
 *
 * PLEASE OBSERVE AND RESPECT THIS SIMPLE REQUEST.
 *
 * THANK YOU.
 *
 * lkcl@samba.org
 */
(This used to be commit cfaea90529)
2000-03-22 10:26:09 +00:00
Jeremy Allison
d1ac0e95e4 Added preliminary user list code from HP. Needs to be made dynamic
and backended with a tdb database so the list can be shared between
multiple smbds. ToDO.

Jermey.
(This used to be commit 171222ce22)
2000-03-21 18:33:08 +00:00
Jean-François Micouleau
4d43977130 fix a bug in enumprinterdrivers
J.F.
(This used to be commit a8d04c26da)
2000-03-16 16:23:38 +00:00
Jean-François Micouleau
c5fbb293a8 oops ! forgot smb.h in last commit
added info level 1 parsing code for addprinter(ex)

	J.F.
(This used to be commit 4847f7b17b)
2000-03-13 19:34:04 +00:00
Jean-François Micouleau
bf5f8bcf70 small fix for addprinterex at level 2
I have some network dumps at level 1, but quoting MSDN: "Level [in]
Specifies the version of the structure to which pPrinter points. This
value must be 2."

I like NT so much :-)

	J.F.
(This used to be commit fbf40c6a91)
2000-03-13 15:53:02 +00:00
Jean-François Micouleau
79bfb14318 parse correctly getprinterdriver2
found a stupid bug in enumprinters
fixed some memleaks
found a coredump in enumprinterdata
getprinterdriverdir responds correctly now.

	J.F.
(This used to be commit 07f2e194ba)
2000-03-13 11:09:20 +00:00
Jeremy Allison
7b97d056a1 You *must* use O_EXCL when using mktemp (security issue).
Glad this code never shipped :-).
This is not a problem in 2.0.x.
Jeremy.
(This used to be commit a0c302f4d0)
2000-03-11 01:02:45 +00:00
Jeremy Allison
5e22394654 Fixups for compiles with gcc flags -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual
Partially implemented rpc daemon redirect (needs more work).
Jeremy.
(This used to be commit a462191698)
2000-03-10 19:50:03 +00:00
Jean-François Micouleau
e0ebb76a74 getprinter level 0: was to short, found most of the fields, undocumented,
undecoded, nothing in MSDN, but now it works :-)

cleanup of error codes.
fixed some dfs declarations function.

	J.F.
(This used to be commit 87da4404ab)
2000-03-10 17:12:24 +00:00
Jean-François Micouleau
115d98e639 removed unused variable
J.F.
(This used to be commit e2557ae551)
2000-03-10 17:06:12 +00:00
Jean-François Micouleau
32811abdf1 restore the spoolss pipe as Jeremy replaced srv_pipe with the one from
SAMBA_2_0 :-)

	J.F.
(This used to be commit 34a3781961)
2000-03-10 17:03:04 +00:00
Jeremy Allison
7f7c2e2590 Not used. Functionality folded back into rpc_server/srv_pipe.c (where it
originally came from).
Jeremy.
(This used to be commit b9bc7e8cb6)
2000-03-09 21:46:04 +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
Jean-François Micouleau
fd69e4a13a Enumprinters level 1: reply *exactly* like an NT server
BTW, found a little memleak in it.

	J.F.
(This used to be commit 9c37b5df2d)
2000-03-07 18:10:20 +00:00
Jean-François Micouleau
0f987d77be fixed enumprinterdata.
J.F.
(This used to be commit 2b4f09e7bb)
2000-03-07 09:06:03 +00:00
Jean-François Micouleau
78d7ba5ca0 changed prs_unistr to parse empty and non-empty strings the same way.
fixed typo in SPOOLSS_SYNT
some cleanup of unused functions
wrote make_spoolss_enumprinter and make_spoolss_openprinterex for
rpcclient as I'm trying to keep in sync the parsing code between HEAD and
TNG.

Will commit changes to TNG after lunch.

	J.F.
(This used to be commit 025cdb345f)
2000-03-06 11:13:40 +00:00
Jeremy Allison
4fb014372e Fixes from Luke, back-ported from TNG to Win2k. Correctly return FAULT_PDU on
unknown rpc calls. Win2k now correctly shows the owners of files.
Jeremy.
(This used to be commit 066898689f)
2000-02-29 21:39:54 +00:00
Jean-François Micouleau
fd3acf437a added enumprintprocessordatatypes
now NT is happy and the "always send data in RAW mode" is checked

	J.F.
(This used to be commit d7bcfe17ce)
2000-02-26 23:01:02 +00:00
Jean-François Micouleau
badee62bca rewrote enumprinterdata. still a bug in it but reproducing it hard and
borring.

I need a client test program urgently!!!

rewrote setprinter, doesn't coredump anymore, and no memleak.

	J.F.
(This used to be commit b76ae1f92f)
2000-02-26 22:22:24 +00:00
Jean-François Micouleau
66018871c7 made dynamic the Printer struct. No more limits :-)
J.F.
(This used to be commit b59233b3b6)
2000-02-24 23:01:24 +00:00
Jean-François Micouleau
f3319f7963 converted a couple of bzero() to memset()
rewrote the printer notify code, so now it's compatible with SP5 and fully
dynamic. No more limits on printers and job lists.

removed the make_xxx() functions as they are not used and broken

fixed a bug in the open handle function.

	J.F.
(This used to be commit aa9054d14b)
2000-02-24 16:27:06 +00:00
Jeremy Allison
9db96b7646 lib/system.c: Fixed gcc warnings.
nmbd/nmbd_processlogon.c: Use "True" and "False" instead of 1 and 0.
Others - preparing for multiple pdu write code.
Jeremy.
(This used to be commit 9f879ec396)
2000-02-23 02:02:33 +00:00
Jean-François Micouleau
0e004212d2 more rewrite ...
comitting before starting on new functions.

	J.F.
(This used to be commit f9c2080111)
2000-02-21 01:58:13 +00:00
Jean-François Micouleau
8688933c7f fix the reply of rpc_alter_context
OpenPrinterEx is now decoding correctly the query
most of the EnumXXX use the new_buffer struct.
check the (un)marshalling return code.

conclusion: still a long way to go. all the client code has to be
rewritten, and I still wonder how to implement correctly the notify stuff.
(This used to be commit 3d6d386375)
2000-02-15 18:07:45 +00:00
Jean-François Micouleau
07fd3b392d Hum, I should remove my gloves when I'm in front of an xterm :)
fixed a stupid bug in unistr2_to_ascii that I introduced

fixed getprinterdata()
(This used to be commit 2f544a8077)
2000-02-07 18:06:54 +00:00
Jean-François Micouleau
195e3d44da spoolss definitions.
also added some prs_struct functions, 'cause I'm handling buffers as
prs_struct.

	J.F.
(This used to be commit 81e375bbbe)
2000-02-07 16:25:15 +00:00
Jean-François Micouleau
6a6749d81e First commit of the spoolss code to the HEAD branch.
still needs a lot of cleaning/debuging.

	J.F.
(This used to be commit bd9d4cdde9)
2000-02-07 16:17:59 +00:00
Luke Leighton
d91bfabc5d made cvs main up-to-date with samba_tng, with addition of process id to
msrpc loop-back interface.
(This used to be commit adbf97c0a9)
2000-01-21 02:33:21 +00:00
Jeremy Allison
86da0e8ac1 HP changes for registry querying.
Jeremy.
(This used to be commit fd8582cc0a)
2000-01-14 21:16:59 +00:00
Luke Leighton
8433aa4379 modified smbd/msrpc credential transfer system. user session key
is *missing* from samba cvs main, therefore it is set to all zeros.
this will cause, amongst other things, administrator-changing-user-passwords,
and setting up new accounts, to fail, as the user's password can only be
decoded with the session key (in this case, the administrator's usr sess key).

it's never a perfect world, is it?
(This used to be commit 3362fcdfa4)
2000-01-11 02:00:31 +00:00
Luke Leighton
ac9c6994e0 using read_with_timeout(), min data size 16 bytes (DCE/RPC header), max
size of SMBtrans response, timeout of 10 seconds.  read_data() _certainly_
doesn't work, as you don't know what size of the data is going to come
back that needs to be fed back in the SMBtrans response.  yes, oops :-)
(This used to be commit 70d6f76357)
2000-01-04 15:59:57 +00:00
Luke Leighton
528399a8a2 oops, must use read_data() not read(), as read() may only provide
part of the data stream.  read_data() is a wrapper to guarantee
receiving exactly the requested number of bytes.
(This used to be commit 90c27b7bff)
2000-01-04 07:52:21 +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
32a965e09c 2nd phase of head branch sync with SAMBA_2_0 - this delets all the files that were in the head branch but weren't in SAMBA_2_0
(This used to be commit d7b2087865)
1999-12-13 13:35:20 +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
0ce128e355 delineation between smb and msrpc more marked. smbd now constructs
pdus, and then feeds them over either a "local" function call or a "remote"
function call to an msrpc service.  the "remote" msrpc daemon, on the
other side of a unix socket, then calls the same "local" function that
smbd would, if the msrpc service were being run from inside smbd.

this allows a transition from local msrpc services (inside the same smbd
process) to remote (over a unix socket).

removed reference to pipes_struct in msrpc services.  all msrpc processing
functions take rpcsrv_struct which is a structure containing state info
for the msrpc functions to decode and create pdus.

created become_vuser() which does everything not related to connection_struct
that become_user() does.

removed, as best i could, connection_struct dependencies from the nt spoolss
printing code.

todo: remove dcinfo from rpcsrv_struct because this stores NETLOGON-specific
info on a per-connection basis, and if the connection dies then so does
the info, and that's a fairly serious problem.

had to put pretty much everything that is in user_struct into parse_creds.c
to feed unix user info over to the msrpc daemons.  why?  because it's
expensive to do unix password/group database lookups, and it's definitely
expensive to do nt user profile lookups, not to mention pretty difficult
and if you did either of these it would introduce a complication /
unnecessary interdependency.  so, send uid/gid/num_groups/gid_t* +
SID+num_rids+domain_group_rids* + unix username + nt username + nt domain
+ user session key etc.  this is the MINIMUM info identified so far that's
actually implemented.  missing bits include the called and calling
netbios names etc.  (basically, anything that can be loaded into
standard_sub() and standard_sub_basic()...)
(This used to be commit aa3c659a8d)
1999-12-12 01:25:49 +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
0d44ff9a76 attempting to resolve the issue that multiple servers often specified in
parameters to connect to \PIPE\NETLOGON.
(This used to be commit d1986ade30)
1999-11-29 21:47:14 +00:00