Overview
Comment: | tools: new directory for command-line tools using directly Natools library, seeded with HMAC tools |
---|---|
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
4d8481daa6a4642554de56c236b6f2aa |
User & Date: | nat on 2014-04-07 19:04:13 |
Other Links: | manifest | tags |
Context
2014-04-08
| ||
19:05 | hmac-main: add command-line options to control output format check-in: 3c8ac9180a user: nat tags: trunk | |
2014-04-07
| ||
19:04 | tools: new directory for command-line tools using directly Natools library, seeded with HMAC tools check-in: 4d8481daa6 user: nat tags: trunk | |
2014-04-06
| ||
17:01 | hmac_tests: fully-covering test suite for HMAC check-in: 29a0283a2f user: nat tags: trunk | |
Changes
Added tools.gpr version [69e0606d25].
> > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | with "natools"; project Tools is for Source_Dirs use ("tools"); for Main use ("hmac-md5", "hmac-sha1", "hmac-sha256"); for Object_Dir use Natools'Object_Dir; for Exec_Dir use Natools'Exec_Dir; package Compiler is for Default_Switches use Natools.Compiler'Default_Switches; end Compiler; package Linker is for Default_Switches use Natools.Linker'Default_Switches; end Linker; end Tools; |
Added tools/hmac-main.adb version [7ad0682bf7].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | ------------------------------------------------------------------------------ -- Copyright (c) 2014, Natacha Porté -- -- -- -- Permission to use, copy, modify, and distribute this software for any -- -- purpose with or without fee is hereby granted, provided that the above -- -- copyright notice and this permission notice appear in all copies. -- -- -- -- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -- -- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -- -- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -- -- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -- -- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -- -- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -- -- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -- ------------------------------------------------------------------------------ with Ada.Command_Line; with Ada.Streams; with Ada.Text_IO; with Ada.Text_IO.Text_Streams; with Natools.S_Expressions; with Natools.S_Expressions.Encodings; procedure HMAC.Main is begin case Ada.Command_Line.Argument_Count is when 0 => Ada.Text_IO.Put_Line ("Usage: " & Ada.Command_Line.Command_Name & " key [message]"); when 1 => declare Context : HMAC_Implementation.Context := HMAC_Implementation.Create (Ada.Command_Line.Argument (1)); Block : Ada.Streams.Stream_Element_Array (1 .. 64); Last : Ada.Streams.Stream_Element_Offset; Input : constant Ada.Text_IO.Text_Streams.Stream_Access := Ada.Text_IO.Text_Streams.Stream (Ada.Text_IO.Current_Input); begin loop Input.Read (Block, Last); exit when Last not in Block'Range; HMAC_Implementation.Update (Context, Block (Block'First .. Last)); end loop; Ada.Text_IO.Put_Line (Natools.S_Expressions.To_String (Natools.S_Expressions.Encodings.Encode_Hex (HMAC_Implementation.Digest (Context), Natools.S_Expressions.Encodings.Lower))); end; when others => for I in 2 .. Ada.Command_Line.Argument_Count loop Ada.Text_IO.Put_Line (Natools.S_Expressions.To_String (Natools.S_Expressions.Encodings.Encode_Hex (HMAC_Implementation.Digest (Ada.Command_Line.Argument (1), Natools.S_Expressions.To_Atom (Ada.Command_Line.Argument (I))), Natools.S_Expressions.Encodings.Lower))); end loop; end case; end HMAC.Main; |
Added tools/hmac-main.ads version [79de5d135e].
> > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | ------------------------------------------------------------------------------ -- Copyright (c) 2014, Natacha Porté -- -- -- -- Permission to use, copy, modify, and distribute this software for any -- -- purpose with or without fee is hereby granted, provided that the above -- -- copyright notice and this permission notice appear in all copies. -- -- -- -- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -- -- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -- -- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -- -- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -- -- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -- -- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -- -- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -- ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ -- HMAC.Main provides a generic main procedure tailored for the given HMAC -- -- implementation. -- ------------------------------------------------------------------------------ with Natools.HMAC; generic with package HMAC_Implementation is new Natools.HMAC (<>); procedure HMAC.Main; |
Added tools/hmac-md5.ads version [4335635b47].
> > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | ------------------------------------------------------------------------------ -- Copyright (c) 2014, Natacha Porté -- -- -- -- Permission to use, copy, modify, and distribute this software for any -- -- purpose with or without fee is hereby granted, provided that the above -- -- copyright notice and this permission notice appear in all copies. -- -- -- -- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -- -- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -- -- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -- -- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -- -- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -- -- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -- -- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -- ------------------------------------------------------------------------------ with HMAC.Main; with Natools.GNAT_HMAC.MD5; procedure HMAC.MD5 is new HMAC.Main (Natools.GNAT_HMAC.MD5); |
Added tools/hmac-sha1.ads version [cd24fa2a6d].
> > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | ------------------------------------------------------------------------------ -- Copyright (c) 2014, Natacha Porté -- -- -- -- Permission to use, copy, modify, and distribute this software for any -- -- purpose with or without fee is hereby granted, provided that the above -- -- copyright notice and this permission notice appear in all copies. -- -- -- -- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -- -- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -- -- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -- -- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -- -- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -- -- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -- -- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -- ------------------------------------------------------------------------------ with HMAC.Main; with Natools.GNAT_HMAC.SHA1; procedure HMAC.SHA1 is new HMAC.Main (Natools.GNAT_HMAC.SHA1); |
Added tools/hmac-sha256.ads version [79b8cee556].
> > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | ------------------------------------------------------------------------------ -- Copyright (c) 2014, Natacha Porté -- -- -- -- Permission to use, copy, modify, and distribute this software for any -- -- purpose with or without fee is hereby granted, provided that the above -- -- copyright notice and this permission notice appear in all copies. -- -- -- -- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -- -- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -- -- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -- -- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -- -- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -- -- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -- -- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -- ------------------------------------------------------------------------------ with HMAC.Main; with Natools.GNAT_HMAC.SHA256; procedure HMAC.SHA256 is new HMAC.Main (Natools.GNAT_HMAC.SHA256); |
Added tools/hmac.ads version [9c3d0df9b7].
> > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | ------------------------------------------------------------------------------ -- Copyright (c) 2014, Natacha Porté -- -- -- -- Permission to use, copy, modify, and distribute this software for any -- -- purpose with or without fee is hereby granted, provided that the above -- -- copyright notice and this permission notice appear in all copies. -- -- -- -- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -- -- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -- -- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -- -- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -- -- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -- -- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -- -- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -- ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ -- HMAC is an empty parent package for main procedures of HMAC computing -- -- tools. -- ------------------------------------------------------------------------------ package HMAC is pragma Pure (HMAC); end HMAC; |