Commit Graph

64 Commits

Author SHA1 Message Date
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
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 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
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
Brandon Philips fdce701e81 feat(omaha): add a machineid field 2014-03-17 14:29:04 -07:00
Brandon Philips b55bf960be Merge pull request #12 from philips/master
fix(omaha): fixup Oem test after change
2014-03-16 21:05:47 -07:00
Brandon Philips 963d7e4623 fix(omaha): fixup Oem test after change
I forgot to run the tests after making the change to OEM. Fix.
2014-03-16 21:04:57 -07:00
Brandon Philips 43f8a74b0f Merge pull request #11 from philips/master
fix(omaha): Oem to OEM
2014-03-16 21:01:15 -07:00
Brandon Philips 2c86b12c25 fix(omaha): Oem to OEM
Be consistent with the Go style guide and make the acronym fully
uppercase.
2014-03-16 21:00:20 -07:00
Brandon Philips bb1265733a Merge pull request #9 from philips/add-new-fields
philips/add-new-fields
2013-09-03 16:41:27 -07:00
Brandon Philips ddc4c22205 feat(omaha): add oem and previousbootid
Add two new extensions for coreos
2013-09-03 16:39:37 -07:00
Brandon Philips 5ad4a72076 fix(omaha): go fmt 2013-09-03 16:20:46 -07:00
Brandon Philips 05776eb33d README: add a link to the go docs 2013-07-09 17:32:27 -07:00
Brandon Philips 528535f63e feat(omaha): add a bootid field
the bootid field will be used by CoreOS to uniquely identify a boot of
an instance.
2013-07-09 11:48:57 -07:00
Brandon Philips c2c4ee6b06 Merge pull request #7 from philips/add-track-extension
Add track extension
2013-07-02 09:53:22 -07:00
Brandon Philips ac9df07313 chore(omaha): group the update engine extensions together 2013-07-02 09:47:19 -07:00
Brandon Philips 5140f37b40 feat(omaha): add Track field
this is another update_engine extension. Add it.
2013-07-02 09:41:53 -07:00
Brandon Philips dfade567dd Merge pull request #6 from doodles526/working
added json omitempty tags
2013-07-01 13:28:22 -07:00
Joshua Deare 5d21f061f7 added json omitempty tags
bigquery was throwing errors without these due to null defined fields
2013-07-01 13:17:08 -07:00
Brandon Philips 17767637e0 Merge pull request #5 from doodles526/working
terminated XMLName from appearing in json
2013-06-28 23:20:44 -07:00
Joshua Deare 2315500129 terminated XMLName from appearing in json
when we need json encoding(putting AppRequestLogs into bigquery)
we don't want the XMLName tag adding on needless data
2013-06-28 22:48:55 -07:00
Brandon Philips 37c9cc50fb Merge pull request #4 from philips/update-engine-extensions
Update engine extensions
2013-06-26 15:59:42 -07:00
Brandon Philips 94018ed305 feat(omaha): add more update_engine extensions 2013-06-26 15:53:31 -07:00
Brandon Philips 60265ef0fc fix(omaha): create section for update_engine extensions
add this comment section just so it is a littlemore clear what is going
on.
2013-06-26 10:39:52 -07:00
Brandon Philips d68e528e59 feat(omaha): add disablebackoff field to action
another extension added by the the chromeos update engine
2013-06-26 10:39:52 -07:00
Brandon Philips c875cf3bb2 Merge pull request #3 from doodles526/working
added nil datastore tags to XMLName
2013-06-25 16:56:32 -07:00
Joshua Deare da9eaa53f9 added nil datastore tags to XMLName
now if a struct is put in datastore it won't be bloated
with needless XMLName field
2013-06-25 16:39:01 -07:00
Brandon Philips 3492dbe98c Merge pull request #2 from coreos/fixup-travis
travis.yml: try to build all of the packages
2013-06-25 09:21:45 -07:00
Brandon Philips 9c07258c01 travis.yml: try to build all of the packages 2013-06-25 08:56:17 -07:00
Brandon Philips 8aa610e350 README: add buildstatus from travis 2013-06-25 08:21:09 -07:00