Subversion Repositories public

Compare Revisions

Regard whitespace Rev 102 → Rev 101

/incron/trunk/Doxyfile
File deleted
/incron/trunk/VERSION
File deleted
\ No newline at end of file
/incron/trunk/incron.conf.5
1,4 → 1,4
.TH "incron.conf" "5" "0.5.9" "Lukas Jelinek" "incron documentation"
.TH "incron.conf" "5" "0.5.8" "Lukas Jelinek" "incron documentation"
.SH "NAME"
/etc/incron.conf \- main config file for inotify cron (incron)
.SH "DESCRIPTION"
39,6 → 39,6
.SH "SEE ALSO"
incrond(8), incrontab(1), incrontab(5)
.SH "AUTHOR"
Lukas Jelinek <lukas@aiken.cz> (please report bugs to http://bts.aiken.cz or <bugs@aiken.cz>).
Lukas Jelinek <lukas@aiken.cz>
.SH "COPYING"
This program is free software. It can be used, redistributed and/or modified under the terms of the GNU General Public License, version 2.
/incron/trunk/ict-main.cpp
11,9 → 11,6
* it and/or modify it under the terms of the GNU General Public
* License, version 2 (see LICENSE-GPL).
*
* Credits:
* kolter (fix for segfaulting on --user)
*
*/
 
 
457,31 → 454,30
return 1;
}
 
struct passwd* ppwd = NULL;
struct passwd pwd;
 
