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

1677 Commits

Author SHA1 Message Date
Andrew Tridgell
ba523d895a fixed the handling of zero-length top level arrays in pidl
(This used to be commit fa45529af7)
2003-12-15 01:07:08 +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 bd3dcfe582)
2003-12-14 13:22:12 +00:00
Simo Sorce
4cd6b8a64b typo
(This used to be commit 2afbd1e000)
2003-12-14 12:27:51 +00:00
Simo Sorce
b356f3e43e reduce double explanation of FIXED ARRAYS
(This used to be commit 6f33109b10)
2003-12-14 12:04:55 +00:00
Andrew Tridgell
e2898c098f fix _ptr_ declaration
(This used to be commit 5fed4681ed)
2003-12-14 08:44:38 +00:00
Andrew Tridgell
869df3adbd handle the auto-allocation of [ref] output arrays in pidl. This
can simplify rpc servers a lot.
(This used to be commit 28fa62d63d)
2003-12-12 04:18:21 +00:00
Andrew Tridgell
16309de71d * the RPC-ECHO pipe now works in smbd, as long as the data sizes
don't cause fragmented pdus (I'll add fragments shortly)

 * change data_blob_talloc() to not zero memory when the 2nd argument
   is NULL. The zeroing just masks bugs, and can't even allow a DOS
   attack

 * modified pidl to ensure that [ref] arguments to the out side of
   functions are allocated when parsing the in side. This allows rpc
   backends to assume that [ref] variables are all setup. Doesn't work
   correctly for [ref] arrays yet

 * changed DLIST_ADD_END() to take the type instead of a tmp
   variable. This means you don't need to declare a silly tmp variable in
   the caller
(This used to be commit 46e0a35819)
2003-12-12 03:59:09 +00:00
Andrew Tridgell
e5ed18db65 more portable array of endpoints code from pidl
(This used to be commit c598590a11)
2003-12-10 23:49:55 +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 fe91635da8)
2003-12-08 07:37:38 +00:00
Andrew Tridgell
2773e54c98 commit idl.pm now, as many build farm machines don't have 'yapp'
(This used to be commit 2b1300386d)
2003-12-08 02:55:28 +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 be2c2be459)
2003-12-08 02:24:40 +00:00
Andrew Tridgell
daeffe3f11 don't save the intermediate form to disk unless we need to
(This used to be commit 4e1a5a21a4)
2003-12-07 23:47:35 +00:00
Andrew Tridgell
dbf4b65d49 a bit more speed and better line matching in errors
(This used to be commit 788f6c44db)
2003-12-07 13:51:23 +00:00
Andrew Tridgell
4e1bac41f4 make pidl a little less verbose
(This used to be commit 76f48affe5)
2003-12-07 13:39:45 +00:00
Andrew Tridgell
55d2c54e03 re-wrote pidl to use Parse::Yapp instead of Parse::RecDescent, This
makes pidl about 3x faster, and also gives us much better error
reporting and a more standard grammer definition that will be much
easier to code in lex/yacc if we want to do so at a later
date. (Parse::Yapp uses essentially the same grammer file as lex/yacc)

It also means we no longer need Parse::RecDescent, which should make
pidl much more portable.
(This used to be commit 4bbaffeb44)
2003-12-07 13:38:07 +00:00
Andrew Tridgell
399496d9d9 netr_DatabaseSync() now works fully for databases 0, 1 and 2
(This used to be commit c4c09e9413)
2003-12-02 04:59:18 +00:00
Andrew Tridgell
d65f0095c9 added netr_DatabaseSync(). It doesn't work as I haven't done schannel
yet, but at least the request is understood by w2k3

Also modified pidl to allow multiple branches in a union to have the
same element. This is used in netlogon.
(This used to be commit 983c0e9683)
2003-12-02 03:06:21 +00:00
Andrew Tridgell
06ae424835 * netr_ServerPasswordSet() now works - the test suite changes the
machine account password.

  * neater handling on value() options in IDL. The auto-print code
    will now display the right value so you don't need to initialise
    it in your C code
