Diff

Differences From Artifact [e7e131fd9c]:

To Artifact [9efbb291d1]:


337
338
339
340
341
342
343

344
345












346
347
348
349
350
351
352
337
338
339
340
341
342
343
344


345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363







+
-
-
+
+
+
+
+
+
+
+
+
+
+
+







		}

		if {![_verifySignatureAndCertificate $hostname $indexhashcert $indexhashsig $indexhash]} {
			return -code error "Invalid signature or certificate from $hostname"
		}

		set file [download $hostname $indexhash]
		catch {
		set fd [open $file]
		set data [read $fd]
			set fd [open $file]
		}

		if {![info exists fd]} {
			return -code error "Unable to download or open $file"
		}

		unset -nocomplain data
		catch {
			set data [read $fd]
		}

		close $fd

		set curr_packages [list]
		foreach line [split $data "\n"] {
			set line [string trim $line]

			if {[string match "*/*" $line]} {
420
421
422
423
424
425
426


427
428











429
430
431
432
433
434
435
431
432
433
434
435
436
437
438
439


440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457







+
+
-
-
+
+
+
+
+
+
+
+
+
+
+







		}

		if {![_isHash $package_sha1]} {
			return FAIL
		}

		set file [download $hostname $package_sha1]

		catch {
		set fd [open $file]
		set pkgdata [read $fd]
			set fd [open $file]
		}

		if {![info exists fd]} {
			return -code error "Unable to download or open $file"
		}

		catch {
			set pkgdata [read $fd]
		}

		close $fd

		db transaction {
			foreach line [split $pkgdata "\n"] {
				set line [string trim $line]

				if {$line == ""} {