1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-09 17:38:00 +00:00

Implement Simon's suggestion of moving DEFAULT_PROTOCOL into a per-backend-

link-module const variable `be_default_protocol' which suggests a sensible
default to the front end (which can ignore it). (DEFAULT_PORT is replaced by a
lookup in the backend[] table.)
Still not pretty, but it does mean that the recent fix for `ssh-default'
doesn't break PuTTYtel.

[originally from svn r2613]
This commit is contained in:
Jacob Nevins 2003-01-15 20:47:50 +00:00
parent c6920b01c4
commit e8ebb4c879
5 changed files with 37 additions and 17 deletions

View File

@ -6,6 +6,12 @@
#include <stdio.h>
#include "putty.h"
#ifdef TELNET_DEFAULT
const int be_default_protocol = PROT_TELNET;
#else
const int be_default_protocol = PROT_SSH;
#endif
struct backend_list backends[] = {
{PROT_SSH, "ssh", &ssh_backend},
{PROT_TELNET, "telnet", &telnet_backend},

View File

@ -7,6 +7,8 @@
#include <stdio.h>
#include "putty.h"
const int be_default_protocol = PROT_TELNET;
struct backend_list backends[] = {
{PROT_TELNET, "telnet", &telnet_backend},
{PROT_RLOGIN, "rlogin", &rlogin_backend},

View File

@ -1,4 +1,4 @@
/* $Id: mac.c,v 1.29 2003/01/14 19:42:00 ben Exp $ */
/* $Id: mac.c,v 1.30 2003/01/15 20:47:50 jacob Exp $ */
/*
* Copyright (c) 1999 Ben Harris
* All rights reserved.
@ -200,8 +200,17 @@ static void mac_startup(void) {
windows.about = NULL;
windows.licence = NULL;
default_protocol = DEFAULT_PROTOCOL;
default_port = DEFAULT_PORT;
default_protocol = be_default_protocol;
/* Find the appropriate default port. */
{
default_port = 0; /* illegal */
int i;
for (i = 0; backends[i].backend != NULL; i++)
if (backends[i].protocol == default_protocol) {
default_port = backends[i].backend->default_port;
break;
}
}
flags = FLAG_INTERACTIVE;
{

18
putty.h
View File

@ -217,6 +217,12 @@ extern struct backend_list {
Backend *backend;
} backends[];
/*
* Suggested default protocol provided by the backend link module.
* The application is free to ignore this.
*/
extern const int be_default_protocol;
struct config_tag {
/* Basic options */
char host[512];
@ -370,18 +376,6 @@ struct config_tag {
int shadowboldoffset;
};
/*
* You can compile with -DTELNET_DEFAULT to have telnet by default
* (otherwise SSH is the default).
*/
#ifdef TELNET_DEFAULT
#define DEFAULT_PROTOCOL PROT_TELNET
#define DEFAULT_PORT 23
#else
#define DEFAULT_PROTOCOL PROT_SSH
#define DEFAULT_PORT 22
#endif
/*
* Some global flags denoting the type of application.
*

View File

@ -272,8 +272,17 @@ int WINAPI WinMain(HINSTANCE inst, HINSTANCE prev, LPSTR cmdline, int show)
char *p;
int got_host = 0;
default_protocol = DEFAULT_PROTOCOL;
default_port = DEFAULT_PORT;
default_protocol = be_default_protocol;
/* Find the appropriate default port. */
{
default_port = 0; /* illegal */
int i;
for (i = 0; backends[i].backend != NULL; i++)
if (backends[i].protocol == default_protocol) {
default_port = backends[i].backend->default_port;
break;
}
}
cfg.logtype = LGTYP_NONE;
do_defaults(NULL, &cfg);