@@ -790,15 +790,10 @@
790 790 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
static int check_tail_hash(Blob *pHash, Blob *pMsg){
791 791 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob tail;
792 792 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int rc;
793 793 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_tail(pMsg, &tail);
794 794 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = hname_verify_hash(&tail, blob_buffer(pHash), blob_size(pHash));
795 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #if 0
796 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fprintf(stderr, "check tail=%d hash=[%.*s]\ntail=<<%.*s>>\n", rc,
797 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_size(pHash), blob_str(pHash),
798 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_size(&tail), blob_str(&tail));
799 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #endif
800 795 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_reset(&tail);
801 796 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return rc==HNAME_ERROR;
802 797 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
803 798 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
804 799 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
@@ -859,19 +854,10 @@
859 854 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_copy(&combined, pNonce);
860 855 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_append(&combined, blob_buffer(&pw), szPw);
861 856 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sha1sum_blob(&combined, &hash);
862 857 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert( blob_size(&hash)==40 );
863 858 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = blob_constant_time_cmp(&hash, pSig);
864 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #if 0
865 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fprintf(stderr,
866 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "check login rc=%d nonce=[%.*s] pSig=[%.*s] .hash=[%.*s]\n",
867 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc,
868 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_size(pNonce), blob_str(pNonce),
869 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_size(pSig), blob_str(pSig),
870 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_size(&hash), blob_str(&hash));
871 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
872 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #endif
873 859 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_reset(&hash);
874 860 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_reset(&combined);
875 861 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc!=0 && szPw!=40 ){
876 862 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* If this server stores cleartext passwords and the password did not
877 863 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** match, then perhaps the client is sending SHA1 passwords. Try
@@ -880,13 +866,13 @@
880 866 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zPw = db_column_text(&q, 0);
881 867 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zSecret = sha1_shared_secret(zPw, blob_str(pLogin), 0);
882 868 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_zero(&combined);
883 869 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_copy(&combined, pNonce);
884 870 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_append(&combined, zSecret, -1);
885 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- free(zSecret);
886 871 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sha1sum_blob(&combined, &hash);
887 872 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = blob_constant_time_cmp(&hash, pSig);
873 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_free(zSecret);
888 874 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_reset(&hash);
889 875 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_reset(&combined);
890 876 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
891 877 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc==0 ){
892 878 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zCap;
@@ -1336,16 +1322,10 @@
1336 1322 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* Login card received via HTTP header X-Fossil-Xfer-Login */
1337 1323 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_zero(&xfer.line);
1338 1324 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_append(&xfer.line, g.syncInfo.zLoginCard, -1);
1339 1325 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
xfer.nToken = blob_tokenize(&xfer.line, xfer.aToken,
1340 1326 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
count(xfer.aToken));
1341 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #if 0
1342 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fprintf(stderr,"%s:%d: g.syncInfo.zLoginCard=[%s]\nnToken=%d tok[0]=%s line=%s\n",
1343 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- __FILE__, __LINE__, g.syncInfo.zLoginCard,
1344 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- xfer.nToken, xfer.nToken ? blob_str(&xfer.aToken[0]) : "<NULL>",
1345 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_str(&xfer.line));
1346 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #endif
1347 1327 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_free( g.syncInfo.zLoginCard );
1348 1328 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
g.syncInfo.zLoginCard = 0;
1349 1329 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( xfer.nToken==4
1350 1330 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
&& blob_eq(&xfer.aToken[0], "login") ){
1351 1331 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
goto handle_login_card;
@@ -1603,28 +1583,18 @@
1603 1583 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cgi_reset_content();
1604 1584 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ error multiple\slogin\cards
1605 1585 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
nErr++;
1606 1586 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
break;
1607 1587 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
1608 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #if 0
1609 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fprintf(stderr, "# handle_login_card: aToken[2]=[%.*s]\n",
1610 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_size(&xfer.aToken[2]),
1611 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_str(&xfer.aToken[2]));
1612 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #endif
1613 1588 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( check_tail_hash(&xfer.aToken[2], xfer.pIn)
1614 1589 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
|| check_login(&xfer.aToken[1], &xfer.aToken[2], &xfer.aToken[3])
1615 1590 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
1616 1591 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cgi_reset_content();
1617 1592 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ error login\sfailed
1618 1593 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
nErr++;
1619 1594 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
break;
1620 1595 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1621 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #if 0
1622 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fprintf(stderr, "# logged in as [%.*s]\n",
1623 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_size(&xfer.aToken[1]),
1624 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_str(&xfer.aToken[1]));
1625 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #endif
1626 1596 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1627 1597 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else
1628 1598 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1629 1599 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* reqconfig NAME
1630 1600 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
1631 1601 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!