mirror of
				https://github.com/SuperBFG7/ympd
				synced 2025-10-31 22:03:01 +00:00 
			
		
		
		
	Fix: debug logs to stderr, normal logs to stdout
This commit is contained in:
		| @@ -63,7 +63,7 @@ void callback_mympd(struct mg_connection *nc, const struct mg_str msg) { | |||||||
|     int pollrc; |     int pollrc; | ||||||
|      |      | ||||||
|     #ifdef DEBUG |     #ifdef DEBUG | ||||||
|     fprintf(stdout,"Got request: %s\n", msg.p); |     fprintf(stderr, "Got request: %s\n", msg.p); | ||||||
|     #endif |     #endif | ||||||
|      |      | ||||||
|     je = json_scanf(msg.p, msg.len, "{cmd: %Q}", &cmd); |     je = json_scanf(msg.p, msg.len, "{cmd: %Q}", &cmd); | ||||||
| @@ -605,10 +605,10 @@ void mympd_idle(struct mg_mgr *s, int timeout) { | |||||||
|     switch (mpd.conn_state) { |     switch (mpd.conn_state) { | ||||||
|         case MPD_DISCONNECTED: |         case MPD_DISCONNECTED: | ||||||
|             /* Try to connect */ |             /* Try to connect */ | ||||||
|             fprintf(stdout, "MPD Connecting to %s: %ld\n", config.mpdhost, config.mpdport); |             printf("MPD Connecting to %s: %ld\n", config.mpdhost, config.mpdport); | ||||||
|             mpd.conn = mpd_connection_new(config.mpdhost, config.mpdport, mpd.timeout); |             mpd.conn = mpd_connection_new(config.mpdhost, config.mpdport, mpd.timeout); | ||||||
|             if (mpd.conn == NULL) { |             if (mpd.conn == NULL) { | ||||||
|                 fprintf(stderr, "Out of memory."); |                 printf("MPD connection failed."); | ||||||
|                 snprintf(mpd.buf, MAX_SIZE, "{\"type\": \"disconnected\"}"); |                 snprintf(mpd.buf, MAX_SIZE, "{\"type\": \"disconnected\"}"); | ||||||
|                 mympd_notify(s); |                 mympd_notify(s); | ||||||
|                 mpd.conn_state = MPD_FAILURE; |                 mpd.conn_state = MPD_FAILURE; | ||||||
| @@ -616,7 +616,7 @@ void mympd_idle(struct mg_mgr *s, int timeout) { | |||||||
|             } |             } | ||||||
|  |  | ||||||
|             if (mpd_connection_get_error(mpd.conn) != MPD_ERROR_SUCCESS) { |             if (mpd_connection_get_error(mpd.conn) != MPD_ERROR_SUCCESS) { | ||||||
|                 fprintf(stderr, "MPD connection: %s\n", mpd_connection_get_error_message(mpd.conn)); |                 printf("MPD connection: %s\n", mpd_connection_get_error_message(mpd.conn)); | ||||||
|                 snprintf(mpd.buf, MAX_SIZE, "{\"type\": \"error\", \"data\": \"%s\"}", mpd_connection_get_error_message(mpd.conn)); |                 snprintf(mpd.buf, MAX_SIZE, "{\"type\": \"error\", \"data\": \"%s\"}", mpd_connection_get_error_message(mpd.conn)); | ||||||
|                 mympd_notify(s); |                 mympd_notify(s); | ||||||
|                 mpd.conn_state = MPD_FAILURE; |                 mpd.conn_state = MPD_FAILURE; | ||||||
| @@ -624,21 +624,21 @@ void mympd_idle(struct mg_mgr *s, int timeout) { | |||||||
|             } |             } | ||||||
|  |  | ||||||
|             if (config.mpdpass && !mpd_run_password(mpd.conn, config.mpdpass)) { |             if (config.mpdpass && !mpd_run_password(mpd.conn, config.mpdpass)) { | ||||||
|                 fprintf(stderr, "MPD connection: %s\n", mpd_connection_get_error_message(mpd.conn)); |                 printf("MPD connection: %s\n", mpd_connection_get_error_message(mpd.conn)); | ||||||
|                 snprintf(mpd.buf, MAX_SIZE, "{\"type\": \"error\", \"data\": \"%s\"}", mpd_connection_get_error_message(mpd.conn)); |                 snprintf(mpd.buf, MAX_SIZE, "{\"type\": \"error\", \"data\": \"%s\"}", mpd_connection_get_error_message(mpd.conn)); | ||||||
|                 mympd_notify(s); |                 mympd_notify(s); | ||||||
|                 mpd.conn_state = MPD_FAILURE; |                 mpd.conn_state = MPD_FAILURE; | ||||||
|                 return; |                 return; | ||||||
|             } |             } | ||||||
|  |  | ||||||
|             fprintf(stderr, "MPD connected.\n"); |             printf("MPD connected.\n"); | ||||||
|             mpd_connection_set_timeout(mpd.conn, mpd.timeout); |             mpd_connection_set_timeout(mpd.conn, mpd.timeout); | ||||||
|             mpd.conn_state = MPD_CONNECTED; |             mpd.conn_state = MPD_CONNECTED; | ||||||
|             mpd_send_idle(mpd.conn); |             mpd_send_idle(mpd.conn); | ||||||
|             break; |             break; | ||||||
|  |  | ||||||
|         case MPD_FAILURE: |         case MPD_FAILURE: | ||||||
|             fprintf(stderr, "MPD connection failed.\n"); |             printf("MPD connection failed.\n"); | ||||||
|             snprintf(mpd.buf, MAX_SIZE, "{\"type\": \"disconnected\"}"); |             snprintf(mpd.buf, MAX_SIZE, "{\"type\": \"disconnected\"}"); | ||||||
|             mympd_notify(s); |             mympd_notify(s); | ||||||
|  |  | ||||||
| @@ -800,7 +800,7 @@ int mympd_put_state(char *buffer, int *current_song_id, int *next_song_id, unsig | |||||||
|  |  | ||||||
|     status = mpd_run_status(mpd.conn); |     status = mpd_run_status(mpd.conn); | ||||||
|     if (!status) { |     if (!status) { | ||||||
|         fprintf(stderr, "MPD mpd_run_status: %s\n", mpd_connection_get_error_message(mpd.conn)); |         printf("MPD mpd_run_status: %s\n", mpd_connection_get_error_message(mpd.conn)); | ||||||
|         mpd.conn_state = MPD_FAILURE; |         mpd.conn_state = MPD_FAILURE; | ||||||
|         return 0; |         return 0; | ||||||
|     } |     } | ||||||
| @@ -837,7 +837,7 @@ int mympd_put_state(char *buffer, int *current_song_id, int *next_song_id, unsig | |||||||
|     mpd_status_free(status); |     mpd_status_free(status); | ||||||
|  |  | ||||||
|     if (len > MAX_SIZE) |     if (len > MAX_SIZE) | ||||||
|         fprintf(stderr,"Buffer truncated\n"); |         printf("Buffer truncated\n"); | ||||||
|     return len; |     return len; | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -848,7 +848,7 @@ int mympd_put_welcome(char *buffer) { | |||||||
|     len = json_printf(&out, "{type: welcome, data: {version: %Q}}", MYMPD_VERSION); |     len = json_printf(&out, "{type: welcome, data: {version: %Q}}", MYMPD_VERSION); | ||||||
|      |      | ||||||
|     if (len > MAX_SIZE) |     if (len > MAX_SIZE) | ||||||
|         fprintf(stderr,"Buffer truncated\n"); |         printf("Buffer truncated\n"); | ||||||
|     return len; |     return len; | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -873,7 +873,7 @@ int mympd_put_settings(char *buffer) { | |||||||
|  |  | ||||||
|     status = mpd_run_status(mpd.conn); |     status = mpd_run_status(mpd.conn); | ||||||
|     if (!status) { |     if (!status) { | ||||||
|         fprintf(stderr, "MPD mpd_run_status: %s\n", mpd_connection_get_error_message(mpd.conn)); |         printf("MPD mpd_run_status: %s\n", mpd_connection_get_error_message(mpd.conn)); | ||||||
|         mpd.conn_state = MPD_FAILURE; |         mpd.conn_state = MPD_FAILURE; | ||||||
|         return 0; |         return 0; | ||||||
|     } |     } | ||||||
| @@ -916,7 +916,7 @@ int mympd_put_settings(char *buffer) { | |||||||
|     free(replaygain); |     free(replaygain); | ||||||
|  |  | ||||||
|     if (len > MAX_SIZE) |     if (len > MAX_SIZE) | ||||||
|         fprintf(stderr, "Buffer truncated\n"); |         printf("Buffer truncated\n"); | ||||||
|     return len; |     return len; | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -948,7 +948,7 @@ int mympd_put_outputs(char *buffer) { | |||||||
|     len += json_printf(&out,"]}}"); |     len += json_printf(&out,"]}}"); | ||||||
|      |      | ||||||
|     if (len > MAX_SIZE) |     if (len > MAX_SIZE) | ||||||
|         fprintf(stderr, "Buffer truncated\n"); |         printf("Buffer truncated\n"); | ||||||
|     return len; |     return len; | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -1040,7 +1040,7 @@ int mympd_put_current_song(char *buffer) { | |||||||
|     mpd_song_free(song); |     mpd_song_free(song); | ||||||
|  |  | ||||||
|     if (len > MAX_SIZE) |     if (len > MAX_SIZE) | ||||||
|         fprintf(stderr, "Buffer truncated\n"); |         printf("Buffer truncated\n"); | ||||||
|     return len; |     return len; | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -1088,7 +1088,7 @@ int mympd_put_songdetails(char *buffer, char *uri) { | |||||||
|     len += json_printf(&out, "}}"); |     len += json_printf(&out, "}}"); | ||||||
|      |      | ||||||
|     if (len > MAX_SIZE) |     if (len > MAX_SIZE) | ||||||
|         fprintf(stderr, "Buffer truncated\n"); |         printf("Buffer truncated\n"); | ||||||
|     return len; |     return len; | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -1137,7 +1137,7 @@ int mympd_put_queue(char *buffer, unsigned int offset) { | |||||||
|     ); |     ); | ||||||
|      |      | ||||||
|     if (len > MAX_SIZE)  |     if (len > MAX_SIZE)  | ||||||
|         fprintf(stderr, "Buffer truncated\n"); |         printf("Buffer truncated\n"); | ||||||
|     return len; |     return len; | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -1237,7 +1237,7 @@ int mympd_put_browse(char *buffer, char *path, unsigned int offset, char *filter | |||||||
|     } |     } | ||||||
|  |  | ||||||
|     if (mpd_connection_get_error(mpd.conn) != MPD_ERROR_SUCCESS || !mpd_response_finish(mpd.conn)) { |     if (mpd_connection_get_error(mpd.conn) != MPD_ERROR_SUCCESS || !mpd_response_finish(mpd.conn)) { | ||||||
|         fprintf(stderr, "MPD mpd_send_list_meta: %s\n", mpd_connection_get_error_message(mpd.conn)); |         printf("MPD mpd_send_list_meta: %s\n", mpd_connection_get_error_message(mpd.conn)); | ||||||
|         mpd.conn_state = MPD_FAILURE; |         mpd.conn_state = MPD_FAILURE; | ||||||
|         return 0; |         return 0; | ||||||
|     } |     } | ||||||
| @@ -1250,7 +1250,7 @@ int mympd_put_browse(char *buffer, char *path, unsigned int offset, char *filter | |||||||
|     ); |     ); | ||||||
|  |  | ||||||
|     if (len > MAX_SIZE) |     if (len > MAX_SIZE) | ||||||
|         fprintf(stderr, "Buffer truncated\n"); |         printf("Buffer truncated\n"); | ||||||
|     return len; |     return len; | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -1304,7 +1304,7 @@ int mympd_put_db_tag(char *buffer, unsigned int offset, char *mpdtagtype, char * | |||||||
|     ); |     ); | ||||||
|  |  | ||||||
|     if (len > MAX_SIZE) |     if (len > MAX_SIZE) | ||||||
|         fprintf(stderr, "Buffer truncated\n"); |         printf("Buffer truncated\n"); | ||||||
|     return len; |     return len; | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -1358,7 +1358,7 @@ int mympd_put_songs_in_album(char *buffer, char *albumartist, char *album) { | |||||||
|     } |     } | ||||||
|  |  | ||||||
|     if (len > MAX_SIZE) |     if (len > MAX_SIZE) | ||||||
|         fprintf(stderr, "Buffer truncated\n"); |         printf("Buffer truncated\n"); | ||||||
|     return len; |     return len; | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -1406,7 +1406,7 @@ int mympd_put_playlists(char *buffer, unsigned int offset, char *filter) { | |||||||
|     ); |     ); | ||||||
|  |  | ||||||
|     if (len > MAX_SIZE) |     if (len > MAX_SIZE) | ||||||
|         fprintf(stderr, "Buffer truncated\n"); |         printf("Buffer truncated\n"); | ||||||
|     return len; |     return len; | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -1458,7 +1458,7 @@ int mympd_put_playlist_list(char *buffer, char *uri, unsigned int offset, char * | |||||||
|     ); |     ); | ||||||
|  |  | ||||||
|     if (len > MAX_SIZE)  |     if (len > MAX_SIZE)  | ||||||
|         fprintf(stderr, "Buffer truncated\n"); |         printf("Buffer truncated\n"); | ||||||
|     return len; |     return len; | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -1512,7 +1512,7 @@ int mympd_search(char *buffer, char *mpdtagtype, unsigned int offset, char *sear | |||||||
|     } |     } | ||||||
|  |  | ||||||
|     if (len > MAX_SIZE) |     if (len > MAX_SIZE) | ||||||
|         fprintf(stderr, "Buffer truncated\n"); |         printf("Buffer truncated\n"); | ||||||
|     return len; |     return len; | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -1542,7 +1542,7 @@ int mympd_search_add(char *buffer, char *mpdtagtype, char *searchstr) { | |||||||
|     } |     } | ||||||
|          |          | ||||||
|     if (len > MAX_SIZE) |     if (len > MAX_SIZE) | ||||||
|         fprintf(stderr, "Buffer truncated\n"); |         printf("Buffer truncated\n"); | ||||||
|     return len; |     return len; | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -1557,7 +1557,7 @@ int mympd_search_add_plist(char *plist, char *mpdtagtype, char *searchstr) { | |||||||
|     }     |     }     | ||||||
|  |  | ||||||
|     if (len > MAX_SIZE) |     if (len > MAX_SIZE) | ||||||
|         fprintf(stderr, "Buffer truncated\n"); |         printf("Buffer truncated\n"); | ||||||
|     return len; |     return len; | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -1586,7 +1586,7 @@ int mympd_queue_crop(char *buffer) { | |||||||
|     mpd_status_free(status); |     mpd_status_free(status); | ||||||
|      |      | ||||||
|     if (len > MAX_SIZE) |     if (len > MAX_SIZE) | ||||||
|         fprintf(stderr, "Buffer truncated\n"); |         printf("Buffer truncated\n"); | ||||||
|     return len;     |     return len;     | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -1641,7 +1641,7 @@ int mympd_search_queue(char *buffer, char *mpdtagtype, unsigned int offset, char | |||||||
|     } |     } | ||||||
|  |  | ||||||
|     if (len > MAX_SIZE)  |     if (len > MAX_SIZE)  | ||||||
|         fprintf(stderr, "Buffer truncated\n"); |         printf("Buffer truncated\n"); | ||||||
|     return len; |     return len; | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -1670,7 +1670,7 @@ int mympd_put_stats(char *buffer) { | |||||||
|     mpd_stats_free(stats); |     mpd_stats_free(stats); | ||||||
|  |  | ||||||
|     if (len > MAX_SIZE) |     if (len > MAX_SIZE) | ||||||
|         fprintf(stderr,"Buffer truncated\n"); |         printf("Buffer truncated\n"); | ||||||
|     return len; |     return len; | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										40
									
								
								src/mympd.c
									
									
									
									
									
								
							
							
						
						
									
										40
									
								
								src/mympd.c
									
									
									
									
									
								
							| @@ -61,34 +61,32 @@ static void ev_handler(struct mg_connection *nc, int ev, void *ev_data) { | |||||||
|     switch(ev) { |     switch(ev) { | ||||||
|         case MG_EV_WEBSOCKET_HANDSHAKE_DONE: { |         case MG_EV_WEBSOCKET_HANDSHAKE_DONE: { | ||||||
|              #ifdef DEBUG |              #ifdef DEBUG | ||||||
|              fprintf(stdout,"New Websocket connection\n"); |              fprintf(stderr, "New Websocket connection\n"); | ||||||
|              #endif |              #endif | ||||||
|              struct mg_str d = {(char *) "{\"cmd\": \"MPD_API_WELCOME\"}", 25 }; |              struct mg_str d = mg_mk_str("{\"cmd\": \"MPD_API_WELCOME\"}"); | ||||||
|              callback_mympd(nc, d); |              callback_mympd(nc, d); | ||||||
|              break; |              break; | ||||||
|         } |         } | ||||||
|         case MG_EV_HTTP_REQUEST: { |         case MG_EV_HTTP_REQUEST: { | ||||||
|             struct http_message *hm = (struct http_message *) ev_data; |             struct http_message *hm = (struct http_message *) ev_data; | ||||||
|             #ifdef DEBUG |             #ifdef DEBUG | ||||||
|             printf("HTTP request: %.*s\n", hm->uri.len, hm->uri.p); |             fprintf(stderr, "HTTP request: %.*s\n", hm->uri.len, hm->uri.p); | ||||||
|             #endif |             #endif | ||||||
|             if (mg_vcmp(&hm->uri, "/api") == 0) { |             if (mg_vcmp(&hm->uri, "/api") == 0) | ||||||
|                 handle_api(nc, hm); |                 handle_api(nc, hm); | ||||||
|             } |             else | ||||||
|             else { |  | ||||||
|                 mg_serve_http(nc, hm, s_http_server_opts); |                 mg_serve_http(nc, hm, s_http_server_opts); | ||||||
|             } |  | ||||||
|             break; |             break; | ||||||
|         } |         } | ||||||
|         case MG_EV_CLOSE: { |         case MG_EV_CLOSE: { | ||||||
|             if (is_websocket(nc)) { |             if (is_websocket(nc)) { | ||||||
|               #ifdef DEBUG |               #ifdef DEBUG | ||||||
|               printf("Websocket connection closed\n"); |               fprintf(stderr, "Websocket connection closed\n"); | ||||||
|               #endif |               #endif | ||||||
|             } |             } | ||||||
|             else { |             else { | ||||||
|               #ifdef DEBUG |               #ifdef DEBUG | ||||||
|               fprintf(stdout,"HTTP Close\n"); |               fprintf(stderr,"HTTP connection closed\n"); | ||||||
|               #endif |               #endif | ||||||
|             } |             } | ||||||
|             break; |             break; | ||||||
| @@ -187,6 +185,7 @@ int main(int argc, char **argv) { | |||||||
|     mpd.timeout = 3000; |     mpd.timeout = 3000; | ||||||
|      |      | ||||||
|     if (argc == 2) { |     if (argc == 2) { | ||||||
|  |         printf("Parsing config file: %s\n", argv[1]); | ||||||
|         if (ini_parse(argv[1], inihandler, &config) < 0) { |         if (ini_parse(argv[1], inihandler, &config) < 0) { | ||||||
|             printf("Can't load config file \"%s\"\n", argv[1]); |             printf("Can't load config file \"%s\"\n", argv[1]); | ||||||
|             return EXIT_FAILURE; |             return EXIT_FAILURE; | ||||||
| @@ -204,6 +203,8 @@ int main(int argc, char **argv) { | |||||||
|         return EXIT_FAILURE;     |         return EXIT_FAILURE;     | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     printf("Starting myMPD %s\n", MYMPD_VERSION); | ||||||
|  |  | ||||||
|     signal(SIGTERM, signal_handler); |     signal(SIGTERM, signal_handler); | ||||||
|     signal(SIGINT, signal_handler); |     signal(SIGINT, signal_handler); | ||||||
|     setvbuf(stdout, NULL, _IOLBF, 0); |     setvbuf(stdout, NULL, _IOLBF, 0); | ||||||
| @@ -215,47 +216,48 @@ int main(int argc, char **argv) { | |||||||
|         snprintf(s_redirect, 249, "https://%s:%s/", hostname, config.sslport); |         snprintf(s_redirect, 249, "https://%s:%s/", hostname, config.sslport); | ||||||
|         nc_http = mg_bind(&mgr, config.webport, ev_handler_http); |         nc_http = mg_bind(&mgr, config.webport, ev_handler_http); | ||||||
|         if (nc_http == NULL) { |         if (nc_http == NULL) { | ||||||
|            fprintf(stderr, "Error starting server on port %s\n", config.webport); |             printf("Error listening on port %s\n", config.webport); | ||||||
|             return EXIT_FAILURE; |             return EXIT_FAILURE; | ||||||
|         } |         } | ||||||
|         memset(&bind_opts, 0, sizeof(bind_opts)); |         memset(&bind_opts, 0, sizeof(bind_opts)); | ||||||
|         bind_opts.ssl_cert = config.sslcert; |         bind_opts.ssl_cert = config.sslcert; | ||||||
|         bind_opts.ssl_key = config.sslkey; |         bind_opts.ssl_key = config.sslkey; | ||||||
|         bind_opts.error_string = &err; |         bind_opts.error_string = &err; | ||||||
|  |          | ||||||
|         nc = mg_bind_opt(&mgr, config.sslport, ev_handler, bind_opts); |         nc = mg_bind_opt(&mgr, config.sslport, ev_handler, bind_opts); | ||||||
|         if (nc == NULL) { |         if (nc == NULL) { | ||||||
|             fprintf(stderr, "Error starting server on port %s: %s\n", config.sslport, err); |             printf("Error listening on port %s: %s\n", config.sslport, err); | ||||||
|             return EXIT_FAILURE; |             return EXIT_FAILURE; | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|     else { |     else { | ||||||
|         nc = mg_bind(&mgr, config.webport, ev_handler); |         nc = mg_bind(&mgr, config.webport, ev_handler); | ||||||
|         if (nc == NULL) { |         if (nc == NULL) { | ||||||
|            fprintf(stderr, "Error starting server on port %s\n", config.webport); |             printf("Error listening on port %s\n", config.webport); | ||||||
|             return EXIT_FAILURE; |             return EXIT_FAILURE; | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     if (config.user != NULL) { |     if (config.user != NULL) { | ||||||
|         printf("Droping privileges\n"); |         printf("Droping privileges to %s\n", config.user); | ||||||
|         struct passwd *pw; |         struct passwd *pw; | ||||||
|         if ((pw = getpwnam(config.user)) == NULL) { |         if ((pw = getpwnam(config.user)) == NULL) { | ||||||
|             fprintf(stderr, "Unknown user\n"); |             printf("Unknown user\n"); | ||||||
|             mg_mgr_free(&mgr); |             mg_mgr_free(&mgr); | ||||||
|             return EXIT_FAILURE; |             return EXIT_FAILURE; | ||||||
|         } else if (setgid(pw->pw_gid) != 0) { |         } else if (setgid(pw->pw_gid) != 0) { | ||||||
|             fprintf(stderr, "setgid() failed\n"); |             printf("setgid() failed\n"); | ||||||
|             mg_mgr_free(&mgr); |             mg_mgr_free(&mgr); | ||||||
|             return EXIT_FAILURE; |             return EXIT_FAILURE; | ||||||
|         } else if (setuid(pw->pw_uid) != 0) { |         } else if (setuid(pw->pw_uid) != 0) { | ||||||
|             fprintf(stderr, "setuid() failed\n"); |             printf("setuid() failed\n"); | ||||||
|             mg_mgr_free(&mgr); |             mg_mgr_free(&mgr); | ||||||
|             return EXIT_FAILURE; |             return EXIT_FAILURE; | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|      |      | ||||||
|     if (getuid() == 0) { |     if (getuid() == 0) { | ||||||
|       fprintf(stderr, "myMPD should not be run with root privileges\n"); |         printf("myMPD should not be run with root privileges\n"); | ||||||
|         mg_mgr_free(&mgr); |         mg_mgr_free(&mgr); | ||||||
|         return EXIT_FAILURE; |         return EXIT_FAILURE; | ||||||
|     } |     } | ||||||
| @@ -267,9 +269,9 @@ int main(int argc, char **argv) { | |||||||
|     s_http_server_opts.document_root = SRC_PATH; |     s_http_server_opts.document_root = SRC_PATH; | ||||||
|     s_http_server_opts.enable_directory_listing = "no"; |     s_http_server_opts.enable_directory_listing = "no"; | ||||||
|  |  | ||||||
|     printf("myMPD started on http port %s\n", config.webport); |     printf("Listening on http port %s\n", config.webport); | ||||||
|     if (config.ssl == true) |     if (config.ssl == true) | ||||||
|         printf("myMPD started on ssl port %s\n", config.sslport); |         printf("Listening on ssl port %s\n", config.sslport); | ||||||
|  |  | ||||||
|     while (s_signal_received == 0) { |     while (s_signal_received == 0) { | ||||||
|         mg_mgr_poll(&mgr, 100); |         mg_mgr_poll(&mgr, 100); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 jcorporation
					jcorporation