Merge pull request #21 from qha/repair-make-targets

Repair make targets and ssl/ssldecode.c, bump version
This commit is contained in:
Alexandre Dulaunoy 2019-05-23 15:00:33 +02:00 committed by GitHub
commit da73adff42
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
15 changed files with 160 additions and 1141 deletions

9
.gitignore vendored Normal file
View file

@ -0,0 +1,9 @@
*~
.#*
*.o
ssldump
Makefile
config.log
config.status
dist
autom4te.cache

View file

@ -1,49 +1,56 @@
# Copyright (C) 1999-2000 RTFM, Inc. # Copyright (C) 1999-2000 RTFM, Inc.
# All Rights Reserved # All Rights Reserved
# This package is a SSLv3/TLS protocol analyzer written by Eric Rescorla # This package is a SSLv3/TLS protocol analyzer written by Eric
# <ekr\@rtfm.com> and licensed by RTFM, Inc. # Rescorla <ekr@rtfm.com> and licensed by RTFM, Inc.
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions # modification, are permitted provided that the following conditions
# are met: # are met:
# 1. Redistributions of source code must retain the above copyright # 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer. # notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright # 2. Redistributions in binary form must reproduce the above
# notice, this list of conditions and the following disclaimer in the # copyright notice, this list of conditions and the following
# documentation and/or other materials provided with the distribution. # disclaimer in the documentation and/or other materials provided
# 3. All advertising materials mentioning features or use of this software # with the distribution.
# must display the following acknowledgement: # 3. All advertising materials mentioning features or use of this
# software must display the following acknowledgement:
# #
# This product includes software developed by Eric Rescorla for # This product includes software developed by Eric Rescorla for
# RTFM, Inc. # RTFM, Inc.
# 4. Neither the name of RTFM, Inc. nor the name of Eric Rescorla may be # 4. Neither the name of RTFM, Inc. nor the name of Eric Rescorla may
# used to endorse or promote products derived from this # be used to endorse or promote products derived from this software
# software without specific prior written permission. # without specific prior written permission.
# THIS SOFTWARE IS PROVIDED BY ERIC RESCORLA AND RTFM, INC. ``AS IS'' AND # THIS SOFTWARE IS PROVIDED BY ERIC RESCORLA AND RTFM, INC. ``AS IS''
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT # USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY SUCH DAMAGE. # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
PLATFORM=freebsd31 # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
# SUCH DAMAGE.
CC=@CC@ CC=@CC@
all: ssldump all: ssldump
PACKAGE_TARNAME=@PACKAGE_TARNAME@
PACKAGE_VERSION=@PACKAGE_VERSION@
OBJSUFFIX=o OBJSUFFIX=o
LIBSUFFIX=a LIBSUFFIX=a
INSTALL=@INSTALL@ INSTALL=@INSTALL@
prefix=@prefix@ prefix=@prefix@
exec_prefix=@exec_prefix@ exec_prefix=@exec_prefix@
BINDIR=@sbindir@ sbindir=@sbindir@
MANDIR=@mandir@ mandir=@mandir@
datarootdir=@datarootdir@
docdir=@docdir@
RM=rm -f RM=rm -f
ROOT=./ ROOT=./
@ -71,41 +78,50 @@ LIBS += @LDFLAGS@ @LIBS@
CFLAGS += @CFLAGS@ @DEFS@ CFLAGS += @CFLAGS@ @DEFS@
.PHONY: clean install dist
ssldump: $(OBJECTS) ssldump: $(OBJECTS)
$(CC) $(OBJECTS) -o $@ $(LIBS) $(CC) $(OBJECTS) -o $@ $(LIBS)
clean: clean:
rm -f $(OBJECTS) ssldump rm -f $(OBJECTS) ssldump
install: install:
[ -d $(BINDIR) ] || mkdir -p $(BINDIR) $(INSTALL) -m 755 -d $(sbindir)
$(INSTALL) -m 755 ssldump $(BINDIR)/ssldump $(INSTALL) -m 755 -d $(mandir)/man1
[ -d $(MANDIR) ] || mkdir -p $(MANDIR)/man1 $(INSTALL) -m 755 -d $(docdir)
$(INSTALL) -m 444 ssldump.1 $(MANDIR)/man1/ssldump.1 $(INSTALL) -m 755 ssldump $(sbindir)/ssldump
$(INSTALL) -m 644 ssldump.1 $(mandir)/man1/ssldump.1
$(INSTALL) -m 644 README $(docdir)
$(INSTALL) -m 644 README.md $(docdir)
$(INSTALL) -m 644 ChangeLog $(docdir)
$(INSTALL) -m 644 COPYRIGHT $(docdir)
$(INSTALL) -m 644 CREDITS $(docdir)
dist: dist:
perl "./version-check.pl" rm -rf dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)
- name=ssldump-`cat VERSION`; \ mkdir -p dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)
rm -rf /dist/ship/$$name; \ ls -1| grep -vx -e dist -e autom4te.cache \
mkdir /dist/ship/$$name; \ | xargs cp -pR -t dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)
cp -pR * /dist/ship/$$name; \ make -C dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION) clean
cd /dist/ship/$$name; \ rm dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)/Makefile
make -f Makefile.in clean; \ find dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION) -name '*~' -exec rm {} \; -print
rm Makefile; \ find dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION) -name '*.o' -exec rm {} \; -print
find . -name '*~' -exec rm {} \; -print;\ find dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION) -name '#*#' -exec rm {} \; -print
find . -name '*.o' -exec rm {} \; -print;\ find dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION) -name '.#*' -exec rm {} \; -print
find . -name '#*#' -exec rm {} \; -print;\ find dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION) -name 'CVS' -exec rm -rf {} \; -print
find . -name 'CVS' -exec rm -rf {} \; -print;\ find dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION) -name '*bak' -exec rm -rf {} \; -print
find . -name '*bak' -exec rm -rf {} \; -print;\ find dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION) -name '*.core' -exec rm -rf {} \; -print
find . -name '*.core' -exec rm -rf {} \; -print;\ find dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION) -name '*.tr' -exec rm -rf {} \; -print
find . -name '*.tr' -exec rm -rf {} \; -print;\ find dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION) -name '*.pl' -exec rm -rf {} \; -print
find . -name '*.pl' -exec rm -rf {} \; -print;\ find dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION) -name '*.pem' -exec rm -rf {} \; -print
find . -name '*.pem' -exec rm -rf {} \; -print;\ find dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION) -name '*orig' -exec rm -rf {} \; -print
find . -name '*orig' -exec rm -rf {} \; -print;\ find dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION) -name '*.rej' -exec rm -rf {} \; -print
find . -name '*.rej' -exec rm -rf {} \; -print;\ rm -f dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)/config.status
rm -f TODO TAGS; \ rm -f dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)/config.log
rm -f config.status config.log config.cache config.h; \ rm -f dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)/config.cache
rm -f ssl/a.out all; \ rm -f dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)/config.h
cd /dist/ship; tar cf - $$name | gzip > $$name.tar.gz rm -f dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)/ssl/a.out
rm -f dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)/all
tar cf - -C dist $(PACKAGE_TARNAME)-$(PACKAGE_VERSION) \
| gzip >dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.gz

