View | Details | Raw Unified | Return to bug 1949 | Differences between
and this patch

Collapse All | Expand All

(-)src/usr.bin/ssh/channels.c (-1 / +14 lines)
Lines 3097-3102 channel_add_adm_permitted_opens(char *ho Link Here
3097
}
3097
}
3098
3098
3099
void
3099
void
3100
channel_disable_adm_local_opens(void)
3101
{
3102
	if (num_adm_permitted_opens == 0) {
3103
		permitted_adm_opens = xmalloc(sizeof(*permitted_adm_opens));
3104
		permitted_adm_opens[num_adm_permitted_opens].host_to_connect
3105
		   = NULL;
3106
		num_adm_permitted_opens = 1;
3107
	}
3108
}
3109
3110
void
3100
channel_clear_permitted_opens(void)
3111
channel_clear_permitted_opens(void)
3101
{
3112
{
3102
	int i;
3113
	int i;
Lines 3137-3143 channel_print_adm_permitted_opens(void) Link Here
3137
		return;
3148
		return;
3138
	}
3149
	}
3139
	for (i = 0; i < num_adm_permitted_opens; i++)
3150
	for (i = 0; i < num_adm_permitted_opens; i++)
3140
		if (permitted_adm_opens[i].host_to_connect != NULL)
3151
		if (permitted_adm_opens[i].host_to_connect == NULL)
3152
			printf(" none");
3153
		else
3141
			printf(" %s:%d", permitted_adm_opens[i].host_to_connect,
3154
			printf(" %s:%d", permitted_adm_opens[i].host_to_connect,
3142
			    permitted_adm_opens[i].port_to_connect);
3155
			    permitted_adm_opens[i].port_to_connect);
3143
	printf("\n");
3156
	printf("\n");
(-)src/usr.bin/ssh/channels.h (+1 lines)
Lines 252-257 void channel_set_af(int af); Link Here
252
void     channel_permit_all_opens(void);
252
void     channel_permit_all_opens(void);
253
void	 channel_add_permitted_opens(char *, int);
253
void	 channel_add_permitted_opens(char *, int);
254
int	 channel_add_adm_permitted_opens(char *, int);
254
int	 channel_add_adm_permitted_opens(char *, int);
255
void	 channel_disable_adm_local_opens(void);
255
void	 channel_update_permitted_opens(int, int);
256
void	 channel_update_permitted_opens(int, int);
256
void	 channel_clear_permitted_opens(void);
257
void	 channel_clear_permitted_opens(void);
257
void	 channel_clear_adm_permitted_opens(void);
258
void	 channel_clear_adm_permitted_opens(void);
(-)src/usr.bin/ssh/servconf.c (+8 lines)
Lines 1288-1293 process_server_config_line(ServerOptions Link Here
1288
			}
1288
			}
1289
			break;
1289
			break;
1290
		}
1290
		}
1291
		if (strcmp(arg, "none") == 0) {
1292
			if (*activep && n == -1) {
1293
				channel_clear_adm_permitted_opens();
1294
				options->num_permitted_opens = 1;
1295
				channel_disable_adm_local_opens();
1296
			}
1297
			break;
1298
		}
1291
		if (*activep && n == -1)
1299
		if (*activep && n == -1)
1292
			channel_clear_adm_permitted_opens();
1300
			channel_clear_adm_permitted_opens();
1293
		for (; arg != NULL && *arg != '\0'; arg = strdelim(&cp)) {
1301
		for (; arg != NULL && *arg != '\0'; arg = strdelim(&cp)) {

Return to bug 1949