chiark
/
gitweb
/
~mdw
/
disorder
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed a null pointer deref.
[disorder]
/
lib
/
configuration.h
diff --git
a/lib/configuration.h
b/lib/configuration.h
index 754290223170c56654d66a7bb07ed08202c1ef0d..22e107d62be9b746b379b9b551317bed28095a3a 100644
(file)
--- a/
lib/configuration.h
+++ b/
lib/configuration.h
@@
-1,6
+1,6
@@
/*
* This file is part of DisOrder.
/*
* This file is part of DisOrder.
- * Copyright (C) 2004-20
09
Richard Kettlewell
+ * Copyright (C) 2004-20
10
Richard Kettlewell
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@
-70,7
+70,8
@@
struct collectionlist {
struct namepart {
char *part; /* part */
struct namepart {
char *part; /* part */
- pcre *re; /* regexp */
+ pcre *re; /* compiled regexp */
+ char *res; /* regexp as a string */
char *replace; /* replacement string */
char *context; /* context glob */
unsigned reflags; /* regexp flags */
char *replace; /* replacement string */
char *context; /* context glob */
unsigned reflags; /* regexp flags */
@@
-155,7
+156,7
@@
struct config {
long prefsync; /* preflog sync interval */
/** @brief Secondary listen address */
long prefsync; /* preflog sync interval */
/** @brief Secondary listen address */
- struct
stringlist
listen;
+ struct
netaddress
listen;
/** @brief Alias format string */
const char *alias;
/** @brief Alias format string */
const char *alias;
@@
-184,6
+185,12
@@
struct config {
/** @brief API used to play sound */
const char *api;
/** @brief API used to play sound */
const char *api;
+ /** @brief Maximum size of a playlist */
+ long playlist_max;
+
+ /** @brief Maximum lifetime of a playlist lock */
+ long playlist_lock_timeout;
+
/** @brief Home directory for state files */
const char *home;
/** @brief Home directory for state files */
const char *home;
@@
-194,7
+201,7
@@
struct config {
const char *password;
/** @brief Address to connect to */
const char *password;
/** @brief Address to connect to */
- struct
stringlist
connect;
+ struct
netaddress
connect;
/** @brief Directories to search for web templates */
struct stringlist templates;
/** @brief Directories to search for web templates */
struct stringlist templates;
@@
-208,6
+215,9
@@
struct config {
/** @brief Maximum refresh interval for web interface (seconds) */
long refresh;
/** @brief Maximum refresh interval for web interface (seconds) */
long refresh;
+ /** @brief Minimum refresh interval for web interface (seconds) */
+ long refresh_min;
+
/** @brief Facilities restricted to trusted users
*
* A bitmap of @ref RESTRICT_SCRATCH, @ref RESTRICT_REMOVE and @ref
/** @brief Facilities restricted to trusted users
*
* A bitmap of @ref RESTRICT_SCRATCH, @ref RESTRICT_REMOVE and @ref
@@
-280,7
+290,10
@@
struct config {
/** @brief Maximum bias */
long new_bias;
/** @brief Maximum bias */
long new_bias;
-
+
+ /** @brief Rescan on (un)mount */
+ int mount_rescan;
+
/* derived values: */
int nparts; /* number of distinct name parts */
char **parts; /* name part list */
/* derived values: */
int nparts; /* number of distinct name parts */
char **parts; /* name part list */
@@
-292,7
+305,8
@@
struct config {
extern struct config *config;
/* the current configuration */
extern struct config *config;
/* the current configuration */
-int config_read(int server);
+int config_read(int server,
+ const struct config *oldconfig);
/* re-read config, return 0 on success or non-0 on error.
* Only updates @config@ if the new configuration is valid. */
/* re-read config, return 0 on success or non-0 on error.
* Only updates @config@ if the new configuration is valid. */
@@
-312,6
+326,8
@@
char *config_usersysconf(const struct passwd *pw );
char *config_private(void);
/* get the private config file */
char *config_private(void);
/* get the private config file */
+int config_verify(void);
+
extern char *configfile;
extern int config_per_user;
extern char *configfile;
extern int config_per_user;