]> granicus.if.org Git - cronie/log
cronie
4 years agodo not log carriage return master
Christian Hesse [Mon, 9 Sep 2019 08:17:32 +0000 (10:17 +0200)]
do not log carriage return

Some commands (like ssh) end their output with carriage return (\r) and
new line (\n). Just cutting the new line before sending to syslog may
have undesired effects of unprintable characters. Reading cronie logs
with journalctl I can see:

Sep 06 16:50:01 linux CROND[152575]: [96B blob data]

Adding switch --all for unprintable characters it shows:

Sep 06 16:50:01 linux CROND[152575]: (root) CMDOUT (Warning: Permanently
added '10.52.33.217' (ED25519) to the list of known hosts.^M)

Just skip carriage return for syslog to prevent this.

4 years agoskip directories when given as crontabs
sgerwk [Thu, 22 Aug 2019 18:10:51 +0000 (20:10 +0200)]
skip directories when given as crontabs

4 years agocrontab -l colors comment lines in a different color
Stephane Blondon [Mon, 22 Jul 2019 18:09:12 +0000 (20:09 +0200)]
crontab -l colors comment lines in a different color

4 years agofix compile instruction: configure is generated by autogen.sh
sgerwk [Tue, 9 Jul 2019 10:46:33 +0000 (12:46 +0200)]
fix compile instruction: configure is generated by autogen.sh

4 years agogetdtablesize() can return very high values in containers
Tomas Mraz [Mon, 8 Jul 2019 08:57:52 +0000 (10:57 +0200)]
getdtablesize() can return very high values in containers

Avoid closing hundreds of millions descriptors or allocating
huge arrays by maxing the fd number to MAX_CLOSE_FD.
See rhbz#1723106

4 years agoPower supply name not detected correctly.
John Horne [Sat, 11 May 2019 00:45:49 +0000 (01:45 +0100)]
Power supply name not detected correctly.

Use a number range to detect ADP names rather than just 'ADP0'. On my laptop the name 'ADP1' is used.

5 years agoRevert "Avoid creating pid files when crond doesn't fork"
Tomas Mraz [Tue, 7 May 2019 12:45:53 +0000 (14:45 +0200)]
Revert "Avoid creating pid files when crond doesn't fork"

This reverts commit 5b285b46b88dc63689c6a56542cb2ba81f861b66.
The PID file is useful to avoid running multiple crond instances
at once.

5 years agoanacron: fix types in comparisons
Tomas Mraz [Mon, 15 Apr 2019 08:42:11 +0000 (10:42 +0200)]
anacron: fix types in comparisons

This fixes warnings reported by -Wsign-compare compiler option.

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
Signed-off-by: Tomas Mraz <tmraz@fedoraproject.org>
5 years agomics: stop using plain integer as NULL pointer
Sami Kerola [Sun, 31 Mar 2019 11:52:43 +0000 (12:52 +0100)]
mics: stop using plain integer as NULL pointer

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
5 years agocron: fix type in comparison
Sami Kerola [Sun, 31 Mar 2019 11:52:37 +0000 (12:52 +0100)]
cron: fix type in comparison

Use of size_t in this context should be also safer from bit shift
perspective, risk of overflowing it is smaller.

cronnext.c:80:16: warning: comparison between signed and unsigned integer
expressions [-Wsign-compare]
  for (f = 1; f < sizeof(flagname);  f = f << 1)
                ^

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
5 years agocron: fix variable shadowing
Sami Kerola [Sun, 31 Mar 2019 11:52:33 +0000 (12:52 +0100)]
cron: fix variable shadowing

cronnext.c: In function 'matchuser':
cronnext.c:193:21: warning: declaration of 'user' shadows a global declaration [-Wshadow]
 int matchuser(char *user, char *list) {
                     ^~~~
In file included from funcs.h:37:0,
                 from cronnext.c:32:
structs.h:71:3: note: shadowed declaration is here
 } user;

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
5 years agocron: mark signal number arguments in signal handlers unused
Sami Kerola [Sun, 31 Mar 2019 11:52:24 +0000 (12:52 +0100)]
cron: mark signal number arguments in signal handlers unused

