Quote: Awesome, no more limit.
So what if a server starts subnegotiating, and then just sends an endless stream of random bytes? Either the client program will keep on allocating memory until it crashes due to running out of memory (and causing a lot of pain on the computer in the process), or it will have some kind of internal limit anyway in which case the problem hasn't really been solved.
You do have a point, though, that if the MUD server is being malicious, then there are more issues to worry about in the first place.
Quote: First of all, it keeps mentioning commands, and I don't see anywhere about plain notifications that do not require a response.
Not sure what you're referring to here. Responses aren't required, in general.
Quote: Last of all, it seems to have packages and parameters, but beyond that it is all quite unstructured.
I think that's kind of the idea. The idea is that you define your packages, commands and parameters on top of the data transport layer.
Quote: Nothing like arrays/lists/dictionaries unless you go and hack around a bit. In essence, really simple commands can easily be implemented, once you have anything with a bit more structure you'll be hacking away outside of the spec.
Yes, this is an issue with the ZMP spec. It's worth noting that in many cases, lists can be passed as "the x^th argument onwards".
Quote: And for Python and other languages, writing a simple parser would be quite elementary (syntax is simple, C parser is available freely also, as are other languages I'm quite sure).
This still doesn't really solve the problem of figuring out that it's not a dict but a list, for example. |