您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ sshpkt_get_end函数代码示例

51自学网 2021-06-03 08:19:29
  C++
这篇教程C++ sshpkt_get_end函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中sshpkt_get_end函数的典型用法代码示例。如果您正苦于以下问题:C++ sshpkt_get_end函数的具体用法?C++ sshpkt_get_end怎么用?C++ sshpkt_get_end使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了sshpkt_get_end函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: input_gssapi_exchange_complete

static intinput_gssapi_exchange_complete(int type, u_int32_t plen, struct ssh *ssh){	Authctxt *authctxt = ssh->authctxt;	int r, authenticated;	const char *displayname;	if (authctxt == NULL || (authctxt->methoddata == NULL && !use_privsep))		fatal("No authentication or GSSAPI context");	/*	 * We don't need to check the status, because we're only enabled in	 * the dispatcher once the exchange is complete	 */	if ((r = sshpkt_get_end(ssh)) != 0)		fatal("%s: %s", __func__, ssh_err(r));	authenticated = PRIVSEP(ssh_gssapi_userok(authctxt->user));	if ((!use_privsep || mm_is_monitor()) &&	    (displayname = ssh_gssapi_displayname()) != NULL)		auth2_record_info(authctxt, "%s", displayname);	authctxt->postponed = 0;	ssh_dispatch_set(ssh, SSH2_MSG_USERAUTH_GSSAPI_TOKEN, NULL);	ssh_dispatch_set(ssh, SSH2_MSG_USERAUTH_GSSAPI_ERRTOK, NULL);	ssh_dispatch_set(ssh, SSH2_MSG_USERAUTH_GSSAPI_MIC, NULL);	ssh_dispatch_set(ssh, SSH2_MSG_USERAUTH_GSSAPI_EXCHANGE_COMPLETE, NULL);	userauth_finish(ssh, authenticated, "gssapi-with-mic", NULL);	return 0;}
开发者ID:ozaki-r,项目名称:netbsd-src,代码行数:32,


示例2: server_request_direct_tcpip

static Channel *server_request_direct_tcpip(struct ssh *ssh){	Channel *c = NULL;	char *target, *originator;	u_int target_port, originator_port;	int r;	if ((r = sshpkt_get_cstring(ssh, &target, NULL)) != 0 ||	    (r = sshpkt_get_u32(ssh, &target_port)) != 0 ||	    (r = sshpkt_get_cstring(ssh, &originator, NULL)) != 0 ||	    (r = sshpkt_get_u32(ssh, &originator_port)) != 0 ||	    (r = sshpkt_get_end(ssh)) != 0)		fatal("%s: %s", __func__, ssh_err(r));	debug("server_request_direct_tcpip: originator %s port %d, target %s "	    "port %d", originator, originator_port, target, target_port);	/* XXX fine grained permissions */	if ((options.allow_tcp_forwarding & FORWARD_LOCAL) != 0 &&	    !no_port_forwarding_flag) {		c = channel_connect_to_port(ssh, target, target_port,		    "direct-tcpip", "direct-tcpip");	} else {		logit("refused local port forward: "		    "originator %s port %d, target %s port %d",		    originator, originator_port, target, target_port);	}	free(originator);	free(target);	return c;}
开发者ID:cafeinecake,项目名称:libopenssh,代码行数:34,


示例3: server_request_session

static Channel *server_request_session(struct ssh *ssh){	Channel *c;	int r;	debug("input_session_request");	if ((r = sshpkt_get_end(ssh)) != 0)		fatal("%s: %s", __func__, ssh_err(r));	if (no_more_sessions) {		ssh_packet_disconnect(ssh,		    "Possible attack: attempt to open a session "		    "after additional sessions disabled");	}	/*	 * A server session has no fd to read or write until a	 * CHANNEL_REQUEST for a shell is made, so we set the type to	 * SSH_CHANNEL_LARVAL.  Additionally, a callback for handling all	 * CHANNEL_REQUEST messages is registered.	 */	c = channel_new(ssh, "session", SSH_CHANNEL_LARVAL,	    -1, -1, -1, /*window size*/0, CHAN_SES_PACKET_DEFAULT,	    0, "server-session", 1);	if (session_open(ssh, c->self) != 1) {		debug("session open failed, free channel %d", c->self);		channel_free(c);		return NULL;	}	channel_register_cleanup(c->self, session_close_by_channel, 0);	return c;}
开发者ID:cafeinecake,项目名称:libopenssh,代码行数:33,


示例4: userauth_none

static intuserauth_none(struct ssh *ssh){    int r;    none_enabled = 0;    if ((r = sshpkt_get_end(ssh)) != 0)        fatal("%s: %s", __func__, ssh_err(r));    if (options.permit_empty_passwd && options.password_authentication)        return (PRIVSEP(auth_password(ssh->authctxt, "")));    return (0);}
开发者ID:hshoexer,项目名称:libopenssh,代码行数:12,


