Skip to content

Commit 6098efa

Browse files
committed
Merge remote-tracking branch 'upstream/master'
Conflicts: config.c putty.h terminal.c
2 parents 5266ecd + 1513cc4 commit 6098efa

File tree

4 files changed

+360
-4
lines changed

4 files changed

+360
-4
lines changed

config.c

+23
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#include "storage.h"
1212

1313
#define PRINTER_DISABLED_STRING "None (printing disabled)"
14+
#define PRINT_TO_CLIPBOARD_STRING "Windows clipboard"
1415

1516
#define HOST_BOX_TITLE "Host Name (or IP address)"
1617
#define PORT_BOX_TITLE "Port"
@@ -549,11 +550,13 @@ static void printerbox_handler(union control *ctrl, void *dlg,
549550
if (ctrl->editbox.has_list) {
550551
dlg_listbox_clear(ctrl, dlg);
551552
dlg_listbox_add(ctrl, dlg, PRINTER_DISABLED_STRING);
553+
dlg_listbox_add(ctrl, dlg, PRINT_TO_CLIPBOARD_STRING);
552554
pe = printer_start_enum(&nprinters);
553555
for (i = 0; i < nprinters; i++)
554556
dlg_listbox_add(ctrl, dlg, printer_get_name(pe, i));
555557
printer_finish_enum(pe);
556558
}
559+
<<<<<<< HEAD
557560
printer = conf_get_str(conf, CONF_printer);
558561
if (!printer)
559562
printer = PRINTER_DISABLED_STRING;
@@ -565,6 +568,26 @@ static void printerbox_handler(union control *ctrl, void *dlg,
565568
printer[0] = '\0';
566569
conf_set_str(conf, CONF_printer, printer);
567570
sfree(printer);
571+
=======
572+
573+
if (*cfg->printer)
574+
dlg_editbox_set(ctrl, dlg, cfg->printer);
575+
else if (cfg->printclip)
576+
dlg_editbox_set(ctrl, dlg, PRINT_TO_CLIPBOARD_STRING);
577+
else
578+
dlg_editbox_set(ctrl, dlg, PRINTER_DISABLED_STRING);
579+
580+
dlg_update_done(ctrl, dlg);
581+
} else if (event == EVENT_VALCHANGE) {
582+
dlg_editbox_get(ctrl, dlg, cfg->printer, sizeof(cfg->printer));
583+
if (!strcmp(cfg->printer, PRINTER_DISABLED_STRING)) {
584+
*cfg->printer = '\0';
585+
cfg->printclip = 0;
586+
} else if (!strcmp(cfg->printer, PRINT_TO_CLIPBOARD_STRING)) {
587+
*cfg->printer = '\0';
588+
cfg->printclip = 1;
589+
}
590+
>>>>>>> upstream/master
568591
}
569592
}
570593

putty.h

+254
Original file line numberDiff line numberDiff line change
@@ -480,6 +480,260 @@ extern const int be_default_protocol;
480480
extern const char *const appname;
481481

