# HG changeset patch # User Olaf Wintermann # Date 1505145337 -7200 # Node ID c3d98b2cccf33d28992c14b8d60e65ba670fd3e2 # Parent a4d3ff32d49c034d08918e0c4bcc0634366d31ac adds tests for crypto util functions diff -r a4d3ff32d49c -r c3d98b2cccf3 dav/main.c --- a/dav/main.c Mon Sep 11 14:17:26 2017 +0200 +++ b/dav/main.c Mon Sep 11 17:55:37 2017 +0200 @@ -158,7 +158,7 @@ void print_usage(char *cmd) { fprintf(stderr, "Usage: %s command [options] arguments...\n\n", cmd); fprintf(stderr, "Commands:\n"); - fprintf(stderr, " list [-altepcR] [-u ] \n"); + fprintf(stderr, " list [-altdepcR] [-u ] \n"); fprintf( stderr, " get [-pcR] [-o ] [-u ] \n"); @@ -173,6 +173,9 @@ fprintf( stderr, " set-property [-pc] [-L ] [-n ] [value]\n"); + fprintf( + stderr, + " remove-property [-pc] [-n ] \n"); fprintf(stderr, " lock [-pc] \n"); fprintf(stderr, " unlock [-pc] [-L ] \n"); fprintf(stderr, " info [-pc] \n"); @@ -194,6 +197,7 @@ fprintf(stderr, " -a show all files\n"); fprintf(stderr, " -l print resources in long list format\n"); fprintf(stderr, " -t print content type\n"); + fprintf(stderr, " -d order by last modified date\n"); fprintf(stderr, " -e show extended flags\n"); fprintf(stderr, " -O override resources\n"); fprintf(stderr, " -L specificy lock token\n"); diff -r a4d3ff32d49c -r c3d98b2cccf3 test/Makefile --- a/test/Makefile Mon Sep 11 14:17:26 2017 +0200 +++ b/test/Makefile Mon Sep 11 17:55:37 2017 +0200 @@ -30,6 +30,7 @@ TEST_SRC = main.c TEST_SRC += base64.c +TEST_SRC += crypto.c TEST_OBJ = $(TEST_SRC:%.c=../build/test/%$(OBJ_EXT)) diff -r a4d3ff32d49c -r c3d98b2cccf3 test/crypto.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/crypto.c Mon Sep 11 17:55:37 2017 +0200 @@ -0,0 +1,246 @@ +/* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + * + * Copyright 2017 Olaf Wintermann. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#include +#include +#include + +#include "crypto.h" + +#include +#include +#include + +static DavKey keys256[16]; +static DavKey keys128[16]; + +static char *strings[] = { + "a", + "ab", + "abc", + "abcd", + "a string", + "hello world", + "0 1", + "0123 abcd XXXX <>", + "libidav+dav+dav-sync", + "R2xd1dI9o0HHd3aDuQrvuPyB", + "7XxUqWvOvQOFo0SlKyEWzerR", + "Ert2g8bjjyKpAebBNxdaJ5o7", + "C0jReDRLHxF6MW1stR00OFiF", + "eRD76vIQIUNRRFrnUrGtTI13", + "VmfdNDkSzLKiEgCkWQ4Es4XaiY7TlW3LCm1gt3r66uJ0TeQm", + "AdeoBAIo8Q54yO1Pwe1WH3rgDe4m5ZBUSgNUlrNqGjtN4UNN", + "Ajkt3kmdG9uPRi41Q5299yuW9DJNKc0yGlF08K6PfodpYyOxzOiL7TbeDML0RbJAOaL2fpCC", + "mmGmeUTxxAEyhx1Qw9CAodQ550rQpQhSR4ZuC4im9SDSl5ykGJOEJrdrTPciaIdyY9M6WSmg", + "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "--aabb2234000000001ffffffffffffffffas" + "very long string ..............................................." + "----------------------------------------------------------------" + "0000000000000000000000000000000000000000000000000000000000000000" + ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" +}; + +static char *cryptkey0aes256strings[] = { + "UtIyzMm3e39YFEccglOxyJ4WPlqA01tohXCJSeaVKIA=", + "rfHc8KMEp9HoGAHz08gyne+YH053EIoiheacHe0yiOY=", + "C6oaFjGiPe0aN3SAC146ptKyyGbWO1X2hHDOHtV5PBU=", + "y+bwmzxtjepi1Gpm1dwI7qJywu32hErGLCxFv4K5Zz4=", + "I1uRSZ/fOvJ4Ng2VhBYMGAhfejhdJdu5Sjc67qdyHIY=", + "J0s/JwsBebiBEhUJUjm9aliuX6NsMxfkHyD8t1yZqeA=", + "riCsL+VoMX9Np+zHJ6sBf7YJxNPtubGWvpIf2vQ3Cfj46bJ+OtbQWjEr4qEreYSi", + "2RtZKgawmf2ZhSE4a58WW2Vqq1She3+IK2PkthWsH9CsDUBTGjcLtng2Csj6IVsQ", + "G+iHYAcw26KdN4P/ZtJmUsPq/NrVkTyT0S8bAKtJe8b4/ZrD3lFVoujVFebxvAsW", + "sEqfG73duZVlWpgMs4PrgMmw2gaFc3n5SyxLTL3km50Uhc/SfmSbNa8x3J1CdrYH", + "TvdiTxgZ3ojjhLDfD5EHDGi98PXFmwXDCkzBYojYchyEplAfSYBALgYwQpw03/EE", + "rQdJ83pmLinsaViwJN2X6cC/WNvuJF5SpKdvx7Isc8nJAHZxPqZMwGdGutGsCcZp", + "CKnjU5Bw1xUrhCqR9i1PHQr7W8N/D0gx6lbj8+f40fNPoJSHxPl53fpxjXUj0a+f", + "iM4cKOKnFh2mNqqETilnyCSE2VuLxoMac1q40wcHtGLdwHEXRjx/GLouhA+sksyZ", + "iEQt7tHNNs+C4fM1ioPLRtdxBB0prCYX6147r7DOgaJO3I3nLKRjdVhxCMTu6vtEbQEdldtPOAai1AQvGUIHCR0vysUEpuaHW1jL/nbdos4=", + "N7l3vRd0PNGdj5qwNGpxpGy4TvTd59jPSqMsfkMSP44Qb/UwmJF+WwN6OMSuy8OAkSz8oXPNnozYv1neE40IbT+eNEtX2+VNLLcoyRvLIko=", + "THUKZwEFfYdhkObEaagcR1fLLxusTP0kFYdovNWl/XdBTTiKIrG+RMIod5VrFUe0bx3yZDZJtuAn1J/E+5F8/CXQ5WoxQM66B8BzXVC/EaSJlFJcG9MNstx4HXQPiBq3", + "YMk6nlKxsLqXwXwFiIXJNZR/m5Gqd6h2R5ddN0UEjDBNkCWBnrnMyE22rrcz6oogVZCh1mWYYO0WiqhG3qqWSzJcb7lGrbdFl4rfD+ogQPkM3c0jgEnV2/rLHyu3x57l", + "tkaz9523cM6fYJDW4E/Q99cxy1ZpRO3hoFtV2iCQ/zWqvhfL96GjbV2yiqMY2iX2bJ+4iXKerrQMmxDUAYJYzQ==", + "GrRF4S9W75f6Y82Bw1PS3ZfMs0sSY8yc5F7zwJ6YtAUCWvCpgLJ2fd1UGAdYrMoB9f8R2gXXM4ROGD1N/tWo5vDgQDFrzSttN6J+4n9yg18JuQ5Kna2P9sEOkPTSgZDmB9wjOAQ5U4LlmHI35ykcc0LjFkwy9qxXw1GbsATeD4WY+wq800ru6E158a9Fb6teRQUteNZCtgwTqPSr2sYJIQAaJO4Yv0vNp/7BgxI9CZM/Hvr+05GVVRA9YE3qwed3Hk1RMd15cfBo/+bsttTDg1sKtviPHtkBV88codPfoWYZjd8UPYE+q9P0zOM/wRvb5b2sUccRKbmRNmM+OKQySyG/lyCb+HedxjPQ+24i8NLjku3GWJG3egDnRQHY/nb1TBmOFjpNtARq4QhLf0HwDaGcZwchhGn0xpggcrqTuv4=" +}; + +static char *cryptkey1aes256strings[] = { + "zAkuGJUT4tkdbYg/oxLROlzHNWQPojgyFSGhEw3FpNE=", + "RiDdDBabx2dxPWH/Hu+FRHN9e8dnoaX2sjNae81VoTU=", + "ocdZlAi8uGD7JvmVNGA94BhZ7RoJrYWgjwENZ7+CmVQ=", + "HMtoE2bd6VdJGtcRICoCI1o51jeoWoJyGVPhLLNzFc0=", + "/lTX94wq8KMKK6IAO+/TxZbE9hCIXd+aribRzIzEcSs=", + "GKZjuYqJXFyNd26SHrd+kgeHTq7SlDB11igXyyulJ9c=", + "0il4W1FjrMzDeyaBkswYG+UYgKUBGAhNivzDAPngH3ENN8pSr8cE2m9Q1AKIyKcQ", + "Can1I90vUnRynV74Y10EFEX7TGtaYKeUgkSLLG2UBOX1gspDeDK5Mea3ajPYT8GU", + "6/jEE+HPx5CIr/NqK8mZ9jLeOJXqol6F8Dwzg+uGsDChoXwVwcuKdWBpCHwPDSpE", + "BE8YyUqrqKnjIYP3NYvyPToaSj5Sy8OW3DAFdrPpbCKG1wmyYo7E6pSO9/7DPrQ6", + "pKMowelyCqYG9hC1xVYwSNMcz4BxU+wSJCWeuqNf2gfin7O2GbzRGN4ZOQjHT/5z", + "DHgqVkKZ1vRkM4wqmAy89vZySNDi4HUAf0lzhE/6szzsP1H6vEFCetsTcEcx2umH", + "wmv89rc6xO6b2PrOYtVBurnJvbWRElqpeV2bV3+gTOMnaq7M7kdwty0zT2S9aCAq", + "BTJqEnCTkmX9e7bXxGHsRMsHPincVlFnrL1r513BSnX4e+T4N4vwua1VCiVhLbCX", + "lNH6ysiyVl7ulQIkeWwfF4KDmOgOFSuYqsexMCichTPfoPW66UM5OIN5z2GKJVQbJ8QIgIVHJ2z8b7/xpx1FEyEwHhhasjmnlgTJzbFtR/Y=", + "mByn4m8cJzGAJTJcq7WoBWjmUpcyET9WcZopRJYKzzg6WMdpqb0Hd6KWxnojRY15zGsDlftTCSUVCMvN978fuve2tUcH0vDrwA3VW7cplag=", + "Qm1cteXs4h2veYPmq6+go+zIp3spUwhbO4/FTIKIx3FG/iloAeyNCHvE75uwQ35qUvsDKNfaLme/HNoLPIy1Ss2z3HezdmbMK5bL5GYfOFqUwk4UN2LNosidWyHhREqR", + "3+0fmdc8ifQ9ETG+1rc7OYeyMZzYIcl9o1qqZ/DSzZGwrSZJoLaBobwLvkHPOY5UFC3k8YHXGZZfd3OvhCth9fEA7xEkxH070VXczZu+k5iDNFlwps9SSIIlsR5WAMBr", + "w+8brnAHAorhX9iX/YeYNxJHGRCiyAp8iWshWlw+QU2n+IqNBkINYRj389A+HPcEus7kqqQuITRoCicaykYoGA==", + "2yVLOZEMpy2kXSqtmgGJ10FwIVs1I8sPkDuSQmSb3nwBw5NA96A7ul9N9Z8Qxr7oxiYi+1ZADEdKRUOlIbntSHel6zW8XJAdnP8fqfV/HFv6DdwNbdc9Ofm3PkfkKcudkLhofGr8Tma5kIyESGmA7jLUrLLPtXvM4jneCZoUh/DpWwTcfgeaAuujNO/FPSJsheEZu4ck2wv5qvlYaQx716xkTsXugnpecOSOq5uQkqmSGI0O+aVJ8sgel/JsiGEJew3JDh+jnuK/lKHnsKxhHcX/ZX+OluGK0KbCHYM5RWl5Fb2zJA1SDaDneFqgOqLdSryBOKJeLoNdiFsL7LQY+RK/ElUZn07QoQDLk+xJwFMbF/KTH9KjWA3vEVdh9C0Wc02Jf3AwpaRmrq9/q62dhm+bc+I4NRH1BmROll8PS5Y=" +}; + +static char *cryptkey0aes128strings[] = { + "yWwheGMLOFi7bUia+105EHpuS2Tv4shfRZh3T0CaXts=", + "wdpntIG/wpTGUOzgt7Pi6GSnc8dVOtvHbjyF6h1p1LY=", + "IJnMdm2WinhlDsQItx/DSW3CFygtEtxAw7cEacoP9j8=", + "vd3IRIru28Xb35+3jKA7PfftbBMvF2z/Cb4e7/2e1vE=", + "ub3TJHUtIsc2Sb1ZeNDfcDYEq9qDcAb6j+qm7Xyg1VA=", + "tXgBCUyxvh7AXiw5ysbMM75v36aeoDniDLUjH723xsA=", + "8g/Vj58LmuGz64biZiA+Oz8nG/e7s0EyF3kcWd5Lmgy86K+AG8c4FlQiAHk7Bscb", + "BuEFNArQgT2uSrK6IsXeFiGlSz9Y3Sh1O7Xgqy6TzGt3XKx6Ixubv7sU8Xo0nKDz", + "jjr0Qliga7PjqJ4rdTqCbd6p3jt3tIQ0xCftctoxaPFZQuiumWT47CxV+alclgV9", + "G0rsiGmM4HZlpnkrPdjEI2+K1d/unmn2QAkl8I68j2+rswPY9VY1zPsRV3x0SfVZ", + "WaoJI8oySoB3sgBSzdflISJRBz0zHarnkrV9wIn0wbKIeN2xxlzxQmUp/RtNnQZq", + "YQNtCIRW0oeTbHPBRMCnfHlm6Xr8uvRgODhv3aVm5OPLmxtlEYAFPja1XvJEcsD6", + "pAdDt3gDc+IsFkzya1cBEV+hi0kYGGDn8HYAq6gs8/sL1i6BjLX8EV1y0oxMIhZk", + "RpOaTK9gAoboRy0oc2y/EY0ZinuG2Cnntc0KvWe7p7QpHqFdOgvhPy5PxF/OImIb", + "bK71oogoMekXTWBycpiBZQ9tz13LDKePfYmsMTZWr1g4Z/9/baSBVHzJvZ2td253310QNVN7elQh5YBLauEaf6nqnRCfhFJjCbAaTMLNN8w=", + "MyypcyOCy39DQJbUsy0fggduPkJVslSRizUqXQZUpuMQf6bDICuXjNBARV6HTBUqhWqatC+35wDBL771udPDPacy3UutZ/nJWQh1nEX0ffE=", + "ps6CbvSuEhuQdzQCr77rgfpHKjWlyDLTPSlDN1ziLlfK4NOgzLRbhQNNfLzoSkGj4eMTqPDoOzeKrbpbpbisxdjUeylPYznuLcFyBVyZn9CRuOOJdkwkkhnooWDpMzSE", + "oQ+IOj9HRGhv0FSpqsVfsHU50TYncFELLRFILA/JQUP9esKYNVjJG1c6uUaRtwCU9dtenBkKP/e/zh+3RSKY26GO/vxG3RWDnYUD1HvJDSR+W7xNUaakFMpGRPCBv6cK", + "aiL1TCWid4j6F/UIPrpz4cq54SHfcp7KLTSaDrcGNIXnLHctbWU1aWHdBjmyZyACIAmQ5l8ul5KafKqaFqPbsw==", + "cOLQc1zi9/l/02FVMBp9D98jnZhwrLLs/1Hn+XT1XxWO2lD56dYiGjMMwjJ0zuHvOGA4wmUwyL0z8kKK3XGhfQqu046i1GXCK/qdHB2b1hnBEEyv0PmKTr28RINP0xckxMk45SYq+HSfeiAyqdupiIHu3Wzx5aBbOjPd9aoGEx7mXRywgzJ56h6jwcNGv7UP3tKaTjkuUDvwhB2Lo875nd9cytC5kj4HLeSXBhtUcxaMxDEWTFK67pqMT6q51t2BV83eAp/BXkis8wpamhYqdv0yiSt4yamLm8IecGfPsHgfCcrnTtK220xbVBRvHMEbP3gui1nApB2vQiweE6Gk5IXIgwN+P/YrihjUzKtJgqCoQ0FigNTQemUGkNalg9+LxiXSg4AFundZQMaRNMNJA/MRKKvHcCps6POwENtYfBY=" +}; + +static char *cryptkey1aes128strings[] = { + "jJyZsBeggvHnPFCt4ABzJPPI88RHWXLREw760Pwh5VU=", + "R+NDojkR6jmLQBKNk0lu11Ks5OpcOhhnNEh1st5bUB8=", + "ZPjJ09PT65Nb/avJZ/rKiKdTQh2EqFj8C4SCggP8Tdo=", + "Wq4poohvLvgTH07olEbU+1DJ+X5R+rxpeWwHJjeD6/w=", + "mJy65R4TKUIaavlMi06zNxEWHFe+emV9y/EpqGfiR4c=", + "X9ukqaTv+yl8P0xq3+lsSnq0Kq2Vra9QStpT7NWrSUo=", + "2wZ4OBX6UlQ8BKdqVgM4zxfdHhh/GPdWqob0/ryBz9mp4w15omTd1Yy8+1xZ/saz", + "5TV7mnMX48QTjJ3mvn1QQnQCj8OfMbx4mRy1r+OJS/p5lPB3kzGaikaxhtVPuOIU", + "wm5Wx9IhOwteBXjoO4UI79gxBd8LHYfp98akutwmOqYLSz2mJ1ZJPjhlu+fB84Jc", + "3m+JFgTgi0djCnU/hcsFFh4AefpkJ5S1ucX1EDhukm0Dbmxtlw8SWO6sIyA8UsUp", + "G96QAM7L9XHn7/z50CAPadqDEyxHQvJJvvHkiL9VZ7LA2WYfm6/gmJIOPgMZfSxT", + "ZxnZLW2M2P1pYIS6JcTwG3qIA5NlcFsLZvQWpiDTwSGZWcOq5mv+fo6i+sDFu3Gl", + "jXgcKe5k6+B7Jgv5erI571JoR39QlaCtv7IJbYb3Y8C1jTq1DLLgYM7mvBiOaCDT", + "rUWtaNg3xqeRqKl/F6Pjg0C6+uPLOX1DXVwwql6Izer89E1vQTGGpjvN5O0UmWNb", + "LRS2XeeIGPzuMFn3ClMS6HRqnfKqmNQcJx41jkL0JitnufZtnyQYojp4LRf331Z0uE3ZCxwCMxJ+GqX8CLpbR6KVWEdhBmnOXjWFY1nZsiw=", + "jg4aA6BJ7RVy4l9sLz/WPGZfSfUxnFbmfGErnMy6LWJGIQzPvISHkLY6pSH3FSMZMUtnLLDW8KVIGstt5lo8AcflSryGrOwvzm+88HUO5Z8=", + "hkS1WQs4SvLTzr95MaIzV56inCkHMWAt1prL6mzv9UadUYEkpPQK/w3Sq9N/3oeNCb21TqF1I9tAbWJOhRqTj098EnmnmJVI6p2mfRESEBEJULBYKsdQPE85CdL2b0Sh", + "wscy5Q5mi1l8tdA/8v6MrdFQY1PuS10uQNFe/FXnnJS/MRcbcA/R9wlLuWiMt7cUg9Zs74lXc8w7tKkOrSX6zMOHu3hpDjCJA+ZE9gkbP70KIGRnddW5aFhXNy/Sz808", + "92S3C7m5lQnj5Gpjz9zbPyYdPO5j03b/AZ5sSPHbuM/HIlIfcj289sNnFz08MLgDSxLqZsJnlVjLLahWWo1KSA==", + "0WQozX4DdbVUATNnxn8kzkG30QGLB0kCUMmm1wdbPCqCWzOqo/id98xh++8PHfD/gmOHwIeZgcW6PTsIT7KI17LRq+ryHI8xdRYMW/oPzXQcaKCis0MbBYpaS9OZp6Wbrkbk9NUShqV340DdydBCtl3RXGhEJLyLWqF2XTyuXNL4srNPFP934rHLSSkU7eUD7FzNiE7mTgQ73E5o/h8porPRtNRnbH1hT5SZK71qC8pRlJjMSVBdMgNHfOJDvjFd0Xv+QwDqm3QqcrpirYhkP5M1ofiwBsuFNra1bnojMPiyXgduhUpxsJ0StvBlzEixrtA2NsxfEgDtrJik8ScOQ7GkB8alHPn3jEFa8KsucyQwxuoJ7W1pIzBYKQqZ3QU3I75aSZ5mAM8PxVVxLdC75iZuBe1PvUNle/bljmKJ3QA=" +}; + +static char *d0 = "01234567890123456789012345678901"; +static char *d1 = "gfXa3IJa;.d-afHS1237.:_A12=$%&%!"; +static char *d2 = "%$dhXfdhgf(z@pWqoiv)Zal=di}weQ + +#ifdef __cplusplus +extern "C" { +#endif + +UCX_TEST(test_util_decrypt_str_k); +UCX_TEST(test_util_encrypt_str_k); + + +#ifdef __cplusplus +} +#endif + +#endif /* CRYPTO_H */ + diff -r a4d3ff32d49c -r c3d98b2cccf3 test/main.c --- a/test/main.c Mon Sep 11 14:17:26 2017 +0200 +++ b/test/main.c Mon Sep 11 17:55:37 2017 +0200 @@ -32,6 +32,7 @@ #include #include "base64.h" +#include "crypto.h" int main(int argc, char **argv) { printf("libidav tests\n"); @@ -42,6 +43,8 @@ ucx_test_register(suite, test_util_base64decode); ucx_test_register(suite, test_util_base64decode_len); ucx_test_register(suite, test_util_base64encode); + ucx_test_register(suite, test_util_decrypt_str_k); + ucx_test_register(suite, test_util_encrypt_str_k); ucx_test_run(suite, stdout); fflush(stdout);