Forum Home
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular

    Is feathercoin ready for the latest Openssl?

    Technical Development
    6
    14
    4928
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • ghostlander
      ghostlander Regular Member last edited by

      Keep with v1.0.1j if in doubt.

      1 Reply Last reply Reply Quote 1
      • lizhi
        lizhi last edited by

        upgrade openssl-1.0.2c

        cd /d/btc/dev
        cd openssl-1.0.2c
        ./config
        make
        
        CPPFLAGS="-I/D/BTC/Dev/miniupnpc \
        -I/D/BTC/Dev/boost_1_55_0 \
        -I/D/FTC/dev/db-5.1.29.NC/build_unix \
        -I/D/BTC/Dev/openssl-1.0.2c/include \
        -I/D/BTC/Dev \
        -I/D/BTC/Dev/protobuf-2.5.0/src \
        -I/D/BTC/Dev/libpng-1.6.12 \
        -I/D/BTC/Dev/qrencode-3.4.4 \
        -I/D/FTC/dev/ZebraCrossing-master/src/libsrc \
        -DSTATICLIB " \
        LDFLAGS="-L/D/BTC/Dev/boost_1_55_0/stage/lib \
        -L/D/FTC/dev/db-5.1.29.NC/build_unix \
        -L/D/BTC/Dev/openssl-1.0.2c \
        -L/D/BTC/Dev/miniupnpc \
        -L/D/BTC/Dev/protobuf-2.5.0/src/.libs \
        -L/D/BTC/Dev/libpng-1.6.12/.libs \
        -L/D/BTC/Dev/qrencode-3.4.4/.libs \
        -L/D/FTC/dev/ZebraCrossing-master/build32/Release " \
        ./configure \
        --disable-upnp-default \
        --disable-tests \
        --with-qt-incdir=/D/BTC/Dev/QT/5.3.1/include \
        --with-qt-libdir=/D/BTC/Dev/QT/5.3.1/lib \
        --with-qt-bindir=/D/BTC/Dev/QT/5.3.1/bin \
        --with-qt-plugindir=/D/BTC/Dev/QT/5.3.1/plugins \
        --with-boost-system=mgw49-mt-s-1_55 \
        --with-boost-filesystem=mgw49-mt-s-1_55 \
        --with-boost-program-options=mgw49-mt-s-1_55 \
        --with-boost-thread=mgw49-mt-s-1_55 \
        --with-boost-chrono=mgw49-mt-s-1_55 \
        --with-protoc-bindir=/D/BTC/Dev/protobuf-2.5.0/src \
        --with-boost=/D/BTC/Dev/boost_1_55_0/stage \
        --with-boost-libdir=/D/BTC/Dev/boost_1_55_0/stage/lib
        
        1 Reply Last reply Reply Quote 1
        • zerodrama
          zerodrama Regular Member last edited by

          ok so 102c is safe? or does it require changes to code?

          1 Reply Last reply Reply Quote 1
          • lizhi
            lizhi last edited by

            I think so,safe. you don’t need change any code.

            http://www.ftc-c.com/pack3/feathercoin-setup.exe

            1 Reply Last reply Reply Quote 0
            • lizhi
              lizhi last edited by

              delete old code in key.cpp

              if (ECDSA_verify(0, (unsigned char*)&hash, sizeof(hash), &vchSig[0], vchSig.size(), pkey) != 1)
                      return false;
                  return true;
              

              add new code.New versions of OpenSSL will reject non-canonical DER signatures

              bool CKey::Verify(uint256 hash, const std::vector& vchSig)
              {
                              // -1 = error, 0 = bad sig, 1 = good   
              		if (vchSig.empty())
              		    return false;
              		
              		// New versions of OpenSSL will reject non-canonical DER signatures. de/re-serialize first.
              		unsigned char *norm_der = NULL;
              		ECDSA_SIG *norm_sig = ECDSA_SIG_new();
              		const unsigned char* sigptr = &vchSig[0];
              		assert(norm_sig);
              		if (d2i_ECDSA_SIG(&norm_sig, &sigptr, vchSig.size()) == NULL)
              		{
              		    /* As of OpenSSL 1.0.0p d2i_ECDSA_SIG frees and nulls the pointer on
              		     * error. But OpenSSL's own use of this function redundantly frees the
              		     * result. As ECDSA_SIG_free(NULL) is a no-op, and in the absence of a
              		     * clear contract for the function behaving the same way is more
              		     * conservative.
              		     */
              		    ECDSA_SIG_free(norm_sig);
              		    return false;
              		}
              		int derlen = i2d_ECDSA_SIG(norm_sig, &norm_der);
              		ECDSA_SIG_free(norm_sig);
              		if (derlen
              
              1 Reply Last reply Reply Quote 0
              • zerodrama
                zerodrama Regular Member last edited by

                so delete:

                if(ECDSA_verify(…

                …

                return false

                and add:

                bool CKey::Verify(…

                …

                return ret

                }

                is that right?

                1 Reply Last reply Reply Quote 0
                • lizhi
                  lizhi last edited by

                  Yes , I think so. It have added 0.9.5.

                  see https://github.com/bitcoin/bitcoin/commit/b8e81b7ccd4490155e3345fc73346ff8c3a77524

                  see https://github.com/bitcoin/bitcoin/commit/60c51f1c381bbd93c70cfdf41c6688609a7956fc

                  see https://github.com/bitcoin/bitcoin/commit/037bfefe6bccbdf656e628a1f4526db8f80c3922

                  1 Reply Last reply Reply Quote 0
                  • S
                    shadowhh32 Regular Member last edited by

                    yeah but we still a cleanup on isle 5. I imagine everything still points to ‘Bitcoin’ instead of ‘Feathercoin’. The UI updates are nice but as noticed, only the windows exe made it to .9.5, not the master branch. The master branch is still missing the UI changes. There is a lot of cleanup to do with bitcoin branding that was left behind with feathercoin master branch.What work Ive done, Ive lost with recent backup failures. I am in need of GitHub WRITE access. Furthermore we have a FREEDOM issue here that has recently been brought to my attention.

                    Although Debian and UBUNTU both use SSL, namely OPENSSL, it has one fatal flaw: current implementation is NON-FREE as distributed.

                    Fedora team have made changes to FREE it, however, these changes remove the code we need to function.(Elliptic curves)

                    Several Bitcoin-esque projects are affected, as they ALL use openSSL.

                    Noted HERE: http://forums.fedoraforum.org/showthread.php?p=1581297 and HERE: http://mikeminneman.com/2013/12/getting-dogecoind-to-run-on-centos/

                    The CentOS pactch doesnt seem to make any changes. However, it is noted that there is further work to be done on HARDENING as noted in this patch:

                    https://github.com/weex/bitcoind-centos/blob/master/makefile.new. Current version with Fedora is 1.0.1k (pull from 22, 21 sources are broken).

                    Ive noticed severe DATA LOSS occuring on Debian systems with Jessie. UBUNTU introduces bugs that shouldnt be. I cant use either as a result.Looks like Im rebuilding OPENSSL…EDIT: NO GO. EPIC FAIL. I dunno how to proceed now. Bitcoin team uses a static version of openssl included with thier app, so does litecoin. Perhaps we should follow suit.

                    ALSO:

                    Packages for Feathercoin for Fedora(and Im sure others) are missing the qt wallet client.This is a HUGE oversight. We need to include both the daemon AND the client.Please repack.

                    1 Reply Last reply Reply Quote 1
                    • M
                      mirrax last edited by

                      ALSO:

                      Packages for Feathercoin for Fedora(and Im sure others) are missing the qt wallet client.This is a HUGE oversight. We need to include both the daemon AND the client.Please repack.

                      I will tell this to Wellen, but he is at the sea right now.

                      1 Reply Last reply Reply Quote 0
                      • zerodrama
                        zerodrama Regular Member last edited by

                        yeah but we still a cleanup on isle 5. I imagine everything still points to ‘Bitcoin’ instead of ‘Feathercoin’. The UI updates are nice but as noticed, only the windows exe made it to .9.5, not the master branch. The master branch is still missing the UI changes. There is a lot of cleanup to do with bitcoin branding that was left behind with feathercoin master branch.What work Ive done, Ive lost with recent backup failures. I am in need of GitHub WRITE access. Furthermore we have a FREEDOM issue here that has recently been brought to my attention.

                        Although Debian and UBUNTU both use SSL, namely OPENSSL, it has one fatal flaw: current implementation is NON-FREE as distributed.

                        Fedora team have made changes to FREE it, however, these changes remove the code we need to function.(Elliptic curves)

                        Several Bitcoin-esque projects are affected, as they ALL use openSSL.

                        Noted HERE: http://forums.fedoraforum.org/showthread.php?p=1581297 and HERE: http://mikeminneman.com/2013/12/getting-dogecoind-to-run-on-centos/

                        The CentOS pactch doesnt seem to make any changes. However, it is noted that there is further work to be done on HARDENING as noted in this patch:

                        https://github.com/weex/bitcoind-centos/blob/master/makefile.new. Current version with Fedora is 1.0.1k (pull from 22, 21 sources are broken).

                        Ive noticed severe DATA LOSS occuring on Debian systems with Jessie. UBUNTU introduces bugs that shouldnt be. I cant use either as a result.Looks like Im rebuilding OPENSSL…EDIT: NO GO. EPIC FAIL. I dunno how to proceed now. Bitcoin team uses a static version of openssl included with thier app, so does litecoin. Perhaps we should follow suit.

                        ALSO:

                        Packages for Feathercoin for Fedora(and Im sure others) are missing the qt wallet client.This is a HUGE oversight. We need to include both the daemon AND the client.Please repack.

                        It’s not a license issue.

                        It’s a patent issue.

                        Use it.

                        And if Certicom does something nasty, start a riot.

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post