/usr/share/ada/adainclude/aws/aws-config-set.ads is in libaws3.2.0-dev 3.2.0-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 69 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 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 | ------------------------------------------------------------------------------
-- Ada Web Server --
-- --
-- Copyright (C) 2000-2014, AdaCore --
-- --
-- This library is free software; you can redistribute it and/or modify --
-- it under terms of the GNU General Public License as published by the --
-- Free Software Foundation; either version 3, or (at your option) any --
-- later version. This library is distributed in the hope that it will be --
-- useful, but WITHOUT ANY WARRANTY; without even the implied warranty of --
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. --
-- --
-- --
-- --
-- --
-- --
-- You should have received a copy of the GNU General Public License and --
-- a copy of the GCC Runtime Library Exception along with this program; --
-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-- <http://www.gnu.org/licenses/>. --
-- --
-- --
-- --
-- --
-- --
-- --
-- --
------------------------------------------------------------------------------
-- This package can be used to Set any AWS parameters
package AWS.Config.Set is
------------------------
-- Per Server Options --
------------------------
------------
-- Server --
------------
procedure Server_Name (O : in out Object; Value : String);
-- This is the name of the server as set by AWS.Server.Start
procedure Protocol_Family (O : in out Object; Value : String);
-- Set the server protocol family. Family_Inet for IPv4, Family_Inet6 for
-- IPv6 and Family_Unspec for unspecified protocol family.
procedure Server_Host (O : in out Object; Value : String);
-- This is the server host as set by the HTTP object declaration
procedure Server_Port (O : in out Object; Value : Natural);
-- This is the server port as set by the HTTP object declaration
procedure Hotplug_Port (O : in out Object; Value : Positive);
-- This is the hotplug communication port needed to register and
-- un-register an hotplug module.
procedure Session (O : in out Object; Value : Boolean);
-- Enable session handling is Value is True
procedure Case_Sensitive_Parameters (O : in out Object; Value : Boolean);
-- Parameters are handled with the case if Value is True
procedure Line_Stack_Size (O : in out Object; Value : Positive);
-- HTTP lines stack size
procedure MIME_Types (O : in out Object; Value : String);
-- The name of the file containing the MIME types associations
procedure Reuse_Address (O : in out Object; Value : Boolean);
-- Set the reuse address policy allowing a bind without a dealy to the same
-- address and port.
procedure Session_Name (O : in out Object; Value : String);
-- Name of the cookie session
procedure Server_Priority (O : in out Object; Value : System.Any_Priority);
-- Set the priority used by the HTTP and WebSockets servers
----------------
-- Connection --
----------------
procedure Max_Connection (O : in out Object; Value : Positive);
-- This is the max simultaneous connections as set by the HTTP object
-- declaration.
procedure Send_Buffer_Size (O : in out Object; Value : Positive);
-- This is the socket buffer size used for sending data. Increasing this
-- value will give better performances on slow or long distances
-- connections.
procedure Free_Slots_Keep_Alive_Limit
(O : in out Object; Value : Natural);
-- The minimum number of free slots where keep-alive connections are still
-- enabled. After this limit no more keep-alive connection will be
-- accepted by the server. This parameter must be used for heavy-loaded
-- servers to make sure the server will never run out of slots. This limit
-- must be less than Max_Connection.
procedure Keep_Alive_Force_Limit (O : in out Object; Value : Natural);
-- Define maximum number of keep alive sockets where server process it with
-- normal timeouts. If number of keep-alive sockets become more than
-- Keep_Alive_Force_Limit, server start to use shorter force timeouts.
-- If this parameter not defined in configuration or defined as 0 value
-- server use calculated value Max_Connection * 2.
procedure Accept_Queue_Size (O : in out Object; Value : Positive);
-- This is the size of the queue for the incoming requests. Higher this
-- value will be and less "connection refused" will be reported to the
-- client.
----------
-- Data --
----------
procedure WWW_Root (O : in out Object; Value : String);
-- This is the root directory name for the server. This variable is not
-- used internally by AWS. It is supposed to be used by the callback
-- procedures who want to retrieve physical objects (images, Web
-- pages...). The default value is the current working directory.
procedure Upload_Directory (O : in out Object; Value : String);
-- This point to the directory where uploaded files will be stored. The
-- directory returned will end with a directory separator.
procedure Upload_Size_Limit (O : in out Object; Value : Positive);
-- Set the maximum size accepted for uploaded files
procedure Directory_Browser_Page (O : in out Object; Value : String);
-- Filename for the directory browser template page
procedure Max_POST_Parameters (O : in out Object; Value : Positive);
-- Set the maximum number of POST parameters handled. Past this limit
-- the exception Too_Many_Parameters is raised.
---------
-- Log --
---------
procedure Log_File_Directory (O : in out Object; Value : String);
-- This point to the directory where log files will be written. The
-- directory returned will end with a directory separator.
procedure Log_Filename_Prefix (O : in out Object; Value : String);
-- This is the prefix to use for the log filename
procedure Log_Size_Limit (O : in out Object; Value : Natural);
-- If Log_Size_Limit is more than zero and size of log file
-- become more than Log_Size_Limit, log file is be split.
procedure Log_Split_Mode (O : in out Object; Value : String);
-- This is split mode for the log file. Possible values are : Each_Run,
-- Daily, Monthly and None. Any other values will raise an exception.
procedure Log_Extended_Fields (O : in out Object; Value : String);
-- Comma separated list of the extended log field names. If this parameter
-- is empty, the HTTP log would have fixed apache compartible format:
--
-- 127.0.0.1 - - [25/Apr/1998:15:37:29 +0200] "GET / HTTP/1.0" 200 1363
--
-- If the extended fields list is not empty, the log file format would have
-- user defined fields set:
--
-- #Version: 1.0
-- #Date: 2006-01-09 00:00:01
-- #Fields: date time cs-method cs-uri cs-version sc-status sc-bytes
-- 2006-01-09 00:34:23 GET /foo/bar.html HTTP/1.1 200 30
--
-- Fields in the list could be:
--
-- date Date at which transaction completed
-- time Time at which transaction completed
-- c-ip Client side connected IP address
-- c-port Client side connected port
-- s-ip Server side connected IP address
-- s-port Server side connected port
-- cs-method HTTP request method
-- cs-username Client authentication username
-- cs-version Client supported HTTP version
-- cs-uri Request URI
-- cs-uri-stem Stem portion alone of URI (omitting query)
-- cs-uri-query Query portion alone of URI
-- sc-status Responce status code
-- sc-bytes Length of response message body
-- cs(<header>) Any header field name sent from client to server
-- sc(<header>) Any header field name sent from server to client
-- x-<appfield> Any application defined field name
procedure Error_Log_Filename_Prefix (O : in out Object; Value : String);
-- This is the prefix to use for the log filename
procedure Error_Log_Split_Mode (O : in out Object; Value : String);
-- This is split mode for the log file. Possible values are : Each_Run,
-- Daily, Monthly and None. Any other values will raise an exception.
------------
-- Status --
------------
procedure Admin_Password (O : in out Object; Value : String);
-- This is the password for the admin server page as set by
-- AWS.Server.Start. The password must be created with the aws_password
-- tool.
procedure Admin_URI (O : in out Object; Value : String);
-- This is the name of the admin server page as set by AWS.Server.Start
procedure Status_Page (O : in out Object; Value : String);
-- Filename for the status template page
procedure Up_Image (O : in out Object; Value : String);
-- Filename for the up arrow image used in the status page
procedure Down_Image (O : in out Object; Value : String);
-- Filename for the down arrow image used in the status page
procedure Logo_Image (O : in out Object; Value : String);
-- Filename for the AWS logo image used in the status page
--------------
-- Timeouts --
--------------
procedure Cleaner_Wait_For_Client_Timeout
(O : in out Object;
Value : Duration);
-- Number of seconds to timout on waiting for a client request.
-- This is a timeout for regular cleaning task.
procedure Cleaner_Client_Header_Timeout
(O : in out Object;
Value : Duration);
-- Number of seconds to timout on waiting for client header.
-- This is a timeout for regular cleaning task.
procedure Cleaner_Client_Data_Timeout
(O : in out Object;
Value : Duration);
-- Number of seconds to timout on waiting for client message body.
-- This is a timeout for regular cleaning task.
procedure Cleaner_Server_Response_Timeout
(O : in out Object;
Value : Duration);
-- Number of seconds to timout on waiting for client to accept answer.
-- This is a timeout for regular cleaning task.
procedure Force_Wait_For_Client_Timeout
(O : in out Object;
Value : Duration);
-- Number of seconds to timout on waiting for a client request.
-- This is a timeout for urgent request when resources are missing.
procedure Force_Client_Header_Timeout
(O : in out Object;
Value : Duration);
-- Number of seconds to timout on waiting for client header.
-- This is a timeout for urgent request when resources are missing.
procedure Force_Client_Data_Timeout
(O : in out Object;
Value : Duration);
-- Number of seconds to timout on waiting for client message body.
-- This is a timeout for urgent request when resources are missing.
procedure Force_Server_Response_Timeout
(O : in out Object;
Value : Duration);
-- Number of seconds to timout on waiting for client to accept answer.
-- This is a timeout for urgent request when resources are missing.
procedure Send_Timeout (O : in out Object; Value : Duration);
-- Number of seconds to timeout when sending chunck of data
procedure Receive_Timeout (O : in out Object; Value : Duration);
-- Number of seconds to timeout when receiving chunck of data
--------------
-- Security --
--------------
procedure Check_URL_Validity (O : in out Object; Value : Boolean);
-- Set the check URL validity flag. If True an URL that reference a
-- resource above the Web root will be rejected.
procedure Security (O : in out Object; Value : Boolean);
-- Enable security (HTTPS/SSL) if Value is True
procedure Certificate (O : in out Object; Filename : String);
-- Set the certificate to be used with the secure server
procedure Key (O : in out Object; Filename : String);
-- Set the key to be used with the secure server
procedure Security_Mode (O : in out Object; Mode : String);
-- Set the security mode to be used with the secure server. Only values
-- from AWS.Net.SSL.Method can be used.
procedure Cipher_Priorities (O : in out Object; Value : String);
-- Sets priorities for the cipher suites supported by SSL implementation.
-- GNUTLS and OpenSSL implementations has different sintax for this
-- parameter.
procedure TLS_Ticket_Support (O : in out Object; Value : Boolean);
-- Set to True for security communication side support stateless TLS
-- session resumption. See RFC 5077.
procedure Exchange_Certificate (O : in out Object; Value : Boolean);
-- Set to True to request the client to send its certificate to the server
procedure Certificate_Required (O : in out Object; Value : Boolean);
-- Returns True if the server must abort the connection if the
-- client did not provide a certificate. If this option is set
-- the Exchange_Certificate must also be set.
procedure Trusted_CA (O : in out Object; Filename : String);
-- Returns the filename containing a list of trusted CA, this is to be used
-- with the Exchange_Certificate option. The filename is on bundle of CAs
-- that can be trusted. A client certificate signed with one of those CA
-- will be accetped by the server.
procedure CRL_File (O : in out Object; Filename : String);
-- Returns the filename containing the Certificate Revocation List. This
-- list is used by the server to check for revoked certificate.
-------------------------
-- Per Process Options --
-------------------------
procedure Session_Cleanup_Interval (Value : Duration);
-- Number of seconds between each run of the cleaner task to remove
-- obsolete session data.
procedure Session_Lifetime (Value : Duration);
-- Number of seconds to keep a session if not used. After this period the
-- session data is obsoleted and will be removed during next cleanup.
procedure Session_Id_Length (Value : Positive);
-- Returns the length (number of characters) of the session id
procedure Session_Cleaner_Priority (Value : System.Any_Priority);
-- Set the priority used by the session cleaner task
procedure Service_Priority (Value : System.Any_Priority);
-- Set the priority used by the others services (SMTP server, Jabber
-- server, Push server...).
procedure Config_Directory (Value : String);
-- Directory where AWS parameter files are located
procedure Transient_Cleanup_Interval (Value : Duration);
-- Number of seconds between each run of the cleaner task to remove
-- transient pages.
procedure Transient_Lifetime (Value : Duration);
-- Number of seconds to keep a transient page. After this period the
-- transient page is obsoleted and will be removed during next cleanup.
procedure Context_Lifetime (Value : Duration);
-- Number of seconds to keep a context if not used. After this period the
-- context data is obsoleted and will be removed during next cleanup.
procedure Max_Concurrent_Download (Value : Positive);
-- Control the maximum number of parallel downloads accepted by the
-- download manager.
procedure Max_WebSocket_Handler (Value : Positive);
-- This is the max simultaneous connections handling WebSocket's messages
procedure WebSocket_Message_Queue_Size (Value : Positive);
-- This is the size of the queue containing incoming messages
procedure WebSocket_Origin (Value : String);
-- This is regular expression to restrict WebSocket to a specific origin
procedure WebSocket_Priority (Value : System.Any_Priority);
-- Set the priority used by the WebSocket service
procedure Input_Line_Size_Limit (Value : Positive);
-- Maximum length of an HTTP parameter
procedure Parameter
(Config : in out Object;
Name : String;
Value : String;
Error_Context : String := "");
-- Set one of the AWS HTTP per server parameters. Raises Constraint_Error
-- in case of wrong parameter name or wrong parameter value.
-- Error_Context may contain additional information about the parameter.
-- This message will be added to the Constraint_Error exception.
-- One way to use Error_Context is to set it with information about
-- where this parameter come form.
procedure Parameter
(Name : String;
Value : String;
Error_Context : String := "");
-- Set one of the AWS HTTP per process parameters. See description above
end AWS.Config.Set;
|