From: kostas <> Date: Sun, 28 Dec 1997 01:16:07 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: SQUID_3_0_PRE1~4347 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1b0589634d90e0a8abcdf0a1ee0e911a679b3a1a;p=thirdparty%2Fsquid.git *** empty log message *** --- diff --git a/TODO b/TODO index 6938e77b07..1a819fb91d 100644 --- a/TODO +++ b/TODO @@ -20,9 +20,6 @@ Our Todo List (3) request-range (3) hit metering (3) ETag support (makes metadata bigger--ack!) -(3) AS # routing - - whois -h whois.ra.net '\!gAS194' - - Stevens V2 Ch.18 (3) Efficient public peer access control *without ACLs* Bill Wichers Dave Zarzycki @@ -32,7 +29,6 @@ Our Todo List # x milliseconds, then deny. distant_peer_deny 200 75 10 (3) Resource limits. -(3) SIGHUP should reread error text files (3) Make swap.state binary with fixed-size cache keys (3) Make checkFailureRatio() work again. (3) LDAP support. See http://miso.wwa.com/~donley/ and @@ -77,3 +73,7 @@ DONE: (2) SNMP interface (5) convert ipcache/fqdncache to double-linked list and lose qsort() calls. +(3) AS # routing + - whois -h whois.ra.net '\!gAS194' + - Stevens V2 Ch.18 +(3) SIGHUP should reread error text files diff --git a/include/cache_snmp.h b/include/cache_snmp.h index 642237774f..ce512ecb9e 100644 --- a/include/cache_snmp.h +++ b/include/cache_snmp.h @@ -5,11 +5,11 @@ /* mib stuff here */ struct subtree { - oid name[16]; /* objid prefix of subtree */ - u_char namelen; /* number of subid's in name above */ - struct variable *variables; /* pointer to variables array */ - int variables_len; /* number of entries in above array */ - int variables_width; /* sizeof each variable entry */ + oid name[16]; /* objid prefix of subtree */ + u_char namelen; /* number of subid's in name above */ + struct variable *variables; /* pointer to variables array */ + int variables_len; /* number of entries in above array */ + int variables_width; /* sizeof each variable entry */ struct subtree *next; }; @@ -28,38 +28,38 @@ struct subtree { * application. The first 5 elements of the structure must remain constant. */ struct variable2 { - u_char magic; /* passed to function as a hint */ - char type; /* type of variable */ - u_short acl; /* access control list for variable */ - u_char *(*findVar) (); /* function that finds variable */ - u_char namelen; /* length of name below */ - oid name[2]; /* object identifier of variable */ + u_char magic; /* passed to function as a hint */ + char type; /* type of variable */ + u_short acl; /* access control list for variable */ + u_char *(*findVar) (); /* function that finds variable */ + u_char namelen; /* length of name below */ + oid name[2]; /* object identifier of variable */ }; struct variable4 { - u_char magic; /* passed to function as a hint */ - char type; /* type of variable */ - u_short acl; /* access control list for variable */ - u_char *(*findVar) (); /* function that finds variable */ - u_char namelen; /* length of name below */ - oid name[4]; /* object identifier of variable */ + u_char magic; /* passed to function as a hint */ + char type; /* type of variable */ + u_short acl; /* access control list for variable */ + u_char *(*findVar) (); /* function that finds variable */ + u_char namelen; /* length of name below */ + oid name[4]; /* object identifier of variable */ }; struct variable7 { - u_char magic; /* passed to function as a hint */ - char type; /* type of variable */ - u_short acl; /* access control list for variable */ - u_char *(*findVar) (); /* function that finds variable */ - u_char namelen; /* length of name below */ - oid name[7]; /* object identifier of variable */ + u_char magic; /* passed to function as a hint */ + char type; /* type of variable */ + u_short acl; /* access control list for variable */ + u_char *(*findVar) (); /* function that finds variable */ + u_char namelen; /* length of name below */ + oid name[7]; /* object identifier of variable */ }; struct variable13 { - u_char magic; /* passed to function as a hint */ - char type; /* type of variable */ - u_short acl; /* access control list for variable */ - u_char *(*findVar) (); /* function that finds variable */ - u_char namelen; /* length of name below */ - oid name[13]; /* object identifier of variable */ + u_char magic; /* passed to function as a hint */ + char type; /* type of variable */ + u_short acl; /* access control list for variable */ + u_char *(*findVar) (); /* function that finds variable */ + u_char namelen; /* length of name below */ + oid name[13]; /* object identifier of variable */ }; #endif @@ -91,6 +91,7 @@ enum { SYSVMSIZ, SYSSTOR }; + /* cacheConfig group */ enum { @@ -187,5 +188,6 @@ enum { PERF_PEERSTAT_KEEPAL_S, PERF_PEERSTAT_KEEPAL_R }; + #endif #endif diff --git a/include/radix.h b/include/radix.h index cfd78244bf..ce4f701771 100644 --- a/include/radix.h +++ b/include/radix.h @@ -1,6 +1,6 @@ /* * Copyright (c) 1988, 1989, 1993 - * The Regents of the University of California. All rights reserved. + * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -12,8 +12,8 @@ * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. + * This product includes software developed by the University of + * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * @(#)radix.h 8.2 (Berkeley) 10/31/94 + * @(#)radix.h 8.2 (Berkeley) 10/31/94 */ #ifndef _RADIX_H_ @@ -41,30 +41,30 @@ */ struct radix_node { - struct radix_mask *rn_mklist; /* list of masks contained in subtree */ - struct radix_node *rn_p; /* parent */ - short rn_b; /* bit offset; -1-index(netmask) */ - char rn_bmask; /* node: mask for bit test*/ - u_char rn_flags; /* enumerated next */ -#define RNF_NORMAL 1 /* leaf contains normal route */ -#define RNF_ROOT 2 /* leaf is root leaf for tree */ -#define RNF_ACTIVE 4 /* This node is alive (for rtfree) */ - union { - struct { /* leaf only data: */ - caddr_t rn_Key; /* object of search */ - caddr_t rn_Mask; /* netmask, if present */ - struct radix_node *rn_Dupedkey; - } rn_leaf; - struct { /* node only data: */ - int rn_Off; /* where to start compare */ - struct radix_node *rn_L;/* progeny */ - struct radix_node *rn_R;/* progeny */ - }rn_node; - } rn_u; + struct radix_mask *rn_mklist; /* list of masks contained in subtree */ + struct radix_node *rn_p; /* parent */ + short rn_b; /* bit offset; -1-index(netmask) */ + char rn_bmask; /* node: mask for bit test */ + u_char rn_flags; /* enumerated next */ +#define RNF_NORMAL 1 /* leaf contains normal route */ +#define RNF_ROOT 2 /* leaf is root leaf for tree */ +#define RNF_ACTIVE 4 /* This node is alive (for rtfree) */ + union { + struct { /* leaf only data: */ + caddr_t rn_Key; /* object of search */ + caddr_t rn_Mask; /* netmask, if present */ + struct radix_node *rn_Dupedkey; + } rn_leaf; + struct { /* node only data: */ + int rn_Off; /* where to start compare */ + struct radix_node *rn_L; /* progeny */ + struct radix_node *rn_R; /* progeny */ + } rn_node; + } rn_u; #ifdef RN_DEBUG - int rn_info; - struct radix_node *rn_twin; - struct radix_node *rn_ybro; + int rn_info; + struct radix_node *rn_twin; + struct radix_node *rn_ybro; #endif }; @@ -80,19 +80,19 @@ struct radix_node { */ extern struct radix_mask { - short rm_b; /* bit offset; -1-index(netmask) */ - char rm_unused; /* cf. rn_bmask */ - u_char rm_flags; /* cf. rn_flags */ - struct radix_mask *rm_mklist; /* more masks to try */ - union { - caddr_t rmu_mask; /* the mask */ - struct radix_node *rmu_leaf; /* for normal routes */ - } rm_rmu; - int rm_refs; /* # of references to this struct */ -} *rn_mkfreelist; + short rm_b; /* bit offset; -1-index(netmask) */ + char rm_unused; /* cf. rn_bmask */ + u_char rm_flags; /* cf. rn_flags */ + struct radix_mask *rm_mklist; /* more masks to try */ + union { + caddr_t rmu_mask; /* the mask */ + struct radix_node *rmu_leaf; /* for normal routes */ + } rm_rmu; + int rm_refs; /* # of references to this struct */ +} *rn_mkfreelist; #define rm_mask rm_rmu.rmu_mask -#define rm_leaf rm_rmu.rmu_leaf /* extra field would make 32 bytes */ +#define rm_leaf rm_rmu.rmu_leaf /* extra field would make 32 bytes */ #define MKGet(m) {\ if (rn_mkfreelist) {\ @@ -104,60 +104,48 @@ extern struct radix_mask { #define MKFree(m) { (m)->rm_mklist = rn_mkfreelist; rn_mkfreelist = (m);} struct radix_node_head { - struct radix_node *rnh_treetop; - int rnh_addrsize; /* permit, but not require fixed keys */ - int rnh_pktsize; /* permit, but not require fixed keys */ - struct radix_node *(*rnh_addaddr) /* add based on sockaddr */ - __P((void *v, void *mask, - struct radix_node_head *head, struct radix_node nodes[])); - struct radix_node *(*rnh_addpkt) /* add based on packet hdr */ - __P((void *v, void *mask, - struct radix_node_head *head, struct radix_node nodes[])); - struct radix_node *(*rnh_deladdr) /* remove based on sockaddr */ - __P((void *v, void *mask, struct radix_node_head *head)); - struct radix_node *(*rnh_delpkt) /* remove based on packet hdr */ - __P((void *v, void *mask, struct radix_node_head *head)); - struct radix_node *(*rnh_matchaddr) /* locate based on sockaddr */ - __P((void *v, struct radix_node_head *head)); - struct radix_node *(*rnh_lookup) /* locate based on sockaddr */ - __P((void *v, void *mask, struct radix_node_head *head)); - struct radix_node *(*rnh_matchpkt) /* locate based on packet hdr */ - __P((void *v, struct radix_node_head *head)); - int (*rnh_walktree) /* traverse tree */ - __P((struct radix_node_head *head, int (*f)(), void *w)); - struct radix_node rnh_nodes[3]; /* empty tree for common case */ + struct radix_node *rnh_treetop; + int rnh_addrsize; /* permit, but not require fixed keys */ + int rnh_pktsize; /* permit, but not require fixed keys */ + struct radix_node *(*rnh_addaddr) /* add based on sockaddr */ + __P((void *v, void *mask, + struct radix_node_head * head, struct radix_node nodes[])); + struct radix_node *(*rnh_addpkt) /* add based on packet hdr */ + __P((void *v, void *mask, + struct radix_node_head * head, struct radix_node nodes[])); + struct radix_node *(*rnh_deladdr) /* remove based on sockaddr */ + __P((void *v, void *mask, struct radix_node_head * head)); + struct radix_node *(*rnh_delpkt) /* remove based on packet hdr */ + __P((void *v, void *mask, struct radix_node_head * head)); + struct radix_node *(*rnh_matchaddr) /* locate based on sockaddr */ + __P((void *v, struct radix_node_head * head)); + struct radix_node *(*rnh_lookup) /* locate based on sockaddr */ + __P((void *v, void *mask, struct radix_node_head * head)); + struct radix_node *(*rnh_matchpkt) /* locate based on packet hdr */ + __P((void *v, struct radix_node_head * head)); + int (*rnh_walktree) /* traverse tree */ + __P((struct radix_node_head * head, int (*f) (), void *w)); + struct radix_node rnh_nodes[3]; /* empty tree for common case */ }; -#ifndef KERNEL -#define Bcmp(a, b, n) bcmp(((char *)(a)), ((char *)(b)), (n)) -#define Bcopy(a, b, n) bcopy(((char *)(a)), ((char *)(b)), (unsigned)(n)) -#define Bzero(p, n) bzero((char *)(p), (int)(n)); -#define R_Malloc(p, t, n) (p = (t) malloc((unsigned int)(n))) -#define Free(p) free((char *)p); -#else -#define Bcmp(a, b, n) bcmp(((caddr_t)(a)), ((caddr_t)(b)), (unsigned)(n)) -#define Bcopy(a, b, n) bcopy(((caddr_t)(a)), ((caddr_t)(b)), (unsigned)(n)) -#define Bzero(p, n) bzero((caddr_t)(p), (unsigned)(n)); -#define R_Malloc(p, t, n) (p = (t) malloc((unsigned long)(n), M_RTABLE, M_DONTWAIT)) -#define Free(p) free((caddr_t)p, M_RTABLE); -#endif /*KERNEL*/ +#define Bcmp(a, b, n) memcmp(((char *)(a)), ((char *)(b)), (n)) +#define Bcopy(a, b, n) memcpy(((char *)(b)), ((char *)(a)), (unsigned)(n)) +#define Bzero(p, n) memset((char *)(p),'\0', (int)(n)); +#define R_Malloc(p, t, n) (p = (t) xmalloc((unsigned int)(n))) +#define Free(p) xfree((char *)p); -void rn_init __P((void)); -int rn_inithead __P((void **, int)); -int rn_refines __P((void *, void *)); -int rn_walktree __P((struct radix_node_head *, int (*)(), void *)); +void rn_init __P((void)); +int rn_inithead __P((void **, int)); +int rn_refines __P((void *, void *)); +int rn_walktree __P((struct radix_node_head *, int (*)(), void *)); struct radix_node - *rn_addmask __P((void *, int, int)), - *rn_addroute __P((void *, void *, struct radix_node_head *, - struct radix_node [2])), - *rn_delete __P((void *, void *, struct radix_node_head *)), - *rn_insert __P((void *, struct radix_node_head *, int *, - struct radix_node [2])), - *rn_match __P((void *, struct radix_node_head *)), - *rn_newpair __P((void *, int, struct radix_node[2])), - *rn_search __P((void *, struct radix_node *)), - *rn_search_m __P((void *, struct radix_node *, void *)); + *rn_addmask __P((void *, int, int)), *rn_addroute __P((void *, void *, struct radix_node_head *, + struct radix_node[2])), *rn_delete __P((void *, void *, struct radix_node_head *)), + *rn_insert __P((void *, struct radix_node_head *, int *, + struct radix_node[2])), *rn_match __P((void *, struct radix_node_head *)), + *rn_newpair __P((void *, int, struct radix_node[2])), *rn_search __P((void *, struct radix_node *)), + *rn_search_m __P((void *, struct radix_node *, void *)); #define min(x,y) ((x)<(y)? (x) : (y)) #endif /* _RADIX_H_ */