Commit Graph

143 Commits

Author SHA1 Message Date
Michael Marineau a6290c1b4f protocol: add ParseRequest and ParseResponse functions
For parsing and verification of of HTTP request and response bodies,
including optional checking the Content-Type field which the handler
previously didn't do.
2017-05-04 13:25:46 -07:00
Michael Marineau 6198ba9443 protocol: style fix, use "ID" and "SHA" in identifiers. 2017-05-04 13:22:27 -07:00
Yifan Gu 773016a0fd Merge pull request #20 from marineam/trivial
Trivial protocol struct updates
2017-05-02 13:38:33 -07:00
Michael Marineau 5f9a499a46 package: fix SHA256 attribute name, now defined by the spec.
The old name was my own extension and unused by anything so there aren't
any compatibility issues here.
2017-05-02 13:15:04 -07:00
Michael Marineau 79e582819b protocol: sort xml attributes
A cosmetic change, though this will change the order in the XML output.
The spec lists fields alphabetically so this makes comparison easier.
2017-05-02 13:07:53 -07:00
Michael Marineau 8e6feed630 Merge pull request #19 from marineam/template
Sync with CoreOS template project
2017-05-02 12:36:35 -07:00
Michael Marineau c694d6ed59 Merge pull request #18 from marineam/from-mantle
Import omaha updates from mantle
2017-05-02 12:34:24 -07:00
Michael Marineau 9a796427d5 omaha: distinguish zero and unset in ping active days field
Unlike the other fields unset here would mean unknown rather than "0" so
we must distinguish between the two. In the end it isn't very
significant since our update server and none of our clients use these
self-reported active times, exclusively using when pings were received.
2017-04-24 13:05:53 -07:00
Michael Marineau c7d81825c4 omaha: remove lingering references to mantle 2017-04-24 12:23:53 -07:00
Michael Marineau 4b95d8178b omaha: update upstream doc URL 2017-04-24 12:04:41 -07:00
Michael Marineau 7786cbf0d4 Merge branch 'master' of https://github.com/coreos/template-project 2017-04-21 17:16:37 -07:00
Michael Marineau acd5c75d52 travis: test against go 1.7 and 1.8 2017-04-21 14:12:44 -07:00
Michael Marineau 4d02220019 omaha: add basic but functional omaha server for testing
This server doesn't care about app id, versions, or really anything.
Once a payload has been set it will use it for all update requests.
2017-04-21 14:12:44 -07:00
Nick Owens e5eb9eb583 omaha: implement server based on OmahaHandler
As-is this server cannot do much and must be given an Updater
implementation to handle requests. Server.Mux is exposed to in case the
server needs to additional handlers for serving package payloads, etc.
2017-04-21 14:12:44 -07:00
Michael Marineau f33cb66abb omaha: add complete http handler implementation
The handler is driven by something implementing the 'Updater' interface.
2017-04-21 14:12:44 -07:00
Michael Marineau 2cf1d8f13e omaha: support using status codes as error values 2017-04-21 14:12:44 -07:00
Michael Marineau 5e54ada1e9 omaha: add structure for representing a single app update
The protocol structures are intended for representing a collection of
apps and their updates but for a server's internal API and data store we
need to represent a self-contained app update manifest.
2017-04-21 14:12:44 -07:00
Michael Marineau 5543f86194 omaha: add helper method for computing package metadata 2017-04-21 14:12:44 -07:00
Michael Marineau f208691b12 omaha: stop wrapping URL slice in a struct
Since splitting request and response structs it is no longer necessary
to work around Go's awkard handling of a `xml:"urls>url"` tag.
2017-04-21 14:12:44 -07:00
Michael Marineau a3bc668225 omaha: add/fix missing or outdated attributes 2017-04-21 14:12:44 -07:00
Michael Marineau 75a1125f53 omaha: split request and response structures
Despite having common names between the request and response XML
structures the actual values which may appear in them are completely
disjoint. Splitting the types up makes the protocol easier to understand
when reading the code. When applicable, required fields like status are
passed to Add* methods.
2017-04-21 14:12:44 -07:00
Michael Marineau ec70842bdd omaha: rework/cleanup protocol APIs
- Avoid long argument lists and only pass values that are strictly
   required such as status, fill in all other fields directly instead.
 - Fill OS struct in requests based on local system.
 - Define event and status codes as constants.
 - Misc style tweaks.
2017-04-21 14:12:44 -07:00
Michael Marineau fef283aeb6 omaha: remove XMLName from nested structures
The special XMLName field is only useful in the top level structs which
need something to attach the lower case tag to. On the rest the default
behavior without XMLName works just fine so it is clutter.

