Re: sa_family_t is not always equal to u_int8_t

2015-07-17 Thread Florian Obser
OK florian@

On Fri, Jul 17, 2015 at 01:41:17AM +0200, Alexandr Nedvedicky wrote:
 On Thu, Jul 16, 2015 at 11:10:06PM +, Miod Vallat wrote:
   cvs diff -p output:
  
  Please send unified diffs (diff -u). The easiest way is to have a
diff -up
  line in your ~/.cvsrc file. Or diff -uNp if you want cvs diff to show
  new files as well.
  
  Miod
 
 
 Sorry, now I got it..
 regards
 sasha
 
 Index: pfvar.h
 ===
 RCS file: /cvs/src/sys/net/pfvar.h,v
 retrieving revision 1.416
 diff -u -p -r1.416 pfvar.h
 --- pfvar.h 16 Jul 2015 21:14:21 -  1.416
 +++ pfvar.h 16 Jul 2015 23:39:21 -
 @@ -1791,7 +1791,7 @@ extern void
 pf_print_flags(u_int8_t);
  extern struct ifnet*sync_ifp;
  extern struct pf_rule   pf_default_rule;
  extern void pf_addrcpy(struct pf_addr *, struct pf_addr 
 *,
 -   u_int8_t);
 +   sa_family_t);
  voidpf_rm_rule(struct pf_rulequeue *,
 struct pf_rule *);
  voidpf_purge_rule(struct pf_ruleset *,
 @@ -1984,7 +1984,7 @@ struct pf_os_fingerprint *
 pf_osfp_validate(void);
 
  #ifdef _KERNEL
 -voidpf_print_host(struct pf_addr *, u_int16_t, u_int8_t);
 +voidpf_print_host(struct pf_addr *, u_int16_t, 
 sa_family_t);
 
  int pf_get_transaddr(struct pf_rule *, struct pf_pdesc *,
 struct pf_src_node **, struct pf_rule **);
 

-- 
I'm not entirely sure you are real.



sa_family_t is not always equal to u_int8_t

2015-07-16 Thread Alexandr Nedvedicky
Hello,

we hit this problem while building PF on Solaris, where sizeof(sa_family_t) == 2
patch below fixes the problem for Solaris.

regards
sasha

cvs diff -p output:

--8--8--8--

Index: pfvar.h
===
RCS file: /cvs/src/sys/net/pfvar.h,v
retrieving revision 1.416
diff -p -r1.416 pfvar.h
*** pfvar.h 16 Jul 2015 21:14:21 -  1.416
--- pfvar.h 16 Jul 2015 22:10:10 -
*** extern void  pf_print_flags(u_int8_t);
*** 1791,1797 
  extern struct ifnet   *sync_ifp;
  extern struct pf_rule  pf_default_rule;
  extern voidpf_addrcpy(struct pf_addr *, struct pf_addr *,
!   u_int8_t);
  void   pf_rm_rule(struct pf_rulequeue *,
struct pf_rule *);
  void   pf_purge_rule(struct pf_ruleset *,
--- 1791,1797 
  extern struct ifnet   *sync_ifp;
  extern struct pf_rule  pf_default_rule;
  extern voidpf_addrcpy(struct pf_addr *, struct pf_addr *,
!   sa_family_t);
  void   pf_rm_rule(struct pf_rulequeue *,
struct pf_rule *);
  void   pf_purge_rule(struct pf_ruleset *,
*** struct pf_os_fingerprint *
*** 1984,1990 
pf_osfp_validate(void);
  
  #ifdef _KERNEL
! void   pf_print_host(struct pf_addr *, u_int16_t, u_int8_t);
  
  intpf_get_transaddr(struct pf_rule *, struct pf_pdesc *,
struct pf_src_node **, struct pf_rule **);
--- 1984,1990 
pf_osfp_validate(void);
  
  #ifdef _KERNEL
! void   pf_print_host(struct pf_addr *, u_int16_t, 
sa_family_t);
  
  intpf_get_transaddr(struct pf_rule *, struct pf_pdesc *,
struct pf_src_node **, struct pf_rule **);



Re: sa_family_t is not always equal to u_int8_t

2015-07-16 Thread Martin Pieuchot
On 17/07/15(Fri) 01:41, Alexandr Nedvedicky wrote:
 On Thu, Jul 16, 2015 at 11:10:06PM +, Miod Vallat wrote:
   cvs diff -p output:
  
  Please send unified diffs (diff -u). The easiest way is to have a
diff -up
  line in your ~/.cvsrc file. Or diff -uNp if you want cvs diff to show
  new files as well.
  
  Miod
 
 
 Sorry, now I got it..
 regards
 sasha

ok mpi@

 
 Index: pfvar.h
 ===
 RCS file: /cvs/src/sys/net/pfvar.h,v
 retrieving revision 1.416
 diff -u -p -r1.416 pfvar.h
 --- pfvar.h 16 Jul 2015 21:14:21 -  1.416
 +++ pfvar.h 16 Jul 2015 23:39:21 -
 @@ -1791,7 +1791,7 @@ extern void
 pf_print_flags(u_int8_t);
  extern struct ifnet*sync_ifp;
  extern struct pf_rule   pf_default_rule;
  extern void pf_addrcpy(struct pf_addr *, struct pf_addr 
 *,
 -   u_int8_t);
 +   sa_family_t);
  voidpf_rm_rule(struct pf_rulequeue *,
 struct pf_rule *);
  voidpf_purge_rule(struct pf_ruleset *,
 @@ -1984,7 +1984,7 @@ struct pf_os_fingerprint *
 pf_osfp_validate(void);
 
  #ifdef _KERNEL
 -voidpf_print_host(struct pf_addr *, u_int16_t, u_int8_t);
 +voidpf_print_host(struct pf_addr *, u_int16_t, 
 sa_family_t);
 
  int pf_get_transaddr(struct pf_rule *, struct pf_pdesc *,
 struct pf_src_node **, struct pf_rule **);
 



Re: sa_family_t is not always equal to u_int8_t

2015-07-16 Thread Alexandr Nedvedicky
On Thu, Jul 16, 2015 at 11:10:06PM +, Miod Vallat wrote:
  cvs diff -p output:
 
 Please send unified diffs (diff -u). The easiest way is to have a
   diff -up
 line in your ~/.cvsrc file. Or diff -uNp if you want cvs diff to show
 new files as well.
 
 Miod


Sorry, now I got it..
regards
sasha

Index: pfvar.h
===
RCS file: /cvs/src/sys/net/pfvar.h,v
retrieving revision 1.416
diff -u -p -r1.416 pfvar.h
--- pfvar.h 16 Jul 2015 21:14:21 -  1.416
+++ pfvar.h 16 Jul 2015 23:39:21 -
@@ -1791,7 +1791,7 @@ extern void
pf_print_flags(u_int8_t);
 extern struct ifnet*sync_ifp;
 extern struct pf_rule   pf_default_rule;
 extern void pf_addrcpy(struct pf_addr *, struct pf_addr *,
-   u_int8_t);
+   sa_family_t);
 voidpf_rm_rule(struct pf_rulequeue *,
struct pf_rule *);
 voidpf_purge_rule(struct pf_ruleset *,
@@ -1984,7 +1984,7 @@ struct pf_os_fingerprint *
pf_osfp_validate(void);

 #ifdef _KERNEL
-voidpf_print_host(struct pf_addr *, u_int16_t, u_int8_t);
+voidpf_print_host(struct pf_addr *, u_int16_t, 
sa_family_t);

 int pf_get_transaddr(struct pf_rule *, struct pf_pdesc *,
struct pf_src_node **, struct pf_rule **);