Skip to content

Commit

Permalink
Tarsnap 1.0.24
Browse files Browse the repository at this point in the history
**WARNING**: a critical bug affects version 1.0.22 through 1.0.27
http://www.daemonology.net/blog/2011-01-18-tarsnap-critical-security-bug.html

Changes since 1.0.23:
* Build process reorganization: Code shared between the tarsnap client
  code and the tarsnap-keygen and tarsnap-keymgmt utilities is built
  into a library and then accessed from there instead of being compiled
  multiple times.
* The autoconf version of Tarsnap (above) should now be used on all
  supported platforms, including FreeBSD; there is no longer a "native"
  FreeBSD source tarball.
* Source code reorganization: Several source files added in version
  1.0.22 have been moved in order to make it easier to keep it in sync
  with scrypt source code.
* Updated to use libarchive 2.7.0: This brings improved UTF8 / Unicode
  and extended attribute support, along with minor bug fixes.
  • Loading branch information
cperciva authored and gperciva committed Jun 24, 2009
1 parent 5254120 commit 2df1e13
Show file tree
Hide file tree
Showing 109 changed files with 12,276 additions and 3,764 deletions.
291 changes: 133 additions & 158 deletions Makefile.am
Original file line number Diff line number Diff line change
@@ -1,25 +1,19 @@
## Process this file with automake to produce Makefile.in

AUTOMAKE_OPTIONS = foreign subdir-objects
AUTOMAKE_OPTIONS= foreign subdir-objects

BUILT_SOURCES = tar/tarsnap.1 tar/tarsnap.conf.5

distclean-local:
-rm -f tar/getdate.c tar/getdate.h
-rm -f libarchive/test/list.h
-rm -rf autom4te.cache/
-rm -f *~

noinst_LIBRARIES= libarchive.a
#
# What to build and install
#
noinst_LIBRARIES= libarchive/libarchive.a lib/libtarsnap.a
bin_PROGRAMS= tarsnap tarsnap-keygen tarsnap-keymgmt
dist_man_MANS=$(tarsnap_dist_man_MANS) $(tarsnap_keygen_dist_man_MANS) $(tarsnap_keymgmt_dist_man_MANS)

#
# Libarchive headers, source, etc.
#
#

libarchive_a_SOURCES= \
libarchive_libarchive_a_SOURCES= \
libarchive/archive_check_magic.c \
libarchive/archive_endian.h \
libarchive/archive_entry.c \
Expand All @@ -33,6 +27,10 @@ libarchive_a_SOURCES= \
libarchive/archive_private.h \
libarchive/archive_read.c \
libarchive/archive_read_data_into_fd.c \
libarchive/archive_read_disk.c \
libarchive/archive_read_disk_entry_from_file.c \
libarchive/archive_read_disk_private.h \
libarchive/archive_read_disk_set_standard_lookup.c \
libarchive/archive_read_extract.c \
libarchive/archive_read_open_fd.c \
libarchive/archive_read_open_file.c \
Expand All @@ -45,6 +43,7 @@ libarchive_a_SOURCES= \
libarchive/archive_read_support_compression_gzip.c \
libarchive/archive_read_support_compression_none.c \
libarchive/archive_read_support_compression_program.c \
libarchive/archive_read_support_compression_xz.c \
libarchive/archive_read_support_format_all.c \
libarchive/archive_read_support_format_ar.c \
libarchive/archive_read_support_format_cpio.c \
Expand Down Expand Up @@ -72,11 +71,13 @@ libarchive_a_SOURCES= \
libarchive/archive_write_set_compression_gzip.c \
libarchive/archive_write_set_compression_none.c \
libarchive/archive_write_set_compression_program.c \
libarchive/archive_write_set_compression_xz.c \
libarchive/archive_write_set_format.c \
libarchive/archive_write_set_format_ar.c \
libarchive/archive_write_set_format_by_name.c \
libarchive/archive_write_set_format_cpio.c \
libarchive/archive_write_set_format_cpio_newc.c \
libarchive/archive_write_set_format_mtree.c \
libarchive/archive_write_set_format_pax.c \
libarchive/archive_write_set_format_shar.c \
libarchive/archive_write_set_format_ustar.c \
Expand All @@ -85,30 +86,101 @@ libarchive_a_SOURCES= \
libarchive/filter_fork.c \
libarchive/filter_fork.h

