1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-25 06:04:04 +03:00

49 Commits

Author SHA1 Message Date
Jelmer Vernooij
0515f728e6 r21433: Get rid of the COM support code - it's not used and unmaintained. We can
always bring it back if we need to. This code was getting in the way while
refactoring.

Add some tests for TDR.

Get rid of typedef in lib/registry/tdr_regf.idl and fix the
TDR code to be able to deal with it.
(This used to be commit 1ad0f99a439f0d52a735b391bf9900d50171aca5)
2007-10-10 14:48:33 -05:00
Stefan Metzmacher
0c910a6e44 r15291: $f already has the $srcdir prefixed
metze
(This used to be commit db36bf4a32dd750821afd35057141b0d91f175d0)
2007-10-10 14:05:03 -05:00
Alexander Bokovoy
9cf41988ff r15036: Add out of tree build support and see how buildfarm will respond to make constructs
(This used to be commit 9329854489e2c231ffb7986d39009e0936873c11)
2007-10-10 14:04:03 -05:00
Jelmer Vernooij
620d375320 r12465: Merge Parse::Pidl::Samba4::NDR::Header into Parse::Pidl::Samba4::NDR::Parser.
Small optimization to avoid including NDR headers multiple times
(This used to be commit 6967b9884970b6f1d7617196ab024d401628a13c)
2007-10-10 13:47:42 -05:00
Jelmer Vernooij
342d229b40 r10190: Do some very basic input checking when provisioning.
(This used to be commit 87f25fe49caa78422582337c5208a331ef5b8c15)
2007-10-10 13:38:06 -05:00
Jelmer Vernooij
8b5a953725 r10111: Make pidl by default assume the input file is an IDL file rather
then a .pidl file.
(This used to be commit d8a31d3048a6421a3d49d3c121bc86d748838b3a)
2007-10-10 13:38:00 -05:00
Jelmer Vernooij
59b13f9a1d r9460: - Move pidl to lib/. This fixes standalone installation of pidl.
- Update the README
- Allow building the docs stand-alone
(This used to be commit b56084ce251ab7a35dd1422f38de258e8e1e1477)
2007-10-10 13:34:17 -05:00
Jelmer Vernooij
efc03df292 r9459: Move pidl up one level (to prevent too much nesting)
(This used to be commit e48202275e60c18e464457d200daeb953386e221)
2007-10-10 13:34:17 -05:00
Jelmer Vernooij
5b94a9583f r8806: Move data representation-independent data into seperate header
(This used to be commit 26e1fdf63007e28468a05b18bede1e69981edc12)
2007-10-10 13:30:06 -05:00
Jelmer Vernooij
2c306f9af7 r8803: Rename --header to --ndr-header and --parser to --ndr-parser
(This used to be commit d292ab7ca6ce8232a182e7ec9480671bb3044a6a)
2007-10-10 13:30:06 -05:00
Jelmer Vernooij
21ba94c7be r8801: Change --output to --outputdir and make pidl add a data representation prefix
to pidl itself. Useful for supporting other data representation types.
(This used to be commit 5af68a04763f39f2a9898155e2c82ed2ee646f36)
2007-10-10 13:30:06 -05:00
Andrew Tridgell
89641975bb r8469: the extra pidl args need to be normal args, not after a --, otherwise pidl tries to compile
"--uint-enums" as a IDL file :-)

This should help the build on AIX 5.2
(This used to be commit f54e6c83e48cc2d1f03827337b68658057206898)
2007-10-10 13:23:06 -05:00
Jelmer Vernooij
fa1445f4bc r8264: - Use standard perl package structure for pidl.
- Only "use" pidl modules in the main executable when necessary

