wireshark/epan/dissectors/pidl
Michael Mann 87e55cb9e0 Sync with latest SAMBA PIDL source per http://www.wireshark.org/lists/wireshark-dev/201310/msg00217.html
Didn't integrate
0010-frsrpc-Regenerate-frsrpc-due-to-changes-in-the-pidl-.patch
0016-Regenerate-the-dnserver.patch

due to compilation errors on Windows.

svn path=/trunk/; revision=52744
2013-10-21 19:41:54 +00:00
..
mapi
nspi
rfr
IDL_LICENSE.txt
Makefile.am
README Sync with latest SAMBA PIDL source per http://www.wireshark.org/lists/wireshark-dev/201310/msg00217.html 2013-10-21 19:41:54 +00:00
atsvc.cnf
atsvc.idl
dfs.cnf
dfs.idl
dnsserver.cnf Sync with latest SAMBA PIDL source per http://www.wireshark.org/lists/wireshark-dev/201310/msg00217.html 2013-10-21 19:41:54 +00:00
dnsserver.idl
dssetup.idl Sync with latest SAMBA PIDL source per http://www.wireshark.org/lists/wireshark-dev/201310/msg00217.html 2013-10-21 19:41:54 +00:00
efs.cnf
efs.idl
eventlog.cnf
eventlog.idl
frsrpc.cnf Sync with latest SAMBA PIDL source per http://www.wireshark.org/lists/wireshark-dev/201310/msg00217.html 2013-10-21 19:41:54 +00:00
frsrpc.idl Sync with latest SAMBA PIDL source per http://www.wireshark.org/lists/wireshark-dev/201310/msg00217.html 2013-10-21 19:41:54 +00:00
frstrans.cnf
frstrans.idl
idl_types.h
initshutdown.cnf Sync with latest SAMBA PIDL source per http://www.wireshark.org/lists/wireshark-dev/201310/msg00217.html 2013-10-21 19:41:54 +00:00
initshutdown.idl Sync with latest SAMBA PIDL source per http://www.wireshark.org/lists/wireshark-dev/201310/msg00217.html 2013-10-21 19:41:54 +00:00
lsa.cnf Sync with latest SAMBA PIDL source per http://www.wireshark.org/lists/wireshark-dev/201310/msg00217.html 2013-10-21 19:41:54 +00:00
lsa.idl
misc.cnf Sync with latest SAMBA PIDL source per http://www.wireshark.org/lists/wireshark-dev/201310/msg00217.html 2013-10-21 19:41:54 +00:00
misc.idl Sync with latest SAMBA PIDL source per http://www.wireshark.org/lists/wireshark-dev/201310/msg00217.html 2013-10-21 19:41:54 +00:00
samr.cnf Sync with latest SAMBA PIDL source per http://www.wireshark.org/lists/wireshark-dev/201310/msg00217.html 2013-10-21 19:41:54 +00:00
samr.idl
srvsvc.cnf
srvsvc.idl
winreg.cnf Sync with latest SAMBA PIDL source per http://www.wireshark.org/lists/wireshark-dev/201310/msg00217.html 2013-10-21 19:41:54 +00:00
winreg.idl Sync with latest SAMBA PIDL source per http://www.wireshark.org/lists/wireshark-dev/201310/msg00217.html 2013-10-21 19:41:54 +00:00
wkssvc.cnf
wkssvc.idl
wzcsvc.cnf
wzcsvc.idl

README

A note about PIDL generated files
=================================

Quick guide
===========
    rsync -av rsync.samba.org::ftp/pub/unpacked/samba_4_0_test/pidl .

    for file in *.idl; do
        echo "Generating dissector for $file"
        ./pidl/pidl --ws-parser -- $file;
    done
    cp packet-dcerpc*.* ..

Complete infos
==============

The following files:
../packet-dcerpc-atsvc.h
../packet-dcerpc-budb.c
../packet-dcerpc-budb.h
../packet-dcerpc-butc.c
../packet-dcerpc-butc.h
../packet-dcerpc-dfs.h
../packet-dcerpc-dnsserver.h
../packet-dcerpc-drsuapi.c
../packet-dcerpc-drsuapi.h
../packet-dcerpc-dssetup.h
../packet-dcerpc-efs.h
../packet-dcerpc-eventlog.h
../packet-dcerpc-frsrpc.h
../packet-dcerpc-frstrans.h
../packet-dcerpc-initshutdown.h
../packet-dcerpc-lsa.h
../packet-dcerpc-mapi.h
../packet-dcerpc-misc.h
../packet-dcerpc-nspi.h
../packet-dcerpc-rfr.h
../packet-dcerpc-samr.h
../packet-dcerpc-srvsvc.h
../packet-dcerpc-winreg.h
../packet-dcerpc-wkssvc.h
../packet-dcerpc-wzcsvc.h

Are automatically generated via a tool called "pidl", you shouldn't modify them manually.

The pidl tool is maintained by the Samba project (http://samba.org, samba-technical@samba.org)
We recommend to fetch a copy of the git tree of Samba to get the tool:
    git clone git://git.samba.org/samba.git

Or if you are just interested to run pidl you could fetch it via rsync:
    rsync -av rsync.samba.org::ftp/pub/unpacked/samba_4_0_test/pidl .

If both solution are not applicable you can use the copy that is located in the
tool folder but it might be a bit outdated.

Running pidl
============

You have to run the pidl command inside the pidl folder of the wireshark source tree

The command to compile file:
    <path_to_pidl>pidl --ws-parser -- <idl-file>
                                   ^^^
                                   This is *VERY* important
The command generate 2 files:
    packet-dcerpc-<interfacename>.h
    packet-dcerpc-<interfacename>.c

For instance with a pidl copy in /usr/local/src/samba/pidl and the atsvc.idl, the
command will be:

    /usr/local/src/samba/pidl/pidl --ws-parser -- atsvc.idl

This will generate 2 files:
    packet-dcerpc-atsvc.h
    packet-dcerpc-atsvc.c

If you run outside the dissectors/pidl directory, this *will* result in a
warning such as:

    atsvc.idl:5:23: idl_types.h: No such file or directory

and *may* result in additional warnings such as:

    Warning: No conformance file `initshutdown.cnf'
    Unable to handle string with flags STR_LEN4|STR_NOTERM at /usr/lib/perl5/site_perl/5.8.6/Parse/Pidl/Wireshark/NDR.pm line 283.

Notes about the in-tree pidl
============================

To allow building Wireshark pidl dissectors without having to
*explicitly* access a remote svn repository a copy of pidl is located in tools/pidl

Don't do changes in the tools/pidl directory, do them at the samba tree!
Changes to this tree will be overwritten the next time the sources from
the samba tree are updated, which is basically every time you do an svn
up in the Wireshark toplevel dir.

Not compiling idl
=================
As of October 2013, the following idl have issues when generating and compiling:
dfs.idl
srvsvc.idl
wkssvc.cnf