BFG a écrit 901 commentaires

  • [^] # Re: C99

    Posté par  . En réponse au message Initialisateurs nommés. Évalué à 4.

    Le document de travail récent peut être téléchargé là : http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf. Le standard n'est par contre pas téléchargeable sans payer.
    Je ne sais pas si ces initialiseurs ont été intégrés.

  • # C99

    Posté par  . En réponse au message Initialisateurs nommés. Évalué à 2. Dernière modification le 08 février 2012 à 14:54.

    C'est une fonctionnalité de C99, qui n'existe tout simplement pas en C++.

    À noter que gcc/g++ a une extension un peu obsolète où l'on peut écrire "a:" au lieu de ".a=" dans votre code.

  • [^] # Re: openssl

    Posté par  . En réponse au message Chiffrement en python déchiffrement par openssl . Évalué à 3.

    Le but ici est de transformer :
    http://serveurthumbor/unsafe/fit-in/560x420/filters:fill(blue)/url/to/image.jpg
    en :
    http://serveurthumbor/lfcBvO4PIwuukgT6cY...QbAmH0Nl20U=/url/to/image.jpg
    Pour que seul une webapp autorisée (par la connaissance de la clé) puisse exploiter le service de redimensionnement d'image thumbor.

    Comme vous le dites, ici le but est d'authentifier, et non réellement de masquer les paramètres. L'article que j'ai mentionné est donc d'autant plus vrai : n'utilisez surtout pas uniquement le chiffrement des paramètres !
    Il suffirait à un attaquant de relever une URL qui fonctionne, et de modifier des bits, il pourrait alors obtenir une autre URL qui sera bien évaluée par le serveur, mais qui contiendra des paramètres différents une fois déchiffrée. Pourquoi ? Parce que le chiffrement n'est pas une authentification.

    Je vous conseille de hacher les paramètres et chiffrer le hachage (avec HMAC par exemple, qui est très commun (et disponible en Python)), le hachage chiffré agira comme une signature, une authentification.
    Les paramètres peuvent être chiffrés si vous souhaitez les masquer, mais ce n'est pas nécessaire si tout ce que vous souhaitez est une authentification.
    Vous pouvez aussi ajouter une date d'expiration aux paramètres (à signer), et ainsi empêcher quelqu'un de "rejouer" des URL qui étaient bien valides.

  • # openssl

    Posté par  . En réponse au message Chiffrement en python déchiffrement par openssl . Évalué à 7. Dernière modification le 07 février 2012 à 22:53.

    Essayons de chiffrer avec openssl :

    % echo -n tatatototatatoto | openssl enc -aes-128-cbc -k totototototototo | wc -c
    48
    
    

    La sortie fait 48 octets, alors que votre programme produit 16 octets (qui est la longueur d'un bloc chiffré). Donc openssl s'attend à plus d'informations dans ce mode (en fait, il s'attend à obtenir un fichier produit par "openssl enc -e", qui donnera le bon format).

    On peut cependant l'utiliser dans un mode plus brut :

    % echo -n totototototototo | xxd -g 0 # pour la clef en hexadécimal
    0000000: 746f746f746f746f746f746f746f746f  totototototototo
    % echo -n tatatototatatoto | openssl enc -nopad -nosalt -aes-128-cbc -K 746f746f746f746f746f746f746f746f -iv 00000000000000000000000000000000 | md5sum
    3ac872fa4bc3d95b9560f565d658cfc0  -
    % python -c 'import sys, Crypto.Cipher.AES as A; sys.stdout.write(A.new("totototototototo").encrypt("tatatototatatoto"))' | md5sum
    3ac872fa4bc3d95b9560f565d658cfc0  -
    
    

    On obtient donc le bon résultat.

    "-k" va tenter de dériver une clef à partir de son argument mot de passe, alors que vous passiez une clef au chiffrement en Python. Pour passer la clef, il faut utiliser "-K", et passer un "-iv" puisque vous utilisez CBC.


    Cependant, on ne saurait trop vous recommander de ne pas utiliser les primitives de chiffrement, comme AES-CBC. AES-CBC ne réalise qu'un chiffrement, et ne permet pas à lui seul une vérification d'intégrité. Il faut par exemple lui adjoindre un chiffrement haché (HMAC). Et cela ne suffit pas pour les transmissions réseaux. Attaques par rejeu etc. sont au programme.
    Il est facile avec le chiffrement de se croire en sécurité, alors qu'il faut faire attention à de nombreuses choses, même en ne parlant que des aspects techniques. Utilisez des programmes (GnuPG (il sait réaliser des chiffrements symétriques)) ou des protocoles (SSL/TLS (TLS-PSK pour le chiffrement symétrique)) existants, plutôt que réinventer votre chiffrement. Sauf bien sûr, si c'est dans un but pédagogique.

    Un article intéressant à ce sujet (bien qu'un peu trop distrayant, et qu'un passage ne soit pas clair du tout, nécessitant de lire Wikipedia à côté) : If You're Typing The Letters A-E-S Into Your Code, You're Doing It Wrong.

  • # Choquant

    Posté par  . En réponse au journal Fin du financement de Kubunt par Canonical : à quel sein se vouer ?. Évalué à 9.

    Dans le titre du journal :

    à quel sein se vouer ?

    C'est vraiment curieux.

  • [^] # Re: Faux problème.

    Posté par  . En réponse à la dépêche Le gestionnaire de fenêtres awesome sur les Kindle Touch d'Amazon. Évalué à 2.

    Qu'est ce que cela change ? Sur les deux systèmes d'exploitations propriétaires les plus répandus, il arrive souvent que les programmes utilisant ces bibliothèques les distribuent par la même occasion.

  • # Commentaires

    Posté par  . En réponse au sondage Le nouveau moteur de recherche de LinuxFr.org. Évalué à 10.

    Le nouveau moteur de recherche ne trouve pas les commentaires. En cherchant "pluzz", on n'obtient que deux résultats, un journal et une entrée de forum ; en passant par Google, j'ai obtenu le commentaire qui m'intéressait, qui se trouvait là : https://linuxfr.org/news/python-quvi#comment-1273594.

  • [^] # Re: Faux problème.

    Posté par  . En réponse à la dépêche Le gestionnaire de fenêtres awesome sur les Kindle Touch d'Amazon. Évalué à 5.

    Déjà le fait que personne de chez amazon (ou de la boîte de dev qui leur appartient), n'ai daigné contacter les développeurs d'Awesome en dit long sur leur mentalité. Pas la peine de faire une vingtaine de fil pour dire que c'est légal de ne pas le faire et tout ça, n'empêche que c'est un peu bizarre quand même.

    Je ne suis pas d'accord avec ça, sans parler de légalité. Les auteurs de logiciels utilisant SQLite, zlib ou libcurl ont-ils contacté les auteurs de ces bibliothèques ? Awesome est certes bien moins répandu, mais cela ne change pas grand chose.

  • # DLFP

    Posté par  . En réponse au message appli web faisant forum et wiki (àla linuxfr.org). Évalué à 3.

    Cependant le nouveau moteur tout rutilant de DLFP ne me convient pas parce que l'espace de travail ne devra pas être visible des utilisateurs non connectés !

    Je ne connais pas le moteur de DLFP, mais je pense que restreindre l'accès à tous les contenus, sauf les pages pour s'identifier, doit être configurable facilement à l'aide de filtres sur les routes. Je pense que vous pouvez contacter le développeur de ce nouveau moteur. Cependant, l'ajout de pièces jointes est effectivement plus difficile.

  • [^] # Re: hé non

    Posté par  . En réponse au journal cyberwar ?. Évalué à 6.

    Plein de gens se rendant compte que la liberté de circuler sur internet, c'est important, et qui passent à l'action pour la défendre, même avec maladresse
    Plein de gens se rendant compte qu'un tiers amassant richesse sans redistribution est un assimilé bandit
    Plein de gens se rendant compte que, vraiment, l'industrie du divertissement va éclater, les artistes et leurs producteurs doivent regarder vers d'autres distributeurs (canal+ nique vivendi, j8m avait raison, ou encore le bon vieux rigolo aol a tjs eu raison)

    Peut-être, mais il en faudra des fermetures avant que les gens se décident à se lever de leur canapé...

  • [^] # Re: bof

    Posté par  . En réponse au journal S'ils n'ont rien à cacher... (aka Anonymous épisode 42). Évalué à 6.

    Et dire que 98% de la population s'en fout

    Bien sûr, "avoir quelque chose à cacher" est maintenant assimilé à quelque chose de mauvais, la preuve avec la fameuse déclaration d'Eric Schmidt qui illustre la tendance actuelle : "Si vous avez quelque chose à cacher, peut-être que vous n'auriez pas dû le faire".

  • [^] # Re: bof

    Posté par  . En réponse au journal S'ils n'ont rien à cacher... (aka Anonymous épisode 42). Évalué à 10. Dernière modification le 03 février 2012 à 21:40.

    Tu n'as rien à cacher, tu n'actives pas de firewall et tu ne mets pas de mot de passe ?

    C'est en substance ce que veulent les gouvernements (comme par exemple dans ce beau pays qu'est la France) qui installent des mouchards sur les ordinateurs de leurs citoyens.

    Édition : mis le bon lien.

  • [^] # Re: Garde fou

    Posté par  . En réponse au message Déplacer mes fichiers dans un dossier temporaire avant effacement avec rm. Évalué à 3.

    rm -rf .*

    efface tout et remonte l'arborescence car il prend . mais aussi .. ce couillon !

    zsh ne prend pas "." et "..", ce qui prouve une fois de plus sa supériorité. D'autre part, on peut spécifier une option ("setopt glob_dots") pour que "*" corresponde aussi aux fichiers cachés.

    /tmp% setopt glob_dots
    /tmp% echo *x
    .ICE-unix .X11-unix
    
    
  • [^] # Re: libtrash

    Posté par  . En réponse au message Déplacer mes fichiers dans un dossier temporaire avant effacement avec rm. Évalué à 4.

    Je pense que remplacer la suppression directe par un déplacement à la corbeille n'est valable que pour le shell. Remplacer la fonction de suppression dans les autres programmes est à mon avis une mauvaise idée, parce que le programme n'est pas "prévu pour".
    S'il crée un grand nombre de fichiers temporaires pour un usage interne et tente de les supprimer, ceux-ci seront envoyés à la corbeille à la place. S'il tente de supprimer un arbre de dossiers, il va supprimer les fichiers les plus profonds d'abord puis remonter pour supprimer les dossiers, alors que pour un envoi à la corbeille, on envoie uniquement le dossier le plus haut, et non chaque fichier individuellement.
    Un explorateur graphique (nautilus, dolphin) aura la fonction déjà implémentée correctement et se servira de l'une ou de l'autre quand il faut.

  • [^] # Re: libtrash

    Posté par  . En réponse au message Déplacer mes fichiers dans un dossier temporaire avant effacement avec rm. Évalué à 3.

    Moins complexe qu'un LD_PRELOAD, un outil en ligne de commande qui envoie à la corbeille (standard FreeDesktop).

  • [^] # Re: Septième sens

    Posté par  . En réponse au journal Libération du sixième sens. Évalué à 2.

    La température se fait sans contact ? Vous arrivez à connaitre la température qu'il fait de l'autre côté d'une vitre ? L'air dont vous sentez la température est bien en contact avec votre corps, "toucher" ne signifie pas seulement "toucher du doigt un solide".

  • # Adresse

    Posté par  . En réponse au journal xmemoire, c'est la classe.. Évalué à 5.

    calembourg

    C'est dans quel département ?

  • [^] # Re: Une déception de plus...

    Posté par  . En réponse au journal Linux Magazine 146 - suicide ou rachat par google ? . Évalué à 1.

    Qu'à fait Torvalds ? Il a monté un clone sur Github. Ben finalement, très peu de critiques envers lui, sous pretexte que ça utilise un format ouvert et qu'on peut à tout moment passer d'un serveur à un autre.

    Ce qui est hébergé chez GitHub n'est pas privé comme des emails

    Totalement faux. Github propose des formules avec dépôts privés pour ceux qui veulent. Il n'y a qu'à cliquer sur Signup and pricing depuis leur page d'accueil pour le savoir.

    Linus a monté un clone privé de Linux sur GitHub ? Première nouvelle !
    Les gens sur DLFP qui font l'apologie de GitHub ne parlent bien évidemment que de la partie hébergement public pour projets libres. Ça semble plutôt cohérent pour un site qui parle le plus souvent de logiciel libre.

    L'audience de DLFP est décidément bien plus experte qu'un journaliste de 20 minutes, et parle vraiment de ce qu'elle connaît.

    Je connais bien GitHub, merci de garder vos remarques désobligeantes et stupides pour vous-même.

  • [^] # Re: Vulnérabilité

    Posté par  . En réponse au journal Vulnérabilité dans sudo. Évalué à 10.

    PolicyKit n'a jamais rien apporté par rapport à sudo, à part le XML, le NIH et la lourdeur. PolicyKit est à sudo ce que Java est à C.

  • [^] # Re: Quelqu'un connait un hébergeur mail payant sérieux ?

    Posté par  . En réponse au journal Vie privé pour Google: la collecte des Fadettes !. Évalué à 2.

    Qu'entendez-vous par "gestion" ? Si c'est de l'hébergement, ils en font :

    Hebergement de domaines mail (votre nom de domaine), accès par webmail, imap, pop
    Hebergement de boites mail, sans antispam (à vous de faire vos filtres !), ni antivirus, service neutre.

  • [^] # Re: Quelqu'un connait un hébergeur mail payant sérieux ?

    Posté par  . En réponse au journal Vie privé pour Google: la collecte des Fadettes !. Évalué à 2.

  • [^] # Re: Parasitisme

    Posté par  . En réponse au journal Vous avez internet, vous financez la musique française. Évalué à 2.

    Heureusement qu'on ne réduit pas le métier de développeur au seul temps minimal nécessaire pour taper les caractères qui constituent le code source...

  • [^] # Re: Hum ...

    Posté par  . En réponse au journal Votre langage idéal ?. Évalué à 2.

    Est-il possible de faire quelque chose comme ça :

    fac n = fact 1 1 n
    fact acc i n = fact (acc * i) (i + 1) n
    fact acc n n = acc
    
    

    ? Si oui, ce serait directement en correspondance avec la version en boucle for. (D'un lointain souvenir, il me semble que les boucles for/while sont un cas particulier des récursions (et plus précisément des récursions terminales))

  • [^] # Re: Parasitisme

    Posté par  . En réponse au journal Vous avez internet, vous financez la musique française. Évalué à 0.

    Je serais toujours plus enclin à considérer comme de l'art un tableau sur lequel le gars a bossé des années qu'un truc qu'un péquenot a mis trois minutes à poser genre deux clous sur une chaise.

    Et qui vous dit que ces "trois minutes pour poser deux clous" ne sont pas l'aboutissement d'années de réflexion, de travail et autre ?

  • [^] # Re: Une déception de plus...

    Posté par  . En réponse au journal Linux Magazine 146 - suicide ou rachat par google ? . Évalué à 1.

    Bien entendu la clef publique, mais elle n'est pas disséminée partout pour autant, tout comme l'adresse IP, qui est visible par le réseau auquel on se connecte, mais qui, au contraire d'une clef publique GPG, n'est pas accessible dans un annuaire public.