Du bist nicht eingeloggt! Möglicherweise kannst du deswegen nicht alles sehen.
  (Noch kein mods.de-Account? / Passwort vergessen?)
Zur Übersichtsseite
Hallo anonymer User.
Bitte logge dich ein
oder registriere dich!
 Moderiert von: mercury, Schalentier


 Thema: 100 gute Gründe für Linux ( v0.29 - wie lang das wohl noch gutgeht? )
« erste « vorherige 1 ... 94 95 96 97 [98] 99 100 nächste » letzte »
erste ungelesene Seite | letzter Beitrag 
theromi

AUP theromi 02.06.2020
FOSS BTSync: https://github.com/jewel/clearskies

Endlich. Wenn sie nur diese Ruby-Scheisse endlich lassen würden.
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von theromi am 24.02.2014 14:00]
24.02.2014 13:59:20  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
teK

tek
Hab dich nicht so, dafür hab ich Ruby installiert:

wget -O somesite | sed [someregex] | md5sum -

...
24.02.2014 15:02:34  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Traxer

Mod GSG9
 
Zitat von [KdM]MrDeath

 
Zitat von csde_rats

Den Trick kenn ich auch noch aus meiner LAN-Party-Zeit Breites Grinsen



naja "trick"... ich finds eher krass, für so stümperhaft hätte ich die echt nicht gehalten, bin wohl in letzter zeit zu milde geworden was die angeht Augenzwinkern


du weisst doch, das muss stromeffizient laufen und da kannst du einen soft-realtime scheduler halt nicht gebrauchen.
(so zumindest eine firma aus redmond)
(eine agency die sehr viele buchstaben mit nsa gemein hat, würde das gerne als bullshit bezeichnen)
24.02.2014 15:22:57  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
hoschi

hoschi
 
Zitat von teK

Den Windows Media Player offen zu haben, war/ist ein gängiger Trick bei windows-basierten HLDS.



Das erinnert mich an die Zeiten, also DVDs rippen noch nicht ganz so sauber geloest war. Player an, aus...rippen.
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von hoschi am 24.02.2014 15:48]
24.02.2014 15:47:22  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
hoschi

hoschi
 
Zitat von Traxer

 
Zitat von theromi

Sollte so ein Bug nicht durch ein Test-Framework einer Firma wie Apple auffallen?


ja, allerdings gabs da gestern auch nen blogpost von jemandem von google der einfach mal so nebenbei erwähnte, dass die das auch nicht vernünftig testen können und auch bisher nicht machen. peinlich/erstaunt

scheint wohl ein wenig umfangreicher zu sein, so sachen aus den tiefen eines crypto frameworks sauber und ohne false positives zu testen.

 
Zitat von theromi

Wenn ich mir das so angucke - wirft das nicht sogar schon eine Compiler-Warning?


haben sich auch so einige leute gefragt, nein tut es nicht. weder mit gcc noch mit clang.

(ich würde da ja einfach mal "goto is evil" sagen, aber dann dürfte man insbesondere kein linux/bsd mehr nutzen.)

 
Zitat von theromi

Zwei Möglichkeiten: Apple testet Security gar nicht und geht Ihnen komplett am Arsch vorbei oder das war Absicht.


nunja, historisch gesehen waren sie da nicht so sonderlich gut drin, das ist wohl wahr. inzwischen sind die besser geworden, nur das mit den advisories müssen sie nach wie vor üben.

da sollte man dann aber bedenken, dass sie immerhin fixes liefern. es gibt da andere grosse properitäre hersteller, die sagen einfach "kommt irgendwann" oder "kaufen sie eine neue version, da ist der patch enthalten".

du darfst mal raten, welches davon microsoft und welches oracle ist.

dann gibt es wieder andere, die weit kritischere software (auf grund der verbreitung) haben, bei der eher wirklich keine sicherheitskontrolle durchgeführt wird.

hier darfst du raten, welches davon oracle und welches adobe ist.

von den ganzen plasterouter herstellern brauchen wir hier nicht reden. peinlich/erstaunt

 
Zitat von theromi

Das kann mir doch keiner erzählen, dass das ein Merge-Burg war.


das kann schon gut sein, dass es einer war.
je nach dem, womit da gedifft wurde kann das schonmal leicht untergehen, wenn es einfach zweimal exakt die gleiche zeile ist. ist mir auch schon mehrfach passiert. peinlich/erstaunt


