fastlane 2.212.0 → 2.212.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +94 -94
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +1 -1
- data/fastlane/swift/Fastlane.swift +2 -2
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/GymfileProtocol.swift +1 -1
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +1 -1
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +1 -1
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
- data/fastlane/swift/formatting/Brewfile.lock.json +2 -2
- data/spaceship/lib/spaceship/client.rb +23 -0
- data/spaceship/lib/spaceship/hashcash.rb +52 -0
- data/spaceship/lib/spaceship/two_step_or_factor_client.rb +10 -2
- data/spaceship/lib/spaceship.rb +1 -0
- metadata +22 -23
- data/fastlane_core/lib/fastlane_core/.project.rb.swp +0 -0
- data/gym/lib/gym/.code_signing_mapping.rb.swp +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 244364fbe5e40c851dc1afbb79fe8c79ba76fedee6e607d7cf950f043ba7b921
|
|
4
|
+
data.tar.gz: 5f4f4f4462eb64a87ed63df0ece646c100ae8d3a0c37a84eff9cbad76f51c2a8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ae5c7a99e698db70b74516d415601ee4368fa864cd114a867d44098e0e52a2b68a361fc0178f902c0f0e6fefe3618639a259c92bde33906cb6a0501aa82d18e2
|
|
7
|
+
data.tar.gz: b736ceec481316c6d9cde333299bff4c8145e5b11f5e802acb60a9c59028c9a9444a7a771dcf8f21f952a3cd64e2959e7a87ae224fecad503e34a1d032481123
|
data/README.md
CHANGED
|
@@ -35,23 +35,29 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
35
35
|
<!-- This table is regenerated and resorted on each release -->
|
|
36
36
|
<table id='team'>
|
|
37
37
|
<tr>
|
|
38
|
-
<td id='
|
|
39
|
-
<a href='https://github.com/
|
|
40
|
-
<img src='https://github.com/
|
|
38
|
+
<td id='roger-oba'>
|
|
39
|
+
<a href='https://github.com/rogerluan'>
|
|
40
|
+
<img src='https://github.com/rogerluan.png' width='140px;'>
|
|
41
41
|
</a>
|
|
42
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
42
|
+
<h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
|
|
43
43
|
</td>
|
|
44
|
-
<td id='
|
|
45
|
-
<a href='https://github.com/
|
|
46
|
-
<img src='https://github.com/
|
|
44
|
+
<td id='fumiya-nakamura'>
|
|
45
|
+
<a href='https://github.com/nafu'>
|
|
46
|
+
<img src='https://github.com/nafu.png' width='140px;'>
|
|
47
47
|
</a>
|
|
48
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
48
|
+
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
|
49
49
|
</td>
|
|
50
|
-
<td id='
|
|
51
|
-
<a href='https://github.com/
|
|
52
|
-
<img src='https://github.com/
|
|
50
|
+
<td id='josh-holtz'>
|
|
51
|
+
<a href='https://github.com/joshdholtz'>
|
|
52
|
+
<img src='https://github.com/joshdholtz.png' width='140px;'>
|
|
53
53
|
</a>
|
|
54
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
54
|
+
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
|
55
|
+
</td>
|
|
56
|
+
<td id='daniel-jankowski'>
|
|
57
|
+
<a href='https://github.com/mollyIV'>
|
|
58
|
+
<img src='https://github.com/mollyIV.png' width='140px;'>
|
|
59
|
+
</a>
|
|
60
|
+
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
|
|
55
61
|
</td>
|
|
56
62
|
<td id='jan-piotrowski'>
|
|
57
63
|
<a href='https://github.com/janpio'>
|
|
@@ -59,6 +65,32 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
59
65
|
</a>
|
|
60
66
|
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
|
61
67
|
</td>
|
|
68
|
+
</tr>
|
|
69
|
+
<tr>
|
|
70
|
+
<td id='satoshi-namai'>
|
|
71
|
+
<a href='https://github.com/ainame'>
|
|
72
|
+
<img src='https://github.com/ainame.png' width='140px;'>
|
|
73
|
+
</a>
|
|
74
|
+
<h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
|
|
75
|
+
</td>
|
|
76
|
+
<td id='danielle-tomlinson'>
|
|
77
|
+
<a href='https://github.com/endocrimes'>
|
|
78
|
+
<img src='https://github.com/endocrimes.png' width='140px;'>
|
|
79
|
+
</a>
|
|
80
|
+
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
|
81
|
+
</td>
|
|
82
|
+
<td id='stefan-natchev'>
|
|
83
|
+
<a href='https://github.com/snatchev'>
|
|
84
|
+
<img src='https://github.com/snatchev.png' width='140px;'>
|
|
85
|
+
</a>
|
|
86
|
+
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
|
87
|
+
</td>
|
|
88
|
+
<td id='matthew-ellis'>
|
|
89
|
+
<a href='https://github.com/matthewellis'>
|
|
90
|
+
<img src='https://github.com/matthewellis.png' width='140px;'>
|
|
91
|
+
</a>
|
|
92
|
+
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
|
93
|
+
</td>
|
|
62
94
|
<td id='iulian-onofrei'>
|
|
63
95
|
<a href='https://github.com/revolter'>
|
|
64
96
|
<img src='https://github.com/revolter.png' width='140px;'>
|
|
@@ -67,29 +99,29 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
67
99
|
</td>
|
|
68
100
|
</tr>
|
|
69
101
|
<tr>
|
|
70
|
-
<td id='
|
|
71
|
-
<a href='https://github.com/
|
|
72
|
-
<img src='https://github.com/
|
|
102
|
+
<td id='jorge-revuelta-h'>
|
|
103
|
+
<a href='https://github.com/minuscorp'>
|
|
104
|
+
<img src='https://github.com/minuscorp.png' width='140px;'>
|
|
73
105
|
</a>
|
|
74
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
106
|
+
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
|
75
107
|
</td>
|
|
76
|
-
<td id='
|
|
77
|
-
<a href='https://github.com/
|
|
78
|
-
<img src='https://github.com/
|
|
108
|
+
<td id='maksym-grebenets'>
|
|
109
|
+
<a href='https://github.com/mgrebenets'>
|
|
110
|
+
<img src='https://github.com/mgrebenets.png' width='140px;'>
|
|
79
111
|
</a>
|
|
80
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
112
|
+
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
|
81
113
|
</td>
|
|
82
|
-
<td id='
|
|
83
|
-
<a href='https://github.com/
|
|
84
|
-
<img src='https://github.com/
|
|
114
|
+
<td id='luka-mirosevic'>
|
|
115
|
+
<a href='https://github.com/lmirosevic'>
|
|
116
|
+
<img src='https://github.com/lmirosevic.png' width='140px;'>
|
|
85
117
|
</a>
|
|
86
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
118
|
+
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
|
87
119
|
</td>
|
|
88
|
-
<td id='
|
|
89
|
-
<a href='https://github.com/
|
|
90
|
-
<img src='https://github.com/
|
|
120
|
+
<td id='manish-rathi'>
|
|
121
|
+
<a href='https://github.com/crazymanish'>
|
|
122
|
+
<img src='https://github.com/crazymanish.png' width='140px;'>
|
|
91
123
|
</a>
|
|
92
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
124
|
+
<h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
|
|
93
125
|
</td>
|
|
94
126
|
<td id='felix-krause'>
|
|
95
127
|
<a href='https://github.com/KrauseFx'>
|
|
@@ -99,23 +131,17 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
99
131
|
</td>
|
|
100
132
|
</tr>
|
|
101
133
|
<tr>
|
|
102
|
-
<td id='
|
|
103
|
-
<a href='https://github.com/
|
|
104
|
-
<img src='https://github.com/
|
|
105
|
-
</a>
|
|
106
|
-
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
|
|
107
|
-
</td>
|
|
108
|
-
<td id='stefan-natchev'>
|
|
109
|
-
<a href='https://github.com/snatchev'>
|
|
110
|
-
<img src='https://github.com/snatchev.png' width='140px;'>
|
|
134
|
+
<td id='helmut-januschka'>
|
|
135
|
+
<a href='https://github.com/hjanuschka'>
|
|
136
|
+
<img src='https://github.com/hjanuschka.png' width='140px;'>
|
|
111
137
|
</a>
|
|
112
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
138
|
+
<h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
|
|
113
139
|
</td>
|
|
114
|
-
<td id='
|
|
115
|
-
<a href='https://github.com/
|
|
116
|
-
<img src='https://github.com/
|
|
140
|
+
<td id='olivier-halligon'>
|
|
141
|
+
<a href='https://github.com/AliSoftware'>
|
|
142
|
+
<img src='https://github.com/AliSoftware.png' width='140px;'>
|
|
117
143
|
</a>
|
|
118
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
144
|
+
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
|
119
145
|
</td>
|
|
120
146
|
<td id='łukasz-grabowski'>
|
|
121
147
|
<a href='https://github.com/lucgrabowski'>
|
|
@@ -123,11 +149,17 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
123
149
|
</a>
|
|
124
150
|
<h4 align='center'>Łukasz Grabowski</h4>
|
|
125
151
|
</td>
|
|
126
|
-
<td id='
|
|
127
|
-
<a href='https://github.com/
|
|
128
|
-
<img src='https://github.com/
|
|
152
|
+
<td id='kohki-miki'>
|
|
153
|
+
<a href='https://github.com/giginet'>
|
|
154
|
+
<img src='https://github.com/giginet.png' width='140px;'>
|
|
129
155
|
</a>
|
|
130
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
156
|
+
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
|
157
|
+
</td>
|
|
158
|
+
<td id='joshua-liebowitz'>
|
|
159
|
+
<a href='https://github.com/taquitos'>
|
|
160
|
+
<img src='https://github.com/taquitos.png' width='140px;'>
|
|
161
|
+
</a>
|
|
162
|
+
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
|
131
163
|
</td>
|
|
132
164
|
</tr>
|
|
133
165
|
<tr>
|
|
@@ -137,69 +169,37 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
137
169
|
</a>
|
|
138
170
|
<h4 align='center'>Jimmy Dee</h4>
|
|
139
171
|
</td>
|
|
140
|
-
<td id='
|
|
141
|
-
<a href='https://github.com/
|
|
142
|
-
<img src='https://github.com/
|
|
143
|
-
</a>
|
|
144
|
-
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
|
145
|
-
</td>
|
|
146
|
-
<td id='matthew-ellis'>
|
|
147
|
-
<a href='https://github.com/matthewellis'>
|
|
148
|
-
<img src='https://github.com/matthewellis.png' width='140px;'>
|
|
149
|
-
</a>
|
|
150
|
-
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
|
151
|
-
</td>
|
|
152
|
-
<td id='jérôme-lacoste'>
|
|
153
|
-
<a href='https://github.com/lacostej'>
|
|
154
|
-
<img src='https://github.com/lacostej.png' width='140px;'>
|
|
155
|
-
</a>
|
|
156
|
-
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
|
157
|
-
</td>
|
|
158
|
-
<td id='satoshi-namai'>
|
|
159
|
-
<a href='https://github.com/ainame'>
|
|
160
|
-
<img src='https://github.com/ainame.png' width='140px;'>
|
|
172
|
+
<td id='manu-wallner'>
|
|
173
|
+
<a href='https://github.com/milch'>
|
|
174
|
+
<img src='https://github.com/milch.png' width='140px;'>
|
|
161
175
|
</a>
|
|
162
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
176
|
+
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
|
163
177
|
</td>
|
|
164
|
-
</tr>
|
|
165
|
-
<tr>
|
|
166
178
|
<td id='aaron-brager'>
|
|
167
179
|
<a href='https://github.com/getaaron'>
|
|
168
180
|
<img src='https://github.com/getaaron.png' width='140px;'>
|
|
169
181
|
</a>
|
|
170
182
|
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
|
171
183
|
</td>
|
|
172
|
-
<td id='
|
|
173
|
-
<a href='https://github.com/
|
|
174
|
-
<img src='https://github.com/
|
|
175
|
-
</a>
|
|
176
|
-
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
|
177
|
-
</td>
|
|
178
|
-
<td id='olivier-halligon'>
|
|
179
|
-
<a href='https://github.com/AliSoftware'>
|
|
180
|
-
<img src='https://github.com/AliSoftware.png' width='140px;'>
|
|
181
|
-
</a>
|
|
182
|
-
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
|
183
|
-
</td>
|
|
184
|
-
<td id='joshua-liebowitz'>
|
|
185
|
-
<a href='https://github.com/taquitos'>
|
|
186
|
-
<img src='https://github.com/taquitos.png' width='140px;'>
|
|
184
|
+
<td id='max-ott'>
|
|
185
|
+
<a href='https://github.com/max-ott'>
|
|
186
|
+
<img src='https://github.com/max-ott.png' width='140px;'>
|
|
187
187
|
</a>
|
|
188
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
188
|
+
<h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
|
|
189
189
|
</td>
|
|
190
|
-
<td id='
|
|
191
|
-
<a href='https://github.com/
|
|
192
|
-
<img src='https://github.com/
|
|
190
|
+
<td id='andrew-mcburney'>
|
|
191
|
+
<a href='https://github.com/armcburney'>
|
|
192
|
+
<img src='https://github.com/armcburney.png' width='140px;'>
|
|
193
193
|
</a>
|
|
194
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
194
|
+
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
|
195
195
|
</td>
|
|
196
196
|
</tr>
|
|
197
197
|
<tr>
|
|
198
|
-
<td id='
|
|
199
|
-
<a href='https://github.com/
|
|
200
|
-
<img src='https://github.com/
|
|
198
|
+
<td id='jérôme-lacoste'>
|
|
199
|
+
<a href='https://github.com/lacostej'>
|
|
200
|
+
<img src='https://github.com/lacostej.png' width='140px;'>
|
|
201
201
|
</a>
|
|
202
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
202
|
+
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
|
203
203
|
</td>
|
|
204
204
|
</table>
|
|
205
205
|
|
|
@@ -13370,7 +13370,7 @@ public func xcov(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil)
|
|
|
13370
13370
|
coverallsServiceJobId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
|
13371
13371
|
coverallsRepoToken: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
|
13372
13372
|
xcconfig: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
|
13373
|
-
ideFoundationPath: String = "/Applications/Xcode-
|
|
13373
|
+
ideFoundationPath: String = "/Applications/Xcode-14.1.0.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
|
|
13374
13374
|
legacySupport: OptionalConfigValue<Bool> = .fastlaneDefault(false))
|
|
13375
13375
|
{
|
|
13376
13376
|
let workspaceArg = workspace.asRubyArgument(name: "workspace", type: nil)
|
|
@@ -13573,4 +13573,4 @@ public let snapshotfile: Snapshotfile = .init()
|
|
|
13573
13573
|
|
|
13574
13574
|
// Please don't remove the lines below
|
|
13575
13575
|
// They are used to detect outdated files
|
|
13576
|
-
// FastlaneRunnerAPIVersion [0.9.
|
|
13576
|
+
// FastlaneRunnerAPIVersion [0.9.167]
|
|
@@ -74,11 +74,11 @@
|
|
|
74
74
|
"macOS": "12.5"
|
|
75
75
|
},
|
|
76
76
|
"ventura": {
|
|
77
|
-
"HOMEBREW_VERSION": "4.0.
|
|
77
|
+
"HOMEBREW_VERSION": "4.0.3-103-gd7029e9",
|
|
78
78
|
"HOMEBREW_PREFIX": "/opt/homebrew",
|
|
79
79
|
"Homebrew/homebrew-core": "api",
|
|
80
80
|
"CLT": "",
|
|
81
|
-
"Xcode": "
|
|
81
|
+
"Xcode": "14.1",
|
|
82
82
|
"macOS": "13.1"
|
|
83
83
|
}
|
|
84
84
|
}
|
|
@@ -18,6 +18,7 @@ require_relative 'tunes/errors'
|
|
|
18
18
|
require_relative 'globals'
|
|
19
19
|
require_relative 'provider'
|
|
20
20
|
require_relative 'stats_middleware'
|
|
21
|
+
require_relative 'hashcash'
|
|
21
22
|
|
|
22
23
|
Faraday::Utils.default_params_encoder = Faraday::FlatParamsEncoder
|
|
23
24
|
|
|
@@ -490,6 +491,12 @@ module Spaceship
|
|
|
490
491
|
modified_cookie.gsub!(unescaped_important_cookie, escaped_important_cookie)
|
|
491
492
|
end
|
|
492
493
|
|
|
494
|
+
# Fixes issue https://github.com/fastlane/fastlane/issues/21071
|
|
495
|
+
# On 2023-02-23, Apple added a custom implementation
|
|
496
|
+
# of hashcash to their auth flow
|
|
497
|
+
# hashcash = nil
|
|
498
|
+
hashcash = self.fetch_hashcash
|
|
499
|
+
|
|
493
500
|
response = request(:post) do |req|
|
|
494
501
|
req.url("https://idmsa.apple.com/appleauth/auth/signin")
|
|
495
502
|
req.body = data.to_json
|
|
@@ -498,6 +505,7 @@ module Spaceship
|
|
|
498
505
|
req.headers['X-Apple-Widget-Key'] = self.itc_service_key
|
|
499
506
|
req.headers['Accept'] = 'application/json, text/javascript'
|
|
500
507
|
req.headers["Cookie"] = modified_cookie if modified_cookie
|
|
508
|
+
req.headers["X-Apple-HC"] = hashcash if hashcash
|
|
501
509
|
end
|
|
502
510
|
rescue UnauthorizedAccessError
|
|
503
511
|
raise InvalidUserCredentialsError.new, "Invalid username and password combination. Used '#{user}' as the username."
|
|
@@ -545,6 +553,21 @@ module Spaceship
|
|
|
545
553
|
end
|
|
546
554
|
# rubocop:enable Metrics/PerceivedComplexity
|
|
547
555
|
|
|
556
|
+
def fetch_hashcash
|
|
557
|
+
response = request(:get, "https://idmsa.apple.com/appleauth/auth/signin?widgetKey=#{self.itc_service_key}")
|
|
558
|
+
headers = response.headers
|
|
559
|
+
|
|
560
|
+
bits = headers["X-Apple-HC-Bits"]
|
|
561
|
+
challenge = headers["X-Apple-HC-Challenge"]
|
|
562
|
+
|
|
563
|
+
if bits.nil? || challenge.nil?
|
|
564
|
+
puts("Unable to find 'X-Apple-HC-Bits' and 'X-Apple-HC-Challenge' to make hashcash")
|
|
565
|
+
return nil
|
|
566
|
+
end
|
|
567
|
+
|
|
568
|
+
return Spaceship::Hashcash.make(bits: bits, challenge: challenge)
|
|
569
|
+
end
|
|
570
|
+
|
|
548
571
|
# Get the `itctx` from the new (22nd May 2017) API endpoint "olympus"
|
|
549
572
|
# Update (29th March 2019) olympus migrates to new appstoreconnect API
|
|
550
573
|
def fetch_olympus_session
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
require 'digest'
|
|
2
|
+
|
|
3
|
+
module Spaceship
|
|
4
|
+
module Hashcash
|
|
5
|
+
# This App Store Connect hashcash spec was generously donated by...
|
|
6
|
+
#
|
|
7
|
+
# __ _
|
|
8
|
+
# __ _ _ __ _ __ / _|(_) __ _ _ _ _ __ ___ ___
|
|
9
|
+
# / _` || '_ \ | '_ \ | |_ | | / _` || | | || '__|/ _ \/ __|
|
|
10
|
+
# | (_| || |_) || |_) || _|| || (_| || |_| || | | __/\__ \
|
|
11
|
+
# \__,_|| .__/ | .__/ |_| |_| \__, | \__,_||_| \___||___/
|
|
12
|
+
# |_| |_| |___/
|
|
13
|
+
#
|
|
14
|
+
#
|
|
15
|
+
# <summary>
|
|
16
|
+
# 1:11:20230223170600:4d74fb15eb23f465f1f6fcbf534e5877::6373
|
|
17
|
+
# X-APPLE-HC: 1:11:20230223170600:4d74fb15eb23f465f1f6fcbf534e5877::6373
|
|
18
|
+
# ^ ^ ^ ^ ^
|
|
19
|
+
# | | | | +-- Counter
|
|
20
|
+
# | | | +-- Resource
|
|
21
|
+
# | | +-- Date YYMMDD[hhmm[ss]]
|
|
22
|
+
# | +-- Bits (number of leading zeros)
|
|
23
|
+
# +-- Version
|
|
24
|
+
#
|
|
25
|
+
# We can't use an off-the-shelf Hashcash because Apple's implementation is not quite the same as the spec/convention.
|
|
26
|
+
# 1. The spec calls for a nonce called "Rand" to be inserted between the Ext and Counter. They don't do that at all.
|
|
27
|
+
# 2. The Counter conventionally encoded as base-64 but Apple just uses the decimal number's string representation.
|
|
28
|
+
#
|
|
29
|
+
# Iterate from Counter=0 to Counter=N finding an N that makes the SHA1(X-APPLE-HC) lead with Bits leading zero bits
|
|
30
|
+
#
|
|
31
|
+
#
|
|
32
|
+
# We get the "Resource" from the X-Apple-HC-Challenge header and Bits from X-Apple-HC-Bits
|
|
33
|
+
#
|
|
34
|
+
# </summary>
|
|
35
|
+
def self.make(bits:, challenge:)
|
|
36
|
+
version = 1
|
|
37
|
+
date = Time.now.strftime("%Y%m%d%H%M%S")
|
|
38
|
+
|
|
39
|
+
counter = 0
|
|
40
|
+
loop do
|
|
41
|
+
hc = [
|
|
42
|
+
version, bits, date, challenge, ":#{counter}"
|
|
43
|
+
].join(":")
|
|
44
|
+
|
|
45
|
+
if Digest::SHA1.digest(hc).unpack1('B*')[0, bits.to_i].to_i == 0
|
|
46
|
+
return hc
|
|
47
|
+
end
|
|
48
|
+
counter += 1
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
@@ -61,9 +61,17 @@ module Spaceship
|
|
|
61
61
|
|
|
62
62
|
# Send token to server to get a valid session
|
|
63
63
|
r = request(:post) do |req|
|
|
64
|
-
req.url("https://idmsa.apple.com/appleauth/auth/verify/
|
|
64
|
+
req.url("https://idmsa.apple.com/appleauth/auth/verify/phone/securitycode")
|
|
65
65
|
req.headers['Content-Type'] = 'application/json'
|
|
66
|
-
req.body = {
|
|
66
|
+
req.body = {
|
|
67
|
+
"phoneNumber": {
|
|
68
|
+
"id": device_id
|
|
69
|
+
},
|
|
70
|
+
"securityCode": {
|
|
71
|
+
"code" => code.to_s
|
|
72
|
+
},
|
|
73
|
+
"mode": "sms"
|
|
74
|
+
}.to_json
|
|
67
75
|
update_request_headers(req)
|
|
68
76
|
end
|
|
69
77
|
|
data/spaceship/lib/spaceship.rb
CHANGED
metadata
CHANGED
|
@@ -1,39 +1,39 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: fastlane
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.212.
|
|
4
|
+
version: 2.212.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
|
-
- Joshua Liebowitz
|
|
8
|
-
- Łukasz Grabowski
|
|
9
|
-
- Max Ott
|
|
10
|
-
- Olivier Halligon
|
|
11
|
-
- Maksym Grebenets
|
|
12
|
-
- Danielle Tomlinson
|
|
13
|
-
- Fumiya Nakamura
|
|
14
|
-
- Felix Krause
|
|
15
|
-
- Jérôme Lacoste
|
|
16
|
-
- Helmut Januschka
|
|
17
|
-
- Iulian Onofrei
|
|
18
|
-
- Jimmy Dee
|
|
19
|
-
- Jorge Revuelta H
|
|
20
|
-
- Luka Mirosevic
|
|
21
|
-
- Kohki Miki
|
|
22
7
|
- Roger Oba
|
|
23
8
|
- Manish Rathi
|
|
24
|
-
-
|
|
25
|
-
- Satoshi Namai
|
|
9
|
+
- Helmut Januschka
|
|
26
10
|
- Stefan Natchev
|
|
27
|
-
-
|
|
28
|
-
-
|
|
11
|
+
- Joshua Liebowitz
|
|
12
|
+
- Kohki Miki
|
|
13
|
+
- Jimmy Dee
|
|
14
|
+
- Jorge Revuelta H
|
|
29
15
|
- Andrew McBurney
|
|
16
|
+
- Satoshi Namai
|
|
17
|
+
- Josh Holtz
|
|
18
|
+
- Fumiya Nakamura
|
|
19
|
+
- Danielle Tomlinson
|
|
20
|
+
- Łukasz Grabowski
|
|
21
|
+
- Luka Mirosevic
|
|
22
|
+
- Felix Krause
|
|
23
|
+
- Jérôme Lacoste
|
|
24
|
+
- Max Ott
|
|
30
25
|
- Manu Wallner
|
|
31
26
|
- Aaron Brager
|
|
27
|
+
- Maksym Grebenets
|
|
28
|
+
- Daniel Jankowski
|
|
29
|
+
- Olivier Halligon
|
|
30
|
+
- Iulian Onofrei
|
|
32
31
|
- Matthew Ellis
|
|
32
|
+
- Jan Piotrowski
|
|
33
33
|
autorequire:
|
|
34
34
|
bindir: bin
|
|
35
35
|
cert_chain: []
|
|
36
|
-
date: 2023-02-
|
|
36
|
+
date: 2023-02-24 00:00:00.000000000 Z
|
|
37
37
|
dependencies:
|
|
38
38
|
- !ruby/object:Gem::Dependency
|
|
39
39
|
name: xcodeproj
|
|
@@ -1395,7 +1395,6 @@ files:
|
|
|
1395
1395
|
- fastlane_core/README.md
|
|
1396
1396
|
- fastlane_core/lib/assets/XMLTemplate.xml.erb
|
|
1397
1397
|
- fastlane_core/lib/fastlane_core.rb
|
|
1398
|
-
- fastlane_core/lib/fastlane_core/.project.rb.swp
|
|
1399
1398
|
- fastlane_core/lib/fastlane_core/analytics/action_completion_context.rb
|
|
1400
1399
|
- fastlane_core/lib/fastlane_core/analytics/action_launch_context.rb
|
|
1401
1400
|
- fastlane_core/lib/fastlane_core/analytics/analytics_event_builder.rb
|
|
@@ -1479,7 +1478,6 @@ files:
|
|
|
1479
1478
|
- gym/lib/assets/GymfileTemplate.swift
|
|
1480
1479
|
- gym/lib/assets/wrap_xcodebuild/xcbuild-safe.sh
|
|
1481
1480
|
- gym/lib/gym.rb
|
|
1482
|
-
- gym/lib/gym/.code_signing_mapping.rb.swp
|
|
1483
1481
|
- gym/lib/gym/code_signing_mapping.rb
|
|
1484
1482
|
- gym/lib/gym/commands_generator.rb
|
|
1485
1483
|
- gym/lib/gym/detect_values.rb
|
|
@@ -1743,6 +1741,7 @@ files:
|
|
|
1743
1741
|
- spaceship/lib/spaceship/du/utilities.rb
|
|
1744
1742
|
- spaceship/lib/spaceship/errors.rb
|
|
1745
1743
|
- spaceship/lib/spaceship/globals.rb
|
|
1744
|
+
- spaceship/lib/spaceship/hashcash.rb
|
|
1746
1745
|
- spaceship/lib/spaceship/helper/net_http_generic_request.rb
|
|
1747
1746
|
- spaceship/lib/spaceship/helper/plist_middleware.rb
|
|
1748
1747
|
- spaceship/lib/spaceship/helper/rels_middleware.rb
|
|
Binary file
|
|
Binary file
|