Nicolas Bernard a écrit 625 commentaires

  • [^] # Re: Désolé

    Posté par  (site web personnel) . En réponse au message Lire facilement un fichier de configuration. Évalué à 2.

    Pas de problème, on a tous commencé un jour ;-)

    Reprenons donc:
    - tu as une variable global conf[] qui défini quelles variables pourront se trouver dans ton fichier de configuration, ainsi que leur type.

    - à un endroit dans ton programme, tu lis le fichier de configuration en faisant confparse("test.conf", stderr), ou test.conf est le fichier de configuration de ton programme, et stderr indique que si des erreurs se produisent (variables inconnues, fichier non trouvé, etc) elles sont affichée sur la sortie d'erreur standard. Cette fonction renvoie -1 en cas d'erreur, le nombre de variables lues dans le fichier si tout va bien.

    - ensuite, tu peux accéder aux valeurs lues via la fonction getconf, qui renvoie un valeur de type "option", c'est à dire une structure. Le plus simple est de faire du "pseudo-objet" et d'accéder à la valeur d'une option opt de type typ par getconf("opt").value.typ, sachant que typ doit valoir:
    yn si l'option est booléenne (type YESNO indiqué dans conf[]);
    i dans le cas d'un entier (INTOPT);
    f dans le cas d'un flottant (FLOATOPT);
    str dans le cas d'une chaine de caractères (STRINGOPT).

    Par exemple, si dans ton tableau conf[] tu as une ligne
    {"Debug", YESNO, 1, {0}}
    alors dans ton programme tu peux avoir:

    if (getconf("Debug").value.yn) {
    /* faire qqch si "Debug = yes" est défini dans
    le fichier de configuration. */
    }

    Je reconnais que la doc pourrait être plus explicite... je vais voir ca ;-)
  • # possibilités...

    Posté par  (site web personnel) . En réponse au message Réseau : Iptables. Évalué à 2.

    ca fait longtemps que je n'ai plus touché à iptables (pf bien mieux, tout ca...), mais l'ordre des régles n'est-il pas important: ne serait-ce pas la dernière qui correspond à un cas donné qui s'applique? Dans ce cas, en les inversant...
  • [^] # Re: du coté de elf32 ...

    Posté par  (site web personnel) . En réponse au journal question : est-ce que la zone de code est modifiable. Évalué à 2.

    Le trampoline n'est pas sur la pile?
  • [^] # Re: Sérieux, vous y croyez?

    Posté par  (site web personnel) . En réponse au journal Soyons solidaire de MAcbidouille. Évalué à 3.

    Ben s'ils y arrivent, je pense que leur truc pourra aussi passer le test de Turing...
  • [^] # Re: Désolé

    Posté par  (site web personnel) . En réponse au message Lire facilement un fichier de configuration. Évalué à 2.

    Le tableau ne doit pas être défini dans main, mais en tant que variable globale!
  • [^] # Re: Minute de silence

    Posté par  (site web personnel) . En réponse au journal Très surprenant......je trouve. Évalué à 2.

    Après une brève recherche, j'ai trouvé: "The death of one man is a tragedy. The death of millions is a statistic." (première page de google(stalin, quote) ), sans référence sur l'origine.

    Etant donné que Staline a envoyé des millions de personnes mourir au Goulag, j'aurais tendance à dire que c'est plus du cynisme (donc du réalisme) que du fatalisme...
  • [^] # Re: Minute de silence

    Posté par  (site web personnel) . En réponse au journal Très surprenant......je trouve. Évalué à 2.

    Si on se fie à la sagesse légendaire de Staline "Tuez une personne c'est une tragédie, tuez-en dix millions c'est une statistique" (ou quelque chose du genre), je crois que plus il y a de morts, mieux c'est.

    OK, --->[]
  • [^] # Re: Minute de silence

    Posté par  (site web personnel) . En réponse au journal Très surprenant......je trouve. Évalué à 5.

    Ton argument est spécieux: si mon unique voisine se tue en voiture, à l'échelle de la France c'est comme si c'était 60 millions de personnes.
  • [^] # Re: Cool, mais il y en a encore qui l'utilisaient???

    Posté par  (site web personnel) . En réponse au journal Support des encodages "multi-byte" dans zsh ! \o/. Évalué à 2.

    oui, mais utf-16 utilise deux caractères pour tout, alors qu'utf-8 se contente d'un pour l'anglais et la plupart des caractères européens. Donc quoi que tu choisisses, ce ne sera jamais parfait dans tous les cas.
  • [^] # Re: 30 secondes sur Google

    Posté par  (site web personnel) . En réponse au journal pam_usb + pam_ssh. Évalué à 5.

    Je ne vois pas là la solution à son problème: la page n'explique pas comment faire pour que cela configure ssh-agent quand on se logue avec pam_usb...

    Par contre, à mon avis, il doit y avoir quelque chose à faire avec l'option standard des modules pam "try_first_pass" qui dit à un module d'essayer le mot de passe entré pour celui d'avant, et d'en demander un uniquement si ca ne va pas. Bien sûr, il faut alors utiliser le même mot de passe pour pam_ssh et pam_usb
  • [^] # Re: Désolé

    Posté par  (site web personnel) . En réponse au message Lire facilement un fichier de configuration. Évalué à 2.

    C'est probablement parce que tu n'as pas défini de tableau
    option conf[] = ...
    pour indiquer quelles options sont autorisées comme indiqué dans la doc.
    Ce tableau est nécessaire pour que confloader sache ce qu'il doit attendre comme nom d'option et leur type dans le fichier de configuration que ton programme va charger...
  • [^] # Re: Mauvaise question

    Posté par  (site web personnel) . En réponse au journal RFID, projet de loi : un implant pour chaque citoyen. Évalué à 4.

    Si c'est juste un numéro, autant le tatouer sur le bras gauche, comme... (Je vous laisse compléter. Il y a plusieurs réponses possibles, donc ce commentaire ne peut prétendre à un point Godwin.)
  • [^] # Re: freebox, Tel et LAN

    Posté par  (site web personnel) . En réponse au message telephone SIP wi-fi. Évalué à 2.

    Je débarque peut-être, mais quel rapport entre 802.11g et DTLS?
  • [^] # Re: du coté de elf32 ...

    Posté par  (site web personnel) . En réponse au journal question : est-ce que la zone de code est modifiable. Évalué à 3.

    Si on veut ratiociner, les variables allouées statiquement sont dans la partie statique mais modifiables (segment bss)...
  • [^] # Re: Je vois vraiment pas où est le problème.

    Posté par  (site web personnel) . En réponse au journal [sécu] Microsoft veut placer le FBI à la pointe de ses arguments de vente. Évalué à 3.

    Si mes souvenirs sont bons, aux US, les crimes informatiques sont du ressort du Secret Service...
  • [^] # Re: pub éhontée

    Posté par  (site web personnel) . En réponse au message Lire facilement un fichier de configuration. Évalué à 2.

    Il faut des tabulations comme pour les autres cibles dans le makefile (elles ont sauté dans mon commentaire précédent, en mettre là où je met "<TAB>"):

    confloader.o:
    <TAB>make -C /confloader
    <TAB>mv confloader/confloader.o
  • [^] # Re: Sérieux, vous y croyez?

    Posté par  (site web personnel) . En réponse au journal Soyons solidaire de MAcbidouille. Évalué à 5.

    Heu... les "années de dev secret", c'est pour MacOS X sur x86, pas juste pour la protection à mon avis.

    De toute facon, il suffit qu'Apple s'arrange pour mettre du matériel exotique dans ses machines et pour qu'il n'y ait pas de drivers pour le matériel générique, et alors OS X sur n'importe quel PC sera aussi utilisable que <troll>hurd</troll>...
  • [^] # Re: la CNIL

    Posté par  (site web personnel) . En réponse au journal RFID, projet de loi : un implant pour chaque citoyen. Évalué à 3.

    Et donc à ce moment l'intéret médical prétendu disparait: une personne inconsciente ne peut pas activer la puce pour que l'on accède à son dossier médical, et une personne consciente peut dire directement à quoi elle est allergique...
  • [^] # Re: Rj45 en force =)

    Posté par  (site web personnel) . En réponse au sondage La sécurité de mon WLAN. Évalué à 10.

    Donc pour toi, wifi c'est l'abréviation de "with fils" ?
  • [^] # Re: pub éhontée

    Posté par  (site web personnel) . En réponse au message Lire facilement un fichier de configuration. Évalué à 2.

    Les warnings ne sont a priori pas graves, du moins tant que tu gardes gcc (il y a des constantes d'un type introduit dans la norme C99, et comme le "-ansi" lui dit que le programme est en C89, il rale.).

    compilation: l'idée est de compiler d'abord confloader en tant que module, puis d'inclure celui-ci à la phase d'édition des liens.

    dans ton makefile (celui de ton programme, pas celui de confloader), tu peux donc avoir:

    monprog: monprog.c confloader.o
    gcc monprog.c confloader.o -o monprog

    confloader.o:
    make -C confloader
    mv confloader/confloader.o .

    Le confloader.h doit être inclu dans tous les fichiers à partir desquels tu veux utiliser une valeur définie dans ton fichier de configuration:
    #include "confloader/confloader.h"
  • [^] # Re: et pour 56Ko?

    Posté par  (site web personnel) . En réponse au journal VOIP Linux-Windows. Évalué à 4.

    Ca date d'une époque ou le terme VoIP n'était pas encore à la mode, mais SpeakFreely marchait bien avec mon modem 14400! Et aussi bien sous Unix que sous win.

    http://speak-freely.sourceforge.net/(...)
  • [^] # Re: on peut...

    Posté par  (site web personnel) . En réponse au message Wifi et généralités. Évalué à 2.

    ya de la ressource comme tu dis, mais pas tellement à ce niveau là dans la pile réseau. Ce qui existe déjà est au-dessus, que ce soit IPsec ou SSL. Donc il fallait un nouveau truc. Et à partir du moment où des non-spécialistes font de la crypto... déjà que les spécialistes font des erreurs
  • # pub éhontée

    Posté par  (site web personnel) . En réponse au message Lire facilement un fichier de configuration. Évalué à 4.

    En ayant marre de refaire à chaque programme du code pour lire un fichier de config, J'ai développé un parser minimaliste réutilisable pour ce genre de cas. Il est fait pour être intégré comme un module dans le programme et non comme une bibliothèque.

    Il n'a pas besoin de bibliothèque autre que la libc.

    <http://perso.ens-lyon.fr/nicolas.bernard/projects/confloader/index.(...) >
    (nb: l'archive contient un exemple en plus de la doc doxygen).
  • # Ca dépend...

    Posté par  (site web personnel) . En réponse au message Conseils pour un serveur/passerelle. Évalué à 2.

    Quand tu dis "serveur web" tu veux dire "juste une ou deux pages statiques qui seront visitées une fois tous les 36 du mois avec un petit serveur web comme publicfile" ou "un gros site qui utilisera apache + php + objectweb + trucmuche machin chose pour diffuser de la video à la demande à des millions de personnes en permanence" ?

    Dans le second cas, je tu dis tout de suite qu'il faut du matos et que ca va couter cher ;-)

    Dans le premier, une petite machine soekris est amplement suffisante et tu feras des économies à l'usage (plus cher à l'achat, mais consomme beaucoup moins d'électricité et d'une fiabilité hors-pair).

    Si c'est entre les deux... il faut voir. Note que tu n'as pas forcément besoin de boitier (une boite à chaussure?) ni de carte graphique (cable null-modem sur le port série).
  • # Video

    Posté par  (site web personnel) . En réponse au message Faites moi parvenir tous vos problemes dans le multimedia. Évalué à 2.

    Pour la video, il faut faire attention à l'existence de drivers pour la carte graphique (support X-Video Extension). Sinon, même avec un processeur puissant, il sera impossible d'obtenir une video fluide en plein écran (du moins avec un écran haute résolution). (Attention en particulier à certaines cartes sur les boites desquelles on lit "Support Linux", mais où le support se borne à une certaine architecture, par ex les Matrox récentes).

    Attention également: un certain nombre de codec video proprio (ceux de windows) ne fonctionnent que sur x86...