tree cf7b367d2777e6854b6f42537150d3cc33eae22f
parent a4eb761a4537a95f445d2980c43d79e55573507b
author Ed Tanous <edtanous@google.com> 1674518261 -0800
committer Ed Tanous <ed@tanous.net> 1677859104 +0000

Allow logged in users to upload incrementally

There are use cases where logged in users might want to upload a large
file over a slow connection, and would exceed the 60 second timeout that
bmcweb has.  This commit would theoretically allow the user timer to be
per-segment, allowing very long timeouts in the case of slow
connections, so long as some progress was made within the 15 second
window, which seems reasonable.

If user authentication is disabled then there is no user session active
in this case timer will be refreshed as long as progress was made.

This seems like a better alternative compared to setting a very long
(5-20 minute) timeout.

Testing:
  - Loaded image on the system
  $ curl -k -H 'X-Auth-Token: <token>' -H 'Content-Type: application/octet-stream' -X POST -T ./obmc-phosphor-image-p10bmc.ext4.mmc.tar https://${bmc}:443/redfish/v1/UpdateService/update
  {
    "@odata.id": "/redfish/v1/TaskService/Tasks/0",
    "@odata.type": "#Task.v1_4_3.Task",
    "Id": "0",
    "TaskState": "Running",
    "TaskStatus": "OK"
  }

  - Tested image load using disable authentication and insecure http
    connections.

  - Ran few querries and those are fine.
    * curl -s -k https://${bmc}:443/redfish/v1/Managers
    * curl -s -k https://${bmc}:443/redfish/v1/Managers/bmc
    * curl -s -k https://${bmc}:443/redfish/v1/AccountService/Accounts
    * curl -s -k https://${bmc}:443/redfish/v1/Systems/system
    * curl -s -k https://${bmc}:443/redfish/v1/Chassis/chassis
    * curl -s -k https://${bmc}:443/redfish/v1/AccountService/LDAP/Certificates
    * curl -k -X POST https://${bmc}:443/redfish/v1/AccountService/Accounts -d '{"UserName": "user99", "Password": "pass123", "RoleId": "Administrator"}'
    * curl -k https://${bmc}:443/redfish/v1/AccountService/Accounts/user99
    * curl -k -X DELETE https://${bmc}:443/redfish/v1/AccountService/Accounts/user99
    * curl -k -H 'Content-Type: application/json' -X POST https://${bmc}:443/login -d '{"username" :  "admin", "password" :  "newpas1"}'
    * curl -k -H 'X-Auth-Token: ' -X PATCH https://${bmc}:443/redfish/v1/AccountService/Accounts/admin -d '{"Password":"newpas2"}'
    * curl -k -H 'X-Auth-Token: ' -X POST https://${bmc}:443/logout

Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: I579c86defdd199c140891a986d70ae2eca63b2aa
Signed-off-by: Ninad Palsule <ninadpalsule@us.ibm.com>