klar ist so ein bug nicht akzeptabel und sollte klar machen, warum man crypto libraries besser nicht selber bauen sollte, wenn man sie nicht komplett offenlegt und diese dann auch noch genutzt werden.
versteht mich hier bitte nicht falsch, dass ist schon etwas, wo ich sage, dass das absolut scheisse ist und nicht hätte vorkommen dürfen. es ist aber auch so, dass nicht nur apple solche dinger schiesst.

damit komme ich dann zu dem anderen lustigen punkt, den ich seit dem patch beobachte. viele der android, ms fanbois haken gerade mal wieder wunderbar auf apple und seiner teils zu wünschen übrig lassenden security abteilung rum, denken aber dabei halt so gar nicht daran, dass in ihrem android system weit lustigere fehler sind, womit man jegliche TLS verbindungen abfangen kann, so ganz ohne man-in-the-middle fahren zu müssen.
die andere fraktion vergisst wohl auch gerade, dass der IE gerade wieder ein root-kit ist, sowie dass flash und java selbiges sind, insbesondere in kombination mit z.b. office 2007. damit kann man nämlich aus irgendwelchen irrsinnigen gründen kernel code in das system schieben.

wenn ich mir so in relation anschaue, wie häufig microsoft irgendwelche kritischen sicherheitssachen stopfen muss und wie lange das teilweise dauert, bis da ein fix vorhanden ist. nunja. da finde ich es dann immer wieder sehr amüsant, dass sich da keiner so schön drüber aufregt...



War wohl dieser Link?
https://www.imperialviolet.org/2014/02/22/applebug.html

Was mir einfach beim Blick auf den Quellcode aufgefallen ist, ohne laenger nachzudenken sind Grundregeln:


  • keine geschweiften Klammern verwendet # provoziert solche Fehler
  • goto verwendet # steinzeit
  • schlechter Variablenname (ebenso goto label) # err -> state (oder status, result, was auch immer...)


Wer von uns schreibt schon Testcode, fuer Quellcode der funktioniert? Mit Steinen kann ich nicht werfen, habe keine! Ein realistischer Weg zu diesem Bug ist wohl das Einfuegen eines weiteren Testfalls, anschliessend wurde dieser Testfall wieder entfernt und dabei hat man das ueberfluessige "goto" stehen lassen.

Man hat immer seine groessten Problem mit komplexen Berechnung und Strukturen, mit Schleifen und irgendwelchen verwobenen Bedingungen - und dann trifft einen sowas.

PS:

Ich weiss, dass es nach wie vor Argumente fur die kontrollierte Verwendung von goto gibt. Linux Kernel Coding-Style: Chapter 7: Centralized exiting of functions

 

- unconditional statements are easier to understand and follow
- nesting is reduced
- errors by not updating individual exit points when making
modifications are prevented
- saves the compiler work to optimize redundant code away Augenzwinkern

int fun(int a)
{
int result = 0;
char *buffer = kmalloc(SIZE);

if (buffer == NULL)
return -ENOMEM;

if (condition1) {
while (loop1) {
...
}
result = 1;
goto out;
}
...
out:
kfree(buffer);
return result;
}

[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von hoschi am 24.02.2014 16:11]
24.02.2014 16:00:09  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
csde_rats

AUP csde_rats 04.09.2021
Ich sag mal so — bei einer SSL/TLS-Lib erwarte ich, dass es da funktionale Tests gibt, die mindestens die wichtigsten Fälle abdecken:
-Kaputtes Servercert
-Falsches Servercert
-Richtiges Servercert
-Abgelaufenes Servercert

Wenn man das nicht testet, woher weiß man dann, dass die Lib überhaupt im Ansatz funktioniert?
24.02.2014 16:05:50  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
hoschi

hoschi
Was die QS auch tun wuerde, Browser starten und rumklicken, dann mal auf dem Server das Zertifikt verschieben oder loeschen und nochmal testen. Der Autor von Blogeintrag den ich verlinkt habe ist Adam Langley und der arbeitet fuer Google, wenn ich das richtig sehe:

 

A test case could have caught this, but it's difficult because it's so deep into the handshake. One needs to write a completely separate TLS stack, with lots of options for sending invalid handshakes. In Chromium we have a patched version of TLSLite to do this sort of thing but I cannot recall that we have a test case for exactly this. (Sounds like I know what my Monday morning involves if not.)



So ganz sicher ist er sich also auch nicht bei der Testabdeckung (wie auch?), ausserdem musst du irgendwie die Zertifikate zur Laufzeit generieren oder austauschen* (veraenderliche Wert die auf den Ausgang einfluss haben, also insbesondere Datum/Zeit, sind immer sehr unangenehm). Abgesehen davon, dass du hoffentlich alle Variablen per Parameter setzten kannst und nicht von einem globalen Status abhaengst.

