Граф коммитов

46 Коммитов

Автор SHA1 Сообщение Дата
Ethan Chumley 3bc4f4a0df
Add deprecation notice (#61) 2020-06-15 12:40:07 -04:00
Matt Wilhelm 6e2b6fad9b Remove github package registry push (#56)
:(
2020-02-05 10:29:25 -05:00
Keith Fung d2868d01e8 📄 Update Readme (#55) 2020-02-05 10:29:25 -05:00
Matt Wilhelm 6259a57664 Bug/max ballots (#54)
* update submodule reference

* when loading max ballots, sanitize output

* update project reference

update version
2020-02-05 10:29:25 -05:00
Matt Wilhelm 1344f24b13 Feature/external ballot id (#53)
* Add String ballot id.  Add support for loading ballot files

refactor the testapp to reflect the current api sample in the C-Implementation

* Specify export path for tests

* remove commented out code

* fix pr feedback

* increment version
2020-02-05 10:29:25 -05:00
Matt Wilhelm 4052e4f943 Feature/custom folder paths (#49)
* Include a custom folder path and filename in testapp

update sdk reference

* increment version prefix

* remove version tag
2020-02-05 10:29:25 -05:00
Keith Fung a7287c14ce 🗳 Package cleanup for mock election (#48)
* ♻ Refactoring Election and Code Cleanup

Refactor Election to ElectionGuard Api

* 🔥 Delete Voting Works Models

Voting works models should be at a higher level instead of existing at low level since they are implementation specific

* 🚀 Upgrade Version Number for Nuget Push
2020-02-05 10:29:25 -05:00
Matt Wilhelm 9cd4ff15b9 increment version number (#47) 2020-02-05 10:29:25 -05:00
Pamela Vong 7f54ed3851 C# Wrapper side that implements the C API expected number of selected (#44)
* C# Wrapper side that implements the C API expected number of selected

* update C submodule to point to master

* Re-enable github workflow tests

* keep MacOS test disabled for now
2020-02-05 10:29:25 -05:00
Pamela Vong abdfece64f Update C# Wrapper to return tally results array (#43) 2020-02-05 10:29:25 -05:00
Matt Wilhelm 7536307b88 change file mode for linux scripts to be executable (#42) 2020-02-05 10:29:25 -05:00
Matt Wilhelm e9e55d9c82 update the github action checkout to pin to v1 (#45)
* update the github action checkout to pin to v1

* update dubmodule reference
2020-02-05 10:29:25 -05:00
Pamela Vong 46e8185c4b C# wrapper side that implements capturing and returning the arrays of casted and spoiled trackers (#41) 2020-02-05 10:29:25 -05:00
Pamela Vong df65c313a3 (WIP) Implement C API (#40)
* Implement C API entry point to create election; removed obsolete KeyCeremony logic; Fixes first step in unit tests (commented out rest of tests that need to be changed to support new payloads); Introduce test console app for easier debugging with C library

* Turn off tests since C library doesnt have updated release with API entry

* Implement freeing unmanaged bytes at end of method

* updated submodule; fix comments

* Refactor Create Election to static method; Renamed API to ElectionGuardAPI; Set up ElectionGuardConfig for shared persisted data; update test and test app; Add entry and return model for C API's EncryptBallot method

* Refactor/fix EncryptBallot api; Update test app; Clean up unmanaged memory

* Update VotingAndEncryption unit tests

* Fix Random ballot generator; Fix EncryptBallot array of selections to pass array of unsigned shorts since booleans aren't blittable types and the array is not a fixed size

* Implement RecordBallots API in C# Wrapper; Implement tests; Refactor/Cleanup obsolete implementations

* More refactoring - consolidating all exposed static wrapper methods in Election.cs, mark everything inside ElectionGuardAPI for internal use only

* Apply changes to get outputed filename from RecordBallot API

* Implement TallyVotes usage in C# wrapper and add/update tests

* Use byte instead of unsigned short for selections

* Apply commented out version of selections array with multple true values
2020-02-05 10:29:25 -05:00
Keith Fung b9e19b60a4 🚀 Package workflow pushes to Nuget (#37)
- Release suffix must have letter starting. Chose v to correspond to version
https://nugettoolsdev.azurewebsites.net/2.8.3/parse-version
- The package is then pushed with Nuget Api Key

https://www.nuget.org/packages/ElectionGuard.SDK/1.0.0-ve133d24

- Update badge to show correct package downloads
2020-02-05 10:29:25 -05:00
Keith Fung 16fe21f431 Calculate Selections for Election Manifest (#36)
An election manifest is a json file that defines the election. This was mimiced off existing examples. The file can then be used to determine how many options are necessary, the number of dummy votes, and the space available for writeins.
2020-02-05 10:29:25 -05:00
Pamela Vong 5848582c51 Fix workflows for nuget packaging (#33)
* Fix download script to parse latest release on mac

* log out version found

* sed may not be available in githubs mac/check grep

* check if at least curl works on mac

* Revert to first fix approach and echo out response

* Attempt with request using github token

* special build step copy for osx

* Fix copy source; comment out response during build; add token for other build env workflows

* More verbose outputs

* Apply same copy rules to unit test project

* Remove Before_Build steps in UnitTest proj since sdk proj will trigget the scripts; put back logging out the response json from github releases

* Fix auth header request; temp log out request

* recomment out json

* change package-workflow to use windows

* change windows built nuget push flow

* change back to to dotnet nuget command

* readd nuget as source

* Restore original package workflow for linux box

* redisable mac tests; added comment about github token; added auth header to powershel request script; remove osx copy logic from csproj until we can confirm process for mac

* reintroduce logging out response from github because mac is still failing

* Upload built/archived artifacts

* remove version suffix

* comment out windows test

* fix item reference type in csproj for native dlls; fix download-latest scripts to use git commands to get latest version tag

* output dotnetcore version on each build environment; revert csproj for native libs types

* verbos dontnet info

* put back packaging as separate step

* get intermediate artifacts

* try setting uppercase 🤞

* log out more info of build machines

* get diagnostic build log

* Final Fix for nuget packaging!

* revert to original nuget.config; revert nuget package names to include commit hash again

* fix windows

* update linux build to use env variable for logging

* fix command construction for linux, enable verbose logging for mac

* fix if expressions

* check mac environment

* fix workflow if conditionals

* attempt to fix workflow if again

* attempt to set env at different nesting level

* moved each env to global scope w/ disinct names since github's if feature doesn't honor scopes as it should

* test turn on verbose for mac

* another attempt to get mac only verbose logging

* attempt w/o conditional expression

* attempt type coercion value check

* attempt with strings?

* fix windows

* powershell for windows diagnostic logging

* set windows version back to false

* fix env equality check for powershell

* check enabling windows verbose logging one more time

* turn logging for windows off again

* Remove TODO
2020-02-05 10:29:25 -05:00
Keith Fung ec8040b06d Create an Election (#30)
* ♻ Refactor uint to int and string for baseHash

uint is just not friendly for new developers. Switch to int where possible. Use basehash as string where possible. Easier for developers to work with.

* 🚧 Update Serializers to use base64

Use base64 for byte conversion  as primary

*  Create Election Constructor

Election constructor was made to quickly assemble all the details of an election with a single call for implementation into the api

* 🔧 Badge should be based on Package
2020-02-05 10:29:25 -05:00
Pamela Vong 6937477c5e 🐛 Fix small script bug when more than 1 release (#31)
* Fix small script bug when more than 1 release

* 🔧 Update to submodule to latest master

Update submodule to master instead of depending on lower version

* 🔥 Remove Release Workflow

* 🚧 Enable Windows Test

* 🔥 Remove GMP installs for speed

- GMP install on mac and windows should be unnecessary
2020-02-05 10:29:25 -05:00
Keith Fung 38d72bd7a0 🚀 Expose methods to get serializable public and private key (#27)
* ♻ Clean up spacing in Project files

Visual studio cleanup on project files

* 🚧 Create Serialization for Public Key and Trustee State

Create serializers that can be used for manipulating the public key and private key aka trustee state

* 🚀 Implement Trustee State and Public Key Export

Public Key and Trustee are now exported and used within tests so that any user can access them.

* 🚧 Disable Windows Test

This is temporary disabled due to waiting on PR's in C-Implementation. This should be removed later.
2020-02-05 10:29:25 -05:00
Pamela Vong 98183e4a7e Fixes for nuget configuration & download-latest.sh (#29)
* Fixes for nuget configuration & download-latest.sh
* Fix for getting commit has on unix
2020-02-05 10:29:25 -05:00
Keith Fung 665cc3ad38 🚀 Nuget Package (#24)
* 🔧 Scripts to manage electionguard

- Script to get electionguard release
- Script to migrate electionguard local build
- Update projects

*  Reduce Test

Tests were flooding due to repeated nunit test in KeyCeremony. Simplified to the simple election which is the only constant test. Temporarily ignored tests hingeing on release of file methods.

* 🚀 Update Pull Request Workflow

Simplify and remove blocks on tests

* Update Product to match Project

* 🔧 Package Workflow

Workflow to commit nuget package
2020-02-05 10:29:25 -05:00
Keith Fung 54dcfbbd03 📝Update Project for better Open Source flow (#20)
* 📝Update ReadMe and Contributing file

- ReadMe now has badges and includes a link to contributing file for new OSS devs. 
- release-workflow now exists

* ⚙ Add PR and Issue Templates

* 📝 Update Contributing Document

Contributing document needs to address how to build and proper PR submission.

* 👌 Resolve PR review
2020-02-05 10:29:25 -05:00
Keith Fung 8cc669b7b7 🔥 Delete Azure Pipeline (#23)
* 🔥 Delete Azure Pipeline

Pipeline deleted in favor of GitHub Actions
2020-02-05 10:29:25 -05:00
Keith Fung c25c1688b4 💚 Resolve Windows C Build (#15)
Add script to install msys, gmp,  and gcc
Enable build for windows
2020-02-05 10:29:25 -05:00
Keith Fung eea120ffda 🚀 Update Submodule to include Thresholding (#21)
- Threshold should now be included to allow for varying tests.
2020-02-05 10:29:25 -05:00
Keith Fung c134e63f16 🚀 NuGet Prep for future Deployment (#14)
* 📝 Update Project Information for Nuget

* ♻ Refactor path of Pipeline file

* 🚀 Add package command to GitHub workflow
2020-02-05 10:29:25 -05:00
Keith Fung 3c6113c2a7 🚀 GitHub Action Workflow for PR (#8)
- Add Linux, Windows, and Mac Build
- Skip Tests due to NUnit conflicts
- Skip Windows C Builds due to missing gmp
- Set on only for pull request
2020-02-05 10:29:25 -05:00
Keith Fung 1f1d68621d Wrap Decryption Features (#7)
* 🔧 Update submodule to use exposed C file methods

* 🔒 Restrict Api's to internal

Api should not be reference directly outside project. Only the exposed classes and models should be used.

* ♻ Refactor Trustee State to State Management

Trustee State needs to be used across stages

*  Add File Methods for Tally and Voting Result

Add methods and test to allow C file manipulation similar to simple election on linux

* 🚧 Add Decryption Wrapping

- Add Coordinator API
- Add Trustee API
- Add wrapped implementations
- Update Decryption Tests
2020-02-05 10:29:25 -05:00
Keith Fung 4c7c0a8b6f Simulate Voting Process
- Cast Ballot
- Spoil Ballot
- Register Ballot
- Simulate fake votes
2020-02-05 10:29:25 -05:00
Keith Fung 215f2f6f41 🚧 Update Key Ceremony and Constants
Replicate constants in C to ensure same limitations are imposed on C# equivalent
2020-02-05 10:29:25 -05:00
Keith Fung bb0695747a 👌 Add Null Protection and ReadMe instructions per PR review
- Add Linux Commands to Readme
- Add a SafePointer base method to ensure safe method calls for Coordinator and Trustee
2020-02-05 10:29:25 -05:00
Keith Fung 54833f4d8b 📝Update README
- Add README and Licenses to Solution
- Update readme with build and test instructions
2020-02-05 10:29:25 -05:00
Keith Fung 4b201b6e0b Create Library methods for Key Ceremony
- Create Test to walk through entire Key Ceremony
- Establish Return and Message structs to match existing key ceremony
- Establish Api calls to DLLImport C-Implementation
2020-02-05 10:29:25 -05:00
Keith Fung 616a096826 💚 Update submodule to fix Windows build 2020-02-05 10:29:25 -05:00
Keith Fung 4720e9cb10 🔧 Rename Library names for MacOS and Linux 2020-02-05 10:29:25 -05:00
Keith Fung 03a942adac 🔧 Turn on triggers for Azure Devops
Turn on triggers for master and develop on azure devops
2020-02-05 10:29:25 -05:00
Keith Fung 64cc1a5831 💚Update Submodule to use latest MacOS build fix 2020-02-05 10:29:25 -05:00
Keith Fung 5138240014 🔧 Initial Azure DevOps Pipeline
Initial Azure DevOps Pipeline created to build C Package and underlying C-Implementation
Windows build temporarily skipped and publish/package methods are
stubbed.
2020-02-05 10:29:25 -05:00
Keith Fung 290ad5f4bf 🏗 Establish Election Guard SDK Project and Solution
Start initial C Sharp project for Election Guard SDK
- Start with Key Ceremony Trustee example to showcase the intended path for the code. 
- Setup testing framework
- Setup Projects and solution file
2020-02-05 10:29:25 -05:00
Keith Fung 8d85a932f9 🔧Add C-Implementation as submodule
Add C-Implementation as dependency for build process
2020-02-05 10:29:25 -05:00
Microsoft Open Source 3bc2471756 Initial commit 2019-10-03 10:57:08 -07:00
Microsoft Open Source d8359a5f14 Initial commit 2019-10-03 10:57:07 -07:00
Microsoft Open Source 230e35049e Initial commit 2019-10-03 10:57:06 -07:00
Microsoft Open Source a31163f543 Initial commit 2019-10-03 10:57:05 -07:00
microsoft-github-operations[bot] 352923b065
Initial commit 2019-10-03 17:57:02 +00:00