# archive.h ends up in the build directory, so make sure we can find it.
libarchive_a_CFLAGS= \
-I$(top_builddir)/libarchive
if INC_WINDOWS_FILES
libarchive_libarchive_a_SOURCES+= \
libarchive/archive_windows.h \
libarchive/archive_windows.c \
libarchive/filter_fork_windows.c
endif

libarchive_libarchive_a_CFLAGS=-I $(top_builddir)/libarchive

#
# Tarsnap internal library code
#
#
lib_libtarsnap_a_SOURCES= \
lib/crypto/crypto_aesctr.c \
lib/crypto/crypto_dh.c \
lib/crypto/crypto_dh_group14.c \
lib/crypto/crypto_entropy.c \
lib/crypto/crypto_file.c \
lib/crypto/crypto_hash.c \
lib/crypto/crypto_keys.c \
lib/crypto/crypto_keys_server.c \
lib/crypto/crypto_keys_subr.c \
lib/crypto/crypto_passwd_to_dh.c \
lib/crypto/crypto_rsa.c \
lib/crypto/crypto_scrypt-@SCRYPTVER@.c \
lib/crypto/crypto_session.c \
lib/crypto/crypto_verify_bytes.c \
lib/crypto/sha256.c \
lib/datastruct/patricia.c \
lib/datastruct/rwhashtab.c \
lib/keyfile/keyfile.c \
lib/netpacket/netpacket_delete.c \
lib/netpacket/netpacket_directory.c \
lib/netpacket/netpacket_hmac.c \
lib/netpacket/netpacket_op.c \
lib/netpacket/netpacket_read.c \
lib/netpacket/netpacket_register.c \
lib/netpacket/netpacket_transaction.c \
lib/netpacket/netpacket_write.c \
lib/netproto/netproto.c \
lib/netproto/netproto_connect.c \
lib/netproto/netproto_keyexchange.c \
lib/netproto/netproto_packet.c \
lib/network/network_buf.c \
lib/network/network_connect.c \
lib/network/network_cork.c \
lib/network/network_select.c \
lib/network/network_writeq.c \
lib/scryptenc/scryptenc.c \
lib/scryptenc/scryptenc_cpuperf.c \
lib/util/asprintf.c \
lib/util/b64encode.c \
lib/util/dirutil.c \
lib/util/entropy.c \
lib/util/hexify.c \
lib/util/hexlink.c \
lib/util/humansize.c \
lib/util/memlimit.c \
lib/util/readpass.c \
lib/util/sigquit.c \
lib/util/warnp.c

lib_libtarsnap_a_CFLAGS= \
-I$(top_builddir)/tar \
-I$(top_builddir)/libarchive \
-I${top_builddir}/lib/crypto \
-I$(top_builddir)/lib/datastruct \
-I$(top_builddir)/lib/keyfile \
-I$(top_builddir)/lib/netpacket \
-I$(top_builddir)/lib/netproto \
-I$(top_builddir)/lib/network \
-I$(top_builddir)/lib/scryptenc \
-I$(top_builddir)/lib/util

#
#
# tarsnap source, docs, etc.
#
#