(This used to be commit 3dd978b12b)
2003-12-02 00:31:54 +00:00
Andrew Tridgell
a6cf6cada9 added netr_LogonSamLogon() and test code
(This used to be commit 4fa3ad3ecb)
2003-12-01 09:28:10 +00:00
Andrew Tridgell
5b46116923 added netr_ServerReqChallenge and cleaned up byte array printing
(This used to be commit bb42107dcc)
2003-12-01 03:19:43 +00:00
Andrew Tridgell
b0531a38cc started adding netlogon IDL and test suite
(This used to be commit 3d64eefb46)
2003-12-01 01:41:38 +00:00
Andrew Tridgell
606514b077 make sure there is at least one valid interface in an IDL file
(This used to be commit 86ab394806)
2003-11-28 05:32:40 +00:00
Andrew Tridgell
ba33beec05 * added a bunch of placeholder IDL files
* allow for an interface to list its endpoints in the IDL file, so we
   can automatically make the server listen on the right pipes, and
   can scan pipes more easily (I don't take advantage of this yet,
   just putting the infrastructure in place)
(This used to be commit c8b8480244)
2003-11-28 05:20:11 +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 a2bdf0be01)
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 ccd9ddeed6)
2003-11-28 00:48:05 +00:00
Andrew Tridgell
ab3d728b7e added an rpc scanner. This prints messages like this:
uuid 82273fdc-e32a-18c3-3f78-827929dc23ea  version 0x0000:0x0000  'eventlog'
        24 calls available
        WARNING: local IDL defines 4 calls

when all the WARNINGs are gone then we know we have all the calls :)
(This used to be commit f5821b2468)
2003-11-27 05:34:28 +00:00
Andrew Tridgell
fffd741a7a added auto-determination of the DCERPC over TCP port number by asking
the servers endpoint mapper
(This used to be commit 4abf5376b0)
2003-11-26 03:36:17 +00:00
Andrew Tridgell
06942f3ddb added some paranoid checking for enums
(This used to be commit 3492f37b0b)
2003-11-26 01:13:00 +00:00
Andrew Tridgell
bbb11d4a0d * prepared the dcerpc subsystem for adding the RPC over TCP transport
* fixed a uninitialised variable bug in pidl (found by valgrind)
(This used to be commit 8bce61b8af)
2003-11-24 11:45:33 +00:00
Andrew Tridgell
7d36545d33 give far more detail in the EPMAPPER results
(This used to be commit 4203019698)
2003-11-24 05:28:10 +00:00
Andrew Tridgell
3114289c64 make sure we don't try to update a constant
(This used to be commit 4a6034f2e3)
2003-11-24 03:31:03 +00:00
Andrew Tridgell
e4773b184c added tests for the remaining calls on the rpc management interface
(This used to be commit 00f9b0e120)
2003-11-24 03:21:49 +00:00
Andrew Tridgell
3d0e6b3835 added a tool called 'ndrdump' that allows you to dump NDR data
according to the current IDL taking the data from a file. In
combination with a little hack to ethereal to extract data this is a
quite powerful IDL development tool.
(This used to be commit 229a325c3c)
2003-11-23 13:44:19 +00:00
Andrew Tridgell
1b9452ffc5 fixed the handling of value() attributes on scalars in IDL that
reference other elements of the same structure
(This used to be commit d8d17be290)
2003-11-23 07:14:17 +00:00
Andrew Tridgell
800d3e0134 ooh, this is fun!
I have recoded the core dcerpc packet structures (all the PDUs etc) in
terms of IDL, which means we now use pidl to generate all the code for
handling the most basic dcerpc packets. This is not normally possible
as it isn't completely valid NDR, but pidl has a number of extensions
that make it quite easy.