"To deep into the handshake...".

Und wir wissen ja wie oft Zeit, Geld und Motiviation fuer sowas bereit steht. Vor allem wenn der Testaufwand beinahe gleich dem Entwicklungsaufwand ist und ja alles "schon funktioniert".
[Dieser Beitrag wurde 3 mal editiert; zum letzten Mal von hoschi am 24.02.2014 16:29]
24.02.2014 16:23:42  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
theromi

AUP theromi 02.06.2020
In other news: UM hat mir Samstag endlich das Update für die Fritz.Box gepushed \o/

Also nur über eine Woche zu spät
24.02.2014 16:26:05  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
flying sheep

AUP flying sheep 04.12.2011
ich steh grad auf dem schlauch:

wie kann ich ein regex dazu bewegen, ein replace mehrmals (also wie /g), aber nur vor einem bestimmten pattern durchzuführen?

also quasi wie
a, b = line.split(delim); print(a.replace(foo, bar) + b)
, nur als regex.

ein match vom anfang (mit backreference) geht nicht, weil dann der erste match schon alles vor dem grenz-pattern ersetzt (also /g nicht mehr greift)
24.02.2014 16:29:39  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
csde_rats

AUP csde_rats 04.09.2021
 
Zitat von hoschi

Und wir wissen ja wie oft Zeit, Geld und Motiviation fuer sowas bereit steht. Vor allem wenn der Testaufwand beinahe gleich dem Entwicklungsaufwand ist und ja alles "schon funktioniert".



Wenn der Testaufwand bei einem größeren Projekt signifikant niedriger als der Entwicklungsaufwand ist, dann läuft da was völlig falsch.
24.02.2014 18:00:14  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
teK

tek
verschmitzt lachen
Nein, da ist es ein hippes, test-driven und agil entwickeltes Produkt. Ähnliches gilt, wenn die Schnittstellendefinitionen, Vererbungshierarchien usw. fast so lang wie der "produktive" Teil des Codes sind.
24.02.2014 18:09:59  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
csde_rats

AUP csde_rats 04.09.2021
Modularisierung ist auch nur was für dumme Trottel, die halt einfach zu dumm für komplexe Aufgaben sind.
24.02.2014 18:54:29  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Krypt0n

Arctic
Korrekt.
Hört doch einfach auf bugs zu programmieren, so einfach ist das.
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Krypt0n am 24.02.2014 18:58]
24.02.2014 18:57:18  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
csde_rats

AUP csde_rats 04.09.2021
Sowieso. Tests sind was für Leute mit zu wenig selbstvertrauen. Ich schau doch auch nicht nach, ob ich den Herd ausgemacht habe! Wieso sollte ich da schauen, ob der Code, den ich ja gerade erst geschrieben habe, funktioniert?!
24.02.2014 18:58:15  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
csde_rats

AUP csde_rats 04.09.2021
Und Anforderungsmanagement? HALLO? MANAGEMENT? Der scheiß Kunde soll halt mal sagen was er will!
24.02.2014 18:58:44  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
SwissBushIndian

AUP SwissBushIndian 07.11.2011
 
Zitat von csde_rats
Der scheiß Kunde soll halt mal sagen was er will!



Die Büchse der Pandora.
24.02.2014 19:06:05  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Krypt0n

Arctic
Semi-related: programmerexcuses
24.02.2014 19:15:53  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Oli

AUP Oli 21.12.2018
Hot or not?

neovim
24.02.2014 20:13:12  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
SwissBushIndian

AUP SwissBushIndian 07.11.2011
Ich mag.
24.02.2014 20:48:07  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Traxer

Mod GSG9
 
Zitat von csde_rats

Ich sag mal so — bei einer SSL/TLS-Lib erwarte ich, dass es da funktionale Tests gibt


ich hoffe du nutzt nicht die OpenSSL library. peinlich/erstaunt
24.02.2014 21:56:18  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
csde_rats

AUP csde_rats 04.09.2021
Bei OpenSSL habe ich irgendwie das Gefühl, dass die weder Zeit in Tests, noch Dokumentation oder API-Design stecken. Und dann trotzdem ewig für alles brauchen. Allgemein scheint bei dem UNIX-Spektrum nahen Projekten Testing eine eher nicht vorhandene Rolle zu spielen.
24.02.2014 21:59:18  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
flying sheep

AUP flying sheep 04.12.2011
 
Zitat von csde_rats
Allgemein scheint bei dem UNIX-Spektrum nahen Projekten Testing eine eher nicht vorhandene Rolle zu spielen.

