Sources VFlash

15 sujets de 1 à 15 (sur un total de 24)

  • 1
  • 2
  • Zapek

      #380375

      Pour ceux que ça intéresserait : https://github.com/zapek/VFlash

      Sethghost

        #380376

        Hello Zapek ! Le développement de Voyager a repris sur 68K ? chouette ! (hé hé).

        Voyager

        Vite, un panneau solaire.

        __sam__

          #380377

          On trouve encore du flash sur le web ou il y a un truc que j’ai mal compris ?

          Samuel.

          Amiga A500 + GVP530 (8Mo/fpu/mmu/scsi) - en panne 🙁
          A500 (+ 1Mo PPS), A1200 (Blizzard-IV/fpu/64Mo)
          A500 Vampire V2+ ^8^ 🙂
          (mais aussi TO8, TO8D, TO9. Groupe PULS.)

          Sethghost

            #380378

            On trouve encore du flash sur le web

            Pour ceux qui veulent tester VOYAGER ;
            https://zapek.com/software/voyager/

            Ca peut être utile par exemple pour regarder les milliards d’œuvres produites en flash, logiciels, jeux, animations, vidéos et surtout :

            Ifeel.swf – Un film d’animation de commande en flash par Melon Design Melon Dezign pour les Beatles, et ceux qui gèrent leur droits exclusifs – (sony ?). (Année : 1999 ou 2000)
            https://www.grosfichiers.com/y6TxbwkdFGz – ifeel.swf
            MELON-different-web.swf : Melon Design (Année ?)
            flash_Tenacious_D_Fuck_Her_Gently.swf – Une vidéo drôle assez connue à l’époque qu’on ne peut pas trouver sur youtube et qu’on ne peut de fait, pas lire facilement puisque flash est retiré par défaut.

            Les vieux softs trouvables sur aminet ne fonctionnent pas bien avec les swf.
            Pour lire du .swf actuellement :
            https://ruffle.rs/demo/

            Vite, un panneau solaire.

            Zapek

              #380380

              Hello Zapek ! Le développement de Voyager a repris sur 68K ? chouette ! (hé hé

              Euh, non 🙂

              J’avais sorti les sources en 2017 mais je crois que personne n’a réussi à le compiler. Les sources de VFlash traînaient par là alors je me suis dit que pourquoi pas les mettre quelque part, même si ça ne sert pas à grand chose, sauf pour les curieux. Il n’y a toujours pas de client Git pour Amiga, si ?

              piark

                #380381

                Je n’ai pas trouvé de client git sur amiga 68K, mais je crois ça éxiste sur ppc.

                Deux raisons à cela, mais c’est à discuter.

                Il semblerait qu’il y ait une difficulté à compiler directement les sources qui permettraient de le faire, pour une histoire de gestion des threads, du coup on retrouve sur 68k que des clients svn ou cvs, qui sont issus de la version msdos.

                La gestion du SSL serait trop lourde pour un 68k, et visiblement c’est un truc important dans git.

                Mais ça serait cool sinon, même si ça obligeait à passer par un petit boitier port // ou serial par exemple.

                Sethghost

                  #380382

                  Pour une compilation, optimisation, amélioration des sources, il serait possible avec les outils disponibles actuellement de passer des morceaux problématiques de code dans un cerveau de cylon réseau neuronal.

                  … Le 68k manque de mises à jour, même si amigaOS 3.3 se profile à l’horizon.

                  Voyager 3.x
                  En tout cas la version 3.3 de 2002 fonctionne toujours ! 🙂
                  https://postimg.cc/DSfNN6kk

                  Vite, un panneau solaire.

                  Zapek

                    #380384

                    En tout cas la version 3.3 de 2002 fonctionne toujours ! 🙂

                    Je crois que la dernière pour 68K était la 3.3.125 la dernière en GPL est la 3.4.9.

                    Mais le gros problème (à part le HTML 5, CSS et JS mal supporté) c’est le SSL qui ne marche plus avec les serveurs actuels.

                    Sethghost

                      #380385

                      Mais le gros problème (à part le HTML 5, CSS et JS mal supporté) c’est le SSL

                      Oui, il faut sortir la caisse à outils pour implémenter les nouveaux js et css.

                      Il semble que amissl (5.12 ?) est mis à jour. C’est le retour d’IBrowse qui a d’ailleurs peut-être relancé son développement et aussi l’arrivée des nouveaux hardware puissants (vampire, piStorm, émulation…)

                      Voyager 3.3.126
                      https://postimg.cc/zV21Xc17

                      La version 3.3 126 – 2002 (registered, keyfile) de Voyager lit sans problèmes les gif récents. (Ca fait bizarre en passant de pas pouvoir sortir les fenêtres du cadre avec amigaOS3.9)
                      (Il y en a au moins un ici qui pourrait compiler des sources mais cela demande un peu de temps…)

                      Vite, un panneau solaire.

                      Sethghost

                        #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.

                        leo

                          #380427

                          @Sethghost: fais une PR/Branche directement sur Github plutôt que de copier/coller du code ici ?

                          Sethghost

                            #380429

                            Fais une PR/Branche directement sur Github plutôt que de copier/coller du code ici ?

                            Bonne idée !

                            Le fait de coller du code d’exemple dans l’interface wordpress d’amigaimpact qui n’est pas très pratique ni conçue pour ça est une manière de signifier qu’on pourrait relancer un projet collectivement 🙂 2 ou 3 personnes suffisent pour commencer et ça peut aller vite.

                            Relancer un projet aussi vaste que Voyager à l’échelle de l’amiga nécessite une bonne connaissance du logiciel, du compilateur SAS/C, des normes en vigueur actuellement, des 68000, du ppc, du sdk MUI pour la suite.

                            Premier petit problème, les sources semblent être hybrides, compilables sous MOS et 68k, or dans la doc, il y a 2 archives pour l’une ou l’autre machine.

                            Edit : Dans l’interface d’amigaimpact, il faudrait pouvoir
                            [spoilers]masquer le code source[/spoilers]

                            Vite, un panneau solaire.

                            leo

                              #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 ?

                              Zapek

                                #380443

                                Je veux bien mettre les sources de Voyager sur GitHub (et les trucs qui manquent) si ça peut aider.

                                stephbb75

                                  #380445

                                  Salut,

                                  Tous les navigateurs fonctionne encore sur Amiga et en plus avec un Pistorm (par exemple 😉 ) c’est presque rapide.
                                  Bien sur ils sont tous obsolète au niveau du JS, CSS et HTML !

                                  Pour le SSL effectivement AmiSSL est souvent mis à jour et des logiciels comme RNOXFTP l’utilise et cela fonctionne très bien.

                                  Je veux bien mettre les sources de Voyager sur GitHub (et les trucs qui manquent) si ça peut aider.

                                  Au moins cela ferais une sauvegarde des sources pour l’histoire 😉

                                  Mettre a jour un des navigateurs Amiga me semble un énorme boulot comme le dit @Sethghost il faut des connaissances sur beaucoup de sujet…
                                  Quand tu voie le merdier que tu peut faire avec du CSS !!!!

                                  https://youtube.com/@stephbb75

                                15 sujets de 1 à 15 (sur un total de 24)

                                • 1
                                • 2
                                • Vous devez être connecté pour répondre à ce sujet.

                                Forums AmigaOS, MorphOS et AROS Développement Sources VFlash

                                Amiga Impact