pike.git / src / post_modules / Nettle / hash.cmod

version» Context lines:

pike.git/src/post_modules/Nettle/hash.cmod:331:       THREADS_ALLOW();       /* NB: Comments refer to http://www.akkadia.org/drepper/SHA-crypt.txt */    meta->init(ctx); /* 4 */    meta->update(ctx, plen, p); /* 5 */    meta->update(ctx, slen, s); /* 6 */    meta->update(ctx, plen, p); /* 7 */    meta->digest(ctx, dsz, abcbuf); /* 8 */    -  meta->init(ctx); /* 1 */ +  /* 1 */    meta->update(ctx, plen, p); /* 2 */    meta->update(ctx, slen, s); /* 3 */       for (i = 0; i + dsz < plen; i += dsz) { /* 9 */    meta->update(ctx, dsz, abcbuf);    }       meta->update(ctx, plen - i, abcbuf); /* 10 */       for (i = 1; i < plen; i <<= 1) { /* 11 */    if (plen & i) {    meta->update(ctx, dsz, abcbuf);    } else {    meta->update(ctx, plen, p);    }    }       meta->digest(ctx, dsz, abcbuf); /* 12 */    -  meta->init(ctx); /* 13 */ +  /* 13 */    for (i = 0; i < plen; i++) { /* 14 */    meta->update(ctx, plen, p);    }    meta->digest(ctx, dsz, dpbuf); /* 15 */       /* Sequence P is implicit. */ /* 16 */    -  meta->init(ctx); /* 17 */ +  /* 17 */    for(i = 0; i < 16 + abcbuf[0]; i++) { /* 18 */    meta->update(ctx, slen, s);    }    meta->digest(ctx, dsz, dsbuf); /* 19 */       /* Sequence S is implicit. */ /* 20 */       for (r = 0; r < rounds; r++) { /* 21 */ -  meta->init(ctx); /* a */ +  /* a */    if (r & 1) { /* b */    for (i = 0; i + dsz < plen; i += dsz) {    meta->update(ctx, dsz, dpbuf);    }    meta->update(ctx, plen - i, dpbuf);    } else {    meta->update(ctx, dsz, abcbuf); /* c */    }    if (r % 3) { /* d */    for (i = 0; i + dsz < slen; i += dsz) {