Rg Literary Archive Foundation and how your efforts
by Harriott Fly
W degrees approached so near, Of horns, and pans, and dogs, and boys,
And kettle-drums whose sullen dub, Sounds like the hooping of a tub; . .
And followed with a world of tall lads, That merry ditties troll'd and
ballads. . . . Next pans and kettles of all keys, From trebles
down to double base: . . . And at fit periods the whole rout Set up
their throat with clamorous
shout." A notice of an old Welsh ceremony appeared in the _Liverpool
Mercury_ on March 15th, 1887, and it will not be without interest
to reproduce it. "That ancient Welsh custom," says the writer, "now
nearly obsolete, known as riding the
ceffyl pren--_Anglice_, 'wooden-horse'--and intended to operate as a
wholesome
warning to faithless wives
and husbands, was revived on Saturday night in an Anglesey village some
three miles from Llangefni. The individual who had drawn upon himself
the odium of his neighbours had parted from his wife, and was alleged to
be persistent in his attentions to another female. On Saturday night a
large party surrounded the house, and compelled him to get astride a
ladder, carrying him shoulder-high through the village, stopping at
certain points
to allow the womankind to wreak their vengeance upon him. This amusement
was kept up for some time until the opportune
arrival of a sergeant of police
from Llangefni, who rescued the unlucky
13 years, 7 months
ABRT mtg minutes from 15.9.
by Jiri Moskovcak
1. Improve bz to improve the work with ABRT bugs:
- there is a lot more bugs in bz since ABRT came out and lot of them
should be closed as duplicate/or linked together (e.g: crash in
different app, but in the same library) the current bz UI doesn't
provide a convenient way to do this.
2 . Create a server as a middle point between users and BZ:
it should:
a) act as a retrace server
b) should provide some statistics
c) implement some web UI
d) implement some http API
e) it should be distribution independent which brings some problems:
- how to decide where to report the bug (redhat bz, ubuntu
breakpad, upstream...
- how to map components (distros have different names for the same
package
- and we need to decide the upload limit to that server (uploading 2g
cores is not a good idea...)
3. Implement a logic to detect security impact of a crash
- needs some deeper analysis from the tools team
Please add whatever you think I forgot about..
Jirka
13 years, 7 months
[PATCH] fix bugs in dump_dir.c
by Denys Vlasenko
I noticed that ->locked and ->opened members are always the same
(either 0 or 1), and I decided to drop ->opened.
And do a few other trivial optimizations/cleanups.
While working on it, I noticed that dd_save_binary has "opened"
check inverted, and that dd_create and dd_open are leaking
dd->dd_dir on error path.
So the patch turned from optimization to bugfix.
Please review.
--
vda
diff -x '*.po' -d -urpN abrt.6/inc/dump_dir.h abrt.7/inc/dump_dir.h
--- abrt.6/inc/dump_dir.h 2010-09-07 18:57:31.000000000 +0200
+++ abrt.7/inc/dump_dir.h 2010-09-14 16:28:46.028789935 +0200
@@ -29,7 +29,6 @@ extern "C" {
typedef struct dump_dir {
char *dd_dir;
DIR *next_dir;
- int opened;
int locked;
uid_t uid;
gid_t gid;
@@ -41,7 +40,7 @@ void dd_close(dump_dir_t *dd);
int dd_opendir(dump_dir_t *dd, const char *dir);
int dd_exist(dump_dir_t *dd, const char *path);
int dd_create(dump_dir_t *dd, const char *dir, uid_t uid);
-int dd_init_next_file(dump_dir_t *dd);
+DIR *dd_init_next_file(dump_dir_t *dd);
int dd_get_next_file(dump_dir_t *dd, char **short_name, char **full_name);
char* dd_load_text(const dump_dir_t *dd, const char* name);
diff -x '*.po' -d -urpN abrt.6/lib/utils/dump_dir.c abrt.7/lib/utils/dump_dir.c
--- abrt.6/lib/utils/dump_dir.c 2010-09-13 13:42:25.000000000 +0200
+++ abrt.7/lib/utils/dump_dir.c 2010-09-14 16:58:09.605039794 +0200
@@ -81,18 +81,18 @@ void dd_close(dump_dir_t *dd)
int dd_opendir(dump_dir_t *dd, const char *dir)
{
- if (dd->opened)
- error_msg_and_die("CDebugDump is already opened");
+ if (dd->locked)
+ error_msg_and_die("dump_dir is already opened"); /* bug */
dd->dd_dir = rm_trailing_slashes(dir);
- if (!dd->dd_dir || !exist_file_dir(dd->dd_dir))
+ if (!exist_file_dir(dd->dd_dir))
{
error_msg("'%s' does not exist", dd->dd_dir);
+ free(dd->dd_dir);
return 0;
}
dd_lock(dd);
- dd->opened = 1;
/* In case caller would want to create more files, he'll need uid:gid */
struct stat stat_buf;
@@ -159,66 +159,6 @@ static bool get_and_set_lock(const char*
VERB1 log("Locked '%s'", lock_file);
return true;
-
-#if 0
-/* Old code was using ordinary files instead of symlinks,
- * but it had a race window between open and write, during which file was
- * empty. It was seen to happen in practice.
- */
- int fd;
- while ((fd = open(pLockFile, O_WRONLY | O_CREAT | O_EXCL, 0640)) < 0)
- {
- if (errno != EEXIST)
- perror_msg_and_die("Can't create lock file '%s'", pLockFile);
- fd = open(pLockFile, O_RDONLY);
- if (fd < 0)
- {
- if (errno == ENOENT)
- continue; /* someone else deleted the file */
- perror_msg_and_die("Can't open lock file '%s'", pLockFile);
- }
- char pid_buf[sizeof(pid_t)*3 + 4];
- int r = read(fd, pid_buf, sizeof(pid_buf) - 1);
- if (r < 0)
- perror_msg_and_die("Can't read lock file '%s'", pLockFile);
- close(fd);
- if (r == 0)
- {
- /* Other process did not write out PID yet.
- * We HOPE it did not crash... */
- continue;
- }
- pid_buf[r] = '\0';
- if (strcmp(pid_buf, pPID) == 0)
- {
- log("Lock file '%s' is already locked by us", pLockFile);
- return -1;
- }
- if (isdigit_str(pid_buf))
- {
- if (access(ssprintf("/proc/%s", pid_buf).c_str(), F_OK) == 0)
- {
- log("Lock file '%s' is locked by process %s", pLockFile, pid_buf);
- return -1;
- }
- log("Lock file '%s' was locked by process %s, but it crashed?", pLockFile, pid_buf);
- }
- /* The file may be deleted by now by other process. Ignore errors */
- unlink(pLockFile);
- }
-
- int len = strlen(pPID);
- if (write(fd, pPID, len) != len)
- {
- unlink(pLockFile);
- /* close(fd); - not needed, exiting does it too */
- perror_msg_and_die("Can't write lock file '%s'", pLockFile);
- }
- close(fd);
-
- VERB1 log("Locked '%s'", pLockFile);
- return true;
-#endif
}
static void dd_lock(dump_dir_t *dd)
@@ -241,6 +181,7 @@ static void dd_unlock(dump_dir_t *dd)
{
if (dd->locked)
{
+ dd->locked = 0;
char lock_buf[strlen(dd->dd_dir) + sizeof(".lock")];
sprintf(lock_buf, "%s.lock", dd->dd_dir);
xunlink(lock_buf);
@@ -269,18 +210,18 @@ static void dd_unlock(dump_dir_t *dd)
*/
int dd_create(dump_dir_t *dd, const char *dir, uid_t uid)
{
- if (dd->opened)
- error_msg_and_die("DebugDump is already opened");
+ if (dd->locked)
+ error_msg_and_die("dump_dir is already opened"); /* bug */
dd->dd_dir = rm_trailing_slashes(dir);
if (exist_file_dir(dd->dd_dir))
{
error_msg("'%s' already exists", dd->dd_dir);
+ free(dd->dd_dir);
return 0;
}
dd_lock(dd);
- dd->opened = 1;
/* Was creating it with mode 0700 and user as the owner, but this allows
* the user to replace any file in the directory, changing security-sensitive data
@@ -289,7 +230,6 @@ int dd_create(dump_dir_t *dd, const char
if (mkdir(dd->dd_dir, 0750) == -1)
{
dd_unlock(dd);
- dd->opened = 0;
error_msg("Can't create dir '%s'", dir);
return 0;
}
@@ -298,7 +238,6 @@ int dd_create(dump_dir_t *dd, const char
if (chmod(dd->dd_dir, 0750) == -1)
{
dd_unlock(dd);
- dd->opened = false;
error_msg("Can't change mode of '%s'", dir);
return false;
}
@@ -452,8 +391,8 @@ static bool save_binary_file(const char
char* dd_load_text(const dump_dir_t *dd, const char *name)
{
- if (!dd->opened)
- error_msg_and_die("DebugDump is not opened");
+ if (!dd->locked)
+ error_msg_and_die("dump_dir is not opened"); /* bug */
char *full_path = concat_path_file(dd->dd_dir, name);
char *ret = load_text_file(full_path);
@@ -464,8 +403,8 @@ char* dd_load_text(const dump_dir_t *dd,
void dd_save_text(dump_dir_t *dd, const char *name, const char *data)
{
- if (!dd->opened)
- error_msg_and_die("DebugDump is not opened");
+ if (!dd->locked)
+ error_msg_and_die("dump_dir is not opened"); /* bug */
char *full_path = concat_path_file(dd->dd_dir, name);
save_binary_file(full_path, data, strlen(data), dd->uid, dd->gid);
@@ -474,18 +413,18 @@ void dd_save_text(dump_dir_t *dd, const
void dd_save_binary(dump_dir_t* dd, const char* name, const char* data, unsigned size)
{
- if (dd->opened)
- error_msg_and_die("DebugDump is not opened");
+ if (!dd->locked)
+ error_msg_and_die("dump_dir is not opened"); /* bug */
char *full_path = concat_path_file(dd->dd_dir, name);
save_binary_file(full_path, data, size, dd->uid, dd->gid);
free(full_path);
}
-int dd_init_next_file(dump_dir_t *dd)
+DIR *dd_init_next_file(dump_dir_t *dd)
{
- if (!dd->opened)
- error_msg_and_die("DebugDump is not opened");
+ if (!dd->locked)
+ error_msg_and_die("dump_dir is not opened"); /* bug */
if (dd->next_dir)
closedir(dd->next_dir);
@@ -494,10 +433,9 @@ int dd_init_next_file(dump_dir_t *dd)
if (!dd->next_dir)
{
error_msg("Can't open dir '%s'", dd->dd_dir);
- return 0;
}
- return 1;
+ return dd->next_dir;
}
int dd_get_next_file(dump_dir_t *dd, char **short_name, char **full_name)
13 years, 7 months
Impression et routage
by Printing Corporation Ltd
Bonjour,
Dans le cadre de vos besoins en matière d'impression et de routage, nous nous permettons de vous présenter nos prestations.
Notre groupe implanté en Asie et en Europe met à votre disposition plusieurs sites de production pour la réalisation de vos travaux d'impression (livres, catalogues, magazines, brochures, tabloid, dépliants, produits dédiés au marketing direct avec personnalisation + façonnage en ligne).
Parallèlement et pour répondre à la forte demande du marché Européen, nous avons 4 usines de routage en Espagne nous permettant de traiter vos envois pour le marché Français (Destinéo Intégral) et à l'international (25 machines de mise sous film et mise sous papier).
Restant à votre entière disposition pour répondre à l'ensemble de vos demandes.
Contact commercial
Tel : 0820 620 135 - Fax : 01 78 768 729
Demande de devis (production en Europe) & Demande de devis (production en Asie)
Veuillez me retirer de votre liste de diffusion
http://www.printingcorporationltd.com/desinscription.html
13 years, 7 months
CREDITCOURT TERME, LIGNE "DAILLY", Affacturage etc... consultez nous.
by SIT Group
Si ce message ne s'affiche pas correctement, visualisez la version en ligne.
Ce message vous est envoyé par : contact(a)srv1-sitgroup.com
Pour ne plus recevoir d'informations de notre part : Cliquez-ici pour vous désabonner.
«Ce courriel et les documents qui y sont attaches peuvent contenir des informations confidentielles.
Si vous n'êtes pas le destinataire escompte, merci d'en informer l'expéditeur immédiatement et de détruire ce courriel ainsi que tous les documents attaches de votre système informatique. Toute divulgation, copie du présent courriel et des documents attaches sans autorisation préalable de son émetteur est interdite.
This e-mail and any attached documents may contain confidential or proprietary information. If you are not the intended recipient, please advise the sender immediately and delete this e-mail and all attached documents from your computer system. Any unauthorized disclosure, or copying hereof is prohibited.
Ce courriel commercial est conforme à la législation en vigueur et aux délibérations de la CNIL des 22 et 30 mars 2005 sur la prospection par courrier électronique dans le cadre professionnel. Conformément à l'article 34 de la loi 78-17 du 6 janvier mille neuf cent soixante dix huit, relative à l'informatique, aux fichiers et aux libertés, vous disposez d'un droit d'accès, de rectification des données nominatives vous concernant.
Le présent message est en parfait respect avec la déontologie et les bonnes pratiques de la communication par marketing direct électronique. Conformément à la législation en vigueur et des différents rectificatifs légaux, vous disposez d'un plein droit d'accès, de modifications ou de suppression des données personnelles vous concernant. Vous pouvez à tout moment exercer se droit sur demande écrite ou via notre espace prévu à cet effet. Conformément à la loi Informatique et libertés, vous pouvez vous désabonner à tout moment. Pour toute autre demande n'hésitez pas à nous écrire (Afin de faciliter le traitement de votre envoi, précisez votre demande dans l'objet et le corps du message).
Loi nº 78-17 du 6 Janvier mille neuf cent soixante dix huit, relative à l'informatique, aux fichiers et aux libertés : Toute personne physique a le droit de s'opposer, pour des motifs légitimes, à ce que des données à caractère personnel la concernant fassent l'objet d'un traitement. Elle a le droit de s'opposer, sans frais, à ce que les données la concernant soient utilisées à des fins de prospection, notamment commerciale, par le responsable actuel du traitement ou celui d'un traitement ultérieur. Les dispositions du premier alinéa ne s'appliquent pas lorsque le traitement répond à une nécessité légale ou lorsque l'application de ces dispositions a été écartée par une disposition expresse de l'acte autorisant le traitement de la publicité par voie électronique.
Art 38 : Toute personne physique a le droit de s'opposer, pour des motifs légitimes, à ce que des données à caractère personnel la concernant fassent l'objet d'un traitement. Elle a le droit de s'opposer, sans frais, à ce que les données la concernant soient utilisées à des fins de prospection, notamment commerciale, par le responsable actuel du traitement ou celui d'un traitement ultérieur. Les dispositions du premier alinéa ne s''appliquent pas lorsque le traitement répond à une obligation légale ou lorsque l'application de ces dispositions a été écartée par une disposition expresse de l'acte autorisant le traitement.
Pour ne plus recevoir d'informations de notre part : Cliquez-ici pour vous désabonner.
Si vous souhaitez vous désabonner, recopiez cette adresse dans la barre d'adresse de votre navigateur :
http://www.srv1-sitgroup.com/u-1.1.php?param=3Rbi_1IvEkRQjb1KxEsDQWYvAORt...
13 years, 7 months
where are bug reported?
by Bram Mertens
Hi
Following a kernel oops abrt was launched and allowed me to submit a bug report.
Since this was on a brand new installation I had not yet entered my
bugzilla credentials. abrt did not ask for these either.
Now according to the gui "the kernel oops report was uploaded".
However I've searched Red Hat's bugzilla and can't find it.
I suggest to add the bug report number to the information stored by
abrt so users can follow up on crashes reported. In this case I
believe I can offer a bit more feedback on the problem. Unfortunately
since I can't find the bug I can't send the information. I could
always log the bug report again I suppose but that's not the intentin
off course.
Being able to view the bug report immediately from within the gui (by
opening a link in the default browser) would still be better.
Kind regards
Bram Mertens
13 years, 7 months
Simple et sans surprise
by Christophe Maratrey
POUR REPONDRE A CE COURRIEL, SUIVEZ CE LIEN ( "http://www.tiviweb.fr/nous_contacter/" ) - TEL. 0 820 821 426
( "http://www.tiviweb.fr/nous_contacter/" )
( "http://www.tiviweb.fr/nous_contacter/" )
VOS WEB VIDEOS
livrées "Clés en Mains" pour 990 €ht !
Inclus : Scénario / Comédien / Décors / Production / Livraison
( "http://client.tiviweb.fr/player.php?idv=262" )
( "http://www.tiviweb.fr/nous_contacter/" )
( "http://www.tiviweb.fr/" )
Retrouvez-nous sur E-COMMERCE 2010 - stand D2 du 21 au 23 septembre
Le Saviez-vous ? ** Selon une étude réalisée par Forrester Research, une page contenant de la vidéo aurait 50 fois plus de chance d'apparaître en 1ère page des résultats de recherche de Google, qu'un site sans vidéo. Les 1001 façons d'utiliser votre vidéo : en signature dans vos emails sur votre iPhone, iPad, ou Smartphone en clientèle sur votre site Internet pour vos mailings etc Les avantages de la vidéo sont nombreux. Imaginez tous les bénéfices que cela peut vous apporter : Créer une relation de confiance avec vos clients Sortir du lot et être devant vos concurrents sur les portails** Booster les ventes Communiquer efficacement et de façon peu coûteuse Rendre votre site plus visuel et attractif. Venez découvrir nos réalisations : de présentations d'entreprise, de présentations de concept, de présentations de commerces, hôtels, restaurants , de Télé-achats : pour la promotion et la vente de produit de formations : aide à la compréhension d'outils coaching, de webmagazines, de communication institutionnelle. Le référencement de votre site Internet est un élément crucial de votre communication sur le web. La vidéo joue ici un rôle important car elle permet d'améliorer le référencement de votre site. En effet, les outils de référencement vidéo mis en place récemment par Google vous donnent un atout supplémentaire pour vous démarquer des sites dépourvus de vidéo de vos concurrents.
POUR VOUS DESABONNER, SUIVEZ CE LIEN ( "http://www.tiviweb.fr/catalogue/" )
13 years, 7 months