debian/0000755000000000000000000000000012210112534007155 5ustar debian/changelog0000644000000000000000000001111712210102765011035 0ustar snowdrop (0.02b-12) unstable; urgency=low * Fixed typos in snowdrop.c (fix-typos-in-source.patch). * Moved info from README.Debian-source concerning upstream into debian/watch. -- Simon Kainz Fri, 30 Aug 2013 09:50:40 +0000 snowdrop (0.02b-11) unstable; urgency=low * New maintainer. (Closes: #557585: ITA: snowdrop -- plain text watermarking and watermark recovery) * Push standards to the most recent version 3.9.4 * Fix several typos in man page. * Fix wrong file entry in man page. -- Simon Kainz Wed, 21 Aug 2013 13:01:10 +0200 snowdrop (0.02b-10) unstable; urgency=low * QA upload. * Move VCS to Alioth (collab-maint), update VCS links in debian/control * Make package ready for dpkg 1.16.1 and inject build flags into the build process. * Fix a small syntax error in debian/changelog to make it correctly recognize the new last paragraph. * The debian/ directory is also relicensed to GPL-2+ with OpenSSL linking exception to avoid any possible ambiguity. -- Arno Töll Sat, 01 Oct 2011 00:45:21 +0200 snowdrop (0.02b-9) unstable; urgency=low * QA upload. * Push debhelper compatibility to v8 * Convert package to 3.0 (quilt) format * Move man page to debian/ (thus, leave upstream source directory untouched) * Track changes to upstream source in a quilt patch (use-tls.patch) * Link as needed (-Wl,--as-needed, in link-as-needed.patch) * Push Standards to the most recent version 3.9.2 * Fix "Very minor typo in manpage" fix several typos (Closes: #608868) * Switch debian/copyright to DEP-5 * Use `pkg-config' in Makefile instead of `libgnutls-config'. The latter was obsolete since GnuTLS 2.7.12.1 * Provide future uploaders a hint in `debian/README.Debian-source' to learn about changes in the upstream tarball, as the original file is not ver- sioned -- Arno Töll Thu, 30 Jun 2011 18:29:59 +0200 snowdrop (0.02b-8) unstable; urgency=low * Orphaned the package. * debhelper v7; 3 line rules file -- Joey Hess Tue, 27 May 2008 19:03:11 -0400 snowdrop (0.02b-7) unstable; urgency=low * Add Homepage field. * Current policy. -- Joey Hess Tue, 18 Dec 2007 16:55:28 -0500 snowdrop (0.02b-6) unstable; urgency=low * Add word "stenographic" to description. Closes: #353591 -- Joey Hess Sun, 19 Feb 2006 15:21:21 -0500 snowdrop (0.02b-5) unstable; urgency=low * Updated to gnutls12. Closes: #335770 -- Joey Hess Tue, 25 Oct 2005 18:20:55 -0400 snowdrop (0.02b-4) unstable; urgency=low * Updated to libgnutls11. Closes: #264736 (NB: still linked to libgcrypt7 as well as 11 because of libopencdk8. versioned symbols make this work, I'll rebuild when libopencdk8 is updated.) * Work around temporary breakage in libgnutls-extra-config. * Add -g to CFLAGS. -- Joey Hess Tue, 10 Aug 2004 14:23:34 -0300 snowdrop (0.02b-3) unstable; urgency=low * Fix man page type. Closes: #261403 -- Joey Hess Sun, 25 Jul 2004 18:02:15 -0400 snowdrop (0.02b-2) unstable; urgency=low * Updated to libgnutls7. -- Joey Hess Fri, 16 Jan 2004 12:35:42 -0500 snowdrop (0.02b-1) unstable; urgency=low * New upstream release. * Update copyright file (openssl linking ok). * Still lining with gnutls for now. -- Joey Hess Fri, 21 Nov 2003 12:33:17 -0500 snowdrop (0.0.20020909-5) unstable; urgency=low * Wrote a man page (again, first type was eaten by make clean long ago). -- Joey Hess Fri, 15 Nov 2002 19:37:34 -0500 snowdrop (0.0.20020909-4) unstable; urgency=low * Updates for new gnutls, which requires I call libgnutls-config as well as libgnutls-extra-config to get all the required libs. -- Joey Hess Fri, 15 Nov 2002 13:53:02 -0500 snowdrop (0.0.20020909-3) unstable; urgency=low * Use libgnutls-extra-config. -- Joey Hess Fri, 15 Nov 2002 13:42:20 -0500 snowdrop (0.0.20020909-2) unstable; urgency=low * Explicitly link in -lopencdk. Closes: #161256 -- Joey Hess Thu, 19 Sep 2002 20:59:43 -0400 snowdrop (0.0.20020909-1) unstable; urgency=low * First release. * Fake version number as there is none upstream. * Use gnutls instead of openssl since this is GPL'd. * Add DESTDIR support to Makefile. * Wrote a man page, but had it deleted by upstream's Makefile. Too annoyed to do that again right now. -- Joey Hess Thu, 12 Sep 2002 13:54:40 -0400 debian/snowdrop.10000644000000000000000000000445012205075376011135 0ustar .TH SNOWDROP 1 .SH NAME sd-eng, sd-engf, sd-c \- text watermarking and watermark recovery .SH SYNOPSIS .B sd-eng [\fI-6\fP] \fI-i\fP \fBorigfile\fP \fBnewfile\fP \fB"Recipient"\fP [\fB"Comment"\fB] .P .B sd-eng [\fI-6\fP] \fI-e\fP \fBorigfile\fP \fBnewfile\fP .P .B sd-eng [\fI-6\fP] \fI-l\fP .SH DESCRIPTION snowdrop is a stenographic text watermarking and watermark recovery system. It is composed of three programs: .TP .B sd-eng Watermark normal English text. .TP .B sd-engf Watermark fine quality English text, yielding higher quality output but encoding less information. .TP .B sd-c Watermark C code. .P The three programs operate similarly, with the same parameters and usage. The watermark is encoded in using a number of techniques, such as whitespace reformatting, typo insertation, word substitutions, punctuation changes, and for C code, logic reordering, variable name mangling, etc. .P The watermark is a md5sum, which is retrievable from as little as 5 or 10 lines of the watermarked document. Even large changes to a medium sized document should not obscure the watermark, as it is stored redundantly in multiple independent channels. .P The three usage modes are adding a watermark, checking for the presence of a watermark, and listing the contents of your database of watermarks. Note that to later check a watermark, you must retain a copy of the original, un-watermarked file. .SH OPTIONS .TP .B -i Inject a watermark into a file. You must pass it the original file, the filename to output the watermarked version to, information about who you intend the watermarked file for, and an optional comment. .TP .B -e Extract a watermark from a file. Needs the original file and the new file that you suspect bears the watermark. .TP .B -l Lists the contents of the watermark database. Each of the three programs will have a different list. .TP .B -6 Enable 64 bit watermarking. The default is a weak 32 bit watermark. .SH ENVIRONMENT .TP .B SD_SYNONYMS This variable can be used to point snowdrop at a customized synonyms file. .SH FILES .TP .B ~/.snowdrop/database Database of watermarked files. .SH "SEE ALSO" .TP .B /usr/share/doc/snowdrop/README.gz Explain snowdrop in more depth, its limitations, and how to write additional watermarking modules for other types of files. .SH AUTHOR Michal Zalewski debian/patches/0000755000000000000000000000000012210100702010576 5ustar debian/patches/series0000644000000000000000000000007512210100177012023 0ustar use-tls.patch link-as-needed.patch fix-typos-in-source.patch debian/patches/link-as-needed.patch0000644000000000000000000000155211641436016014423 0ustar Description: Link as needed Author: Arno Töll Last-Update: 2011-06-30 * Makefile: + Add -Wl,--as-needed to LDFLAGS --- a/Makefile +++ b/Makefile @@ -30,6 +30,7 @@ CFLAGS += -ggdb -O2 -fomit-frame-pointer -funroll-loops -fexpensive-optimizations \ -ffast-math -Wall -g +LDFLAGS += -Wl,--as-needed all: modules snowdrop toinstall @@ -56,7 +57,7 @@ echo "[+] Building 'sd-$$i'..." ; \ ADDME="-lmd5"; \ test "$$USEOPENSSL" = "" || ADDME="-DUSE_OPENSSL -DUSE_GNUTLS -lgnutls-extra -lgnutls-openssl $(shell pkg-config --libs --cflags gnutls)" ; \ - $(CC) -DVER=\"$(VER)\" $(CFLAGS) -DTARGETLANG=\"$$i\" snowdrop.c lang-$$i.o -o sd-$$i $$ADDME || exit 1; \ + $(CC) $(LDFLAGS) -DVER=\"$(VER)\" $(CFLAGS) -DTARGETLANG=\"$$i\" snowdrop.c lang-$$i.o -o sd-$$i $$ADDME || exit 1; \ done; \ echo "[*] Main code compiled." debian/patches/fix-typos-in-source.patch0000644000000000000000000000217312210074207015500 0ustar Description: fix typos in snowdrop.c Fixed 2 typos in snowdrop.c . snowdrop (0.02b-12) unstable; urgency=low . * Fixed typos in snowdrop.c * Moved info from README.Debian-source concerning upstream into debian/watch. Author: Simon Kainz --- The information above should follow the Patch Tagging Guidelines, please checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here are templates for supplementary fields that you might want to add: Forwarded: no Last-Update: 2013-08-31 --- snowdrop-0.02b.orig/snowdrop.c +++ snowdrop-0.02b/snowdrop.c @@ -511,9 +511,9 @@ bailout: debug("[+] Constructed an uniform stream of %d bits.\n",bigpos); if (trd) - debug(" Overall retreived : %d bits (%0.02f%%)\n",trd,((float)(trd))*100.0/((float)tots)); + debug(" Overall retrieved : %d bits (%0.02f%%)\n",trd,((float)(trd))*100.0/((float)tots)); else - debug(" Overall retreived : 0 bits (n/a)\n"); + debug(" Overall retrieved : 0 bits (n/a)\n"); if (cap[0]) debug(" Whitespace channel : %d bits (%0.02f%%)\n",rd[0],((float)(rd[0]))*100.0/((float)cap[0])); debian/patches/use-tls.patch0000644000000000000000000000730111603121742013230 0ustar Description: Use GnuTLS instead of OpenSSL Author: Joey Hess , patch creation: Arno Töll Last-Update: 2011-06-30 * snowdrop.c: Add GnuTLS header * lang-eng.c: Add GnuTLS header * Makefile: + Make the Makefile honor $(DESTDIR) + Add GnuTLS build time dependencies + Don't hide CFLAGS from dpkg-buildflags if used [Arno Töll] --- a/snowdrop.c +++ b/snowdrop.c @@ -28,6 +28,9 @@ #include #include #include +#ifdef USE_GNUTLS +#include +#else #ifdef USE_OPENSSL #include #else @@ -37,6 +40,7 @@ #define MD5_Final MD5Final #define MD5_Update MD5Update #endif /* USE_OPENSSL */ +#endif /* USE_GNUTLS */ #include --- a/Makefile +++ b/Makefile @@ -26,9 +26,10 @@ LANG = eng engf c BINROOT = /usr/bin/ +DESTDIR = / -CFLAGS = -ggdb -O9 -fomit-frame-pointer -funroll-loops -fexpensive-optimizations \ - -ffast-math -Wall +CFLAGS += -ggdb -O2 -fomit-frame-pointer -funroll-loops -fexpensive-optimizations \ + -ffast-math -Wall -g all: modules snowdrop toinstall @@ -36,26 +37,26 @@ modules: language.h @echo ; \ echo "[*] Compiling language modules:" ; \ - test -d /usr/include/openssl && USEOPENSSL=1; \ - test -d /usr/local/include/openssl && USEOPENSSL=1; \ - test "$$USEOPENSSL" = "" || echo "[+] Using OpenSSL MD5 modules." ; \ + test -f /usr/include/gnutls/openssl.h && USEOPENSSL=1; \ + test -f /usr/local/include/gnutls/openssl.h && USEOPENSSL=1; \ + test "$$USEOPENSSL" = "" || echo "[+] Using GNU TLS MD5 modules." ; \ test "$$USEOPENSSL" = "" && echo "[+] Trying to use RSA MD5 modules." ; \ for i in $(LANG); do \ echo "[+] Building language module for '$$i'..."; \ - test "$$USEOPENSSL" = "" || ADDME="-DUSE_OPENSSL" ; \ + test "$$USEOPENSSL" = "" || ADDME="-DUSE_OPENSSL -DUSE_GNUTLS" ; \ $(CC) $$ADDME $(CFLAGS) -c lang-$$i.c -o lang-$$i.o || exit 1; \ done; \ echo "[*] Language modules compiled." snowdrop: snowdrop.c language.h @echo "[*] Compiling main code:"; \ - test -d /usr/include/openssl && USEOPENSSL=1; \ - test -d /usr/local/include/openssl && USEOPENSSL=1; \ + test -f /usr/include/gnutls/openssl.h && USEOPENSSL=1; \ + test -f /usr/local/include/gnutls/openssl.h && USEOPENSSL=1; \ for i in $(LANG); do \ echo "[+] Building 'sd-$$i'..." ; \ ADDME="-lmd5"; \ - test "$$USEOPENSSL" = "" || ADDME="-DUSE_OPENSSL -lcrypto" ; \ - $(CC) -DVER=\"$(VER)\" $(CFLAGS) -DTARGETLANG=\"$$i\" snowdrop.c lang-$$i.o -o sd-$$i $$ADDME || exit 1; \ + test "$$USEOPENSSL" = "" || ADDME="-DUSE_OPENSSL -DUSE_GNUTLS -lgnutls-extra -lgnutls-openssl $(shell pkg-config --libs --cflags gnutls)" ; \ + $(CC) -DVER=\"$(VER)\" $(CFLAGS) -DTARGETLANG=\"$$i\" snowdrop.c lang-$$i.o -o sd-$$i $$ADDME || exit 1; \ done; \ echo "[*] Main code compiled." @@ -67,12 +68,12 @@ clean: rm -f sd-* *.o core core.* a.out -install: modules snowdrop - @echo "[*] Installing binaries in $(BINROOT)..." - cp -f sd-* $(BINROOT) +install: + @echo "[*] Installing binaries in $(DESTDIR)$(BINROOT)..." + cp -f sd-* $(DESTDIR)$(BINROOT) @echo "[*] Installing synonyms database..." - @mkdir /usr/share/snowdrop || true - cp synonyms /usr/share/snowdrop/ + @mkdir $(DESTDIR)/usr/share/snowdrop || true + cp synonyms $(DESTDIR)/usr/share/snowdrop/ @echo "[*] Installation complete." publish: clean --- a/lang-eng.c +++ b/lang-eng.c @@ -24,6 +24,9 @@ #include #include +#ifdef USE_GNUTLS +#include +#else #ifdef USE_OPENSSL #include #else @@ -33,6 +36,7 @@ #define MD5_Final MD5Final #define MD5_Update MD5Update #endif /* USE_OPENSSL */ +#endif /* USE_GNUTLS */ #include "language.h" debian/dirs0000644000000000000000000000002211602726035010046 0ustar usr/bin usr/share debian/manpages0000644000000000000000000000002211602732071010675 0ustar debian/snowdrop.1 debian/watch0000644000000000000000000000105212210071177010213 0ustar version=3 # As upstream development stopped long ago, there is no versioned source # tarball available. You can download the most recent source nonetheless # from [1]. This version is, to date, equivalent to Debian's version 0.02b. # The SHA-1 checksum of snowdrop_0.02b.orig.tar.gz (being equivalent to [1]) # is: # # ac1fc5e83b5d56c5b63898f98ea9f9a7969da8b5 snowdrop_0.02b.orig.tar.gz # # Compare with the above checksum to find out, if upstream eventually updated # the original tarball. # # [1] http://lcamtuf.coredump.cx/soft/snowdrop.tgz debian/links0000644000000000000000000000025511602726035010235 0ustar usr/share/man/man1/snowdrop.1 usr/share/man/man1/sd-eng.1 usr/share/man/man1/snowdrop.1 usr/share/man/man1/sd-engf.1 usr/share/man/man1/snowdrop.1 usr/share/man/man1/sd-c.1 debian/docs0000644000000000000000000000005011603120101010015 0ustar README TODO debian/README.Debian-source debian/compat0000644000000000000000000000000211602727356010375 0ustar 8 debian/rules0000755000000000000000000000030011641437651010247 0ustar #!/usr/bin/make -f CFLAGS := $(shell dpkg-buildflags --get CFLAGS) $(shell dpkg-buildflags --get CPPFLAGS) LDFLAGS := $(shell dpkg-buildflags --get LDFLAGS) export CFLAGS LDFLAGS %: dh $@ debian/copyright0000644000000000000000000000302311641443161011120 0ustar Format: http://anonscm.debian.org/viewvc/dep/web/deps/dep5.mdwn?revision=174 Upstream-Name: snowdrop Upstream-Contact: Michal Zalewski Source: http://lcamtuf.coredump.cx/ Files: * Copyright: 2002 by Michal Zalewski License: GPL-2+ with OpenSSL exception This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . As a special exception, this program may be linked with the OpenSSL library, despite that library's more restrictive license. . On Debian systems, the full text of the GNU General Public License version 2 can be found in the file `/usr/share/common-licenses/GPL-2'. Files: debian/* Copyright: Copyright 2002-2008 Joey Hess 2011 Arno Töll License: GPL-2+ with OpenSSL exception This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. . The Debian package is licensed under the same terms as snowdrop itself. debian/control0000644000000000000000000000241012210067402010560 0ustar Source: snowdrop Section: utils Priority: optional Maintainer: Simon Kainz Build-Depends: libgnutls-dev (>> 2.7.12.1), debhelper (>= 8.0), pkg-config Standards-Version: 3.9.4 VCS-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/snowdrop.git;a=summary VCS-Git: git://anonscm.debian.org/collab-maint/snowdrop.git Homepage: http://lcamtuf.coredump.cx/ Package: snowdrop Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: plain text watermarking and watermark recovery Snowdrop provides reliable, difficult to remove stenographic watermarking of text documents (internal memos, draft research papers, advisories and other writing) and C sources (limited distribution software, licensed software, or freely available code) so that: (1) leaks can be identified if the data goes public (2) original source can be determined and demonstrated if part of the document is claimed by somebody else, copied without permission, etc Snowdrop uses redundant steganography using four different logical channels, and should be proof to many modifications, including reformatting, spell checking and so on. . Warning: Snowdrop is currently in beta, and may produce bad or corrupted results, especially when run on C source code. debian/source/0000755000000000000000000000000011602727615010475 5ustar debian/source/format0000644000000000000000000000001411602727615011703 0ustar 3.0 (quilt) debian/README.Debian-source0000644000000000000000000000241212210070457012522 0ustar snowdrop (0.02b-12) unstable; urgency=low As upstream development stopped long ago, there is no versioned source tarball available. You can download the most recent source nonetheless from [1]. This version is, to date, equivalent to Debian's version 0.02b. The SHA-1 checksum of snowdrop_0.02b.orig.tar.gz (being equivalent to [1]) is: ac1fc5e83b5d56c5b63898f98ea9f9a7969da8b5 snowdrop_0.02b.orig.tar.gz Compare with the above checksum to find out, if upstream eventually updated the original tarball. [1] http://lcamtuf.coredump.cx/soft/snowdrop.tgz -- Simon Kainz Fri, 30 Aug 2013 09:50:40 +0000 snowdrop (0.02b-9) unstable; urgency=low As upstream development stopped long ago, there is no versioned source tarball available. You can download the most recent source nonetheless from [1]. This version is, to date, equivalent to Debian's version 0.02b. The SHA-1 checksum of snowdrop_0.02b.orig.tar.gz (being equivalent to [1]) is: ac1fc5e83b5d56c5b63898f98ea9f9a7969da8b5 snowdrop_0.02b.orig.tar.gz Compare with the above checksum to find out, if upstream eventually updated the original tarball. [1] http://lcamtuf.coredump.cx/soft/snowdrop.tgz -- Arno Töll Thu, 30 Jun 2011 17:58:02 +0200