diff options
author | Jaap Keuter <jaap.keuter@xs4all.nl> | 2009-02-22 10:04:39 +0000 |
---|---|---|
committer | Jaap Keuter <jaap.keuter@xs4all.nl> | 2009-02-22 10:04:39 +0000 |
commit | eb77f8a35e9793214ca7aae2f2c2629805a84be8 (patch) | |
tree | df78e1977c22755c6cebadd3f28f8fb5aea1b71f /plugins | |
parent | 1948ad3985b7f5068d4dc4831daf9978d918e1ff (diff) | |
download | wireshark-eb77f8a35e9793214ca7aae2f2c2629805a84be8.tar.gz wireshark-eb77f8a35e9793214ca7aae2f2c2629805a84be8.tar.bz2 wireshark-eb77f8a35e9793214ca7aae2f2c2629805a84be8.zip |
Incorporate plugin dissector into build in collection.
svn path=/trunk/; revision=27500
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/Makefile.am | 1 | ||||
-rw-r--r-- | plugins/Makefile.nmake | 4 | ||||
-rw-r--r-- | plugins/opsi/AUTHORS | 2 | ||||
-rw-r--r-- | plugins/opsi/COPYING | 340 | ||||
-rw-r--r-- | plugins/opsi/ChangeLog | 4 | ||||
-rw-r--r-- | plugins/opsi/Makefile.am | 127 | ||||
-rw-r--r-- | plugins/opsi/Makefile.common | 35 | ||||
-rw-r--r-- | plugins/opsi/Makefile.nmake | 106 | ||||
-rw-r--r-- | plugins/opsi/moduleinfo.h | 17 | ||||
-rw-r--r-- | plugins/opsi/moduleinfo.nmake | 28 | ||||
-rw-r--r-- | plugins/opsi/packet-opsi.c | 792 | ||||
-rw-r--r-- | plugins/opsi/packet-opsi.h | 129 | ||||
-rw-r--r-- | plugins/opsi/plugin.rc.in | 34 |
13 files changed, 0 insertions, 1619 deletions
diff --git a/plugins/Makefile.am b/plugins/Makefile.am index 66e8f94779..02ce4681db 100644 --- a/plugins/Makefile.am +++ b/plugins/Makefile.am @@ -38,7 +38,6 @@ SUBDIRS = $(_CUSTOM_SUBDIRS_) \ m2m \ mate \ opcua \ - opsi \ profinet \ sercosiii \ stats_tree \ diff --git a/plugins/Makefile.nmake b/plugins/Makefile.nmake index 3b180902f3..1a8b58adab 100644 --- a/plugins/Makefile.nmake +++ b/plugins/Makefile.nmake @@ -75,9 +75,6 @@ process-plugins: cd opcua $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake $(PLUGIN_TARGET) cd .. - cd opsi - $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake $(PLUGIN_TARGET) - cd .. cd profinet $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake $(PLUGIN_TARGET) cd .. @@ -121,7 +118,6 @@ install-plugins: xcopy plugins\m2m\*.dll $(INSTALL_DIR)\plugins\$(VERSION) /d xcopy plugins\mate\*.dll $(INSTALL_DIR)\plugins\$(VERSION) /d xcopy plugins\opcua\*.dll $(INSTALL_DIR)\plugins\$(VERSION) /d - xcopy plugins\opsi\*.dll $(INSTALL_DIR)\plugins\$(VERSION) /d xcopy plugins\profinet\*.dll $(INSTALL_DIR)\plugins\$(VERSION) /d xcopy plugins\sercosiii\*.dll $(INSTALL_DIR)\plugins\$(VERSION) /d xcopy plugins\stats_tree\*.dll $(INSTALL_DIR)\plugins\$(VERSION) /d diff --git a/plugins/opsi/AUTHORS b/plugins/opsi/AUTHORS deleted file mode 100644 index 8ed2fcb69e..0000000000 --- a/plugins/opsi/AUTHORS +++ /dev/null @@ -1,2 +0,0 @@ -Author : -Laurent Rabret <laurent.rabret@i.hate.spams.org> diff --git a/plugins/opsi/COPYING b/plugins/opsi/COPYING deleted file mode 100644 index d60c31a97a..0000000000 --- a/plugins/opsi/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - <signature of Ty Coon>, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/plugins/opsi/ChangeLog b/plugins/opsi/ChangeLog deleted file mode 100644 index 6a337e388c..0000000000 --- a/plugins/opsi/ChangeLog +++ /dev/null @@ -1,4 +0,0 @@ -$Id$ - -* First module published : 0.0.1 - diff --git a/plugins/opsi/Makefile.am b/plugins/opsi/Makefile.am deleted file mode 100644 index 9c37db5db3..0000000000 --- a/plugins/opsi/Makefile.am +++ /dev/null @@ -1,127 +0,0 @@ -# Makefile.am -# Automake file for OPSI plugin -# -# $Id$ -# -# Wireshark - Network traffic analyzer -# By Gerald Combs <gerald@wireshark.org> -# Copyright 1998 Gerald Combs -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# - -INCLUDES = -I$(top_srcdir) -I$(includedir) - -include Makefile.common - -if HAVE_WARNINGS_AS_ERRORS -AM_CFLAGS = -Werror -endif - -plugindir = @plugindir@ - -plugin_LTLIBRARIES = opsi.la -opsi_la_SOURCES = \ - plugin.c \ - moduleinfo.h \ - $(DISSECTOR_SRC) \ - $(DISSECTOR_INCLUDES) -opsi_la_LDFLAGS = -module -avoid-version -opsi_la_LIBADD = @PLUGIN_LIBS@ - -# Libs must be cleared, or else libtool won't create a shared module. -# If your module needs to be linked against any particular libraries, -# add them here. -LIBS = - -# -# Build plugin.c, which contains the plugin version[] string, a -# function plugin_register() that calls the register routines for all -# protocols, and a function plugin_reg_handoff() that calls the handoff -# registration routines for all protocols. -# -# We do this by scanning sources. If that turns out to be too slow, -# maybe we could just require every .o file to have an register routine -# of a given name (packet-aarp.o -> proto_register_aarp, etc.). -# -# Formatting conventions: The name of the proto_register_* routines an -# proto_reg_handoff_* routines must start in column zero, or must be -# preceded only by "void " starting in column zero, and must not be -# inside #if. -# -# DISSECTOR_SRC is assumed to have all the files that need to be scanned. -# -# For some unknown reason, having a big "for" loop in the Makefile -# to scan all the files doesn't work with some "make"s; they seem to -# pass only the first few names in the list to the shell, for some -# reason. -# -# Therefore, we have a script to generate the plugin.c file. -# The shell script runs slowly, as multiple greps and seds are run -# for each input file; this is especially slow on Windows. Therefore, -# if Python is present (as indicated by PYTHON being defined), we run -# a faster Python script to do that work instead. -# -# The first argument is the directory in which the source files live. -# The second argument is "plugin", to indicate that we should build -# a plugin.c file for a plugin. -# All subsequent arguments are the files to scan. -# -plugin.c: $(DISSECTOR_SRC) $(top_srcdir)/tools/make-dissector-reg \ - $(top_srcdir)/tools/make-dissector-reg.py - @if test -n "$(PYTHON)"; then \ - echo Making plugin.c with python ; \ - $(PYTHON) $(top_srcdir)/tools/make-dissector-reg.py $(srcdir) \ - plugin $(DISSECTOR_SRC) ; \ - else \ - echo Making plugin.c with shell script ; \ - $(top_srcdir)/tools/make-dissector-reg $(srcdir) \ - $(plugin_src) plugin $(DISSECTOR_SRC) ; \ - fi - -# -# Currently plugin.c can be included in the distribution because -# we always build all protocol dissectors. We used to have to check -# whether or not to build the snmp dissector. If we again need to -# variably build something, making plugin.c non-portable, uncomment -# the dist-hook line below. -# -# Oh, yuk. We don't want to include "plugin.c" in the distribution, as -# its contents depend on the configuration, and therefore we want it -# to be built when the first "make" is done; however, Automake insists -# on putting *all* source into the distribution. -# -# We work around this by having a "dist-hook" rule that deletes -# "plugin.c", so that "dist" won't pick it up. -# -#dist-hook: -# @rm -f $(distdir)/plugin.c - -CLEANFILES = \ - opsi \ - *~ - -MAINTAINERCLEANFILES = \ - Makefile.in \ - plugin.c - -EXTRA_DIST = \ - Makefile.common \ - Makefile.nmake \ - moduleinfo.nmake \ - plugin.rc.in - -checkapi: - $(PERL) $(top_srcdir)/tools/checkAPIs.pl -g abort -g termoutput $(DISSECTOR_SRC) diff --git a/plugins/opsi/Makefile.common b/plugins/opsi/Makefile.common deleted file mode 100644 index 65d2da38b1..0000000000 --- a/plugins/opsi/Makefile.common +++ /dev/null @@ -1,35 +0,0 @@ -# Makefile.common for OPSI plugin -# Contains the stuff from Makefile.am and Makefile.nmake that is -# a) common to both files and -# b) portable between both files -# -# $Id$ -# -# Wireshark - Network traffic analyzer -# By Gerald Combs <gerald@wireshark.org> -# Copyright 1998 Gerald Combs -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# the name of the plugin -PLUGIN_NAME = opsi - -# the dissector sources (without any helpers) -DISSECTOR_SRC = \ - packet-opsi.c - -# corresponding headers -DISSECTOR_INCLUDES = \ - packet-opsi.h diff --git a/plugins/opsi/Makefile.nmake b/plugins/opsi/Makefile.nmake deleted file mode 100644 index acc863edc3..0000000000 --- a/plugins/opsi/Makefile.nmake +++ /dev/null @@ -1,106 +0,0 @@ -# Makefile.nmake -# nmake file for Wireshark plugin -# -# $Id$ -# - -include ..\..\config.nmake -include moduleinfo.nmake - -include Makefile.common - -CFLAGS=/WX /DHAVE_CONFIG_H /I../.. $(GLIB_CFLAGS) \ - /I$(PCAP_DIR)\include -D_U_="" $(LOCAL_CFLAGS) - -.c.obj:: - $(CC) $(CFLAGS) -Fd.\ -c $< - -LDFLAGS = $(PLUGIN_LDFLAGS) - -!IFDEF ENABLE_LIBWIRESHARK -LINK_PLUGIN_WITH=..\..\epan\libwireshark.lib -CFLAGS=/DHAVE_WIN32_LIBWIRESHARK_LIB /D_NEED_VAR_IMPORT_ $(CFLAGS) - -DISSECTOR_OBJECTS = $(DISSECTOR_SRC:.c=.obj) - -DISSECTOR_SUPPORT_OBJECTS = $(DISSECTOR_SUPPORT_SRC:.c=.obj) - -OBJECTS = $(DISSECTOR_OBJECTS) $(DISSECTOR_SUPPORT_OBJECTS) plugin.obj - -RESOURCE=$(PLUGIN_NAME).res - -all: $(PLUGIN_NAME).dll - -$(PLUGIN_NAME).rc : moduleinfo.nmake - sed -e s/@PLUGIN_NAME@/$(PLUGIN_NAME)/ \ - -e s/@RC_MODULE_VERSION@/$(RC_MODULE_VERSION)/ \ - -e s/@RC_VERSION@/$(RC_VERSION)/ \ - -e s/@MODULE_VERSION@/$(MODULE_VERSION)/ \ - -e s/@PACKAGE@/$(PACKAGE)/ \ - -e s/@VERSION@/$(VERSION)/ \ - -e s/@MSVC_VARIANT@/$(MSVC_VARIANT)/ \ - < plugin.rc.in > $@ - -$(PLUGIN_NAME).dll $(PLUGIN_NAME).exp $(PLUGIN_NAME).lib : $(OBJECTS) $(LINK_PLUGIN_WITH) $(RESOURCE) - link -dll /out:$(PLUGIN_NAME).dll $(LDFLAGS) $(OBJECTS) $(LINK_PLUGIN_WITH) \ - $(GLIB_LIBS) $(RESOURCE) -!IF $(MSC_VER_REQUIRED) >= 1400 - mt.exe -nologo -manifest "$(PLUGIN_NAME).dll.manifest" -outputresource:$(PLUGIN_NAME).dll;2 -!ENDIF - -# -# Build plugin.c, which contains the plugin version[] string, a -# function plugin_register() that calls the register routines for all -# protocols, and a function plugin_reg_handoff() that calls the handoff -# registration routines for all protocols. -# -# We do this by scanning sources. If that turns out to be too slow, -# maybe we could just require every .o file to have an register routine -# of a given name (packet-aarp.o -> proto_register_aarp, etc.). -# -# Formatting conventions: The name of the proto_register_* routines an -# proto_reg_handoff_* routines must start in column zero, or must be -# preceded only by "void " starting in column zero, and must not be -# inside #if. -# -# DISSECTOR_SRC is assumed to have all the files that need to be scanned. -# -# For some unknown reason, having a big "for" loop in the Makefile -# to scan all the files doesn't work with some "make"s; they seem to -# pass only the first few names in the list to the shell, for some -# reason. -# -# Therefore, we have a script to generate the plugin.c file. -# The shell script runs slowly, as multiple greps and seds are run -# for each input file; this is especially slow on Windows. Therefore, -# if Python is present (as indicated by PYTHON being defined), we run -# a faster Python script to do that work instead. -# -# The first argument is the directory in which the source files live. -# The second argument is "plugin", to indicate that we should build -# a plugin.c file for a plugin. -# All subsequent arguments are the files to scan. -# -!IFDEF PYTHON -plugin.c: $(DISSECTOR_SRC) moduleinfo.h ../../tools/make-dissector-reg.py - @echo Making plugin.c (using python) - @$(PYTHON) "../../tools/make-dissector-reg.py" . plugin $(DISSECTOR_SRC) -!ELSE -plugin.c: $(DISSECTOR_SRC) moduleinfo.h ../../tools/make-dissector-reg - @echo Making plugin.c (using sh) - @$(SH) ../../tools/make-dissector-reg . plugin $(DISSECTOR_SRC) -!ENDIF - -!ENDIF - -clean: - rm -f $(OBJECTS) $(RESOURCE) plugin.c *.pdb \ - $(PLUGIN_NAME).dll $(PLUGIN_NAME).dll.manifest $(PLUGIN_NAME).lib \ - $(PLUGIN_NAME).exp $(PLUGIN_NAME).rc - -distclean: clean - -maintainer-clean: distclean - -checkapi: - $(PERL) ../../tools/checkAPIs.pl -g abort -g termoutput $(DISSECTOR_SRC) diff --git a/plugins/opsi/moduleinfo.h b/plugins/opsi/moduleinfo.h deleted file mode 100644 index 3935574db0..0000000000 --- a/plugins/opsi/moduleinfo.h +++ /dev/null @@ -1,17 +0,0 @@ -/* Included *after* config.h, in order to re-define these macros */ - -#ifdef PACKAGE -#undef PACKAGE -#endif - -/* Name of package */ -#define PACKAGE "opsi" - - -#ifdef VERSION -#undef VERSION -#endif - -/* Version number of package */ -#define VERSION "0.0.1" - diff --git a/plugins/opsi/moduleinfo.nmake b/plugins/opsi/moduleinfo.nmake deleted file mode 100644 index 659faf6441..0000000000 --- a/plugins/opsi/moduleinfo.nmake +++ /dev/null @@ -1,28 +0,0 @@ -# -# $Id$ -# - -# The name -PACKAGE=opsi - -# The version -MODULE_VERSION_MAJOR=0 -MODULE_VERSION_MINOR=0 -MODULE_VERSION_MICRO=1 -MODULE_VERSION_EXTRA=0 - -# -# The RC_VERSION should be comma-separated, not dot-separated, -# as per Graham Bloice's message in -# -# http://www.ethereal.com/lists/ethereal-dev/200303/msg00283.html -# -# "The RC_VERSION variable in config.nmake should be comma separated. -# This allows the resources to be built correctly and the version -# number to be correctly displayed in the explorer properties dialog -# for the executables, and XP's tooltip, rather than 0.0.0.0." -# - -MODULE_VERSION=$(MODULE_VERSION_MAJOR).$(MODULE_VERSION_MINOR).$(MODULE_VERSION_MICRO).$(MODULE_VERSION_EXTRA) -RC_MODULE_VERSION=$(MODULE_VERSION_MAJOR),$(MODULE_VERSION_MINOR),$(MODULE_VERSION_MICRO),$(MODULE_VERSION_EXTRA) - diff --git a/plugins/opsi/packet-opsi.c b/plugins/opsi/packet-opsi.c deleted file mode 100644 index 1876d33767..0000000000 --- a/plugins/opsi/packet-opsi.c +++ /dev/null @@ -1,792 +0,0 @@ -/* packet-opsi.c - * Routines for OPSI protocol dissection - * Copyright 2004, Laurent Rabret (France Telecom R&D) <laurent.rabret@i.hate.spams.org> - * - * $Id$ - * - * Wireshark - Network traffic analyzer - * By Gerald Combs <gerald@wireshark.org> - * Copyright 1998 Gerald Combs - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -#include <glib.h> - -#include <epan/packet.h> -#include <epan/dissectors/packet-tcp.h> -#include <epan/prefs.h> - -#include "packet-opsi.h" - -/* Initialize the protocol and registered fields */ -static int proto_opsi = -1; -static int hf_opsi_major_version = -1; -static int hf_opsi_minor_version = -1; -static int hf_opsi_opcode = -1; -static int hf_opsi_hook_id = -1; -static int hf_opsi_length = -1; -static int hf_opsi_session_id = -1; -static int hf_user_name_att = -1; -static int hf_password_att = -1; -static int hf_chap_password_att = -1; -static int hf_nas_ip_add_att = -1; -static int hf_nas_port_att = -1; -static int hf_service_type_att = -1; -static int hf_framed_protocol_att = -1; -static int hf_framed_address_att = -1; -static int hf_framed_netmask_att = -1; -static int hf_framed_routing_att = -1; -static int hf_framed_filter_att = -1; -static int hf_framed_mtu_att = -1; -static int hf_framed_compression_att = -1; -static int hf_called_station_att = -1; -static int hf_calling_station_att = -1; -static int hf_nas_identifier_att = -1; -static int hf_accounting_att = -1; -static int hf_acct_session_id_att = -1; -static int hf_chap_challenge_att = -1; -static int hf_nas_port_type_att = -1; -static int hf_designation_num_att = -1; -static int hf_nas_port_id_att = -1; -static int hf_smc_aaa_id_att = -1; -static int hf_smc_vpn_id_att = -1; -static int hf_smc_vpn_name_att = -1; -static int hf_smc_ran_id_att = -1; -static int hf_smc_ran_ip_att = -1; -static int hf_smc_ran_name_att = -1; -static int hf_smc_pop_id_att = -1; -static int hf_smc_pop_name_att = -1; -static int hf_smc_id_att = -1; -static int hf_smc_receive_time_att = -1; -static int hf_smc_stat_time_att = -1; -static int hf_opsi_flags_att = -1; -static int hf_opsi_application_name_att = -1; - -/* Initialize the subtree pointers */ -static gint ett_opsi = -1; -static gint ett_opsi_user_name = -1; -static gint ett_opsi_user_password = -1; -static gint ett_opsi_chap_password = -1; -static gint ett_opsi_nas_ip_address = -1; -static gint ett_opsi_nas_port = -1; -static gint ett_opsi_service_type = -1; -static gint ett_opsi_framed_protocol = -1; -static gint ett_opsi_framed_address = -1; -static gint ett_opsi_framed_netmask = -1; -static gint ett_opsi_framed_routing = -1; -static gint ett_opsi_framed_filter = -1; -static gint ett_opsi_framed_mtu = -1; -static gint ett_opsi_framed_compression = -1; -static gint ett_opsi_called_station_id = -1; -static gint ett_opsi_calling_station_id = -1; -static gint ett_opsi_nas_identifier = -1; -static gint ett_opsi_accounting = -1; -static gint ett_opsi_acct_session_id = -1; -static gint ett_opsi_chap_challenge = -1; -static gint ett_opsi_nas_port_type = -1; -static gint ett_opsi_designation_number = -1; -static gint ett_opsi_nas_port_id = -1; -static gint ett_opsi_smc_aaa_id = -1; -static gint ett_opsi_smc_vpn_id = -1; -static gint ett_opsi_smc_vpn_name = -1; -static gint ett_opsi_smc_ran_id = -1; -static gint ett_opsi_smc_ran_ip = -1; -static gint ett_opsi_smc_ran_name = -1; -static gint ett_opsi_smc_pop_id = -1; -static gint ett_opsi_smc_pop_name = -1; -static gint ett_opsi_smc_id = -1; -static gint ett_opsi_smc_receive_time = -1; -static gint ett_opsi_smc_stat_time = -1; -static gint ett_opsi_flags = -1; -static gint ett_opsi_application_name = -1; - - -/* Code mapping */ -static const value_string opsi_opcode[] = { - { DISCOVER_REQUEST, "Discover Request" }, - { DISCOVER_RESPONSE, "Discover Response" }, - { SERVICE_REQUEST, "Service Request" }, - { SERVICE_ACCEPT, "Service Accept" }, - { SERVICE_REJECT, "Service Reject" }, - { TERMINATE_REQUEST, "Terminate Request" }, - { 0, NULL } - }; - -static const value_string opsi_service_type_code[] = { - { 1, "Login" }, - { 2, "Framed" }, - { 3, "Callback Login" }, - { 4, "Callback Framed" }, - { 5, "Outbound" }, - { 6, "Administrative" }, - { 7, "NAS Prompt" }, - { 8, "Authenticate Only" }, - { 9, "Callback NAS Prompt" }, - { 0, NULL } - }; - -static const value_string opsi_framed_protocol_code[] = { - { 1, "PPP" }, - { 2, "SLIP" }, - { 3, "AppleTalk Remote Access Protocol (ARAP)" }, - { 4, "Gandalf proprietary SingleLink/MultiLink protocol" }, - { 5, "Xylogics proprietary IPX/SLIP" }, - { 255, "Ascend ARA" }, - { 256, "MPP" }, - { 257, "EURAW" }, - { 258, "EUUI" }, - { 259, "X25" }, - { 260, "COMB" }, - { 261, "FR" }, - { 262, "MP" }, - { 263, "FR-CIR"}, - { 0, NULL } - }; - -static const value_string opsi_framed_routing_code[] = { - { 0, "None" }, - { 1, "Broadcast" }, - { 2, "Listen" }, - { 3, "Broadcast-Listen" }, - { 4, "Broadcast V2" }, - { 5, "Listen V2" }, - { 6, "Broadcast-Listen V2" }, - { 0, NULL }, - }; - -static const value_string opsi_framed_compression_code[] = { - { 0, "None" }, - { 1, "Van Jacobsen TCP/IP" }, - { 2, "IPX header compression" }, - { 0, NULL } - }; - -static const value_string opsi_nas_port_type_code[] = { - { 0, "Async" }, - { 1, "Sync" }, - { 2, "ISDN Sync" }, - { 3, "ISDN Async V.120" }, - { 4, "ISDN Async V.110" }, - { 5, "Virtual" }, - { 6, "PIAFS" }, - { 7, "HDLC Clear Channel" }, - { 8, "X.25" }, - { 9, "X.75" }, - { 10, "G.3 Fax" }, - { 11, "SDSL - Symmetric DSL" }, - { 12, "ADSL-CAP - Asymmetric DSL, Carrierless Amplitude Phase Modulation" }, - { 13, "ADSL-DMT - Asymmetric DSL, Discrete Multi-Tone" }, - { 14, "IDSL - ISDN Digital Subscriber Line" }, - { 15, "Ethernet" }, - { 16, "xDSL - Digital Subscriber Line of unknown type" }, - { 17, "Cable" }, - { 18, "Wireless - Other" }, - { 19, "Wireless - IEEE 802.11" }, - { 201,"Voice over IP" }, - { 0, NULL } - }; - - -/* Structure used to decode OPSI frame attributes */ -/* CAUTION : it is compulsory to sort this array */ -/* (first argument of the opsi_attribute_handle_t) */ -/* in ascending order */ -/* */ -static opsi_attribute_handle_t opsi_attributes[] = { - { USER_NAME_ATTRIBUTE, /* 1 */ - "User name attribute", &ett_opsi_user_name, &hf_user_name_att, decode_string_attribute }, - { USER_PASSWD_ATTRIBUTE, /* 2 */ - "User password attribute" , &ett_opsi_user_password, &hf_password_att, decode_string_attribute }, - { CHAP_PASSWD_ATTRIBUTE, /* 3 */ - "CHAP password attribute", &ett_opsi_chap_password, &hf_chap_password_att, decode_string_attribute }, - { NAS_IP_ADDRESS_ATTRIBUTE, /* 4 */ - "NAS IP address attribute", &ett_opsi_nas_ip_address, &hf_nas_ip_add_att, decode_ipv4_attribute }, - {NAS_PORT_ATTRIBUTE, /* 5 */ - "NAS port attribute", &ett_opsi_nas_port, &hf_nas_port_att, decode_longint_attribute }, - {SERVICE_TYPE_ATTRIBUTE, /* 6 */ - "Service type attribute", &ett_opsi_service_type, &hf_service_type_att, decode_value_string_attribute }, - {FRAMED_PROTOCOL_ATTRIBUTE, /* 7 */ - "Framed protocol attribute", &ett_opsi_framed_protocol, &hf_framed_protocol_att, decode_value_string_attribute }, - {FRAMED_ADDRESS_ATTRIBUTE, /* 8 */ - "Framed address attribute", &ett_opsi_framed_address, &hf_framed_address_att, decode_ipv4_attribute }, - {FRAMED_NETMASK_ATTRIBUTE, /* 9 */ - "Framed netmask attribute", &ett_opsi_framed_netmask, &hf_framed_netmask_att, decode_ipv4_attribute }, - {FRAMED_ROUTING_ATTRIBUTE, /* 10 */ - "Framed routing attribute", &ett_opsi_framed_routing, &hf_framed_routing_att, decode_value_string_attribute }, - {FRAMED_FILTER_ATTRIBUTE, /* 11 */ - "Framed filter attribute", &ett_opsi_framed_filter, &hf_framed_filter_att, decode_string_attribute }, - {FRAMED_MTU_ATTRIBUTE, /* 12 */ - "Framed MTU attribute", &ett_opsi_framed_mtu, &hf_framed_mtu_att, decode_longint_attribute }, - {FRAMED_COMPRESSION_ATTRIBUTE, /* 13 */ - "Framed compression attribute", &ett_opsi_framed_compression, &hf_framed_compression_att, decode_value_string_attribute }, - {CALLED_STATION_ID_ATTRIBUTE, /* 30 */ - "Called station ID attribute", &ett_opsi_called_station_id, &hf_called_station_att, decode_string_attribute }, - {CALLING_STATION_ID_ATTRIBUTE, /* 31 */ - "Calling station ID attribute", &ett_opsi_calling_station_id, &hf_calling_station_att, decode_string_attribute }, - {NAS_IDENTIFIER, /* 32 */ - "NAS Identifier attribute", &ett_opsi_nas_identifier, &hf_nas_identifier_att, decode_string_attribute }, - {ACCOUNTING_40_ATTRIBUTE, /* 40 */ - "Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute }, - {ACCOUNTING_41_ATTRIBUTE, /* 41 */ - "Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute }, - {ACCOUNTING_42_ATTRIBUTE, /* 42 */ - "Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute }, - {ACCOUNTING_43_ATTRIBUTE, /* 43 */ - "Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute }, - {ACCOUNTING_SESSION_ID_ATTRIBUTE, /* 44 */ - "Accounting session ID attribute", &ett_opsi_acct_session_id, &hf_acct_session_id_att, decode_string_attribute }, - {ACCOUNTING_45_ATTRIBUTE, /* 45 */ - "Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute }, - {ACCOUNTING_46_ATTRIBUTE, /* 46 */ - "Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute }, - {ACCOUNTING_47_ATTRIBUTE, /* 47 */ - "Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute }, - {ACCOUNTING_48_ATTRIBUTE, /* 48 */ - "Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute }, - {ACCOUNTING_49_ATTRIBUTE, /* 49 */ - "Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute }, - {ACCOUNTING_50_ATTRIBUTE, /* 50 */ - "Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute }, - {ACCOUNTING_51_ATTRIBUTE, /* 51 */ - "Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute }, - {ACCOUNTING_52_ATTRIBUTE, /* 52 */ - "Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute }, - {ACCOUNTING_53_ATTRIBUTE, /* 53 */ - "Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute }, - {ACCOUNTING_54_ATTRIBUTE, /* 54 */ - "Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute }, - {ACCOUNTING_55_ATTRIBUTE, /* 55 */ - "Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute }, - {ACCOUNTING_56_ATTRIBUTE, /* 56 */ - "Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute }, - {ACCOUNTING_57_ATTRIBUTE, /* 57 */ - "Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute }, - {ACCOUNTING_58_ATTRIBUTE, /* 58 */ - "Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute }, - {ACCOUNTING_59_ATTRIBUTE, /* 59 */ - "Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute }, - {CHAP_CHALLENGE_ATTRIBUTE, /* 60 */ - "CHAP challenge", &ett_opsi_chap_challenge, &hf_chap_challenge_att, decode_string_attribute }, - {NAS_PORT_TYPE_ATTRIBUTE, /* 61 */ - "NAS port type attribute", &ett_opsi_nas_port_type, &hf_nas_port_type_att, decode_value_string_attribute }, - {DESIGNATION_NUMBER_ATTRIBUTE, /* 77 */ - "Designation number attribute", &ett_opsi_designation_number, &hf_designation_num_att, decode_string_attribute }, - {NAS_PORT_ID_ATTRIBUTE, /* 87 */ - "NAS port ID attribute", &ett_opsi_nas_port_id, &hf_nas_port_id_att, decode_string_attribute }, - {SMC_AAAID_ATTRIBUTE, /* 651 */ - "SMC AAA ID attribute", &ett_opsi_smc_aaa_id, &hf_smc_aaa_id_att, decode_longint_attribute }, - {SMC_VPNID_ATTRIBUTE, /* 652 */ - "SMC VPN ID attribute", &ett_opsi_smc_vpn_id, &hf_smc_vpn_id_att, decode_longint_attribute }, - {SMC_VPNNAME_ATTRIBUTE, /* 653 */ - "SMC VPN name attribute", &ett_opsi_smc_vpn_name, &hf_smc_vpn_name_att, decode_string_attribute }, - {SMC_RANID_ATTRIBUTE, /* 654 */ - "SMC RAN ID attribute", &ett_opsi_smc_ran_id, &hf_smc_ran_id_att, decode_longint_attribute }, - {SMC_RANIP_ATTRIBUTE, /* 655 */ - "SMC RAN IP attribute", &ett_opsi_smc_ran_ip, &hf_smc_ran_ip_att, decode_ipv4_attribute }, - {SMC_RANNAME_ATTRIBUTE, /* 656 */ - "SMC RAN name attribute", &ett_opsi_smc_ran_name, &hf_smc_ran_name_att, decode_string_attribute }, - {SMC_POPID_ATTRIBUTE, /* 657 */ - "SMC POP ID attribute", &ett_opsi_smc_pop_id, &hf_smc_pop_id_att, decode_longint_attribute }, - {SMC_POPNAME_ATTRIBUTE, /* 658 */ - "SMC POP name attribute", &ett_opsi_smc_pop_name, &hf_smc_pop_name_att, decode_string_attribute }, - {SMC_SMCID_ATTRIBUTE, /* 659 */ - "SMC ID attribute", &ett_opsi_smc_id, &hf_smc_id_att, decode_longint_attribute }, - {SMC_RECEIVE_TIME_ATTRIBUTE, /* 660 */ - "SMC receive time attribute", &ett_opsi_smc_receive_time, &hf_smc_receive_time_att, decode_time_attribute }, - {SMC_STAT_TIME_ATTRIBUTE, /* 661 */ - "SMC stat time attribute", &ett_opsi_smc_stat_time, &hf_smc_stat_time_att, decode_longint_attribute }, - {OPSI_FLAGS_ATTRIBUTE, /* 674 */ - "OPSI flags attribute", &ett_opsi_flags, &hf_opsi_flags_att, decode_longint_attribute }, - {OPSI_APPLICATION_NAME_ATTRIBUTE,/* 675 */ - "OPSI application name attribute", &ett_opsi_application_name, &hf_opsi_application_name_att, decode_string_attribute }, - -}; -#define OPSI_ATTRIBUTES_COUNT (sizeof(opsi_attributes)/sizeof(opsi_attribute_handle_t)) - -/* Desegmentation of OPSI (over TCP) */ -static gboolean opsi_desegment = TRUE; -/* To check if we must create or update the information column */ -static gboolean opsi_first; - -void decode_string_attribute(tvbuff_t *tvb, proto_tree *tree, int* hfValue, int offset, int length) -{ - guint8* pbuffer; - if (length < 4) { - proto_tree_add_text(tree, tvb, offset, length, "Too short attribute!"); - return; - } - - pbuffer=tvb_get_string(tvb, offset+4, length-4); - proto_tree_add_string(tree, *hfValue, tvb, offset+4, length-4, pbuffer); - g_free(pbuffer); -} - - -void decode_ipv4_attribute(tvbuff_t *tvb, proto_tree *tree, int* hfValue, int offset, int length) -{ - guint32 ip_address; - if (length < 8) { - proto_tree_add_text(tree, tvb, offset, length, "Too short attribute!"); - return; - } - ip_address = tvb_get_ipv4(tvb, offset+4); - proto_tree_add_ipv4(tree, *hfValue, tvb, offset+4, 4, ip_address); -} - -void decode_longint_attribute(tvbuff_t *tvb, proto_tree *tree, int* hfValue, int offset, int length) -{ - if (length < 8) { - proto_tree_add_text(tree, tvb, offset, length, "Too short attribute!"); - return; - } - proto_tree_add_uint(tree, *hfValue, tvb, offset+4, 4, tvb_get_ntohl(tvb, offset+4)); -} - -void decode_value_string_attribute(tvbuff_t *tvb, proto_tree *tree, int* hfValue, int offset, int length) -{ - if (length < 8) { - proto_tree_add_text(tree, tvb, offset, length, "Too short attribute!"); - return; - } - proto_tree_add_item(tree, *hfValue, tvb, offset+4, 4, FALSE); -} - -void decode_time_attribute(tvbuff_t *tvb, proto_tree *tree, int* hfValue, int offset, int length) -{ - nstime_t ns; - - if (length < 8) { - proto_tree_add_text(tree, tvb, offset, length, "Too short attribute!"); - return; - } - ns.secs = tvb_get_ntohl(tvb, offset+4); - ns.nsecs = 0; - proto_tree_add_time(tree, *hfValue, tvb, offset+4, 4, &ns); -} - -/****************************************************************************/ -/********** End of attribute decoding ***************************************/ -/****************************************************************************/ - -/* To find the correct size of the PDU. Needed by the desegmentation feature*/ -static guint get_opsi_pdu_len(packet_info *pinfo _U_, tvbuff_t *tvb, int offset) -{ - /* - * Get the length of the OPSI packet. - * We are guaranteed there're enough chars in tvb in order to - * extract the length value. No exception thrown !! - */ - return tvb_get_ntohs(tvb, offset + 4); -} - -static int get_opsi_attribute_index(int min, int max, int attribute_type) -{ - int middle, at; - - middle = (min+max)/2; - at = opsi_attributes[middle].attribute_type; - if (at == attribute_type) return middle; - if (attribute_type > at) { - return (middle == max) ? -1 : get_opsi_attribute_index(middle+1, max, attribute_type); - } - return (middle == min) ? -1 : get_opsi_attribute_index(min, middle-1, attribute_type); -} - - -static void -dissect_attributes(tvbuff_t *tvb, proto_tree *opsi_tree, int offset, int length) -{ - int i; - int attribute_type; - int attribute_length; - proto_item *ti; - proto_tree *ntree = NULL; - - while (length >= 4) { - attribute_type = tvb_get_ntohs(tvb, offset); - attribute_length = tvb_get_ntohs(tvb, offset+2); - if (attribute_length > length) break; - /* We perform a standard log(n) lookup */ - i = get_opsi_attribute_index(0, OPSI_ATTRIBUTES_COUNT-1, attribute_type); - if (i == -1) { - proto_tree_add_text(opsi_tree, tvb, offset, attribute_length, "Unknown attribute (%d)", attribute_type); - } - else { - ti = proto_tree_add_text(opsi_tree, tvb, offset, attribute_length, "%s (%d)", opsi_attributes[i].tree_text, attribute_type); - ntree = proto_item_add_subtree(ti, *opsi_attributes[i].tree_id); - proto_tree_add_text(ntree, tvb, offset+2, 2, "Length (%d)", attribute_length); - opsi_attributes[i].dissect(tvb, ntree, opsi_attributes[i].hf_type_attribute, offset, attribute_length); - } - if (attribute_length < 4) { - /* Length must be at least 4, for the type and length. */ - break; - } - offset += attribute_length; - length -= attribute_length; - } - if (length) { - proto_tree_add_text(opsi_tree, tvb, offset, -1, "Short frame"); - } -} - -static void -dissect_opsi_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) -{ - proto_item *ti; - proto_tree *opsi_tree; - - if (opsi_first == TRUE) { - opsi_first = FALSE; - - if (check_col(pinfo->cinfo, COL_PROTOCOL)) - col_set_str(pinfo->cinfo, COL_PROTOCOL, "OPSI"); - - if (check_col(pinfo->cinfo, COL_INFO)) { - col_clear(pinfo->cinfo, COL_INFO); - if (tvb_length(tvb) < CODE_OFFSET+1) { - col_set_str(pinfo->cinfo, COL_INFO, "Open Policy Service Interface"); - } - else { - col_add_fstr(pinfo->cinfo, COL_INFO, "Open Policy Service Interface, %s", - val_to_str(tvb_get_guint8(tvb, CODE_OFFSET), opsi_opcode, - "<Unknown opcode %d>")); - } - } - } - else if (check_col(pinfo->cinfo, COL_INFO) && (tvb_length(tvb) > CODE_OFFSET)) { - col_append_fstr(pinfo->cinfo, COL_INFO, ", %s", - val_to_str(tvb_get_guint8(tvb, CODE_OFFSET), opsi_opcode, - "<Unknown opcode %d>")); - } - - if (tree) { - ti = proto_tree_add_item(tree, proto_opsi, tvb, 0, -1, FALSE); - opsi_tree = proto_item_add_subtree(ti, ett_opsi); - if (tvb_length(tvb) < 8 ) { - proto_tree_add_text(opsi_tree, tvb, 0, -1, "Too short OPSI packet!"); - return; - } - - proto_tree_add_item(opsi_tree, hf_opsi_major_version, tvb, MAJOR_VERSION_OFFSET, 1, FALSE); - proto_tree_add_item(opsi_tree, hf_opsi_minor_version, tvb, MINOR_VERSION_OFFSET, 1, FALSE); - proto_tree_add_item(opsi_tree, hf_opsi_opcode, tvb, CODE_OFFSET, 1, FALSE); - proto_tree_add_item(opsi_tree, hf_opsi_hook_id, tvb, HOOK_ID_OFFSET, 1, FALSE); - proto_tree_add_item(opsi_tree, hf_opsi_length, tvb, PACKET_LENGTH_OFFSET, 2, FALSE); - proto_tree_add_item(opsi_tree, hf_opsi_session_id, tvb, SESSION_OFFSET, 2, FALSE); - - dissect_attributes(tvb, opsi_tree, HEADER_LENGTH, MIN(((int)tvb_length(tvb)-HEADER_LENGTH), (tvb_get_ntohs(tvb, PACKET_LENGTH_OFFSET)-HEADER_LENGTH))); - } -} - - -static void -dissect_opsi(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) -{ - opsi_first = TRUE; - /* we need at least 6 bytes to get the payload size ! */ - tcp_dissect_pdus(tvb, pinfo, tree, opsi_desegment, 6, get_opsi_pdu_len, - dissect_opsi_pdu); -} - - -void -proto_register_opsi(void) -{ - -/* Setup list of header fields See Section 1.6.1 for details*/ - static hf_register_info hf[] = { - { &hf_opsi_major_version, - { "Major version", "opsi.major", - FT_UINT8, BASE_DEC, NULL, 0x0, - "", HFILL } - }, - { &hf_opsi_minor_version, - { "Minor version", "opsi.minor", - FT_UINT8, BASE_DEC, NULL, 0x0, - "", HFILL } - }, - { &hf_opsi_opcode, - { "Operation code", "opsi.opcode", - FT_UINT8, BASE_DEC, VALS(opsi_opcode), 0x0, - "", HFILL } - }, - { &hf_opsi_hook_id, - { "Hook ID", "opsi.hook", - FT_UINT8, BASE_DEC, NULL, 0x0, - "", HFILL } - }, - { &hf_opsi_length, - { "Message length", "opsi.length", - FT_UINT16, BASE_DEC, NULL, 0x0, - "", HFILL } - }, - { &hf_opsi_session_id, - { "Session ID", "opsi.session_id", - FT_UINT16, BASE_DEC, NULL, 0x0, - "", HFILL } - }, - { &hf_user_name_att, - { "User name", "opsi.attr.user_name", - FT_STRING, BASE_NONE, NULL, 0x00, - "", HFILL } - }, - { &hf_password_att, - { "User password", "opsi.attr.password", - FT_STRING, BASE_NONE, NULL, 0x00, - "", HFILL } - }, - { &hf_chap_password_att, - { "CHAP password attribute", "opsi.attr.chap_password", - FT_STRING, BASE_NONE, NULL, 0x00, - "", HFILL } - }, - { &hf_nas_ip_add_att, - { "NAS IP address", "opsi.attr.nas_ip_addr", - FT_IPv4, BASE_DEC, NULL, 0x00, - "", HFILL } - }, - { &hf_nas_port_att, - { "NAS port", "opsi.attr.nas_port", - FT_UINT32, BASE_HEX, NULL, 0x00, - "", HFILL } - }, - { &hf_service_type_att, - { "Service type", "opsi.attr.service_type", - FT_UINT32, BASE_DEC, VALS(opsi_service_type_code), 0x0, - "", HFILL } - }, - { &hf_framed_protocol_att, - { "Framed protocol", "opsi.attr.framed_protocol", - FT_UINT32, BASE_DEC, VALS(opsi_framed_protocol_code), 0x0, - "", HFILL } - }, - { &hf_framed_address_att, - { "Framed address", "opsi.attr.framed_address", - FT_IPv4, BASE_DEC, NULL, 0x00, - "", HFILL } - }, - { &hf_framed_netmask_att, - { "Framed netmask", "opsi.attr.framed_netmask", - FT_IPv4, BASE_DEC, NULL, 0x00, - "", HFILL } - }, - { &hf_framed_routing_att, - { "Framed routing", "opsi.attr.framed_routing", - FT_UINT32, BASE_DEC, VALS(opsi_framed_routing_code), 0x0, - "", HFILL } - }, - { &hf_framed_filter_att, - { "Framed filter", "opsi.attr.framed_filter", - FT_STRING, BASE_NONE, NULL, 0x00, - "", HFILL } - }, - { &hf_framed_mtu_att, - { "Framed MTU", "opsi.attr.framed_mtu", - FT_UINT32, BASE_DEC, NULL, 0x00, - "", HFILL } - }, - { &hf_framed_compression_att, - { "Framed compression", "opsi.attr.framed_compression", - FT_UINT32, BASE_DEC, VALS(opsi_framed_compression_code), 0x0, - "", HFILL } - }, - { &hf_called_station_att, - { "Called station ID", "opsi.attr.called_station_id", - FT_STRING, BASE_NONE, NULL, 0x00, - "", HFILL } - }, - { &hf_calling_station_att, - { "Calling station ID", "opsi.attr.calling_station_id", - FT_STRING, BASE_NONE, NULL, 0x00, - "", HFILL } - }, - { &hf_nas_identifier_att, - { "NAS ID", "opsi.attr.nas_id", - FT_STRING, BASE_NONE, NULL, 0x00, - "", HFILL } - }, - { &hf_accounting_att, - { "Accounting", "opsi.attr.accounting", - FT_STRING, BASE_NONE, NULL, 0x00, - "", HFILL } - }, - { &hf_acct_session_id_att, - { "Accounting session ID", "opsi.attr.acct.session_id", - FT_STRING, BASE_NONE, NULL, 0x00, - "", HFILL } - }, - { &hf_chap_challenge_att, - { "CHAP challenge", "opsi.attr.chap_challenge", - FT_STRING, BASE_NONE, NULL, 0x00, - "", HFILL } - }, - { &hf_nas_port_type_att, - { "NAS port type", "opsi.attr.nas_port_type", - FT_UINT32, BASE_DEC, VALS(opsi_nas_port_type_code), 0x0, - "", HFILL } - }, - { &hf_designation_num_att, - { "Designation number", "opsi.attr.designation_number", - FT_STRING, BASE_NONE, NULL, 0x00, - "", HFILL } - }, - { &hf_nas_port_id_att, - { "NAS port ID", "opsi.attr.nas_port_id", - FT_STRING, BASE_NONE, NULL, 0x00, - "", HFILL } - }, - { &hf_smc_aaa_id_att, - { "SMC AAA ID", "opsi.attr.smc_aaa_id", - FT_UINT32, BASE_DEC, NULL, 0x00, - "", HFILL } - }, - { &hf_smc_vpn_id_att, - { "SMC VPN ID", "opsi.attr.smc_vpn_id", - FT_UINT32, BASE_DEC, NULL, 0x00, - "", HFILL } - }, - { &hf_smc_vpn_name_att, - { "SMC VPN name", "opsi.attr.smc_vpn_name", - FT_STRING, BASE_NONE, NULL, 0x00, - "", HFILL } - }, - { &hf_smc_ran_id_att, - { "SMC RAN ID", "opsi.attr.smc_ran_id", - FT_UINT32, BASE_DEC, NULL, 0x00, - "", HFILL } - }, - { &hf_smc_ran_ip_att, - { "SMC RAN IP address", "opsi.attr.smc_ran_ip", - FT_IPv4, BASE_DEC, NULL, 0x00, - "", HFILL } - }, - { &hf_smc_ran_name_att, - { "SMC RAN name", "opsi.attr.smc_ran_name", - FT_STRING, BASE_NONE, NULL, 0x00, - "", HFILL } - }, - { &hf_smc_pop_id_att, - { "SMC POP id", "opsi.attr.smc_pop_id", - FT_UINT32, BASE_DEC, NULL, 0x00, - "", HFILL } - }, - { &hf_smc_pop_name_att, - { "SMC POP name", "opsi.attr.smc_pop_name", - FT_STRING, BASE_NONE, NULL, 0x00, - "", HFILL } - }, - { &hf_smc_id_att, - { "SMC ID", "opsi.attr.smc_id", - FT_UINT32, BASE_DEC, NULL, 0x00, - "", HFILL } - }, - { &hf_smc_receive_time_att, - { "SMC receive time", "opsi.attr.smc_receive_time", - FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x00, - "", HFILL } - }, - { &hf_smc_stat_time_att, - { "SMC stat time", "opsi.attr.smc_stat_time", - FT_UINT32, BASE_DEC, NULL, 0x00, - "", HFILL } - }, - { &hf_opsi_flags_att, - { "OPSI flags", "opsi.attr.flags", - FT_UINT32, BASE_DEC, NULL, 0x00, - "", HFILL } - }, - { &hf_opsi_application_name_att, - { "OPSI application name", "opsi.attr.application_name", - FT_STRING, BASE_NONE, NULL, 0x00, - "", HFILL } - }, - }; - -/* Setup protocol subtree array */ - static gint *ett[] = { - &ett_opsi, - &ett_opsi_user_name, - &ett_opsi_user_password, - &ett_opsi_chap_password, - &ett_opsi_nas_ip_address, - &ett_opsi_nas_port, - &ett_opsi_service_type, - &ett_opsi_framed_protocol, - &ett_opsi_framed_address, - &ett_opsi_framed_netmask, - &ett_opsi_framed_routing, - &ett_opsi_framed_filter, - &ett_opsi_framed_mtu, - &ett_opsi_framed_compression, - &ett_opsi_called_station_id, - &ett_opsi_calling_station_id, - &ett_opsi_nas_identifier, - &ett_opsi_accounting, - &ett_opsi_acct_session_id, - &ett_opsi_chap_challenge, - &ett_opsi_nas_port_type, - &ett_opsi_designation_number, - &ett_opsi_nas_port_id, - &ett_opsi_smc_aaa_id, - &ett_opsi_smc_vpn_id, - &ett_opsi_smc_vpn_name, - &ett_opsi_smc_ran_id, - &ett_opsi_smc_ran_ip, - &ett_opsi_smc_ran_name, - &ett_opsi_smc_pop_id, - &ett_opsi_smc_pop_name, - &ett_opsi_smc_id, - &ett_opsi_smc_receive_time, - &ett_opsi_smc_stat_time, - &ett_opsi_flags, - &ett_opsi_application_name, - }; - -/* For desegmentation / reassembly */ - module_t *opsi_module; - -/* Register the protocol name and description */ - proto_opsi = proto_register_protocol("Open Policy Service Interface", - "OPSI", "opsi"); - -/* Required function calls to register the header fields and subtrees used */ - proto_register_field_array(proto_opsi, hf, array_length(hf)); - proto_register_subtree_array(ett, array_length(ett)); - -/* We activate the desegmentation / reassembly feature */ - opsi_module = prefs_register_protocol(proto_opsi, NULL); - prefs_register_bool_preference(opsi_module, "desegment_opsi_messages", - "Reassemble OPSI messages spanning multiple TCP segments", - "Whether the OPSI dissector should desegment all messages spanning multiple TCP segments", - &opsi_desegment); -} - - -void -proto_reg_handoff_opsi(void) -{ - dissector_handle_t opsi_handle; - opsi_handle = create_dissector_handle(dissect_opsi, proto_opsi); - dissector_add("tcp.port", TCP_PORT_OPSI, opsi_handle); -} diff --git a/plugins/opsi/packet-opsi.h b/plugins/opsi/packet-opsi.h deleted file mode 100644 index de2fae21f6..0000000000 --- a/plugins/opsi/packet-opsi.h +++ /dev/null @@ -1,129 +0,0 @@ -/* packet-opsi.h - * Routines for OPSI protocol dissection - * Copyright 2004, Laurent Rabret <laurent.rabret@i.hate.spams.org> - * - * $Id$ - * - * Wireshark - Network traffic analyzer - * By Gerald Combs <gerald@wireshark.org> - * Copyright 1998 Gerald Combs - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - - -#ifndef __PACKET_OPSI_H__ -#define __PACKET_OPSI_H__ - -/* TCP destination port dedicated to the OPSI protocol */ -#define TCP_PORT_OPSI 4002 - -/* Information position in OPSI header */ -#define MAJOR_VERSION_OFFSET 0 -#define MINOR_VERSION_OFFSET 1 -#define CODE_OFFSET 2 -#define HOOK_ID_OFFSET 3 -#define PACKET_LENGTH_OFFSET 4 -#define SESSION_OFFSET 6 - -#define HEADER_LENGTH 8 - - -/* Valid OPSI code values */ -#define DISCOVER_REQUEST 1 -#define DISCOVER_RESPONSE 2 -#define SERVICE_REQUEST 3 -#define SERVICE_ACCEPT 4 -#define SERVICE_REJECT 5 -#define TERMINATE_REQUEST 6 - -/* Internal structure to dissect attributes */ -typedef struct { - guint16 attribute_type; /* attribute code */ - const char *tree_text; /* text for fold out */ - gint *tree_id; /* id for add_item */ - int* hf_type_attribute; /* id for seach option */ - void (*dissect)(tvbuff_t *tvb, proto_tree *tree, int* hfValue, int offset, int length); -} opsi_attribute_handle_t; - - -/* Attributes codes */ -#define USER_NAME_ATTRIBUTE 1 -#define USER_PASSWD_ATTRIBUTE 2 -#define CHAP_PASSWD_ATTRIBUTE 3 -#define NAS_IP_ADDRESS_ATTRIBUTE 4 -#define NAS_PORT_ATTRIBUTE 5 -#define SERVICE_TYPE_ATTRIBUTE 6 -#define FRAMED_PROTOCOL_ATTRIBUTE 7 -#define FRAMED_ADDRESS_ATTRIBUTE 8 -#define FRAMED_NETMASK_ATTRIBUTE 9 -#define FRAMED_ROUTING_ATTRIBUTE 10 -#define FRAMED_FILTER_ATTRIBUTE 11 -#define FRAMED_MTU_ATTRIBUTE 12 -#define FRAMED_COMPRESSION_ATTRIBUTE 13 -#define CALLED_STATION_ID_ATTRIBUTE 30 -#define CALLING_STATION_ID_ATTRIBUTE 31 -#define NAS_IDENTIFIER 32 -#define ACCOUNTING_40_ATTRIBUTE 40 -#define ACCOUNTING_41_ATTRIBUTE 41 -#define ACCOUNTING_42_ATTRIBUTE 42 -#define ACCOUNTING_43_ATTRIBUTE 43 -#define ACCOUNTING_SESSION_ID_ATTRIBUTE 44 -#define ACCOUNTING_45_ATTRIBUTE 45 -#define ACCOUNTING_46_ATTRIBUTE 46 -#define ACCOUNTING_47_ATTRIBUTE 47 -#define ACCOUNTING_48_ATTRIBUTE 48 -#define ACCOUNTING_49_ATTRIBUTE 49 -#define ACCOUNTING_50_ATTRIBUTE 50 -#define ACCOUNTING_51_ATTRIBUTE 51 -#define ACCOUNTING_52_ATTRIBUTE 52 -#define ACCOUNTING_53_ATTRIBUTE 53 -#define ACCOUNTING_54_ATTRIBUTE 54 -#define ACCOUNTING_55_ATTRIBUTE 55 -#define ACCOUNTING_56_ATTRIBUTE 56 -#define ACCOUNTING_57_ATTRIBUTE 57 -#define ACCOUNTING_58_ATTRIBUTE 58 -#define ACCOUNTING_59_ATTRIBUTE 59 -#define CHAP_CHALLENGE_ATTRIBUTE 60 -#define NAS_PORT_TYPE_ATTRIBUTE 61 -#define DESIGNATION_NUMBER_ATTRIBUTE 77 -#define NAS_PORT_ID_ATTRIBUTE 87 - -#define SMC_AAAID_ATTRIBUTE 651 -#define SMC_VPNID_ATTRIBUTE 652 -#define SMC_VPNNAME_ATTRIBUTE 653 -#define SMC_RANID_ATTRIBUTE 654 -#define SMC_RANIP_ATTRIBUTE 655 -#define SMC_RANNAME_ATTRIBUTE 656 -#define SMC_POPID_ATTRIBUTE 657 -#define SMC_POPNAME_ATTRIBUTE 658 -#define SMC_SMCID_ATTRIBUTE 659 -#define SMC_RECEIVE_TIME_ATTRIBUTE 660 -#define SMC_STAT_TIME_ATTRIBUTE 661 - -#define OPSI_FLAGS_ATTRIBUTE 674 -#define OPSI_APPLICATION_NAME_ATTRIBUTE 675 - -/* - * Published API functions. NOTE, "local" API functions - * only valid from the packet-opsi file. - */ - -extern void decode_string_attribute(tvbuff_t *tvb, proto_tree *tree, int* hfValue, int offset, int length); -extern void decode_ipv4_attribute(tvbuff_t *tvb, proto_tree *tree, int* hfValue, int offset, int length); -extern void decode_longint_attribute(tvbuff_t *tvb, proto_tree *tree, int* hfValue, int offset, int length); -extern void decode_value_string_attribute(tvbuff_t *tvb, proto_tree *tree, int* hfValue, int offset, int length); -extern void decode_time_attribute(tvbuff_t *tvb, proto_tree *tree, int* hfValue, int offset, int length); -#endif diff --git a/plugins/opsi/plugin.rc.in b/plugins/opsi/plugin.rc.in deleted file mode 100644 index 568dc07b49..0000000000 --- a/plugins/opsi/plugin.rc.in +++ /dev/null @@ -1,34 +0,0 @@ -#include "winver.h" - -VS_VERSION_INFO VERSIONINFO - FILEVERSION @RC_MODULE_VERSION@ - PRODUCTVERSION @RC_VERSION@ - FILEFLAGSMASK 0x0L -#ifdef _DEBUG - FILEFLAGS VS_FF_DEBUG -#else - FILEFLAGS 0 -#endif - FILEOS VOS_NT_WINDOWS32 - FILETYPE VFT_DLL -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "CompanyName", "The Wireshark developer community, http://www.wireshark.org/\0" - VALUE "FileDescription", "@PACKAGE@ dissector\0" - VALUE "FileVersion", "@MODULE_VERSION@\0" - VALUE "InternalName", "@PACKAGE@ @MODULE_VERSION@\0" - VALUE "LegalCopyright", "Copyright © 1998 Gerald Combs <gerald@wireshark.org>, Gilbert Ramirez <gram@alumni.rice.edu> and others\0" - VALUE "OriginalFilename", "@PLUGIN_NAME@.dll\0" - VALUE "ProductName", "Wireshark\0" - VALUE "ProductVersion", "@VERSION@\0" - VALUE "Comments", "Build with @MSVC_VARIANT@\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END |