示例5: input_kex_dh_gex_group

static intinput_kex_dh_gex_group(int type, u_int32_t seq, void *ctxt){	struct ssh *ssh = ctxt;	struct kex *kex = ssh->kex;	BIGNUM *p = NULL, *g = NULL;	int r, bits;	debug("got SSH2_MSG_KEX_DH_GEX_GROUP");	if ((p = BN_new()) == NULL ||	    (g = BN_new()) == NULL) {		r = SSH_ERR_ALLOC_FAIL;		goto out;	}	if ((r = sshpkt_get_bignum2(ssh, p)) != 0 ||	    (r = sshpkt_get_bignum2(ssh, g)) != 0 ||	    (r = sshpkt_get_end(ssh)) != 0)		goto out;	if ((bits = BN_num_bits(p)) < 0 ||	    (u_int)bits < kex->min || (u_int)bits > kex->max) {		r = SSH_ERR_DH_GEX_OUT_OF_RANGE;		goto out;	}	if ((kex->dh = dh_new_group(g, p)) == NULL) {		r = SSH_ERR_ALLOC_FAIL;		goto out;	}	p = g = NULL; /* belong to kex->dh now */	/* generate and send 'e', client DH public key */	if ((r = dh_gen_key(kex->dh, kex->we_need * 8)) != 0 ||	    (r = sshpkt_start(ssh, SSH2_MSG_KEX_DH_GEX_INIT)) != 0 ||	    (r = sshpkt_put_bignum2(ssh, kex->dh->pub_key)) != 0 ||	    (r = sshpkt_send(ssh)) != 0)		goto out;	debug("SSH2_MSG_KEX_DH_GEX_INIT sent");#ifdef DEBUG_KEXDH	DHparams_print_fp(stderr, kex->dh);	fprintf(stderr, "pub= ");	BN_print_fp(stderr, kex->dh->pub_key);	fprintf(stderr, "/n");#endif	ssh_dispatch_set(ssh, SSH2_MSG_KEX_DH_GEX_GROUP, NULL);	ssh_dispatch_set(ssh, SSH2_MSG_KEX_DH_GEX_REPLY, &input_kex_dh_gex_reply);	r = 0;out:	if (p)		BN_clear_free(p);	if (g)		BN_clear_free(g);	return r;}
开发者ID:ajinkya93,项目名称:netbsd-src,代码行数:53,


示例6: input_kex_dh_gex_request

static intinput_kex_dh_gex_request(int type, u_int32_t seq, void *ctxt){	struct ssh *ssh = ctxt;	struct kex *kex = ssh->kex;	int r;	u_int min = 0, max = 0, nbits = 0;	debug("SSH2_MSG_KEX_DH_GEX_REQUEST received");	if ((r = sshpkt_get_u32(ssh, &min)) != 0 ||	    (r = sshpkt_get_u32(ssh, &nbits)) != 0 ||	    (r = sshpkt_get_u32(ssh, &max)) != 0 ||	    (r = sshpkt_get_end(ssh)) != 0)		goto out;	kex->nbits = nbits;	kex->min = min;	kex->max = max;	min = MAX(DH_GRP_MIN, min);	max = MIN(DH_GRP_MAX, max);	nbits = MAX(DH_GRP_MIN, nbits);	nbits = MIN(DH_GRP_MAX, nbits);	if (kex->max < kex->min || kex->nbits < kex->min ||	    kex->max < kex->nbits) {		r = SSH_ERR_DH_GEX_OUT_OF_RANGE;		goto out;	}	/* Contact privileged parent */	kex->dh = PRIVSEP(choose_dh(min, nbits, max));	if (kex->dh == NULL) {		sshpkt_disconnect(ssh, "no matching DH grp found");		r = SSH_ERR_ALLOC_FAIL;		goto out;	}	debug("SSH2_MSG_KEX_DH_GEX_GROUP sent");	if ((r = sshpkt_start(ssh, SSH2_MSG_KEX_DH_GEX_GROUP)) != 0 ||	    (r = sshpkt_put_bignum2(ssh, kex->dh->p)) != 0 ||	    (r = sshpkt_put_bignum2(ssh, kex->dh->g)) != 0 ||	    (r = sshpkt_send(ssh)) != 0)		goto out;	/* Compute our exchange value in parallel with the client */	if ((r = dh_gen_key(kex->dh, kex->we_need * 8)) != 0)		goto out;	debug("expecting SSH2_MSG_KEX_DH_GEX_INIT");	ssh_dispatch_set(ssh, SSH2_MSG_KEX_DH_GEX_INIT, &input_kex_dh_gex_init);	r = 0; out:	return r;}
开发者ID:yonglehou,项目名称:Win32-OpenSSH,代码行数:52,


示例7: kex_input_kexinit

/* ARGSUSED */intkex_input_kexinit(int type, u_int32_t seq, void *ctxt){	struct ssh *ssh = ctxt;	struct kex *kex = ssh->kex;	const u_char *ptr;	u_int i;	size_t dlen;	int r;	debug("SSH2_MSG_KEXINIT received");	if (kex == NULL)		return SSH_ERR_INVALID_ARGUMENT;	ssh_dispatch_set(ssh, SSH2_MSG_KEXINIT, NULL);	ptr = sshpkt_ptr(ssh, &dlen);	if ((r = sshbuf_put(kex->peer, ptr, dlen)) != 0)		return r;	/* discard packet */	for (i = 0; i < KEX_COOKIE_LEN; i++)		if ((r = sshpkt_get_u8(ssh, NULL)) != 0)			return r;	for (i = 0; i < PROPOSAL_MAX; i++)		if ((r = sshpkt_get_string(ssh, NULL, NULL)) != 0)			return r;	/*	 * XXX RFC4253 sec 7: "each side MAY guess" - currently no supported	 * KEX method has the server move first, but a server might be using	 * a custom method or one that we otherwise don't support. We should	 * be prepared to remember first_kex_follows here so we can eat a	 * packet later.	 * XXX2 - RFC4253 is kind of ambiguous on what first_kex_follows means	 * for cases where the server *doesn't* go first. I guess we should	 * ignore it when it is set for these cases, which is what we do now.	 */	if ((r = sshpkt_get_u8(ssh, NULL)) != 0 ||	/* first_kex_follows */	    (r = sshpkt_get_u32(ssh, NULL)) != 0 ||	/* reserved */	    (r = sshpkt_get_end(ssh)) != 0)			return r;	if (!(kex->flags & KEX_INIT_SENT))		if ((r = kex_send_kexinit(ssh)) != 0)			return r;	if ((r = kex_choose_conf(ssh)) != 0)		return r;	if (kex->kex_type < KEX_MAX && kex->kex[kex->kex_type] != NULL)		return (kex->kex[kex->kex_type])(ssh);	return SSH_ERR_INTERNAL_ERROR;}
开发者ID:jaredmcneill,项目名称:freebsd,代码行数:53,


示例8: server_input_eof

static intserver_input_eof(int type, u_int32_t seq, struct ssh *ssh){	int r;	/*	 * Eof from the client.  The stdin descriptor to the	 * program will be closed when all buffered data has	 * drained.	 */	debug("EOF received for stdin.");	r = sshpkt_get_end(ssh);	stdin_eof = 1;	return r;}
开发者ID:cafeinecake,项目名称:libopenssh,代码行数:15,


示例9: server_input_window_size

static intserver_input_window_size(int type, u_int32_t seq, struct ssh *ssh){	u_int row, col, xpixel, ypixel;	int r;	if ((r = sshpkt_get_u32(ssh, &row)) != 0 ||	    (r = sshpkt_get_u32(ssh, &col)) != 0 ||	    (r = sshpkt_get_u32(ssh, &xpixel)) != 0 ||	    (r = sshpkt_get_u32(ssh, &ypixel)) != 0 ||	    (r = sshpkt_get_end(ssh)))		return r;	debug("Window change received.");	if (fdin != -1)		pty_change_window_size(fdin, row, col, xpixel, ypixel);	return 0;}
开发者ID:cafeinecake,项目名称:libopenssh,代码行数:18,


示例10: kex_input_newkeys

static intkex_input_newkeys(int type, u_int32_t seq, struct ssh *ssh){	struct kex *kex = ssh->kex;	int r;	debug("SSH2_MSG_NEWKEYS received");	ssh_dispatch_set(ssh, SSH2_MSG_NEWKEYS, &kex_protocol_error);	if ((r = sshpkt_get_end(ssh)) != 0)		return r;	kex->done = 1;	sshbuf_reset(kex->peer);	/* sshbuf_reset(kex->my); */	kex->flags &= ~KEX_INIT_SENT;	free(kex->name);	kex->name = NULL;	return 0;}
开发者ID:djmdjm,项目名称:libopenssh,代码行数:18,


示例11: userauth_jpake

/* * Attempt J-PAKE authentication. */static intuserauth_jpake(struct ssh *ssh){	Authctxt *authctxt = ssh->authctxt;	int r, authenticated = 0;	if ((r = sshpkt_get_end(ssh)) != 0)		fatal("%s: %s", __func__, ssh_err(r));	debug("[email
C++ sshpkt_send函数代码示例
C++ sshkey_free函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。