![]() ![]() The rest of PuTTY should try to avoid knowing anything about specific back ends if at all possible. Clearly this is completely wrong: the network.h abstraction is the place to put it, so that it will apply to all back ends equally, and indeed we eventually put it there after another contributor sent a better patch.) (For example, we had several code submissions for proxy support which worked by hacking ssh.c. Any extra feature which can possibly be general across all backends should be so: localising features unnecessarily into the SSH back end is a design error. PuTTY is a generic, multiple-backend, remote VT-terminal client which happens to support one backend which is larger, more popular and more useful than the rest. PuTTY is not an SSH client with some other stuff tacked on the side. Similarly, we assume that the execution character encoding is a superset of the printable characters of ASCII, though we don't assume the numeric values of control characters, particularly '\n' and '\r'.) In particular, we expect PuTTY to be compiled on 32-bit architectures or bigger so it's safe to assume that int is at least 32 bits wide, not just the 16 you are guaranteed by ANSI C. (There are one or two aspects of ANSI C portability which we don't care about. Try not to make assumptions about the precise size of basic types such as int and long int don't use pointer casts to do endianness-dependent operations, and so on. This also means you should stick to what you are guaranteed by ANSI/ISO C (that is, the original C89/C90 standard, not C99). The Unix-specific modules are all in the unix subdirectory the Mac-specific modules are in the mac subdirectory the Windows-specific modules are in the windows subdirectory.Īll the modules in the main source directory - notably all of the code for the various back ends - are platform-generic. ![]() The PuTTY source base is divided into platform-specific modules and platform-generic modules. Adding large amounts of Windows-specific stuff in parts of the code that should be portable is almost guaranteed to make us reject a contribution. We went to great lengths to remove all the Windows-specific stuff from our core modules, and to shift it out into Windows-specific modules. Therefore, embedding Windows-specific code in core modules such as ssh.c is not acceptable. It has a working Unix port a Mac port is in progress more ports may or may not happen at a later date. ![]() If you are planning to send code contributions, you should read this first.ĭespite Windows being its main area of fame, PuTTY is no longer a Windows-only application suite. This appendix lists a selection of the design principles applying to the PuTTY source code. D.13 Single compilation of each source file.D.10 640×480 friendliness in configuration panels.D.9 Keystrokes sent to the server wherever possible.D.3 Multiple sessions per process on some platforms.Again, I place an emphasis on using PortaPuTTY instead. It may be tiny, but it'll make drive writes each time you use it. It is a very reliable solution, much more than Haller's "I think it's friend because it tiny enough to leave room on even the smallest usb drives" I could make a joke here, but I think this is at least an R-rated forum, and such a joke could have my whole response deleted/edited. I was looking for a portable solution for telent and when I actually read the PuTTY help files(OH Em Gee), I learned of PortaPuTTY. I've been on PortaPuTTY since I first found it. I wouldn't touch Haller's PuTTY with a stick. reg file to store its settings, it didn't run correctly, the setting couldn't update, and it was writting those setting to the machine's registry. Last time I used something from haller that used a. I thought I'd toss you the linkage(though if you just typed "Socialist Sushi" in the firefox urlbar, you'd be there). ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |