Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • cellframe/cellframe-sdk
  • MIKA83/cellframe-sdk
2 results
Show changes
Commits on Source (1)
......@@ -2,7 +2,7 @@ project(cellframe-sdk C)
cmake_minimum_required(VERSION 2.8)
set(CMAKE_C_STANDARD 11)
set(CELLFRAME_SDK_NATIVE_VERSION "2.5-16")
set(CELLFRAME_SDK_NATIVE_VERSION "2.5-17")
add_definitions ("-DCELLFRAME_SDK_VERSION=\"${CELLFRAME_SDK_NATIVE_VERSION}\"")
set(DAPSDK_MODULES "")
......
......@@ -231,9 +231,9 @@ static int s_callback_event_verify(dap_chain_cs_dag_t * a_dag, dap_chain_cs_dag_
dap_chain_addr_t l_addr = { 0 };
for ( size_t l_sig_pos=0; l_sig_pos < a_dag_event->header.signs_count; l_sig_pos++ ){
dap_sign_t * l_sign = dap_chain_cs_dag_event_get_sign(a_dag_event, 0,a_dag_event_size);
dap_sign_t * l_sign = dap_chain_cs_dag_event_get_sign(a_dag_event, a_dag_event_size,l_sig_pos);
if ( l_sign == NULL){
log_it(L_WARNING, "Event is NOT signed with anything");
log_it(L_WARNING, "Event is NOT signed with anything: sig pos %zd, event size %zd", a_dag_event_size);
return -4;
}
......
......@@ -482,7 +482,6 @@ static size_t s_chain_callback_datums_pool_proc(dap_chain_t * a_chain, dap_chain
if(l_dag->callback_cs_event_create)
l_event = l_dag->callback_cs_event_create(l_dag,l_datum,l_hashes,l_hashes_linked,&l_event_size);
if ( l_event&&l_event_size){ // Event is created
if (l_dag->is_add_directy) {
if (s_chain_callback_atom_add(a_chain, l_event, l_event_size) == ATOM_ACCEPT) {
// add events to file
......@@ -593,24 +592,29 @@ static dap_chain_atom_verify_res_t s_chain_callback_atom_verify(dap_chain_t * a_
}
// genesis or seed mode
if (l_event->header.hash_count == 0){
if(s_seed_mode && !PVT(l_dag)->events)
return ATOM_ACCEPT;
if (l_dag->is_static_genesis_event ){
dap_chain_hash_fast_t l_event_hash;
dap_chain_cs_dag_event_calc_hash(l_event,a_atom_size, &l_event_hash);
if ( memcmp( &l_event_hash, &l_dag->static_genesis_event_hash, sizeof(l_event_hash) ) != 0 ){
char * l_event_hash_str = dap_chain_hash_fast_to_str_new(&l_event_hash);
char * l_genesis_event_hash_str = dap_chain_hash_fast_to_str_new(&l_dag->static_genesis_event_hash);
log_it(L_WARNING, "Wrong genesis block %s (staticly predefined %s)",l_event_hash_str, l_genesis_event_hash_str);
DAP_DELETE(l_event_hash_str);
DAP_DELETE(l_genesis_event_hash_str);
return ATOM_REJECT;
}else{
return ATOM_ACCEPT;
if(s_seed_mode && !PVT(l_dag)->events){
log_it(L_NOTICE,"Accepting genesis event");
return ATOM_ACCEPT;
}else if(s_seed_mode){
log_it(L_WARNING,"Cant accept genesis event: already present data in DAG, ->events is not NULL");
return ATOM_REJECT;
}
if (l_dag->is_static_genesis_event ){
dap_chain_hash_fast_t l_event_hash;
dap_chain_cs_dag_event_calc_hash(l_event,a_atom_size, &l_event_hash);
if ( memcmp( &l_event_hash, &l_dag->static_genesis_event_hash, sizeof(l_event_hash) ) != 0 ){
char * l_event_hash_str = dap_chain_hash_fast_to_str_new(&l_event_hash);
char * l_genesis_event_hash_str = dap_chain_hash_fast_to_str_new(&l_dag->static_genesis_event_hash);
log_it(L_WARNING, "Wrong genesis block %s (staticly predefined %s)",l_event_hash_str, l_genesis_event_hash_str);
DAP_DELETE(l_event_hash_str);
DAP_DELETE(l_genesis_event_hash_str);
return ATOM_REJECT;
}else{
return ATOM_ACCEPT;
}
}
}
}
//chain coherence
......
......@@ -77,9 +77,10 @@ dap_chain_cs_dag_event_t * dap_chain_cs_dag_event_new(dap_chain_id_t a_chain_id,
size_t l_sign_size = dap_sign_get_size(l_sign);
l_event_new = (dap_chain_cs_dag_event_t* )DAP_REALLOC(l_event_new,l_event_size+l_sign_size );
memcpy(l_event_new->hashes_n_datum_n_signs + l_hashes_size + l_datum_size, l_sign, l_sign_size);
*a_event_size += l_sign_size;
l_event_size += l_sign_size;
*a_event_size = l_event_size;
l_event_new->header.signs_count++;
log_it(L_INFO,"Created event size %zd, signed with sign size %zd", l_event_size, l_sign_size);
DAP_DELETE(l_sign);
}else {
log_it(L_ERROR,"Can't sign dag event!");
......