Try 'make install' in build/pidl to install the package (should work stand-alone).
(This used to be commit c620095692122a65ae1c5d85ca20468d4de93c54)
2007-10-10 13:19:27 -05:00
Jelmer Vernooij
c222331d6d r8263: Some small pidl fixes, start working towards supporting installation of pidl.
(This used to be commit c785677a14c958a518d5a9755d2b94e81b34bdb3)
2007-10-10 13:19:27 -05:00
Tim Potter
b48c121454 r8103: Add an argument separator between the hardcoded args and $PIDL_EXTRA_ARGS
so the first extra arg isn't interpreted as a parameter to the last
hardcoded arg.
(This used to be commit ad1700ca8e1af7933a183172f4a5ad4b56280474)
2007-10-10 13:19:08 -05:00
Stefan Metzmacher
1b3471ed0c r7425: configure check to see if a compiler can handle negative enum values
if the compiler doesn't support it we pass --uint-enums to pidl

metze
(This used to be commit c52703c0a8adb4f64ec52e4bf602e9c17ef2c748)
2007-10-10 13:17:51 -05:00
Jelmer Vernooij
80d3047333 r5490: The big (D)COM commit! :-) Contains most of the changes described in the
DCOM paper in lorikeet. This is the result of 1.5 months work (mainly
figuring out how things *really* work) at the end of 2004.

In general:
- Clearer distinction between COM and DCOM. DCOM is now merely
  the glue between DCE/RPC+ORPC and COM. COM can also work without
  DCOM now. This makes the code a lot clearer.
- Clearer distinction between NDR and DCOM. Before, NDR had a couple of
  "if"s to cope with DCOM, which are now gone.
- Use "real" arguments rather then structures for function arguments in
  COM, mainly because most of these calls are local so packing/unpacking
  data for every call is too much overhead (both speed- and code-wise)
- Support several mechanisms to load class objects:
  - from memory (e.g. part of the current executable, registered at start-up)
  - from shared object files
  - remotely
- Most things are now also named COM rather then DCOM because that's what it
  really is. After an object is created, it no longer matters whether it
  was created locally or remotely.

There is a very simple example class that contains
both a class factory and a class that implements the IStream interface.
It can be tested (locally only, remotely is broken at the moment)
by running the COM-SIMPLE smbtorture test.

Still to-do:
 - Autogenerate parts of the class implementation code (using the coclass definitions in IDL)
 - Test server-side
 - Implement some of the common classes, add definitions for common interfaces.
(This used to be commit 71fd3e5c3aac5f0002001ab29d2248e6c6842d6f)
2007-10-10 13:10:50 -05:00
Jelmer Vernooij
7e400d38ec r5479: Add ODL input support.
The ODL module can convert an ODL structure to an IDL structure so that:
 - The COM subsystem can use the ODL structure
 - The DCE/RPC subsystem can use the IDL structure
(This used to be commit a339765d99c90c46f29e2bd71a6aa271febb096d)
2007-10-10 13:10:49 -05:00
Tim Potter
7d43a2bdfe r5087: Add --swig to pidl flags so that swig .i files are generated with
make idl.
(This used to be commit 7ba9f329aa8baa8e8c0efe742ad51eb5b3487cbc)
2007-10-10 13:09:21 -05:00
Tim Potter
00169404ed r5033: Remove --with-eparserdir configure option and eparser_idl make target.
This is all done in the lorikeet/ethereal Makefile now.
(This used to be commit 5ec9fad5cfc9c6010550aa1890e9d213030db55d)
2007-10-10 13:09:14 -05:00
Tim Potter
37957ea3eb r5026: Don't build the swig stuff by default until it's a bit more stable.
(This used to be commit df35f1debf30682363399ee2a02063da695fff84)
2007-10-10 13:09:14 -05:00
Tim Potter
28a3ccf9af r5019: Some tweaks to building the swig .i files.
(This used to be commit c252a286efcb9ca2024c8d234c8a65855522fb25)
2007-10-10 13:09:14 -05:00
Tim Potter
0ee9f4d6e1 r4599: Remove some duplicated code in pidl.pl.
Start working on adding support for bitmaps and enums.