482482
/*
483+
<<<<<<< HEAD
484+
=======
485+
* IMPORTANT POLICY POINT: everything in this structure which wants
486+
* to be treated like an integer must be an actual, honest-to-
487+
* goodness `int'. No enum-typed variables. This is because parts
488+
* of the code will want to pass around `int *' pointers to them
489+
* and we can't run the risk of porting to some system on which the
490+
* enum comes out as a different size from int.
491+
*/
492+
struct config_tag {
493+
/* Basic options */
494+
char host[512];
495+
int port;
496+
int protocol;
497+
int addressfamily;
498+
int close_on_exit;
499+
int warn_on_close;
500+
int ping_interval; /* in seconds */
501+
int tcp_nodelay;
502+
int tcp_keepalives;
503+
char loghost[512]; /* logical host being contacted, for host key check */
504+
/* Proxy options */
505+
char proxy_exclude_list[512];
506+
int proxy_dns;
507+
int even_proxy_localhost;
508+
int proxy_type;
509+
char proxy_host[512];
510+
int proxy_port;
511+
char proxy_username[128];
512+
char proxy_password[128];
513+
char proxy_telnet_command[512];
514+
/* SSH options */
515+
char remote_cmd[512];
516+
char *remote_cmd_ptr; /* might point to a larger command
517+
* but never for loading/saving */
518+
char *remote_cmd_ptr2; /* might point to a larger command
519+
* but never for loading/saving */
520+
int nopty;
521+
int compression;
522+
int ssh_kexlist[KEX_MAX];
523+
int ssh_rekey_time; /* in minutes */
524+
char ssh_rekey_data[16];
525+
int tryagent;
526+
int agentfwd;
527+
int change_username; /* allow username switching in SSH-2 */
528+
int ssh_cipherlist[CIPHER_MAX];
529+
Filename keyfile;
530+
int sshprot; /* use v1 or v2 when both available */
531+
int ssh2_des_cbc; /* "des-cbc" unrecommended SSH-2 cipher */
532+
int ssh_no_userauth; /* bypass "ssh-userauth" (SSH-2 only) */
533+
int ssh_show_banner; /* show USERAUTH_BANNERs (SSH-2 only) */
534+
int try_tis_auth;
535+
int try_ki_auth;
536+
int try_gssapi_auth; /* attempt gssapi auth */
537+
int gssapifwd; /* forward tgt via gss */
538+
int ssh_gsslist[4]; /* preference order for local GSS libs */
539+
Filename ssh_gss_custom;
540+
int ssh_subsys; /* run a subsystem rather than a command */
541+
int ssh_subsys2; /* fallback to go with remote_cmd_ptr2 */
542+
int ssh_no_shell; /* avoid running a shell */
543+
char ssh_nc_host[512]; /* host to connect to in `nc' mode */
544+
int ssh_nc_port; /* port to connect to in `nc' mode */
545+
/* Telnet options */
546+
char termtype[32];
547+
char termspeed[32];
548+
char ttymodes[768]; /* MODE\tVvalue\0MODE\tA\0\0 */
549+
char environmt[1024]; /* VAR\tvalue\0VAR\tvalue\0\0 */
550+
char username[100];
551+
int username_from_env;
552+
char localusername[100];
553+
int rfc_environ;
554+
int passive_telnet;
555+
/* Serial port options */
556+
char serline[256];
557+
int serspeed;
558+
int serdatabits, serstopbits;
559+
int serparity;
560+
int serflow;
561+
/* Keyboard options */
562+
int bksp_is_delete;
563+
int rxvt_homeend;
564+
int funky_type;
565+
int no_applic_c; /* totally disable app cursor keys */
566+
int no_applic_k; /* totally disable app keypad */
567+
int no_mouse_rep; /* totally disable mouse reporting */
568+
int no_remote_resize; /* disable remote resizing */
569+
int no_alt_screen; /* disable alternate screen */
570+
int no_remote_wintitle; /* disable remote retitling */
571+
int no_dbackspace; /* disable destructive backspace */
572+
int no_remote_charset; /* disable remote charset config */
573+
int remote_qtitle_action; /* remote win title query action */
574+
int app_cursor;
575+
int app_keypad;
576+
int nethack_keypad;
577+
int telnet_keyboard;
578+
int telnet_newline;
579+
int alt_f4; /* is it special? */
580+
int alt_space; /* is it special? */
581+
int alt_only; /* is it special? */
582+
int localecho;
583+
int localedit;
584+
int alwaysontop;
585+
int fullscreenonaltenter;
586+
int scroll_on_key;
587+
int scroll_on_disp;
588+
int erase_to_scrollback;
589+
int compose_key;
590+
int ctrlaltkeys;
591+
char wintitle[256]; /* initial window title */
592+
/* Terminal options */
593+
int savelines;
594+
int dec_om;
595+
int wrap_mode;
596+
int lfhascr;
597+
int cursor_type; /* 0=block 1=underline 2=vertical */
598+
int blink_cur;
599+
int beep;
600+
int beep_ind;
601+
int bellovl; /* bell overload protection active? */
602+
int bellovl_n; /* number of bells to cause overload */
603+
int bellovl_t; /* time interval for overload (seconds) */
604+
int bellovl_s; /* period of silence to re-enable bell (s) */
605+
Filename bell_wavefile;
606+
int scrollbar;
607+
int scrollbar_in_fullscreen;
608+
int resize_action;
609+
int bce;
610+
int blinktext;
611+
int win_name_always;
612+
int width, height;
613+
FontSpec font;
614+
int font_quality;
615+
Filename logfilename;
616+
int logtype;
617+
int logxfovr;
618+
int logflush;
619+
int logomitpass;
620+
int logomitdata;
621+
int hide_mouseptr;
622+
int sunken_edge;
623+
int window_border;
624+
char answerback[256];
625+
char printer[128];
626+
int printclip;
627+
int arabicshaping;
628+
int bidi;
629+
/* Colour options */
630+
int ansi_colour;
631+
int xterm_256_colour;
632+
int system_colour;
633+
int try_palette;
634+
int bold_colour;
635+
unsigned char colours[22][3];
636+
/* Selection options */
637+
int mouse_is_xterm;
638+
int rect_select;
639+
int rawcnp;
640+
int rtf_paste;
641+
int mouse_override;
642+
short wordness[256];
643+
/* translations */
644+
int vtmode;
645+
char line_codepage[128];
646+
int cjk_ambig_wide;
647+
int utf8_override;
648+
int xlat_capslockcyr;
649+
/* X11 forwarding */
650+
int x11_forward;
651+
char x11_display[128];
652+
int x11_auth;
653+
Filename xauthfile;
654+
/* port forwarding */
655+
int lport_acceptall; /* accept conns from hosts other than localhost */
656+
int rport_acceptall; /* same for remote forwarded ports (SSH-2 only) */
657+
/*
658+
* The port forwarding string contains a number of
659+
* NUL-terminated substrings, terminated in turn by an empty
660+
* string (i.e. a second NUL immediately after the previous
661+
* one). Each string can be of one of the following forms:
662+
*
663+
* [LR]localport\thost:port
664+
* [LR]localaddr:localport\thost:port
665+
* Dlocalport
666+
* Dlocaladdr:localport
667+
*/
668+
char portfwd[1024];
669+
/* SSH bug compatibility modes */
670+
int sshbug_ignore1, sshbug_plainpw1, sshbug_rsa1,
671+
sshbug_hmac2, sshbug_derivekey2, sshbug_rsapad2,
672+
sshbug_pksessid2, sshbug_rekey2, sshbug_maxpkt2,
673+
sshbug_ignore2;
674+
/*
675+
* ssh_simple means that we promise never to open any channel other
676+
* than the main one, which means it can safely use a very large
677+
* window in SSH-2.
678+
*/
679+
int ssh_simple;
680+
/* Options for pterm. Should split out into platform-dependent part. */
681+
int stamp_utmp;
682+
int login_shell;
683+
int scrollbar_on_left;
684+
int shadowbold;
685+
FontSpec boldfont;
686+
FontSpec widefont;
687+
FontSpec wideboldfont;
688+
int shadowboldoffset;
689+
int crhaslf;
690+
char winclass[256];
691+
692+
/*
693+
* HACK: PuttyTray / Transparency
694+
*/
695+
int transparency;
696+
697+
/*
698+
* HACK: PuttyTray / Reconnect
699+
*/
700+
int wakeup_reconnect;
701+
int failure_reconnect;
702+
703+
/*
704+
* HACK: PuttyTray / PuTTY File
705+
*/
706+
int session_storagetype;
707+
708+
/*
709+
* HACK: PuttyTray / Nutty
710+
* Hyperlink stuff: Underline settings
711+
*/
712+
int url_ctrl_click;
713+
int url_underline;
714+
int url_defbrowser;
715+
int url_defregex;
716+
#ifndef MAX_PATH
717+
# define MAX_PATH 260
718+
#endif
719+
char url_browser[MAX_PATH];
720+
char url_regex[1024];
721+
722+
/*
723+
* HACK: PuttyTray
724+
*/
725+
int tray;
726+
int start_tray;
727+
int tray_restore;
728+
729+
/*
730+
* HACK: PuttyTray / Session Icon
731+
*/
732+
char win_icon[256];
733+
};
734+
735+
/*
736+
>>>>>>> upstream/master
483737
* Some global flags denoting the type of application.
484738
*
485739
* FLAG_VERBOSE is set when the user requests verbose details.

0 commit comments

Comments
 (0)