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?
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
```
|
||||
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
|
||||
|
@ -264,7 +264,7 @@ $ make cgi
|
|||
|
||||
Once it's done, you can put `./web/cgi/feuille.cgi` in your website's
|
||||
`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.
|
||||
|
||||
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 */
|
||||
char *buffer;
|
||||
if ((buffer = calloc(length + 1, sizeof(char))) == NULL)
|
||||
if ((buffer = malloc((length + 1) * sizeof(char))) == NULL)
|
||||
return NULL;
|
||||
|
||||
/* for each letter, generate a random one */
|
||||
|
@ -43,6 +43,7 @@ char *generate_id(int min_length)
|
|||
return NULL;
|
||||
|
||||
buffer[i] = id_symbols[rand() % strlen(id_symbols)];
|
||||
buffer[i + 1] = 0;
|
||||
|
||||
/* collision? */
|
||||
if (i == length - 1 && paste_exists(buffer)) {
|
||||
|
@ -54,12 +55,10 @@ char *generate_id(int min_length)
|
|||
free(buffer);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
buffer = tmp;
|
||||
}
|
||||
}
|
||||
|
||||
buffer[length] = 0;
|
||||
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]
|
||||
Sets the path where \f[B]feuille\f[R] will output the pastes (and
|
||||
chroot, if possible).
|
||||
Default: \f[V]/var/www/htdocs/feuille\f[R]
|
||||
Default: \f[V]/var/www/feuille\f[R]
|
||||
.TP
|
||||
\f[B]-s bytes\f[R]
|
||||
Sets the maximum size for every paste (in bytes).
|
||||
|
@ -104,7 +104,7 @@ Default: the number of threads configured on your machine.
|
|||
.TP
|
||||
\f[B]sudo feuille\f[R]
|
||||
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.
|
||||
.TP
|
||||
\f[B]feuille -p 1337\f[R]
|
||||
|
|
|
@ -49,7 +49,7 @@ and IPv6 addresses (won't work on OpenBSD).
|
|||
**-o path**
|
||||
: Sets the path where **feuille** will output the pastes (and chroot,
|
||||
if possible).
|
||||
: Default: `/var/www/htdocs/feuille`
|
||||
: Default: `/var/www/feuille`
|
||||
|
||||
**-s 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
|
||||
|
||||
**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
|
||||
incoming connections.
|
||||
|
||||
|
|
|
@ -39,7 +39,7 @@ char *argv0;
|
|||
Settings settings = {
|
||||
.address = "0.0.0.0",
|
||||
.url = "http://localhost",
|
||||
.output = "/var/www/htdocs/feuille",
|
||||
.output = "/var/www/feuille",
|
||||
.user = "www",
|
||||
|
||||
.id_length = 4,
|
||||
|
@ -294,7 +294,7 @@ int main(int argc, char *argv[])
|
|||
|
||||
/* OpenBSD-only security measures */
|
||||
#ifdef __OpenBSD__
|
||||
pledge("stdio proc inet", "stdio wpath inet");
|
||||
pledge("proc stdio rpath wpath cpath inet", "stdio rpath wpath cpath inet");
|
||||
#endif
|
||||
|
||||
/* create a thread pool for incoming connections */
|
||||
|
|
Reference in a new issue