Résultats de la recherche sur « morphos »

Affichage de 15 réponses de 136 à 150 (sur un total de 19,982)

  • En réponse à : ubuntu 5.10 sur Pegasos2

    #382188

    J’ai enfin trouvé comment mettre à chaque fois le nouveau kernel.

    J’ai installer la edgy et comme le mkvmlinuz de la edgy fonctionne, j’ai pu créer le kernel 2.6.17-10 ensuite la mise a jour vers la 2.6.17-12 jusque-là c’est nickel.
    Ensuite, j’ai placé feisty dans les sources.list
    J’ai d’abord fait sudo apt-get update et j’ai coupé l’environnement graphique en faisant sudo /etc/init.d/gdm stop
    Je fais Ctrl + Alt + F1 pour m’identifier et mettre mon mot de passe.
    Je fais la commande sudo su pour être en super utilisatteur et je fais sudo apt-get update.
    Je récupère le nouveau kernel avec la commande :
    apt-get install linux-headers
    apt-get install linux-image
    apt-get install linux-recovered-modules comme j’ai la version mkvmlinuz_23ubuntu2.powerpc.deb d’installé il me crée mon nouveau noyau 2.6.20-17
    Ensuite sous la console, je tape apt-get upgrade et pour finir apt-get dist-upgrade
    Une fois l’action fini, je test en remettant l’environnement graphique.
    /etc/init.d/gdm start
    Il me demande de booter et sous Morphos je mount la partition ubuntu pour prendre le kernel fraîchement créé pour le placer dans mon boot en changeant la ligne du bootmenu pour qu’il prenne le kernel vmlinuz-2.6.20-17-powerpc
    Je reboot pour lancer ubuntu je vais dans un terminal pour effectuer le test en tapant :
    cat /proc/version et il m’indique bien le kernel feisty fawn 2.6.20-17
    Je vais dans synaptic pour ensuite enlever l’ancien kernel 2.6.17-12-powerpc
    Pour passer à la version supérieure, il suffit de remettre le mkvmlinuz_23ubuntu2_powerpc.deb
    Changer la sources.list en plaçant gutsy a la place de feisty et de reproduire la même demarche, jusqu’a la mise à jour suivante.
    Pour avoir toujours le dernier kernel 😉
    C’était l’astuce du jour !

    L'Amiga c'est plus fort que toi !

  • #381621

    ah bah moi c’est pire encore, j’utilise sur le morphos un clavier de rack serveur:
    https://fr.rs-online.com/web/p/claviers/1783504

    Sinon sur le pc, un mercury keyz de chez glabs qui passe assez bien sur FS-UAE (mais j’ai que alt de gauche de reconnu, je corrigerais plus tard en corrigeant les mapping de touches ).
    https://www.the-g-lab.tech/produit/keyz-mercury-blanc/

  • #381602

    en plus on se plaint du layout amiga qui correspond pas si adaptateur clavier;

    mais je viens de me rendre compte que sur mon clavier usb branché au macmini morphos, j’ai pas de touche étoile nul part…. pour coder ça va être fun….

  • #381592

    oui alors je précise, j’ai monté:
    pour compiler tester direct du workbench : FS-UAE => Amiga1200
    pour les commandes shell en ssh : Linux => Amiga 1200
    pour git : MacG4 Morphos => Amiga 1200

    pourquoi, parce que linux bug sur les création modif de fichiers, la commande git marche pas du tout (n’arrive pas à écrire les fichiers), et les dates s’affichent de façon très random, donc je devine que c’est un problème de timestamp incohérent.

    Et donc morphos parce qu’avec amiga netfs ça marche au poil pour git.

    et l’inverse

    pour les échanges de fichiers : Amiga 1200 <=> Linux (en sftp, ssh ou ftp)

    Samba, rien à en tirer c’est mort, et NFS pas mieux.

  • #381589

    Bon ben ça m’a saoulé….
    et quand ça m’saoule, j’installe tout jusqu’à trouver un truc qui marche…
    et bah le scoop ben c’est pas samba 😀

    alors pour l’info, amigassh fonctionne presque bien , et amiganetfs seulement entre miga et miga et morphos et miga.
    si on secoue tout ce beau monde on y arrive presque 😀

    • dans le forum Général

      Salut à tous,

      J’avais vu dans les news il y a quelques mois sur AI, l’existence d’un client natif MorphOS pour le service DynDNS.

      En faisant des recherches sur Google, je n’ai malheureusement pas réussi à retrouver la trace de ce programme.

    • En réponse à : Sources VFlash

      #381005

      J’ai un Pegasos II G4 révision 2b5 avec Morphos 3.18, je pense que c’est possible si j’ai les instructions de compilations, car j’utilise gcc et je ne connais pas tout, j’ai juste compiler un Hello World. 🙂

      Eh bien, tu tapes « make » et voilà 🙂

      En pratique il faut avoir les bons répertoires à côté (le truc buildait pour plusieurs archis: AmigaOS, CaOS et MorphOS). Il faut vapor toolkit et VSSL qui sont dispo sur mes repo aussi. Sinon postez dans le thread ici ou sur https://github.com/zapek/Voyager/discussions , je regarderai.

      Actuellement je suis occupé avec https://xeres.io

    • #380896

      Il faudrait un émulateur super nintendo et l’emulateur cd32 sur Morphos, car il manque des tas de choses

      L'Amiga c'est plus fort que toi !

    • En réponse à : Sources VFlash

      #380876

      Je veux bien tenter de le compiler sous Morphos et 68k
      Après, le mettre à jour, car voyager c’était top niveau, fluidité, j’avais même acheté la clé d’enregistrement. 😋👍🏻

      Pour compiler il compile. Mais bon, j’ai un vieux setup sur MorphOS 1.5 (le fameux qui n’est jamais sorti). Les Amigas je sais même pas si ils bootent.

      Il manque probablement des choses.

      J’ai un Pegasos II G4 révision 2b5 avec Morphos 3.18, je pense que c’est possible si j’ai les instructions de compilations, car j’utilise gcc et je ne connais pas tout, j’ai juste compiler un Hello World. 🙂

      L'Amiga c'est plus fort que toi !

    • En réponse à : Sources VFlash

      #380875

      J’ai un Pegasos II G4 révision 2b5 avec Morphos 3.18, je pense que c’est possible si j’ai les instructions de compilations, car j’utilise gcc et je ne connais pas tout, j’ai juste compiler un Hello World. 🙂

      L'Amiga c'est plus fort que toi !

    • En réponse à : Freevo…expérience?!

      #380831

      J’ai enfin réussi à l’installer sur disque dur, en mettant le Live de Freevo, j’ai tapé la commande :
      boot cd hdfreevo
      Ensuite installation sur le HD
      Il demande où se trouve la partition /dev/hdxx
      J’ai placé /dev/hda8
      la partition swap en hda9
      ensuite il formate, il installe, il faut attendre
      après un moment il nous propose de changer dans /etc/fstab
      /dev/ROOT et /dev/SWAP
      j’ai donc mis :
      /dev/hda8 et /dev/hda9
      une fois fini Ctrl + O pour sauver et Ctrl + X pour quitter
      Après un reboot, je remarque que l’affichage est décalé…
      Sous Morphos, je mount la partition Freevo et je vais dans /etc/X11/xorg.conf
      j’installe mes paramètres d’écrans avec un éditeur de texte, je reboot et je constate que le décalage est encore là…
      Dû coup, pour ne plus avoir le décalage de l’écran en « 800×600 » il faut enlever cette option ou placer un # devant.

      # Option « TVOutput » « PAL »

      Vous ne pouvez pas changer la résolution, car il prend le 800×600.
      Après pour la configuration, c’est assez compliqué.

      L'Amiga c'est plus fort que toi !

    • En réponse à : Sources VFlash

      #380679

      Je veux bien tenter de le compiler sous Morphos et 68k
      Après, le mettre à jour, car voyager c’était top niveau, fluidité, j’avais même acheté la clé d’enregistrement. 😋👍🏻

      Pour compiler il compile. Mais bon, j’ai un vieux setup sur MorphOS 1.5 (le fameux qui n’est jamais sorti). Les Amigas je sais même pas si ils bootent.

      Il manque probablement des choses.

    • En réponse à : Sources VFlash

      #380677

      Je veux bien tenter de le compiler sous Morphos et 68k
      Après, le mettre à jour, car voyager c’était top niveau, fluidité, j’avais même acheté la clé d’enregistrement. 😋👍🏻

      L'Amiga c'est plus fort que toi !

    • En réponse à : Sources VFlash

      #380441

      J’ai tenté d’installer un cross compilo MorphOS sur mac, mais ça déconne pendant le build. Ca fait tellement longtemps que j’avais pas touché à ça. J’ai trouvé que ça qui date de 5-7 (!) ans. Peut être qu’il y aurait plus récent qui marcherait ?

    • En réponse à : Sources VFlash

      #380422

      Beaucoup de références à Morphos dans le code. There are 2 archives ? One with the "Classic Amiga" 68020+ build and another one with the PPC native MorphOS build et : It runs on 68k, coldfire and PPC..

      En regardant les sources (l’url plus haut contient les sources de Voyager), on peut voir cette portion de code dans http.c :

       #if USE_SSL
      	if( un->ssl == 1 && un->viaproxy )
      	{
      		snprintf( buffer, sizeof(buffer), "CONNECT %s:%d HTTP/1.0\r\nUser-Agent: %s\r\n",
      			un->purl.host, un->purl.port, vuseragent
      		);
      		bp = strchr( buffer, 0 );
      		if( useproxyauth )
      		{
      			strcpy( bp, "Proxy-Authorization: Basic " );
      			strcat( bp, proxyauth );
      			strcat( bp, "\r\n" );
      			bp = strchr( bp, 0 );
      		}
      		strcpy( bp, "\r\n" );
      		un->ssl = 2;
      		un->viaproxy = 0;
      	}
      	else if( un->ssl && !un->sslh )
      	{
      		un->protocolstate = HTTP_DO_SSL_HANDSHAKE; // do SSL handshaking first
      		DL( DEBUG_INFO, db_http, bug( "redoing for SSL handshake\n" ));
      		return;
      	}
      	else
      #endif /* USE_SSL */

      http://aminet.net/package/util/libs/AmiSSL-5.16-SDK
      http://aminet.net/package/util/libs/AmiSSL-5.16-OS3

      Il ne doit pas falloir beaucoup de choses à un connaisseur du C pour adapter amissl et les normes modernes (TLS) à Voyager 3.x.

      Il y a des références à miami_ssl.h dans network.h aussi (A l'époque, Miami et son module ssl était omiprésent sur les amiga 68k connectés, il était plus simple que amiTCP, avant l'arrivée de Genesis)

      Le contenu de vssl.h :

      /**************************************************************************
      
        =======================
        The Voyager Web Browser
        =======================
      
        Copyright (C) 1995-2001 by
         Oliver Wagner <[email protected]>
         All Rights Reserved
      
        Parts Copyright (C) by
         David Gerber <[email protected]>
         Jon Bright <[email protected]>
         Matt Sealey <[email protected]>
      
      **************************************************************************/
      
      #ifndef VOYAGER_VSSL_H
      #define VOYAGER_VSSL_H
      
      struct VSSL_CacheInfo {
      	int sess_number;
      	int sess_connect;
      	int sess_connect_good;
      	int sess_accept;
      	int sess_accept_good;
      	int sess_hits;
      	int sess_cb_hits;
      	int sess_misses;
      	int sess_timeouts;
      };
      
      #if ( !defined(__GNUC__) && !defined(__DCC__) )
      
      #pragma libcall VSSLBase VSSL_Id 1e 0
      #pragma libcall VSSLBase VSSL_Create_CTX 24 0
      #pragma libcall VSSLBase VSSL_Free_CTX 2a 801
      #pragma libcall VSSLBase VSSL_Connect 30 0802
      #pragma libcall VSSLBase VSSL_Close 36 801
      #pragma libcall VSSLBase VSSL_GetCipher 3c 801
      #pragma libcall VSSLBase VSSL_Write 42 09803
      #pragma libcall VSSLBase VSSL_Read 48 09803
      #pragma libcall VSSLBase VSSL_SetTCPMode 4e 8002
      /* V2*/
      #pragma libcall VSSLBase VSSL_GetPeerCertificate 54 801
      #pragma libcall VSSLBase VSSL_AddCertDir 5a 9802
      #pragma libcall VSSLBase VSSL_X509_Free 60 801
      #pragma libcall VSSLBase VSSL_X509_NameOneline 66 801
      #pragma libcall VSSLBase VSSL_X509_FreeNameOneline 6c 801
      #pragma libcall VSSLBase VSSL_X509_get_subject_name 72 801
      #pragma libcall VSSLBase VSSL_X509_get_issuer_name 78 801
      #pragma libcall VSSLBase VSSL_X509_get_notBefore 7e 801
      #pragma libcall VSSLBase VSSL_X509_get_notAfter 84 801
      #pragma libcall VSSLBase VSSL_GetVerifyResult 8a 9802
      #pragma libcall VSSLBase VSSL_WriteCertPEM 90 9802
      #pragma libcall VSSLBase VSSL_ReadCertPEM 96 801
      #pragma libcall VSSLBase VSSL_ReadCertASN1 9c 801
      #pragma libcall VSSLBase VSSL_ASN1_UTCTIME_sprint a2 9802
      #pragma libcall VSSLBase VSSL_X509_NameHash a8 801
      #pragma libcall VSSLBase VSSL_X509_HaveSubjectCert ae 9802
      /* V3*/
      #pragma libcall VSSLBase VSSL_X509_fingerprint b4 9802
      #pragma libcall VSSLBase VSSL_X509_serialnumber ba 9802
      #pragma libcall VSSLBase VSSL_SetRandSeed c0 0802
      /* V6*/
      #pragma libcall VSSLBase VSSL_GetStats c6 9802
      #pragma libcall VSSLBase VSSL_CTX_Set_Options cc 0802
      #pragma libcall VSSLBase VSSL_GetVersion d2 801
      /* V8*/
      #pragma libcall VSSLBase VSSL_SetDefaultOptions d8 001
      
      #endif
      
      #ifdef MBX
      #define VSSLBASE void *dummy
      #define VSSLVAR  NULL
      #else
      #define VSSLBASE struct Library *VSSLBase
      #define VSSLVAR VSSLBase
      #endif
      
      typedef void *X509;
      typedef void *ASN1_UTCTIME;
      typedef void *X509_NAME;
      
      char *VSSL_Id( void );
      APTR VSSL_Create_CTX( void );
      void VSSL_Free_CTX( APTR ctx );
      APTR VSSL_Connect( APTR ctx, int sock );
      void VSSL_Close( APTR ssl );
      char *VSSL_GetCipher( APTR ssl );
      int VSSL_Write( APTR ssl, APTR buff, int len );
      int VSSL_Read( APTR ssl, APTR buff, int len );
      void VSSL_SetTCPMode( int mode, APTR );
      void VSSL_AddCertDir( APTR ctx, STRPTR dir );
      int VSSL_GetVerifyResult( APTR ssl, char **errorp );
      X509 *VSSL_GetPeerCertificate( APTR ssl );
      void VSSL_X509_Free( X509 *cert );
      STRPTR VSSL_X509_NameOneline( X509_NAME *name );
      void VSSL_X509_FreeNameOneline( STRPTR name );
      X509_NAME * VSSL_X509_get_subject_name( X509 *cert );
      X509_NAME * VSSL_X509_get_issuer_name( X509 *cert );
      ASN1_UTCTIME * VSSL_X509_get_notBefore( X509 *cert );
      ASN1_UTCTIME * VSSL_X509_get_notAfter( X509 *cert );
      int VSSL_WriteCertPEM( X509 *cert, STRPTR outfile );
      X509 *VSSL_ReadCertPEM( STRPTR filename );
      X509 *VSSL_ReadCertASN1( STRPTR filename );
      void VSSL_ASN1_UTCTIME_sprint( char *to, ASN1_UTCTIME *tm );
      ULONG VSSL_X509_NameHash( X509 *cert );
      int VSSL_X509_HaveSubjectCert( APTR ctx, X509 *cert );
      int VSSL_X509_fingerprint( X509 *cert, char *to );
      void VSSL_X509_serialnumber( X509 *cert, char *to );
      void VSSL_SetRandSeed( APTR buff, int len );
      void VSSL_GetStats( APTR ctx, struct VSSL_CacheInfo *ci );
      void VSSL_CTX_Set_Options( APTR ctx, ULONG options );
      STRPTR VSSL_GetVersion( APTR ssl );
      void VSSL_SetDefaultOptions( ULONG options );
      
      #define SSL_OP_MICROSOFT_SESS_ID_BUG			0x00000001L
      #define SSL_OP_NETSCAPE_CHALLENGE_BUG			0x00000002L
      #define SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG		0x00000008L
      #define SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG		0x00000010L
      #define SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER		0x00000020L
      #define SSL_OP_MSIE_SSLV2_RSA_PADDING			0x00000040L
      #define SSL_OP_SSLEAY_080_CLIENT_DH_BUG			0x00000080L
      #define SSL_OP_TLS_D5_BUG				0x00000100L
      #define SSL_OP_TLS_BLOCK_PADDING_BUG			0x00000200L
      #define SSL_OP_TLS_ROLLBACK_BUG				0x00000400L
      
      /* If set, only use tmp_dh parameters once */
      #define SSL_OP_SINGLE_DH_USE				0x00100000L
      /* Set to also use the tmp_rsa key when doing RSA operations. */
      #define SSL_OP_EPHEMERAL_RSA				0x00200000L
      
      /* The next flag deliberatly changes the ciphertest, this is a check
       * for the PKCS#1 attack */
      #define SSL_OP_PKCS1_CHECK_1				0x08000000L
      #define SSL_OP_PKCS1_CHECK_2				0x10000000L
      #define SSL_OP_NETSCAPE_CA_DN_BUG			0x20000000L
      #define SSL_OP_NON_EXPORT_FIRST 			0x40000000L
      #define SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG		0x80000000L
      #define SSL_OP_ALL					0x000FFFFFL
      
      #define SSL_OP_NO_SSLv2					0x01000000L
      #define SSL_OP_NO_SSLv3					0x02000000L
      #define SSL_OP_NO_TLSv1					0x04000000L
      
      #endif /* VOYAGER_VSSL_H */ 

      Dossier vsslstubs contenant : vssl.c bss_sock_mbx.c

      Lien vers un voyager compilé pour 68k.

      **********************************************
      Au passage REP Oliver Wagner !
      **********************************************

      Un début de réécriture possible de vssl.h (Evidemment, il faut ajuster car sorti du contexte, ça risque de poser des petits problèmes)

      /**************************************************************************
      
        =======================
        The Modernization of Voyager Web Browser
        =======================
      
        No_Copyright (C) 2024 by Void
         [Void Durant] <[email protected]>
         No Rights Reserved
      
      **************************************************************************/
      #ifndef VOYAGER_VSSL_H
      #define VOYAGER_VSSL_H
      
      // includes à déplacer, modifier ...
      #include <exec/types.h>  // Pour les types de base AmigaOS
      #include <proto/amissl.h>  // Inclure le prototype de la bibliothèque AmiSSL ...
      #include <amissl/ssl.h>  // Utilisation de la bibliothèque amissl ou OpenSSL moderne ??
      #include <amissl/err.h>   // Pour la gestion des erreurs ??
      
      // Structure pour stocker les informations de cache SSL
      struct VSSL_CacheInfo {
          int sess_number;
          int sess_connect;
          int sess_connect_good;
          int sess_accept;
          int sess_accept_good;
          int sess_hits;
          int sess_cb_hits;
          int sess_misses;
          int sess_timeouts;
      };
      
      // Déclarations des fonctions de la bibliothèque VSSL
      #if ( !defined(__GNUC__) && !defined(__DCC__) )
      
      #pragma libcall VSSLBase VSSL_Id 1e 0
      #pragma libcall VSSLBase VSSL_Create_CTX 24 0
      #pragma libcall VSSLBase VSSL_Free_CTX 2a 801
      #pragma libcall VSSLBase VSSL_Connect 30 0802
      #pragma libcall VSSLBase VSSL_Close 36 801
      #pragma libcall VSSLBase VSSL_GetCipher 3c 801
      #pragma libcall VSSLBase VSSL_Write 42 09803
      #pragma libcall VSSLBase VSSL_Read 48 09803
      #pragma libcall VSSLBase VSSL_SetTCPMode 4e 8002
      #pragma libcall VSSLBase VSSL_GetPeerCertificate 54 801
      #pragma libcall VSSLBase VSSL_AddCertDir 5a 9802
      #pragma libcall VSSLBase VSSL_X509_Free 60 801
      #pragma libcall VSSLBase VSSL_X509_NameOneline 66 801
      #pragma libcall VSSLBase VSSL_X509_FreeNameOneline 6c 801
      #pragma libcall VSSLBase VSSL_X509_get_subject_name 72 801
      #pragma libcall VSSLBase VSSL_X509_get_issuer_name 78 801
      #pragma libcall VSSLBase VSSL_X509_get_notBefore 7e 801
      #pragma libcall VSSLBase VSSL_X509_get_notAfter 84 801
      #pragma libcall VSSLBase VSSL_GetVerifyResult 8a 9802
      #pragma libcall VSSLBase VSSL_WriteCertPEM 90 9802
      #pragma libcall VSSLBase VSSL_ReadCertPEM 96 801
      #pragma libcall VSSLBase VSSL_ReadCertASN1 9c 801
      #pragma libcall VSSLBase VSSL_ASN1_UTCTIME_sprint a2 9802
      #pragma libcall VSSLBase VSSL_X509_NameHash a8 801
      #pragma libcall VSSLBase VSSL_X509_HaveSubjectCert ae 9802
      #pragma libcall VSSLBase VSSL_X509_fingerprint b4 9802
      #pragma libcall VSSLBase VSSL_X509_serialnumber ba 9802
      #pragma libcall VSSLBase VSSL_SetRandSeed c0 0802
      #pragma libcall VSSLBase VSSL_GetStats c6 9802
      #pragma libcall VSSLBase VSSL_CTX_Set_Options cc 0802
      #pragma libcall VSSLBase VSSL_GetVersion d2 801
      #pragma libcall VSSLBase VSSL_SetDefaultOptions d8 001
      
      #endif
      
      #ifdef MBX
      #define VSSLBASE void *dummy
      #define VSSLVAR  NULL
      #else
      #define VSSLBASE struct Library *VSSLBase
      #define VSSLVAR VSSLBase
      #endif
      
      // Déclarations de types pour les certificats
      typedef void *X509;
      typedef void *ASN1_UTCTIME;
      typedef void *X509_NAME;
      
      // Prototypes des fonctions
      char *VSSL_Id(void);
      APTR VSSL_Create_CTX(void);
      void VSSL_Free_CTX(APTR ctx);
      APTR VSSL_Connect(APTR ctx, int sock);
      void VSSL_Close(APTR ssl);
      char *VSSL_GetCipher(APTR ssl);
      int VSSL_Write(APTR ssl, APTR buff, int len);
      int VSSL_Read(APTR ssl, APTR buff, int len);
      void VSSL_SetTCPMode(int mode, APTR);
      void VSSL_AddCertDir(APTR ctx, STRPTR dir);
      int VSSL_GetVerifyResult(APTR ssl, char **errorp);
      X509 *VSSL_GetPeerCertificate(APTR ssl);
      void VSSL_X509_Free(X509 *cert);
      STRPTR VSSL_X509_NameOneline(X509_NAME *name);
      void VSSL_X509_FreeNameOneline(STRPTR name);
      X509_NAME *VSSL_X509_get_subject_name(X509 *cert);
      X509_NAME *VSSL_X509_get_issuer_name(X509 *cert);
      ASN1_UTCTIME *VSSL_X509_get_notBefore(X509 *cert);
      ASN1_UTCTIME *VSSL_X509_get_notAfter(X509 *cert);
      int VSSL_WriteCertPEM(X509 *cert, STRPTR outfile);
      X509 *VSSL_ReadCertPEM(STRPTR filename);
      X509 *VSSL_ReadCertASN1(STRPTR filename);
      void VSSL_ASN1_UTCTIME_sprint(char *to, ASN1_UTCTIME *tm);
      ULONG VSSL_X509_NameHash(X509 *cert);
      int VSSL_X509_HaveSubjectCert(APTR ctx, X509 *cert);
      int VSSL_X509_fingerprint(X509 *cert, char *to);
      void VSSL_X509_serialnumber(X509 *cert, char *to);
      void VSSL_SetRandSeed(APTR buff, int len);
      void VSSL_GetStats(APTR ctx, struct VSSL_CacheInfo *ci);
      void VSSL_CTX_Set_Options(APTR ctx, ULONG options);
      STRPTR VSSL_GetVersion(APTR ssl);
      void VSSL_SetDefaultOptions(ULONG options);
      
      // Options SSL
      #define SSL_OP_MICROSOFT_SESS_ID_BUG            0x00000001L
      #define SSL_OP_NETSCAPE_CHALLENGE_BUG            0x00000002L
      #define SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG    0x00000008L
      #define SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG        0x00000010L
      #define SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER        0x00000020L
      #define SSL_OP_MSIE_SSLV2_RSA_PADDING            0x00000040L
      #define SSL_OP_SSLEAY_080_CLIENT_DH_BUG            0x00000080L
      #define SSL_OP_TLS_D5_BUG                0x00000100L
      #define SSL_OP_TLS_BLOCK_PADDING_BUG            0x00000200L
      #define SSL_OP_TLS_ROLLBACK_BUG                0x00000400L
      #define SSL_OP_SINGLE_DH_USE                0x00100000L
      #define SSL_OP_EPHEMERAL_RSA                0x00200000L
      #define SSL_OP_PKCS1_CHECK_1                0x08000000L
      #define SSL_OP_PKCS1_CHECK_2                0x10000000L
      #define SSL_OP_NETSCAPE_CA_DN_BUG            0x20000000L
      #define SSL_OP_NON_EXPORT_FIRST             0x40000000L
      #define SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG    0x80000000L
      #define SSL_OP_ALL                    0x000FFFFFL
      #define SSL_OP_NO_SSLv2                    0x01000000L
      #define SSL_OP_NO_SSLv3                    0x02000000L
      #define SSL_OP_NO_TLSv1                    0x04000000L
      
      #endif /* VOYAGER_VSSL_H */
      
      Et une partie 'modernisée' dans http.c :
      
      

      /*
      * Builds up and sends the HTTP request.
      */
      static void un_doprotocol_http_req(struct unode *un)
      {
      char buffer[8192]; // Taille fixe, mais à gérer avec précaution
      char *bp;
      int len;
      int formlen = 0;
      char *formdata = NULL; // Initialisé à NULL pour éviter les avertissements

      // Assemble the initial request
      /*
      * If we’re doing SSL-proxying, we need to
      * « CONNECT » first.
      */

      #if USE_SSL
      if (un->ssl == 1 && un->viaproxy)
      {
      // Utilisation de snprintf pour éviter les débordements de tampon
      len = snprintf(buffer, sizeof(buffer), « CONNECT %s:%d HTTP/1.1\r\nUser-Agent: %s\r\n »,
      un->purl.host, un->purl.port, vuseragent);

      if (len < 0 || len >= sizeof(buffer)) {
      // Gestion d’erreur si le formatage échoue ou déborde
      fprintf(stderr, « Error formatting CONNECT request\n »);
      return;
      }

      bp = buffer + len; // Pointer à la fin de la chaîne formatée

      if (useproxyauth)
      {
      // Vérification de la taille pour éviter les débordements
      len = snprintf(bp, sizeof(buffer) – (bp – buffer), « Proxy-Authorization: Basic %s\r\n », proxyauth);
      if (len < 0 || len >= (sizeof(buffer) – (bp – buffer))) {
      fprintf(stderr, « Error formatting Proxy-Authorization header\n »);
      return;
      }
      bp += len; // Avancer le pointeur
      }

      // Terminer la requête
      snprintf(bp, sizeof(buffer) – (bp – buffer), « \r\n »);
      un->ssl = 2; // Indiquer que la connexion SSL a été initiée
      un->viaproxy = 0; // Désactiver l’utilisation du proxy
      }
      else if (un->ssl && !un->sslh)
      {
      un->protocolstate = HTTP_DO_SSL_HANDSHAKE; // Effectuer le handshake SSL
      DL(DEBUG_INFO, db_http, bug(« Redoing for SSL handshake\n »));
      return;
      }
      #endif /* USE_SSL */
      }`

      On peut traiter méthodiquement tous les fichiers des sources de Voyager, les afiner (par exemple : vssl.c, network.h adapté à amissl) puis compiler et ensuite passer à javascript et css.

      Vite, un panneau solaire et un PiStorm.

    Affichage de 15 réponses de 136 à 150 (sur un total de 19,982)

    Amiga Impact