The ATTRIBUTE_UNUSED is declared in cronie_common.h file.

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
5 years agoUpdate readme.md with recent releases
Tomáš Mráz [Mon, 8 Apr 2019 14:05:59 +0000 (16:05 +0200)]
Update readme.md with recent releases

5 years agoMove allowed() and related function to security.c
Tomas Mraz [Mon, 8 Apr 2019 14:00:54 +0000 (16:00 +0200)]
Move allowed() and related function to security.c

It makes more sense to have it there and it also uses audit and is
not called from cronnext.

5 years agobuild-sys: enable anacron by default
Sami Kerola [Sun, 31 Mar 2019 11:53:51 +0000 (12:53 +0100)]
build-sys: enable anacron by default

It is reasonable to think most users want to build anacron.  Notice that
this change will not effect any to packaging people who might have
--enable-anacron in their build setup.

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
5 years agobuild-sys: use none-recursive build
Sami Kerola [Sun, 31 Mar 2019 11:53:44 +0000 (12:53 +0100)]
build-sys: use none-recursive build

None-recursive builds are quicker, and less problematic from make(1) object
tracking point of view.  See reference for full explanation.

References: http://miller.emu.id.au/pmiller/books/rmch/
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
5 years agocronnext: optionally select jobs by substring
sgerwk [Tue, 2 Apr 2019 10:20:13 +0000 (12:20 +0200)]
cronnext: optionally select jobs by substring

5 years agocrond: Do not abort loading crontab prematurely in case of error cronie-1.5.4-final
Tomas Mraz [Mon, 18 Mar 2019 10:38:36 +0000 (11:38 +0100)]
crond: Do not abort loading crontab prematurely in case of error

5 years agoRelease new version 1.5.4 cronie-1.5.4
Tomas Mraz [Mon, 18 Mar 2019 10:19:06 +0000 (11:19 +0100)]
Release new version 1.5.4

5 years agocrond: Fix regression from last release
Tomas Mraz [Mon, 18 Mar 2019 10:13:36 +0000 (11:13 +0100)]
crond: Fix regression from last release

Only first job from a crontab was being run.

5 years agoRelease new version 1.5.3 cronie-1.5.3
Tomas Mraz [Fri, 15 Mar 2019 10:20:30 +0000 (11:20 +0100)]
Release new version 1.5.3

5 years agoFix warnings in anacron and crond code.
Tomas Mraz [Fri, 15 Mar 2019 10:13:20 +0000 (11:13 +0100)]
Fix warnings in anacron and crond code.

5 years agoFix CVE-2019-9704 and CVE-2019-9705
Tomas Mraz [Fri, 15 Mar 2019 09:53:29 +0000 (10:53 +0100)]
Fix CVE-2019-9704 and CVE-2019-9705

The users can cause DoS of the crond by loading huge crontab files.
We now allow maximum 1000 environment variables and 1000 crontab entries.
Also the comments and whitespace between the entries and variables
are now limited to 32768 characters.

5 years agoRemove leftover debugging message.
Tomas Mraz [Fri, 15 Mar 2019 09:43:31 +0000 (10:43 +0100)]
Remove leftover debugging message.

5 years agoMake crond run after autofs mounts
Marcel Plch [Mon, 11 Mar 2019 16:07:15 +0000 (17:07 +0100)]
Make crond run after autofs mounts

5 years agocrontab: Make crontab without arguments fail.
Tomas Mraz [Fri, 15 Feb 2019 08:10:10 +0000 (09:10 +0100)]
crontab: Make crontab without arguments fail.

Although this deviates from POSIX specification it is clearly more sane
behavior.

