chiark
/
gitweb
/
~mdw
/
disorder
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Complete Disobedience transition to event_ from _monitor.
[disorder]
/
server
/
server.c
diff --git
a/server/server.c
b/server/server.c
index 5df2d330a611c1b42e8f2c756177cad9fd10624a..09f5098a81c06b3060a692ff255f51a0a24cb4ff 100644
(file)
--- a/
server/server.c
+++ b/
server/server.c
@@
-18,60
+18,7
@@
* USA
*/
* USA
*/
-#include <config.h>
-#include "types.h"
-
-#include <pwd.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <sys/time.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <gcrypt.h>
-#include <stddef.h>
-#include <time.h>
-#include <limits.h>
-#include <pcre.h>
-#include <netdb.h>
-#include <netinet/in.h>
-
-#include "event.h"
-#include "server.h"
-#include "syscalls.h"
-#include "queue.h"
-#include "server-queue.h"
-#include "play.h"
-#include "log.h"
-#include "mem.h"
-#include "state.h"
-#include "charset.h"
-#include "split.h"
-#include "configuration.h"
-#include "hex.h"
-#include "rights.h"
-#include "trackdb.h"
-#include "table.h"
-#include "kvp.h"
-#include "mixer.h"
-#include "sink.h"
-#include "authhash.h"
-#include "plugin.h"
-#include "printf.h"
-#include "trackname.h"
-#include "eventlog.h"
-#include "defs.h"
-#include "cache.h"
-#include "unicode.h"
-#include "cookies.h"
-#include "base64.h"
-#include "hash.h"
-#include "mime.h"
-#include "sendmail.h"
-#include "wstat.h"
-#include "schedule.h"
+#include "disorder-server.h"
#ifndef NONCE_SIZE
# define NONCE_SIZE 16
#ifndef NONCE_SIZE
# define NONCE_SIZE 16
@@
-401,16
+348,16
@@
static void start_fresh_rescan(void *ru) {
static int c_rescan(struct conn *c,
char **vec,
int nvec) {
static int c_rescan(struct conn *c,
char **vec,
int nvec) {
- int
wait = 0,
fresh = 0, n;
+ int
flag_wait = 0, flag_
fresh = 0, n;
/* Parse flags */
for(n = 0; n < nvec; ++n) {
if(!strcmp(vec[n], "wait"))
/* Parse flags */
for(n = 0; n < nvec; ++n) {
if(!strcmp(vec[n], "wait"))
-
wait = 1;
/* wait for rescan to complete */
+
flag_wait = 1;
/* wait for rescan to complete */
#if 0
/* Currently disabled because untested (and hard to test). */
else if(!strcmp(vec[n], "fresh"))
#if 0
/* Currently disabled because untested (and hard to test). */
else if(!strcmp(vec[n], "fresh"))
- f
resh = 1;
/* don't piggyback underway rescan */
+ f
lag_fresh = 1;
/* don't piggyback underway rescan */
#endif
else {
sink_writes(ev_writer_sink(c->w), "550 unknown flag\n");
#endif
else {
sink_writes(ev_writer_sink(c->w), "550 unknown flag\n");
@@
-419,15
+366,15
@@
static int c_rescan(struct conn *c,
}
/* Report what was requested */
info("S%x rescan by %s (%s %s)", c->tag, c->who,
}
/* Report what was requested */
info("S%x rescan by %s (%s %s)", c->tag, c->who,
- wait ? "wait" : "",
- fresh ? "fresh" : "");
+
flag_
wait ? "wait" : "",
+ f
lag_f
resh ? "fresh" : "");
if(trackdb_rescan_underway()) {
if(trackdb_rescan_underway()) {
- if(fresh) {
+ if(f
lag_f
resh) {
/* We want a fresh rescan but there is already one underway. Arrange a
* callback when it completes and then set off a new one. */
/* We want a fresh rescan but there is already one underway. Arrange a
* callback when it completes and then set off a new one. */
- c->rescan_wait = wait;
+ c->rescan_wait =
flag_
wait;
trackdb_add_rescanned(start_fresh_rescan, c);
trackdb_add_rescanned(start_fresh_rescan, c);
- if(wait)
+ if(
flag_
wait)
return 0;
else {
sink_writes(ev_writer_sink(c->w), "250 rescan queued\n");
return 0;
else {
sink_writes(ev_writer_sink(c->w), "250 rescan queued\n");
@@
-435,7
+382,7
@@
static int c_rescan(struct conn *c,
}
} else {
/* There's a rescan underway, and it's acceptable to piggyback on it */
}
} else {
/* There's a rescan underway, and it's acceptable to piggyback on it */
- if(wait) {
+ if(
flag_
wait) {
/* We want to block until completion. */
trackdb_add_rescanned(finished_rescan, c);
return 0;
/* We want to block until completion. */
trackdb_add_rescanned(finished_rescan, c);
return 0;
@@
-448,7
+395,7
@@
static int c_rescan(struct conn *c,
}
} else {
/* No rescan is underway. fresh is therefore irrelevant. */
}
} else {
/* No rescan is underway. fresh is therefore irrelevant. */
- if(wait) {
+ if(
flag_
wait) {
/* We want to block until completion */
trackdb_rescan(c->ev, 1/*check*/, finished_rescan, c);
return 0;
/* We want to block until completion */
trackdb_rescan(c->ev, 1/*check*/, finished_rescan, c);
return 0;
@@
-1711,7
+1658,7
@@
static int command(struct conn *c, char *line) {
sink_writes(ev_writer_sink(c->w), "500 do what?\n");
return 1;
}
sink_writes(ev_writer_sink(c->w), "500 do what?\n");
return 1;
}
- if((n = TABLE_FIND(commands,
struct command,
name, vec[0])) < 0)
+ if((n = TABLE_FIND(commands, name, vec[0])) < 0)
sink_writes(ev_writer_sink(c->w), "500 unknown command\n");
else {
if(commands[n].rights
sink_writes(ev_writer_sink(c->w), "500 unknown command\n");
else {
if(commands[n].rights