summaryrefslogtreecommitdiff
path: root/channels.h
diff options
context:
space:
mode:
authordjm@openbsd.org <djm@openbsd.org>2018-06-06 18:22:41 +0000
committerDamien Miller <djm@mindrot.org>2018-06-07 04:27:20 +1000
commit115063a6647007286cc8ca70abfd2a7585f26ccc (patch)
tree7bd8d46ae55ff7fc1f8699740d2d2e106c3d5fe8 /channels.h
parent7703ae5f5d42eb302ded51705166ff6e19c92892 (diff)
upstream: Add a PermitListen directive to control which server-side
addresses may be listened on when the client requests remote forwarding (ssh -R). This is the converse of the existing PermitOpen directive and this includes some refactoring to share much of its implementation. feedback and ok markus@ OpenBSD-Commit-ID: 15a931238c61a3f2ac74ea18a98c933e358e277f
Diffstat (limited to 'channels.h')
-rw-r--r--channels.h26
1 files changed, 15 insertions, 11 deletions
diff --git a/channels.h b/channels.h
index 126b04345..1aeafe94e 100644
--- a/channels.h
+++ b/channels.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: channels.h,v 1.130 2017/09/21 19:16:53 markus Exp $ */ 1/* $OpenBSD: channels.h,v 1.131 2018/06/06 18:22:41 djm Exp $ */
2 2
3/* 3/*
4 * Author: Tatu Ylonen <ylo@cs.hut.fi> 4 * Author: Tatu Ylonen <ylo@cs.hut.fi>
@@ -63,6 +63,15 @@
63 63
64#define CHANNEL_CANCEL_PORT_STATIC -1 64#define CHANNEL_CANCEL_PORT_STATIC -1
65 65
66/* TCP forwarding */
67#define FORWARD_DENY 0
68#define FORWARD_REMOTE (1)
69#define FORWARD_LOCAL (1<<1)
70#define FORWARD_ALLOW (FORWARD_REMOTE|FORWARD_LOCAL)
71
72#define FORWARD_ADM 0x100
73#define FORWARD_USER 0x101
74
66struct ssh; 75struct ssh;
67struct Channel; 76struct Channel;
68typedef struct Channel Channel; 77typedef struct Channel Channel;
@@ -283,16 +292,11 @@ int channel_find_open(struct ssh *);
283struct Forward; 292struct Forward;
284struct ForwardOptions; 293struct ForwardOptions;
285void channel_set_af(struct ssh *, int af); 294void channel_set_af(struct ssh *, int af);
286void channel_permit_all_opens(struct ssh *); 295void channel_permit_all(struct ssh *, int);
287void channel_add_permitted_opens(struct ssh *, char *, int); 296void channel_add_permission(struct ssh *, int, int, char *, int);
288int channel_add_adm_permitted_opens(struct ssh *, char *, int); 297void channel_clear_permission(struct ssh *, int, int);
289void channel_copy_adm_permitted_opens(struct ssh *, 298void channel_disable_admin(struct ssh *, int);
290 const struct fwd_perm_list *); 299void channel_update_permission(struct ssh *, int, int);
291void channel_disable_adm_local_opens(struct ssh *);
292void channel_update_permitted_opens(struct ssh *, int, int);
293void channel_clear_permitted_opens(struct ssh *);
294void channel_clear_adm_permitted_opens(struct ssh *);
295void channel_print_adm_permitted_opens(struct ssh *);
296Channel *channel_connect_to_port(struct ssh *, const char *, u_short, 300Channel *channel_connect_to_port(struct ssh *, const char *, u_short,
297 char *, char *, int *, const char **); 301 char *, char *, int *, const char **);
298Channel *channel_connect_to_path(struct ssh *, const char *, char *, char *); 302Channel *channel_connect_to_path(struct ssh *, const char *, char *, char *);