Tiny amount of infrastructure for having actual keys in PuTTYgen.

[originally from svn r2849]
This commit is contained in:
Ben Harris 2003-02-15 14:20:43 +00:00
Родитель 0c1b343646
Коммит c6a92bebfc
5 изменённых файлов: 50 добавлений и 6 удалений

2
Recipe
Просмотреть файл

@ -161,4 +161,4 @@ PuTTYtel : [M] terminal wcwidth ldiscucs logging be_nossh mac macdlg macevlog
+ stricmp vsnprint + stricmp vsnprint
PuTTYgen : [M] macpgen sshrsag sshdssg sshprime sshdes sshbn sshmd5 version PuTTYgen : [M] macpgen sshrsag sshdssg sshprime sshdes sshbn sshmd5 version
+ sshrand macnoise sshsha macstore misc sshrsa sshdss macmisc sshpubk + sshrand macnoise sshsha macstore misc sshrsa sshdss macmisc sshpubk
+ sshaes sshsh512 import macpgen.rsrc + sshaes sshsh512 import macpgen.rsrc macpgkey

Просмотреть файл

@ -43,7 +43,8 @@ extern struct mac_gestalts mac_gestalts;
/* Every window used by PuTTY has a refCon field pointing to one of these. */ /* Every window used by PuTTY has a refCon field pointing to one of these. */
typedef struct { typedef struct {
struct Session *s; struct Session *s; /* Only used in PuTTY */
struct KeyState *ks; /* Only used in PuTTYgen */
int wtype; int wtype;
} WinInfo; } WinInfo;
@ -96,6 +97,13 @@ typedef struct Session {
extern Session *sesslist; extern Session *sesslist;
/* PuTTYgen per-window state */
typedef struct KeyState {
DialogPtr box;
} KeyState;
#define mac_windowkey(w) (((WinInfo *)GetWRefCon(w))->ks)
/* from macdlg.c */ /* from macdlg.c */
extern void mac_newsession(void); extern void mac_newsession(void);
extern void mac_dupsession(void); extern void mac_dupsession(void);
@ -164,6 +172,8 @@ extern Socket ot_register(void *, Plug);
extern Socket ot_new(SockAddr addr, int, int, int, int, Plug); extern Socket ot_new(SockAddr addr, int, int, int, int, Plug);
extern Socket ot_newlistener(char *, int, Plug, int); extern Socket ot_newlistener(char *, int, Plug, int);
extern char *ot_addr_error(SockAddr); extern char *ot_addr_error(SockAddr);
/* from macpgkey.c */
extern void mac_newkey(void);
/* Apple Event Handlers (in various files) */ /* Apple Event Handlers (in various files) */
extern pascal OSErr mac_aevt_oapp(const AppleEvent *, AppleEvent *, long); extern pascal OSErr mac_aevt_oapp(const AppleEvent *, AppleEvent *, long);
extern pascal OSErr mac_aevt_odoc(const AppleEvent *, AppleEvent *, long); extern pascal OSErr mac_aevt_odoc(const AppleEvent *, AppleEvent *, long);

Просмотреть файл

@ -1,4 +1,4 @@
/* $Id: macpgen.c,v 1.1 2003/02/12 23:53:15 ben Exp $ */ /* $Id: macpgen.c,v 1.2 2003/02/15 14:20:43 ben Exp $ */
/* /*
* Copyright (c) 1999, 2003 Ben Harris * Copyright (c) 1999, 2003 Ben Harris
* All rights reserved. * All rights reserved.
@ -126,7 +126,7 @@ static void mac_startup(void) {
/* Get base system version (only used if there's no better selector) */ /* Get base system version (only used if there's no better selector) */
if (Gestalt(gestaltSystemVersion, &mac_gestalts.sysvers) != noErr || if (Gestalt(gestaltSystemVersion, &mac_gestalts.sysvers) != noErr ||
(mac_gestalts.sysvers &= 0xffff) < 0x700) (mac_gestalts.sysvers &= 0xffff) < 0x700)
fatalbox("PuTTY requires System 7 or newer"); fatalbox("PuTTYgen requires System 7 or newer");
/* Find out if we've got Color Quickdraw */ /* Find out if we've got Color Quickdraw */
if (Gestalt(gestaltQuickdrawVersion, &mac_gestalts.qdvers) != noErr) if (Gestalt(gestaltQuickdrawVersion, &mac_gestalts.qdvers) != noErr)
mac_gestalts.qdvers = gestaltOriginalQD; mac_gestalts.qdvers = gestaltOriginalQD;
@ -457,6 +457,9 @@ static void mac_menucommand(long result) {
break; break;
case mFile: case mFile:
switch (item) { switch (item) {
case iNew:
mac_newkey();
goto done;
case iClose: case iClose:
mac_closewindow(window); mac_closewindow(window);
goto done; goto done;

Просмотреть файл

@ -1,4 +1,4 @@
/* $Id: macpgen.r,v 1.1 2003/02/12 23:53:15 ben Exp $ */ /* $Id: macpgen.r,v 1.2 2003/02/15 14:20:43 ben Exp $ */
/* /*
* Copyright (c) 1999, 2002 Ben Harris * Copyright (c) 1999, 2002 Ben Harris
* All rights reserved. * All rights reserved.
@ -260,6 +260,11 @@ resource 'STR ' (-16397, purgeable) {
"This file is used internally by PuTTY. It cannot be opened." "This file is used internally by PuTTY. It cannot be opened."
}; };
/* Missing-application name string, for private keys. */
/* XXX Private keys should eventually be owned by Pageant */
resource 'STR ' (-16396, purgeable) {
"PuTTYgen"
};
/* /*
* Internal resources * Internal resources
@ -435,3 +440,28 @@ resource 'TEXT' (wLicence, "licence", purgeable) {
"CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE " "CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE "
"SOFTWARE." "SOFTWARE."
}; };
/* Key box */
resource 'DLOG' (wKey, "key", purgeable) {
{ 0, 0, 120, 240 },
noGrowDocProc,
invisible,
goAway,
wAbout, /* RefCon -- identifies the window to PuTTY */
wAbout, /* DITL ID */
"untitled",
staggerParentWindowScreen
};
resource 'dlgx' (wKey, "key", purgeable) {
versionZero {
kDialogFlagsUseThemeBackground | kDialogFlagsUseThemeControls
}
};
resource 'DITL' (wKey, "key", purgeable) {
{
}
};

Просмотреть файл

@ -1,4 +1,4 @@
/* $Id: macpgrid.h,v 1.1 2003/02/12 23:53:15 ben Exp $ */ /* $Id: macpgrid.h,v 1.2 2003/02/15 14:20:43 ben Exp $ */
/* /*
* macpgrid.h -- Mac resource IDs for PuTTYgen * macpgrid.h -- Mac resource IDs for PuTTYgen
@ -42,3 +42,4 @@
#define wiAboutLicence 1 #define wiAboutLicence 1
#define wiAboutVersion 3 #define wiAboutVersion 3
#define wLicence 131 #define wLicence 131
#define wKey 134