let_me_in a écrit 25 commentaires

  • [^] # Re: Des précisions ?

    Posté par  . En réponse au message mode matériel. Évalué à 1.

    merci pour ta reponse, c'est exactement ça mon probleme.

    si j'active le mode native du sata du bios, linux demarre mais pas windows, si par contre je le desactive c'est linux qui ne demarre pas.

    je vais tester cette solution et je vous tiendrai au courant.

    merci encore
  • [^] # Re: Re:

    Posté par  . En réponse au message memory corruption. Évalué à 1.

    salut a nouveau,

    meme avec les free et delete j'obtient un segmentation fault.

    DDD me donne la ligne l'erreur et c'est :

    new Image(*blob);

    j'ai posté sur la liste d'imagemagick, quelqu'un m'a dit que c'etait peut etre l'image qui est foireuse, mais j'en doute bien, parceque je ne teste qu'un seule site et j'ai obtenue pratiquement toutes les images (chaque fois un peu avant le crash), donc ...

    si quelqu'un a une autre idée je prends.

    merci.
  • [^] # Re:

    Posté par  . En réponse au message memory corruption. Évalué à 1.

    merci vous deux, je vais tester dès que possible et je vous tiendrai au courant.

    a+
  • [^] # Re:

    Posté par  . En réponse au message memory corruption. Évalué à 1.

    ATTENTION l'agent Smith arrive :D

    faute d'inattention, mais c'est pas ça le probleme, j'ai beau essyé de trouvé l'anomalie (tiens c'est Neo) mais sans aucun resultat satisfaisant ; j'ai quand meme reussi à faire marcher le programme quelques instant avant le crash, alors je poste mon code source en attendant qu'une âme charitable (avec des yeux de faucon) y jette un coup d'oeil (ça risque d'etre long, mais je suis vraiment desesperé).
    il s'agit d'un proxy qui compresse les images :
    classe Server :

    int server::start()
    {
    if((socket_server = socket(AF_INET, SOCK_STREAM, 0)) < 0){
    std::cout<<"Socket creation error !\n"<<std::endl;
    return EXIT_FAILURE;
    }

    if(bind(socket_server,
    (struct sockaddr*)&sockaddr_server,
    server_len
    ) < 0){
    std::cout<<"Socket bind error !\n"<<std::endl;
    return EXIT_FAILURE;
    }


    if(listen(socket_server, 50) < 0){
    std::cout<<"Socket listen error !\n"<<std::endl;
    return EXIT_FAILURE;
    }
    std::string stri;

    while (1){
    PSOCKET_GROUP socketGroup;
    struct sockaddr_in sockaddIn;
    unsigned int sockaddrLen;
    pthread_t threadSender, threadReceiver;
    sigset_t sig_mask;

    sockaddrLen = sizeof(sockaddIn);
    socketGroup = (PSOCKET_GROUP) malloc ( sizeof(SOCKET_GROUP) );
    socketGroup->socketToClient = accept(socket_server,
    (struct sockaddr *)&sockaddIn,
    &sockaddrLen
    );

    socketGroup->socketToServer=-1;
    sigaddset(&sig_mask, SIGPIPE);
    pthread_sigmask(SIG_BLOCK, &sig_mask, NULL);
    pthread_create(&threadReceiver,
    NULL,
    proxyThread,
    ( void* ) socketGroup
    );
    }
    }

    void* server::proxyThread( void* socketAdress )
    {
    BUFFER buff, buff2, tmp, allReceive;
    int port, socketToHost, len;
    long int receivedLen=0;
    PSOCKET_GROUP sockG;

    sockG = static_cast<PSOCKET_GROUP>(socketAdress);
    buff = (BUFFER) malloc (100*MAX_RECEIVE*sizeof(char));
    buff2 = (BUFFER) malloc (1000*MAX_RECEIVE*sizeof(char));
    allReceive = (BUFFER) malloc (1000*MAX_RECEIVE*sizeof(char));
    Connection* con = new Connection ();
    len=con->receiveData( sockG->socketToClient, buff );
    buff[len]=0;
    shutdown(sockG->socketToClient,0);
    if ((tmp=strstr(buff,"keep-alive\r\n"))) {
    strncpy(tmp, "close\r\n", 7);
    strcpy(tmp + 7, tmp + strlen("keep-alive\r\n"));
    }
    sockG->socketToServer =con->sendData( "",
    3128,
    buff,
    len
    );
    free(buff);
    while((
    len=read(sockG->socketToServer, buff2, 100*MAX_RECEIVE*sizeof(char)))>0){
    memcpy(allReceive+receivedLen, buff2, len);
    receivedLen+=len;

    }
    free(buff2);
    char *document=NULL, *header=NULL, *docType=NULL;
    Text text;
    long int docLength, i;

    header = HTTPParser::getHeader(allReceive);
    docLength = HTTPParser::getDocumentLength(header);
    if (docLength>200){
    docType = HTTPParser::getDocumentType(header);

    if(strncmp(docType, "image/jpeg", strlen("image/jpeg"))==0||
    strncmp(docType, "image/png", strlen("image/png"))==0||
    strncmp(docType, "image/tiff", strlen("image/tiff"))==0
    ){
    Compression *comp = new Compression(1, sockG->threadContext);
    document = HTTPParser::getDocument(allReceive);
    int j = strlen(text.getStrInt(docLength));
    Magick::Blob* blob = new Magick::Blob((const void *)document, docLength);
    Magick::Blob retBlob = comp->getCompressedImage(blob);
    i = text.getStrPos(header, "Content-Length: ", 0)+strlen("Content-Length: ");
    char *newHeader = text.strReplace(header,
    text.getStrInt(docLength),
    i,
    j
    );
    memset(allReceive, 0, 1000*MAX_RECEIVE*sizeof(char));
    memcpy(allReceive,
    newHeader,
    strlen(header)
    );
    memcpy(allReceive + strlen(header), (char *)retBlob.data(), retBlob.length());
    receivedLen = retBlob.length() + strlen(header);

    delete comp;
    free(newHeader);
    free(header);
    }
    }

    write(sockG->socketToClient, allReceive, receivedLen);
    free(allReceive);
    delete con;
    shutdown(sockG->socketToClient, 2);
    close(sockG->socketToClient);
    shutdown(sockG->socketToServer, 2);
    close(sockG->socketToServer);
    pthread_exit(NULL);
    }


    classe HTTPParser

    BUFFER HTTPParser::getDocument( BUFFER buff )
    {
    int taille;
    char * ret;
    taille = getDocumentLength( buff );
    ret = (char *) malloc (taille*sizeof(char));
    memcpy(ret, strstr(buff, "\r\n\r\n")+sizeof("\r\n\r\n")-1, taille);
    return ret;
    }

    BUFFER HTTPParser::getHeader( BUFFER buff )
    {
    char * buffer;
    int ind;

    for (ind=0; buff[ind]!='\r'||buff[ind+1]!='\n'||buff[ind+2]!='\r'||buff[ind+3]!='\n'; ind+=1);
    buffer = (char*) malloc ((ind+5)*sizeof(char));
    strncpy(buffer, buff, (ind+4)*sizeof(char));
    return buffer;
    }

    int HTTPParser::getDocumentLength(BUFFER header)
    {
    if (!strstr(header, "Content-Length: "))return -1;
    return atoi(strstr(header, "Content-Length: ")+strlen("Content-Length: "));
    }

    BUFFER HTTPParser::getDocumentType( BUFFER header )
    {
    char *buff, *tmp;
    int ind;
    Text text;

    tmp = strstr(header, "Content-Type: ")+strlen("Content-Type: ");
    ind = text.getCharPos(tmp, '\r');
    buff = (char*) malloc ((ind+1)*sizeof(char));
    strncpy(buff, tmp, ind);
    return buff;
    }


    classe Compression :

    Magick::Blob Compression::getCompressedImage( Magick::Blob *blob )
    {
    Magick::Image* image = new Magick::Image(*blob);
    Magick::Blob retBlob;


    image->magick( "JPEG" );
    image->quality(this->getQuality());
    image->write(&retBlob);
    delete image;
    return retBlob;
    }

    classe Text :

    int Text::getStrPos(char* str, char* c, int searchStart)
    {
    int i;

    printf("getStrPos\n");
    for ( i = searchStart; str[i]; i++)
    if (strncmp( str+i, c, strlen(c) )==0)break;
    if(!str[i]) return -1;
    return i;
    }

    char* Text::getStrInt(int val)
    {
    char *retVal;

    std::stringstream ss;
    std::string str;
    ss << val;
    ss >> str;
    retVal = (char *) calloc (str.size()+1, sizeof(char));
    strcpy(retVal, str.c_str());
    return retVal;


    }

    int Text::getCharPos(char* str, char c)
    {
    int i;

    for (i=0; str[i]!=c; i++);
    return i;
    }

    char* Text::strReplace(char* dest, char* replacement, int pos, int offset)
    {
    char* retStr;

    retStr = (char*) calloc (strlen(dest), sizeof(char));
    strncpy(retStr, dest, pos);
    strncpy(retStr+pos, replacement, strlen(replacement));
    strncpy(retStr+pos+strlen(replacement), dest+pos+offset, strlen(dest+pos+offset));
    if (strstr(retStr, "\r\n\r\n"))
    *(strstr(retStr, "\r\n\r\n")+strlen("\r\n\r\n"))=0;
    return retStr;
    }


    voila le main contient juste un
    Server serv=new Server(8080);
    server->start();


    avec ça si je configure firefox, qulques images s'affichent avant le BAM.

    merci déja pour avoir lis le source et remerci si vous me donner une suggestion et enfin mille merci si vous me trouver l'anomalie.
  • [^] # Re: Re:

    Posté par  . En réponse au message memory corruption. Évalué à 1.

    merci infiniment pour ta precieuse aide. je vais analyser mon code au cas ou ça venait de chez moi ;

    merci encore
  • [^] # Re: Re:

    Posté par  . En réponse au message memory corruption. Évalué à 2.

    merci infiniment pour ta precieuse aide. je vais analyser mon code au cas ou ça venait de chez moi ;

    merci encore
  • [^] # Re:

    Posté par  . En réponse au message memory corruption. Évalué à 1.

    merci tout les deux pour ces suggestions, je vais faire et je vous tiendrai au courant.

    juste une autre chose, est-ce que vous pouvais me donner un example de ce que Obsidian a dit ("modifié d'une façon incorrecte"), ça pourais m'aider a identifier l'erreur.

    merci encore
  • [^] # Re: re:

    Posté par  . En réponse au message memory corruption. Évalué à 1.

    y a t-il un moyen de surveiller les modifications des pointeurs ? je pense que c'est difficile avec DDD non ?

    merci d'ailleurs pour la reponse rapide.
  • # re:

    Posté par  . En réponse au message memory corruption. Évalué à 1.

    opps j'avais oublié, la ligne responsable est la ligne

    <code>image.read(blob);</code>

    PS : je n'arrive pas à editer le premeir poste, desolé pour le double.
  • [^] # Re: Magick++-config et -lexpat

    Posté par  . En réponse au message [Magick++] undefined reference to .... Évalué à 1.

    merci beaucoup pour l'aide, le probleme est reglé.

    PS: je n'ai meme pas ajouté le -lexpat.
  • [^] # Re: pour info

    Posté par  . En réponse au message probleme lors de l'installation. Évalué à 1.

    oui je pense que je vais changer de distro, car j'ai lu dans le forum de fedora qu'elle avait un probleme avec les cartes de chip nvidia, et donc pas moyen de le contourner.

    merci a toi.
  • [^] # Re: Man route

    Posté par  . En réponse au message modem-corecess 3113. Évalué à 1.

    non non, ce que j'ai fais, je l'ai fais sur le modem;i.e. j'ai ouvert l'adresse 10.0.0.2 ( c'est l'adresse du modem) avec firefox, j'ai eu l'interface de configuration et j'ai fais l'ajout de l'entree.
    ce que tu me dis là, je pense , n'agit pas sur le modem.
    merci quand meme
  • # toujours rien

    Posté par  . En réponse au message partage de connexion. Évalué à 1.

    desolé pour ce retard,
    j'ai essayé toutes les solution proposées mais toujours aucun resultat,
    alors je me suis demandé s'il y avait une interface graphique pour iptables, je pense que cela m'aidera un peu.
    et merci à tous
  • [^] # Re: firewall builder

    Posté par  . En réponse au message partage de connexion. Évalué à 1.

    merci a toi mildred pour le lien,
    a presentje ne peux pas tester si ça marche, mais dès que j'en aurai l'occasion je le ferai, et je vous donnerai les resultats.
    merci a tous.
  • [^] # Re: ppp0 -> eth1

    Posté par  . En réponse au message partage de connexion. Évalué à 1.

    merci pour ta solution, mais j'avais reflichis à ça, et ça n'a toujours pas marché.
    pour le pppd, je ne sais pas ce qu'est exactement, mais je pense que je ne l'utilise pas.
    merci quand meme.
  • [^] # Re: script

    Posté par  . En réponse au message partage de connexion. Évalué à 1.

    merci beaucoup pour le lien.
  • # re:rpm et dependances

    Posté par  . En réponse au message rpm et dependances. Évalué à 1.

    essay ça
    yum install 4.1.10a.rpm
    si yum est installé bien sure.
  • # re probleme

    Posté par  . En réponse au message probleme pour booter winfowsXP apres installatio de fedora 3. Évalué à 0.

    met le 1er CD et reboote to pc
    a l'invite
    boot:
    tu ecris "linux rescue"
    quand le mini shell arrive tu fais "chroot /mnt/sysimage"
    et puis
    sfdisk -d /dev/hda | sfdisk --no-reread --force /dev/hda

    cela doit marcher
  • [^] # Re: yum

    Posté par  . En réponse au message gtk+-2.6.0. Évalué à 0.

    merci,
    mais je l'ai recompile avec --prefix=/usr et ça a tres bien marche
  • [^] # Re: c'est encore moi

    Posté par  . En réponse au message gtk+-2.6.0. Évalué à 0.

    dans les erreurs de dependances j'ai aussi 'iconv' et 'xft' qui manquent et a cause desquels j'ai perdu une journee (entrain de les chercher sur) mais sans resultat.
  • [^] # Re: yum

    Posté par  . En réponse au message gtk+-2.6.0. Évalué à 0.

    yum *-devel a tres bien marche (glib2 mis a jour) merci
    mais quand j'ai recompile gtk , make n'a pas reussi (all recursive), j'ai decide alors d'installer gtk avec yum mais lui aussi a decide de me causer des problemes:

    erreur de dependance libgtk-1.2.so.0 , libgdk1.2.so.0
    et xft conflicts xorg-x11-libs..
    et qq packages que j'ai telecharge moi meme.

    ce que je n'arrive pas a comprendre, est q'en cherchant j'ai trouve ces 2 libg?k.1.2.so.0 dans /usr/lib/
    si vous avez une solution pour ça, remerci...
  • [^] # Re: Question?

    Posté par  . En réponse au message connexion. Évalué à 0.

    bonojur question?

    pour Windows, j'ai tout simplement installe le driver qui vient avec le modem(sagem fast800,LLC Bridge 0/35) et tout a marche.

    merci quand meme.
  • [^] # Re: AMHA

    Posté par  . En réponse au message connexion. Évalué à 0.

    merci AMHA, mais quand j'ecris 'dhclient' il me repond que cette commande n'existe pas;
    quant a 'ifconfig eth0 dhcp' c'est ce qu'il me repond : 'dhcp: Unknown host'.

    merci quand meme.
  • [^] # Re: plus d'infos

    Posté par  . En réponse au message startadsl de eagle-usb2.0.0, RedHat Enterprise Linux. Évalué à 1.

    bonjour brahici
    mon provider est WANADOO-EEPAD en Algerie
    je ne suis pas en degoupé

    ***ifcofig:
    lo Lien encap:Boucle locale
    inet adr:127.0.0.1 Masque:255.0.0.0
    UP LOOPBACK RUNNING MTU:16436 Metric:1
    RX packets:756 errors:0 dropped:0 overruns:0 frame:0
    TX packets:756 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 lg file transmission:0
    RX bytes:77442 (75.6 Kb) TX bytes:77442 (75.6 Kb)

    ***eaglediag -msc:
    .
    .
    module loaded? OK
    modem operational? OK
    .
    pppd launched? KO
    /etc/resolv.conf should contain the DNS
    .
    Table de routage IP du noyau
    Destination Passerelle Genmask Indic Metric Ref Use Iface
    169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
    127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
    ping IP? KO
    test DNS resolution ? KO

    ***eaglestat:

    Tx Rate 64 Rx Rate 128
    FEC 966 Margin 16 Atten 40 dB
    VID-CPE 0 VID-CO 28 HEC 17
    VPI 0 VCI 35 Delin GOOD
    Cells Tx 57 Cells Rx 312174
    Pkts Tx 45 Pkts Rx 123436
    OAM 0 Bad VPI 1 Bad CRC 29
    Oversiz. 0
  • [^] # Re: Arf, autre probleme

    Posté par  . En réponse au message probleme avec sagem fast 800. Évalué à 1.

    bonjour j'ai telecharge eagle-usb 2.0.0 et la configuration s'etait tres bien deroule mais quand je tape 'adslstart' , la commande semble s'executer (je la trouve d'ailleur dans les processus actifs , en utilisant 'top') ,mais la connexion ne demarre pas (ADSL et PWR du modem sont allumes) remercei!