Diff

Differences From Artifact [af42c37524]:

To Artifact [cb3e9f21e4]:


2379
2380
2381
2382
2383
2384
2385

2386

2387
2388
2389
2390
2391
2392
2393
2379
2380
2381
2382
2383
2384
2385
2386

2387
2388
2389
2390
2391
2392
2393
2394







+
-
+







	if (origlen > len)
	    bufchain_consume(&ssh->queued_incoming_data, origlen - len);
    }
}

static void ssh_set_frozen(Ssh ssh, int frozen)
{
    if (ssh->s)
    sk_set_frozen(ssh->s, frozen);
	sk_set_frozen(ssh->s, frozen);
    ssh->frozen = frozen;
}

static void ssh_gotdata(Ssh ssh, unsigned char *data, int datalen)
{
    crBegin(ssh->ssh_gotdata_crstate);

5215
5216
5217
5218
5219
5220
5221

5222
5223
5224
5225
5226
5227
5228
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230







+







		} while (pktin || inlen > 0);
		s->dlgret = ssh->user_response;
	    }
	    ssh_set_frozen(ssh, 0);
	    if (s->dlgret == 0) {
		ssh->close_expected = TRUE;
		ssh_closing((Plug)ssh, NULL, 0, 0);
		crStop(0);
	    }
	}

	if (s->warn_cscipher) {
	    ssh_set_frozen(ssh, 1);
	    s->dlgret = askalg(ssh->frontend,
			       "client-to-server cipher",
5239
5240
5241
5242
5243
5244
5245

5246
5247
5248
5249
5250
5251
5252
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255







+







		} while (pktin || inlen > 0);
		s->dlgret = ssh->user_response;
	    }
	    ssh_set_frozen(ssh, 0);
	    if (s->dlgret == 0) {
		ssh->close_expected = TRUE;
		ssh_closing((Plug)ssh, NULL, 0, 0);
		crStop(0);
	    }
	}

	if (s->warn_sccipher) {
	    ssh_set_frozen(ssh, 1);
	    s->dlgret = askalg(ssh->frontend,
			       "server-to-client cipher",
5263
5264
5265
5266
5267
5268
5269

5270
5271
5272
5273
5274
5275
5276
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280







+







		} while (pktin || inlen > 0);
		s->dlgret = ssh->user_response;
	    }
	    ssh_set_frozen(ssh, 0);
	    if (s->dlgret == 0) {
		ssh->close_expected = TRUE;
		ssh_closing((Plug)ssh, NULL, 0, 0);
		crStop(0);
	    }
	}

	if (s->ignorepkt) /* first_kex_packet_follows */
	    crWaitUntil(pktin);                /* Ignore packet */
    }