X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=common.go;h=13a640038b2e18f6f8721e29e1b755e3c3acab95;hb=b0020eb93091a5d57ff21fb59a41a31167da0800;hp=da28885c7b588e4138c9d9a81f2cf5cbc1fcb96e;hpb=f48ccbb9e20e7fb0fe383e82cd041a94d449b497;p=meta4ra.git diff --git a/common.go b/common.go index da28885..13a6400 100644 --- a/common.go +++ b/common.go @@ -1,72 +1,23 @@ -/* -meta4a -- Metalink 4.0 creator -Copyright (C) 2021 Sergey Matveev - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, version 3 of the License. - -This program 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. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ +// meta4ra -- Metalink 4.0 utilities +// Copyright (C) 2021-2024 Sergey Matveev +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, version 3 of the License. +// +// This program 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. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . // Metalink 4.0 utilities package meta4ra -import ( - "encoding/xml" - "time" -) - const ( - Generator = "meta4ra/0.1.0" - GPGSigMediaType = "application/pgp-signature" - HashSHA256 = "sha-256" - HashSHA512 = "sha-512" + Generator = "meta4ra/0.4.0" + SigMediaTypePGP = "application/pgp-signature" + SigMediaTypeSSH = "application/ssh-signature" ) - -type Metalink struct { - XMLName xml.Name `xml:"urn:ietf:params:xml:ns:metalink metalink"` - Files []File `xml:"file"` - Generator string `xml:"generator,,omitempty"` - Published time.Time `xml:"published,,omitempty"` -} - -type File struct { - XMLName xml.Name `xml:"file"` - Name string `xml:"name,attr"` - Description string `xml:"description,,omitempty"` - Hashes []Hash `xml:"hash,,omitempty"` - MetaURLs []MetaURL `xml:"metaurl,,omitempty"` - Signature *Signature `xml:"signature"` - Size uint64 `xml:"size,,omitempty"` - URLs []URL `xml:"url,,omitempty"` -} - -type URL struct { - XMLName xml.Name `xml:"url"` - URL string `xml:",chardata"` -} - -type Signature struct { - XMLName xml.Name `xml:"signature"` - MediaType string `xml:"mediatype,attr"` - Signature string `xml:",cdata"` -} - -type Hash struct { - XMLName xml.Name `xml:"hash"` - Type string `xml:"type,attr"` - Hash string `xml:",chardata"` -} - -type MetaURL struct { - XMLName xml.Name `xml:"metaurl"` - MediaType string `xml:"mediatype,attr"` - URL string `xml:",chardata"` -}