In progress tweaks for arrays of structures.
(This used to be commit d39cb7ecb4c193cbba628ee6d6f9b5c5bbf89d33)
2007-10-10 13:08:32 -05:00
Tim Potter
b099aa9696 r4471: Running 'make eparser_idl' doesn't need --header anymore.
(This used to be commit 913630d6e43cda621b36403169544dcbea926153)
2007-10-10 13:07:55 -05:00
Jelmer Vernooij
a0fa682faa r3861: - Put ndr and rpc client code in seperate files
- Add some const
(This used to be commit a00bda88e1b6abdc36e5aa8c2a35f64855f67c96)
2007-10-10 13:05:58 -05:00
Jelmer Vernooij
46badf1908 r3790: use a registration function that is called from dcerpc_*_init functions
rather then a large table in librpc/gen_ndr/tables.c. This will allow us
to only link in only the required gen_ndr files (speeds up linking quite a
bit, makes binaries smaller).

Each gen_ndr_* file now has a init function that calls the init functions
of the interfaces it contains. I did it this way to keep pidl's code simple,
though it might hurt startup time a bit. I'd be happy to change it if
people like one function better.
(This used to be commit 3c436590ae95b58ad6d00e72d6fdd08a4d80f208)
2007-10-10 13:05:53 -05:00
Andrew Bartlett
d1f4ba08df r3651: Add a new configure option --with-eparserdir
This allows us to call 'make eparser_idl', generate the files required
by the ethereal pidl plugin, and put them in the right place.  (See
lorikeet/ethereal)

Andrew Bartlett
(This used to be commit bd9497b092335b2646a1955ea7c55ad33eb7d538)
2007-10-10 13:05:41 -05:00
Tim Potter
ff19c6ac0d r2255: Don't do experimental swig stuff by default.
(This used to be commit db191572ff9351ae84dc0c3d6302fa60b61cd179)
2007-10-10 12:58:35 -05:00
Tim Potter
3f7bf05f75 r2253: Add test program, as small example of what's going on.
(This used to be commit fd31ae38dfe2d005b3e01ac059c2e15fa389aad4)
2007-10-10 12:58:35 -05:00
Stefan Metzmacher
19fba1fafa r725: fix usage of $PERL to "$PERL" to handle perl -W correct
metze
(This used to be commit b1161c4c832dd0a2975eee0908d9d5cd6171f608)
2007-10-10 12:53:45 -05:00
Andrew Tridgell
8c2636f59a r586: removed --clientfns from build_idl.sh (tim removed that code from pidl)
(This used to be commit d1dcde1d913803a44b07a1937262ae627680072c)
2007-10-10 12:51:48 -05:00
Tim Potter
3dce6f1e23 r356: Start of auto-generated client functions. Tridge can you take a look
and tell me what you think?  Output does not compile yet.
(This used to be commit 65692c9a9301329ad93628778e3d8f9188a67059)
2007-10-10 12:51:34 -05:00
Stefan Metzmacher
ec5d556a12 some systems doesn't have ./ in PATH
so use ./build/pidl/pidl.pl

metze
(This used to be commit 7aab10d507346ac8d748558e5b9dbcfe9a56f601)
2004-02-02 07:06:28 +00:00
Andrew Tridgell
2b5bc1b252 lots of shells don't have the -nt test, so use hackish find command
instead
(This used to be commit 2d57346c2d07e43c4630a7f7963173d84c5a7c92)
2003-12-15 12:13:34 +00:00
Andrew Tridgell
64352f9ef1 a script fix for the build farm
(This used to be commit 5f6b0baa300d088a6d7fb91fcbceff594292eaa0)
2003-12-15 05:37:15 +00:00
Andrew Tridgell
f6eb8342cb added auto-generation of the server side boilerplate code for each
pipe.