This also means we get the server side dcerpc
marshalling/unmarshalling code for free.
(This used to be commit 92bcad0258)
2003-11-23 06:28:12 +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 64b2c67e47)
2003-11-23 03:42:20 +00:00
Andrew Tridgell
868555bca5 added support for enumerated types in IDL files. This makes unions
easier to work with.
(This used to be commit 60be15d306)
2003-11-22 22:53:08 +00:00
Andrew Tridgell
e79e6bc472 added support for 'const' in IDL files. This makes it easy to define
symbolic names for bitfields etc.
(This used to be commit 344a6e1682)
2003-11-22 22:09:10 +00:00
Andrew Tridgell
277322b9d4 added the beginnings of an IDL validator, to give clearer errors when
IDL is not valid
(This used to be commit c1b708708e)
2003-11-22 12:25:20 +00:00
Andrew Tridgell
677fb26deb * fixed handling of relative subcontext unions
* fixed GetPrinter in spoolss after OpenPrinter
(This used to be commit 4aea2d79dd)
2003-11-22 10:37:00 +00:00
Andrew Tridgell
175e947579 * enable RPC/NDR validation in all smbtorture code
* allow us to distinguish between null arrays and zero length arrays,
   by making the allocation size a minimum of 1 on array pull
(This used to be commit 11c0fe548e)
2003-11-22 08:41:40 +00:00
Andrew Tridgell
86a604429e a fairly major upgrade to the dcerpc system
* added a NDR validator. The way it works is that when the
   DCERPC_DEBUG_VALIDATE_* flags are set the dcerpc system will
   perform NDR buffer validation. On sending a request the packet is
   first marshalled, then unmarahslled, then marshalled again, and it is
   confirmed that the two marshalling results are idential. This
   ensures that our pull and push routines are absolutely in sync, so
   that we can be very confident that if a routine works in the client
   then the corresponding routine must work on the server side. A
   similar validation is performed on all replies.

 * a result of this change is that pidl is fussier about the [ref]
   tag. You can only use it on pointers (which is the only place it
   makes sense)

 * fixed a basic alignment bug in the push side of the NDR code

 * added server side pull/push support. Our dcerpc system is now fully
   ready to be used on the server side.

 * fixed the relative offset pointer list. It must be traversed in
   reverse order on push

 * added automatic value setting for the size parameter in outgoing
   SdBuf structures.

 * expanded the ndr debugging code to always give a message on any
   failure

 * fixed the subcontext push code

 * fixed some memory leaks in smbtorture RPC tests
(This used to be commit 8ecf720206)
2003-11-22 08:11:32 +00:00
Andrew Tridgell
3f2598abad added Parse::RecDescent module into pidl to ensure we all use the same
version. This should fix the problems Richard was seeing.
(This used to be commit 76c24a5cb0)
2003-11-22 01:40:24 +00:00
Andrew Tridgell
0a0f8b5e3a fixed a bug with pushing non-pointer unions
(This used to be commit bc2fbc79cc)
2003-11-21 22:34:45 +00:00
Andrew Tridgell
a465add90f * changed the way strings are handled in pidl to a much more general
interface. We now support an arbitrary set of flags to each parser,
  and these can be used to control the string types. I have provided
  some common IDL string types in librpc/idl/idl_types.h which needs to
  be included in every IDL file.

* added IDL for the endpoint mapper. Added a test suite that enumerates
  all endpoints on the server.
