@@ -29,24 +29,24 @@ bool is_elevated()
29
29
return (geteuid () == 0 );
30
30
}
31
31
32
- char * hyperiond_cmdline (char * args )
32
+ char * daemon_cmdline (char * args )
33
33
{
34
34
char * tmp = (char * )calloc (1 , FILENAME_MAX );
35
- snprintf (tmp , FILENAME_MAX , "/bin/bash -c 'LD_LIBRARY_PATH=%s OPENSSL_armcap=%i %s/hyperiond %s'" , HYPERION_PATH , 0 , HYPERION_PATH , args );
35
+ snprintf (tmp , FILENAME_MAX , "/bin/bash -c 'LD_LIBRARY_PATH=%s OPENSSL_armcap=%i %s/%s %s'" , DAEMON_PATH , 0 , DAEMON_PATH , DAEMON_EXECUTABLE , args );
36
36
return tmp ;
37
37
}
38
38
39
- int daemon_start (pid_t * pid )
39
+ int daemon_spawn (pid_t * pid )
40
40
{
41
41
int res = 0 ;
42
42
43
43
char * env_library_path ;
44
44
char * env_armcap ;
45
45
char * application_executable_path ;
46
46
47
- asprintf (& env_library_path , "LD_LIBRARY_PATH=%s" , HYPERION_PATH );
47
+ asprintf (& env_library_path , "LD_LIBRARY_PATH=%s" , DAEMON_PATH );
48
48
asprintf (& env_armcap , "OPENSSL_armcap=%d" , 0 );
49
- asprintf (& application_executable_path , "%s/hyperiond " , HYPERION_PATH );
49
+ asprintf (& application_executable_path , "%s/%s " , DAEMON_PATH , DAEMON_EXECUTABLE );
50
50
51
51
char * env_vars [] = {env_library_path , env_armcap , "HOME=/home/root" , NULL };
52
52
char * argv [] = {application_executable_path , NULL };
@@ -101,17 +101,17 @@ void *execution_task(void *data)
101
101
return NULL ;
102
102
}
103
103
104
- char * hyperiond_version_cmdline ()
104
+ char * daemon_version_cmdline ()
105
105
{
106
- return hyperiond_cmdline ("--version" );
106
+ return daemon_cmdline ("--version" );
107
107
}
108
108
109
109
bool is_running (pid_t pid )
110
110
{
111
111
return (pid > 0 );
112
112
}
113
113
114
- int hyperiond_start (service_t * service )
114
+ int daemon_start (service_t * service )
115
115
{
116
116
int res = 0 ;
117
117
if (!is_elevated ()) {
@@ -122,7 +122,7 @@ int hyperiond_start(service_t* service)
122
122
return 2 ;
123
123
}
124
124
125
- res = daemon_start (& service -> daemon_pid );
125
+ res = daemon_spawn (& service -> daemon_pid );
126
126
DBG ("daemon_start -> PID=%d" , service -> daemon_pid );
127
127
128
128
if (res != 0 ) {
@@ -139,7 +139,7 @@ int hyperiond_start(service_t* service)
139
139
return 0 ;
140
140
}
141
141
142
- int hyperiond_stop (service_t * service )
142
+ int daemon_stop (service_t * service )
143
143
{
144
144
int res = 0 ;
145
145
@@ -167,25 +167,25 @@ int hyperiond_stop(service_t* service)
167
167
return 0 ;
168
168
}
169
169
170
- int hyperiond_version (service_t * service )
170
+ int daemon_version (service_t * service )
171
171
{
172
172
int res = 0 ;
173
173
// NOTE: --version call is fine even without root privileges
174
- if (service -> hyperiond_version == NULL ) {
175
- service -> hyperiond_version = (char * )calloc (FILENAME_MAX , 1 );
176
- if (service -> hyperiond_version == NULL ) {
174
+ if (service -> daemon_version == NULL ) {
175
+ service -> daemon_version = (char * )calloc (FILENAME_MAX , 1 );
176
+ if (service -> daemon_version == NULL ) {
177
177
ERR ("Failed version buf allocation" );
178
178
return 1 ;
179
179
}
180
180
181
- char * command = hyperiond_version_cmdline ();
181
+ char * command = daemon_version_cmdline ();
182
182
// Spawn process with read-only pipe
183
183
FILE * fp = popen (command , "r" );
184
184
if (fp == NULL ) {
185
185
ERR ("popen failed" );
186
186
res = 2 ;
187
187
} else {
188
- int bytes_read = fread (service -> hyperiond_version , 1 , FILENAME_MAX , fp );
188
+ int bytes_read = fread (service -> daemon_version , 1 , FILENAME_MAX , fp );
189
189
if (bytes_read == 0 ) {
190
190
ERR ("Reading process' stdout failed" );
191
191
res = 3 ;
@@ -205,27 +205,27 @@ bool service_method_start(LSHandle* sh, LSMessage* msg, void* data)
205
205
LSErrorInit (& lserror );
206
206
207
207
jvalue_ref jobj = jobject_create ();
208
- int res = hyperiond_start (service );
208
+ int res = daemon_start (service );
209
209
210
210
jobject_set (jobj , j_cstr_to_buffer ("returnValue" ), jboolean_create (res == 0 ));
211
211
switch (res ) {
212
212
case 0 :
213
- jobject_set (jobj , j_cstr_to_buffer ("status" ), jstring_create ("Hyperion.NG started successfully" ));
213
+ jobject_set (jobj , j_cstr_to_buffer ("status" ), jstring_create ("Daemon started successfully" ));
214
214
break ;
215
215
case 1 :
216
216
jobject_set (jobj , j_cstr_to_buffer ("status" ), jstring_create ("Precondition fail: Not running elevated!" ));
217
217
break ;
218
218
case 2 :
219
- jobject_set (jobj , j_cstr_to_buffer ("status" ), jstring_create ("Hyperion.NG is already running" ));
219
+ jobject_set (jobj , j_cstr_to_buffer ("status" ), jstring_create ("Daemon is already running" ));
220
220
break ;
221
221
case 3 :
222
- jobject_set (jobj , j_cstr_to_buffer ("status" ), jstring_create ("Hyperion.NG failed to start, posix_spawn failed" ));
222
+ jobject_set (jobj , j_cstr_to_buffer ("status" ), jstring_create ("Daemon failed to start, posix_spawn failed" ));
223
223
break ;
224
224
case 4 :
225
- jobject_set (jobj , j_cstr_to_buffer ("status" ), jstring_create ("Hyperion.NG failed to start, pthread_create failed" ));
225
+ jobject_set (jobj , j_cstr_to_buffer ("status" ), jstring_create ("Daemon failed to start, pthread_create failed" ));
226
226
break ;
227
227
default :
228
- jobject_set (jobj , j_cstr_to_buffer ("status" ), jstring_create ("Hyperion.NG failed to start, reason: Unknown" ));
228
+ jobject_set (jobj , j_cstr_to_buffer ("status" ), jstring_create ("Daemon failed to start, reason: Unknown" ));
229
229
}
230
230
LSMessageReply (sh , msg , jvalue_tostring_simple (jobj ), & lserror );
231
231
@@ -241,20 +241,20 @@ bool service_method_stop(LSHandle* sh, LSMessage* msg, void* data)
241
241
LSErrorInit (& lserror );
242
242
243
243
jvalue_ref jobj = jobject_create ();
244
- int res = hyperiond_stop (service );
244
+ int res = daemon_stop (service );
245
245
jobject_set (jobj , j_cstr_to_buffer ("returnValue" ), jboolean_create (res == 0 ));
246
246
switch (res ) {
247
247
case 0 :
248
- jobject_set (jobj , j_cstr_to_buffer ("status" ), jstring_create ("Hyperion.NG stopped successfully" ));
248
+ jobject_set (jobj , j_cstr_to_buffer ("status" ), jstring_create ("Daemon stopped successfully" ));
249
249
break ;
250
250
case 1 :
251
251
jobject_set (jobj , j_cstr_to_buffer ("status" ), jstring_create ("Precondition fail: Not running elevated!" ));
252
252
break ;
253
253
case 2 :
254
- jobject_set (jobj , j_cstr_to_buffer ("status" ), jstring_create ("Hyperion.NG is not running" ));
254
+ jobject_set (jobj , j_cstr_to_buffer ("status" ), jstring_create ("Daemon is not running" ));
255
255
break ;
256
256
default :
257
- jobject_set (jobj , j_cstr_to_buffer ("status" ), jstring_create ("Hyperion.NG failed to stop, reason: Unknown" ));
257
+ jobject_set (jobj , j_cstr_to_buffer ("status" ), jstring_create ("Daemon failed to stop, reason: Unknown" ));
258
258
}
259
259
LSMessageReply (sh , msg , jvalue_tostring_simple (jobj ), & lserror );
260
260
@@ -270,12 +270,12 @@ bool service_method_version(LSHandle* sh, LSMessage* msg, void* data)
270
270
LSErrorInit (& lserror );
271
271
272
272
jvalue_ref jobj = jobject_create ();
273
- int res = hyperiond_version (service );
273
+ int res = daemon_version (service );
274
274
jobject_set (jobj , j_cstr_to_buffer ("returnValue" ), jboolean_create (res == 0 ));
275
275
jobject_set (jobj , j_cstr_to_buffer ("returnCode" ), jnumber_create_i32 (res ));
276
276
switch (res ) {
277
277
case 0 :
278
- jobject_set (jobj , j_cstr_to_buffer ("version" ), jstring_create (service -> hyperiond_version ));
278
+ jobject_set (jobj , j_cstr_to_buffer ("version" ), jstring_create (service -> daemon_version ));
279
279
break ;
280
280
default :
281
281
jobject_set (jobj , j_cstr_to_buffer ("version" ), jstring_create ("Error while fetching" ));
@@ -299,6 +299,7 @@ bool service_method_status(LSHandle* sh, LSMessage* msg, void* data)
299
299
jobject_set (jobj , j_cstr_to_buffer ("running" ), jboolean_create (is_running (service -> daemon_pid )));
300
300
jobject_set (jobj , j_cstr_to_buffer ("elevated" ), jboolean_create (is_elevated ()));
301
301
jobject_set (jobj , j_cstr_to_buffer ("pid" ), jnumber_create_i32 (service -> daemon_pid ));
302
+ jobject_set (jobj , j_cstr_to_buffer ("daemon" ), jstring_create (DAEMON_NAME ));
302
303
303
304
LSMessageReply (sh , msg , jvalue_tostring_simple (jobj ), & lserror );
304
305
@@ -343,7 +344,7 @@ int main()
343
344
LSError lserror ;
344
345
345
346
service .daemon_pid = 0 ;
346
- service .hyperiond_version = NULL ;
347
+ service .daemon_version = NULL ;
347
348
348
349
log_init ();
349
350
log_set_level (Debug );
0 commit comments