From 065064fcf455778b0918f783033b374d4ba37a92 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Sat, 25 Jan 2020 22:49:38 +0000 Subject: upstream: add a comment describing the ranges of channel IDs that we use; requested by markus@ OpenBSD-Commit-ID: 83a1f09810ffa3a96a55fbe32675b34ba739e56b --- channels.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'channels.h') diff --git a/channels.h b/channels.h index aa2a87c10..c8ae0d904 100644 --- a/channels.h +++ b/channels.h @@ -1,4 +1,4 @@ -/* $OpenBSD: channels.h,v 1.132 2018/10/04 00:10:11 djm Exp $ */ +/* $OpenBSD: channels.h,v 1.133 2020/01/25 22:49:38 djm Exp $ */ /* * Author: Tatu Ylonen @@ -105,8 +105,16 @@ struct channel_connect { /* Callbacks for mux channels back into client-specific code */ typedef int mux_callback_fn(struct ssh *, struct Channel *); +/* + * NB. channel IDs on the wire and in c->remote_id are uint32, but local + * channel IDs (e.g. c->self) only ever use the int32 subset of this range, + * because we use local channel ID -1 for housekeeping. Remote channels have + * a dedicated "have_remote_id" flag to indicate their validity. + */ + struct Channel { int type; /* channel type/state */ + int self; /* my own channel identifier */ uint32_t remote_id; /* channel identifier for remote peer */ int have_remote_id; /* non-zero if remote_id is valid */ -- cgit v1.2.3