tarsnap_SOURCES= \
tar/bsdtar.c \
tar/bsdtar.h \
tar/bsdtar_platform.h \
tar/cmdline.c \
tar/getdate.c \
tar/matching.c \
tar/read.c \
tar/siginfo.c \
tar/subst.c \
tar/tree.c \
tar/tree.h \
tar/util.c \
tar/write.c \
tarsnap_SOURCES= \
tar/bsdtar.c \
tar/bsdtar.h \
tar/bsdtar_platform.h \
tar/cmdline.c \
tar/getdate.c \
tar/matching.c \
tar/read.c \
tar/siginfo.c \
tar/subst.c \
tar/tree.c \
tar/tree.h \
tar/util.c \
tar/write.c \
tar/glue/archive_multitape.c \
tar/glue/tape.c \
tar/ccache/ccache_entry.c \
Expand Down Expand Up @@ -136,133 +208,62 @@ tarsnap_SOURCES= \
tar/storage/storage_read.c \
tar/storage/storage_delete.c \
tar/storage/storage_directory.c \
tar/storage/storage_transaction.c \
lib/netpacket/netpacket_transaction.c \
lib/netpacket/netpacket_write.c \
lib/netpacket/netpacket_read.c \
lib/netpacket/netpacket_delete.c \
lib/netpacket/netpacket_directory.c \
lib/netpacket/netpacket_hmac.c \
lib/netpacket/netpacket_op.c \
lib/netproto/netproto_connect.c \
lib/netproto/netproto.c \
lib/netproto/netproto_keyexchange.c \
lib/netproto/netproto_packet.c \
lib/network/network_select.c \
lib/network/network_connect.c \
lib/network/network_buf.c \
lib/network/network_writeq.c \
lib/network/network_cork.c \
lib/datastruct/patricia.c \
lib/datastruct/rwhashtab.c \
lib/crypto/sha256.c \
lib/crypto/crypto_entropy.c \
lib/crypto/crypto_hash.c \
lib/crypto/crypto_keys.c \
lib/crypto/crypto_keys_subr.c \
lib/crypto/crypto_session.c \
lib/crypto/crypto_file.c \
lib/crypto/crypto_aesctr.c \
lib/crypto/crypto_rsa.c \
lib/crypto/crypto_dh.c \
lib/crypto/crypto_verify_bytes.c \
lib/crypto/crypto_keys_server.c \
lib/crypto/crypto_dh_group14.c \
lib/crypto/crypto_keyfile.c \
lib/crypto/scryptenc.c \
lib/crypto/scrypt_cpuperf.c \
lib/crypto/scrypt-@SCRYPTVER@.c \
lib/util/asprintf.c \
lib/util/b64encode.c \
lib/util/dirutil.c \
lib/util/entropy.c \
lib/util/hexify.c \
lib/util/hexlink.c \
lib/util/humansize.c \
lib/util/memlimit.c \
lib/util/readpass.c \
lib/util/sigquit.c \
lib/util/warnp.c
tar/storage/storage_transaction.c

tarsnap_DEPENDENCIES = libarchive.a \
if INC_WINDOWS_FILES
tarsnap_SOURCES+= \
tar/bsdtar_windows.h \
tar/bsdtar_windows.c
endif
if INC_CYGWIN_FILES
tarsnap_SOURCES+= \
tar/bsdtar_cygwin.h \
tar/bsdtar_cygwin.c
endif

tarsnap_DEPENDENCIES = libarchive/libarchive.a \
libarchive/archive_entry.h \
libarchive/archive.h
libarchive/archive.h \
lib/libtarsnap.a

tarsnap_LDADD= -lcrypto libarchive.a
tarsnap_LDADD= -lcrypto libarchive/libarchive.a lib/libtarsnap.a
tarsnap_CFLAGS= \
-I$(top_builddir)/libarchive \
-DLIBARCHIVE_STATIC \
-I$(top_builddir)/tar \
-I$(top_builddir)/tar/glue \
-I$(top_builddir)/tar/ccache \
-I$(top_builddir)/tar/multitape \
-I$(top_builddir)/tar/chunks \
-I$(top_builddir)/tar/glue \
-I$(top_builddir)/tar/multitape \
-I$(top_builddir)/tar/storage \
-I${top_builddir}/lib/crypto \
-I$(top_builddir)/lib/datastruct \
-I$(top_builddir)/lib/keyfile \
-I$(top_builddir)/lib/netpacket \
-I$(top_builddir)/lib/netproto \
-I$(top_builddir)/lib/network \
-I$(top_builddir)/lib/datastruct \
-I${top_builddir}/lib/crypto \
-I$(top_builddir)/lib/util \
-DETC_TARSNAP_CONF=\"${sysconfdir}/tarsnap.conf\" \
-DUSERAGENT=\"tarsnap-${VERSION}\"

tarsnap_dist_man_MANS= tar/tarsnap.1 tar/tarsnap.conf.5

#
#
# tarsnap-keygen source, docs, etc.
#
#