if (chuser) {
if ((ppwd = getpwnam(user.c_str())) != NULL) {
if ( setenv("LOGNAME", ppwd->pw_name, 1) != 0
|| setenv("USER", ppwd->pw_name, 1) != 0
|| setenv("USERNAME", ppwd->pw_name, 1) != 0
|| setenv("HOME", ppwd->pw_dir, 1) != 0
|| setenv("SHELL", ppwd->pw_shell, 1) != 0)
{
perror("cannot set environment variables");
if (!chuser) {
struct passwd* ppwd = getpwuid(uid);
if (ppwd == NULL) {
fprintf(stderr, "cannot determine current user\n");
return 1;
}
} else {
memcpy(&pwd, ppwd, sizeof(pwd));
user = pwd.pw_name;
}
else if (getpwnam(user.c_str()) == NULL) {
fprintf(stderr, "user '%s' not found\n", user.c_str());
return 1;
}
} else {
ppwd = getpwuid(uid);
if (ppwd == NULL) {
fprintf(stderr, "cannot determine current user\n");
else if ( setenv("LOGNAME", pwd.pw_name, 1) != 0
|| setenv("USER", pwd.pw_name, 1) != 0
|| setenv("USERNAME", pwd.pw_name, 1) != 0
|| setenv("HOME", pwd.pw_dir, 1) != 0
|| setenv("SHELL", pwd.pw_shell, 1) != 0)
{
perror("cannot set environment variables");
return 1;
}
user = ppwd->pw_name;
}
 
try {
 
/incron/trunk/incrontab.5
1,4 → 1,4
.TH "incrontab" "5" "0.5.9" "Lukas Jelinek" "incron documentation"
.TH "incrontab" "5" "0.5.8" "Lukas Jelinek" "incron documentation"
.SH "NAME"
incrontab \- tables for driving inotify cron (incron)
.SH "DESCRIPTION"
93,6 → 93,6
.SH "SEE ALSO"
incrond(8), incrontab(1), incron.conf(5)
.SH "AUTHOR"
Lukas Jelinek <lukas@aiken.cz> (please report bugs to http://bts.aiken.cz or <bugs@aiken.cz>).
Lukas Jelinek <lukas@aiken.cz>
.SH "COPYING"
This program is free software. It can be used, redistributed and/or modified under the terms of the GNU General Public License, version 2.
/incron/trunk/CHANGELOG
1,10 → 1,3
0.5.9 2009-06-21
* spaces in event-related file names now handled correctly (#0000174)
* crashing on 'incrontab --user' fixed (#0000187)
* man pages improved (bug reporting info as of #0000407)
* Makefile improved ('release-clean' also removes 'doc')
 
 
0.5.8 2008-12-29
* more includes added for GCC 4.3 compatibility (#0000178)
* typo in help messages fixed (#0000172)
/incron/trunk/LICENSE-X11
1,4 → 1,4
Copyright (c) 2006, 2007, 2008, 2009 Lukas Jelinek
Copyright (c) 2006, 2007, 2008 Lukas Jelinek
 
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
/incron/trunk/README
1,7 → 1,7
 
inotify cron system
 
(c) Lukas Jelinek, 2006, 2007, 2008, 2009
(c) Lukas Jelinek, 2006, 2007, 2008
 
1. About
2. Requirements
20,7 → 20,6
The difference is that the inotify cron handles filesystem events
rather than time periods.
 
 
2. Requirements
* Linux kernel 2.6.13 or later (with inotify compiled in)
* inotify headers (inotify.h, sometimes inotify-syscalls.h) installed in
46,13 → 45,7
/etc/incron.conf (you can also use -f <config> for one-time
use of a custom configuration file).
 
Making a release of the source tree relies on the 'VERSION' file.
The file should contain only a simple version string such as '0.5.9'
or (if you wish) something more comlex (e.g. '0.5.9-improved').
The doxygen program must be installed and its control file 'Doxygen'
created for generating the API documentation.
 
 
4. How to use
The incron daemon (incrond) must be run under root (typically from
runlevel script etc.). It loads the current user tables and hooks
/incron/trunk/incrond.8
1,4 → 1,4
.TH "incrond" "8" "0.5.9" "Lukas Jelinek" "incron documentation"
.TH "incrond" "8" "0.5.8" "Lukas Jelinek" "incron documentation"
.SH "NAME"
incrond \- inotify cron (incron) daemon
 
32,6 → 32,6
.SH "BUGS"
incrond is currently not resistent against looping. Recursive monitoring (whole subtrees) has not been implemented yet.
.SH "AUTHOR"
Lukas Jelinek <lukas@aiken.cz> (please report bugs to http://bts.aiken.cz or <bugs@aiken.cz>).
Lukas Jelinek <lukas@aiken.cz>
.SH "COPYING"
This program is free software. It can be used, redistributed and/or modified under the terms of the GNU General Public License, version 2.
/incron/trunk/usertable.cpp
13,7 → 13,6
*
* Credits:
* David Santinoli (supplementary groups)
* Boris Lechner (spaces in event-related file names)
*
*/
 
30,7 → 29,6
 
#include "usertable.h"
#include "incroncfg.h"
#include "incrontab.h"
 
#ifdef IN_DONT_FOLLOW
#define DONT_FOLLOW(mask) InotifyEvent::IsType(mask, IN_DONT_FOLLOW)
338,7 → 336,7
oldpos = pos + 2;
}
else if (cs[px] == '#') { // file name
cmd.append(IncronTabEntry::GetSafePath(rEvt.GetName()));
cmd.append(rEvt.GetName());
oldpos = pos + 2;
}
else if (cs[px] == '%') { // mask symbols
502,7 → 500,7
if (pwd->pw_uid == 0)
return true;
 
// file accessible to group
// file accesible to group
if (st.st_mode & S_IRWXG) {
 
// user's primary group
/incron/trunk/COPYING
1,6 → 1,6
inotify cron system
Copyright (C) 2006,2007,2008,2009 Lukas Jelinek, <lukas@aiken.cz>
Copyright (C) 2006,2007,2008 Lukas Jelinek, <lukas@aiken.cz>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License,
/incron/trunk/incron.h
5,7 → 5,7
*
* inotify cron system
*
* Copyright (C) 2006, 2007, 2008, 2009 Lukas Jelinek, <lukas@aiken.cz>
* Copyright (C) 2006, 2007, 2008 Lukas Jelinek, <lukas@aiken.cz>
*
* This program is free software; you can use it, redistribute
* it and/or modify it under the terms of the GNU General Public
27,7 → 27,7
#define INCRONTAB_NAME "incrontab"
 
/// Application version (release)
#define INCRON_VERSION "0.5.9"
#define INCRON_VERSION "0.5.8"
 
/// Address for sending bugs
#define INCRON_BUG_ADDRESS "<bugs@aiken.cz>"
/incron/trunk/incrontab.1
1,4 → 1,4
.TH "incrontab" "1" "0.5.9" "Lukas Jelinek" "incron documentation"
.TH "incrontab" "1" "0.5.8" "Lukas Jelinek" "incron documentation"
.SH "NAME"
incrontab \- table manipulator for inotify cron (incron)
.SH "SYNOPSIS"
48,6 → 48,6
.SH "SEE ALSO"
incrond(8), incrontab(5), incron.conf(5)
.SH "AUTHOR"
Lukas Jelinek <lukas@aiken.cz> (please report bugs to http://bts.aiken.cz or <bugs@aiken.cz>).
Lukas Jelinek <lukas@aiken.cz>
.SH "COPYING"
This program is free software. It can be used, redistributed and/or modified under the terms of the GNU General Public License, version 2.
/incron/trunk/Makefile
99,7 → 99,6
rm -rf $(RELEASEDIR)
 
release-clean:
rm -rf doc
rm -f $(RELEASE).tar.bz2
rm -f $(RELEASE).tar.gz
rm -f $(RELEASE).zip