(This used to be commit d2665f36a7)
2003-11-21 13:14:17 +00:00
Andrew Tridgell
9fc7be869b added support for 'ascstr', a ascii string in MSRPC !
(This used to be commit a5eeb3be05)
2003-11-21 02:19:09 +00:00
Andrew Tridgell
d869d8c8eb ignore generated idl.pm
(This used to be commit e9d18ecc2d)
2003-11-20 22:51:02 +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 2ed87a52cc)
2003-11-20 22:46:01 +00:00
Andrew Tridgell
5d77cda1dc make sure we don't try to use c++ style variable declaration
(This used to be commit 9fee737931)
2003-11-20 07:28:59 +00:00
Andrew Tridgell
e2254cc18f fixed pushing structures containing pointers inside unions
(This used to be commit bb30f42cd4)
2003-11-20 07:07:09 +00:00
Andrew Tridgell
08026ca1e0 a bit neater way of emitting code
(This used to be commit 964c323721)
2003-11-20 06:34:18 +00:00
Andrew Tridgell
9fb8ee5765 * cope with pidl not being in $HOME/pidl
* cope with empty structures in unions
(This used to be commit a706ff7893)
2003-11-20 05:39:54 +00:00
Andrew Tridgell
b2fd4284b6 use a precompiled grammer in pidl. This speeds up pidl by about a
factor of 2 on my system.
(This used to be commit a291dd835f)
2003-11-20 04:36:09 +00:00
Andrew Tridgell
cde87e39c6 avoid compiler warnings for unused variables with [relative] pointers
(This used to be commit 786566e53c)
2003-11-20 02:06:25 +00:00
Andrew Tridgell
52461a3d14 its LoadStructure() in util.pm that doesn't like strict perl - any
perl gurus out there know why?
(This used to be commit a1d9afc92f)
2003-11-20 02:03:36 +00:00
Andrew Tridgell
427bb5541b damn, "use strict;" in util.pm breaks pidl - but why?
(This used to be commit 8f54792392)
2003-11-20 01:55:32 +00:00
Andrew Tridgell
91b960e22b use strict perl package everywhere for error checking
(This used to be commit 3b7a4b70a3)
2003-11-20 01:43:35 +00:00
Andrew Tridgell
cd3c6c3cc7 * added a 'lstring' type for spoolss
* added some notes on type equivalents in NOTES.txt
(This used to be commit a44d952fcb)
2003-11-20 01:27:17 +00:00
Andrew Tridgell
fd15fc58e7 * added support for empty case elements (including default cases)
* changed to midl syntax using [case(x)] instead of case(x)
(This used to be commit 6ecdb25e13)
2003-11-20 00:57:00 +00:00
Andrew Tridgell
5d4bfbd30d switched to a new way of handling unions, so that we can handle
alignment correctly for unions that have non-uint16 discriminants

added recursive structure alignment. This gets quite hairy, but I
think I've got it mostly right.
(This used to be commit c0d96f87ea)
2003-11-19 22:11:17 +00:00
Andrew Tridgell
d60fe82970 slightly more accurate structure alignment code - I need to do proper
recursive alignment soon
(This used to be commit d3838c3668)
2003-11-19 07:29:55 +00:00
Andrew Tridgell
3425f1bfe4 auto-generate the pipe UUID version and name
(This used to be commit cdba426e62)
2003-11-18 04:59:29 +00:00
Andrew Tridgell
cb22240eb4 support the 'default' case in IDL unions
(This used to be commit 7f3f274cdc)
2003-11-18 03:25:51 +00:00
Andrew Tridgell
7b185ccb32 auto-generate top-level debug print functions when a flag is set on
the dcerpc pipe. This saves lots of code in each test suite.
(This used to be commit db74a03d15)
2003-11-18 01:17:10 +00:00
Andrew Tridgell
fb53302c8e auto-generate functions for printing top-level function
parameters. You can choose to print just the [in] parameters, just the
[out] parameters or both
(This used to be commit 6afc3a465e)
2003-11-17 11:53:12 +00:00
Andrew Tridgell
c562794e74 started documenting the extension to IDL that pidl implements
(This used to be commit 22b5418a53)
2003-11-17 09:32:57 +00:00
Andrew Tridgell
fa83432e10 * support inline arrays
* add enough to allow security descriptors to be IDL described

* added "noprint" property to allow fancy printing for specific
  functions
