]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix a problem causing an infinite loop in the recovery extension when processing...
authordan <Dan Kennedy>
Wed, 31 May 2023 11:03:17 +0000 (11:03 +0000)
committerdan <Dan Kennedy>
Wed, 31 May 2023 11:03:17 +0000 (11:03 +0000)
FossilOrigin-Name: 5a516c6c7a25cec4d0a0cca530017a3299f7a332319f3e1f7cf12f53c32b88ca

ext/recover/recovercorrupt2.test
ext/recover/sqlite3recover.c
manifest
manifest.uuid

index 9f6c2be4cbc0502ddfa3ed87d748252e9d91b99d..29acc27a352a7229e2b3b7985376cf40f4eac9e1 100644 (file)
@@ -342,5 +342,187 @@ do_test 6.3 {
   list [catch { $R finish } msg] $msg
 } {0 {}}
 
+reset_db
+breakpoint
+do_test 7.0 {
+  sqlite3 db {}
+  db deserialize [decode_hexdb {
+| size 4108 pagesize 4096 filename x1.db
+| page 1 offset 0
+|      0: 02 01 00 00 00 00 14 15 40 00 00 00 00 00 00 00   ........@.......
+|     16: 33 3a 6d 65 6d 6f 72 79 3a 02 02 02 02 02 02 02   3:memory:.......
+|     32: 02 02 02 02 02 02 12 02 02 02 63 6f 6c 6f 72 20   ..........color 
+|     48: 73 70 61 63 00 f3 a0 81 a1 00 00 a0 02 02 02 02   spac............
+|     64: 69 95 73 6f 36 00 ff 0d 00 97 8c 90 3f 0a 70 02   i.so6.......?.p.
+|     80: 02 02 02 02 02 02 02 02 02 02 02 02 02 01 00 00   ................
+|     96: 06 02 02 02 02 5f 02 02 02 2c 02 02 02 02 02 02   ....._...,......
+|    112: 02 02 02 02 02 02 02 02 02 12 02 02 02 63 6f 6c   .............col
+|    128: 6f 72 20 73 70 61 63 00 f3 a0 81 a1 00 00 a0 02   or spac.........
+|    144: 02 02 02 69 95 73 6f 36 00 ff 0d 00 97 8c 90 3f   ...i.so6.......?
+|    160: 0a 70 02 02 02 02 02 02 02 02 02 02 02 02 02 02   .p..............
+|    176: 01 00 00 06 02 02 02 02 5f 02 02 02 2c 02 02 00   ........_...,...
+|    192: 00 01 00 01 00 00 00 01 00 02 fe 00 00 03 00 01   ................
+|    208: 00 00 00 01 c5 04 00 00 00 01 00 01 00 00 00 01   ................
+|    224: 00 fa 02 00 00 00 03 00 01 00 00 00 81 00 04 00   ................
+|    240: 00 00 01 00 01 00 00 00 01 00 02 00 fe 00 03 00   ................
+|    256: 01 00 00 00 01 00 04 00 00 00 01 00 01 00 00 00   ................
+|    272: 01 00 02 00 00 00 03 00 01 00 00 00 01 00 04 00   ................
+|    288: 00 00 01 00 01 00 00 00 01 00 02 00 00 00 03 00   ................
+|    304: 01 00 00 00 01 00 04 00 00 00 01 00 01 00 00 00   ................
+|    320: 01 00 02 00 00 00 03 00 01 00 00 00 40 00 84 00   ............@...
+|    336: 84 00 84 00 01 00 00 00 09 00 06 00 f5 00 01 00   ................
+|    352: 08 01 03 00 03 00 62 00 62 00 23 00 01 00 62 00   ......b.b.#...b.
+|    368: 04 00 1e 00 62 00 62 00 62 00 01 00 00 00 0a 00   ....b.b.b.......
+|    384: 01 00 03 00 01 00 03 00 04 00 02 00 01 00 01 00   ................
+|    400: 08 00 01 00 31 c6 00 03 00 0c 00 12 00 18 00 02   ....1...........
+|    416: 00 05 00 08 00 02 00 06 00 08 00 02 00 07 00 08   ................
+|    432: 00 02 00 01 00 01 00 08 00 01 00 0c 00 03 00 16   ................
+|    448: 00 1c 00 22 00 01 00 03 00 05 00 06 00 07 00 02   ................
+|    464: 00 05 00 09 00 02 00 06 00 09 00 02 00 07 00 09   ................
+|    480: 00 00 00 00 01 00 05 00 00 00 01 00 01 00 00 00   ................
+|    496: 01 00 02 00 00 00 03 00 01 00 00 00 01 00 04 00   ................
+|    512: 00 00 01 00 01 00 00 00 01 00 02 00 00 00 03 00   ................
+|    528: 01 00 00 00 01 00 04 00 00 00 01 00 01 00 00 00   ................
+|    544: 01 00 02 00 00 f6 03 00 00 02 00 00 01 00 04 00   ................
+|    560: 00 00 01 00 01 00 00 00 01 00 02 00 00 00 03 00   ................
+|    576: 01 00 00 00 01 00 04 00 00 00 01 00 01 00 00 00   ................
+|    592: 01 00 02 00 00 00 03 00 01 00 00 00 01 00 04 00   ................
+|    608: 00 00 01 00 01 00 00 00 01 00 02 00 00 00 03 00   ................
+|    624: 01 00 00 00 01 00 04 00 00 00 01 00 01 00 00 00   ................
+|    640: 01 3d 02 00 00 00 03 00 06 00 00 00 01 00 01 00   .=..............
+|    656: 00 00 01 00 01 00 00 00 01 00 02 00 00 00 03 00   ................
+|    672: 01 00 00 00 01 00 04 00 00 00 01 00 01 00 00 00   ................
+|    688: 01 00 02 00 00 00 55 52 4c 52 65 71 75 65 73 74   ......URLRequest
+|    704: 43 6f 6e 00 00 00 01 01 0e d4 00 04 00 00 00 01   Con.............
+|    720: 0e f8 00 04 00 00 00 01 0f 1c 00 04 00 00 00 01   ................
+|    736: 0f 00 00 01 00 00 00 01 0f 86 00 01 00 00 00 01   ................
+|    752: 0f 84 00 01 00 00 00 01 00 00 01 0f c0 00 01 00   ................
+|    768: 00 00 01 0f e8 00 d6 0f 00 01 6f 00 02 0f d6 00   ..........o.....
+|    784: 02 34 03 03 03 00 01 00 00 00 01 00 05 00 00 00   .4..............
+|    800: 01 00 01 00 00 00 01 00 02 00 00 00 03 00 01 00   ................
+|    816: 00 00 01 00 04 00 00 00 01 00 01 00 00 00 01 00   ................
+|    832: 02 00 00 00 03 00 01 00 10 00 01 00 04 00 00 00   ................
+|    848: 01 00 01 00 00 00 01 00 02 00 00 00 03 00 00 02   ................
+|    864: 00 00 01 40 04 00 00 03 01 00 01 00 00 00 01 00   ...@............
+|    880: 02 00 00 00 03 00 01 00 00 00 00 00 01 0e f8 00   ................
+|    896: 04 77 4f 46 32 73 40 23 70 00 00 00 70 00 1f 00   .wOF2s@#p...p...
+|    912: 00 00 d8 00 00 00 ff ff 00 00 00 00 43 00 00 00   ............C...
+|    928: 00 00 ff ff ff ff ff 00 00 a8 00 00 0c 00 00 00   ................
+|   1024: 00 00 00 00 00 00 00 00 00 00 10 22 00 22 0f 00   ................
+|   1040: 00 00 00 00 00 00 10 22 00 00 70 00 1f 00 00 0f   ..........p.....
+|   1056: d8 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00   ................
+|   1072: 00 01 00 00 00 3f 23 70 00 00 00 01 0f 1c 00 04   .....?#p........
+|   1088: 00 00 00 01 0f 40 00 01 00 00 00 01 0f 86 00 01   .....@..........
+|   1104: 00 00 00 01 0f 84 00 01 00 00 00 01 00 00 01 0f   ................
+|   1120: c0 00 01 00 00 00 01 0f e8 00 01 0f d6 00 6f 00   ..............o.
+|   1136: 02 0f d6 00 03 02 31 03 2b 03 2a f2 00 0f d4 00   ......1.+.*.....
+|   1152: 01 00 08 00 01 00 04 03 2b 00 02 02 32 00 01 0f   ........+...2...
+|   1168: c8 01 15 00 02 20 c8 00 02 12 ad 02 00 24 06 c0   ..... .......$..
+|   1184: 00 00 00 03 00 00 01 24 00 2a 06 e4 00 00 00 03   .......$.*......
+|   1200: 00 00 01 25 00 38 07 0e 00 00 00 03 00 00 01 26   ...%.8.........&
+|   1216: 00 34 07 46 00 00 00 03 00 00 01 27 00 1c 07 7a   .4.F.......'...z
+|   1232: 00 00 00 03 00 00 01 28 00 2a 07 96 00 00 00 03   .......(.*......
+|   1248: 00 e5 01 29 00 34 07 c0 00 00 00 03 00 00 01 2a   ...).4.........*
+|   1264: 67 34 07 f4 00 00 00 03 00 00 01 2b 00 22 08 28   g4.........+...(
+|   1280: 00 00 00 00 01 00 01 00 00 00 01 00 02 00 00 00   ................
+|   1296: 03 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00   ................
+|   1312: 01 00 00 00 01 00 02 00 00 00 03 00 00 02 00 00   ................
+|   1328: 01 00 04 00 00 00 01 00 01 00 00 00 01 00 02 00   ................
+|   1344: 00 00 03 00 01 00 00 00 01 00 04 00 00 00 01 00   ................
+|   1360: 01 00 00 00 01 00 02 00 00 00 03 00 01 00 00 21   ...............!
+|   1376: 04 00 01 00 00 00 00 00 01 00 00 00 01 00 02 00   ................
+|   1392: 00 00 03 00 01 00 00 00 01 00 04 00 00 00 01 00   ................
+|   1408: 01 00 00 00 01 00 02 00 00 00 03 00 01 00 00 00   ................
+|   1424: 01 00 05 00 00 00 01 00 01 00 00 01 00 02 02 02   ................
+|   1440: 12 02 02 02 63 6f 6c 6f 72 20 73 70 61 63 00 f3   ....color spac..
+|   1456: a0 81 a1 00 00 a0 02 02 02 02 69 95 73 6f 36 00   ..........i.so6.
+|   1472: ff 0d 00 97 8c 90 3f 0a 70 02 02 02 02 02 02 02   ......?.p.......
+|   1488: 02 02 02 02 02 02 02 01 00 00 06 02 02 02 02 5f   ..............._
+|   1504: 02 02 02 2c 02 02 00 00 01 00 01 00 00 00 01 00   ...,............
+|   1520: 02 fe 00 00 03 00 01 00 00 00 01 c5 04 00 00 00   ................
+|   1536: 01 00 01 00 00 00 01 00 02 00 00 00 03 00 01 00   ................
+|   1552: 00 00 81 00 04 00 00 00 01 00 01 00 00 00 01 00   ................
+|   1568: 02 00 fe 00 03 00 01 00 00 00 01 00 04 00 00 00   ................
+|   1584: 01 00 01 00 00 00 01 00 02 00 00 00 03 00 01 00   ................
+|   1600: 00 00 01 00 04 00 00 00 01 00 01 00 00 00 01 00   ................
+|   1616: 02 00 00 00 03 00 01 00 00 00 01 00 04 00 00 00   ................
+|   1632: 01 00 01 00 00 00 01 00 02 00 00 00 03 00 01 00   ................
+|   1648: 00 00 40 00 84 00 84 00 84 00 01 00 00 00 09 00   ..@.............
+|   1664: 06 00 f5 00 01 00 08 01 03 15 15 15 15 15 15 15   ................
+|   1680: 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15   ................
+|   1696: 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15   ................
+|   1712: 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15   ................
+|   1728: 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15   ................
+|   1744: 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15   ................
+|   1760: 15 15 15 15 15 15 15 15 15 15 15 00 03 00 62 00   ..............b.
+|   1776: 62 00 23 00 01 00 62 00 04 00 1e 00 62 00 62 00   b.#...b.....b.b.
+|   1792: 62 00 01 00 00 00 0a 00 01 00 03 00 01 00 03 00   b...............
+|   1808: 04 00 02 00 01 00 01 00 08 00 01 00 31 c6 00 03   ............1...
+|   1824: 00 0c 00 12 00 18 00 02 00 05 00 08 00 02 00 06   ................
+|   1840: 00 08 00 02 00 07 00 08 00 02 00 01 00 01 00 08   ................
+|   1856: 00 01 00 0c 00 03 00 16 00 1c 00 22 00 01 00 03   ................
+|   1872: 00 05 00 06 00 07 00 02 00 05 00 09 00 02 00 06   ................
+|   1888: 00 09 00 02 00 07 00 09 00 00 00 00 01 00 05 00   ................
+|   1904: 00 00 01 00 01 00 00 00 01 00 02 00 00 00 03 00   ................
+|   1920: 01 00 00 00 01 00 04 00 00 00 01 00 01 00 00 00   ................
+|   1936: 01 00 02 00 00 00 03 00 01 00 00 00 01 00 04 00   ................
+|   1952: 00 00 01 0f d6 00 02 34 03 03 03 00 01 00 00 00   .......4........
+|   1968: 01 00 05 00 00 00 01 00 01 00 00 00 01 00 02 00   ................
+|   1984: 00 00 03 00 01 00 00 00 01 00 04 00 00 00 01 00   ................
+|   2000: 01 00 00 00 01 00 02 fc 42 dc 19 5c 74 23 18 cd   ........B...t#..
+|   2016: b3 a5 a8 7a 90 40 1d 66 12 5d e5 4f 85 00 68 f4   ...z.@.f.].O..h.
+|   2032: 05 98 86 25 24 dd bc c2 f6 f6 4e a3 e2 61 d2 c6   ...%$.....N..a..
+|   2048: aa c1 56 50 d4 80 82 35 f1 e2 59 41 50 a6 da 51   ..VP...5..YAP..Q
+|   2064: d4 62 9c 19 94 58 aa 31 30 8a 22 c2 5f 33 2b c9   .b...X.10..._3+.
+|   2080: b6 e6 b4 11 4e 51 82 c4 d8 b6 d8 b4 06 04 fb 68   ....NQ.........h
+|   2096: f4 d2 6f e7 cb 8a a8 82 d5 74 00 00 00 00 00 00   ..o......t......
+|   2368: 00 00 00 00 00 00 00 00 00 08 00 00 00 00 00 00   ................
+|   2432: 00 00 00 00 00 03 00 01 00 10 00 01 00 04 00 00   ................
+|   2448: 00 01 00 01 00 00 00 01 00 02 00 00 00 03 00 00   ................
+|   2464: 02 00 00 01 40 04 00 00 03 01 00 01 00 00 00 01   ....@...........
+|   2480: 00 02 00 00 00 03 00 01 00 00 00 00 00 01 0e f8   ................
+|   2496: 00 04 77 4f 46 32 73 40 23 70 00 00 00 70 00 1f   ..wOF2s@#p...p..
+|   2512: 00 00 00 d8 00 00 00 ff ff 00 00 00 00 43 00 00   .............C..
+|   2528: 00 00 00 ff ff ff ff ff 00 00 a8 00 00 0c 00 00   ................
+|   2624: 00 00 00 00 00 00 00 00 00 00 00 10 22 00 22 0f   ................
+|   2640: 00 00 00 00 00 00 00 10 22 00 00 70 00 1f 00 00   ...........p....
+|   2656: 0f d8 00 00 00 00 00 00 00 00 00 03 00 00 00 00   ................
+|   2672: 00 00 01 00 00 00 3f 23 70 00 00 00 01 0f 1c 00   ......?#p.......
+|   2688: 04 00 00 00 01 0f 40 00 01 00 00 00 01 0f 86 00   ......@.........
+|   2704: 01 00 00 00 01 0f 84 00 01 00 00 00 01 00 00 01   ................
+|   2720: 0f c0 00 01 00 00 00 01 0f e8 00 01 0f d6 00 6f   ...............o
+|   2736: 00 02 0f d6 00 03 02 31 03 2b 03 2a f2 00 0f d4   .......1.+.*....
+|   2752: 00 01 00 08 00 01 00 04 03 2b 00 02 02 32 00 01   .........+...2..
+|   2768: 0f c8 01 15 00 02 20 c8 00 02 12 ad 02 00 24 06   ...... .......$.
+|   2784: c0 00 00 5a 03 00 00 01 24 00 2a 06 e4 00 00 00   ...Z....$.*.....
+|   2800: 03 00 00 01 25 00 38 07 0e 00 00 00 03 00 00 01   ....%.8.........
+|   2816: 26 00 34 07 46 00 00 00 03 00 00 01 27 00 1c 07   &.4.F.......'...
+|   2832: 7a 00 00 00 03 00 00 01 28 00 2a 07 96 00 00 00   z.......(.*.....
+|   2848: 03 00 e5 01 29 00 34 07 c0 00 00 00 03 00 00 01   ....).4.........
+|   2864: 2a 67 34 07 f4 00 00 00 03 00 00 01 2b 00 22 08   *g4.........+...
+|   2880: 28 00 00 00 00 01 00 01 00 00 00 01 00 02 00 00   (...............
+|   2896: 00 03 00 01 00 00 00 01 00 00 00 01 00 00 00 01   ................
+|   2912: 00 01 00 00 00 01 00 02 00 00 00 03 00 00 02 00   ................
+|   2928: 00 01 00 04 00 00 00 01 00 01 00 00 00 00 00 00   ................
+|   2992: 00 48 00 00 00 00 00 00 00 00 00 00 00 00 00 00   .H..............
+|   3504: 00 00 00 00 00 00 00 00 00 00 00 97 00 00 00 00   ................
+|   3904: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 09   ................
+|   3920: 03 fe 00 00 01 36 00 3c 0a 38 00 00 00 03 00 00   .....6.<.8......
+|   3936: 01 37 00 20 0a 74 00 00 00 fb ff ff 00 38 00 2a   .7. .t.......8.*
+|   3952: 0a 94 00 00 00 03 00 00 01 39 4f 54 54 4f 00 0e   .........9OTTO..
+|   3968: 00 80 00 03 00 60 43 46 46 20 e3 ae 89 2a 00 00   .....`CFF ...*..
+|   3984: 02 b0 00 00 02 76 42 50 4f 53 00 15 00 0a 00 00   .....vBPOS......
+|   4000: 05 28 00 00 00 0c 54 53 55 42 c9 70 c3 06 00 00   .(....TSUB.p....
+|   4016: 05 34 1f 00 40 00 48 00 00 00 00 00 00 00 00 00   .4..@.H.........
+|   4064: 00 00 00 00 00 08 00 01 00 01 00 01 00 01 00 06   ................
+|   4080: 00 02 00 08 00 01 00 01 00 01 00 01 00 00 00 00   ................
+| end x1.db
+}]} {}
+do_test 7.1 {
+  set R [sqlite3_recover_init db main test.db2]
+  catch { $R run }
+  list [catch { $R finish } msg] $msg
+} {1 {file is not a database}}
+
 finish_test
 
index 29fff0e7e2184b9d53270b01b2ada4af0f3eb2a8..c445c51793b13272281317dffbc2da24e545e700 100644 (file)
@@ -2103,7 +2103,7 @@ static int recoverIsValidPage(u8 *aTmp, const u8 *a, int n){
     if( iFree>(n-4) ) return 0;
     iNext = recoverGetU16(&a[iFree]);
     nByte = recoverGetU16(&a[iFree+2]);
-    if( iFree+nByte>n ) return 0;
+    if( iFree+nByte>n || nByte<4 ) return 0;
     if( iNext && iNext<iFree+nByte ) return 0;
     memset(&aUsed[iFree], 0xFF, nByte);
     iFree = iNext;
index 2c733001ed3e4a7e82ff79eb22124d26848162f7..add76b1237e004bea3e071710d900674b81feafb 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Enhancements\sto\sdate/time\sfunctions:\n(1)\sAdd\ssupport\sfor\stime-shift\smodifiers\sof\sthe\sform\s(+|-)YYYY-MM-DD\sHH:MM:SS.SSS\n(2)\sAdd\sthe\stimediff(A,B)\sSQL\sfunction\sthat\sreturns\sthe\stime-shift\smodifier\nsufficient\sto\smove\sB\sto\sA.
-D 2023-05-30T16:40:42.849
+C Fix\sa\sproblem\scausing\san\sinfinite\sloop\sin\sthe\srecovery\sextension\swhen\sprocessing\sa\scorrupt\sfree-block\slist.
+D 2023-05-31T11:03:17.787
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -382,7 +382,7 @@ F ext/recover/recover_common.tcl a61306c1eb45c0c3fc45652c35b2d4ec19729e340bdf65a
 F ext/recover/recoverbuild.test c74170e0f7b02456af41838afeb5353fdb985a48cc2331d661bbabbca7c6b8e3
 F ext/recover/recoverclobber.test 3ba6c0c373c5c63d17e82eced64c05c57ccaf26c1abe1ca7141334022a79f32e
 F ext/recover/recovercorrupt.test 64c081ad1200ae77b447da99eb724785d6bf71715f394543dc7689642e92bf49
-F ext/recover/recovercorrupt2.test a889ae9a6d8c4e285a766db7580cde5a9847edf8bdeb05ada810e150bc66aa12
+F ext/recover/recovercorrupt2.test b9b974f006340a1300b5a7e687bd6097c5238498181c6f92d87406a77ece430b
 F ext/recover/recoverfault.test 9d9f88eeb222615a25e7514f234c950d46bee20d24cd8db49d8fff8d650dcfe1
 F ext/recover/recoverfault2.test 730e7371bcda769554d15460cb23126abba1be8eca9539ccabf63623e7bb7e09
 F ext/recover/recoverold.test 68db3d6f85dd2b98e785b6c4da4f5eea4bbe52ccf6674d9a94c7506dc92596aa
@@ -390,7 +390,7 @@ F ext/recover/recoverpgsz.test 3658ab8e68475b1bb87d6af88baa04551c84b73280a566a1b
 F ext/recover/recoverrowid.test f948bf4024a5f41b0e21b8af80c60564c5b5d78c05a8d64fc00787715ff9f45f
 F ext/recover/recoverslowidx.test 5205a9742dd9490ee99950dabb622307355ef1662dea6a3a21030057bfd81411
 F ext/recover/recoversql.test e66d01f95302a223bcd3fd42b5ee58dc2b53d70afa90b0d00e41e4b8eab20486
-F ext/recover/sqlite3recover.c b3813090c97df34858bab8ece4e8c49d9e2f56ba2b9bb019f57f44bc234b3c6d
+F ext/recover/sqlite3recover.c e6eb20c469bcdb96f297f2241860bccabf9f036bfa7f3d47bcc6ca1191b108dc
 F ext/recover/sqlite3recover.h 011c799f02deb70ab685916f6f538e6bb32c4e0025e79bfd0e24ff9c74820959
 F ext/recover/test_recover.c 1a34e2d04533d919a30ae4d5caeb1643f6684e9ccd7597ca27721d8af81f4ade
 F ext/repair/README.md 92f5e8aae749a4dae14f02eea8e1bb42d4db2b6ce5e83dbcdd6b1446997e0c15
@@ -2072,9 +2072,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P a61467d1fbb7a2804bfdc685a38e0b738747b9afd42c25a78a938b114a822f61 d6954259bd3f8475f3804fd02a1591d037efa9df54da45776863c024ff90e596
-R 255227b4547145c8dcfb80a734de5898
-T +closed d6954259bd3f8475f3804fd02a1591d037efa9df54da45776863c024ff90e596
-U drh
-Z b0a2fbca407b458dcbae70cd95c3b03c
+P 574bf370b0b9a72eb0468e0e121d4d6171fc533883b66d335f6794ef5ee1f051
+R 53d3ac19e767aeeb3566e213b1c7a659
+U dan
+Z e8b38d0367fec40738aa42cf22b522bb
 # Remove this line to create a well-formed Fossil manifest.
index 40438d1a00a3d02f0d06a1677ccdf7b352c1ac0f..c0f7d708ced7549ea1e33e6386998ea2e300b01e 100644 (file)
@@ -1 +1 @@
-574bf370b0b9a72eb0468e0e121d4d6171fc533883b66d335f6794ef5ee1f051
\ No newline at end of file
+5a516c6c7a25cec4d0a0cca530017a3299f7a332319f3e1f7cf12f53c32b88ca
\ No newline at end of file