Mercurial > noffle
comparison src/client.c @ 103:f782184db8bc noffle
[svn] 1.0pre6 merge plus variable rename
| author | bears |
|---|---|
| date | Tue, 13 Jun 2000 07:31:43 +0100 |
| parents | 38b0a1532a37 |
| children | dd2fbc88601d |
comparison
equal
deleted
inserted
replaced
| 102:38b0a1532a37 | 103:f782184db8bc |
|---|---|
| 1 /* | 1 /* |
| 2 client.c | 2 client.c |
| 3 | 3 |
| 4 $Id: client.c 135 2000-06-05 08:57:05Z bears $ | 4 $Id: client.c 142 2000-06-13 06:31:43Z bears $ |
| 5 */ | 5 */ |
| 6 | 6 |
| 7 #if HAVE_CONFIG_H | 7 #if HAVE_CONFIG_H |
| 8 #include <config.h> | 8 #include <config.h> |
| 9 #endif | 9 #endif |
| 36 | 36 |
| 37 /* | 37 /* |
| 38 Some newsgroups names are reserved for server-specific or server | 38 Some newsgroups names are reserved for server-specific or server |
| 39 pseudo groups. We don't want to fetch them. For example, INN | 39 pseudo groups. We don't want to fetch them. For example, INN |
| 40 keeps all its control messages in a 'control' hierarchy, and | 40 keeps all its control messages in a 'control' hierarchy, and |
| 41 used the "to." heirarchy for dark and mysterious purposes I think | 41 used the "to." hierarchy for dark and mysterious purposes I think |
| 42 are to do with newsfeeds. The recommended restrictions are documented | 42 are to do with newsfeeds. The recommended restrictions are documented |
| 43 in C.Lindsay, "News Article Format", <draft-ietf-usefor-article-03.txt>. | 43 in C.Lindsay, "News Article Format", <draft-ietf-usefor-article-03.txt>. |
| 44 */ | 44 */ |
| 45 | 45 |
| 46 struct ForbiddenGroupName | 46 struct ForbiddenGroupName |
| 49 Bool match; | 49 Bool match; |
| 50 } forbiddenGroupNames[] = | 50 } forbiddenGroupNames[] = |
| 51 { | 51 { |
| 52 { "*.*", FALSE }, /* Single component */ | 52 { "*.*", FALSE }, /* Single component */ |
| 53 { "control.*", TRUE }, /* control.* groups */ | 53 { "control.*", TRUE }, /* control.* groups */ |
| 54 { "to.*", TRUE }, /* control.* groups */ | 54 { "to.*", TRUE }, /* to.* groups */ |
| 55 { "*.all", TRUE }, /* 'all' as a component */ | 55 { "*.all", TRUE }, /* 'all' as a component */ |
| 56 { "*.all.*", TRUE }, | 56 { "*.all.*", TRUE }, |
| 57 { "all.*", TRUE }, | 57 { "all.*", TRUE }, |
| 58 { "*.ctl", TRUE }, /* 'ctl' as a component */ | 58 { "*.ctl", TRUE }, /* 'ctl' as a component */ |
| 59 { "*.ctl.*", TRUE }, | 59 { "*.ctl.*", TRUE }, |
| 980 Str supersedeIds; | 980 Str supersedeIds; |
| 981 | 981 |
| 982 if ( Prt_searchHeader( txt, "Supersedes", supersedeIds ) ) | 982 if ( Prt_searchHeader( txt, "Supersedes", supersedeIds ) ) |
| 983 { | 983 { |
| 984 ItemList *ids; | 984 ItemList *ids; |
| 985 const char *msgId; | 985 const char *supersededMsgId; |
| 986 | 986 |
| 987 ids = new_Itl( supersedeIds, " \n\t" ); | 987 ids = new_Itl( supersedeIds, " \n\t" ); |
| 988 for ( msgId = Itl_first( ids ); | 988 for ( supersededMsgId = Itl_first( ids ); |
| 989 msgId != NULL; | 989 supersededMsgId != NULL; |
| 990 msgId = Itl_next( ids ) ) | 990 supersededMsgId = Itl_next( ids ) ) |
| 991 Ctrl_cancel( msgId ); | 991 Ctrl_cancel( supersededMsgId ); |
| 992 del_Itl( ids ); | 992 del_Itl( ids ); |
| 993 } | 993 } |
| 994 } | 994 } |
| 995 } | 995 } |
| 996 else | 996 else |
