diff --git a/autotest/CheckBak/CheckBak.cpp b/autotest/CheckBak/CheckBak.cpp index a8e6aeaeb..0881d95f9 100644 --- a/autotest/CheckBak/CheckBak.cpp +++ b/autotest/CheckBak/CheckBak.cpp @@ -2,62 +2,13 @@ using namespace Upp; -void GetRepoInfo(String repo, Date& d, int& rev) -{ - String s = Sys("svn info " + repo); - LOG("SVN info:"); - LOG(s); - - int q = s.FindAfter("Last Changed Rev: "); - ASSERT(q >= 0); - rev = atoi(~s + q); - ASSERT(rev > 0); - - q = s.FindAfter("Last Changed Date: "); - ASSERT(q >= 0); - s = s.Mid(q); - ASSERT(s.GetCount() > 18); - - // 2014-10-30 01:01:56 - // 0123456789012345678 - d.year = atoi(s); - d.month = atoi(~s + 5); - d.day = atoi(~s + 8); -} - CONSOLE_APP_MAIN { StdLogSetup(LOG_COUT|LOG_FILE); - Date d, d1; - int rev, rev1; - - GetRepoInfo("svn://localhost/upp", d, rev); - - GetRepoInfo("svn://www.ultimatepp.org/upp", d1, rev1); - - LOG("Main repository last date: " << d1); - LOG("Main repository revision: " << rev1); - - LOG("Mirror repository last date: " << d); - LOG("Mirror repository revision: " << rev); - - ASSERT(d == d1 && rev == rev1); - - GetRepoInfo("svn://www.ultimatepp.org/upp/trunk/uppsrc", d, rev); - LOG("upp.src revision: " << rev); - - String h = HttpRequest("https://github.com/ultimatepp/mirror/commits/master").Execute(); - int q = h.FindAfter("git-svn-id: svn://ultimatepp.org/upp/trunk@"); - - ASSERT(q >= 0); - rev1 = atoi(~h + q); - LOG("GIT mirror revision " << rev1); - ASSERT(rev == rev1); - String s = HttpRequest("http://www.ultimatepp.org/df.info").Execute(); LOG(s); - q = s.Find("%"); + int q = s.Find("%"); ASSERT(q >= 0); q = s.Find("%", q + 1); ASSERT(q >= 4); diff --git a/autotest/CheckMirror/CheckMirror.cpp b/autotest/CheckMirror/CheckMirror.cpp new file mode 100644 index 000000000..5929b4904 --- /dev/null +++ b/autotest/CheckMirror/CheckMirror.cpp @@ -0,0 +1,61 @@ +#include + +using namespace Upp; + +void GetRepoInfo(String repo, Date& d, int& rev) +{ + String s = Sys("svn info " + repo); + LOG("SVN info:"); + LOG(s); + + int q = s.FindAfter("Last Changed Rev: "); + ASSERT(q >= 0); + rev = atoi(~s + q); + ASSERT(rev > 0); + + q = s.FindAfter("Last Changed Date: "); + ASSERT(q >= 0); + s = s.Mid(q); + ASSERT(s.GetCount() > 18); + + // 2014-10-30 01:01:56 + // 0123456789012345678 + d.year = atoi(s); + d.month = atoi(~s + 5); + d.day = atoi(~s + 8); +} + +CONSOLE_APP_MAIN +{ + StdLogSetup(LOG_COUT|LOG_FILE); + + Date d, d1; + int rev, rev1; + + GetRepoInfo("svn://localhost/upp", d, rev); + + GetRepoInfo("svn://www.ultimatepp.org/upp", d1, rev1); + + LOG("Main repository last date: " << d1); + LOG("Main repository revision: " << rev1); + + LOG("Mirror repository last date: " << d); + LOG("Mirror repository revision: " << rev); + + ASSERT(d == d1 && rev == rev1); + + GetRepoInfo("svn://www.ultimatepp.org/upp/trunk/uppsrc", d, rev); + LOG("upp.src revision: " << rev); + + String h = HttpRequest("https://github.com/ultimatepp/mirror/commits/master").Execute(); + LOG("---- GIT"); + LOG(h); + int q = h.FindAfter("git-svn-id: svn://ultimatepp.org/upp/trunk@"); + + ASSERT(q >= 0); + rev1 = atoi(~h + q); + LOG("GIT mirror revision " << rev1); + ASSERT(rev == rev1); + + LOG("------------------- OK"); +} diff --git a/autotest/CheckMirror/CheckMirror.upp b/autotest/CheckMirror/CheckMirror.upp new file mode 100644 index 000000000..3be1e7258 --- /dev/null +++ b/autotest/CheckMirror/CheckMirror.upp @@ -0,0 +1,10 @@ +uses + Core, + Core/SSL; + +file + CheckMirror.cpp; + +mainconfig + "" = ""; + diff --git a/autotest/P7S/P7S.cpp b/autotest/P7S/P7S.cpp index 4ee92b5db..5fbe5ee2e 100644 --- a/autotest/P7S/P7S.cpp +++ b/autotest/P7S/P7S.cpp @@ -2,6 +2,8 @@ using namespace Upp; +// openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem + CONSOLE_APP_MAIN { String dir = GetHomeDirFile("autotest.p7s"); diff --git a/autotest/P7S/P7S.upp b/autotest/P7S/P7S.upp index a21c19d22..cba2ce97c 100644 --- a/autotest/P7S/P7S.upp +++ b/autotest/P7S/P7S.upp @@ -3,7 +3,9 @@ uses Core/SSL; file - P7S.cpp; + P7S.cpp, + private.pem, + public.pem; mainconfig "" = ""; diff --git a/autotest/P7S/private.pem b/autotest/P7S/private.pem index 08c5e678e..67e3141e5 100644 --- a/autotest/P7S/private.pem +++ b/autotest/P7S/private.pem @@ -1,15 +1,28 @@ ------BEGIN RSA PRIVATE KEY----- -MIICXQIBAAKBgQDioZOQ8350EYK+GSg2uxEdcpqiRLgVVzwpDGYS2w0ongU/wE6k -pWqvVoq8tYg+19uUQRQnTl1AE9XGvvfcPeO1cr1tmjDse85TJMwzOPjEcbFXV4Va -UdR04NbsZR9gXy7kXMDu1pwfuOuWsUkUor1QeeQygeIo4hMw+HGEs1GVZwIDAQAB -AoGBAIGsiB4JZRKOrmuNQ3hFg16BI7+zaE01tAOcx48EbbwO5tv6ckU9LRUUhJ/D -kyi6JDbpIdn3ud2fO9PTk0ke1Hn7ehHn47k39Ady/4TZUlYohjrNjBbSQs4FD3A8 -npq5wiHg4Bokfz2Bd9HzSaaIC8gZvDXg6OBBby4HzQ4KoFlRAkEA88bqfDVZ4d7m -7rjppvTI5IleH2rmAm7tQSRg9j6qZxw0ZYiOCyyNMnzb0TjdEhPH0b6SZqWMYh3b -MDzGFu7JSQJBAO3+lDK7Zkia9UtOm17qUvTcMzi5rmW8kfeog5Tzwx80mUsvC7Gk -MZX7XDajKMz5rhW8ex4iDcMQM8/RQEu+mS8CQCoEfyYpi/SClwtOk/dS+c1qX+7K -XhrNQ9eWjZ/j7TsYgW9+ufzzEONC4iCNzIzxG9/rGRDYN/oxazZFQ19wiQECQHc3 -iIslPqZuISP5G3FfVfDcgTgQI2FJJaF2o3sw5HQ0R/nWdjglNMWZpWalMqIDDIZM -5SuCCXzGF/4pJtkKf/cCQQDM09LC+cJMVPyzDmgEUu+izq8HtN7LYoxL2ikf1gLD -qTGUlTl9/+b5UVc95OpWykU7y6C+F3Vi2US1a3tU214u ------END RSA PRIVATE KEY----- +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCwkKxjF9VWkEJP +C0k3MTxfPkwQPqP3Jsly30bpLdDyoUX9+6Uthh0HcA6z7qQM1mtoUho+3JwEfdNI +bv+VxGvbV+dzEJc2Wgn2Hlo/yE43PNtVyuPv1aSJ8k8Vuim1l2wTRpT1/qUXXZ4M +3dVza+HyVsG5OiTuVPlBuvLUXlb609FFI8pfJiuqiaOZoUe9zwXcdebUBF6i9o8K +V4KrNPy0gcV7E2phj6J4M/SPAYLdr1URs8AmheqpkbQTQHbrkSnzOgH+77EQzh1m +ONXLuKPH1doXqhQZhXzUPbZJRB3sZPrWXl4oKovgKUjtPiem4CxSWdX+YNJnwLDB +y18nXdsnAgMBAAECggEANdxsOe5TTgzDrYkr1IJYgFVorqvtKL/URA6IeylWzC0W +RNw3DyQSRuqQEaOCt8fRDAm/p910WopnoXj6zp0Uqdyu5hLxjcr5rvKjZUGdWoxd +/FXgIpFxmAMqzN31S0fd2CN33XLIuc/9Hr+tFYCbdGmyvuZVzb5uKvb0jIQa1Hi3 +MRqSQM/0UKu+zsIt6NFaiBhE4mflGXj8Jt1pAuqHXSZ9INmzna+dvGY+/X2E9qOh +tW8gVjvUahLEeZOZCYcd/8kMxyrdm1NOJCtaDB3pM6upb10WPsE8l39B961A+Lup +c8Ri/hnXWTCfWkEJw+IZ5WZ+B/S+K7UudnDqKoL6QQKBgQDiE8TdZoATYxos5k6E +4EaOn4vEeMuEV1tM2EmDV72hJ/Efd9HS0MT+vsj1jbV2yIsgMJmPigtCyMFPqThC +4673HYSLSlbvNp5BSSy0dD2LHlz0YIC57EK0ItCz4troYdmls6q0VBQSuJD+ug3q +RCjsdG+L+atavVVueoAa/BbJgwKBgQDH70YXixxzcYmx+1OflliVPA8ncbKpT6BP +AKh63Z0hDzRsJFwRK75NhR8/sy3l69mgBNfwaiCThO9ZFw3N1N2yfYTzX5NESGba +EkWfWdZn1CC7ktBclhCLhsLWDobOaK3t/Bv21QzgYFj5cIurCXCyMobGZs/RmmUv +5Snc3VtKjQKBgAibVhBTuaaDTFjPP8gBPc5qNoj5TE4ygTBQv6O3cGm1OpHHHv7W +odlM7BulFHZ8Nge4se/sAne9ataci57ISj3wKr6eyuZ6ftXfcktAbaNhOYq4Lc5m +NzfiZ22hwlG8f+u2BlatKMJ5slNwQ91aUPCHkkOS8roWoSz+juf4Fun/AoGBAIF4 +6aMFav83XzvqzVRjQCokIowgjNonvmBqxLAMI1ztQ71kLlrQQQRiWMIffnGOMff2 +KwB9OWtOgtDmpQHN/2M+9YHFOtDVMgW2H2/59WZ3cFsHz/alF0HDmxiTf6jbEQc0 +Y8eMYDJNMlEWGNxB2MENB0oj+iB6I1zIwjtM/XlhAoGBAM2PeAlMFr0shIblKltX +Mv6KVYYIrEPH1f+2svbRtdVboIXaHYxUtcsQ762TJ5bIM+amKeeLf0OTwaWAeENd +ni3XzDw2SRPLl08f6aLIB0bwDe9aEJoB/SGxhGtsmi9SUZskIxS/Gky4/oHOwoCf +xRPeA2w8rpxh+DW/ROjiBV2T +-----END PRIVATE KEY----- diff --git a/autotest/P7S/public.pem b/autotest/P7S/public.pem index fb5ad4f7c..caf9d63f5 100644 --- a/autotest/P7S/public.pem +++ b/autotest/P7S/public.pem @@ -1,15 +1,21 @@ -----BEGIN CERTIFICATE----- -MIICVzCCAcACCQDKDpTIkLkBjDANBgkqhkiG9w0BAQUFADBwMQswCQYDVQQGEwJD -WjELMAkGA1UECAwCQ1oxDTALBgNVBAcMBHRlc3QxDTALBgNVBAoMBHRlc3QxDTAL -BgNVBAsMBHRlc3QxEjAQBgNVBAMMCWxvY2FsaG9zdDETMBEGCSqGSIb3DQEJARYE -dGVzdDAeFw0xNDAzMDIxNTQ1MjVaFw0xNjEyMjAxNTQ1MjVaMHAxCzAJBgNVBAYT -AkNaMQswCQYDVQQIDAJDWjENMAsGA1UEBwwEdGVzdDENMAsGA1UECgwEdGVzdDEN -MAsGA1UECwwEdGVzdDESMBAGA1UEAwwJbG9jYWxob3N0MRMwEQYJKoZIhvcNAQkB -FgR0ZXN0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDioZOQ8350EYK+GSg2 -uxEdcpqiRLgVVzwpDGYS2w0ongU/wE6kpWqvVoq8tYg+19uUQRQnTl1AE9XGvvfc -PeO1cr1tmjDse85TJMwzOPjEcbFXV4VaUdR04NbsZR9gXy7kXMDu1pwfuOuWsUkU -or1QeeQygeIo4hMw+HGEs1GVZwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAJiS4a0v -BqY1MzuwAamrgfDMTquF/Dm8OrFM9JHSSYdjabgDBpyjVMNZ1R+mkt4MP9iqfT9T -MLeGg++W3IvqwY6KfKS2NqFrphTah6vW1TziinyLEgcIqwThVRTjNLRcMJmP1FQr -GOmkNO242TKanRs1Pq1jZNZXPVRXXf0S+gfQ +MIIDXTCCAkWgAwIBAgIJAJhxiZh7+mpUMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV +BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX +aWRnaXRzIFB0eSBMdGQwHhcNMTYxMjI2MTYzMDA4WhcNMjYxMjI0MTYzMDA4WjBF +MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50 +ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEAsJCsYxfVVpBCTwtJNzE8Xz5MED6j9ybJct9G6S3Q8qFF/fulLYYdB3AO +s+6kDNZraFIaPtycBH3TSG7/lcRr21fncxCXNloJ9h5aP8hONzzbVcrj79WkifJP +FboptZdsE0aU9f6lF12eDN3Vc2vh8lbBuTok7lT5Qbry1F5W+tPRRSPKXyYrqomj +maFHvc8F3HXm1AReovaPCleCqzT8tIHFexNqYY+ieDP0jwGC3a9VEbPAJoXqqZG0 +E0B265Ep8zoB/u+xEM4dZjjVy7ijx9XaF6oUGYV81D22SUQd7GT61l5eKCqL4ClI +7T4npuAsUlnV/mDSZ8CwwctfJ13bJwIDAQABo1AwTjAdBgNVHQ4EFgQUlkKeJx0o +VqsYQViCLJ9zUGopmHYwHwYDVR0jBBgwFoAUlkKeJx0oVqsYQViCLJ9zUGopmHYw +DAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAftXBS0L8WUlagkePZ6Dl +eTIUK/gEl6/FYY2dGIJLdjlLTiRWaIJuj0K+YQbyN2qNtSK0o4XjaBEnphjEXLvj +oD87jHSsYNpM21PUAqd4h22PCwBmFAxyTLWQ4j/5Kyc+aDVxalpO8orlN5GEs9ek +KBAh5bkwY8+Q4iyfQMbIuEc2hVsl2enWmcN3eOHjdJ9sPY8HSaYHHHb8y6GeyY6v +gEpedlf8i5dE1I+KNiUdC4OCAJ1EIQfSaeK/l7gnYrKKy8A4ChIguj8j4DUozqr+ +m7ZMnkeKCfZ95gDKpxCKdw+/zBTw9/DL2b7PdgsKlkwV8u5P+GkiykkLcRHleO+j +AQ== -----END CERTIFICATE-----