Blob
- Date:
- Message:
- implement a valid RFC3986 (URI) parser Up until now I used a "poor man" approach: the uri parser is barely a parser, it tries to extract the path from the request, with some minor checking, and that's all. This obviously is not RFC3986-compliant. The new RFC3986 (URI) parser should be fully compliant. It may accept some invalid URI, but shouldn't reject or mis-parse valid URI. (in particular, the rule for the path is way more relaxed in this parser than it is in the RFC text). A difference with RFC3986 is that we don't even try to parse the (optional) userinfo part of a URI: following the Gemini spec we treat it as an error. A further caveats is that %2F in the path part of the URI is indistinguishable from a literal '/': this is NOT conforming, but due to the scope and use of gmid, I don't see how treat a %2F sequence in the path (reject the URI?).
- Actions:
- History | Blame | Raw File
1 CC = cc2 CFLAGS = -Wall -Wextra -g3 LDFLAGS = -ltls5 .PHONY: all clean test7 all: gmid TAGS README.md9 gmid: gmid.o uri.o10 ${CC} gmid.o uri.o -o gmid ${LDFLAGS}12 TAGS: gmid.c uri.c13 -etags gmid.c uri.c || true15 README.md: gmid.116 mandoc -Tmarkdown gmid.1 | sed -e '1d' -e '$$d' > README.md18 clean:19 rm -f *.o gmid21 uri_test: uri_test.o uri.o22 ${CC} uri_test.o uri.o -o uri_test ${LDFLAGS}24 test: uri_test25 ./uri_test