2222 * SOFTWARE.
2323 */
2424
25- namespace Pterodactyl \Http \Controllers \Remote ;
25+ namespace Pterodactyl \Http \Controllers \Daemon ;
2626
27- use Carbon \Carbon ;
28- use Pterodactyl \Models ;
2927use Illuminate \Http \Request ;
28+ use Pterodactyl \Models \Server ;
29+ use Pterodactyl \Models \Download ;
3030use Pterodactyl \Http \Controllers \Controller ;
31+ use Pterodactyl \Models \NodeConfigurationToken ;
3132
32- class RemoteController extends Controller
33+ class ActionController extends Controller
3334{
3435 /**
3536 * Handles download request from daemon.
3637 *
3738 * @param \Illuminate\Http\Request $request
3839 * @return \Illuminate\Http\JsonResponse
3940 */
40- public function postDownload (Request $ request )
41+ public function authenticateDownload (Request $ request )
4142 {
42- $ download = Models \ Download::where ('token ' , $ request ->input ('token ' ))->first ();
43+ $ download = Download::where ('token ' , $ request ->input ('token ' ))->first ();
4344 if (! $ download ) {
4445 return response ()->json ([
4546 'error ' => 'An invalid request token was recieved with this request. ' ,
@@ -60,9 +61,9 @@ public function postDownload(Request $request)
6061 * @param \Illuminate\Http\Request $request
6162 * @return \Illuminate\Http\JsonResponse
6263 */
63- public function postInstall (Request $ request )
64+ public function markInstall (Request $ request )
6465 {
65- $ server = Models \ Server::where ('uuid ' , $ request ->input ('server ' ))->with ('node ' )->first ();
66+ $ server = Server::where ('uuid ' , $ request ->input ('server ' ))->with ('node ' )->first ();
6667 if (! $ server ) {
6768 return response ()->json ([
6869 'error ' => 'No server by that ID was found on the system. ' ,
@@ -72,7 +73,7 @@ public function postInstall(Request $request)
7273 $ hmac = $ request ->input ('signed ' );
7374 $ status = $ request ->input ('installed ' );
7475
75- if (base64_decode ($ hmac ) !== hash_hmac ('sha256 ' , $ server ->uuid , $ server ->node ->daemonSecret , true )) {
76+ if (! hash_equals ( base64_decode ($ hmac ), hash_hmac ('sha256 ' , $ server ->uuid , $ server ->node ->daemonSecret , true ) )) {
7677 return response ()->json ([
7778 'error ' => 'Signed HMAC was invalid. ' ,
7879 ], 403 );
@@ -81,35 +82,7 @@ public function postInstall(Request $request)
8182 $ server ->installed = ($ status === 'installed ' ) ? 1 : 2 ;
8283 $ server ->save ();
8384
84- return response ()->json ([
85- 'message ' => 'Recieved! ' ,
86- ], 200 );
87- }
88-
89- /**
90- * Handles event from daemon.
91- *
92- * @param \Illuminate\Http\Request $request
93- * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Response
94- * @deprecated
95- */
96- public function event (Request $ request )
97- {
98- $ server = Models \Server::where ('uuid ' , $ request ->input ('server ' ))->with ('node ' )->first ();
99- if (! $ server ) {
100- return response ()->json ([
101- 'error ' => 'No server by that ID was found on the system. ' ,
102- ], 422 );
103- }
104-
105- $ hmac = $ request ->input ('signed ' );
106- if (base64_decode ($ hmac ) !== hash_hmac ('sha256 ' , $ server ->uuid , $ server ->node ->daemonSecret , true )) {
107- return response ()->json ([
108- 'error ' => 'Signed HMAC was invalid. ' ,
109- ], 403 );
110- }
111-
112- return response ('' , 201 );
85+ return response ('' , 204 );
11386 }
11487
11588 /**
@@ -119,11 +92,11 @@ public function event(Request $request)
11992 * @param string $token
12093 * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Response
12194 */
122- public function getConfiguration (Request $ request , $ token )
95+ public function configuration (Request $ request , $ token )
12396 {
12497 // Try to query the token and the node from the database
12598 try {
126- $ model = Models \ NodeConfigurationToken::with ('node ' )->where ('token ' , $ token )->firstOrFail ();
99+ $ model = NodeConfigurationToken::with ('node ' )->where ('token ' , $ token )->firstOrFail ();
127100 } catch (\Illuminate \Database \Eloquent \ModelNotFoundException $ e ) {
128101 return response ()->json (['error ' => 'token_invalid ' ], 403 );
129102 }
0 commit comments