mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-23 20:03:31 +01:00
Command-line option to dump SHA1 digests of all source files.
Now, when you call tor --digests, it dumps the SHA1 digest of each source file that Tor was built with. We support both 'sha1sum' and 'openssl sha1'. If the user is building from a tarball and they haven't edited anything, they don't need any program that calculates SHA1. If they _have_ modified a file but they don't have a program to calculate SHA1, we try to build so we do not output digests.
This commit is contained in:
parent
e3ec061bc0
commit
6ac3a8b0cd
2
.gitignore
vendored
2
.gitignore
vendored
@ -107,6 +107,7 @@
|
|||||||
# /src/common/
|
# /src/common/
|
||||||
/src/common/Makefile
|
/src/common/Makefile
|
||||||
/src/common/Makefile.in
|
/src/common/Makefile.in
|
||||||
|
/src/common/common_sha1.i
|
||||||
/src/common/libor.a
|
/src/common/libor.a
|
||||||
/src/common/libor-crypto.a
|
/src/common/libor-crypto.a
|
||||||
|
|
||||||
@ -120,6 +121,7 @@
|
|||||||
# /src/or/
|
# /src/or/
|
||||||
/src/or/Makefile
|
/src/or/Makefile
|
||||||
/src/or/Makefile.in
|
/src/or/Makefile.in
|
||||||
|
/src/or/or_sha1.i
|
||||||
/src/or/micro-revision.*
|
/src/or/micro-revision.*
|
||||||
/src/or/tor
|
/src/or/tor
|
||||||
/src/or/test
|
/src/or/test
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
Changes in version 0.2.2.1-alpha - 2009-??-??
|
||||||
|
o Minor features
|
||||||
|
- New --digests command-line switch to output the digests of the source
|
||||||
|
files Tor was built with.
|
||||||
|
|
||||||
|
|
||||||
Changes in version 0.2.1.15??? - ????-??-??
|
Changes in version 0.2.1.15??? - ????-??-??
|
||||||
o Minor bugfixes:
|
o Minor bugfixes:
|
||||||
- Actually return -1 in the error case for read_bandwidth_usage. Bug
|
- Actually return -1 in the error case for read_bandwidth_usage. Bug
|
||||||
|
@ -107,6 +107,10 @@ AC_PROG_CC
|
|||||||
AC_PROG_CPP
|
AC_PROG_CPP
|
||||||
AC_PROG_MAKE_SET
|
AC_PROG_MAKE_SET
|
||||||
AC_PROG_RANLIB
|
AC_PROG_RANLIB
|
||||||
|
AC_PROG_SED
|
||||||
|
|
||||||
|
AC_PATH_PROG([SHA1SUM], [sha1sum], none)
|
||||||
|
AC_PATH_PROG([OPENSSL], [openssl], none)
|
||||||
|
|
||||||
TORUSER=_tor
|
TORUSER=_tor
|
||||||
AC_ARG_WITH(tor-user,
|
AC_ARG_WITH(tor-user,
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
|
|
||||||
noinst_LIBRARIES = libor.a libor-crypto.a
|
noinst_LIBRARIES = libor.a libor-crypto.a
|
||||||
|
|
||||||
|
EXTRA_DIST = common_sha1.i
|
||||||
|
|
||||||
#CFLAGS = -Wall -Wpointer-arith -O2
|
#CFLAGS = -Wall -Wpointer-arith -O2
|
||||||
|
|
||||||
if USE_OPENBSD_MALLOC
|
if USE_OPENBSD_MALLOC
|
||||||
@ -14,3 +16,15 @@ libor_a_SOURCES = address.c log.c util.c compat.c container.c mempool.c \
|
|||||||
libor_crypto_a_SOURCES = crypto.c aes.c tortls.c torgzip.c
|
libor_crypto_a_SOURCES = crypto.c aes.c tortls.c torgzip.c
|
||||||
|
|
||||||
noinst_HEADERS = address.h log.h crypto.h test.h util.h compat.h aes.h torint.h tortls.h strlcpy.c strlcat.c torgzip.h container.h ht.h mempool.h memarea.h ciphers.inc
|
noinst_HEADERS = address.h log.h crypto.h test.h util.h compat.h aes.h torint.h tortls.h strlcpy.c strlcat.c torgzip.h container.h ht.h mempool.h memarea.h ciphers.inc
|
||||||
|
|
||||||
|
common_sha1.i: $(libor_SOURCES) $(libor_crypto_a_SOURCES) $(noinst_HEADERS)
|
||||||
|
if test "@SHA1SUM@" != none; then \
|
||||||
|
@SHA1SUM@ $(libor_SOURCES) $(libor_crypto_a_SOURCES) $(noinst_HEADERS) | @SED@ -n 's/^\(.*\)$$/"\1\\n"/p' > common_sha1.i; \
|
||||||
|
elif test "@OPENSSL@" != none; then \
|
||||||
|
@OPENSSL@ sha1 $(libor_SOURCES) $(libor_crypto_a_SOURCES) $(noinst_HEADERS) | @SED@ -n 's/SHA1(\(.*\))= \(.*\)/"\2 \1\\n"/p' > common_sha1.i; \
|
||||||
|
else \
|
||||||
|
rm common_sha1.i; \
|
||||||
|
touch common_sha1.i; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
util.o: common_sha1.i
|
||||||
|
@ -2562,3 +2562,10 @@ write_pidfile(char *filename)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *
|
||||||
|
libor_get_digests(void)
|
||||||
|
{
|
||||||
|
return ""
|
||||||
|
#include "common_sha1.i"
|
||||||
|
;
|
||||||
|
}
|
||||||
|
@ -294,5 +294,7 @@ void start_daemon(void);
|
|||||||
void finish_daemon(const char *desired_cwd);
|
void finish_daemon(const char *desired_cwd);
|
||||||
void write_pidfile(char *filename);
|
void write_pidfile(char *filename);
|
||||||
|
|
||||||
|
const char *libor_get_digests(void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ else
|
|||||||
tor_platform_source=
|
tor_platform_source=
|
||||||
endif
|
endif
|
||||||
|
|
||||||
EXTRA_DIST=ntmain.c
|
EXTRA_DIST=ntmain.c or_sha1.i
|
||||||
|
|
||||||
tor_SOURCES = buffers.c circuitbuild.c circuitlist.c \
|
tor_SOURCES = buffers.c circuitbuild.c circuitlist.c \
|
||||||
circuituse.c command.c config.c \
|
circuituse.c command.c config.c \
|
||||||
@ -52,6 +52,8 @@ test_LDADD = ../common/libor.a ../common/libor-crypto.a \
|
|||||||
|
|
||||||
noinst_HEADERS = or.h eventdns.h eventdns_tor.h micro-revision.i
|
noinst_HEADERS = or.h eventdns.h eventdns_tor.h micro-revision.i
|
||||||
|
|
||||||
|
config.o: or_sha1.i
|
||||||
|
|
||||||
tor_main.o: micro-revision.i
|
tor_main.o: micro-revision.i
|
||||||
|
|
||||||
micro-revision.i: FORCE
|
micro-revision.i: FORCE
|
||||||
@ -103,5 +105,17 @@ micro-revision.i: FORCE
|
|||||||
mv micro-revision.tmp micro-revision.i; \
|
mv micro-revision.tmp micro-revision.i; \
|
||||||
fi; true
|
fi; true
|
||||||
|
|
||||||
|
or_sha1.i: $(tor_SOURCES) test_data.c test.c
|
||||||
|
if test "@SHA1SUM@" != none; then \
|
||||||
|
@SHA1SUM@ $(tor_SOURCES) test_data.c test.c | @SED@ -n 's/^\(.*\)$$/"\1\\n"/p' > or_sha1.i; \
|
||||||
|
elif test "@OPENSSL@" != none; then \
|
||||||
|
@OPENSSL@ sha1 $(tor_SOURCES) test_data.c test.c | @SED@ -n 's/SHA1(\(.*\))= \(.*\)/"\2 \1\\n"/p' > or_sha1.i; \
|
||||||
|
else \
|
||||||
|
rm or_sha1.i; \
|
||||||
|
touch or_sha1.i; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#Dummy target to ensure that micro-revision.i _always_ gets built.
|
#Dummy target to ensure that micro-revision.i _always_ gets built.
|
||||||
FORCE:
|
FORCE:
|
||||||
|
@ -3927,6 +3927,14 @@ options_init_from_torrc(int argc, char **argv)
|
|||||||
printf("Tor version %s.\n",get_version());
|
printf("Tor version %s.\n",get_version());
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
if (argc > 1 && (!strcmp(argv[1],"--digests"))) {
|
||||||
|
printf("Tor version %s.\n",get_version());
|
||||||
|
printf("%s", libor_get_digests());
|
||||||
|
printf("%s", ""
|
||||||
|
#include "or_sha1.i"
|
||||||
|
);
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
/* Go through command-line variables */
|
/* Go through command-line variables */
|
||||||
if (!global_cmdline_options) {
|
if (!global_cmdline_options) {
|
||||||
|
Loading…
Reference in New Issue
Block a user