|
|
@ -1993,24 +1993,6 @@ void dpow_notarize_update(struct supernet_info *myinfo,struct dpow_info *dp,stru |
|
|
|
{ |
|
|
|
//fprintf(stderr,"{%d %x} ",senderind,paxwdcrc);
|
|
|
|
} |
|
|
|
if ( bestk >= 0 || bp->notaries[senderind].bestk < 0 ) |
|
|
|
{ |
|
|
|
bp->notaries[senderind].bestk = bestk; |
|
|
|
if ( (bp->notaries[senderind].src.siglens[bestk]= siglens[0]) != 0 ) |
|
|
|
{ |
|
|
|
memcpy(bp->notaries[senderind].src.sigs[bestk],sigs[0],siglens[0]); |
|
|
|
if ( bestk == bp->bestk && bestmask == bp->bestmask ) |
|
|
|
bp->srcsigsmasks[bestk] |= (1LL << senderind); |
|
|
|
else bp->srcsigsmasks[bestk] &= ~(1LL << senderind); |
|
|
|
} |
|
|
|
if ( (bp->notaries[senderind].dest.siglens[bestk]= siglens[1]) != 0 ) |
|
|
|
{ |
|
|
|
memcpy(bp->notaries[senderind].dest.sigs[bestk],sigs[1],siglens[1]); |
|
|
|
if ( bestk == bp->bestk && bestmask == bp->bestmask ) |
|
|
|
bp->destsigsmasks[bestk] |= (1LL << senderind); |
|
|
|
else bp->destsigsmasks[bestk] &= ~(1LL << senderind); |
|
|
|
} |
|
|
|
} |
|
|
|
bp->notaries[bp->myind].paxwdcrc = bp->paxwdcrc; |
|
|
|
if ( bp->bestmask == 0 ) |
|
|
|
{ |
|
|
@ -2024,6 +2006,27 @@ void dpow_notarize_update(struct supernet_info *myinfo,struct dpow_info *dp,stru |
|
|
|
bp->notaries[bp->myind].bestmask = bp->bestmask; |
|
|
|
if ( bp->recvmask != 0 ) |
|
|
|
bp->notaries[bp->myind].recvmask = bp->recvmask; |
|
|
|
if ( bestk >= 0 || bp->notaries[senderind].bestk < 0 ) |
|
|
|
{ |
|
|
|
bp->notaries[senderind].bestk = bestk; |
|
|
|
if ( bp->pendingbestk == bestk && bp->pendingbestmask == bp->bestmask ) |
|
|
|
{ |
|
|
|
if ( bp->notaries[senderind].src.siglens[bestk] == 0 && (bp->notaries[senderind].src.siglens[bestk]= siglens[0]) != 0 ) |
|
|
|
{ |
|
|
|
memcpy(bp->notaries[senderind].src.sigs[bestk],sigs[0],siglens[0]); |
|
|
|
if ( bestk == bp->bestk && bestmask == bp->bestmask ) |
|
|
|
bp->srcsigsmasks[bestk] |= (1LL << senderind); |
|
|
|
else bp->srcsigsmasks[bestk] &= ~(1LL << senderind); |
|
|
|
} |
|
|
|
if ( bp->notaries[senderind].dest.siglens[bestk] == 0 && (bp->notaries[senderind].dest.siglens[bestk]= siglens[1]) != 0 ) |
|
|
|
{ |
|
|
|
memcpy(bp->notaries[senderind].dest.sigs[bestk],sigs[1],siglens[1]); |
|
|
|
if ( bestk == bp->bestk && bestmask == bp->bestmask ) |
|
|
|
bp->destsigsmasks[bestk] |= (1LL << senderind); |
|
|
|
else bp->destsigsmasks[bestk] &= ~(1LL << senderind); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if ( bp->bestk >= 0 ) |
|
|
|
{ |
|
|
|
flag = -1; |
|
|
|