(This used to be commit 08df20c8be)
2003-11-17 06:25:51 +00:00
Andrew Tridgell
ff9558bdf9 handle non-NTSTATUS return types
(This used to be commit 5832a1447c)
2003-11-17 02:57:04 +00:00
Andrew Tridgell
cc5f231e95 better [relative] handling, allowing for nested relative structures
and arrays of relative structures
(This used to be commit eb887f883a)
2003-11-17 02:17:01 +00:00
Andrew Tridgell
c4b7585288 * the beginnings of non-constant fixed arrays
* added relative pointers support
(This used to be commit 4a34a4f29c)
2003-11-16 13:48:05 +00:00
Andrew Tridgell
0c5759a4b2 added support for "relstr", structure and union properties and public
functions
(This used to be commit fb2f8c6bff)
2003-11-16 11:34:32 +00:00
Andrew Tridgell
3d7524c7ae added the "subcontext" attribute for auto-handling of user-marshalled
sub-context buffers
(This used to be commit 01cc199d78)
2003-11-16 05:59:05 +00:00
Andrew Tridgell
b5fccdd9ee fixed the handling of much more general C expressions in value()
statements
(This used to be commit 8b38041f65)
2003-11-16 05:05:38 +00:00
Andrew Tridgell
54ccb9c6a2 added support for varying conformant arrays (needed for samr
userinfo3)
(This used to be commit f5b577a2b9)
2003-11-15 10:57:17 +00:00
Andrew Tridgell
1e9ea7fe86 fixed alignment of the buffers part structures
(This used to be commit f38ecd7ff7)
2003-11-15 09:13:55 +00:00
Andrew Tridgell
5a28ca7bf3 support a new value() attribute that allows us to auto-fill certain
elements. Used at the moment for string lengths.

the regular expression isn't right, but it works for the case I need.
Perl expert needed :)
(This used to be commit c7ddd6b2aa)
2003-11-15 07:49:03 +00:00
Tim Potter
7290260c1a Fix bug in generation of function ndr_pull code generation. This patch
makes the code symmetric with the ndr_push code.
(This used to be commit 4a6f192ff8)
2003-11-15 05:15:40 +00:00
Andrew Tridgell
5a1779b982 it turns out that all MS servers ignore the artifact struct_len fields
in OpenPolicy and OpenPolicy2, so we don't in fact need the
[struct_len] attribute. This makes our IDL much closer to the MS IDL.
(This used to be commit f0a8f063a6)
2003-11-14 21:39:13 +00:00
Andrew Tridgell
4922823167 * make pidl.pl exit with an error on a parse error
* fixed a buffers/scalars bug in structures
(This used to be commit e66daf5273)
2003-11-14 13:15:20 +00:00
Andrew Tridgell
565fd2da76 fixed another problem with pointers to arrays in structures
(This used to be commit cf880a8312)
2003-11-14 07:55:43 +00:00
Andrew Tridgell
5b7f049829 fixed the handling of unions of pointers
(This used to be commit 7b0f2ccf07)
2003-11-14 07:19:32 +00:00
Andrew Tridgell
b6b4cc752b * differentiate between pointers and non-pointers in switch_is union
elements in structures

* layout the pull/push/print generated functions with all push
  together, all pull together etc, as this makes for easier debugging

(note that I have no redirected commit messages for pidl to the
samba-cvs mailing list, so you may be seeing these messages for the
first time. See the pidl cvs repository for details on pidl)
(This used to be commit b5888b5315)
2003-11-14 02:20:41 +00:00
Andrew Tridgell
ff02537261 I think we now handle conformant arrays in structures correctly - the
test cases pass
(This used to be commit 22e1502350)
2003-11-13 09:23:58 +00:00
Andrew Tridgell
6735b72a8d handle constant sized arrays
(This used to be commit 673e7bcdc2)
2003-11-12 05:32:37 +00:00
Andrew Tridgell
5475c9f978 added support for 8 byte aligned HYPER_T
(This used to be commit 259d5d7a0e)
2003-11-11 07:55:41 +00:00
Andrew Tridgell
023a8fcb80 fixed the NDR structure alignment rules
still not perfect, but works for all the cases I have seen so far
(This used to be commit ce15cc87fb)
2003-11-11 06:53:12 +00:00
Andrew Tridgell
d720f3d2e4 fixed handling on pointers to arrays of structures in unions
(This used to be commit a29145df04)
2003-11-11 06:20:18 +00:00
Andrew Tridgell
161321f68d automatic printing of unions
(This used to be commit 73b5300755)
2003-11-11 04:38:10 +00:00
Andrew Tridgell
cecbf0cd8b automatically generate ndr_print_*() functions for every IDL
structure. This allows easy debug and test tool writing without having
to write functions that print every element of complex structures.
(This used to be commit 81d6181172)
2003-11-11 04:04:36 +00:00
Andrew Tridgell
be443f914a - added support for the pull side of unions
- don't generate parse functions for pull/push functions that are not
  used
