Aussehen
Suche Einloggen
[c] [meta] [fefe] [erp]

/c/ – Eine der letzten echten Webseiten


Antwort erstellen

(≤ 4)



[Zurück]

  • [l] Felix Sun, 07 Dec 2025 12:39:43 GMT Nr. 160851
    Ohne funktionierenden HTTPS-Port, ohne funktionierenden HTML-Kot und ohne funktionierende Zeichensetzung leider nichts wert.

    Immerhin ist der Affiliate-Text nun raus.

    Felix kommt das alles zu merkwürdig vor.
  • [l] Felix Sun, 07 Dec 2025 13:22:20 GMT Nr. 160852
    >>160851
    Als auf Felix' Weide jemand von einem Schlaganfall zurückkam, sahen die E-Mails anfangs auch so aus.
  • [l] Felix ☎️ Sun, 07 Dec 2025 14:49:58 GMT Nr. 160855
    PNG 590×463 266.1k
    >>160850

    Felix dachte erst, seine Seitenwäre hackiert worden. Irgendwas mit -Crew, wissenschon.

    Vermutlich tippt er mit dem Mund. Sein Kollege sollte ihm Hotkeys einbauen, für *gacker* *wieher* und *neindochoh* dann ist er schon fast wieder der alte.
  • [l] Felix Sun, 07 Dec 2025 16:28:09 GMT Nr. 160859
    Rainer heisst jetz Twxh?
  • [l] Felix Sun, 07 Dec 2025 16:30:49 GMT Nr. 160860 SÄGE
    >>160859
    *jetzt

    Was auch immer der Dicke sich da eingefangen hat, es scheint ansteckend zu sein.
  • [l] Felix Sun, 07 Dec 2025 20:41:38 GMT Nr. 160864
    >>160859

    > Rainer heisst jetz Twxh?

    Rache der Tech Bros
  • [l] Felix Sun, 07 Dec 2025 22:02:11 GMT Nr. 160867
    Schön zu sehen, aber mit TLS ist noch immer was im Argen.
  • [l] Effe ## Mod Sun, 07 Dec 2025 23:10:29 GMT Nr. 160874
  • [l] Felix ☎️ Tue, 09 Dec 2025 20:53:53 GMT Nr. 160947
    >>160861
    >Die Domain www.impfschaden24.de wurde von einem
    checkdomain-Kunden registriert und befindet sich derzeit im Aufbau.
    Domäne registrieren und dann nichts draus machen, nicht mal ne Satire wie z.B. kreuz.net. Der Hurren-Son der das gemacht hat soll in der ewigen Homo-Hölle schmorren.
    Aber Gorona war ja erst letztes Jahr, gelle?
  • [l] Felix Wed, 10 Dec 2025 15:33:31 GMT Nr. 160963
    >>160947
    >ne Satire wie z.B. kreuz.net
    Kreuz.net soll Satire sein?
    Das kommt mir irgendwie spanischjapanisch vor ...
  • [l] Felix Wed, 10 Dec 2025 15:51:28 GMT Nr. 160964
    >>160947
    Die nächste Plandemie wird ja schon propagandistisch vorbereitet mit Vogelgrippe, abwarten! Die plebs müssen schneller enteignet werden!
  • [l] Felix Wed, 10 Dec 2025 19:04:42 GMT Nr. 160967
    JPG 480×360 25.6k
    >>160963
    Gibt es eigentlich noch gegenhund? Wie hieß die Domäne noch mal?
  • [l] Effe Fri, 12 Dec 2025 12:00:14 GMT Nr. 160982
    effe@HASSMASCHINE:~ $ curl --no-alpn --tls-max 1.2 -I4 -vvvvvvvvv https://blog.fefe.de/
    12:57:05.573589 [0-x] == Info: [MULTI] [INIT] added to multi, mid=1, running=1, total=2
    12:57:05.573999 [0-x] == Info: [MULTI] [INIT] -> [SETUP]
    12:57:05.574146 [0-x] == Info: [MULTI] [SETUP] -> [CONNECT]
    12:57:05.574293 [0-x] == Info: [READ] client_reset, clear readers
    12:57:05.574506 [0-0] == Info: [MULTI] [CONNECT] [CPOOL] added connection 0. The cache now contains 1 members
    12:57:05.574776 [0-0] == Info: [DNS] init threaded resolve of blog.fefe.de:443
    12:57:05.575154 [0-0] == Info: [DNS] resolve thread started for of blog.fefe.de:443
    12:57:05.575388 [0-0] == Info: [MULTI] [CONNECT] -> [RESOLVING]
    12:57:05.575617 [0-0] == Info: [MULTI] [RESOLVING] multi_wait pollset[fd=4 IN], timeouts=1
    12:57:05.577000 [0-0] == Info: [DNS] Curl_resolv_check() -> 0, missing
    12:57:05.578517 [0-0] == Info: [MULTI] [RESOLVING] multi_wait pollset[fd=4 IN], timeouts=1
    12:57:05.580854 [0-0] == Info: [DNS] is_resolved() result=0, dns=found
    12:57:05.581128 [0-0] == Info: [DNS] resolve, destroy async data, shared ref=0
    12:57:05.581334 [0-0] == Info: [MULTI] [RESOLVING] Curl_multi_will_close fd=4
    12:57:05.581545 [0-0] == Info: Host blog.fefe.de:443 was resolved.
    12:57:05.581723 [0-0] == Info: IPv6: (none)
    12:57:05.581833 [0-0] == Info: IPv4: 31.15.64.162
    12:57:05.581957 [0-0] == Info: [DNS] Curl_resolv_check() -> 0, found
    12:57:05.582131 [0-0] == Info: [SETUP] added
    12:57:05.582255 [0-0] == Info: [MULTI] [RESOLVING] -> [CONNECTING]
    12:57:05.582431 [0-0] == Info: [HAPPY-EYEBALLS] created ipv4 (timeout 299992ms)
    12:57:05.582631 [0-0] == Info: [HAPPY-EYEBALLS] ipv4 starting (timeout=299992ms)
    12:57:05.582873 [0-0] == Info:   Trying 31.15.64.162:443...
    12:57:05.583039 [0-0] == Info: [TCP] cf_socket_open() -> 0, fd=4
    12:57:05.583287 [0-0] == Info: [TCP] local address 10.0.0.10 port 45966...
    12:57:05.583850 [0-0] == Info: [HAPPY-EYEBALLS] ipv4 connect -> 0, connected=0
    12:57:05.584049 [0-0] == Info: [SETUP] Curl_conn_connect(block=0) -> 0, done=0
    12:57:05.584265 [0-0] == Info: [TCP] adjust_pollset, !connected, POLLOUT fd=4
    12:57:05.584459 [0-0] == Info: [HAPPY-EYEBALLS] adjust_pollset -> 1 socks
    12:57:05.584644 [0-0] == Info: [MULTI] [CONNECTING] multi_wait pollset[fd=4 OUT], timeouts=0
    12:57:05.595604 [0-0] == Info: [TCP] connected
    12:57:05.596492 [0-0] == Info: [HAPPY-EYEBALLS] ipv4 connect -> 0, connected=1
    12:57:05.597929 [0-0] == Info: [HAPPY-EYEBALLS] Connected to blog.fefe.de (31.15.64.162) port 443
    12:57:05.598182 [0-0] == Info: [SSL] cf_connect()
    12:57:05.598344 [0-0] == Info: [SSL] ossl_connect, step1
    12:57:05.610406 [0-0] == Info: [SSLS] find peer slot for blog.fefe.de:443:TLSVER-0-6:CA-/etc/ssl/certs/ca-certificates.crt:CApath-/etc/ssl/certs:IMPL-OpenSSL/3.5.4:G among 25 slots
    12:57:05.610968 [0-0] == Info: [SSLS] peer not found for blog.fefe.de:443:TLSVER-0-6:CA-/etc/ssl/certs/ca-certificates.crt:CApath-/etc/ssl/certs:IMPL-OpenSSL/3.5.4:G
    12:57:05.611370 [0-0] == Info: [SSLS] no cached session for blog.fefe.de:443:TLSVER-0-6:CA-/etc/ssl/certs/ca-certificates.crt:CApath-/etc/ssl/certs:IMPL-OpenSSL/3.5.4:G
    12:57:05.612001 [0-0] == Info: [SSL] ossl_connect, step2
    12:57:05.612512 [0-0] => Send SSL data, 5 bytes (0x5)
    0000: .....
    12:57:05.612711 [0-0] == Info: TLSv1.2 (OUT), TLS handshake, Client hello (1):
    12:57:05.612906 [0-0] => Send SSL data, 203 bytes (0xcb)
    0000: ........@.%.~6..K&.L6I..%.N.....Q.......6.,.0.........+./...$.(.
    0040: k.#.'.g.....9.....3.....=.<.5./...h..............blog.fefe.de...
    0080: ................................*.(.............................
    00c0: ...........
    12:57:05.613795 [0-0] == Info: [TCP] send(len=208) -> 208, err=0
    12:57:05.613959 [0-0] == Info: [SSL] ossl_bio_cf_out_write(len=208) -> 208, err=0
    12:57:05.614198 [0-0] == Info: [TCP] recv(len=5) -> 0, err=0
    12:57:05.614350 [0-0] == Info: [SSL] ossl_bio_cf_in_read(len=5) -> 0, err=0
    12:57:05.614542 [0-0] == Info: [SSL] ossl_populate_x509_store, path=/etc/ssl/certs/ca-certificates.crt, blob=0
    12:57:05.685545 [0-0] == Info:  CAfile: /etc/ssl/certs/ca-certificates.crt
    12:57:05.687229 [0-0] == Info:  CApath: /etc/ssl/certs
    12:57:05.688428 [0-0] => Send SSL data, 5 bytes (0x5)
    0000: .....
    12:57:05.690323 [0-0] == Info: Send failure: Broken pipe
    12:57:05.691499 [0-0] == Info: [TCP] send(len=7) -> -1, err=55
    12:57:05.692870 [0-0] == Info: [SSL] ossl_bio_cf_out_write(len=7) -> -1, err=55
    12:57:05.694656 [0-0] == Info: TLSv1.2 (OUT), TLS alert, decode error (562):
    12:57:05.695285 [0-0] => Send SSL data, 2 bytes (0x2)
    0000: .2
    12:57:05.695499 [0-0] == Info: [SSL] SSL_connect() -> err=-1, detail=1
    12:57:05.695700 [0-0] == Info: TLS connect error: error:0A000126:SSL routines::unexpected eof while reading
    12:57:05.695967 [0-0] == Info: [SSL] cf_connect() -> 35, done=0
    12:57:05.696126 [0-0] == Info: [SETUP] Curl_conn_connect(block=0) -> 35, done=0
    12:57:05.696320 [0-0] == Info: [SETUP] Curl_conn_connect(), filter returned 35
    12:57:05.696522 [0-0] == Info: [MULTI] [CONNECTING] multi_done: status: 35 prem: 1 done: 0
    12:57:05.696752 [0-0] == Info: [WRITE] [OUT] done
    12:57:05.696884 [0-x] == Info: [MULTI] [CONNECTING] multi_done_locked, in use=0
    12:57:05.697091 [0-0] == Info: [MULTI] [CONNECTING] multi_done, not reusing connection=0, forbid=0, close=0, premature=1, conn_multiplex=0
    12:57:05.697432 [0-0] == Info: closing connection #0
    12:57:05.703244 [0-0] == Info: [MULTI] [CONNECTING] -> [COMPLETED]
    12:57:05.704980 [0-0] == Info: [MULTI] [COMPLETED] -> [MSGSENT]
    12:57:05.706206 [0-0] == Info: [MULTI] [COMPLETED] removed from multi, mid=1, running=0, total=1
    curl: (35) Send failure: Broken pipe
    

  • [l] Effe Fri, 12 Dec 2025 12:11:12 GMT Nr. 160983
    effe@HASSMASCHINE:~$ openssl s_client -connect blog.fefe.de:443 -showcerts
    Connecting to 31.15.64.162
    CONNECTED(00000003)
    2030F8B6:error:0A000126:SSL routines::unexpected eof while reading:../ssl/record/rec_layer_s3.c:696:
    ---
    no peer certificate available
    ---
    No client certificate CA names sent
    Negotiated TLS1.3 group: <NULL>
    ---
    SSL handshake has read 0 bytes and written 1561 bytes
    Verification: OK
    ---
    New, (NONE), Cipher is (NONE)
    Protocol: TLSv1.3
    This TLS version forbids renegotiation.
    Compression: NONE
    Expansion: NONE
    No ALPN negotiated
    Early data was not sent
    Verify return code: 0 (ok)
    ---
    

  • [l] Felix Fri, 12 Dec 2025 12:48:04 GMT Nr. 160985
    >>160982
    >--tls-max 1.2
    Warum?
  • [l] Felix Fri, 12 Dec 2025 15:30:21 GMT Nr. 160986
    JPG 800×1256 297.0k
    >>160985
    Irgendwo muss man ja mal anfagen den Fehler zu suchen, also erstmal altgedientes Protokoll befragen.
    So wie es aussieht im openSSL stack wird gar kein Cert gesendet. Dabei hat er ja erfolgreich eine issuance für das neue veranlasst. Aber wenn alles in der gatling.conf von Hand gefrengt ist hat er wohl den privkey.pem als twxh.pem rein getwxht.
  • [l] Felix Sat, 13 Dec 2025 04:34:26 GMT Nr. 160990
    >>160986
    Harro, TLS-Experten-Felix. Hast du irgendwelche Einblicke hierzu? Vor allem dieser 307-Redirect gibt Felix Rätsel auf.

    >>160890
    >>160891
    >>160893
  • [l] Felix Sat, 13 Dec 2025 08:26:54 GMT Nr. 160991
    JPG 772×1248 530.7k
    >>160990
    HSTS zwingt den Browser, eine Umleitung zur HTTPS-URL vorzunehmen (in der Regel mit dem Statuscode 307), sofern die URL zuvor bereits aufgerufen wurde.

    Und das ist ein sehr Chrome spezifisches Verhalten.

    Weswegen ich den 307 auch nicht im Firefox sehe. Ich kann zwar:
    1) per HTTPS aufrufen
    2) manuell auf HTTP dowgraden
    3) ganze Monat clicken
    4) werde wieder auf HTTPS geschickt
    goto :2)
    repeat

    Dabei habe ich allerdings keine 307s sondern immer nur 200. Von daher ist das eher Implementierung und das wir mehrere Probleme sehen:
    1) Die Header zwingen uns HTTPS dank HSTS zu nutzen
    2) Sein TLS-Stack sendet und kein Cert, weil er wahrscheinlich den Namen vertippt hat.
    3) Ausgehandelt wird eine <NULL> cipher group
    4) Der Browser wertet das zurecht als unsicher
    5) sein Server antwortet nicht und man bekommt eine broken pipe weil die Gegenseite vermutlich den Port bereits geschlossen hat von dem man Daten-Austausch macht



  • [l] Felix Sat, 13 Dec 2025 09:15:20 GMT Nr. 160992
    >>160991
    Klingt einleuchtend. Dass Chrome HSTS implementiert, indem es einen 307-Redirect simuliert, wäre mir nie in den Sinn gekommen.
  • [l] Felix Sat, 13 Dec 2025 16:35:46 GMT Nr. 160994
    JPG 560×599 195.1k
    Felix hat jetzt für den Feuerfuchs mal den Drahthai aufgemacht. Drahthai: Gehe tief Was kann schon tief gehen.

    Man hat noch nichts an HTTP für blog.fefe.de erlaubt:
    *Man gibt http://blog.fefe.de ein
    *Firefox ignoriert "http", macht Verbindung zu Port 443 auf
    *Firefox schickt Client Hello an Fefes Servierer
    *Fefes Servierer macht direkt Verbindung auf Port 443 mit FIN zu
    *Firefox schickt zur Bestätigung ACK und FIN+ACK an Fefes Servierer
    *Fefes Servierer macht Verbindung auf Port 443 mit RST zu
    *Firefox macht erneut Verbindung zu Port 443 auf (warum zweite Verbindung aufmachen???)
    *Firefox schickt erneut Client Hello an Fefes Servierer
    *Fefes Servierer macht erneut direkt Verbindung auf Port 443 mit FIN zu
    *Firefox schickt erneut zur Bestätigung ACK und FIN+ACK an Fefes Servierer
    *Fefes Servierer macht erneut Verbindung auf Port 443 mit RST zu
    *Firefox zeigt schicke "Secure Site Not Available"-Seite an, wo man auf [Continue to HTTP Site] klicken kann

    Man hat bereits HTTP für blog.fefe.de erlaubt:
    *Man gibt http://blog.fefe.de ein
    *Firefox macht Verbindung zu Port 80 auf
    *Firefox schickt HTTP GET zu Fefes Servierer, darin "Upgrade-Insecure-Requests: 1\r\n"
    *Firefox kriegt ACK von Fefes Servierer zurück, von Port 80, Payload sind 627 Bytes an HTML-Kot, "Upgrade-Insecure-Requests" anscheinend ignoriert
    *Firefox macht Verbindung zu Port 80 mit FIN zu (warum Verbindung nicht fürs Favicon wiederverwenden???)
    *Firefox macht Verbindung zu Port 80 auf
    *Firefox schickt HTTP GET fürs Favicon zu Fefes Servierer, darin "Connection: keep-alive\r\n", also kein "Upgrade-Insecure-Requests" fürs Favicon
    *Firefox kriegt ACK von Fefes Servierer zurück, von Port 80, Payload sind 357 Bytes an Favicon

    Felix sieht damits nichts von HSTS irgendwo, und Fefes Servierer ignoriert auch "Upgrade-Insecure-Requests" auf Port 80.
  • [l] Feuerfuchs Felix Sun, 14 Dec 2025 05:14:51 GMT Nr. 161000
    Wie zum Fick kommt ihr alle mit dem Feuerfuchs auf http://blog.fefe.de? Was mache ich falsch?
  • [l] Felix Sun, 14 Dec 2025 05:19:24 GMT Nr. 161001 SÄGE
    PNG 1000×1434 120.4k
    >>161000
    Ok, bin duhm. War wegen der HTTPS-Everywhere-Erweiterung. Wer HTTPS-Everywhere installiert hat, der bekommt auch HTTPS Everywhere. So ein Fach ist das.
  • [l] Felix Sun, 14 Dec 2025 13:21:03 GMT Nr. 161007
  • [l] Felix Sun, 14 Dec 2025 13:34:52 GMT Nr. 161008
    >>161001
    >HTTPS-ÜBERALL-ERWEITERUNG
    Seit Feuerfuchs 83 unnötig.
  • [l] Felix Sun, 14 Dec 2025 13:42:28 GMT Nr. 161011
    PNG 703×217 33.2k
    >>161008
    Definiere "unnötig". Falls du Bild relatiert meinst: Damit hat Felix es auch mal eine Weile versucht, aber das ist nervig und funktioniert nicht gescheit, weil es wirklich NUR noch HTTPS erlaubt und gar kein HTTP mehr. Nicht mal im lokalen Netzwerk. HTTPS-Everywhere hingegen forciert HTTPS nur dort, wo es tatsächlich auch verfügbar ist. HTTPS-Everywhere funktioniert einfach™. Deshalb hat Felix es irgendwann aufgegeben und das FF-Feature deaktiviert und wieder die gute alte Erweiterung installiert.
  • [l] Felix Sun, 14 Dec 2025 14:06:48 GMT Nr. 161014
    GIF 400×472 559.6k
    >>161011
    Felix fährt seit Ewigkeiten mit:
    >[x] Enable HTTPS-Only-Mode in all windows

    >aber das ist nervig und funktioniert nicht gescheit, weil es wirklich NUR noch HTTPS erlaubt und gar kein HTTP mehr.
    Es präsentiert eine Warnseite, und wenn man dort auf [Continue to HTTP Site] klickt, wird eine temporäre Ausnahme (bis zum nächsten Brauserneustart) hinzugefügt.
    Felix findet die Warnseite schon gut, weil Felix dann direkt weiß, dass das eine Ranzseite ist, auf die man niemals nie nicht irgendwelche Daten eingeben sollte.

    >Nicht mal im lokalen Netzwerk.
    Man kann unter "Manage Exceptions..." dauerhafte Ausnahmen hinzufügen.
  • [l] servierer dood Thu, 30 Jul 2026 06:57:56 GMT Nr. 164131
    PNG 858×484 45.2k
    PNG 349×117 3.5k
    $ curl -I4 -vvvvvvvvv http://blog.fefe.de:80/
    ...
    08:53:30.363907 [0-0] == Info: Connected to blog.fefe.de (31.15.64.162) port 80
    08:53:30.364364 [0-0] == Info: using HTTP/1.x
    08:53:30.364573 [0-0] == Info: [MULTI] [CONNECTING] -> [PROTOCONNECT]
    08:53:30.364938 [0-0] == Info: [MULTI] [PROTOCONNECT] -> [DO]
    08:53:30.365369 [0-0] == Info: [TCP] send(len=77) -> 77, err=0
    ...
    0000: HEAD / HTTP/1.1
    0011: Host: blog.fefe.de
    0025: User-Agent: curl/8.14.1
    003e: Accept: */*
    ...
    08:53:30.366554 [0-0] == Info: [MULTI] [DO] -> [DID]
    08:53:30.366831 [0-0] == Info: [MULTI] [DID] -> [PERFORMING]
    08:53:30.367197 [0-0] == Info: [TCP] recv(len=102400) -> -1, err=81
    08:53:30.367570 [0-0] == Info: Request completely sent off
    ...
    curl: (52) Empty reply from server
    ...
    


    Servierer dood und neues Fehlerbild? Sonst dauerte es nur ewig und kam bei ignorieren sämtlicher timeouts.
  • [l] Felix Mon, 03 Aug 2026 10:16:15 GMT Nr. 164218
    JPG 960×707 64.2k
    >>164131
    Scheint heute, vier Tage später, immer noch karpott zu sein.
  • [l] Felix Tue, 04 Aug 2026 09:21:01 GMT Nr. 164222
    TAR.XZ 1.2M
    Felix hat sich mal dazu entschlossen, alle bekannten CVS-Repositories wenigstens auszuchecken, bevor der Mist auch umfällt.
    Die letzten Änderungen waren wenig überraschend an gatling zwei Tage vor dem letzten Blogpfosten.
  • [l] Felix Tue, 04 Aug 2026 09:28:08 GMT Nr. 164223
    GIF 367×373 78.5k
    >>164222
    Danke, Felix, du bist ein Held. Dieser CVS-Mist ist Felix selbst nach über 20 Jahren Computerey und Benutzung von mehreren anderen Versionskontrollsystemen immer noch zu hoch. Wie kann man damit nur arbeyten?
  • [l] Felix Tue, 04 Aug 2026 09:40:30 GMT Nr. 164224
    PNG 694×732 118.3k
    JPG 236×217 10.8k
    >>164222
    >>164223
      case HSS_HEADER_C:
        if ((c|0x20)=='o') { hss->state=HSS_HEADER_CO; break; }
        else goto shared;
    
      case HSS_HEADER_CO:
        if ((c|0x20)=='n') { hss->state=HSS_HEADER_CON; break; }
        else goto shared;
    
      case HSS_HEADER_CON:
        if ((c|0x20)=='t') { hss->state=HSS_HEADER_CONT; break; }
        else goto shared;
    
      case HSS_HEADER_CONT:
        if ((c|0x20)=='e') { hss->state=HSS_HEADER_CONTE; break; }
        else goto shared;
    
      case HSS_HEADER_CONTE:
        if ((c|0x20)=='n') { hss->state=HSS_HEADER_CONTEN; break; }
        else goto shared;
    
      case HSS_HEADER_CONTEN:
        if ((c|0x20)=='t') { hss->state=HSS_HEADER_CONTENT; break; }
        else goto shared;
    
      case HSS_HEADER_CONTENT:
        if (c=='-') { hss->state=HSS_HEADER_CONTENT_; break; }
        else goto shared;
    
      case HSS_HEADER_CONTENT_:
        if ((c|0x20)=='l') { hss->state=HSS_HEADER_CONTENT_L; break; }
        else goto shared;
    
      case HSS_HEADER_CONTENT_L:
        if ((c|0x20)=='e') { hss->state=HSS_HEADER_CONTENT_LE; break; }
        else goto shared;
    
      case HSS_HEADER_CONTENT_LE:
        if ((c|0x20)=='n') { hss->state=HSS_HEADER_CONTENT_LEN; break; }
        else goto shared;
    
      case HSS_HEADER_CONTENT_LEN:
        if ((c|0x20)=='g') { hss->state=HSS_HEADER_CONTENT_LENG; break; }
        else goto shared;
    
      case HSS_HEADER_CONTENT_LENG:
        if ((c|0x20)=='t') { hss->state=HSS_HEADER_CONTENT_LENGT; break; }
        else goto shared;
    
      case HSS_HEADER_CONTENT_LENGT:
        if ((c|0x20)=='h') { hss->state=HSS_HEADER_CONTENT_LENGTH; break; }
        else goto shared;
    
      case HSS_HEADER_CONTENT_LENGTH:
        if (c==':') { hss->state=HSS_HEADER_CONTENT_LENGTH_; break; }
        else goto shared;
    
      case HSS_HEADER_CONTENT_LENGTH_:
        if (c==' '||c=='\t') break;	// skip whitespace without changing state
        if (c>='0' && c<='9') { hss->bytesleft=c-'0'; hss->state=HSS_HEADER_CONTENT_LENGTH_NUM; break; }
        else goto shared;
    



    MEINE AUGEN
    AHHHHHHHHHHHHHHHHHHHH
  • [l] Felix Tue, 04 Aug 2026 10:55:03 GMT Nr. 164228
    >>164224
    Warte, bis du das goto schongut; findest.

    /* "a href=fnord" -> "a href=\"fnord\"" */
    static int stralloc_cathtmlfix_tag(stralloc* sa,const char* html,int jsescape) {
      const char* orig=html;
      if (tolower(*html)=='a' && isspace(html[1])) {
        while (*html && *html != '>') {
          if (*html=='=') {
    	if (!stralloc_catb(sa,html,1)) return -1;
    	++html;
    	if (*html=='"') goto schongut;
    	if (!stralloc_catb(sa,"\"",1)) return -1;
    	while (*html && *html != '>' && !isspace(*html)) {
    	  if (jsescape && *html=='\'' && !stralloc_catb(sa,"\\",1)) return -1;
    	  if (!stralloc_catb(sa,html,1)) return -1;
    	  ++html;
    	}
    	if (!*html) return -1;
    	if (!stralloc_catb(sa,"\"",1)) return -1;
    	if (*html == '>') break;
          } else if (*html=='"') {
    schongut:
    	if (!stralloc_catb(sa,html,1)) return -1;
    	++html;
    	while (*html && *html != '"') {
    	  if (jsescape && *html=='\'' && !stralloc_catb(sa,"\\",1)) return -1;
    	  if (!stralloc_catb(sa,html,1)) return -1;
    	  ++html;
    	}
    	if (!*html) return -1;
          }
          if (!stralloc_catb(sa,html,1)) return -1;
          ++html;
        }
      } else {
        while (*html && *html != '>') {
          if (*html=='"') {
    	if (!stralloc_catb(sa,html,1)) return -1;
    	++html;
    	while (*html && *html != '"') {
    	  if (jsescape && *html=='\'' && !stralloc_catb(sa,"\\",1)) return -1;
    	  if (!stralloc_catb(sa,html,1)) return -1;
    	  ++html;
    	}
    	if (!*html) return -1;
          }
          if (!stralloc_catb(sa,html,1)) return -1;
          ++html;
        }
      }
      return html-orig;
    }

  • [l] Felix Tue, 04 Aug 2026 13:29:19 GMT Nr. 164233
    >>164228
    Das kannte Felix bereits, aber sowas ist er von fefec0de gewohnt, da zuckt er nicht mal mehr mit der Wimper. Aber das da >>164224 sieht echt aus wie aus einem dieser Mems. Was zum Fick?
  • [l] Felix Tue, 04 Aug 2026 15:55:44 GMT Nr. 164241
    Sieht alles nach einem soliden RFC aus. Push.
  • [l] Felix Tue, 04 Aug 2026 16:47:53 GMT Nr. 164244
    JPG 640×427 49.6k
    >>164243
    >Den Spaghetti-Kot da, isst du den noch?
  • [l] Felix Wed, 05 Aug 2026 15:33:07 GMT Nr. 164251
    >>164223
    Das liegt daran, dass CVS kein gewissenhaft designtes Produkt, sondern das Ergebnis organischer Unix-Frickelscheiße ist.
    Ursprünglich gab es gar keine strukturierte Versionsverwaltung und es wurden höchstens durchnummerierte Dateien benutzt. Irgendwann kam man dann auf die Idee, das diff-Programm zu automatisieren. Das war der Ursprung des Urvaters RCS, das die Versionskontrolle individueller Dateien ermöglicht hat (weil diff ursprünglich nur ein Paar von Dateien vergleichen konnte). Die Datei foobar.c wich dabei dem Masterfile RCS/foobar.c,v das schreibgeschützt war und nur nach einem Checkout (aktuelle Version rekonstruieren + Lockfile erstellen) Änderungen erlaubt hat. Das Masterfile-Format ist dabei nur ein Haufen zusammengeklebte diff-Patches mit Kontrollzeilen (Autor, Zeitstempel, Commit-Nachricht).
    Bei CVS handelt es dann eigentlich nur um Mehrspieler-RCS, das u. a. eine Netzwerk-Schnittstelle ergänzt und das harte Locking zugunsten einer lokalen Arbeitskopie und Konflikt-Auflösungsalgorithmen aufgibt. Außerdem hat CVS ein Konzept von Modulen, dass ein Satz von Dateien irgendwie zusammengehört. Die Metadaten darüber (z. B. CVS/Entries, das alle zugehörigen Dateien mit neuster Version aufführt) wurden ebenfalls als Masterfiles versioniert.
    Das Konzept hat bis in die frühen 90er halbwegs gut funktioniert, als ein Entwickler immer an einer oder wenigen Quelldateien gleichzeitig gewerkelt hat und die externen Abhängigkeiten anderer Entwickler als gottgegeben hingenommen hat. Bei größeren Software-Projekten stieß man aber damit an seine Grenzen und so entstanden zwei Lager, die kommerziellen Systeme wie Perforce und Bitkeeper, die ohne größere Probleme mit dem RCS-Format interagieren konnten, und klägliche Versuche, Patchsets (Diffs für mehrere zusammenhängende Dateien, so wie Commits in git) und Branches mithilfe von RCS/CVS zu verwalten. Die Opensource-Community fing sich erst wieder, als sich Projekte wie Subversion durchsetzen konnten.
  • [l] Felix Wed, 05 Aug 2026 15:43:51 GMT Nr. 164252
    >>164251
    Bullenkot. Jeder weiss, dass CSV von Mikronassmüllentwicklern entwickelt wurde. Man sieht es schon daran, wie schlecht es ist.
  • [l] Mr. Tichy Wed, 05 Aug 2026 15:46:19 GMT Nr. 164253
    JPG 560×395 201.1k
    >>164251
    Hat hier jemand RCS gesagt?
  • [l] Felix Wed, 05 Aug 2026 20:09:37 GMT Nr. 164260
    JPG 6022×3753 1.0M
    JPG 6022×3735 989.4k
    PNG 1280×720 1.6M
    >>164251
    Und dann gibt es Verrücktmänner, die ihre eigene Kot-Kontrolle rollen, und alles ganz anders machen.

    <What does a transparent source control look like?
    >I type "done" at the end of the day.
    >It sucks up everyone's work that they have done, and remembers the state.
    >And if two people have done something at the same time, it just provides you copies of both, and let's you know.
    >So that you can go in and resolve them at your leisure, or not.
    >That is optimal for small teams.
    >There is no benefit to something like git for us, because it is just a tremendous amount of complexity for no actual benefit.
    https://www.youtube.com/watch?v=t6qL_FbLArk&t=710s

    https://github.com/Mephisztoe/cmirror

    Welche Kot-Kontrolle Felix benutzt?
    Natürlich "speichere eine weitere Kopie der Datei bei Strg+S".
  • [l] Felix Thu, 06 Aug 2026 09:59:21 GMT Nr. 164268
    JPG 500×500 62.9k
    >>164222
    Ob er Lastschrift bei der Hosting.de GmbH hat? Hätte er nur Certbot an und monatlichen restart der gatling service wäre er zumindest bei dem Bankkonto unbesiegt und seine dummen Feinde auf Mastodon/Mastdarm müssten den Blog ewig mietfrei im Kopf haben.

    Fick die Fefe-Hasser! Mögen sie an der veganen Bratwurst ersticken!1!cos(0)

    https://mastodon.social/tags/fefe
  • [l] Felix Wed, 12 Aug 2026 00:14:33 GMT Nr. 164455
    TAR.XZ 399.4k
    >>164222
    Hier ist der restliche Kot, der größtenteils nur durch CVS-Magie (cvs ls wäre Teil des Feature-Zweigs 1.12 gewesen, soweit sich dieser jemals stabilisiert hätte [0]) auffindbar ist.
    Hauptsächlich alte Schnipsel, aber erwähnenswert sind unter anderem mb_diet-doc (ein allererster Versuch dietlibc zu dokumentieren, bzw. wenigstens Beispiele zu schreiben) und mb_mailsorter (E-Mail-Sortierprogramm), die beide von Fefes altem FU-Kommilitonen zoke stammen und tatsächlich halbwegs lesbar formatiertes C sind. Er hatte am Ende sein Studium geschmissen, als ihm bewusst wurde, dass aus ihm kein guter Informatiker werden würde.
    Außerdem enthält das Verzeichnis rss die alten Skripte, die Nachrichtenseiten auseinandergenommen und Überschriften und Links ausgegeben hatten.

    >>164268
    Bis auf einen Registrar, der aus Gründen ausschließlich Prepaid-Guthaben unterstützt, ist mir eigentlich ebenso nur Lastschrift oder Rechnung auf Kreditkarte untergekommen.

    [0] https://savannah.nongnu.org/projects/cvs
  • [l] Felix Wed, 12 Aug 2026 10:24:58 GMT Nr. 164458
    JPG 399×500 33.8k
    JPG 2048×1536 804.8k
    >>164455
    Sehr, sehr interessant! Danke!

    >die beide von Fefes altem FU-Kommilitonen zoke stammen und tatsächlich halbwegs lesbar formatiertes C sind. Er hatte am Ende sein Studium geschmissen, als ihm bewusst wurde, dass aus ihm kein guter Informatiker werden würde.
    Etwas missverständlich, deshalb die Nachfrage: Meinst du damit, dann neben Fefe (er hat geschmissen, klar), auch zoke das Studium geschmissen hat?

    >crypto
    Versucht da jemand sein eigenes Krypto zu rollen?

    >divine/README
    >"divine" is a utility for laptop users or people who use their machines in different networks all the time. DO NOT make divine setuid root. Divine contains tons of security holes like using system, it is meant as quick hack that will not hurt so much if it is run at boot time.
    >The idea is this:
    >- you describe the possible networks in /etc/divine.conf, including one or more machines that are probably up (routers and NIS servers come to mind).
    >- at boot time, you run divine.
    >- divine starts a thread that injects fake arp requests into the network.
    >- the main thread just looks for arp replies and exits if one is found.
    >- You have one resolv.conf per network, for example /etc/resolv.conf.default and /etc/resolv.conf.work, and divine will symlink one of them to /etc/resolv.conf for you.
    >- You can even specify an additional script to be run for each selection.
    Nicht sicher ob göttlich oder dämlich.

    >dnswhitelist
    Dafür müssen sie leider cancelliert werden.

    >rss/terrormeter.c
    >plot "terror.dat" using 1:($2/$3) with lines title "Terror pro Artikel"
    Lachte

    >rss/spiegel.sh
    >urls=`./xml < spiegel.xml | grep -v ehrensenf | sed 's/#ref=rss//' | egrep 'spiegel.de.*-a-[0-9]*.html$'`
    Soso, da mochte wohl jemand keinen Ehrensenf.

    >rss/trafo.c
    > if (!bs && !be) bs=be="Humppa!1!!";
    Was man im CCC nicht so alles toll findet:
    https://www.youtube.com/watch?v=fFVW2AA6ID4&list=RDfFVW2AA6ID4&index=1
  • [l] Felix Wed, 12 Aug 2026 14:21:32 GMT Nr. 164459
    >>164458
    >Etwas missverständlich, deshalb die Nachfrage: Meinst du damit, dann neben Fefe (er hat geschmissen, klar), auch zoke das Studium geschmissen hat?

    Ja, das geht aus den Speicherungen seiner alten Website von 2005 [0][1] bzw. 2010 hervor [2][3]. Vordiplom, aber kein Studium abgeschlossen.
    Das Projekt "uce" war z. B. einmal dafür gedacht, angepasste Specfiles für RPM zu erstellen, bevor er festgestellt hat, dass Gentoo seine Probleme adäquat löst.

    [0] https://web.archive.org/web/20051220041526/http://www.zoke.de/archive/oldnews.html
    [1] https://web.archive.org/web/20051220034556/http://www.zoke.de/docs/braindump/
    [2] https://web.archive.org/web/20100723145343/http://www.zoke.de/Warum=20Farside.html
    [3] https://web.archive.org/web/20100723145349/http://www.zoke.de/mehr=20=fcber=20mich.html
  • [l] Felix Wed, 12 Aug 2026 15:41:12 GMT Nr. 164461
    >>164458
    >Divine contains tons of security holes
    Das ist wörtlich zu verstehen:

    void parse(char *ptr,struct entry *e) {
      char *colon=strchr(ptr,':');
      char *tmp=strchr(ptr,'/');
      memset(e,0,sizeof(e));


    Dank sizeof(e) statt sizeof(*e) werden auf x86 nur die ersten 4 Byte (heute auf x86-64 8 Byte) der folgenden Struktur genullt:

    struct entry {
      unsigned int myip,netmask,gw;
      unsigned short pingips,proxyport;
      unsigned int pingip[10];
      char *description;
      char *proxy;
      char *resolvconf;
      char *script;
      struct entry *next;
    };


    Man observiere, dass weder pingips noch next genullt wurden.
    In parse() wird dann gemacht:

    e->pingip[e->pingips++]=parseip(ptr);


    D.h. weil in e->pingips Müll drin steht wird irgendwo auf den Heap was geschrieben.
    Und in send_arps() wird dann gemacht:

        while (tmp) {
          sendarp(0,htonl(tmp->myip));
          tmp=tmp->next;
        }


    Und dort müsste in tmp=tmp->next; einmal Müll geladen werden, die nächste Schleifeniteration wegen tmp != 0 beginnen und bei tmp->myip dann die SIGSEGV kommen.

    Felix fragt sich gerade, wie das Teil jemals laufen konnte. "Divinely inspired" oder so.
  • [l] Felix Wed, 12 Aug 2026 15:55:28 GMT Nr. 164463
    >>164461
    Nachtrag:
    >D.h. weil in e->pingips Müll drin steht wird irgendwo auf den Heap was geschrieben.
    Es kann natürlich bereits dort mit SIGSEGV knallen, aber pingips ist nur ein short unsigned int, was hier einen maximalen Offset von 256 KiB erzeugen kann.
  • [l] Felix Wed, 12 Aug 2026 17:50:15 GMT Nr. 164468
    >>164461
    Die Funktion parse wird immer nur mit frisch malloc'ten Speicher aufgerufen. Soweit libnet und libpcap (und die stdio-Bibliothek) bei der Initialisierung keinen nicht-leeren Speicher auf den Heap zurückgeben, ist es ziemlich wahrscheinlich, dass der Speicher auf Linux von sich aus schon leer ist.
  • [l] Felix Wed, 12 Aug 2026 18:43:49 GMT Nr. 164469
    >>164468
    Für mmap von anonymen Seiten ist unter Linux garantiert, dass diese genullt sind, außer es ist ein Embedded-Linux für schwachbrüstige Hardware, für das explizit jemand beim Kernelkompilieren eine Option gesetzt hat, dass (aus Performanzgründen) ungenullte Seite zurückgeliefert werden dürfen. Aber wer mit sowas arbeitet, weiß hoffentlich, war er tut.
  • [l] Felix Wed, 12 Aug 2026 18:58:46 GMT Nr. 164474
    >>164468
    >Soweit libnet und libpcap (und die stdio-Bibliothek)
    Plus die libc im versteckten Teil vor main(), wo die Umgebungsvariablen geparst werden und mit Locale-Gedönse rumhantiert wird.
  • [l] Felix Wed, 12 Aug 2026 20:50:56 GMT Nr. 164478
    JPG 2736×1536 1.1M
    >>164461
    Ich mein... du hast dir die Zeit genommen, den Kot zu auditieren, um das zu finden. Das ist nicht normaler Autismus, das ist mindestens Stufe 5 Autismus! MINDESTENS!!!


[Zurück]
[c] [meta] [fefe] [erp]