View file

@ -1 +0,0 @@
0.9b3

View file

@ -1,60 +0,0 @@
network.c:126: off=ntohs(p.ip->ip_off);
network.c:134: hlen=p.ip->ip_hl * 4;
network.c:136: p.len =ntohs(p.ip->ip_len)-hlen;
network.c:139: switch(p.ip->ip_p){
network.c:159: memcpy(&p->ts,&in->ts,sizeof(struct timeval));
network.c:160: if(!(p->base=(UCHAR *)malloc(in->_len)))
network.c:162: memcpy(p->base,in->base,p->_len=in->_len);
network.c:164: p->data=p->base + (in->data -> in->base);
network.c:165: p->len=in->len;
network.c:167: p->ip=(struct ip *)(p->base + ((UCHAR *)in->ip - in->base));
network.c:168: p->tcp=(struct tcphdr *)(p->base + ((UCHAR *)in->tcp - in->base));
network.c:186: FREE(p->base);
pcap-snoop.c:2: pcap-snoop.c
pcap-snoop.c:40: $Id: pcap-snoop.c,v 1.12 2002/01/21 17:36:51 ekr Exp $
pcap-snoop.c:47:static char *RCSSTRING="$Id: pcap-snoop.c,v 1.12 2002/01/21 17:36:51 ekr Exp $";
tcppack.c:84: p->tcp=(struct tcphdr *)p->data;
tcppack.c:88: if(r=tcp_find_conn(&conn,&direction,&p->ip->ip_src,
tcppack.c:89: ntohs(p->tcp->th_sport),&p->ip->ip_dst,ntohs(p->tcp->th_dport))){
tcppack.c:96: if((p->tcp->th_flags & (TH_SYN|TH_ACK))!=TH_SYN){
tcppack.c:104: conn->i2r.seq=ntohl(p->tcp->th_seq)+1;
tcppack.c:114: if((p->tcp->th_flags & (TH_SYN|TH_ACK))!=(TH_SYN|TH_ACK))
tcppack.c:116: conn->r2i.seq=ntohl(p->tcp->th_seq)+1;
tcppack.c:117: conn->r2i.ack=ntohl(p->tcp->th_ack)+1;
tcppack.c:127: conn->i2r.ack=ntohl(p->tcp->th_ack)+1;
tcppack.c:148: if(p->tcp->th_flags & TH_SYN)
tcppack.c:150: length=p->len - (p->tcp->th_off * 4);
tcppack.c:178: if(r=tcp_create_conn(&conn,&p->ip->ip_src,ntohs(p->tcp->th_sport),
tcppack.c:179: &p->ip->ip_dst,ntohs(p->tcp->th_dport)))
tcppack.c:183: memcpy(&conn->start_time,&p->ts,sizeof(struct timeval));
tcppack.c:184: if(r=create_proto_handler(handler,ctx,&conn->analyzer,conn,&p->ts))
tcppack.c:197: off=(s)->p->tcp->th_off*4; \
tcppack.c:198: if(l>((s)->p->len-off)) ERETURN(R_BAD_DATA);\
tcppack.c:199: (s)->data=(s)->p->data + off + (l) ; \
tcppack.c:200: (s)->len=(s)->p->len - off + (l); \
tcppack.c:227: l=p->len - p->tcp->th_off * 4;
tcppack.c:238: seq=ntohl(p->tcp->th_seq);
tcppack.c:241: if(p->tcp->th_flags & TH_ACK){
tcppack.c:245: acknum=ntohl(p->tcp->th_ack);
tcppack.c:250: if(r=timestamp_diff(&p->ts,&conn->start_time,&dt))
tcppack.c:268: if(!(p->tcp->th_flags & (TH_RST)) && SEQ_LT(seq,stream->seq))
tcppack.c:310: if(_seg.p->tcp->th_flags & (TH_RST)){
tcppack.c:311: stream->close=_seg.p->tcp->th_flags & (TH_RST);
tcppack.c:319: if(_seg.p->tcp->th_flags & (TH_FIN)){
tcppack.c:320: stream->close=_seg.p->tcp->th_flags & (TH_FIN);
tcppack.c:325: if(seg->p->tcp->th_flags & (TH_FIN)){
tcppack.c:326: stream->close=_seg.p->tcp->th_flags & (TH_FIN);
tcppack.c:338: if(seg->p->tcp->th_flags & (TH_FIN) ){
tcppack.c:374: lookuphostname(&p->ip->ip_src,&src);
tcppack.c:375: lookuphostname(&p->ip->ip_dst,&dst);
tcppack.c:379: ntohs(p->tcp->th_sport),
tcppack.c:381: ntohs(p->tcp->th_dport));
tcppack.c:384: ntohl(p->tcp->th_seq),
tcppack.c:385: p->len - p->tcp->th_off *4);
tcppack.c:387: if(p->tcp->th_flags & TH_ACK)
tcppack.c:388: printf("ACK %ld ",ntohl(p->tcp->th_ack));
tcppack.c:390: if(p->tcp->th_flags & TH_FIN)
tcppack.c:392: if(p->tcp->th_flags & TH_SYN)
tcppack.c:394: if(p->tcp->th_flags & TH_RST)
tcppack.c:396: if(p->tcp->th_flags & TH_PUSH)
tcppack.c:398: if(p->tcp->th_flags & TH_URG)

View file

@ -5,37 +5,40 @@
Copyright (C) 1999-2001 RTFM, Inc. Copyright (C) 1999-2001 RTFM, Inc.
All Rights Reserved All Rights Reserved
This package is a SSLv3/TLS protocol analyzer written by Eric Rescorla This package is a SSLv3/TLS protocol analyzer written by Eric
<ekr@rtfm.com> and licensed by RTFM, Inc. Rescorla <ekr@rtfm.com> and licensed by RTFM, Inc.
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions modification, are permitted provided that the following conditions
are met: are met:
1. Redistributions of source code must retain the above copyright 1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer. notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright 2. Redistributions in binary form must reproduce the above
notice, this list of conditions and the following disclaimer in the copyright notice, this list of conditions and the following
documentation and/or other materials provided with the distribution. disclaimer in the documentation and/or other materials provided
3. All advertising materials mentioning features or use of this software with the distribution.
must display the following acknowledgement: 3. All advertising materials mentioning features or use of this
software must display the following acknowledgement:
This product includes software developed by Eric Rescorla for This product includes software developed by Eric Rescorla for
RTFM, Inc. RTFM, Inc.
4. Neither the name of RTFM, Inc. nor the name of Eric Rescorla may be 4. Neither the name of RTFM, Inc. nor the name of Eric Rescorla may
used to endorse or promote products derived from this be used to endorse or promote products derived from this
software without specific prior written permission. software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY ERIC RESCORLA AND RTFM, INC. ``AS IS'' AND THIS SOFTWARE IS PROVIDED BY ERIC RESCORLA AND RTFM, INC. ``AS IS''
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY SUCH DAMAGE. OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
SUCH DAMAGE.
$Id: pcap-snoop.c,v 1.14 2002/09/09 21:02:58 ekr Exp $ $Id: pcap-snoop.c,v 1.14 2002/09/09 21:02:58 ekr Exp $
@ -112,7 +115,7 @@ int usage()
int print_version() int print_version()
{ {
printf("ssldump 0.9b3\n"); printf(PACKAGE_STRING "\n");
printf("Copyright (C) 1998-2001 RTFM, Inc.\n"); printf("Copyright (C) 1998-2001 RTFM, Inc.\n");
printf("All rights reserved.\n"); printf("All rights reserved.\n");
#ifdef OPENSSL #ifdef OPENSSL

View file

@ -1,5 +0,0 @@
OBJECTS=r_assoc.o r_data.o r_errors.o r_list.c r_time.o
INCLUDES += ../includes
OBJECTS:
$(CC) $(CFLAGS) $(@:%.c

View file

@ -1,20 +0,0 @@
dnl Process this file with autoconf to produce a configure script.
AC_INIT(include/r_assoc.h)
dnl Checks for programs.
AC_PROG_CC
dnl Checks for libraries.
dnl Checks for header files.
AC_HEADER_STDC
AC_CHECK_HEADERS(sys/time.h)
dnl Checks for typedefs, structures, and compiler characteristics.
AC_HEADER_TIME
dnl Checks for library functions.
AC_FUNC_MEMCMP
AC_FUNC_VPRINTF
AC_OUTPUT(make/freebsd31/Makefile make/freebsd22/Makefile make/sunos413/Makefile)

View file

@ -1,106 +0,0 @@
/**
r_macros.h
Copyright (C) 1999-2000 RTFM, Inc.
All Rights Reserved
This package is a SSLv3/TLS protocol analyzer written by Eric Rescorla
<ekr@rtfm.com> and licensed by RTFM, Inc.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software
must display the following acknowledgement:
This product includes software developed by Eric Rescorla for
RTFM, Inc.
4. Neither the name of RTFM, Inc. nor the name of Eric Rescorla may be
used to endorse or promote products derived from this
software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY ERIC RESCORLA AND RTFM, INC. ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY SUCH DAMAGE.
$Id: r_macros.h,v 1.2 2000/10/17 16:09:59 ekr Exp $
ekr@rtfm.com Tue Dec 22 10:37:32 1998
*/
#ifndef _r_macros_h
#define _r_macros_h
#if (R_USE_PROTOTYPES==1)
#define PROTO_LIST(a) a
#else
#define PROTO_LIST(a) ()
#endif
#ifndef __GNUC__
#define __FUNCTION__ "unknown"
#endif
#ifdef R_TRACE_ERRORS
#define REPORT_ERROR_(caller,a) fprintf(stderr,"%s: error %d at %s:%d (function %s)\n", \
caller,a,__FILE__,__LINE__,__FUNCTION__)
#else
#define REPORT_ERROR_(caller,a)
#endif
#ifndef ERETURN
#define ERETURN(a) do {int _r=a; if(!_r) _r=-1; REPORT_ERROR_("ERETURN",_r); return(_r);} while(0)
#endif
#ifndef ABORT
#define ABORT(a) do { int _r=a; if(!_r) _r=-1; REPORT_ERROR_("ABORT",_r); _status=_r; goto abort;} while(0)
#endif
#ifndef FREE
#define FREE(a) if(a) free(a)
#endif
#ifndef MIN
#define MIN(a,b) ((a)>(b))?(b):(a)
#endif
#ifndef MAX
#define MAX(a,b) ((b)>(a))?(b):(a)
#endif
#ifdef DEBUG
#define DBG(a) debug a
int debug(int class,char *format,...);
#else
#define DBG(a)
#endif
#ifndef RMALLOC
#define RMALLOC(a) malloc(A)
#endif
#ifndef RCALLOC
#define RCALLOC(a) calloc(1,a)
#endif
#ifndef RFREE
#define RFREE(a) if(a) free(a)
#endif
#endif

View file

@ -1,280 +0,0 @@
#
# rb_local.mk
#
# $Source$
# $Revision$
# $Date$
# $Name$
# $Disclaimer$
#
# Copyright (C) 2001, Terisa Systems, Inc.
# All Rights Reserved.
#
# ekr@terisa.com
#
#
# CONFIGURE USER-DEFINED MAKE ENVIRONMENT
#
# These fields are specified by the user. The remainder of
# this file is generated from this user-specified information.
#
# COMMON_LIB_DEFINES:
# cpp defines, with the -D flag preceeding each
#
# COMMON_LIB_INCLUDES:
# cpp include directories, with the -I flag preceeding each
#
# COMMON_LIB_INTERNAL:
# headers files which are local to a specific module directory,
# and should not be used by other parts of the toolkit or by
# the user
#
# COMMON_LIB_LIBNAME:
# the library associated with this module directory, used in
# most cases for debugging purposes
#
# COMMON_LIB_LIBPATHS:
# link-time directories to search for libraries, with the -L flag
# preceeding each
#
# COMMON_LIB_LIBRARIES:
# link-time libraries, with the -l flag preceeding each
#
# COMMON_LIB_LOCALFLAGS:
# compile-time flags specific to compiling only the files in
# this module directory--this variable should only be set in
# extremely exceptional cases
#
# COMMON_LIB_MAKEFILES:
# the makefiles
#
# COMMON_LIB_PREFIX:
# defines the module name, which also serves as the
# prefix for all the variable names defined in this file
#
# COMMON_LIB_PRIVATE:
# the private, for-toolkit-use-only API header files
#
# COMMON_LIB_PROGRAMS:
# programs to build
#
# COMMON_LIB_PUBLIC:
# the header files that define the public API for the toolkit
# and any other 'public' files that should be copied to
# the build directory
#
# COMMON_LIB_SOURCES:
# the source files to compile to object
#
COMMON_LIB_DEFINES =
COMMON_LIB_INCLUDES =
COMMON_LIB_INTERNAL =
COMMON_LIB_LIBNAME = libcommon.$(LIBSUFFIX)
COMMON_LIB_LIBPATHS =
COMMON_LIB_LIBRARIES =
COMMON_LIB_LOCALFLAGS =
COMMON_LIB_MAKEFILES = targets.mk
COMMON_LIB_PREFIX = COMMON_LIB
COMMON_LIB_PRIVATE =
COMMON_LIB_PROGRAMS =
COMMON_LIB_PUBLIC =
COMMON_LIB_SOURCES = debug.c r_assoc.c r_bitfield.c r_data.c \
r_errors.c r_list.c r_replace.c r_time.c
#
# CONFIGURE AUTOMATICALLY-GENERATED MAKE ENVIRONMENT
#
# COMMON_LIB_OBJECTS:
# object files to build
#
# COMMON_LIB_UNUSED:
# obsolete files in the module directory that are not
# used during the build process
#
# COMMON_LIB_USED:
# all files in the module directory that are used
# during the build process
#
COMMON_LIB_OBJECTS = debug.$(OBJSUFFIX) r_assoc.$(OBJSUFFIX) \
r_bitfield.$(OBJSUFFIX) r_data.$(OBJSUFFIX) \
r_errors.$(OBJSUFFIX) r_list.$(OBJSUFFIX) \
r_replace.$(OBJSUFFIX) r_time.$(OBJSUFFIX)
COMMON_LIB_UNUSED = assoc.h debug.h local.mk r_assoc_test.c r_data.h \
rb_local.mk
COMMON_LIB_USED = $(COMMON_LIB_INTERNAL:%=$(COMMON_LIB_SRCDIR)%) \
$(COMMON_LIB_MAKEFILES:%=$(COMMON_LIB_SRCDIR)%) \
$(COMMON_LIB_PRIVATE:%=$(COMMON_LIB_SRCDIR)%) \
$(COMMON_LIB_PUBLIC:%=$(COMMON_LIB_SRCDIR)%) \
$(COMMON_LIB_SOURCES:%=$(COMMON_LIB_SRCDIR)%)
#
# NOTES
#
# The following variables may be used during the build process,
# but are not defined in this file. If they are to be set
# to something other than the default blank, then they must
# be set by the calling make system.
#
# COMMON_LIB_SRCDIR:
# if the build target directory is different from the
# module directory (the source directory), then this
# variable contains the relative or full path of
# the module directory
#
# LIBARS:
# the library archive files (with fully-specified paths) that
# executables built from this module directory depend upon
#
# LIBPATHS:
# the paths to search for library archives (specified with
# the -L)
#
# LIBRARIES:
# the libraries to use while building executables from
# this module directory (specified with the -l)
#
#
# GLOBAL ENVIRONMENT
#
DEFINES += $(COMMON_LIB_DEFINES)
INCLUDES += $(COMMON_LIB_INCLUDES)
LIBPATHS += $(COMMON_LIB_LIBPATHS)
LIBRARIES += $(COMMON_LIB_LIBRARIES)
OBJECTS += $(COMMON_LIB_OBJECTS)
PUBLIC += $(COMMON_LIB_PUBLIC)
#
# GENERIC DEPENDENCIES
#
# default:
# default dependency, must be the first dependency in this makefile
#
# all:
# build everything in this module directory
#
# build:
# make only the toolkit build files of this module directory
#
# ci:
# perform an RCS check-in of this module directory
#
# clean:
# remove the compiled files
#
# clean_public:
# remove the public header files that have been copied
# to a public build directory
#
# objects:
# build the object files (this dependency is used for
# building the toolkit library)
#
# private:
# build only the private API header files
#
# public:
# build only the public API header files
#
default: $(COMMON_LIB_LIBNAME)
default: $(COMMON_LIB_PROGRAMS)
all: $(COMMON_LIB_PUBLIC)
all: $(COMMON_LIB_OBJECTS)
all: $(COMMON_LIB_LIBNAME)
all: $(COMMON_LIB_PROGRAMS)
build: $(COMMON_LIB_PUBLIC)
build: $(COMMON_LIB_OBJECTS)
ci: common_lib_ci
clean: common_lib_clean
clean_public: common_lib_clean_public
objects: $(COMMON_LIB_OBJECTS)
private: $(COMMON_LIB_PRIVATE)
public: $(COMMON_LIB_PUBLIC)
#
# LOCAL UTILITY DEPENDENCIES
#
# utility dependencies are necessary because of some
# make-isms having to do with dependencies
#
common_lib_ci:
$(CI) $(CIFLAGS) $(COMMON_LIB_USED)
common_lib_clean:
$(RM) $(RMFLAGS) $(COMMON_LIB_OBJECTS) $(COMMON_LIB_LIBNAME) $(COMMON_LIB_PROGRAMS)
common_lib_clean_public:
$(RM) $(RMFLAGS) $(COMMON_LIB_PUBLIC)
common_lib_objects: $(COMMON_LIB_OBJECTS)
common_lib_programs: $(COMMON_LIB_PROGRAMS)
common_lib_public: $(COMMON_LIB_PUBLIC)
#
# BUILD DEPENDENCIES
#
# build dependencies invoke the rule used to build each
# class of file
#
$(COMMON_LIB_LIBNAME):
$(AR) $(ARFLAGS) $@ $?
$(RANLIB) $@
$(COMMON_LIB_OBJECTS):
$(COMPILE.c) $(COMMON_LIB_SRCDIR)$(@:%.$(OBJSUFFIX)=%.c) $(DEFINES) $(INCLUDES) $(COMMON_LIB_LOCALFLAGS)
$(COMMON_LIB_PUBLIC):
$(CP) $(CPFLAGS) $(COMMON_LIB_SRCDIR)$@ $@
$(COMMON_LIB_PROGRAMS):
$(LINK.c) $@.$(OBJSUFFIX) $(LDLIBS) $(LIBS) $(LIBRARIES) $(LIBPATHS)
#LIBS above is obsolete (use LIBARARIES instead)
#
# FILE DEPENDENCIES
#
# file dependencies state, for each file that is built,
# which file(s) it depends upon
#
debug.$(OBJSUFFIX): $(COMMON_LIB_SRCDIR)debug.h
debug.$(OBJSUFFIX): $(COMMON_LIB_SRCDIR)debug.c
r_assoc.$(OBJSUFFIX): $(COMMON_LIB_SRCDIR)r_assoc.c
r_bitfield.$(OBJSUFFIX): $(COMMON_LIB_SRCDIR)r_bitfield.c
r_data.$(OBJSUFFIX): $(COMMON_LIB_SRCDIR)r_data.h
r_data.$(OBJSUFFIX): $(COMMON_LIB_SRCDIR)r_data.c
r_errors.$(OBJSUFFIX): $(COMMON_LIB_SRCDIR)r_errors.c
r_list.$(OBJSUFFIX): $(COMMON_LIB_SRCDIR)r_list.c
r_replace.$(OBJSUFFIX): $(COMMON_LIB_SRCDIR)r_replace.c
r_time.$(OBJSUFFIX): $(COMMON_LIB_SRCDIR)r_time.c
$(COMMON_LIB_LIBNAME): $(COMMON_LIB_OBJECTS)

41
configure vendored
View file

@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# Guess values for system-dependent variables and create Makefiles. # Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69. # Generated by GNU Autoconf 2.69 for ssldump 0.9b3p1.
# #
# #
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@ -575,14 +575,13 @@ MFLAGS=
MAKEFLAGS= MAKEFLAGS=
# Identity of this package. # Identity of this package.
PACKAGE_NAME= PACKAGE_NAME='ssldump'
PACKAGE_TARNAME= PACKAGE_TARNAME='ssldump'
PACKAGE_VERSION= PACKAGE_VERSION='0.9b3p1'
PACKAGE_STRING= PACKAGE_STRING='ssldump 0.9b3p1'
PACKAGE_BUGREPORT= PACKAGE_BUGREPORT=''
PACKAGE_URL= PACKAGE_URL=''
ac_unique_file="base/pcap-snoop.c"
# Factoring default headers for most tests. # Factoring default headers for most tests.
ac_includes_default="\ ac_includes_default="\
#include <stdio.h> #include <stdio.h>
@ -749,7 +748,7 @@ sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var' localstatedir='${prefix}/var'
includedir='${prefix}/include' includedir='${prefix}/include'
oldincludedir='/usr/include' oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE}' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
infodir='${datarootdir}/info' infodir='${datarootdir}/info'
htmldir='${docdir}' htmldir='${docdir}'
dvidir='${docdir}' dvidir='${docdir}'
@ -1249,7 +1248,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing. # Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh. # This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF cat <<_ACEOF
\`configure' configures this package to adapt to many kinds of systems. \`configure' configures ssldump 0.9b3p1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]... Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1297,7 +1296,7 @@ Fine tuning of the installation directories:
--infodir=DIR info documentation [DATAROOTDIR/info] --infodir=DIR info documentation [DATAROOTDIR/info]
--localedir=DIR locale-dependent data [DATAROOTDIR/locale] --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man documentation [DATAROOTDIR/man] --mandir=DIR man documentation [DATAROOTDIR/man]
--docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] --docdir=DIR documentation root [DATAROOTDIR/doc/ssldump]
--htmldir=DIR html documentation [DOCDIR] --htmldir=DIR html documentation [DOCDIR]
--dvidir=DIR dvi documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR]
--pdfdir=DIR pdf documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR]
@ -1314,7 +1313,9 @@ _ACEOF
fi fi
if test -n "$ac_init_help"; then if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of ssldump 0.9b3p1:";;
esac
cat <<\_ACEOF cat <<\_ACEOF
Optional Packages: Optional Packages:
@ -1404,7 +1405,7 @@ fi
test -n "$ac_init_help" && exit $ac_status test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then if $ac_init_version; then
cat <<\_ACEOF cat <<\_ACEOF
configure ssldump configure 0.9b3p1
generated by GNU Autoconf 2.69 generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc. Copyright (C) 2012 Free Software Foundation, Inc.
@ -1952,7 +1953,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake. running configure, to aid debugging if configure makes a mistake.
It was created by $as_me, which was It was created by ssldump $as_me 0.9b3p1, which was
generated by GNU Autoconf 2.69. Invocation command line was generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@ $ $0 $@
@ -3509,7 +3510,7 @@ esac
RECORD_MOD="dummy" RECORD_MOD="dummy"
ac_pcap_inc_dir="/usr/include /usr/include/pcap /usr/local/include" ac_pcap_inc_dir="/usr/include /usr/include/pcap /usr/local/include"
ac_pcap_lib_dir="/usr/local/lib64 /usr/local/lib /usr/lib64 /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/i386-linux-gnu" ac_pcap_lib_dir="/usr/local/lib64 /usr/local/lib /usr/lib64 /usr/lib"
# Check whether --with-pcap was given. # Check whether --with-pcap was given.
@ -3563,7 +3564,7 @@ $as_echo_n "checking for PCAP library... " >&6; }
ac_found_pcap_lib_dir="no" ac_found_pcap_lib_dir="no"
for dir in $ac_pcap_lib_dir; do for dir in $ac_pcap_lib_dir; do
if test -f $dir/libpcap.a -o -f $dir/libpcap.so; then if test -f $dir/libpcap.a -o -f $dir/libpcap.so; then
save_LIBS=$LIBS save_LIBS=$LIBS
save_LDFLAGS=$LDFLAGS save_LDFLAGS=$LDFLAGS
LIBS="-lpcap $LIBS" LIBS="-lpcap $LIBS"
if test "$dir" != "/usr/lib" -a "$dir" != "/usr/lib64"; then if test "$dir" != "/usr/lib" -a "$dir" != "/usr/lib64"; then
@ -3611,7 +3612,7 @@ else
fi fi
ac_use_openssl="true" ac_use_openssl="true"
ac_openssl_lib_dir="/usr/lib /usr/local /usr/local/ssl /usr/local/ssl/lib /usr/pkg /usr/lib/x86_64-linux-gnu /usr/lib/i386-linux-gnu" ac_openssl_lib_dir="/usr/lib /usr/local /usr/local/ssl /usr/local/ssl/lib /usr/pkg"
ac_openssl_inc_dir="/usr/include /usr/local /usr/local/ssl /usr/pkg /usr/local/ssl/include" ac_openssl_inc_dir="/usr/include /usr/local /usr/local/ssl /usr/pkg /usr/local/ssl/include"
@ -3673,7 +3674,7 @@ $as_echo_n "checking for OpenSSL libraries... " >&6; }
found_ssl="true" found_ssl="true"
fi fi
if $found_ssl != "false"; then if $found_ssl != "false"; then
save_LIBS=$LIBS save_LIBS=$LIBS
save_LDFLAGS=$LDFLAGS save_LDFLAGS=$LDFLAGS
LIBS="-lssl -lcrypto $LIBS" LIBS="-lssl -lcrypto $LIBS"
LDFLAGS="-L$dir $LDFLAGS" LDFLAGS="-L$dir $LDFLAGS"
@ -5253,7 +5254,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their # report actual input values of CONFIG_FILES etc. instead of their
# values after options handling. # values after options handling.
ac_log=" ac_log="
This file was extended by $as_me, which was This file was extended by ssldump $as_me 0.9b3p1, which was
generated by GNU Autoconf 2.69. Invocation command line was generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES CONFIG_FILES = $CONFIG_FILES
@ -5306,7 +5307,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\ ac_cs_version="\\
config.status ssldump config.status 0.9b3p1
configured by $0, generated by GNU Autoconf 2.69, configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\" with options \\"\$ac_cs_config\\"

View file

@ -1,39 +1,42 @@
dnl Copyright (C) 1999-2000 RTFM, Inc. dnl Copyright (C) 1999-2000 RTFM, Inc.
dnl All Rights Reserved dnl All Rights Reserved
dnl This package is a SSLv3/TLS protocol analyzer written by Eric Rescorla dnl This package is a SSLv3/TLS protocol analyzer written by Eric
dnl <ekr\@rtfm.com> and licensed by RTFM, Inc. dnl Rescorla <ekr@rtfm.com> and licensed by RTFM, Inc.
dnl Redistribution and use in source and binary forms, with or without dnl Redistribution and use in source and binary forms, with or without
dnl modification, are permitted provided that the following conditions dnl modification, are permitted provided that the following conditions
dnl are met: dnl are met:
dnl 1. Redistributions of source code must retain the above copyright dnl 1. Redistributions of source code must retain the above copyright
dnl notice, this list of conditions and the following disclaimer. dnl notice, this list of conditions and the following disclaimer.
dnl 2. Redistributions in binary form must reproduce the above copyright dnl 2. Redistributions in binary form must reproduce the above
dnl notice, this list of conditions and the following disclaimer in the dnl copyright notice, this list of conditions and the following
dnl documentation and/or other materials provided with the distribution. dnl disclaimer in the documentation and/or other materials provided
dnl 3. All advertising materials mentioning features or use of this software dnl with the distribution.
dnl must display the following acknowledgement: dnl 3. All advertising materials mentioning features or use of this
dnl dnl software must display the following acknowledgement:
dnl
dnl This product includes software developed by Eric Rescorla for dnl This product includes software developed by Eric Rescorla for
dnl RTFM, Inc. dnl RTFM, Inc.
dnl dnl
dnl 4. Neither the name of RTFM, Inc. nor the name of Eric Rescorla may be dnl 4. Neither the name of RTFM, Inc. nor the name of Eric Rescorla
dnl used to endorse or promote products derived from this dnl may be used to endorse or promote products derived from this
dnl software without specific prior written permission. dnl software without specific prior written permission.
dnl dnl
dnl THIS SOFTWARE IS PROVIDED BY ERIC RESCORLA AND RTFM, INC. ``AS IS'' AND dnl THIS SOFTWARE IS PROVIDED BY ERIC RESCORLA AND RTFM, INC. ``AS
dnl ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE dnl IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
dnl IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE dnl LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
dnl ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE dnl FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
dnl FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL dnl REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
dnl DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS dnl INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
dnl OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) dnl (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
dnl HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT dnl SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
dnl LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY dnl HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
dnl OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY SUCH DAMAGE. dnl CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
dnl OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
dnl EVEN IF ADVISED OF THE POSSIBILITY SUCH DAMAGE.
dnl Process this file with autoconf to produce a configure script. dnl Process this file with autoconf to produce a configure script.
AC_INIT(base/pcap-snoop.c) AC_INIT(ssldump, 0.9b3p1)
AC_CANONICAL_SYSTEM AC_CANONICAL_SYSTEM
dnl Checks for programs. dnl Checks for programs.
@ -104,7 +107,7 @@ ac_found_pcap_lib_dir="no"
for dir in $ac_pcap_lib_dir; do for dir in $ac_pcap_lib_dir; do
if test -f $dir/libpcap.a -o -f $dir/libpcap.so; then if test -f $dir/libpcap.a -o -f $dir/libpcap.so; then
dnl Ok, we think we've found them, but check that they dnl Ok, we think we've found them, but check that they
dnl actually ontain the right functions dnl actually contain the right functions.
save_LIBS=$LIBS save_LIBS=$LIBS
save_LDFLAGS=$LDFLAGS save_LDFLAGS=$LDFLAGS
LIBS="-lpcap $LIBS" LIBS="-lpcap $LIBS"
@ -182,7 +185,7 @@ if test "$ac_use_openssl" != "false"; then
fi fi
if $found_ssl != "false"; then if $found_ssl != "false"; then
dnl Ok, we think we've found them, but check that they dnl Ok, we think we've found them, but check that they
dnl actually ontain the right functions dnl actually contain the right functions.
save_LIBS=$LIBS save_LIBS=$LIBS
save_LDFLAGS=$LDFLAGS save_LDFLAGS=$LDFLAGS
LIBS="-lssl -lcrypto $LIBS" LIBS="-lssl -lcrypto $LIBS"

View file

View file

@ -1,20 +0,0 @@
CC=gcc -g -I../../common/include -DYYDEBUG=1
YACC=bison -d -y -v
LEX=flex
OBJS=lex.yy.o y.tab.o main.o
default: all
lex.yy.c: ssl.l
$(LEX) ssl.l
y.tab.c: ssl.y
$(YACC) ssl.y
grammar: y.tab.c lex.yy.c
$(LEX) ssl.l
$(YACC) ssl.y
all: grammar $(OBJS)
$(CC) $(OBJS) -L../../common/make/freebsd31 -ly -lm

View file

@ -172,9 +172,13 @@ int ssl_decode_ctx_create(dp,keyfile,pass,keylogfile)
if(r_assoc_create(&d->session_cache)) if(r_assoc_create(&d->session_cache))
ABORT(R_NO_MEMORY); ABORT(R_NO_MEMORY);
if(keylogfile && !(d->ssl_key_log_file=fopen(keylogfile, "r"))){ if (keylogfile) {
fprintf(stderr,"Failed to open ssl key log file"); if(!(d->ssl_key_log_file=fopen(keylogfile, "r"))){
ABORT(R_INTERNAL); fprintf(stderr,"Failed to open ssl key log file");
ABORT(R_INTERNAL);
}
} else {
d->ssl_key_log_file = NULL;
} }
X509V3_add_standard_extensions(); X509V3_add_standard_extensions();
@ -1071,7 +1075,7 @@ static int ssl_generate_session_hash(ssl,d)
static int ssl_read_key_log_file(d) static int ssl_read_key_log_file(d)
ssl_decoder *d; ssl_decoder *d;
{ {
int r,_status,dgi,n; int r,_status,dgi,n,i;
unsigned int t; unsigned int t;
size_t l=0; size_t l=0;
char *line,*label_data; char *line,*label_data;
@ -1083,7 +1087,7 @@ static int ssl_read_key_log_file(d)
if(!(label_data=malloc((d->client_random->len*2)+1))) if(!(label_data=malloc((d->client_random->len*2)+1)))
ABORT(r); ABORT(r);
for(int i=0;i<d->client_random->len;i++) for(i=0;i<d->client_random->len;i++)
if(snprintf(label_data+(i*2),3,"%02x",d->client_random->data[i])!=2) if(snprintf(label_data+(i*2),3,"%02x",d->client_random->data[i])!=2)
ABORT(r); ABORT(r);
@ -1093,7 +1097,7 @@ static int ssl_read_key_log_file(d)
if(r=r_data_alloc(&d->MS,48)) if(r=r_data_alloc(&d->MS,48))
ABORT(r); ABORT(r);
for(int i=0; i < d->MS->len; i++) { for(i=0; i < d->MS->len; i++) {
if(sscanf(line+14+65+(i*2),"%2x",&t)!=1) if(sscanf(line+14+65+(i*2),"%2x",&t)!=1)
ABORT(r); ABORT(r);
*(d->MS->data+i)=(char)t; *(d->MS->data+i)=(char)t;
@ -1106,7 +1110,8 @@ static int ssl_read_key_log_file(d)
} }
_status=0; _status=0;
abort: abort:
fseek(d->ctx->ssl_key_log_file, SEEK_SET, 0); if (d->ctx->ssl_key_log_file != NULL)
fseek(d->ctx->ssl_key_log_file, 0, SEEK_SET);
return(_status); return(_status);
} }
#endif #endif

View file

@ -1,526 +0,0 @@
Terminals which are not used:
DOT_DOT_
STRUCT_
OPAQUE_
ENUM_
DIGITALLY_SIGNED_
COMMENT_START_
COMMENT_END_
CASE_
Grammar
rule 1 module -> typelist
rule 2 typelist -> /* empty */
rule 3 typelist -> definition typelist
rule 4 definition -> selecttype
rule 5 definition -> constant_type
rule 6 selecttype -> SELECT_ '{' selecterateds ',' selectmax '}' NAME_ ';'
rule 7 selecterateds -> selecterateds ',' selecterated
rule 8 selecterateds -> selecterated
rule 9 selectmax -> '(' NUM_ ')'
rule 10 selecterated -> selecterated_no_code
rule 11 selecterated -> selecterated_code
rule 12 selecterated_code -> NAME_ '(' NUM_ ')' CODE_
rule 13 selecterated_no_code -> NAME_ '(' NUM_ ')'
rule 14 constant_type -> CONSTANT_ '{' constants '}' NAME_ ';'
rule 15 constants -> constants constant
rule 16 constants -> constant
rule 17 constant -> NAME_ NAME_ '=' '{' constval '}' ';'
rule 18 constval -> NUM_ ',' NUM_ ',' NUM_
rule 19 constval -> NUM_ ',' NUM_
rule 20 constval -> NUM_
Terminals, with rules where they appear
$ (-1)
'(' (40) 9 12 13
')' (41) 9 12 13
',' (44) 6 7 18 19
';' (59) 6 14 17
'=' (61) 17
'{' (123) 6 14 17
'}' (125) 6 14 17
error (256)
NAME_ (257) 6 12 13 14 17
NUM_ (258) 9 12 13 18 19 20
DOT_DOT_ (259)
STRUCT_ (260)
SELECT_ (261) 6
OPAQUE_ (262)
ENUM_ (263)
DIGITALLY_SIGNED_ (264)
COMMENT_START_ (265)
CODE_ (266) 12
COMMENT_END_ (267)
CASE_ (268)
CONSTANT_ (269) 14
Nonterminals, with rules where they appear
module (23)
on left: 1
typelist (24)
on left: 2 3, on right: 1 3
definition (25)
on left: 4 5, on right: 3
selecttype (26)
on left: 6, on right: 4
selecterateds (27)
on left: 7 8, on right: 6 7
selectmax (28)
on left: 9, on right: 6
selecterated (29)
on left: 10 11, on right: 7 8
selecterated_code (30)
on left: 12, on right: 11
selecterated_no_code (31)
on left: 13, on right: 10
constant_type (32)
on left: 14, on right: 5
constants (33)
on left: 15 16, on right: 14 15
constant (34)
on left: 17, on right: 15 16
constval (35)
on left: 18 19 20, on right: 17
state 0
SELECT_ shift, and go to state 1
CONSTANT_ shift, and go to state 2
$default reduce using rule 2 (typelist)
module go to state 46
typelist go to state 3
definition go to state 4
selecttype go to state 5
constant_type go to state 6
state 1
selecttype -> SELECT_ . '{' selecterateds ',' selectmax '}' NAME_ ';' (rule 6)
'{' shift, and go to state 7
state 2
constant_type -> CONSTANT_ . '{' constants '}' NAME_ ';' (rule 14)
'{' shift, and go to state 8
state 3
module -> typelist . (rule 1)
$default reduce using rule 1 (module)
state 4
typelist -> definition . typelist (rule 3)
SELECT_ shift, and go to state 1
CONSTANT_ shift, and go to state 2
$default reduce using rule 2 (typelist)
typelist go to state 9
definition go to state 4
selecttype go to state 5
constant_type go to state 6
state 5
definition -> selecttype . (rule 4)
$default reduce using rule 4 (definition)
state 6
definition -> constant_type . (rule 5)
$default reduce using rule 5 (definition)
state 7
selecttype -> SELECT_ '{' . selecterateds ',' selectmax '}' NAME_ ';' (rule 6)
NAME_ shift, and go to state 10
selecterateds go to state 11
selecterated go to state 12
selecterated_code go to state 13
selecterated_no_code go to state 14
state 8
constant_type -> CONSTANT_ '{' . constants '}' NAME_ ';' (rule 14)
NAME_ shift, and go to state 15
constants go to state 16
constant go to state 17
state 9
typelist -> definition typelist . (rule 3)
$default reduce using rule 3 (typelist)
state 10
selecterated_code -> NAME_ . '(' NUM_ ')' CODE_ (rule 12)
selecterated_no_code -> NAME_ . '(' NUM_ ')' (rule 13)
'(' shift, and go to state 18
state 11
selecttype -> SELECT_ '{' selecterateds . ',' selectmax '}' NAME_ ';' (rule 6)
selecterateds -> selecterateds . ',' selecterated (rule 7)
',' shift, and go to state 19
state 12
selecterateds -> selecterated . (rule 8)
$default reduce using rule 8 (selecterateds)
state 13
selecterated -> selecterated_code . (rule 11)
$default reduce using rule 11 (selecterated)
state 14
selecterated -> selecterated_no_code . (rule 10)
$default reduce using rule 10 (selecterated)
state 15
constant -> NAME_ . NAME_ '=' '{' constval '}' ';' (rule 17)
NAME_ shift, and go to state 20
state 16
constant_type -> CONSTANT_ '{' constants . '}' NAME_ ';' (rule 14)
constants -> constants . constant (rule 15)
NAME_ shift, and go to state 15
'}' shift, and go to state 21
constant go to state 22
state 17
constants -> constant . (rule 16)
$default reduce using rule 16 (constants)
state 18
selecterated_code -> NAME_ '(' . NUM_ ')' CODE_ (rule 12)
selecterated_no_code -> NAME_ '(' . NUM_ ')' (rule 13)
NUM_ shift, and go to state 23
state 19
selecttype -> SELECT_ '{' selecterateds ',' . selectmax '}' NAME_ ';' (rule 6)
selecterateds -> selecterateds ',' . selecterated (rule 7)
NAME_ shift, and go to state 10
'(' shift, and go to state 24
selectmax go to state 25
selecterated go to state 26
selecterated_code go to state 13
selecterated_no_code go to state 14
state 20
constant -> NAME_ NAME_ . '=' '{' constval '}' ';' (rule 17)
'=' shift, and go to state 27
state 21
constant_type -> CONSTANT_ '{' constants '}' . NAME_ ';' (rule 14)
NAME_ shift, and go to state 28
state 22
constants -> constants constant . (rule 15)
$default reduce using rule 15 (constants)
state 23
selecterated_code -> NAME_ '(' NUM_ . ')' CODE_ (rule 12)
selecterated_no_code -> NAME_ '(' NUM_ . ')' (rule 13)
')' shift, and go to state 29
state 24
selectmax -> '(' . NUM_ ')' (rule 9)
NUM_ shift, and go to state 30
state 25
selecttype -> SELECT_ '{' selecterateds ',' selectmax . '}' NAME_ ';' (rule 6)
'}' shift, and go to state 31
state 26
selecterateds -> selecterateds ',' selecterated . (rule 7)
$default reduce using rule 7 (selecterateds)
state 27
constant -> NAME_ NAME_ '=' . '{' constval '}' ';' (rule 17)
'{' shift, and go to state 32
state 28
constant_type -> CONSTANT_ '{' constants '}' NAME_ . ';' (rule 14)
';' shift, and go to state 33
state 29
selecterated_code -> NAME_ '(' NUM_ ')' . CODE_ (rule 12)
selecterated_no_code -> NAME_ '(' NUM_ ')' . (rule 13)
CODE_ shift, and go to state 34
$default reduce using rule 13 (selecterated_no_code)
state 30
selectmax -> '(' NUM_ . ')' (rule 9)
')' shift, and go to state 35
state 31
selecttype -> SELECT_ '{' selecterateds ',' selectmax '}' . NAME_ ';' (rule 6)
NAME_ shift, and go to state 36
state 32
constant -> NAME_ NAME_ '=' '{' . constval '}' ';' (rule 17)
NUM_ shift, and go to state 37
constval go to state 38
state 33
constant_type -> CONSTANT_ '{' constants '}' NAME_ ';' . (rule 14)
$default reduce using rule 14 (constant_type)
state 34
selecterated_code -> NAME_ '(' NUM_ ')' CODE_ . (rule 12)
$default reduce using rule 12 (selecterated_code)
state 35
selectmax -> '(' NUM_ ')' . (rule 9)
$default reduce using rule 9 (selectmax)
state 36
selecttype -> SELECT_ '{' selecterateds ',' selectmax '}' NAME_ . ';' (rule 6)
';' shift, and go to state 39
state 37
constval -> NUM_ . ',' NUM_ ',' NUM_ (rule 18)
constval -> NUM_ . ',' NUM_ (rule 19)
constval -> NUM_ . (rule 20)
',' shift, and go to state 40
$default reduce using rule 20 (constval)
state 38
constant -> NAME_ NAME_ '=' '{' constval . '}' ';' (rule 17)
'}' shift, and go to state 41
state 39
selecttype -> SELECT_ '{' selecterateds ',' selectmax '}' NAME_ ';' . (rule 6)
$default reduce using rule 6 (selecttype)
state 40
constval -> NUM_ ',' . NUM_ ',' NUM_ (rule 18)
constval -> NUM_ ',' . NUM_ (rule 19)
NUM_ shift, and go to state 42
state 41
constant -> NAME_ NAME_ '=' '{' constval '}' . ';' (rule 17)
';' shift, and go to state 43
state 42
constval -> NUM_ ',' NUM_ . ',' NUM_ (rule 18)
constval -> NUM_ ',' NUM_ . (rule 19)
',' shift, and go to state 44
$default reduce using rule 19 (constval)
state 43
constant -> NAME_ NAME_ '=' '{' constval '}' ';' . (rule 17)
$default reduce using rule 17 (constant)
state 44
constval -> NUM_ ',' NUM_ ',' . NUM_ (rule 18)
NUM_ shift, and go to state 45
state 45
constval -> NUM_ ',' NUM_ ',' NUM_ . (rule 18)
$default reduce using rule 18 (constval)
state 46
$ go to state 47
state 47
$ go to state 48
state 48
$default accept