(This used to be commit 54613574bc)
2003-11-11 01:59:28 +00:00
Andrew Tridgell
db7012397f much cleaner handling of the different types of variables
(This used to be commit 4df59bcff5)
2003-11-10 11:33:21 +00:00
Andrew Tridgell
5eb907f1d4 added a module for auto-generating the client calls. We can now go
from IDL file to working Samba4 RPC client library in a completely
automated fashion.
(This used to be commit 566476b3ff)
2003-11-09 08:28:47 +00:00
Andrew Tridgell
b7a6971ce1 - handle void functions
- bettenicer handling of PROPERTIES

- handle size_is() on an out variable that refers to an in variable
(This used to be commit 33d9b75783)
2003-11-09 07:22:48 +00:00
Andrew Tridgell
75a30ad828 added support for arrays as function arguments and for unistr_noterm
(This used to be commit 7bb45a21ae)
2003-11-09 02:20:26 +00:00
Andrew Tridgell
2430e941d7 added fixes for the pushing of arrays and handling non-ref pointers in
function arguments
(This used to be commit 25be8dafda)
2003-11-09 00:57:27 +00:00
Andrew Tridgell
574a11bd37 - include includes.h
- fix ref ptrs in push

- add NTSTATUS return
(This used to be commit cba9df9aa4)
2003-11-08 13:24:14 +00:00
Andrew Tridgell
4e4a63d518 - generate both the pull and push side
- fixed lots of bugs
(This used to be commit 96e269fefe)
2003-11-08 11:19:39 +00:00
Andrew Tridgell
3043b766c8 a bit of a tidy up before I add the ndr_pull_*() side of things
(This used to be commit 8e865508a6)
2003-11-06 12:42:37 +00:00
Andrew Tridgell
fa3db33a54 updated pidl to auto-generate the ndr_push_*() functions for the
Samba4 rpc framework

not complete, but sufficient for a number of lsa functions
(This used to be commit 42cd6904f5)
2003-11-06 12:29:23 +00:00
Andrew Tridgell
cc3a6ea992 This commit was generated by cvs2svn to compensate for changes in r30,
which included commits to RCS files with non-trunk default branches.
(This used to be commit 3a69cffb06)
2003-08-13 01:53:07 +00:00
Andrew Tridgell
ef2e26c91b first public release of samba4 code
(This used to be commit b0510b5428)
2003-08-13 01:53:07 +00:00
Tim Potter
4d1f9d1def Added "return offset;" to end of generated function.
We're getting really close now!  Ethereal can properly decode OpenPolicy
requests and responses using pidl generated code.  QueryInfoPolicy
is nearly working.
(This used to be commit 23a9812987)
2001-12-10 20:43:59 +00:00
Tim Potter
7ab4731cd9 Fix for pointers to structures in function args.
(This used to be commit e35c62267f)
2001-12-10 06:23:52 +00:00
Tim Potter
7fd9b2ae1c Misc fixes:
- pass correct args when doing arrays of scalar vs buffer types
 - add NULL data argument to all calls
 - get rid of unecessary curly brackets
 - typos
(This used to be commit 42a688ea1c)
2001-12-09 08:07:20 +00:00
Tim Potter
3c3fb798fd wchar_t is a scalar.
(This used to be commit 79e56e719c)
2001-12-09 06:12:51 +00:00
Tim Potter
ae02ee94e9 Convert a bunch of "prs_foo()" to "offset = prs_foo()"
Return offset from function request and response code.
(This used to be commit 83ada5447b)
2001-12-08 22:40:36 +00:00
Tim Potter
ae87ee3ccd Removed old commented-out code.
Generate code for parsing arrays.

