Initial commit
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..190c56d
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+PortIndex*
+.DS*
diff --git a/net/ccnx/Portfile b/net/ccnx/Portfile
new file mode 100644
index 0000000..a6412eb
--- /dev/null
+++ b/net/ccnx/Portfile
@@ -0,0 +1,88 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+# $Id$
+
+PortSystem  1.0
+name        ccnx
+version     0.6.1rc1
+revision    1
+epoch       1
+categories  net
+platforms   darwin
+license     GPL LGPL
+maintainers ucla.edu:alexander.afanasyev
+description ProjectCCNx implementation of Content Centric Networking (CCN) / \
+            Named Data Networking (NDN) architecture
+long_description Project CCNx® exists to develop, promote, and evaluate a new \
+            approach to communication architecture we call content-centric \
+            networking.  We seek to carry out this mission by creating and \
+            publishing open protocol specifications and an open source \
+            software reference implementation of those protocols.  We provide \
+            support for a community of people interested in experimentation, \
+            research, and building applications with this technology, all \
+            contributing to its evolution. 
+homepage    http://www.ccnx.org/
+master_sites http://www.ccnx.org/releases/
+checksums   rmd160 9c8eb49aa8d2edfe5eb873312f6273ca469255a4 \
+            sha256 7ac8f2ac3b6bcda85e9b4df34c025f68d576d98dcadf16eea2ed1c3dcee4d557
+
+# use_parallel_build  yes
+
+depends_lib port:openssl \
+            port:expat \
+            port:libpcap \
+            port:libxml2
+
+# default_variants   +java
+
+configure.env-append OPENSSL_CFLAGS=-I${prefix}/include
+configure.env-append OPENSSL_LIBS=-L${prefix}/lib
+configure.env-append INSTALL_BASE=${prefix}
+configure.cflags-append -DCCNX_DIR=\\\"${prefix}/etc/ccnx\\\"
+
+pre-build {
+    reinplace "s|\$HOME/.ccnx/|${prefix}/etc/ccnx/|g" ${worksrcpath}/csrc/util/ccndstart.sh 
+}
+
+build.env-append OPENSSL_CFLAGS=-I${prefix}/include
+build.env-append OPENSSL_LIBS=-L${prefix}/lib
+build.env-append INSTALL_BASE=${destroot}${prefix}
+build.env-append CCNX_DIR=${destroot}${prefix}/etc/ccnx
+
+destroot.env-append INSTALL_BASE=${destroot}${prefix}
+destroot.env-append CCNX_DIR=${destroot}${prefix}/etc/ccnx
+
+patchfiles    patch-test.diff
+# patchfiles  patch-csrc-lib-dir.mk.diff \
+#             patch-Makefile.diff \
+#             patch-csrc-lib-ccn_client.c.diff \
+#             patch-csrc-configure.diff \
+#             patch-csrc-lib-encodedecodetest.c.diff
+
+startupitem.pidfile     none
+startupitem.start       "${prefix}/bin/ccndstart"
+startupitem.stop        "${prefix}/bin/ccndstop"
+startupitem.restart     "${prefix}/bin/ccndstop && ${prefix}/bin/ccndstart"
+
+startupitem.create      yes
+startupitem.name        ccnx
+
+startupitem.netchange   yes
+startupitem.logevents   yes
+startupitem.logfile     ${prefix}/var/log/ccnx.log
+
+notes "
+In order repo to work, you need to add the following lines at the end of your \[~/.bash_profile\]:
+
+  export CCNR_DIRECTORY=${prefix}/etc/ccnx/repo
+
+To configure environment variables for ccnd, edit your \[${prefix}/etc/ccnx/ccndrc\]. For example,
+  
+  CCND_LOG=${prefix}/var/log/ccnd.log
+  CCND_DEBUG=16
+
+To add static FIB entries, edit your \[${prefix}/etc/ccnx/ccnd.conf\]. For example,
+
+  add ccnx:/ccnx.org udp 224.0.23.170 59695
+
+For more information and documentation, refer to man pages and http://www.ccnx.org website.
+"
diff --git a/net/ccnx/files/patch-Makefile.diff b/net/ccnx/files/patch-Makefile.diff
new file mode 100644
index 0000000..e07a908
--- /dev/null
+++ b/net/ccnx/files/patch-Makefile.diff
@@ -0,0 +1,13 @@
+diff --git Makefile Makefile
+index 2748ac8..34b67af 100644
+--- Makefile
++++ Makefile
+@@ -13,7 +13,7 @@
+ #
+ 
+ # Subdirectories we build in
+-TOPSUBDIRS = doc/manpages doc/technical csrc schema javasrc apps `cat local.subdirs 2>/dev/null || :`
++TOPSUBDIRS = doc/manpages doc/technical csrc schema `cat local.subdirs 2>/dev/null || :`
+ # Packing list for packaging
+ PACKLIST = Makefile README LICENSE NEWS NOTICES configure doc/index.txt $(TOPSUBDIRS) android experiments
+ BLDMSG = printf '=== %s ' 'Building $@ in' && pwd
diff --git a/net/ccnx/files/patch-csrc-configure.diff b/net/ccnx/files/patch-csrc-configure.diff
new file mode 100644
index 0000000..88bf145
--- /dev/null
+++ b/net/ccnx/files/patch-csrc-configure.diff
@@ -0,0 +1,13 @@
+diff --git csrc/configure csrc/configure
+index 962d76a..43ec3ea 100755
+--- csrc/configure
++++ csrc/configure
+@@ -39,7 +39,7 @@ TryAppend "`uname -sr | sed -e 's/ /-/g'`"
+ TryAppend "local"
+ TryScript "`uname`" "$@"
+ TryScript "local" "$@"
+-ProvideDefault CPREFLAGS = -I../include
++ProvideDefault CPREFLAGS = -I../include ${CFLAGS:-}
+ ProvideDefault PCAP_PROGRAMS = ccndumppcap
+ ProvideDefault RESOLV_LIBS = -lresolv
+ ProvideDefault INSTALL_BASE = ${INSTALL_BASE:-/usr/local}
diff --git a/net/ccnx/files/patch-csrc-lib-ccn_client.c.diff b/net/ccnx/files/patch-csrc-lib-ccn_client.c.diff
new file mode 100644
index 0000000..7ca9b07
--- /dev/null
+++ b/net/ccnx/files/patch-csrc-lib-ccn_client.c.diff
@@ -0,0 +1,87 @@
+diff --git csrc/lib/ccn_client.c csrc/lib/ccn_client.c
+index 606fd36..2642e0c 100644
+--- csrc/lib/ccn_client.c
++++ csrc/lib/ccn_client.c
+@@ -2435,6 +2435,7 @@ ccn_load_private_key(struct ccn *h,
+         res = NOTE_ERRNO(h);
+         goto Cleanup;
+     }
++    printf (">>> load_private_key: [%s]\n", keystore_path);
+     res = ccn_keystore_init(keystore,
+                            (char *)keystore_path,
+                            (char *)keystore_passphrase);
+@@ -2487,6 +2488,7 @@ ccn_load_default_key(struct ccn *h,
+     if (h->default_pubid != NULL)
+         return(NOTE_ERR(h, EINVAL));
+     default_pubid = ccn_charbuf_create();
++    printf ("Tring to open keystore [%s]\n", keystore_path);
+     res = ccn_load_private_key(h,
+                                keystore_path,
+                                keystore_passphrase,
+@@ -2607,23 +2609,55 @@ ccn_chk_signing_params(struct ccn *h,
+             temp = ccn_charbuf_create();
+             if (default_pubid == NULL || temp == NULL)
+                 return(NOTE_ERRNO(h));
+-            ccnx_dir = getenv("CCNX_DIR");
+-            if (ccnx_dir == NULL || ccnx_dir[0] == 0) {
+-                home = getenv("HOME");
+-                if (home == NULL)
+-                    home = "";
+-                ccn_charbuf_putf(temp, "%s/.ccnx/.ccnx_keystore", home);
++
++            res = -1;
++#ifdef CCNX_DIR
++            if (res < 0 || default_pubid->length != sizeof(result->pubid)) {
++              // check preconfigured directory
++              ccnx_dir = CCNX_DIR;
++              if (ccnx_dir != NULL && ccnx_dir[0] != 0) {
++                ccn_charbuf_putf(temp, "%s/.ccnx_keystore", ccnx_dir);
++
++                res = ccn_load_private_key(h,
++                                           ccn_charbuf_as_string(temp),
++                                           "Th1s1sn0t8g00dp8ssw0rd.",
++                                           default_pubid);
++              }
+             }
+-            else
++#endif
++            
++            if (res < 0 || default_pubid->length != sizeof(result->pubid)) {
++              // check CCNX_DIR
++              ccnx_dir = getenv("CCNX_DIR");
++              if (ccnx_dir != NULL && ccnx_dir[0] != 0) {
+                 ccn_charbuf_putf(temp, "%s/.ccnx_keystore", ccnx_dir);
+-            res = ccn_load_private_key(h,
+-                                       ccn_charbuf_as_string(temp),
+-                                       "Th1s1sn0t8g00dp8ssw0rd.",
+-                                       default_pubid);
++
++                res = ccn_load_private_key(h,
++                                           ccn_charbuf_as_string(temp),
++                                           "Th1s1sn0t8g00dp8ssw0rd.",
++                                           default_pubid);
++              }
++            }
++            
++            if (res < 0 || default_pubid->length != sizeof(result->pubid)) {
++              // check HOME
++              home = getenv("HOME");
++              if (home != NULL) {
++                ccn_charbuf_putf(temp, "%s/.ccnx/.ccnx_keystore", home);
++                res = ccn_load_private_key(h,
++                                           ccn_charbuf_as_string(temp),
++                                           "Th1s1sn0t8g00dp8ssw0rd.",
++                                           default_pubid);
++              }
++            }
++            
+             if (res == 0 && default_pubid->length == sizeof(result->pubid)) {
+                 h->default_pubid = default_pubid;
+                 default_pubid = NULL;
+             }
++            else {
++              ccn_perror(h, ccn_charbuf_as_string(temp));
++            }
+         }
+         if (h->default_pubid == NULL)
+             res = NOTE_ERRNO(h);
diff --git a/net/ccnx/files/patch-csrc-lib-dir.mk.diff b/net/ccnx/files/patch-csrc-lib-dir.mk.diff
new file mode 100644
index 0000000..1657539
--- /dev/null
+++ b/net/ccnx/files/patch-csrc-lib-dir.mk.diff
@@ -0,0 +1,57 @@
+diff --git csrc/lib/dir.mk csrc/lib/dir.mk
+index 6489299..145eec7 100644
+--- csrc/lib/dir.mk
++++ csrc/lib/dir.mk
+@@ -78,7 +78,7 @@ shlib: $(SHLIBNAME)
+ lib: libccn.a
+ 
+ test: default keystore_check encodedecodetest ccnbtreetest
+-	./encodedecodetest -o /dev/null
++	./encodedecodetest -k $(CCNX_DIR)/.ccnx_keystore -o /dev/null
+ 	./ccnbtreetest
+ 	./ccnbtreetest - < q.dat
+ 	rm -R _bt_*
+@@ -87,12 +87,12 @@ dtag_check: _always
+ 	@./gen_dtag_table 2>/dev/null | diff - ccn_dtag_table.c | grep '^[<]' >/dev/null && echo '*** Warning: ccn_dtag_table.c may be out of sync with tagnames.cvsdict' || :
+ 
+ keystore_check: ccn_initkeystore.sh
+-	test -f "$$HOME/.ccnx/.ccnx_keystore" || $(MAKE) -f dir.mk new_keystore
++	test -f "$(CCNX_DIR)/.ccnx_keystore" || $(MAKE) -f dir.mk new_keystore
+ 
+ new_keystore:
+ 	@echo === CCNx Keystore not found in your home directory
+ 	@echo === I will create one for you now '(^C to abort)'
+-	sleep 1 && sh ccn_initkeystore.sh && sleep 3 && mv .ccnx "$$HOME"
++	sleep 1 && sh ccn_initkeystore.sh && sleep 3 && mkdir -p "$(CCNX_DIR)/" && mv .ccnx/.ccnx_keystore "$(CCNX_DIR)/"
+ 
+ libccn.a: $(LIB_OBJS)
+ 	ar crus $@ $(LIB_OBJS)
+@@ -113,7 +113,7 @@ skel_decode_test: skel_decode_test.o
+ basicparsetest: basicparsetest.o libccn.a
+ 	$(CC) $(CFLAGS) -o $@ basicparsetest.o $(LDLIBS) $(OPENSSL_LIBS) -lcrypto
+ 
+-encodedecodetest: encodedecodetest.o
++encodedecodetest: encodedecodetest.o libccn.a
+ 	$(CC) $(CFLAGS) -o $@ encodedecodetest.o $(LDLIBS) $(OPENSSL_LIBS) -lcrypto
+ 
+ ccn_digest.o:
+@@ -149,16 +149,16 @@ ccn_fetch.o:
+ ccn_verifysig.o:
+ 	$(CC) $(CFLAGS) $(OPENSSL_CFLAGS) -c ccn_verifysig.c
+ 
+-ccn_verifysig: ccn_verifysig.o
++ccn_verifysig: ccn_verifysig.o libccn.a
+ 	$(CC) $(CFLAGS) -o $@ ccn_verifysig.o $(LDLIBS) $(OPENSSL_LIBS) -lcrypto
+ 
+ signbenchtest.o:
+ 	$(CC) $(CFLAGS) $(OPENSSL_CFLAGS) -c signbenchtest.c
+ 
+-signbenchtest: signbenchtest.o
++signbenchtest: signbenchtest.o libccn.a
+ 	$(CC) $(CFLAGS) -o $@ signbenchtest.o $(LDLIBS) $(OPENSSL_LIBS) -lcrypto 
+ 
+-ccndumppcap: ccndumppcap.o
++ccndumppcap: ccndumppcap.o libccn.a
+ 	$(CC) $(CFLAGS) -o $@ ccndumppcap.o $(LDLIBS) $(OPENSSL_LIBS) -lcrypto -lpcap
+ 
+ ccnbtreetest.o:
diff --git a/net/ccnx/files/patch-csrc-lib-encodedecodetest.c.diff b/net/ccnx/files/patch-csrc-lib-encodedecodetest.c.diff
new file mode 100644
index 0000000..e0b7720
--- /dev/null
+++ b/net/ccnx/files/patch-csrc-lib-encodedecodetest.c.diff
@@ -0,0 +1,12 @@
+diff --git csrc/lib/encodedecodetest.c csrc/lib/encodedecodetest.c
+index be6a853..21b288b 100644
+--- csrc/lib/encodedecodetest.c
++++ csrc/lib/encodedecodetest.c
+@@ -241,6 +241,7 @@ main (int argc, char *argv[]) {
+         strcat(keystore_name, keystore_suffix);
+     }
+ 
++    printf ("\nWTF %s\n\n", keystore_name);
+     if (0 != ccn_keystore_init(keystore, keystore_name, "Th1s1sn0t8g00dp8ssw0rd.")) {
+         printf("Failed to initialize keystore\n");
+         exit(1);
diff --git a/net/ccnx/files/patch-test.diff b/net/ccnx/files/patch-test.diff
new file mode 100644
index 0000000..5b1a91d
--- /dev/null
+++ b/net/ccnx/files/patch-test.diff
@@ -0,0 +1,218 @@
+diff --git Makefile Makefile
+index 2748ac8..34b67af 100644
+--- Makefile
++++ Makefile
+@@ -13,7 +13,7 @@
+ #
+ 
+ # Subdirectories we build in
+-TOPSUBDIRS = doc/manpages doc/technical csrc schema javasrc apps `cat local.subdirs 2>/dev/null || :`
++TOPSUBDIRS = doc/manpages doc/technical csrc schema `cat local.subdirs 2>/dev/null || :`
+ # Packing list for packaging
+ PACKLIST = Makefile README LICENSE NEWS NOTICES configure doc/index.txt $(TOPSUBDIRS) android experiments
+ BLDMSG = printf '=== %s ' 'Building $@ in' && pwd
+diff --git csrc/configure csrc/configure
+index 962d76a..43ec3ea 100755
+--- csrc/configure
++++ csrc/configure
+@@ -39,7 +39,7 @@ TryAppend "`uname -sr | sed -e 's/ /-/g'`"
+ TryAppend "local"
+ TryScript "`uname`" "$@"
+ TryScript "local" "$@"
+-ProvideDefault CPREFLAGS = -I../include
++ProvideDefault CPREFLAGS = -I../include ${CFLAGS:-}
+ ProvideDefault PCAP_PROGRAMS = ccndumppcap
+ ProvideDefault RESOLV_LIBS = -lresolv
+ ProvideDefault INSTALL_BASE = ${INSTALL_BASE:-/usr/local}
+diff --git csrc/lib/ccn_client.c csrc/lib/ccn_client.c
+index 606fd36..9b3760c 100644
+--- csrc/lib/ccn_client.c
++++ csrc/lib/ccn_client.c
+@@ -2435,6 +2435,7 @@ ccn_load_private_key(struct ccn *h,
+         res = NOTE_ERRNO(h);
+         goto Cleanup;
+     }
++    fprintf (stderr, ">>> load_private_key: [%s]\n", keystore_path);
+     res = ccn_keystore_init(keystore,
+                            (char *)keystore_path,
+                            (char *)keystore_passphrase);
+@@ -2487,6 +2488,7 @@ ccn_load_default_key(struct ccn *h,
+     if (h->default_pubid != NULL)
+         return(NOTE_ERR(h, EINVAL));
+     default_pubid = ccn_charbuf_create();
++    printf ("Tring to open keystore [%s]\n", keystore_path);
+     res = ccn_load_private_key(h,
+                                keystore_path,
+                                keystore_passphrase,
+@@ -2607,23 +2609,58 @@ ccn_chk_signing_params(struct ccn *h,
+             temp = ccn_charbuf_create();
+             if (default_pubid == NULL || temp == NULL)
+                 return(NOTE_ERRNO(h));
+-            ccnx_dir = getenv("CCNX_DIR");
+-            if (ccnx_dir == NULL || ccnx_dir[0] == 0) {
+-                home = getenv("HOME");
+-                if (home == NULL)
+-                    home = "";
+-                ccn_charbuf_putf(temp, "%s/.ccnx/.ccnx_keystore", home);
++
++            res = -1;
++#ifdef CCNX_DIR
++            if (res < 0 || default_pubid->length != sizeof(result->pubid)) {
++              // check preconfigured directory
++              ccnx_dir = CCNX_DIR;
++              if (ccnx_dir != NULL && ccnx_dir[0] != 0) {
++                ccn_charbuf_reset(temp);
++                ccn_charbuf_putf(temp, "%s/.ccnx_keystore", ccnx_dir);
++
++                res = ccn_load_private_key(h,
++                                           ccn_charbuf_as_string(temp),
++                                           "Th1s1sn0t8g00dp8ssw0rd.",
++                                           default_pubid);
++              }
+             }
+-            else
++#endif
++            
++            if (res < 0 || default_pubid->length != sizeof(result->pubid)) {
++              // check CCNX_DIR
++              ccnx_dir = getenv("CCNX_DIR");
++              if (ccnx_dir != NULL && ccnx_dir[0] != 0) {
++                ccn_charbuf_reset(temp);
+                 ccn_charbuf_putf(temp, "%s/.ccnx_keystore", ccnx_dir);
+-            res = ccn_load_private_key(h,
+-                                       ccn_charbuf_as_string(temp),
+-                                       "Th1s1sn0t8g00dp8ssw0rd.",
+-                                       default_pubid);
++
++                res = ccn_load_private_key(h,
++                                           ccn_charbuf_as_string(temp),
++                                           "Th1s1sn0t8g00dp8ssw0rd.",
++                                           default_pubid);
++              }
++            }
++            
++            if (res < 0 || default_pubid->length != sizeof(result->pubid)) {
++              // check HOME
++              home = getenv("HOME");
++              if (home != NULL) {
++                ccn_charbuf_reset(temp);
++                ccn_charbuf_putf(temp, "%s/.ccnx/.ccnx_keystore", home);
++                res = ccn_load_private_key(h,
++                                           ccn_charbuf_as_string(temp),
++                                           "Th1s1sn0t8g00dp8ssw0rd.",
++                                           default_pubid);
++              }
++            }
++            
+             if (res == 0 && default_pubid->length == sizeof(result->pubid)) {
+                 h->default_pubid = default_pubid;
+                 default_pubid = NULL;
+             }
++            else {
++              ccn_perror(h, ccn_charbuf_as_string(temp));
++            }
+         }
+         if (h->default_pubid == NULL)
+             res = NOTE_ERRNO(h);
+diff --git csrc/lib/ccn_initkeystore.sh csrc/lib/ccn_initkeystore.sh
+index 12bc9e3..a171a0e 100755
+--- csrc/lib/ccn_initkeystore.sh
++++ csrc/lib/ccn_initkeystore.sh
+@@ -15,6 +15,7 @@
+ # Create a ccn keystore without relying on java
+ : ${RSA_KEYSIZE:=1024}
+ : ${CCN_USER:=`id -n -u`}
++: ${CCNX_HOME:=.ccnx}
+ Fail () {
+   echo '*** Failed' "$*"
+   exit 1
+@@ -37,6 +38,7 @@ countryName_default		= AU
+ countryName_min			= 2
+ countryName_max			= 2
+ EOF
++RANDFILE=.rnd
+ openssl req    -config openssl.cnf      \
+                -newkey rsa:$RSA_KEYSIZE \
+                -x509                    \
+diff --git csrc/lib/ccn_keystore.c csrc/lib/ccn_keystore.c
+index ac936c3..c103dd8 100644
+--- csrc/lib/ccn_keystore.c
++++ csrc/lib/ccn_keystore.c
+@@ -76,6 +76,8 @@ ccn_keystore_init(struct ccn_keystore *p, char *filename, char *password)
+     int digest_size;
+     int res;
+ 
++    fprintf (stderr, "Trying to open [%s]\n\n", filename);
++    
+     OpenSSL_add_all_algorithms();
+     fp = fopen(filename, "rb");
+     if (fp == NULL)
+diff --git csrc/lib/dir.mk csrc/lib/dir.mk
+index 6489299..145eec7 100644
+--- csrc/lib/dir.mk
++++ csrc/lib/dir.mk
+@@ -78,7 +78,7 @@ shlib: $(SHLIBNAME)
+ lib: libccn.a
+ 
+ test: default keystore_check encodedecodetest ccnbtreetest
+-	./encodedecodetest -o /dev/null
++	./encodedecodetest -k $(CCNX_DIR)/.ccnx_keystore -o /dev/null
+ 	./ccnbtreetest
+ 	./ccnbtreetest - < q.dat
+ 	rm -R _bt_*
+@@ -87,12 +87,12 @@ dtag_check: _always
+ 	@./gen_dtag_table 2>/dev/null | diff - ccn_dtag_table.c | grep '^[<]' >/dev/null && echo '*** Warning: ccn_dtag_table.c may be out of sync with tagnames.cvsdict' || :
+ 
+ keystore_check: ccn_initkeystore.sh
+-	test -f "$$HOME/.ccnx/.ccnx_keystore" || $(MAKE) -f dir.mk new_keystore
++	test -f "$(CCNX_DIR)/.ccnx_keystore" || $(MAKE) -f dir.mk new_keystore
+ 
+ new_keystore:
+ 	@echo === CCNx Keystore not found in your home directory
+ 	@echo === I will create one for you now '(^C to abort)'
+-	sleep 1 && sh ccn_initkeystore.sh && sleep 3 && mv .ccnx "$$HOME"
++	sleep 1 && sh ccn_initkeystore.sh && sleep 3 && mkdir -p "$(CCNX_DIR)/" && mv .ccnx/.ccnx_keystore "$(CCNX_DIR)/"
+ 
+ libccn.a: $(LIB_OBJS)
+ 	ar crus $@ $(LIB_OBJS)
+@@ -113,7 +113,7 @@ skel_decode_test: skel_decode_test.o
+ basicparsetest: basicparsetest.o libccn.a
+ 	$(CC) $(CFLAGS) -o $@ basicparsetest.o $(LDLIBS) $(OPENSSL_LIBS) -lcrypto
+ 
+-encodedecodetest: encodedecodetest.o
++encodedecodetest: encodedecodetest.o libccn.a
+ 	$(CC) $(CFLAGS) -o $@ encodedecodetest.o $(LDLIBS) $(OPENSSL_LIBS) -lcrypto
+ 
+ ccn_digest.o:
+@@ -149,16 +149,16 @@ ccn_fetch.o:
+ ccn_verifysig.o:
+ 	$(CC) $(CFLAGS) $(OPENSSL_CFLAGS) -c ccn_verifysig.c
+ 
+-ccn_verifysig: ccn_verifysig.o
++ccn_verifysig: ccn_verifysig.o libccn.a
+ 	$(CC) $(CFLAGS) -o $@ ccn_verifysig.o $(LDLIBS) $(OPENSSL_LIBS) -lcrypto
+ 
+ signbenchtest.o:
+ 	$(CC) $(CFLAGS) $(OPENSSL_CFLAGS) -c signbenchtest.c
+ 
+-signbenchtest: signbenchtest.o
++signbenchtest: signbenchtest.o libccn.a
+ 	$(CC) $(CFLAGS) -o $@ signbenchtest.o $(LDLIBS) $(OPENSSL_LIBS) -lcrypto 
+ 
+-ccndumppcap: ccndumppcap.o
++ccndumppcap: ccndumppcap.o libccn.a
+ 	$(CC) $(CFLAGS) -o $@ ccndumppcap.o $(LDLIBS) $(OPENSSL_LIBS) -lcrypto -lpcap
+ 
+ ccnbtreetest.o:
+diff --git csrc/lib/encodedecodetest.c csrc/lib/encodedecodetest.c
+index be6a853..21b288b 100644
+--- csrc/lib/encodedecodetest.c
++++ csrc/lib/encodedecodetest.c
+@@ -241,6 +241,7 @@ main (int argc, char *argv[]) {
+         strcat(keystore_name, keystore_suffix);
+     }
+ 
++    printf ("\nWTF %s\n\n", keystore_name);
+     if (0 != ccn_keystore_init(keystore, keystore_name, "Th1s1sn0t8g00dp8ssw0rd.")) {
+         printf("Failed to initialize keystore\n");
+         exit(1);