Hi,

On 20/08/17 18:03, Steffan Karger wrote:
> Hi,
> 
> On 19-08-17 06:39, Antonio Quartulli wrote:
>> From: Antonio Quartulli <anto...@openvpn.net>
>>
>> Function prototypes should be included when compiling their
>> definitions so that it is clear to compilers and static
>> analyzers that they are not static.
>>
>> This means that several declarations have to be moved to the
>> related header files which in turn have to be included by the
>> source files implementing them.
>>
>> Generally speaking this also improves the coding style and
>> makes this code more consistent with the rest that already
>> follows this rule.
>>
>> Signed-off-by: Antonio Quartulli <anto...@openvpn.net>
>> ---
>>
>> v2: rebased on top of latest master to avoid conflict
>>
>>  src/openvpn/crypto.h         |  3 +++
>>  src/openvpn/error.c          |  3 +--
>>  src/openvpn/forward-inline.h | 28 ++--------------------------
>>  src/openvpn/forward.h        | 35 +++++++++++++++++++++++++++++++++++
>>  src/openvpn/init.h           |  2 ++
>>  src/openvpn/lladdr.c         |  1 +
>>  src/openvpn/manage.h         | 11 ++++++-----
>>  src/openvpn/mbuf.h           |  4 ++--
>>  src/openvpn/mroute.h         | 21 +++++++++++----------
>>  src/openvpn/multi.h          |  7 +++----
>>  src/openvpn/occ-inline.h     |  8 ++------
>>  src/openvpn/occ.h            |  6 ++++++
>>  src/openvpn/pf-inline.h      |  6 ++----
>>  src/openvpn/pf.h             |  6 ++++++
>>  src/openvpn/ping-inline.h    |  6 ++----
>>  src/openvpn/ping.h           |  4 ++++
>>  src/openvpn/plugin.h         |  2 ++
>>  src/openvpn/socket.h         | 13 +++++++------
>>  18 files changed, 97 insertions(+), 69 deletions(-)
>>
>> diff --git a/src/openvpn/crypto.h b/src/openvpn/crypto.h
>> index f1b6c20a..5f0790a6 100644
>> --- a/src/openvpn/crypto.h
>> +++ b/src/openvpn/crypto.h
>> @@ -467,6 +467,9 @@ void prng_bytes(uint8_t *output, int len);
>>  
>>  void prng_uninit(void);
>>  
>> +/* an analogue to the random() function, but use prng_bytes */
>> +long int get_random(void);
>> +
> 
> Though I agree that crypto.h is a better place for get_random() than
> misc.h, we already have one in misc.h.  So if you move this here, remove
> it from misc.h.

Oh I hadn't realized we had a declaration for get_random() in misc.h.
The function is defined in crypto.c therefore I expected its declaration
in crypto.h.

I'll remove it from misc.h then.