5 years agoUse system-auth instead of password-auth for PAM authentication (#25)
Marcel Plch [Fri, 7 Dec 2018 14:01:19 +0000 (15:01 +0100)]
Use system-auth instead of password-auth for PAM authentication (#25)

5 years agoRestart crond if it fails
Marcel Plch [Fri, 23 Nov 2018 14:41:42 +0000 (15:41 +0100)]
Restart crond if it fails

Set up the systemd service file, so crond is automatically restarted after 30 seconds if it crashes.

5 years agoload_env: parse the environment variables in-place
Tomas Mraz [Mon, 19 Nov 2018 08:57:11 +0000 (09:57 +0100)]
load_env: parse the environment variables in-place

The environment variable parsing can be easily done in-place to
avoid allocating two large buffers on stack.
Fixes: #18
5 years agoUpdate readme.md with the latest release and better link to Fedora
Tomáš Mráz [Mon, 19 Nov 2018 08:14:45 +0000 (09:14 +0100)]
Update readme.md with the latest release and better link to Fedora

5 years agoreadme.md: Replace dead link to openSUSE ML with package link
Oliver Kurz [Sun, 18 Nov 2018 06:53:49 +0000 (07:53 +0100)]
readme.md: Replace dead link to openSUSE ML with package link

5 years agoUse the role from the crond context for system job contexts.
Tomas Mraz [Thu, 18 Oct 2018 12:25:58 +0000 (14:25 +0200)]
Use the role from the crond context for system job contexts.

New SELinux policy added multiple roles for the system_u user on crond_t.
The default context returned from get_default_context_with_level() is now
unconfined_t instead of system_cronjob_t which is incorrect for system cron
jobs.
We use the role to limit the default context to system_cronjob_t.

5 years agoFix unsafe code
Marcel Plch [Tue, 28 Aug 2018 12:55:15 +0000 (14:55 +0200)]
Fix unsafe code

- drop usage of huge sparse array
- fix infinite loop in error case
- missing '\0' termination of mail command option
- missing check for fseek() failure

5 years agoFix possible memory leaks
Marcel Plch [Tue, 28 Aug 2018 12:42:03 +0000 (14:42 +0200)]
Fix possible memory leaks

6 years agoRelease new version 1.5.2 cronie-1.5.2
Tomas Mraz [Thu, 3 May 2018 16:58:09 +0000 (18:58 +0200)]
Release new version 1.5.2

6 years agoSilence may be used uninitialized warning.
Tomas Mraz [Thu, 3 May 2018 16:41:40 +0000 (18:41 +0200)]
Silence may be used uninitialized warning.

6 years agocrontab: do not try to replace the crontab with a directory
Tomas Mraz [Thu, 3 May 2018 16:17:30 +0000 (18:17 +0200)]
crontab: do not try to replace the crontab with a directory

Using 'crontab .' removes the existing crontab as an unwanted
side-effect, there is 'crontab -r' for crontab removal.

6 years agoSupport the MAILFROM also in anacron.
Tomas Mraz [Wed, 24 Jan 2018 16:05:44 +0000 (17:05 +0100)]
Support the MAILFROM also in anacron.

Resolves github issue #17

6 years agoDocument that in range the first number must be less than second.
Tomas Mraz [Tue, 28 Nov 2017 09:13:34 +0000 (10:13 +0100)]
Document that in range the first number must be less than second.

6 years agoround time on the minute
sgerwk [Sat, 28 Oct 2017 10:58:47 +0000 (12:58 +0200)]
round time on the minute

6 years agoprint all jobs executed in interval
sgerwk [Sat, 28 Oct 2017 09:08:43 +0000 (11:08 +0200)]
print all jobs executed in interval

6 years agonew options -l and -q
sgerwk [Sat, 28 Oct 2017 07:40:15 +0000 (09:40 +0200)]
new options -l and -q

6 years agooutput in yaml format
sgerwk [Sat, 28 Oct 2017 07:39:29 +0000 (09:39 +0200)]
output in yaml format

6 years agoprint the job(s) that is going to be executed next
sgerwk [Sat, 28 Oct 2017 07:32:45 +0000 (09:32 +0200)]
print the job(s) that is going to be executed next

6 years agoallow checking a time interval
sgerwk [Sat, 28 Oct 2017 07:23:00 +0000 (09:23 +0200)]
allow checking a time interval

6 years agoprint format for flags
sgerwk [Sat, 28 Oct 2017 07:14:44 +0000 (09:14 +0200)]
print format for flags

6 years agocronnext can read additional crontabs from files
Marco Migliori [Thu, 2 Nov 2017 15:30:05 +0000 (16:30 +0100)]
cronnext can read additional crontabs from files

6 years agoUse proper variable types.
Tomas Mraz [Thu, 14 Sep 2017 11:56:20 +0000 (13:56 +0200)]
Use proper variable types.

6 years agoAdd myself as author.
Tomas Mraz [Thu, 14 Sep 2017 11:51:36 +0000 (13:51 +0200)]
Add myself as author.

6 years agoLog startup even when started in non-forking mode.
Tomas Mraz [Thu, 14 Sep 2017 11:32:21 +0000 (13:32 +0200)]
Log startup even when started in non-forking mode.

6 years agoFix SELinux denial when running under Docker
Mark Montague [Fri, 14 Jul 2017 15:10:19 +0000 (11:10 -0400)]
Fix SELinux denial when running under Docker

When crond is running insider a Docker container hosted on
on a system with SELinux enabled (such as Fedora 26), the
following denial occurs each time crond executes a job:

2017-07-14T13:42:01.931319+00:00 f26docker auth.notice audit: AVC avc:  denied  { setexec } for  pid=16248 comm="crond" scontext=system_u:system_r:container_t:s0:c525,c757 tcontext=system_u:system_r:container_t:s0:c525,c757 tclass=process permissive=0

The denials get flagged as a problem by system management tools.

This patch fixes the problem by ensuring that SELinux is
enabled before trying to restore the default security context.

Software versions:
- cronie-1.5.1-5.fc26.x86_64
- selinux-policy-targeted-3.13.1-259.fc26.noarch
- docker-1.13.1-19.git27e468e.fc26.x86_64
- kernel-4.11.9-300.fc26.x86_64

See also
https://bugzilla.redhat.com/show_bug.cgi?id=1435516

6 years agobuild-sys: use silent build rule
Sami Kerola [Sat, 1 Jul 2017 15:45:40 +0000 (16:45 +0100)]
build-sys: use silent build rule

Thsi makes make output less convoluted.

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
6 years agocronnext: improve manual page
Sami Kerola [Sun, 11 Jun 2017 14:37:24 +0000 (15:37 +0100)]
cronnext: improve manual page

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
6 years agoall: add version printing option -V
Sami Kerola [Sun, 11 Jun 2017 13:53:44 +0000 (14:53 +0100)]
all: add version printing option -V

Also mention the option in usage() and manual pages.

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
6 years agocronnext: use same style in usage() with other commands
Sami Kerola [Sun, 11 Jun 2017 13:49:53 +0000 (14:49 +0100)]
cronnext: use same style in usage() with other commands

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
6 years agovarious files: fix indentation
Sami Kerola [Sat, 10 Jun 2017 21:33:53 +0000 (22:33 +0100)]
various files: fix indentation

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
6 years agocrond: never define unused cron_start_pam()
Sami Kerola [Sat, 10 Jun 2017 20:54:26 +0000 (21:54 +0100)]
crond: never define unused cron_start_pam()

Move function completely within #ifdef just like all the code where this
function is used.

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
7 years agoAdd Arch Linux to list of distributions
SjonHortensius [Mon, 1 May 2017 07:53:15 +0000 (09:53 +0200)]
Add Arch Linux to list of distributions

7 years agoFix misleading indentation.
Tomas Mraz [Fri, 28 Apr 2017 08:24:58 +0000 (10:24 +0200)]
Fix misleading indentation.

7 years agoMake cronnext build and work with additional features enabled.
Tomas Mraz [Fri, 28 Apr 2017 08:20:01 +0000 (10:20 +0200)]
Make cronnext build and work with additional features enabled.

7 years agoAdd MIME-Version header also to mails generated by anacron.
Tomas Mraz [Tue, 18 Apr 2017 11:05:57 +0000 (13:05 +0200)]
Add MIME-Version header also to mails generated by anacron.

7 years agoAdd MIME-Version header to generated mails.
Tomas Mraz [Tue, 18 Apr 2017 07:46:02 +0000 (09:46 +0200)]
Add MIME-Version header to generated mails.

Fixes GitHub issue #5.

7 years agoThe output might not be mailed, make the message more precise.
Tomas Mraz [Wed, 29 Mar 2017 16:25:37 +0000 (18:25 +0200)]
The output might not be mailed, make the message more precise.

7 years agoAllow empty environment values in crontab.
Tomas Mraz [Wed, 29 Mar 2017 16:21:23 +0000 (18:21 +0200)]
Allow empty environment values in crontab.

7 years agoPoint releases to the GitHub cronie releases page
Tomáš Mráz [Wed, 29 Mar 2017 13:38:12 +0000 (15:38 +0200)]
Point releases to the GitHub cronie releases page

7 years agocrontab.5: Add a mention about disabling logging
Kristýna Streitová [Wed, 29 Mar 2017 10:25:50 +0000 (12:25 +0200)]
crontab.5: Add a mention about disabling logging

Mention possibility of disabling logging to syslog in a crontab
manual.

This change originally comes from cronie-1.4.7-disable_logging.patch
added to openSUSE by Vítězslav Čížek (vcizek@suse.com).

7 years agoAvoid creating pid files when crond doesn't fork
Kristýna Streitová [Wed, 29 Mar 2017 10:15:31 +0000 (12:15 +0200)]
Avoid creating pid files when crond doesn't fork

When the cron daemon does not fork, as it is the case when using
systemd, pid files are useless. Avoid creating them in the first
place.

This change originally comes from cronie-nofork-nopid.patch
added to openSUSE by Cristian Rodríguez (crrodriguez@opensuse.org).

7 years agoreadme.md: remove CRs
Tomas Mraz [Fri, 20 Jan 2017 11:21:55 +0000 (12:21 +0100)]
readme.md: remove CRs

7 years agoAdd readme.md for github
Tomas Mraz [Fri, 20 Jan 2017 08:44:52 +0000 (09:44 +0100)]
Add readme.md for github

7 years agoMake it clear that one of the reasons for getpwnam() failure is unknown user.
Tomas Mraz [Thu, 8 Sep 2016 13:21:31 +0000 (15:21 +0200)]
Make it clear that one of the reasons for getpwnam() failure is unknown user.

7 years agoOn some machines the power supply is named ADP0.
Tomas Mraz [Mon, 5 Sep 2016 08:54:08 +0000 (10:54 +0200)]
On some machines the power supply is named ADP0.

7 years agoQuery power supply status directly from kernel.
Tomas Mraz [Tue, 23 Aug 2016 13:28:35 +0000 (15:28 +0200)]
Query power supply status directly from kernel.

7 years agocronnext: Fix warnings
Tomas Mraz [Mon, 27 Jun 2016 12:51:10 +0000 (14:51 +0200)]
cronnext: Fix warnings

7 years agocronnext: Print usage and error on stderr.
Tomas Mraz [Mon, 27 Jun 2016 12:42:41 +0000 (14:42 +0200)]
cronnext: Print usage and error on stderr.

7 years agoAdded useful utility cronnext to find out time of the next job run.
Marco Migliori [Mon, 27 Jun 2016 12:38:05 +0000 (14:38 +0200)]
Added useful utility cronnext to find out time of the next job run.

7 years agoanacron: Check return value of fchdir.
Tomas Mraz [Thu, 23 Jun 2016 17:29:09 +0000 (19:29 +0200)]
anacron: Check return value of fchdir.

7 years agoRelease new version 1.5.1 cronie-1.5.1
Tomas Mraz [Thu, 23 Jun 2016 17:24:12 +0000 (19:24 +0200)]
Release new version 1.5.1

7 years agoRemove unneeded obsolete SELinux include.
Tomas Mraz [Thu, 23 Jun 2016 17:23:31 +0000 (19:23 +0200)]
Remove unneeded obsolete SELinux include.

7 years agoRemove unneeded obsolete SELinux includes.
Tomas Mraz [Thu, 23 Jun 2016 17:14:52 +0000 (19:14 +0200)]
Remove unneeded obsolete SELinux includes.

7 years agoRename timeval time to tv so time function can be used.
Tomas Mraz [Thu, 23 Jun 2016 17:13:46 +0000 (19:13 +0200)]
Rename timeval time to tv so time function can be used.

7 years agoFix longstanding race condition on crontab modification.
Tomas Mraz [Thu, 23 Jun 2016 15:59:41 +0000 (17:59 +0200)]
Fix longstanding race condition on crontab modification.

If crontab is modified twice at the same second the crond reads it
which means the timestamp will not change, the latest content will
never be read.

7 years agoFix misleading comment in pam configuration file.
Tomas Mraz [Fri, 10 Jun 2016 07:56:03 +0000 (09:56 +0200)]
Fix misleading comment in pam configuration file.

7 years agoanacron: use mkstemp() instead of tempnam()
Tomas Mraz [Fri, 13 May 2016 13:26:46 +0000 (15:26 +0200)]
anacron: use mkstemp() instead of tempnam()

Although the use of tempnam() seemed to be safeguarded
better to not use it at all.

7 years agoanacron: Drop potentially unsafe umask setting.
Tomas Mraz [Fri, 13 May 2016 12:40:45 +0000 (14:40 +0200)]
anacron: Drop potentially unsafe umask setting.

7 years agoanacron: Do not try to mail to empty address.
Tomas Mraz [Fri, 13 May 2016 12:19:09 +0000 (14:19 +0200)]
anacron: Do not try to mail to empty address.

8 years agoClarify the crontab(1) documentation.
Tomas Mraz [Mon, 25 Apr 2016 12:53:06 +0000 (14:53 +0200)]
Clarify the crontab(1) documentation.

8 years agoRemove hardcoded "system_u" SELinux user
Gary Tierney [Fri, 22 Apr 2016 23:33:20 +0000 (00:33 +0100)]
Remove hardcoded "system_u" SELinux user

This gets rid of the hardcoded reference to the ref-policy system_u user
and instead relies on the user that cronie is currently running as.

8 years agoClarify return value.
Tomas Mraz [Mon, 25 Apr 2016 09:13:12 +0000 (11:13 +0200)]
Clarify return value.

8 years agoCorrect instructions for disabling Anacron.
Tomas Mraz [Tue, 15 Mar 2016 07:59:59 +0000 (08:59 +0100)]
Correct instructions for disabling Anacron.

8 years agoMan page syntax fixes
Ville Skyttä [Sat, 7 Nov 2015 09:25:28 +0000 (11:25 +0200)]
Man page syntax fixes

8 years agoInherit PATH from the crond environment if -P option is used.
Robert Byrnes [Thu, 5 Nov 2015 13:38:13 +0000 (14:38 +0100)]
Inherit PATH from the crond environment if -P option is used.

8 years agoIn crontab command use a temporary filename that is ignored by crond.
Tomas Mraz [Mon, 13 Jul 2015 09:19:55 +0000 (11:19 +0200)]
In crontab command use a temporary filename that is ignored by crond.

8 years agoAdd *.patch and *.orig to .gitignore
Tomas Mraz [Thu, 28 May 2015 14:24:17 +0000 (16:24 +0200)]
Add *.patch and *.orig to .gitignore

8 years agoAdd compile to .gitignore.
Tomas Mraz [Thu, 28 May 2015 14:23:28 +0000 (16:23 +0200)]
Add compile to .gitignore.

8 years agoRelease new version 1.5.0 cronie1.5.0
Tomas Mraz [Thu, 28 May 2015 14:19:41 +0000 (16:19 +0200)]
Release new version 1.5.0

- properly create dist tarball even with anacron and PAM disabled

8 years agoMerge tag 'cronie1.4.12'
Tomas Mraz [Thu, 28 May 2015 13:46:45 +0000 (15:46 +0200)]
Merge tag 'cronie1.4.12'

8 years agoPass the job environment also when executing the sendmail.
Tomas Mraz [Thu, 28 May 2015 11:02:16 +0000 (13:02 +0200)]
Pass the job environment also when executing the sendmail.

8 years agodatabase.c: Use POSIX NAME_MAX instead of BSD MAXNAMLEN
Felix Janda [Sat, 31 Jan 2015 17:49:11 +0000 (18:49 +0100)]
database.c: Use POSIX NAME_MAX instead of BSD MAXNAMLEN

fixes compilation with musl libc

9 years agoPrevent adding duplicate orphans on reload.
Tomas Mraz [Tue, 21 Apr 2015 13:15:46 +0000 (15:15 +0200)]
Prevent adding duplicate orphans on reload.

9 years agoDo not overwrite the last zero-byte.
Tomas Mraz [Thu, 5 Feb 2015 15:29:49 +0000 (16:29 +0100)]
Do not overwrite the last zero-byte.