The datastore tags have been dropped too since they are not needed.
2017-04-21 14:12:44 -07:00
Nick Owens 6ab36bd0dc omaha: fix go vet complaints
omaha/protocol_test.go:83: ExampleOmaha_NewResponse refers to unknown identifier: Omaha
omaha/protocol_test.go:134: ExampleOmaha_NewRequest refers to unknown identifier: Omaha
2017-04-21 14:12:44 -07:00
Michael Marineau 8650026537 omaha: update file header style and file names 2017-04-21 14:12:44 -07:00
Michael Marineau 909299725c omaha: embed test data into the test code 2017-04-21 14:12:44 -07:00
Quentin Machu f628b91eb4 Merge pull request #9 from coreos/2017
NOTICE: Bump copyright year
2017-02-10 11:23:16 -08:00
Quentin Machu d2f2d56db9 NOTICE: Bump copyright year 2017-02-10 09:36:49 -08:00
Ben Spoon 49571ac5e8 Merge pull request #8 from spoonben/update-code-of-conduct
update code of conduct copy
2016-08-10 17:07:42 -07:00
Ben Spoon 064f420979 update code of conduct copy 2016-08-09 13:19:44 -07:00
Brandon Philips 4ab25f2ba0 Merge pull request #7 from philips/add-project-code-of-conduct
code-of-conduct: initial commit
2016-08-04 14:02:09 -07:00
Brandon Philips 30af5ac3e7 code-of-conduct: initial commit
And a code of conduct based on the well adopted Contributor Covenant
which is used in other large projects that CoreOS depends on such as
AngularJS, Kubernetes, Jekyll, curl, and many many more.

Also add the events code of conduct to cover any meetups, conferences,
or other social events based on the existing CoreOS Fest code of
conduct: https://coreos.com/fest/conduct/
2016-08-04 11:56:39 -07:00
Michael Marineau f26efba60f Merge pull request #17 from pwaller/patch-2
Update link to ServerProtocol.md
2015-11-01 14:24:06 -08:00
Michael Marineau 71d6a940b3 Merge pull request #16 from pwaller/patch-1
Update README.md link to github.com/google/omaha
2015-11-01 14:23:51 -08:00
Peter Waller 33e7ba03da Update link to ServerProtocol.md 2015-11-01 08:51:39 +00:00
Peter Waller 7ddae496e9 Update README.md link to github.com/google/omaha 2015-11-01 08:48:27 +00:00
Brandon Philips c0517c8e4f Merge pull request #4 from coreos/copyright
Bump copyright year
2015-10-20 12:36:59 -07:00
Jonathan Boulle 6dbd00837f CONTRIBUTING: fix line wrapping 2015-10-14 08:48:41 -07:00
Jonathan Boulle 5cfdc81c6f Merge pull request #5 from coreos/jonboulle-patch-1
CONTRIBUTING: add reference to golang style guide
2015-10-13 22:22:56 -07:00
Jonathan Boulle f1dd30f4ac CONTRIBUTING: add reference to golang style guide 2015-10-13 18:27:11 -07:00
Matt Jibson 952d034b50 Bump copyright year 2015-08-31 15:29:04 -04:00
Brandon Philips 774cf34827 CONTRIBUTING: add a section about not emailing maintainers
Setup some expectation for etiquette.
2014-06-18 18:38:28 -07:00
Brandon Philips 92df44276d CONTRIBUTING: remove the subject verbs
After talking to a few people on the team we have decided that the
feat/fix/etc tags aren't adding much value. Use a simpler format
instead.
2014-06-18 18:36:00 -07:00
Brandon Philips bd37826a4f Merge pull request #15 from sym3tri/errorcode-support
fix(event): add optional errorcode field to event
2014-05-30 11:30:03 -07:00
Ed Rooth 392deac926 fix(event): add optional errorcode field to event 2014-05-23 11:26:29 -07:00
Brandon Philips 6af1f79472 Merge pull request #14 from sym3tri/add-ping-type
feat(omaha): add "ping" event type.
2014-05-15 18:36:28 -07:00
Ed Rooth 1d08943ef3 feat(omaha): add "ping" event type. 2014-05-14 16:16:44 -07:00
Jonathan Boulle e01a1f70c3 Merge pull request #2 from jonboulle/master
Clean up CONTRIBUTING.md and other bits of template-project
2014-04-04 10:41:40 -07:00
Jonathan Boulle 2e4ea503b0 chore(contributing): clean up CONTRIBUTING.md and split out DCO 2014-04-04 10:40:37 -07:00
Brandon Philips 40e2aba4c3 Merge pull request #13 from philips/add-machineid-field
feat(omaha): add a machineid field
2014-03-17 14:32:13 -07:00