Age | Commit message (Collapse) | Author | Files | Lines |
|
Parse::Pidl::Samba4::NDR::Parser.
Small optimization to avoid including NDR headers multiple times
(This used to be commit 6967b9884970b6f1d7617196ab024d401628a13c)
|
|
(This used to be commit 7e057e6bdaf82bf8acdfc5d656dd75f367e70bf2)
|
|
metze
(This used to be commit b72062e653b1d87d957f1f10415cdd034cac4bdb)
|
|
metze
(This used to be commit 47781fccbc9a4fc3867e4c3959a17765c7e4dc71)
|
|
- the out subcontext's need to have a fixed size of r->in.offered,
to make windows clients happy
metze
(This used to be commit 054e1ca434b2f81de199eeb41cb6233524fc5779)
|
|
struct
- fix some typos in EnumPrintServerForms()/GetPrintServerForms()
- add AddPrintServerForms()/SetPrintServerForms() and DeletePrintServerForms
metze
(This used to be commit 73906388421beebb34f2a00c9e0d1fc8b400a42a)
|
|
- this is an abstraction layer for print services,
like out NTVFS subsystem for file services
- all protocol specific details are still in rpc_server/spoolss/
- like the stupid in and out Buffer handling
- checking of the r->in.server_name
- ...
- this subsystem can have multiple implementation
selected by the "ntptr providor" global-section parameter
- I currently added a "simple_ldb" backend,
that stores Printers, Forms, Ports, Monitors, ...
in the spoolss.db, and does no real printing
this backend is basicly for testing, how the spoolss protocol
works
- the interface is just a prototype and will be changed a bit
the next days or weeks, till the simple_ldb backend can
handle all calls that are used by normal w2k3/xp clients
- I'll also make the api async, as the ntvfs api
this will make things like the RemoteFindFirstPrinterChangeNotifyEx(),
that opens a connection back to the client, easier to implement,
as we should not block the whole smbd for that
- the idea is to later implement a "unix" backend
that works like the current samba3 code
- and maybe some embedded print server vendors can write there own
backend that can directly talk to a printer without having cups or something like this
- the default settings are (it currently makes no sense to change them :-):
ntptr providor = simple_ldb
spoolss database = $private_dir/spoolss.db
metze
(This used to be commit 455b5536d41bc31ebef8290812f45d4a38afa8e9)
|
|
- add EnumMonitors() server code and return "Standard TCP/IP Port"
- add parsing for opening Ports and Monitors with OpenPrinterEx()
metze
(This used to be commit 08e6de37bc293e2f000d03b51642964d92d6e95e)
|
|
- add somemore checks in the Emun*() pull/push glue code
metze
(This used to be commit 075fe1eb4b6b2d00cdd9965656598aaec53da638)
|
|
- use the same names as etherel (offered,needed) for the buffer sizes
(and they are really independently used)
metze
(This used to be commit f5532a5b74e972f44ed8aa19ee9c5851a4b40f65)
|
|
us somewhat cleaner IDL.
(This used to be commit b7b01bccd101654d1f5ec83cba9dea7e9431d6ce)
|
|
metze
(This used to be commit a547f2c2a190ec5cfaa6a3b3917159b3aa616f59)
|
|
metze
(This used to be commit 1fc617e871729bccf38c0b5dd8316f78d2de727d)
|
|
metze
(This used to be commit 08d28e5d20bc689a2cdc779e7a99e3902abf99db)
|
|
- add StartDocPrinter() idl
- add EndDocPrinter() idl
metze
(This used to be commit c635a623bc1fe6c78db9adf25500abc1f6ce9abe)
|
|
metze
(This used to be commit b0e7092bc585912882d06c56fd7a536c9b8936d6)
|
|
metze
(This used to be commit 73d597bacf83492ed3da2307dd6785548b903b39)
|
|
metze
(This used to be commit 08eb591034573b2748dad44f53ba7a806657e9e7)
|
|
functions
metze
(This used to be commit 870ed3a2b528a9c869392b7ac31e90917bd66ed0)
|
|
with a better aproach later
metze
(This used to be commit 9a4e9f68fbddaae3fc86e30d39b69fc76261c0ea)
|
|
parsing code for the spoolss_Enum* functions, there still same handwritten code needed
but just to stack the autogenerated code into the correct way
metze
(This used to be commit 155d18e8b78afebfb4a84e43e3b4d8fc6c9cc4e2)
|
|
should
now able to use constructions like these:
[size_is(20)] int *x; -> Pointer to array of 20 ints
[size_is(20)] int x[]; -> Array of 20 ints
[size_is(20)] int *x[]; -> Array of 20 pointers to ints
[size_is(20,)] int *x[] -> Array of 20 pointers to ints
[size_is(,20)] int *x[]; -> Pointer to array of 20 ints
[size_is(,20)] int **x; -> Pointer to pointer to array of 20 ints
[size_is(20)] int x[][30]; -> 20 blocks of 30 ints
(This used to be commit ecf583da71c2f80be124c17fccdcb284b47e0695)
|
|
The main difference in this new version is the extra data structure generated
between the IDL data structure and the NDR parser:
IDL -> NDR -> { ndr_parser, ndr_header, eparser, etc }
This makes the ndr_parser.pm internals much more sane.
Other changes include:
- Remove unnecessary calls with NDR_BUFFERS (for example, GUID doesn't have any buffers, just scalars) as well as some (unnecessary) nested setting of flags.
- Parse array loops in the C code rather then calling ndr_pull_array(). This allows us to have, for example, arrays of pointers or arrays of pointers to arrays, etc..
- Use if() {} rather then if () goto foo; everywhere
- NDR_IN no longer implies LIBNDR_FLAG_REF_ALLOC
- By default, top level pointers are now "ref" (as is the default in
most other IDL compilers). This can be overridden using the
default_pointer_top() property.
- initial work on new ethereal parser generators by Alan DeKok and me
- pidl now writes errors in the standard format used by compilers, which
is parsable by most editors
- ability to warn about the fact that pidl extension(s) have been used,
useful for making sure IDL files work with other IDL compilers.
oh, and there's probably some other things I can't think of right now..
(This used to be commit 13cf227615f6b9e0e5fa62e59197024410254f01)
|
|
metze
(This used to be commit 23b529ee090e1858fc18794b949f7e466fa82b0e)
|
|
- fix GetPrinterData(), look inside the datablob
- add idl for RemoteFindFirstChangeNotify(), without meaning yet, just to not return a DCERPC_FAULT
when receiving this request
metze
(This used to be commit 92f3d5bd9c700032612ac20dc7635730c555c4da)
|
|
a handle as parameter,
EnumPorts
EnumPrinterDrivers
EnumMonitors
EnumPrintProcessors
EnumPrinters
we now do cross checks between the different info levels
and sore the results in a global context,
so that we later can add cross checks between the different object types
- add idl for EnumMonitors and EnumPrintProcessors
metze
(This used to be commit 92a3721bc7a28d521090b10eb3b1eed089036432)
|
|
find...:-( )
- use a DATA_BLOB for the driver specific data in the devmode
metze
(This used to be commit 87d48b20769666b568ac1115246b58995d221148)
|
|
(This used to be commit eed816e20f9cfcfc7bc475f1007578dcd2fd8ae0)
|
|
WERR_NOT_SUPPORTED though.
(This used to be commit ba4730a37838f45db1b77b777af8efdb45a06006)
|
|
- add and fix some PrinterInfo levels
- add and fix some DriverInfo levels
- fix EnumPrinterDriver torture test
the curent RPC-SPOOLSS now passes on w2k3
metze
(This used to be commit 14b88ca20dc64702f1c1b457a09b1f13b1964654)
|
|
metze
(This used to be commit 0f5b0ec34984d27a33bed3a5c7c627e9a2d96ccc)
|
|
metze
(This used to be commit bc31e19f38319b098402d1f348bb5f5952fdcf40)
|
|
metze
(This used to be commit fd7950abe62e91108157619ace8e96e99110b668)
|
|
for the spoolss_Enum* functions
metze
(This used to be commit bfcc86e706cf32672323eda939e5def6694509a8)
|
|
metze
(This used to be commit 748c456641bfc6717a0aaa9d1da903b041c7de5a)
|
|
- move dom_sid, security_descriptor, security_* funtions to one place
and rename some of them
metze
(This used to be commit b620bdd672cfdf0e009492e648b0709e6b6d8596)
|
|
(This used to be commit da7ec2ae68112697e95b502f9ae093a4f504abe9)
|
|
(This used to be commit f06ecd81dd79d8294125ab0549ccbdbbb0ddd8d5)
|
|
(This used to be commit e5fe971dc557fa75d86c4b713ca4ceb10fd0c560)
|
|
(This used to be commit 206f3de297c397c8894f9855ea8571c68823e1fc)
|
|
committing. (-:
(This used to be commit c776232d0130638a85cc8ce75e4bbef75952e856)
|
|
problem that tim found.
(This used to be commit 2cf35cb4d2513a7be46065e12c6fd1e2b90f4b8a)
|
|
Add tests for EnumForms, GetForm, AddForm, DeleteForm.
(This used to be commit 6c49ce976a5c6982fa83de4ea723cef5597c29ef)
|
|
need to be marked as subcontext(0).
GetPrinter tests now work for all info levels!
(This used to be commit 53bd02960e17f7517e0d6c4f489d27b8bdcc7582)
|
|
strings. Not sure how to write this as idl which maps to a char * but
at least devicemodes can be pulled off the wire sucessfully.
(This used to be commit dd20730a09935b0783b020a020ed9283ca1e4608)
|
|
the build on systems like solaris with the SunPRO compiler
(This used to be commit fe913ad11bf1c5e9fe04ed769a93b0ea16aa0a34)
|
|
(This used to be commit 68cd0b82e9a829dee0264523f2f2bdd37d479371)
|
|
(This used to be commit 6a9e18528ca29c7f9bf093a6890e0c0e2a1c0f68)
|
|
specifying a endpoint is now also 'endpoint' instead of 'endpoints'. The
default endpoint (if none is specified) is still "ncacn_np:[\\pipe\\ifacename]",
where ifacename is the name of the interface.
Examples:
[
uuid(60a15ec5-4de8-11d7-a637-005056a20182),
endpoint("ncacn_np:[\\pipe\\rpcecho]", "ncacn_ip_tcp:")
]
interface rpcecho
{
void dummy();
}
dcerpc_binding is now converted to ep_description in the server, but I hope to
completely eliminate ep_description later on.
The eventual goal of all these changes is to make it easier to add
transports as I'm going to add support for
ncalrpc (local RPC over named pipes) and ncacn_unix_stream (Unix sockets).
(This used to be commit f3da7c8b443a29b0c656c687a277384ae1353792)
|
|
(This used to be commit 7983a99479164d04281dd6c34d63733afa3c3612)
|