At 3:57 PM +0100 on 2/10/00, M. Uli Kusterer wrote:

>  if the headers are that big, we'll have to make the whole thing more
>effective. Say, buttons with a size less than, say, 500 bytes are
>kept in the same file as their card. Is this the same for FTP?

No FTP keeps a control connection open. Takes all of
        PORT aaa,bbb,ccc,ddd,eee,fff
        RETR filename
to get a file with FTP. Still requires a seperate connection, though.
Which much be opened and closed after every file.

There are many other transfer protocols, but (ever since Gopher died
out :( ), FTP & HTTP are the only ones in common use by the general
public.

>  What about this: The first card goes completely in one file,
>additional cards are loaded dynamically as needed. There's a
>threshold at which an object will be extracted into a separate file.

If we have small cards, there is no good reason not to put a bunch in one file.

>We can't have users going around and changing stacks
>over the web, that'd be a huge security hole.

If done improperly. But no reason there can't be a property to allow
changing over the web. Could be usefull on company intranets, for
example.

>  Besides that, I'd say we don't allow XCMDs (or any other kind of
>plugin) over the web, and file access commands may only manipulate
>files in a special folder next to the stack.

A special folder next to the stack really does not make sense when the
stack is on the web. There are many considerations for stacks on the
web. Consider:

        - if a stack is running from the web, may it call other stacks?
                -from the web?
                -local?
                        -if a local stack is called by one on the web, can
                         it modify files? Call XThings?
                                -what if one catches and passes or resends
                                 an open message? How do we handle that?
        - if a web stack can not call other stacks, how does it use all the
          handlers in the home stack?
        - can a web stack generate network traffic?
        - what information is a web stack allowed to gather?
                - can it query machine info, FreeCard info, Internet Config
                  info, etc.?
                        - if so, how do we prevent privacy violations?
                        - if not, how does it check for bugfixes, feature
                          availibility, etc.?
                                - do we have to do a taint check on all
                                  variables, buttons, fields, files, etc.
                                  to prevent privacy violations?
                                        - if so, what about using "if"
                                          statements -- e.g.
                                                if (version < 2) then
                                                  -- send list of exploits for
                                                  -- versions less than 2 to
                                                  -- server

Lots more things, too. Writing security & privacy aware apps can be a pain.

Reply via email to