diff --git a/nlsr.c b/nlsr.c
index 1b344ff..b3c2f64 100644
--- a/nlsr.c
+++ b/nlsr.c
@@ -144,9 +144,9 @@
 	}
 
 	chdir("/");	
-	close(STDIN_FILENO);
-	close(STDOUT_FILENO);
-	close(STDERR_FILENO);
+	//close(STDIN_FILENO);
+	//close(STDOUT_FILENO);
+	//close(STDERR_FILENO);
 }
 
 	void 
diff --git a/nlsr_ndn.c b/nlsr_ndn.c
index c605ad0..64caae8 100644
--- a/nlsr_ndn.c
+++ b/nlsr_ndn.c
@@ -307,7 +307,7 @@
 		struct ccn_signing_params sp=CCN_SIGNING_PARAMS_INIT;
 		sp.template_ccnb=ccn_charbuf_create();		
 				
-		ccn_charbuf_append_tt(sp.template_ccnb, CCN_DTAG_SignedInfo, CCN_DTAG);
+		/*ccn_charbuf_append_tt(sp.template_ccnb, CCN_DTAG_SignedInfo, CCN_DTAG);
 		ccn_charbuf_append_tt(sp.template_ccnb, CCN_DTAG_KeyLocator, CCN_DTAG);
 		ccn_charbuf_append_tt(sp.template_ccnb, CCN_DTAG_KeyName, CCN_DTAG);
 		ccn_charbuf_append_charbuf(sp.template_ccnb, name);
@@ -319,19 +319,19 @@
 		sp.sp_flags |= CCN_SP_FINAL_BLOCK;
 		sp.type = CCN_CONTENT_KEY;
 		sp.freshness = 10;
+		*/
 		
-		
-		/*ccn_charbuf_append_tt(sp.template_ccnb,CCN_DTAG_SignedInfo, CCN_DTAG);
+		ccn_charbuf_append_tt(sp.template_ccnb,CCN_DTAG_SignedInfo, CCN_DTAG);
 		ccnb_tagged_putf(sp.template_ccnb, CCN_DTAG_FreshnessSeconds, "%ld", 10);
        	 	sp.sp_flags |= CCN_SP_TEMPL_FRESHNESS;
 		ccn_charbuf_append_closer(sp.template_ccnb);
-		*/
+		
 
 		char *raw_data=(char *)malloc(20);
 		memset(raw_data,0,20);
 		sprintf(raw_data,"%s", nlsr->lsdb->lsdb_version);	
 
-		res= ccn_sign_content(nlsr->ccn, data, name, &sp, pubkey->buf,pubkey->length); 
+		res= ccn_sign_content(nlsr->ccn, data, name, &sp, "info",strlen("info")); 
 		if(res >= 0)
 		{
 			if ( nlsr->debugging )
