OpenBSD Daily

Presenter Notes

O mnie

  • Adam Wołk
  • Użytkownik Linuksa od polowy lat dziewięćdziesiątych
  • Deweloper OpenBSD od 02.2016
  • 7 lat w sektorze bankowym,
  • 4 lata golf z Koparo

Presenter Notes

Zainteresowania

  • Programowanie
  • Bezpieczeństwo
  • Sieci
  • Gry komputerowe
  • Przestępczość zorganizowana

Presenter Notes

Dlaczego czytanie kodu?

Postanowienie na nowy rok 2017

kaizen

Presenter Notes

Najdrobniejszy krok?

Presenter Notes

htpasswd

 1 --- htpasswd.c  5 Nov 2015 20:07:15 -0000   1.15
 2 +++ htpasswd.c  6 Jun 2017 18:46:39 -0000
 3 @@ -47,7 +47,7 @@ int nagcount;
 4  int
 5  main(int argc, char** argv)
 6  {
 7 -   char salt[_PASSWORD_LEN], tmpl[sizeof("/tmp/htpasswd-XXXXXXXXXX")];
 8 +   char tmpl[sizeof("/tmp/htpasswd-XXXXXXXXXX")];
 9     char hash[_PASSWORD_LEN], pass[1024], pass2[1024];
10     char *line = NULL, *login = NULL, *tok;
11     int c, fd, loginlen, batch = 0;
12 @@ -133,10 +133,8 @@ main(int argc, char** argv)
13         explicit_bzero(pass2, sizeof(pass2));
14     }
15 
16 -   if (strlcpy(salt, bcrypt_gensalt(8), sizeof(salt)) >= sizeof(salt))
17 -       errx(1, "salt too long");
18 -   if (strlcpy(hash, bcrypt(pass, salt), sizeof(hash)) >= sizeof(hash))
19 -       errx(1, "hash too long");
20 +   if (crypt_newhash(pass, "bcrypt,a", hash, sizeof(hash)) != 0)
21 +       err(1, "can't generate hash");
22     explicit_bzero(pass, sizeof(pass));
23 
24     if (file == NULL)

Presenter Notes

Czytanie w grupie

twitter

Presenter Notes

Czytanie w grupie

hn

Po powyższych publikacjach, 130-150 osób na kanale #openbsd-daily.

Presenter Notes

Czytamy kod, piszemy kod

  • czytanie kodu doas
  • nowa funkcjonalność w doas
  • malloc
  • dlopen
  • nie tylko ja czytam kod
    • DuClare (malloc)
    • duncaen (rebound, vga)
    • niamtokik (cat)
  • obecność osób znających dany podsystem znacznie pomaga

Presenter Notes

Poprawiamy błędy, ulepszamy kod

smtpd

Presenter Notes

Co czytaliśmy?

Presenter Notes

Co czytaliśmy?

  • sendbug
  • file
  • spamd
  • w
  • tabled
  • dhcpd
  • finger
  • cat

Presenter Notes

Efekty

  • 11 commitów w OpenBSD
  • OpenSMTPD - poprawiony błąd wycieku deskryptorów
  • Kilka osób pozostaje do dziś aktywnych
  • Lepsza orientacja w kodzie i systemie
    • najlepsze praktyki
    • narzędzia
    • gdzie szukać pomocy
    • jak czytać nowy kod

Presenter Notes

IRC a czytanie kodu

  • czytanie gdy 130 osób czeka aż coś napiszesz
  • narzędzia są ważne:
    • możliwość podlinkowania konkretnej linii kodu
    • skok do definicji bxr

Na dłuższą metę bardzo męczące, zdecydowanie lepiej sprawdziłoby się strumieniowanie obrazu wraz z audio (np. twitch.tv) ewentualnie samo audio (np. mumble). Rozważaliśmy również współdzielone sesje scereen/tmux lub ttycast.

Presenter Notes

Podsumowanie

  • Podsumowanie na blogu
  • 47 czytań
    • 42 dni czytania kodu dzień w dzień
    • 5 czytań co tydzień
  • 3 osoby czytały
  • ~130 osób na kanale
  • 11 commitów w wyniku czytania kodu
  • aktywne około 5 osób podczas każdego czytania

Presenter Notes

Pytania?

Presenter Notes