Overview
Comment: | hmac-main: new option to provide the key through a file or standard input |
---|---|
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
7527f90336530ca77c39df880469a736 |
User & Date: | nat on 2014-04-10 21:48:25 |
Other Links: | manifest | tags |
Context
2014-04-11
| ||
20:10 | tools/test.sh: test suite for tools check-in: 9347f4362d user: nat tags: trunk | |
2014-04-10
| ||
21:48 | hmac-main: new option to provide the key through a file or standard input check-in: 7527f90336 user: nat tags: trunk | |
2014-04-09
| ||
19:34 | s_expressions-file_readers: new package to encapsulate file reading as a S-expression or as an atom check-in: 68274aec88 user: nat tags: trunk | |
Changes
Modified tools/hmac-main.adb from [6514f50961] to [bb4eabd511].
︙ | ︙ | |||
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 | with Ada.Strings.Unbounded; with Ada.Text_IO; with Ada.Text_IO.Text_Streams; with Natools.Getopt_Long; with Natools.S_Expressions; with Natools.S_Expressions.Encodings; procedure HMAC.Main is procedure Base64_Output (Digest : in Ada.Streams.Stream_Element_Array); -- Output the given binary Digest in base-64 procedure Lower_Hex_Output (Digest : in Ada.Streams.Stream_Element_Array); -- Output the given binary Digest in lower-case hexadecimal procedure Raw_Output (Digest : in Ada.Streams.Stream_Element_Array); -- Output the given binary Direct directly procedure Upper_Hex_Output (Digest : in Ada.Streams.Stream_Element_Array); -- Output the given binary Digest in upper-case hexadecimal package Options is type Id is (Base64_Output, Lower_Hex_Output, Raw_Output, Upper_Hex_Output); end Options; package Getopt is new Natools.Getopt_Long (Options.Id); | > > | 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 | with Ada.Strings.Unbounded; with Ada.Text_IO; with Ada.Text_IO.Text_Streams; with Natools.Getopt_Long; with Natools.S_Expressions; with Natools.S_Expressions.Encodings; with Natools.S_Expressions.File_Readers; procedure HMAC.Main is procedure Base64_Output (Digest : in Ada.Streams.Stream_Element_Array); -- Output the given binary Digest in base-64 procedure Lower_Hex_Output (Digest : in Ada.Streams.Stream_Element_Array); -- Output the given binary Digest in lower-case hexadecimal procedure Raw_Output (Digest : in Ada.Streams.Stream_Element_Array); -- Output the given binary Direct directly procedure Upper_Hex_Output (Digest : in Ada.Streams.Stream_Element_Array); -- Output the given binary Digest in upper-case hexadecimal package Options is type Id is (Base64_Output, Key_File, Lower_Hex_Output, Raw_Output, Upper_Hex_Output); end Options; package Getopt is new Natools.Getopt_Long (Options.Id); |
︙ | ︙ | |||
68 69 70 71 72 73 74 | (Handler : in out Callback; Argument : in String); overriding procedure Option (Handler : in out Callback; Id : in Options.Id; | | < < > > > > > > > > > > > | 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | (Handler : in out Callback; Argument : in String); overriding procedure Option (Handler : in out Callback; Id : in Options.Id; Argument : in String) is begin case Id is when Options.Base64_Output => Handler.Output := Base64_Output'Access; when Options.Key_File => if Argument = "-" then Handler.Key := Ada.Strings.Unbounded.To_Unbounded_String (Ada.Text_IO.Get_Line); else Handler.Key := Ada.Strings.Unbounded.To_Unbounded_String (Natools.S_Expressions.To_String (Natools.S_Expressions.File_Readers.Reader (Argument).Read)); end if; Handler.Has_Key := True; when Options.Lower_Hex_Output => Handler.Output := Lower_Hex_Output'Access; when Options.Raw_Output => Handler.Output := Raw_Output'Access; when Options.Upper_Hex_Output => Handler.Output := Upper_Hex_Output'Access; end case; |
︙ | ︙ | |||
132 133 134 135 136 137 138 139 140 141 142 143 144 145 | end Upper_Hex_Output; Opt_Config : Getopt.Configuration; Handler : Callback; begin Opt_Config.Add_Option ("base64", 'b', Getopt.No_Argument, Options.Base64_Output); Opt_Config.Add_Option ("lower-hex", 'h', Getopt.No_Argument, Options.Lower_Hex_Output); Opt_Config.Add_Option ("raw", 'r', Getopt.No_Argument, Options.Raw_Output); Opt_Config.Add_Option ("upper-hex", 'H', Getopt.No_Argument, Options.Upper_Hex_Output); | > > | 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 | end Upper_Hex_Output; Opt_Config : Getopt.Configuration; Handler : Callback; begin Opt_Config.Add_Option ("base64", 'b', Getopt.No_Argument, Options.Base64_Output); Opt_Config.Add_Option ("key-file", 'f', Getopt.Required_Argument, Options.Key_File); Opt_Config.Add_Option ("lower-hex", 'h', Getopt.No_Argument, Options.Lower_Hex_Output); Opt_Config.Add_Option ("raw", 'r', Getopt.No_Argument, Options.Raw_Output); Opt_Config.Add_Option ("upper-hex", 'H', Getopt.No_Argument, Options.Upper_Hex_Output); |
︙ | ︙ |