mirror of
https://github.com/adulau/ssldump.git
synced 2024-11-25 10:57:06 +00:00
Merge pull request #21 from qha/repair-make-targets
Repair make targets and ssl/ssldecode.c, bump version
This commit is contained in:
commit
da73adff42
15 changed files with 160 additions and 1141 deletions
9
.gitignore
vendored
Normal file
9
.gitignore
vendored
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
*~
|
||||||
|
.#*
|
||||||
|
*.o
|
||||||
|
ssldump
|
||||||
|
Makefile
|
||||||
|
config.log
|
||||||
|
config.status
|
||||||
|
dist
|
||||||
|
autom4te.cache
|
122
Makefile.in
122
Makefile.in
|
@ -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
|
||||||
|
|
1
VERSION
1
VERSION
|
@ -1 +0,0 @@
|
||||||
0.9b3
|
|
60
base/data
60
base/data
|
@ -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)
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
|
||||||
|
|
|
@ -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)
|
|
|
@ -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
|
|
||||||
|
|
|
@ -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
41
configure
vendored
|
@ -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\\"
|
||||||
|
|
||||||
|
|
49
configure.in
49
configure.in
|
@ -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"
|
||||||
|
|
20
ssl/Makefile
20
ssl/Makefile
|
@ -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
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
526
ssl/y.output
526
ssl/y.output
|
@ -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
|
|
Loading…
Reference in a new issue