freenode/#lisp - IRC Chatlog
Search
20:56:14
shrdlu68
I'm aware of ssllabs, I think it tests for poor configuration rather than implementation bugs.
20:58:07
shrdlu68
There are hardly more sophisticated tls test suits than fuzzers, which are, in my experience, not very effective in the case of tls/ssl.
21:01:07
fe[nl]ix
I know there are proprietary suites that were built by going through the standard and implementing a contrary test every time there's a MUST or a SHOULD
21:03:02
shrdlu68
For example, cl-tls reports that the certificate that signs microsoft.com's ocsp responses does not have the ocsp-sign bit set.
21:03:12
fe[nl]ix
setting up a business and finding the first customers might not be easy, but doable
21:04:51
shrdlu68
Another example: A bunch of ocsp responders have much longer update intervals than I had initially set as the maximum in cl-tls, forcing me to lower the standards. The spec only says the interval should be "sufficiently recent". This gives people the freedom to set update intervals that I thought no sane person would set for an ocsp responder.
21:09:45
shrdlu68
One concept I learned in writing cl-tls was "bug-compliance" and "bug-compatibility", from Peter Gutmann's blogs. When a major company misreads the specs and creates a buggy x509/tls implementation, everyone else is forced to introduce this bug as well in order to be bug-compatible with the big guys.
21:55:59
shrdlu68
How should write-byte and write-sequence behave when attempting to write to a closed stream?
21:58:12
specbot
Open and Closed Streams: http://www.lispworks.com/reference/HyperSpec/Body/21_aaab.htm
21:58:23
Shinmera
"Except as explicitly specified otherwise, the consequences are undefined when a closed stream is used where a stream is called for.
22:02:24
shrdlu68
I'm trying to determine what's the correct way to handle such a situation in cl-tls. I'm currently raising an error but cl:stream-error might be a better idea.
2:03:50
jasom
emaczen: oh, I guess it's not part of the spec, see trivial-garbage for a portable library
2:22:17
jasom
https://github.com/jasom/ql2nix/tree/overlay <-- an overlay that contains ~75% of the systems in quiciklisp for nix; you should be able to use it to make working dev environments for projects on nix
2:32:21
jasom
it's not well tested (if the system loads with no errors, it gets included), *but* all foreign libraries that are loaded with the system should be correctly included
3:22:55
lexicall
Hi, I'm on OSX using sbcl 1.3.21 with slime 2.14 and I caught "Error while compiling ~/quicklisp/dists/quicklisp/software/slime-2.14/contrib/swank-sbcl-exts.lisp"
3:30:11
happy_gnu[m]
Look I have no idea because I am a begginer at programming, but usually GNU/Linux bistros come with everything packaged in a simpler way
3:33:56
pjb
(ok, it's a commercial unix system so it has a lot of problems (uncorrected bugs) like all commercial software, but still…
3:34:42
happy_gnu[m]
I didn't say it won't work on Mac I just said usually is easier to install things from GNu/Linux than mac
3:34:50
pjb
1- check your rc files. Don't load any thing provided by the packaging system if you used one to install sbcl!
3:35:07
pjb
(this is why using ccl is nice: no packaging system provides ccl! You have to install it yourself :-))
3:36:57
lexicall
I'm using homebrew, which installed slime 2.20 but I don't know exactly how to link that one with quicklisp or emacs.
3:37:12
takitus
It's silly to talk about how easy is to install things on 'Linux'. It depends entirely on which distro.
3:37:42
pjb
lexicall: remove the one installed by homebrew! Only use the one installed by quicklisp!
3:38:14
pjb
Notice I said MacPort, not homebrew. I didn't have had the same success with homebrew, to say the least.
3:41:20
lexicall
pjb: noting related to slime appears in my .sbclrc and LOAD-PATH was set to directory of slime 2.20 in .emacs.d/init.el. but emacs is still loading slime 2.14
3:42:24
pjb
In emacs, it's load-path not LOAD-PATH (emacs symbols are case sensitive and the reader doesn't change the case).
3:49:47
jasom
lexicall: macports has always been better for the softwae I use; I agree it's harder to use, but when the command completes successfully I find I'm much more likely to have something that works
3:50:30
pjb
Of course, there's a degree of personal task and experience in it. For example, I dislike that homebrew installs in /usr/local (this is MY administrative domain!), while I like that MacPort installs in /opt/local/.
3:50:58
pjb
There are also the packages and their versions. You may find what you want in one or the other, but there are differences.
4:00:08
lexicall
i think MacPorts always trying to download source codes and compile them natively, which wastes too much time.
8:31:05
phoe_
loke: so many interesting biochemical processes going on in your body at the moment, have you ever wondered or pondered about how your hairs grow?
8:34:31
Shinmera
I'm thinking some more about the planned rewrite of my CI system, but I don't consider that "very interesting". It is definitely something going on though.
8:44:47
beach
So I have this "intelligent macroexpand" feature in Cleavir. It takes the underlying Common Lisp expression of a concrete syntax tree (CST), calls the normal macroexpand function, and then tries to build a CST from the result and the original CST, in order to preserve, as much as possible, information about source location, present in the original CST.
8:45:15
beach
Now, I have pretty much decided that I want to compile LET by transforming the expression into a lambda form.
8:45:54
beach
I could do that by defining LET as a macro, counting on the intelligent macro expand function to preserve the source location as much as possible.
8:46:27
beach
Alternatively, I could transform the CST corresponding to the LET expression "manually" and then call the compiler on the transformed CST.
8:47:00
beach
In the second case, I am sure that I will get the source location right, but in the first case, maybe not.
8:47:39
beach
A third option would be to write a version of the PARSE-MACRO function that works on CSTs rather than on Common Lisp expressions.
8:48:31
beach
With this third option, I can write code as if I am writing a macro, but the resulting "macro function" would work on CSTs instead.
8:51:01
pjb
He writes: (defmacro let (vs &body forms) `(funcall #'(lambda ,(mapcar #'car vs) ,@forms) ,@(mapcar #'cadr vs))) ; but it's known to be overly simple. For example, you want to deal with declarations.
8:51:42
pjb
There may also be some other problems with the variables (eg. (let ((a 1) (a 2)) …) would expand to something that's is accepted, while this let form is bad.
8:52:08
pjb
There's also that call-arguments-limit doesn't apply to the number of bindings in a LET…