mirror of
https://github.com/adulau/ssldump.git
synced 2024-12-23 00:15:57 +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.
|
||||
# All Rights Reserved
|
||||
|
||||
# This package is a SSLv3/TLS protocol analyzer written by Eric Rescorla
|
||||
# <ekr\@rtfm.com> and licensed by RTFM, Inc.
|
||||
# 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:
|
||||
# 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.
|
||||
# 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.
|
||||
PLATFORM=freebsd31
|
||||
# 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.
|
||||
CC=@CC@
|
||||
|
||||
all: ssldump
|
||||
|
||||
PACKAGE_TARNAME=@PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION=@PACKAGE_VERSION@
|
||||
|
||||
OBJSUFFIX=o
|
||||
LIBSUFFIX=a
|
||||
INSTALL=@INSTALL@
|
||||
prefix=@prefix@
|
||||
exec_prefix=@exec_prefix@
|
||||
BINDIR=@sbindir@
|
||||
MANDIR=@mandir@
|
||||
sbindir=@sbindir@
|
||||
mandir=@mandir@
|
||||
datarootdir=@datarootdir@
|
||||
docdir=@docdir@
|
||||
RM=rm -f
|
||||
|
||||
ROOT=./
|
||||
|
@ -71,41 +78,50 @@ LIBS += @LDFLAGS@ @LIBS@
|
|||
CFLAGS += @CFLAGS@ @DEFS@
|
||||
|
||||
|
||||
.PHONY: clean install dist
|
||||
|
||||
ssldump: $(OBJECTS)
|
||||
$(CC) $(OBJECTS) -o $@ $(LIBS)
|
||||
$(CC) $(OBJECTS) -o $@ $(LIBS)
|
||||
|
||||
clean:
|
||||
rm -f $(OBJECTS) ssldump
|
||||
|
||||
install:
|
||||
[ -d $(BINDIR) ] || mkdir -p $(BINDIR)
|
||||
$(INSTALL) -m 755 ssldump $(BINDIR)/ssldump
|
||||
[ -d $(MANDIR) ] || mkdir -p $(MANDIR)/man1
|
||||
$(INSTALL) -m 444 ssldump.1 $(MANDIR)/man1/ssldump.1
|
||||
$(INSTALL) -m 755 -d $(sbindir)
|
||||
$(INSTALL) -m 755 -d $(mandir)/man1
|
||||
$(INSTALL) -m 755 -d $(docdir)
|
||||
$(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:
|
||||
perl "./version-check.pl"
|
||||
- name=ssldump-`cat VERSION`; \
|
||||
rm -rf /dist/ship/$$name; \
|
||||
mkdir /dist/ship/$$name; \
|
||||
cp -pR * /dist/ship/$$name; \
|
||||
cd /dist/ship/$$name; \
|
||||
make -f Makefile.in clean; \
|
||||
rm Makefile; \
|
||||
find . -name '*~' -exec rm {} \; -print;\
|
||||
find . -name '*.o' -exec rm {} \; -print;\
|
||||
find . -name '#*#' -exec rm {} \; -print;\
|
||||
find . -name 'CVS' -exec rm -rf {} \; -print;\
|
||||
find . -name '*bak' -exec rm -rf {} \; -print;\
|
||||
find . -name '*.core' -exec rm -rf {} \; -print;\
|
||||
find . -name '*.tr' -exec rm -rf {} \; -print;\
|
||||
find . -name '*.pl' -exec rm -rf {} \; -print;\
|
||||
find . -name '*.pem' -exec rm -rf {} \; -print;\
|
||||
find . -name '*orig' -exec rm -rf {} \; -print;\
|
||||
find . -name '*.rej' -exec rm -rf {} \; -print;\
|
||||
rm -f TODO TAGS; \
|
||||
rm -f config.status config.log config.cache config.h; \
|
||||
rm -f ssl/a.out all; \
|
||||
cd /dist/ship; tar cf - $$name | gzip > $$name.tar.gz
|
||||
|
||||
|
||||
rm -rf dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)
|
||||
mkdir -p dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)
|
||||
ls -1| grep -vx -e dist -e autom4te.cache \
|
||||
| xargs cp -pR -t dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)
|
||||
make -C dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION) clean
|
||||
rm dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)/Makefile
|
||||
find dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION) -name '*~' -exec rm {} \; -print
|
||||
find dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION) -name '*.o' -exec rm {} \; -print
|
||||
find dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION) -name '#*#' -exec rm {} \; -print
|
||||
find dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION) -name '.#*' -exec rm {} \; -print
|
||||
find dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION) -name 'CVS' -exec rm -rf {} \; -print
|
||||
find dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION) -name '*bak' -exec rm -rf {} \; -print
|
||||
find dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION) -name '*.core' -exec rm -rf {} \; -print
|
||||
find dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION) -name '*.tr' -exec rm -rf {} \; -print
|
||||
find dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION) -name '*.pl' -exec rm -rf {} \; -print
|
||||
find dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION) -name '*.pem' -exec rm -rf {} \; -print
|
||||
find dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION) -name '*orig' -exec rm -rf {} \; -print
|
||||
find dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION) -name '*.rej' -exec rm -rf {} \; -print
|
||||
rm -f dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)/config.status
|
||||
rm -f dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)/config.log
|
||||
rm -f dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)/config.cache
|
||||
rm -f dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)/config.h
|
||||
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.
|
||||
All Rights Reserved
|
||||
|
||||
This package is a SSLv3/TLS protocol analyzer written by Eric Rescorla
|
||||
<ekr@rtfm.com> and licensed by RTFM, Inc.
|
||||
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:
|
||||
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
|
||||
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.
|
||||
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: pcap-snoop.c,v 1.14 2002/09/09 21:02:58 ekr Exp $
|
||||
|
||||
|
@ -112,7 +115,7 @@ int usage()
|
|||
|
||||
int print_version()
|
||||
{
|
||||
printf("ssldump 0.9b3\n");
|
||||
printf(PACKAGE_STRING "\n");
|
||||
printf("Copyright (C) 1998-2001 RTFM, Inc.\n");
|
||||
printf("All rights reserved.\n");
|
||||
#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
|
||||
# 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.
|
||||
|
@ -575,14 +575,13 @@ MFLAGS=
|
|||
MAKEFLAGS=
|
||||
|
||||
# Identity of this package.
|
||||
PACKAGE_NAME=
|
||||
PACKAGE_TARNAME=
|
||||
PACKAGE_VERSION=
|
||||
PACKAGE_STRING=
|
||||
PACKAGE_BUGREPORT=
|
||||
PACKAGE_URL=
|
||||
PACKAGE_NAME='ssldump'
|
||||
PACKAGE_TARNAME='ssldump'
|
||||
PACKAGE_VERSION='0.9b3p1'
|
||||
PACKAGE_STRING='ssldump 0.9b3p1'
|
||||
PACKAGE_BUGREPORT=''
|
||||
PACKAGE_URL=''
|
||||
|
||||
ac_unique_file="base/pcap-snoop.c"
|
||||
# Factoring default headers for most tests.
|
||||
ac_includes_default="\
|
||||
#include <stdio.h>
|
||||
|
@ -749,7 +748,7 @@ sharedstatedir='${prefix}/com'
|
|||
localstatedir='${prefix}/var'
|
||||
includedir='${prefix}/include'
|
||||
oldincludedir='/usr/include'
|
||||
docdir='${datarootdir}/doc/${PACKAGE}'
|
||||
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
|
||||
infodir='${datarootdir}/info'
|
||||
htmldir='${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.
|
||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||
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]...
|
||||
|
||||
|
@ -1297,7 +1296,7 @@ Fine tuning of the installation directories:
|
|||
--infodir=DIR info documentation [DATAROOTDIR/info]
|
||||
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
|
||||
--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]
|
||||
--dvidir=DIR dvi documentation [DOCDIR]
|
||||
--pdfdir=DIR pdf documentation [DOCDIR]
|
||||
|
@ -1314,7 +1313,9 @@ _ACEOF
|
|||
fi
|
||||
|
||||
if test -n "$ac_init_help"; then
|
||||
|
||||
case $ac_init_help in
|
||||
short | recursive ) echo "Configuration of ssldump 0.9b3p1:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
Optional Packages:
|
||||
|
@ -1404,7 +1405,7 @@ fi
|
|||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
configure
|
||||
ssldump configure 0.9b3p1
|
||||
generated by GNU Autoconf 2.69
|
||||
|
||||
Copyright (C) 2012 Free Software Foundation, Inc.
|
||||
|
@ -1952,7 +1953,7 @@ cat >config.log <<_ACEOF
|
|||
This file contains any messages produced by compilers while
|
||||
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
|
||||
|
||||
$ $0 $@
|
||||
|
@ -3509,7 +3510,7 @@ esac
|
|||
RECORD_MOD="dummy"
|
||||
|
||||
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.
|
||||
|
@ -3563,7 +3564,7 @@ $as_echo_n "checking for PCAP library... " >&6; }
|
|||
ac_found_pcap_lib_dir="no"
|
||||
for dir in $ac_pcap_lib_dir; do
|
||||
if test -f $dir/libpcap.a -o -f $dir/libpcap.so; then
|
||||
save_LIBS=$LIBS
|
||||
save_LIBS=$LIBS
|
||||
save_LDFLAGS=$LDFLAGS
|
||||
LIBS="-lpcap $LIBS"
|
||||
if test "$dir" != "/usr/lib" -a "$dir" != "/usr/lib64"; then
|
||||
|
@ -3611,7 +3612,7 @@ else
|
|||
fi
|
||||
|
||||
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"
|
||||
|
||||
|
||||
|
@ -3673,7 +3674,7 @@ $as_echo_n "checking for OpenSSL libraries... " >&6; }
|
|||
found_ssl="true"
|
||||
fi
|
||||
if $found_ssl != "false"; then
|
||||
save_LIBS=$LIBS
|
||||
save_LIBS=$LIBS
|
||||
save_LDFLAGS=$LDFLAGS
|
||||
LIBS="-lssl -lcrypto $LIBS"
|
||||
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
|
||||
# values after options handling.
|
||||
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
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
|
@ -5306,7 +5307,7 @@ _ACEOF
|
|||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||
ac_cs_version="\\
|
||||
config.status
|
||||
ssldump config.status 0.9b3p1
|
||||
configured by $0, generated by GNU Autoconf 2.69,
|
||||
with options \\"\$ac_cs_config\\"
|
||||
|
||||
|
|
49
configure.in
49
configure.in
|
@ -1,39 +1,42 @@
|
|||
dnl Copyright (C) 1999-2000 RTFM, Inc.
|
||||
dnl All Rights Reserved
|
||||
|
||||
dnl This package is a SSLv3/TLS protocol analyzer written by Eric Rescorla
|
||||
dnl <ekr\@rtfm.com> and licensed by RTFM, Inc.
|
||||
dnl This package is a SSLv3/TLS protocol analyzer written by Eric
|
||||
dnl Rescorla <ekr@rtfm.com> and licensed by RTFM, Inc.
|
||||
|
||||
dnl Redistribution and use in source and binary forms, with or without
|
||||
dnl modification, are permitted provided that the following conditions
|
||||
dnl are met:
|
||||
dnl 1. Redistributions of source code must retain the above copyright
|
||||
dnl notice, this list of conditions and the following disclaimer.
|
||||
dnl 2. Redistributions in binary form must reproduce the above copyright
|
||||
dnl notice, this list of conditions and the following disclaimer in the
|
||||
dnl documentation and/or other materials provided with the distribution.
|
||||
dnl 3. All advertising materials mentioning features or use of this software
|
||||
dnl must display the following acknowledgement:
|
||||
dnl
|
||||
dnl 2. Redistributions in binary form must reproduce the above
|
||||
dnl copyright notice, this list of conditions and the following
|
||||
dnl disclaimer in the documentation and/or other materials provided
|
||||
dnl with the distribution.
|
||||
dnl 3. All advertising materials mentioning features or use of this
|
||||
dnl software must display the following acknowledgement:
|
||||
dnl
|
||||
dnl This product includes software developed by Eric Rescorla for
|
||||
dnl RTFM, Inc.
|
||||
dnl
|
||||
dnl 4. Neither the name of RTFM, Inc. nor the name of Eric Rescorla may be
|
||||
dnl used to endorse or promote products derived from this
|
||||
dnl 4. Neither the name of RTFM, Inc. nor the name of Eric Rescorla
|
||||
dnl may be used to endorse or promote products derived from this
|
||||
dnl software without specific prior written permission.
|
||||
dnl
|
||||
dnl THIS SOFTWARE IS PROVIDED BY ERIC RESCORLA AND RTFM, INC. ``AS IS'' AND
|
||||
dnl ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
dnl IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
dnl ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
dnl FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
dnl DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
dnl OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
dnl HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
dnl LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
dnl OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY SUCH DAMAGE.
|
||||
dnl THIS SOFTWARE IS PROVIDED BY ERIC RESCORLA AND RTFM, INC. ``AS
|
||||
dnl IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
dnl LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
dnl FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
dnl REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
dnl INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
dnl (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
dnl SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
dnl HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
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.
|
||||
AC_INIT(base/pcap-snoop.c)
|
||||
AC_INIT(ssldump, 0.9b3p1)
|
||||
AC_CANONICAL_SYSTEM
|
||||
|
||||
dnl Checks for programs.
|
||||
|
@ -104,7 +107,7 @@ ac_found_pcap_lib_dir="no"
|
|||
for dir in $ac_pcap_lib_dir; do
|
||||
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 actually ontain the right functions
|
||||
dnl actually contain the right functions.
|
||||
save_LIBS=$LIBS
|
||||
save_LDFLAGS=$LDFLAGS
|
||||
LIBS="-lpcap $LIBS"
|
||||
|
@ -182,7 +185,7 @@ if test "$ac_use_openssl" != "false"; then
|
|||
fi
|
||||
if $found_ssl != "false"; then
|
||||
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_LDFLAGS=$LDFLAGS
|
||||
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))
|
||||
ABORT(R_NO_MEMORY);
|
||||
|
||||
if(keylogfile && !(d->ssl_key_log_file=fopen(keylogfile, "r"))){
|
||||
fprintf(stderr,"Failed to open ssl key log file");
|
||||
ABORT(R_INTERNAL);
|
||||
if (keylogfile) {
|
||||
if(!(d->ssl_key_log_file=fopen(keylogfile, "r"))){
|
||||
fprintf(stderr,"Failed to open ssl key log file");
|
||||
ABORT(R_INTERNAL);
|
||||
}
|
||||
} else {
|
||||
d->ssl_key_log_file = NULL;
|
||||
}
|
||||
|
||||
X509V3_add_standard_extensions();
|
||||
|
@ -1071,7 +1075,7 @@ static int ssl_generate_session_hash(ssl,d)
|
|||
static int ssl_read_key_log_file(d)
|
||||
ssl_decoder *d;
|
||||
{
|
||||
int r,_status,dgi,n;
|
||||
int r,_status,dgi,n,i;
|
||||
unsigned int t;
|
||||
size_t l=0;
|
||||
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)))
|
||||
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)
|
||||
ABORT(r);
|
||||
|
||||
|
@ -1093,7 +1097,7 @@ static int ssl_read_key_log_file(d)
|
|||
if(r=r_data_alloc(&d->MS,48))
|
||||
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)
|
||||
ABORT(r);
|
||||
*(d->MS->data+i)=(char)t;
|
||||
|
@ -1106,7 +1110,8 @@ static int ssl_read_key_log_file(d)
|
|||
}
|
||||
_status=0;
|
||||
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);
|
||||
}
|
||||
#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