]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream: add a comment describing the ranges of channel IDs that
authordjm@openbsd.org <djm@openbsd.org>
Sat, 25 Jan 2020 22:49:38 +0000 (22:49 +0000)
committerDamien Miller <djm@mindrot.org>
Sat, 25 Jan 2020 23:15:13 +0000 (10:15 +1100)
we use; requested by markus@

OpenBSD-Commit-ID: 83a1f09810ffa3a96a55fbe32675b34ba739e56b

channels.h

index aa2a87c10edf69bb26f1ee178f1fae80cfc51acf..c8ae0d90464a6eea36fa950c05fadd5ab57f5cdc 100644 (file)
@@ -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 <ylo@cs.hut.fi>
@@ -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 */