Compare commits
3 commits
7c4aaf95ea
...
01057061f9
Author | SHA1 | Date | |
---|---|---|---|
01057061f9 | |||
de51c9830a | |||
fdf588e523 |
6 changed files with 12 additions and 13 deletions
|
@ -237,14 +237,14 @@ if you'd like to download the cron job.
|
||||||
### How do I remove expired pastes after some time?
|
### How do I remove expired pastes after some time?
|
||||||
|
|
||||||
You can put that in your crontab (by doing `sudo crontab -e`).
|
You can put that in your crontab (by doing `sudo crontab -e`).
|
||||||
It will delete all files in `/var/www/htdocs/feuille` that are at least 7
|
It will delete all files in `/var/www/feuille` that are at least 7
|
||||||
days old.
|
days old.
|
||||||
|
|
||||||
Don't forget to change the folder to the one **feuille**'s using and
|
Don't forget to change the folder to the one **feuille**'s using and
|
||||||
eventually `+7` to the maximum file age you'd like to use.
|
eventually `+7` to the maximum file age you'd like to use.
|
||||||
|
|
||||||
```
|
```
|
||||||
0 0 * * * find /var/www/htdocs/feuille -type f -mtime +7 -exec rm {} +
|
0 0 * * * find /var/www/feuille -type f -mtime +7 -exec rm {} +
|
||||||
```
|
```
|
||||||
|
|
||||||
See
|
See
|
||||||
|
@ -264,7 +264,7 @@ $ make cgi
|
||||||
|
|
||||||
Once it's done, you can put `./web/cgi/feuille.cgi` in your website's
|
Once it's done, you can put `./web/cgi/feuille.cgi` in your website's
|
||||||
`cgi-bin` folder (usually somewhere like
|
`cgi-bin` folder (usually somewhere like
|
||||||
`/var/www/htdocs/my.paste.bin/cgi-bin`) and configure your web server
|
`/var/www/my.paste.bin/cgi-bin`) and configure your web server
|
||||||
to execute CGI scripts.
|
to execute CGI scripts.
|
||||||
|
|
||||||
You can then create an HTML form that will send a POST request to the
|
You can then create an HTML form that will send a POST request to the
|
||||||
|
|
5
bin.c
5
bin.c
|
@ -34,7 +34,7 @@ char *generate_id(int min_length)
|
||||||
|
|
||||||
/* allocate a buffer to store the ID */
|
/* allocate a buffer to store the ID */
|
||||||
char *buffer;
|
char *buffer;
|
||||||
if ((buffer = calloc(length + 1, sizeof(char))) == NULL)
|
if ((buffer = malloc((length + 1) * sizeof(char))) == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
/* for each letter, generate a random one */
|
/* for each letter, generate a random one */
|
||||||
|
@ -43,6 +43,7 @@ char *generate_id(int min_length)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
buffer[i] = id_symbols[rand() % strlen(id_symbols)];
|
buffer[i] = id_symbols[rand() % strlen(id_symbols)];
|
||||||
|
buffer[i + 1] = 0;
|
||||||
|
|
||||||
/* collision? */
|
/* collision? */
|
||||||
if (i == length - 1 && paste_exists(buffer)) {
|
if (i == length - 1 && paste_exists(buffer)) {
|
||||||
|
@ -54,12 +55,10 @@ char *generate_id(int min_length)
|
||||||
free(buffer);
|
free(buffer);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
buffer = tmp;
|
buffer = tmp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
buffer[length] = 0;
|
|
||||||
return buffer;
|
return buffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
0 0 * * * find /var/www/htdocs/feuille -type f -mtime +7 -exec rm {} +
|
0 0 * * * find /var/www/feuille -type f -mtime +7 -exec rm {} +
|
||||||
|
|
|
@ -64,7 +64,7 @@ Default: \f[V]8888\f[R]
|
||||||
\f[B]-o path\f[R]
|
\f[B]-o path\f[R]
|
||||||
Sets the path where \f[B]feuille\f[R] will output the pastes (and
|
Sets the path where \f[B]feuille\f[R] will output the pastes (and
|
||||||
chroot, if possible).
|
chroot, if possible).
|
||||||
Default: \f[V]/var/www/htdocs/feuille\f[R]
|
Default: \f[V]/var/www/feuille\f[R]
|
||||||
.TP
|
.TP
|
||||||
\f[B]-s bytes\f[R]
|
\f[B]-s bytes\f[R]
|
||||||
Sets the maximum size for every paste (in bytes).
|
Sets the maximum size for every paste (in bytes).
|
||||||
|
@ -104,7 +104,7 @@ Default: the number of threads configured on your machine.
|
||||||
.TP
|
.TP
|
||||||
\f[B]sudo feuille\f[R]
|
\f[B]sudo feuille\f[R]
|
||||||
Runs feuille in the background, chrooting into
|
Runs feuille in the background, chrooting into
|
||||||
\f[V]/var/www/htdocs/feuille\f[R], dropping root privileges and spawning
|
\f[V]/var/www/feuille\f[R], dropping root privileges and spawning
|
||||||
worker processes to accept incoming connections.
|
worker processes to accept incoming connections.
|
||||||
.TP
|
.TP
|
||||||
\f[B]feuille -p 1337\f[R]
|
\f[B]feuille -p 1337\f[R]
|
||||||
|
|
|
@ -49,7 +49,7 @@ and IPv6 addresses (won't work on OpenBSD).
|
||||||
**-o path**
|
**-o path**
|
||||||
: Sets the path where **feuille** will output the pastes (and chroot,
|
: Sets the path where **feuille** will output the pastes (and chroot,
|
||||||
if possible).
|
if possible).
|
||||||
: Default: `/var/www/htdocs/feuille`
|
: Default: `/var/www/feuille`
|
||||||
|
|
||||||
**-s bytes**
|
**-s bytes**
|
||||||
: Sets the maximum size for every paste (in bytes).
|
: Sets the maximum size for every paste (in bytes).
|
||||||
|
@ -88,7 +88,7 @@ you might not want to set this to a huge number.
|
||||||
# EXAMPLES
|
# EXAMPLES
|
||||||
|
|
||||||
**sudo feuille**
|
**sudo feuille**
|
||||||
: Runs feuille in the background, chrooting into `/var/www/htdocs/feuille`,
|
: Runs feuille in the background, chrooting into `/var/www/feuille`,
|
||||||
dropping root privileges and spawning worker processes to accept
|
dropping root privileges and spawning worker processes to accept
|
||||||
incoming connections.
|
incoming connections.
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,7 @@ char *argv0;
|
||||||
Settings settings = {
|
Settings settings = {
|
||||||
.address = "0.0.0.0",
|
.address = "0.0.0.0",
|
||||||
.url = "http://localhost",
|
.url = "http://localhost",
|
||||||
.output = "/var/www/htdocs/feuille",
|
.output = "/var/www/feuille",
|
||||||
.user = "www",
|
.user = "www",
|
||||||
|
|
||||||
.id_length = 4,
|
.id_length = 4,
|
||||||
|
@ -294,7 +294,7 @@ int main(int argc, char *argv[])
|
||||||
|
|
||||||
/* OpenBSD-only security measures */
|
/* OpenBSD-only security measures */
|
||||||
#ifdef __OpenBSD__
|
#ifdef __OpenBSD__
|
||||||
pledge("stdio proc inet", "stdio wpath inet");
|
pledge("proc stdio rpath wpath cpath inet", "stdio rpath wpath cpath inet");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* create a thread pool for incoming connections */
|
/* create a thread pool for incoming connections */
|
||||||
|
|
Reference in a new issue