summary: Remove fixed-length buffers in configuration structure class: wish: This is a request for an enhancement. difficulty: tricky: Needs many tuits. depends: config-locations blocks: portfwd-space priority: medium: This should be fixed one day. fixed-in: r9214 a1f3b7a358adaa7c2a98359cd0373aa823eeb14b (0.63)
Currently PuTTY uses a single struct
(Config) containing a bunch of fixed-length buffers to
store its configuration. This leads to problems such as
limited space for port forwardings.
It should clearly be replaced with a structure containing references
to allocated storage.
This isn't entirely trivial, which is probably the main reason we
haven't done it yet:
Object housekeeping. Currently, when a
Config needs to be duplicated intra-process, a structure
copy is usually by and large adequate, with occasional grotty
fixing-up of pointers. Similar issues apply to construction and
destruction. We'd need to replace this with proper suite of object
housekeeping functions.
Serialisation. Currently `Duplicate Session' is
implemented by squirting the struct over to another
process and crossing our fingers. This is obviously icky, and clearly
won't be sufficient when there are more pointers around.
Any textual format we invent to
store configuration in a file
would probably be suitable for this too; so this should probably wait
until we've done that (which we already have to some extent for the
Unix port).
Opaque objects. Some platforms may use opaque objects to
represent things like filenames. These need to be copyable,
serialisable etc.
If you want to comment on this web site, see the
Feedback page.