unit-testing entspricht halt nicht der unix-philosophie. wie systemd, das hat ja auch units.
24.02.2014 22:05:52  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
YT

Arctic
 
Zitat von Oli

Hot or not?

neovim



Musst du selber wissen Breites Grinsen
25.02.2014 8:40:34  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Oli

AUP Oli 21.12.2018
Ich finde, die könnten vim in systemd integrieren.
25.02.2014 8:48:56  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Rufus

AUP Rufus 12.02.2008
3/10
25.02.2014 9:27:11  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Oli

AUP Oli 21.12.2018
Ich habe da ein Programm als Quelltext, welches selbst ein paar libs baut und auf die später angewiesen ist. In der Standard"konfiguration" sieht das layout nach "make install" so aus:

/usr/bin/dasprogramm
/usr/lib/dasprogramm/libdielib1.so
/usr/lib/dasprogramm/libdielib2.so
...

dasprogramm muss also die libs in /usr/lib/dasprogramm finden können, was wohl irgendwie über RPATH funktioniert.

Nun will ich das Programm aber erstmal in ein lokales Verzeichnis installieren, um es dann für meinen Paketmanager zu packen.

Das PKGBUILD script sieht derzeit so aus:

 
Code:
build() {
  mkdir -p "$srcdir/build"
  cd "$srcdir/build"

  cmake ../$_gitname
}

package() {
  cd "$srcdir/build"
  make DESTDIR=$pkgdir install
}

Indem ich cmake kein Install Prefix angebe, nimmt es vermutlich /usr an. Durch DESTDIR=.. gebe ich dann nach dem Kompilieren aber ein lokales Verzeichnis vor. Trotzdem, am Ende, wenn alles an seinem Platz in /usr ist, bekomme ich Fehler wie:
 
Code:
error while loading shared libraries: libdielib1.so: cannot open shared object file: No such file or directory


Was tun? Ich habe auch schon cmake && make && make DESTDIR=lokal install und cmake -DCMAKE_INSTALL_PREFIX=lokal probiert, geht beides nicht.

Wie bringe ich der Binary bei, wo die libs liegen? (Ohne LD_LIBRARY_PATH).

/e:
 
Code:
readelf -d dasprogramm 

Dynamic section at offset 0x1db8 contains 28 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libdielib1.so]
...
 0x000000000000001d (RUNPATH)            Library runpath: [$ORIGIN/../lib/dasprogramm]
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Oli am 25.02.2014 14:23]
25.02.2014 14:20:40  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
RichterSkala

AUP RichterSkala 31.12.2010
öhm

#include "dasprogramm/libdielib1"?

¤: Langer tag, meinte natürlich >ld -L dasprogramm/ -l libdielib1
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von RichterSkala am 25.02.2014 18:50]
25.02.2014 18:03:30  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Traxer

Mod GSG9
das macht man eigentlich ausschliesslich via LD_LIBRARY_PATH. ich wüsste auch nicht, was gegen die verwendung sprechen sollte.

alternativ, wenn du es hackiger magst und bestimmte sachen erreichen willst, geht auch LD_PRELOAD.

/e
nebenbei suchst du anstelle von readelf eigentlich ldd.
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Traxer am 25.02.2014 18:07]
25.02.2014 18:03:58  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Oli

AUP Oli 21.12.2018
Ach das könnt ihr mir nicht erzählen. Mehrere Programme bei mir haben eine executable in /usr/bin und basieren auf einer Reihe von libs in /usr/lib/programmname/. Thunderbird zum Beispiel. Wenn ihr da mal den readelf anguckt, seht ihr, dass der runpath da reinkompiliert ist, die exe also weiß, wo die libs liegen. Wäre ja ziemlich umständlich, wenn ich all die Unterordner in /usr/lib/ zum LD_LIBRARY_PATH hinzufügen müsste.

Ich bin mit dem Entwickler in Kontakt, der meint, ich mache beim kompilieren was falsch. Ich poste morgen mal die Lösung, wenn ichs hab.
25.02.2014 18:30:49  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
RichterSkala

AUP RichterSkala 31.12.2010
Wie ist denn dein Linker aufruf?
25.02.2014 18:43:30  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
 Thema: 100 gute Gründe für Linux ( v0.29 - wie lang das wohl noch gutgeht? )
« erste « vorherige 1 ... 94 95 96 97 [98] 99 100 nächste » letzte »

mods.de - Forum » Linux » 

Hop to:  

Mod-Aktionen:
27.02.2014 19:47:42 teK hat diesen Thread geschlossen.

| tech | impressum