{"thread":{"id":"41478","subject":"Git Daemon Dummy: 301 Redirects for git:// to https://","startedAt":"2016-02-23T02:32:02Z","lastAt":"2016-02-23T15:11:46Z","messageCount":7,"participants":["Jason A. Donenfeld","Jeff King","John Keeping","Duy Nguyen"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"278958","messageId":"CAHmME9rTpGNHMKbXD48oBYm136=u79YiHjX5hm8ZYC4xSThJsA@mail.gmail.com","threadId":"41478","inReplyTo":null,"subject":"Git Daemon Dummy: 301 Redirects for git:// to https://","fromName":"Jason A. Donenfeld","fromEmail":"jason@zx2c4.com","sentAt":"2016-02-23T02:32:02Z","receivedAt":"2016-02-23T02:32:02Z","isPatch":false,"sender":{"key":"jason@zx2c4.com","avatar":"https://gravatar.com/avatar/8a3d6c2049b8353b1e0fb78142042d142c9dc72975698d944933997974d9fac5?d=mp&s=160"},"body":"Hi folks,\n\nIn case anyone else finds this useful, I wrote this:\n\nhttps://git.zx2c4.com/git-daemon-dummy/about/\n\nIt's an epoll-based responder for git:// that simply returns an error\ntelling users of a new URI. The purpose is to phase out git-daemon in\nfavor of more secure TLS/HTTPS endpoints. With HTTPS certificates now\nbeing free, seems like this could be useful.\n\nMy personal motivation is that I'd like to just totally kill the\ngit-daemon service, but somebody hard coded a URI of mine into a real\nprinted textbook [1], so I don't want it to go stale suddenly. So, I\nneed some way of informing users of the new URI.\n\nLet me know what you think.\n\nJason\n\n\n\n[1] https://books.google.fr/books?id=kJsQAwAAQBAJ&pg=PA314&lpg=PA314&dq=git://git.zx2c4.com&source=bl&ots=W6M9TlYzCY&sig=g-PY0glN2ddWygtFDLiHgbiC69I&hl=en&sa=X&redir_esc=y#v=onepage&q=git%3A%2F%2Fgit.zx2c4.com&f=false\n"},{"id":"278972","messageId":"20160223061517.GA3252@sigill.intra.peff.net","threadId":"41478","inReplyTo":"CAHmME9rTpGNHMKbXD48oBYm136=u79YiHjX5hm8ZYC4xSThJsA@mail.gmail.com","subject":"Re: Git Daemon Dummy: 301 Redirects for git:// to https://","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2016-02-23T06:15:17Z","receivedAt":"2016-02-23T06:15:17Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Tue, Feb 23, 2016 at 03:32:02AM +0100, Jason A. Donenfeld wrote:\n\n> In case anyone else finds this useful, I wrote this:\n> \n> https://git.zx2c4.com/git-daemon-dummy/about/\n> \n> It's an epoll-based responder for git:// that simply returns an error\n> telling users of a new URI.\n\nNeat.\n\n> The purpose is to phase out git-daemon in\n> favor of more secure TLS/HTTPS endpoints. With HTTPS certificates now\n> being free, seems like this could be useful.\n\nYeah, the existence of HTTPS (and the fact that the same URL can be both\nanonymous and authenticated) is nice. Unfortunately, git-over-https is\nnot as efficient as the other protocols, because it's not asynchronously\nbi-directional. It would probably be relatively simple to make a\n\"gits://\" protocol, but I think it would be more interesting still if we\ncould do git-over-websockets, to get the ubiquity benefits of HTTP.\n\nI looked into it once, but was unable to find any reasonably sized\nexplanation of how to implement either the server or client side of\nwebsockets. :)\n\n> My personal motivation is that I'd like to just totally kill the\n> git-daemon service, but somebody hard coded a URI of mine into a real\n> printed textbook [1], so I don't want it to go stale suddenly. So, I\n> need some way of informing users of the new URI.\n\nDarn printed books. I thought the Ministry of Truth was supposed to take\ncare of keeping our facts up to date.\n\n-Peff\n"},{"id":"278993","messageId":"20160223105159.GJ1766@serenity.lan","threadId":"41478","inReplyTo":"CAHmME9rTpGNHMKbXD48oBYm136=u79YiHjX5hm8ZYC4xSThJsA@mail.gmail.com","subject":"Re: Git Daemon Dummy: 301 Redirects for git:// to https://","fromName":"John Keeping","fromEmail":"john@keeping.me.uk","sentAt":"2016-02-23T10:51:59Z","receivedAt":"2016-02-23T10:51:59Z","isPatch":false,"sender":{"key":"john@keeping.me.uk","avatar":"https://avatars.githubusercontent.com/u/1702081?v=4"},"body":"On Tue, Feb 23, 2016 at 03:32:02AM +0100, Jason A. Donenfeld wrote:\n> In case anyone else finds this useful, I wrote this:\n> \n> https://git.zx2c4.com/git-daemon-dummy/about/\n> \n> It's an epoll-based responder for git:// that simply returns an error\n> telling users of a new URI. The purpose is to phase out git-daemon in\n> favor of more secure TLS/HTTPS endpoints. With HTTPS certificates now\n> being free, seems like this could be useful.\n> \n> My personal motivation is that I'd like to just totally kill the\n> git-daemon service, but somebody hard coded a URI of mine into a real\n> printed textbook [1], so I don't want it to go stale suddenly. So, I\n> need some way of informing users of the new URI.\n> \n> Let me know what you think.\n\nThere's no license specified in the repo, it just says \"All rights\nreserved\" in the .c file.  I'm sure you intend it to be open source, but\nit isn't unless a license is specified.\n"},{"id":"278998","messageId":"CACsJy8D1H6k2FJOHQnT3BEnpXDPn8+ux-vJfDLMhO-JybFvR=w@mail.gmail.com","threadId":"41478","inReplyTo":"20160223061517.GA3252@sigill.intra.peff.net","subject":"Re: Git Daemon Dummy: 301 Redirects for git:// to https://","fromName":"Duy Nguyen","fromEmail":"pclouds@gmail.com","sentAt":"2016-02-23T12:13:28Z","receivedAt":"2016-02-23T12:13:28Z","isPatch":false,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"On Tue, Feb 23, 2016 at 1:15 PM, Jeff King <peff@peff.net> wrote:\n> I looked into it once, but was unable to find any reasonably sized\n> explanation of how to implement either the server or client side of\n> websockets. :)\n\nWikipedia explained handshake in four paragraphs. Then you only have\nto chew about ten pages of RFC6455, from page 27 to master data frames\n(and we probably just need binary frames for pkt-line, or fragmented\nwhen sending the pack). Come on, give us git+ws:// :D\n\nPS. Too bad I couldn't find any minimal library that just deals with\nwebsocket data frame handling. I suppose curl can deal with handshake\njust fine.\n-- \nDuy\n"},{"id":"279029","messageId":"CAHmME9qeSEzgw9k8u53O+oCks-dqvfeX_6eXGwCbWD9866sjCg@mail.gmail.com","threadId":"41478","inReplyTo":"20160223105159.GJ1766@serenity.lan","subject":"Re: Git Daemon Dummy: 301 Redirects for git:// to https://","fromName":"Jason A. Donenfeld","fromEmail":"jason@zx2c4.com","sentAt":"2016-02-23T15:10:01Z","receivedAt":"2016-02-23T15:10:01Z","isPatch":false,"sender":{"key":"jason@zx2c4.com","avatar":"https://gravatar.com/avatar/8a3d6c2049b8353b1e0fb78142042d142c9dc72975698d944933997974d9fac5?d=mp&s=160"},"body":"On Tue, Feb 23, 2016 at 11:51 AM, John Keeping <john@keeping.me.uk> wrote:\n> On Tue, Feb 23, 2016 at 03:32:02AM +0100, Jason A. Donenfeld wrote:\n> There's no license specified in the repo, it just says \"All rights\n> reserved\" in the .c file.  I'm sure you intend it to be open source, but\n> it isn't unless a license is specified.\n\nhttps://git.zx2c4.com/git-daemon-dummy/commit/?id=a7ebbf5ab63cb2e95c38a58197cd2805a2deb56f\n\nThere you go.\n"},{"id":"279030","messageId":"CAHmME9pVuo+Wub3=DuY-4Zy0Gjm1qM6empt3vvx9JcarF-rbcA@mail.gmail.com","threadId":"41478","inReplyTo":"20160223061517.GA3252@sigill.intra.peff.net","subject":"Re: Git Daemon Dummy: 301 Redirects for git:// to https://","fromName":"Jason A. Donenfeld","fromEmail":"jason@zx2c4.com","sentAt":"2016-02-23T15:11:10Z","receivedAt":"2016-02-23T15:11:10Z","isPatch":false,"sender":{"key":"jason@zx2c4.com","avatar":"https://gravatar.com/avatar/8a3d6c2049b8353b1e0fb78142042d142c9dc72975698d944933997974d9fac5?d=mp&s=160"},"body":"On Tue, Feb 23, 2016 at 7:15 AM, Jeff King <peff@peff.net> wrote:\n>\n> Yeah, the existence of HTTPS (and the fact that the same URL can be both\n> anonymous and authenticated) is nice. Unfortunately, git-over-https is\n> not as efficient as the other protocols, because it's not asynchronously\n> bi-directional. It would probably be relatively simple to make a\n> \"gits://\" protocol, but I think it would be more interesting still if we\n> could do git-over-websockets, to get the ubiquity benefits of HTTP.\n\nThat's interesting. I didn't realize that even the smart protocol was\nnot as efficient as HTTP, but that makes sense. git+ws:// would indeed\nbe quite nice!\n\n> Darn printed books. I thought the Ministry of Truth was supposed to take\n> care of keeping our facts up to date.\n\n:-P\n"},{"id":"279031","messageId":"CAHmME9qdK-NQ7Kz3JmH5PDwU9JnCG=TC1ipCisd0qffTMwAxYA@mail.gmail.com","threadId":"41478","inReplyTo":"CAHmME9pVuo+Wub3=DuY-4Zy0Gjm1qM6empt3vvx9JcarF-rbcA@mail.gmail.com","subject":"Re: Git Daemon Dummy: 301 Redirects for git:// to https://","fromName":"Jason A. Donenfeld","fromEmail":"jason@zx2c4.com","sentAt":"2016-02-23T15:11:46Z","receivedAt":"2016-02-23T15:11:46Z","isPatch":false,"sender":{"key":"jason@zx2c4.com","avatar":"https://gravatar.com/avatar/8a3d6c2049b8353b1e0fb78142042d142c9dc72975698d944933997974d9fac5?d=mp&s=160"},"body":"On Tue, Feb 23, 2016 at 4:11 PM, Jason A. Donenfeld <Jason@zx2c4.com> wrote:\n> That's interesting. I didn't realize that even the smart protocol was\n> not as efficient as HTTP\n\nCan't type today. *as efficient as git://\n"}]}