tarsnap_keygen_SOURCES= \
keygen/keygen.c \
lib/netpacket/netpacket_register.c \
lib/netpacket/netpacket_op.c \
lib/netproto/netproto_connect.c \
lib/netproto/netproto.c \
lib/netproto/netproto_keyexchange.c \
lib/netproto/netproto_packet.c \
lib/network/network_select.c \
lib/network/network_connect.c \
lib/network/network_buf.c \
lib/network/network_writeq.c \
lib/network/network_cork.c \
lib/datastruct/rwhashtab.c \
lib/crypto/sha256.c \
lib/crypto/crypto_entropy.c \
lib/crypto/crypto_hash.c \
lib/crypto/crypto_keys.c \
lib/crypto/crypto_keys_subr.c \
lib/crypto/crypto_session.c \
lib/crypto/crypto_file.c \
lib/crypto/crypto_aesctr.c \
lib/crypto/crypto_rsa.c \
lib/crypto/crypto_passwd_to_dh.c \
lib/crypto/crypto_dh.c \
lib/crypto/crypto_verify_bytes.c \
lib/crypto/crypto_keys_server.c \
lib/crypto/crypto_dh_group14.c \
lib/crypto/crypto_keyfile.c \
lib/crypto/scryptenc.c \
lib/crypto/scrypt_cpuperf.c \
lib/crypto/scrypt-@SCRYPTVER@.c \
lib/util/asprintf.c \
lib/util/b64encode.c \
lib/util/entropy.c \
lib/util/humansize.c \
lib/util/memlimit.c \
lib/util/readpass.c \
lib/util/warnp.c
tarsnap_keygen_SOURCES= keygen/keygen.c

tarsnap_keygen_LDADD= -lcrypto
tarsnap_keygen_LDADD= -lcrypto lib/libtarsnap.a
tarsnap_keygen_CFLAGS= \
-I$(top_builddir)/tar \
-I${top_builddir}/libarchive \
-I$(top_builddir)/tar \
-I${top_builddir}/lib/crypto \
-I$(top_builddir)/lib/datastruct \
-I$(top_builddir)/lib/keyfile \
-I$(top_builddir)/lib/netpacket \
-I$(top_builddir)/lib/netproto \
-I$(top_builddir)/lib/network \
-I$(top_builddir)/lib/datastruct \
-I${top_builddir}/lib/crypto \
-I$(top_builddir)/lib/util \
-DUSERAGENT=\"tarsnap-keygen-${VERSION}\"

Expand All @@ -274,41 +275,15 @@ tarsnap_keygen_dist_man_MANS= keygen/tarsnap-keygen.1
#
#

tarsnap_keymgmt_SOURCES= \
keymgmt/keymgmt.c \
lib/datastruct/rwhashtab.c \
lib/crypto/sha256.c \
lib/crypto/crypto_entropy.c \
lib/crypto/crypto_hash.c \
lib/crypto/crypto_keys.c \
lib/crypto/crypto_keys_subr.c \
lib/crypto/crypto_session.c \
lib/crypto/crypto_file.c \
lib/crypto/crypto_aesctr.c \
lib/crypto/crypto_rsa.c \
lib/crypto/crypto_passwd_to_dh.c \
lib/crypto/crypto_dh.c \
lib/crypto/crypto_verify_bytes.c \
lib/crypto/crypto_keys_server.c \
lib/crypto/crypto_dh_group14.c \
lib/crypto/crypto_keyfile.c \
lib/crypto/scryptenc.c \
lib/crypto/scrypt_cpuperf.c \
lib/crypto/scrypt-@SCRYPTVER@.c \
lib/util/asprintf.c \
lib/util/b64encode.c \
lib/util/entropy.c \
lib/util/humansize.c \
lib/util/memlimit.c \
lib/util/readpass.c \
lib/util/warnp.c
tarsnap_keymgmt_SOURCES= keymgmt/keymgmt.c

tarsnap_keymgmt_LDADD= -lcrypto
tarsnap_keymgmt_LDADD= -lcrypto lib/libtarsnap.a
tarsnap_keymgmt_CFLAGS= \
-I$(top_builddir)/tar \
-I${top_builddir}/libarchive \
-I$(top_builddir)/lib/datastruct \
-I${top_builddir}/lib/crypto \
-I$(top_builddir)/lib/datastruct \
-I${top_builddir}/lib/keyfile \
-I$(top_builddir)/lib/util \
-DUSERAGENT=\"tarsnap-keygen-${VERSION}\"

Expand Down

0 comments on commit 2df1e13

Please sign in to comment.