> 
>>  void test_crypto(struct crypto_options *co, struct frame *f);
>>  
>>  
>> diff --git a/src/openvpn/error.c b/src/openvpn/error.c
>> index 04bf0da5..e885ec3b 100644
>> --- a/src/openvpn/error.c
>> +++ b/src/openvpn/error.c
>> @@ -31,6 +31,7 @@
>>  
>>  #include "error.h"
>>  #include "buffer.h"
>> +#include "init.h"
>>  #include "misc.h"
>>  #include "win32.h"
>>  #include "socket.h"
>> @@ -734,8 +735,6 @@ openvpn_exit(const int status)
>>  {
>>      if (!forked)
>>      {
>> -        void tun_abort();
>> -
>>  #ifdef ENABLE_PLUGIN
>>          void plugin_abort(void);
>>  
>> diff --git a/src/openvpn/forward-inline.h b/src/openvpn/forward-inline.h
>> index ab83ea40..04601e8c 100644
>> --- a/src/openvpn/forward-inline.h
>> +++ b/src/openvpn/forward-inline.h
>> @@ -24,6 +24,8 @@
>>  #ifndef FORWARD_INLINE_H
>>  #define FORWARD_INLINE_H
>>  
>> +#include "forward.h"
>> +
> 
> If we do this, I think we should better merge forward_inline.h into
> forward.h.  It seems someone was trying to prevent including forward.h,
> adding all these forward declarations into forward-inline.h.  But
> looking at the current code, everything that includes forward-inline.h
> now somehow also includes forward.h.  So I see no reason to keep these
> separate.
> 
> If you agree with me, and decide to merge there, could you please do
> that in a separate patch?  That makes it a bit easier to review.

Agreed. In the past there was a reason for having the -inline.h header
files, but now I think this reason is gone (or at least I can't see it
anymore).

> 
>>  /*
>>   * Inline functions
>>   */
>> @@ -35,8 +37,6 @@ static inline void
>>  check_tls(struct context *c)
>>  {
>>  #if defined(ENABLE_CRYPTO)
>> -    void check_tls_dowork(struct context *c);
>> -
>>      if (c->c2.tls_multi)
>>      {
>>          check_tls_dowork(c);
>> @@ -52,10 +52,6 @@ static inline void
>>  check_tls_errors(struct context *c)
>>  {
>>  #if defined(ENABLE_CRYPTO)
>> -    void check_tls_errors_co(struct context *c);
>> -
>> -    void check_tls_errors_nco(struct context *c);
>> -
>>      if (c->c2.tls_multi && c->c2.tls_exit_signal)
>>      {
>>          if (link_socket_connection_oriented(c->c2.link_socket))
>> @@ -84,8 +80,6 @@ static inline void
>>  check_incoming_control_channel(struct context *c)
>>  {
>>  #if P2MP
>> -    void check_incoming_control_channel_dowork(struct context *c);
>> -
>>      if (tls_test_payload_len(c->c2.tls_multi) > 0)
>>      {
>>          check_incoming_control_channel_dowork(c);
>> @@ -100,8 +94,6 @@ check_incoming_control_channel(struct context *c)
>>  static inline void
>>  check_connection_established(struct context *c)
>>  {
>> -    void check_connection_established_dowork(struct context *c);
>> -
>>      if (event_timeout_defined(&c->c2.wait_for_connect))
>>      {
>>          check_connection_established_dowork(c);
>> @@ -114,8 +106,6 @@ check_connection_established(struct context *c)
>>  static inline void
>>  check_add_routes(struct context *c)
>>  {
>> -    void check_add_routes_dowork(struct context *c);
>> -
>>      if (event_timeout_trigger(&c->c2.route_wakeup, &c->c2.timeval, 
>> ETT_DEFAULT))
>>      {
>>          check_add_routes_dowork(c);
>> @@ -128,8 +118,6 @@ check_add_routes(struct context *c)
>>  static inline void
>>  check_inactivity_timeout(struct context *c)
>>  {
>> -    void check_inactivity_timeout_dowork(struct context *c);
>> -
>>      if (c->options.inactivity_timeout
>>          && event_timeout_trigger(&c->c2.inactivity_interval, 
>> &c->c2.timeval, ETT_DEFAULT))
>>      {
>> @@ -142,8 +130,6 @@ check_inactivity_timeout(struct context *c)
>>  static inline void
>>  check_server_poll_timeout(struct context *c)
>>  {
>> -    void check_server_poll_timeout_dowork(struct context *c);
>> -
>>      if (c->options.ce.connect_timeout
>>          && event_timeout_trigger(&c->c2.server_poll_interval, 
>> &c->c2.timeval, ETT_DEFAULT))
>>      {
>> @@ -157,8 +143,6 @@ check_server_poll_timeout(struct context *c)
>>  static inline void
>>  check_scheduled_exit(struct context *c)
>>  {
>> -    void check_scheduled_exit_dowork(struct context *c);
>> -
>>      if (event_timeout_defined(&c->c2.scheduled_exit))
>>      {
>>          if (event_timeout_trigger(&c->c2.scheduled_exit, &c->c2.timeval, 
>> ETT_DEFAULT))
>> @@ -175,8 +159,6 @@ check_scheduled_exit(struct context *c)
>>  static inline void
>>  check_status_file(struct context *c)
>>  {
>> -    void check_status_file_dowork(struct context *c);
>> -
>>      if (c->c1.status_output)
>>      {
>>          if (status_trigger_tv(c->c1.status_output, &c->c2.timeval))
>> @@ -193,8 +175,6 @@ check_status_file(struct context *c)
>>  static inline void
>>  check_fragment(struct context *c)
>>  {
>> -    void check_fragment_dowork(struct context *c);
>> -
>>      if (c->c2.fragment)
>>      {
>>          check_fragment_dowork(c);
>> @@ -210,8 +190,6 @@ check_fragment(struct context *c)
>>  static inline void
>>  check_push_request(struct context *c)
>>  {
>> -    void check_push_request_dowork(struct context *c);
>> -
>>      if (event_timeout_trigger(&c->c2.push_request_interval, &c->c2.timeval, 
>> ETT_DEFAULT))
>>      {
>>          check_push_request_dowork(c);
>> @@ -313,8 +291,6 @@ p2p_iow_flags(const struct context *c)
>>  static inline void
>>  io_wait(struct context *c, const unsigned int flags)
>>  {
>> -    void io_wait_dowork(struct context *c, const unsigned int flags);
>> -
>>      if (c->c2.fast_io && (flags & (IOW_TO_TUN|IOW_TO_LINK|IOW_MBUF)))
>>      {
>>          /* fast path -- only for TUN/TAP/UDP writes */
>> diff --git a/src/openvpn/forward.h b/src/openvpn/forward.h
>> index 9fde5a30..bc016e5d 100644
>> --- a/src/openvpn/forward.h
>> +++ b/src/openvpn/forward.h
>> @@ -60,6 +60,41 @@
>>  
>>  #define IOW_READ            (IOW_READ_TUN|IOW_READ_LINK)
>>  
>> +extern counter_type link_read_bytes_global;
>> +
>> +extern counter_type link_write_bytes_global;
>> +
>> +#ifdef ENABLE_CRYPTO
>> +void check_tls_dowork(struct context *c);
>> +
>> +void check_tls_errors_co(struct context *c);
>> +
>> +void check_tls_errors_nco(struct context *c);
>> +#endif /* ENABLE_CRYPTO */
>> +
>> +#if P2MP
>> +void check_incoming_control_channel_dowork(struct context *c);
>> +
>> +void check_scheduled_exit_dowork(struct context *c);
>> +
>> +void check_push_request_dowork(struct context *c);
>> +#endif /* P2MP */
>> +
>> +#ifdef ENABLE_FRAGMENT
>> +void check_fragment_dowork(struct context *c);
>> +#endif /* ENABLE_FRAGMENT */
>> +
>> +void check_connection_established_dowork(struct context *c);
>> +
>> +void check_add_routes_dowork(struct context *c);
>> +
>> +void check_inactivity_timeout_dowork(struct context *c);
>> +
>> +void check_server_poll_timeout_dowork(struct context *c);
>> +
>> +void check_status_file_dowork(struct context *c);
>> +
>> +void io_wait_dowork(struct context *c, const unsigned int flags);
> 
> These are already declared in forward-inline.h.  I don't see why we need
> extra declarations here.  But, if you follow my suggestion to merge
> these files, we don't have to discuss that any further :)
> 
>>  
>>  void pre_select(struct context *c);
>>  
>> diff --git a/src/openvpn/init.h b/src/openvpn/init.h
>> index 15feb677..b681cd9d 100644
>> --- a/src/openvpn/init.h
>> +++ b/src/openvpn/init.h
>> @@ -140,4 +140,6 @@ void open_plugins(struct context *c, const bool 
>> import_options, int init_point);
>>  
>>  #endif
>>  
>> +void tun_abort(void);
>> +
>>  #endif /* ifndef INIT_H */
>> diff --git a/src/openvpn/lladdr.c b/src/openvpn/lladdr.c
>> index ff71e48c..ea35e4d9 100644
>> --- a/src/openvpn/lladdr.c
>> +++ b/src/openvpn/lladdr.c
>> @@ -11,6 +11,7 @@
>>  #include "syshead.h"
>>  #include "error.h"
>>  #include "misc.h"
>> +#include "lladdr.h"
>>  
>>  int
>>  set_lladdr(const char *ifname, const char *lladdr,
>> diff --git a/src/openvpn/manage.h b/src/openvpn/manage.h
>> index 676be640..d77e5f18 100644
>> --- a/src/openvpn/manage.h
>> +++ b/src/openvpn/manage.h
>> @@ -581,6 +581,12 @@ management_bytes_in(struct management *man, const int 
>> size)
>>      }
>>  }
>>  
>> +
>> +void man_bytecount_output_server(struct management *man,
>> +                                 const counter_type *bytes_in_total,
>> +                                 const counter_type *bytes_out_total,
>> +                                 struct man_def_auth_context *mdac);
>> +
> 
> This function is defined inside #ifdef MANAGEMENT_DEF_AUTH, so the
> declaration should be moved down after:

ops..thanks!

> 
>>  #ifdef MANAGEMENT_DEF_AUTH
>>  
>>  static inline void
>> @@ -589,11 +595,6 @@ management_bytes_server(struct management *man,
>>                          const counter_type *bytes_out_total,
>>                          struct man_def_auth_context *mdac)
>>  {
>> -    void man_bytecount_output_server(struct management *man,
>> -                                     const counter_type *bytes_in_total,
>> -                                     const counter_type *bytes_out_total,
>> -                                     struct man_def_auth_context *mdac);
>> -
>>      if (man->connection.bytecount_update_seconds > 0
>>          && now >= mdac->bytecount_last_update + 
>> man->connection.bytecount_update_seconds
>>          && (mdac->flags & 
>> (DAF_CONNECTION_ESTABLISHED|DAF_CONNECTION_CLOSED)) == 
>> DAF_CONNECTION_ESTABLISHED)
>> diff --git a/src/openvpn/mbuf.h b/src/openvpn/mbuf.h
>> index e0643de1..1c35432f 100644
>> --- a/src/openvpn/mbuf.h
>> +++ b/src/openvpn/mbuf.h
>> @@ -96,11 +96,11 @@ mbuf_maximum_queued(const struct mbuf_set *ms)
>>      return (int) ms->max_queued;
>>  }
>>  
>> +struct multi_instance *mbuf_peek_dowork(struct mbuf_set *ms);
>> +
>>  static inline struct multi_instance *
>>  mbuf_peek(struct mbuf_set *ms)
>>  {
>> -    struct multi_instance *mbuf_peek_dowork(struct mbuf_set *ms);
>> -
>>      if (mbuf_defined(ms))
>>      {
>>          return mbuf_peek_dowork(ms);
>> diff --git a/src/openvpn/mroute.h b/src/openvpn/mroute.h
>> index 26421f88..3c06346f 100644
>> --- a/src/openvpn/mroute.h
>> +++ b/src/openvpn/mroute.h
>> @@ -170,6 +170,17 @@ void mroute_helper_add_iroute46(struct mroute_helper 
>> *mh, int netbits);
>>  
>>  void mroute_helper_del_iroute46(struct mroute_helper *mh, int netbits);
>>  
>> +
> 
> Nit: one newline too many?

Yes. We need only one empty line.

> 
>> +unsigned int mroute_extract_addr_ip(struct mroute_addr *src,
>> +                                    struct mroute_addr *dest,
>> +                                    const struct buffer *buf);
>> +
>> +unsigned int mroute_extract_addr_ether(struct mroute_addr *src,
>> +                                       struct mroute_addr *dest,
>> +                                       struct mroute_addr *esrc,
>> +                                       struct mroute_addr *edest,
>> +                                       const struct buffer *buf);
>> +
>>  /*
>>   * Given a raw packet in buf, return the src and dest
>>   * addresses of the packet.
>> @@ -182,16 +193,6 @@ mroute_extract_addr_from_packet(struct mroute_addr *src,
>>                                  const struct buffer *buf,
>>                                  int tunnel_type)
>>  {
>> -    unsigned int mroute_extract_addr_ip(struct mroute_addr *src,
>> -                                     struct mroute_addr *dest,
>> -                                     const struct buffer *buf);
>> -
>> -    unsigned int mroute_extract_addr_ether(struct mroute_addr *src,
>> -                                           struct mroute_addr *dest,
>> -                                           struct mroute_addr *esrc,
>> -                                           struct mroute_addr *edest,
>> -                                           const struct buffer *buf);
>> -
>>      unsigned int ret = 0;
>>      verify_align_4(buf);
>>      if (tunnel_type == DEV_TYPE_TUN)
>> diff --git a/src/openvpn/multi.h b/src/openvpn/multi.h
>> index 63afbaf0..5892ac07 100644
>> --- a/src/openvpn/multi.h
>> +++ b/src/openvpn/multi.h
>> @@ -536,11 +536,12 @@ clear_prefix(void)
>>   */
>>  #define MULTI_CACHE_ROUTE_TTL 60
>>  
>> +void multi_reap_process_dowork(const struct multi_context *m);
>> +void multi_process_per_second_timers_dowork(struct multi_context *m);
>> +
>>  static inline void
>>  multi_reap_process(const struct multi_context *m)
>>  {
>> -    void multi_reap_process_dowork(const struct multi_context *m);
>> -
>>      if (m->reaper->last_call != now)
>>      {
>>          multi_reap_process_dowork(m);
>> @@ -552,8 +553,6 @@ multi_process_per_second_timers(struct multi_context *m)
>>  {
>>      if (m->per_second_trigger != now)
>>      {
>> -        void multi_process_per_second_timers_dowork(struct multi_context 
>> *m);
>> -
>>          multi_process_per_second_timers_dowork(m);
>>          m->per_second_trigger = now;
>>      }
>> diff --git a/src/openvpn/occ-inline.h b/src/openvpn/occ-inline.h
>> index 0fa8e5ba..7ca2a26f 100644
>> --- a/src/openvpn/occ-inline.h
>> +++ b/src/openvpn/occ-inline.h
>> @@ -26,6 +26,8 @@
>>  
>>  #ifdef ENABLE_OCC
>>  
>> +#include "occ.h"
>> +
> 
> Same as for forward-inline.h:  everything that includes occ-inline.h
> also seems to include occ.h somehow.  I suggest to merge these files (in
> a separate commit).
> 
>>  /*
>>   * Inline functions
>>   */
>> @@ -42,8 +44,6 @@ occ_reset_op(void)
>>  static inline void
>>  check_send_occ_req(struct context *c)
>>  {
>> -    void check_send_occ_req_dowork(struct context *c);
>> -
>>      if (event_timeout_defined(&c->c2.occ_interval)
>>          && event_timeout_trigger(&c->c2.occ_interval,
>>                                   &c->c2.timeval,
>> @@ -59,8 +59,6 @@ check_send_occ_req(struct context *c)
>>  static inline void
>>  check_send_occ_load_test(struct context *c)
>>  {
>> -    void check_send_occ_load_test_dowork(struct context *c);
>> -
>>      if (event_timeout_defined(&c->c2.occ_mtu_load_test_interval)
>>          && event_timeout_trigger(&c->c2.occ_mtu_load_test_interval,
>>                                   &c->c2.timeval,
>> @@ -76,8 +74,6 @@ check_send_occ_load_test(struct context *c)
>>  static inline void
>>  check_send_occ_msg(struct context *c)
>>  {
>> -    void check_send_occ_msg_dowork(struct context *c);
>> -
>>      if (c->c2.occ_op >= 0)
>>      {
>>          if (!TO_LINK_DEF(c))
>> diff --git a/src/openvpn/occ.h b/src/openvpn/occ.h
>> index 12d7bc57..29de99c2 100644
>> --- a/src/openvpn/occ.h
>> +++ b/src/openvpn/occ.h
>> @@ -90,5 +90,11 @@ is_occ_msg(const struct buffer *buf)
>>  
>>  void process_received_occ_msg(struct context *c);
>>  
>> +void check_send_occ_req_dowork(struct context *c);
>> +
>> +void check_send_occ_load_test_dowork(struct context *c);
>> +
>> +void check_send_occ_msg_dowork(struct context *c);
>> +
>>  #endif /* ifdef ENABLE_OCC */
>>  #endif /* ifndef OCC_H */
>> diff --git a/src/openvpn/pf-inline.h b/src/openvpn/pf-inline.h
>> index ac19ac4c..0db7b262 100644
>> --- a/src/openvpn/pf-inline.h
>> +++ b/src/openvpn/pf-inline.h
>> @@ -24,6 +24,8 @@
>>  #if defined(ENABLE_PF) && !defined(PF_INLINE_H)
>>  #define PF_INLINE_H
>>  
>> +#include "pf.h"
>> +
> 
> This one seems to still be somewhat independent of pf.h, but let's merge
> these too.


Yeah.

> 
>>  /*
>>   * Inline functions
>>   */
>> @@ -33,8 +35,6 @@
>>  static inline bool
>>  pf_c2c_test(const struct context *src, const struct context *dest, const 
>> char *prefix)
>>  {
>> -    bool pf_cn_test(struct pf_set *pfs, const struct tls_multi *tm, const 
>> int type, const char *prefix);
>> -
>>      return (!src->c2.pf.enabled  || pf_cn_test(src->c2.pf.pfs,  
>> dest->c2.tls_multi, PCT_DEST, prefix))
>>             && (!dest->c2.pf.enabled || pf_cn_test(dest->c2.pf.pfs, 
>> src->c2.tls_multi,  PCT_SRC,  prefix));
>>  }
>> @@ -42,8 +42,6 @@ pf_c2c_test(const struct context *src, const struct 
>> context *dest, const char *p
>>  static inline bool
>>  pf_addr_test(const struct context *src, const struct mroute_addr *dest, 
>> const char *prefix)
>>  {
>> -    bool pf_addr_test_dowork(const struct context *src, const struct 
>> mroute_addr *dest, const char *prefix);
>> -
>>      if (src->c2.pf.enabled)
>>      {
>>          return pf_addr_test_dowork(src, dest, prefix);
>> diff --git a/src/openvpn/pf.h b/src/openvpn/pf.h
>> index 414c85b8..f6a3b61e 100644
>> --- a/src/openvpn/pf.h
>> +++ b/src/openvpn/pf.h
>> @@ -101,4 +101,10 @@ void pf_context_print(const struct pf_context *pfc, 
>> const char *prefix, const in
>>  
>>  #endif
>>  
>> +bool pf_cn_test(struct pf_set *pfs, const struct tls_multi *tm, const int 
>> type,
>> +                const char *prefix);
>> +
>> +bool pf_addr_test_dowork(const struct context *src,
>> +                         const struct mroute_addr *dest, const char 
>> *prefix);
>> +
>>  #endif /* if defined(ENABLE_PF) && !defined(OPENVPN_PF_H) */
>> diff --git a/src/openvpn/ping-inline.h b/src/openvpn/ping-inline.h
>> index 0642b851..9d590dc4 100644
>> --- a/src/openvpn/ping-inline.h
>> +++ b/src/openvpn/ping-inline.h
>> @@ -24,6 +24,8 @@
>>  #ifndef PING_INLINE_H
>>  #define PING_INLINE_H
>>  
>> +#include "ping.h"
>> +
> 
> As for pf.h
> 
>>  /*
>>   * Should we exit or restart due to ping (or other authenticated packet)
>>   * not received in n seconds?
>> @@ -31,8 +33,6 @@
>>  static inline void
>>  check_ping_restart(struct context *c)
>>  {
>> -    void check_ping_restart_dowork(struct context *c);
>> -
>>      if (c->options.ping_rec_timeout
>>          && event_timeout_trigger(&c->c2.ping_rec_interval,
>>                                   &c->c2.timeval,
>> @@ -50,8 +50,6 @@ check_ping_restart(struct context *c)
>>  static inline void
>>  check_ping_send(struct context *c)
>>  {
>> -    void check_ping_send_dowork(struct context *c);
>> -
>>      if (c->options.ping_send_timeout
>>          && event_timeout_trigger(&c->c2.ping_send_interval,
>>                                   &c->c2.timeval,
>> diff --git a/src/openvpn/ping.h b/src/openvpn/ping.h
>> index 5bd5c089..66c3a54f 100644
>> --- a/src/openvpn/ping.h
>> +++ b/src/openvpn/ping.h
>> @@ -43,4 +43,8 @@ is_ping_msg(const struct buffer *buf)
>>      return buf_string_match(buf, ping_string, PING_STRING_SIZE);
>>  }
>>  
>> +void check_ping_restart_dowork(struct context *c);
>> +
>> +void check_ping_send_dowork(struct context *c);
>> +
>>  #endif
>> diff --git a/src/openvpn/plugin.h b/src/openvpn/plugin.h
>> index 818b6285..67549cda 100644
>> --- a/src/openvpn/plugin.h
>> +++ b/src/openvpn/plugin.h
>> @@ -216,4 +216,6 @@ plugin_call(const struct plugin_list *pl,
>>                             );
>>  }
>>  
>> +void plugin_abort(void);
>> +
>>  #endif /* OPENVPN_PLUGIN_H */
>> diff --git a/src/openvpn/socket.h b/src/openvpn/socket.h
>> index 81e9e9ae..13b94606 100644
>> --- a/src/openvpn/socket.h
>> +++ b/src/openvpn/socket.h
>> @@ -1021,11 +1021,11 @@ void stream_buf_close(struct stream_buf *sb);
>>  
>>  bool stream_buf_added(struct stream_buf *sb, int length_added);
>>  
>> +bool stream_buf_read_setup_dowork(struct link_socket *sock);
>> +
>>  static inline bool
>>  stream_buf_read_setup(struct link_socket *sock)
>>  {
>> -    bool stream_buf_read_setup_dowork(struct link_socket *sock);
>> -
>>      if (link_socket_connection_oriented(sock))
>>      {
>>          return stream_buf_read_setup_dowork(sock);
>> @@ -1130,16 +1130,17 @@ link_socket_write_win32(struct link_socket *sock,
>>  
>>  #else  /* ifdef _WIN32 */
>>  
>> +size_t link_socket_write_udp_posix_sendmsg(struct link_socket *sock,
>> +                                           struct buffer *buf,
>> +                                           struct link_socket_actual *to);
>> +
>> +
>>  static inline size_t
>>  link_socket_write_udp_posix(struct link_socket *sock,
>>                              struct buffer *buf,
>>                              struct link_socket_actual *to)
>>  {
>>  #if ENABLE_IP_PKTINFO
>> -    size_t link_socket_write_udp_posix_sendmsg(struct link_socket *sock,
>> -                                               struct buffer *buf,
>> -                                               struct link_socket_actual 
>> *to);
>> -
>>      if (proto_is_udp(sock->info.proto) && (sock->sockflags & 
>> SF_USE_IP_PKTINFO)
>>          && addr_defined_ipi(to))
>>      {
>>
> 
> Curious whether you agree with me.

Yeah, I do. As I said above, in the past there was a reason for having
the -forward.h files that did not depend on the plain .h. I remember I
have tried to get rid of the -forward.h already but something exploded.
Now it seems merging should just work.

I'll send two new patches soon.

Thanks for reviewing!

Cheers,

> 
> -Steffan
> 
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Openvpn-devel mailing list
> Openvpn-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/openvpn-devel
> 

-- 
Antonio Quartulli

Attachment: signature.asc
Description: OpenPGP digital signature

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Openvpn-devel mailing list
Openvpn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-devel

Reply via email to