static RC4_KEY rc4_send_key;
static unsigned char rc4_buf[2 * RC4_KEY_LEN];
-extern const char *status_item_list[NUM_STAT_ITEMS];
extern struct misc_meta_data *mmd;
extern struct sender senders[];
"%s: %s\n" /* status flags */
"%s: %li\n" /* offset */
"%s: %s\n" /* afs mode */
- "%s: %s\n" /* server uptime */
"%s: %lu.%lu\n" /* stream start */
"%s: %lu.%lu\n" /* current server time */
- "%s\n", /* afs status info */
+ "%s", /* afs status info */
status_item_list[SI_FILE_SIZE], nmmd->size / 1024,
status_item_list[SI_MTIME], mtime,
status_item_list[SI_STATUS], status,
status_item_list[SI_OFFSET], offset,
status_item_list[SI_AFS_MODE], mmd->afs_mode_string,
- status_item_list[SI_UPTIME], ut,
status_item_list[SI_STREAM_START],
(long unsigned)nmmd->stream_start.tv_sec,
(long unsigned)nmmd->stream_start.tv_usec,
if (argc != 1)
return -E_COMMAND_SYNTAX;
mmd_lock();
- if (!vss_paused())
+ if (!vss_paused() && !vss_stopped()) {
mmd->events++;
- mmd->new_vss_status_flags &= ~VSS_PLAYING;
- mmd->new_vss_status_flags &= ~VSS_NEXT;
+ mmd->new_vss_status_flags &= ~VSS_PLAYING;
+ mmd->new_vss_status_flags &= ~VSS_NEXT;
+ }
mmd_unlock();
return 1;
}
signal(SIGHUP, SIG_DFL);
signal(SIGUSR1, SIG_IGN);
+ /* we need a blocking fd here as recv() might return EAGAIN otherwise. */
+ ret = mark_fd_blocking(fd);
+ if (ret < 0)
+ goto err_out;
challenge_nr = random();
/* send Welcome message */
ret = send_va_buffer(fd, "This is para_server, version "