| ︙ | | | ︙ | |
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
|
#define crStateP(t, v) \
struct t *s; \
if (!(v)) { s = (v) = snew(struct t); s->crLine = 0; } \
s = (v);
#define crState(t) crStateP(t, ssh->t)
#define crFinish(z) } *crLine = 0; return (z); }
#define crFinishV } *crLine = 0; return; }
#define crFinishFree(z, s) } *crLine = 0; sfree(s); return (z); }
#define crFinishFreeV(s) } *crLine = 0; sfree(s); return; }
#define crReturn(z) \
do {\
*crLine =__LINE__; return (z); case __LINE__:;\
} while (0)
#define crReturnV \
do {\
*crLine=__LINE__; return; case __LINE__:;\
|
|
|
|
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
|
#define crStateP(t, v) \
struct t *s; \
if (!(v)) { s = (v) = snew(struct t); s->crLine = 0; } \
s = (v);
#define crState(t) crStateP(t, ssh->t)
#define crFinish(z) } *crLine = 0; return (z); }
#define crFinishV } *crLine = 0; return; }
#define crFinishFree(z) } sfree(s); return (z); }
#define crFinishFreeV } sfree(s); return; }
#define crReturn(z) \
do {\
*crLine =__LINE__; return (z); case __LINE__:;\
} while (0)
#define crReturnV \
do {\
*crLine=__LINE__; return; case __LINE__:;\
|
| ︙ | | | ︙ | |
7507
7508
7509
7510
7511
7512
7513
7514
7515
7516
7517
7518
7519
7520
7521
|
if (pktin->type == SSH2_MSG_CHANNEL_SUCCESS) {
logevent("X11 forwarding enabled");
ssh->X11_fwd_enabled = TRUE;
} else
logevent("X11 forwarding refused");
}
}
crFinishFreeV(s);
}
static void ssh2_maybe_setup_agent(struct ssh_channel *c, struct Packet *pktin,
void *ctx)
{
struct ssh2_maybe_setup_agent_state {
int crLine;
|
|
|
7507
7508
7509
7510
7511
7512
7513
7514
7515
7516
7517
7518
7519
7520
7521
|
if (pktin->type == SSH2_MSG_CHANNEL_SUCCESS) {
logevent("X11 forwarding enabled");
ssh->X11_fwd_enabled = TRUE;
} else
logevent("X11 forwarding refused");
}
}
crFinishFreeV;
}
static void ssh2_maybe_setup_agent(struct ssh_channel *c, struct Packet *pktin,
void *ctx)
{
struct ssh2_maybe_setup_agent_state {
int crLine;
|
| ︙ | | | ︙ | |
7538
7539
7540
7541
7542
7543
7544
7545
7546
7547
7548
7549
7550
7551
7552
|
if (pktin->type == SSH2_MSG_CHANNEL_SUCCESS) {
logevent("Agent forwarding enabled");
ssh->agentfwd_enabled = TRUE;
} else
logevent("Agent forwarding refused");
}
}
crFinishFreeV(s);
}
static void ssh2_maybe_setup_pty(struct ssh_channel *c, struct Packet *pktin,
void *ctx)
{
struct ssh2_maybe_setup_pty_state {
int crLine;
|
|
|
7538
7539
7540
7541
7542
7543
7544
7545
7546
7547
7548
7549
7550
7551
7552
|
if (pktin->type == SSH2_MSG_CHANNEL_SUCCESS) {
logevent("Agent forwarding enabled");
ssh->agentfwd_enabled = TRUE;
} else
logevent("Agent forwarding refused");
}
}
crFinishFreeV;
}
static void ssh2_maybe_setup_pty(struct ssh_channel *c, struct Packet *pktin,
void *ctx)
{
struct ssh2_maybe_setup_pty_state {
int crLine;
|
| ︙ | | | ︙ | |
7591
7592
7593
7594
7595
7596
7597
7598
7599
7600
7601
7602
7603
7604
7605
|
c_write_str(ssh, "Server refused to allocate pty\r\n");
ssh->editing = ssh->echoing = 1;
}
}
} else {
ssh->editing = ssh->echoing = 1;
}
crFinishFreeV(s);
}
static void ssh2_setup_env(struct ssh_channel *c, struct Packet *pktin,
void *ctx)
{
struct ssh2_setup_env_state {
int crLine;
|
|
|
7591
7592
7593
7594
7595
7596
7597
7598
7599
7600
7601
7602
7603
7604
7605
|
c_write_str(ssh, "Server refused to allocate pty\r\n");
ssh->editing = ssh->echoing = 1;
}
}
} else {
ssh->editing = ssh->echoing = 1;
}
crFinishFreeV;
}
static void ssh2_setup_env(struct ssh_channel *c, struct Packet *pktin,
void *ctx)
{
struct ssh2_setup_env_state {
int crLine;
|
| ︙ | | | ︙ | |
7655
7656
7657
7658
7659
7660
7661
7662
7663
7664
7665
7666
7667
7668
7669
|
} else {
logeventf(ssh, "%d environment variables refused",
s->num_env - s->env_ok);
c_write_str(ssh, "Server refused to set all environment variables\r\n");
}
}
out:;
crFinishFreeV(s);
}
/*
* Handle the SSH-2 userauth and connection layers.
*/
static void ssh2_msg_authconn(Ssh ssh, struct Packet *pktin)
{
|
|
|
7655
7656
7657
7658
7659
7660
7661
7662
7663
7664
7665
7666
7667
7668
7669
|
} else {
logeventf(ssh, "%d environment variables refused",
s->num_env - s->env_ok);
c_write_str(ssh, "Server refused to set all environment variables\r\n");
}
}
out:;
crFinishFreeV;
}
/*
* Handle the SSH-2 userauth and connection layers.
*/
static void ssh2_msg_authconn(Ssh ssh, struct Packet *pktin)
{
|
| ︙ | | | ︙ | |