The server side code gets generated as librpc/gen_ndr/ndr_NAME_s.c and
gets included in the pipe module
(This used to be commit bd3dcfe5820489a838e19b244266bd9126af5eb4)
2003-12-14 13:22:12 +00:00
Andrew Tridgell
8fa36b1fbc some systems don't have "which" and some systems don't have the "-nt"
flag to test. It's amazing that systems like that are ever sold.
(This used to be commit fe91635da87104544946983c7c63d5c584db614a)
2003-12-08 07:37:38 +00:00
Andrew Tridgell
696c70c2f4 fixed shell scripting error
(This used to be commit b18dce549dd390681e70bc0e290d7ec4e44791c3)
2003-12-08 04:05:57 +00:00
Andrew Tridgell
86d0e4b7f1 cope with yapp not being installed
(This used to be commit e41d95acc016087d77712d214a52813c00923d4d)
2003-12-08 03:57:03 +00:00
Andrew Tridgell
58714e6bda * reduced the number of grammer conflicts a lot using (arbitrary)
precedence rules

 * build a standalone parser. When we come to distributing Samba4 we
   can just include idl.pm and other developers won't need Parse::Yapp
   installed

 * avoid the recursive make in most cases in build_idl.sh
(This used to be commit be2c2be459d1bed41c113590e70711cb89ad12b9)
2003-12-08 02:24:40 +00:00
Andrew Tridgell
07fdc2c73e * support multiple interfaces in one IDL file in pidl
* make far more generated functions static

 * get rid of gen_rpc, and include the client calls in ndr_*.c

 * added placeholder IDL for a number of intefaces (dcom, wzcsvc, browser etc)
(This used to be commit a2bdf0be0119023df3c2b9ea515ed355020f2625)
2003-11-28 03:47:45 +00:00
Andrew Tridgell
df5949efb4 added auto-generation of the IDL interface tables. This makes two less
places that need to be edited when someone adds a new IDL file.
(This used to be commit ccd9ddeed679baa6cbb05ac728b381b50420e00f)
2003-11-28 00:48:05 +00:00
Andrew Tridgell
02dc7536dd save about 35% of the time for "make idl" by processing multiple IDL
files at once, which means less perl startup time.
(This used to be commit 64b2c67e479ddc754d18f752d347ba22a6d77682)
2003-11-23 03:42:20 +00:00
Andrew Tridgell
15776970a5 we now use a copy of pidl inside the samba4 source tree at
source/build/pidl/

I imported the code using direct respository manipulation to preserve
the commit history
(This used to be commit 2ed87a52ccc343c281e29f5a18f3f99fe06beb28)
2003-11-20 22:46:01 +00:00
Andrew Tridgell
b008369175 moved the pidl auto-generated files out of CVS
(This used to be commit 49c72d42766a55e2833c004e721a47115000626b)
2003-11-20 11:09:53 +00:00
Andrew Tridgell
6a991bb9b0 simple method for auto-building rpc files if idl changes, and
auto-building proto.h if it doesn't exist. This should make life a
little easier for developers
(This used to be commit ab5939e79600841c5e7e31e9da8742bf2da4a184)
2003-11-15 21:25:03 +00:00
Andrew Tridgell
44dfd03963 - added the rest of the LSA calls as stubs
- auto-generate the client calls with 'make idl'
(This used to be commit 8e52381313fc5a603b6d7e6ff090896c772096e9)
2003-11-09 08:30:29 +00:00
Andrew Tridgell
30d45fc57c check for pidl.pl in path, not $HOME/pidl/
(This used to be commit 9aacdb5b8ac26a7a6337aeb23f63513fbd2236f6)
2003-11-09 01:18:59 +00:00
Andrew Tridgell
668c938678 - more generation fixes
- added auto-generation from the Makefile. Only called when you run "make idl"
(This used to be commit 47a17e5a08dcb5ef2880f75a59bf417e161a71d3)
2003-11-08 13:23:20 +00:00