We're nearly ready to start generating real code!
(This used to be commit f6f5b8a718)
2001-12-08 22:04:16 +00:00
Tim Potter
6ec1278d16 Reinvented has_properties() function lost after HD crash. )-:
Fixed up handling of pointer to scalar type.
(This used to be commit eb3dbe113f)
2001-12-08 21:43:22 +00:00
Tim Potter
d99084e3ec Made hyper a simple type.
Changed dissect_ to prs_ to avoid name conflicts.
(This used to be commit 2670f1f8e1)
2001-12-08 21:13:44 +00:00
Tim Potter
4201dba52e Moved processing of function arguments and structure elements
back in to ParseElement()

is_simple_type() -> is_scalar_type()

Added more types to scalar type list.

Pass scalars/buffers flag down to ParseElement()
(This used to be commit 802c219bab)
2001-12-06 07:16:08 +00:00
Tim Potter
71f99b2a1e Don't pass down drep (data representation) arg from top level fn.
Decided to use tridge's PARSE_SCALARS and PARSE_BUFFERS pattern for
generating code for structures and function calls.  For functions, dissect
sub-structures with PARSE_SCALARS|PARSE_BUFFERS.  For arrays and structures
in structures (?) use PARSE_SCALARS on each element of the structure then
PARSE_BUFFERS.

Determine whether a type is a "simple" type or a struct/union.
(This used to be commit bb5bab5817)
2001-12-06 03:59:51 +00:00
Tim Potter
100655416e Don't pass decorative name to policy handle or ntstatus dissectors.
Pass drep (data representation?) field down from dcerpc dissector.  This is
whether the packet is big or little endian.
(This used to be commit e5ca478614)
2001-11-28 06:29:24 +00:00
Tim Potter
b056579969 Decorate some of the parse functions with element names. This is starting
to get closer to be compilable code!
(This used to be commit fbfe0795a9)
2001-11-28 06:05:26 +00:00
Tim Potter
b23b2ae0fd Start generating some ethereal code that may actually compile with
fewer tweaks.
(This used to be commit b045bbec59)
2001-11-27 00:35:50 +00:00
Tim Potter
07aed4b599 Start generating code for unions.
(This used to be commit ac71046754)
2001-11-26 05:27:32 +00:00
Tim Potter
a402ea46ab Ignore *.pidl
(This used to be commit c2fa746c47)
2001-11-26 05:25:24 +00:00
Tim Potter
de5f7da321 Renamed functions from Dump* to Parse*
(This used to be commit 952b47dc23)
2001-11-24 23:39:12 +00:00
Tim Potter
e581569a87 Initial version of ethereal parser generator. Works with test.idl
but not much else!
(This used to be commit 84fe4a000c)
2001-11-24 23:37:57 +00:00
Tim Potter
92ba6fc79e Added --eparser to call ethereal parser generator.
(This used to be commit e1f191a9dc)
2001-11-24 23:35:58 +00:00
Andrew Tridgell
95baaba31c forgot a file
(This used to be commit 39e8894fb2)
2001-11-24 11:29:42 +00:00
Andrew Tridgell
a1cd69698f changed auto-generated comment for headers
(This used to be commit 24ec2f1f81)
2000-12-14 23:53:33 +00:00
Andrew Tridgell
e42a8b3db9 beginnings of the C parser generator
(This used to be commit a9b1e03b33)
2000-12-14 23:53:19 +00:00
Andrew Tridgell
4bad800aa1 added header generation
(This used to be commit 406458b2fc)
2000-12-14 04:41:56 +00:00
Andrew Tridgell
dac34e4b70 fixed help
(This used to be commit 649e8ca0bb)
2000-12-14 04:41:45 +00:00
Andrew Tridgell
bdb96b0e94 added a comment
(This used to be commit 6831c000a3)
2000-12-14 04:41:31 +00:00
Andrew Tridgell
5bd7a4a832 - fixed FlattenHash bug
- better handling of .. in filenames
(This used to be commit 4a9953f55b)
2000-12-14 04:16:57 +00:00
Andrew Tridgell
ce74988dc8 first version
(This used to be commit 14135ed6bb)
2000-12-14 04:09:29 +00:00