X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/tripe/blobdiff_plain/5d46c0f82004eadd6e258172aff887f12ab58213..dfc1ab4f3326bf8295ac8dca5c4821d57ef417e8:/server/tripe.h diff --git a/server/tripe.h b/server/tripe.h index 1d13f32d..3db1cb96 100644 --- a/server/tripe.h +++ b/server/tripe.h @@ -7,7 +7,7 @@ * (c) 2001 Straylight/Edgeware */ -/*----- Licensing notice --------------------------------------------------* +/*----- Licensing notice --------------------------------------------------* * * This file is part of Trivial IP Encryption (TrIPE). * @@ -15,12 +15,12 @@ * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. - * + * * TrIPE is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with TrIPE; if not, write to the Free Software Foundation, * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. @@ -68,6 +68,7 @@ #include #include #include +#include #include #include #include @@ -82,6 +83,7 @@ #include #include #include +#include #include @@ -192,9 +194,9 @@ typedef struct keyset { unsigned long sz_exp; /* Data limit for the keyset */ T( unsigned seq; ) /* Sequence number for tracing */ unsigned f; /* Various useful flags */ - gcipher *cin, *cout; /* Keyset ciphers for encryption */ + gcipher *cin, *cout; /* Keyset ciphers for encryption */ size_t tagsz; /* Length to truncate MAC tags */ - gmac *min, *mout; /* Keyset MACs for integrity */ + gmac *min, *mout; /* Keyset MACs for integrity */ uint32 oseq; /* Outbound sequence number */ seqwin iseq; /* Inbound sequence number */ } keyset; @@ -267,8 +269,10 @@ struct peer; typedef struct tunnel_ops { const char *name; /* Name of this tunnel driver */ void (*init)(void); /* Initializes the system */ - tunnel *(*create)(struct peer */*p*/); /* Initializes a new tunnel */ - const char *(*ifname)(tunnel */*t*/); /* Returns tunnel's interface name */ + tunnel *(*create)(struct peer */*p*/, char **/*ifn*/); + /* Initializes a new tunnel */ + void (*setifname)(tunnel */*t*/, const char */*ifn*/); + /* Notifies ifname change */ void (*inject)(tunnel */*t*/, buf */*b*/); /* Sends packet through if */ void (*destroy)(tunnel */*t*/); /* Destroys a tunnel */ } tunnel_ops; @@ -1177,39 +1181,6 @@ extern void seq_reset(seqwin */*s*/); extern int seq_check(seqwin */*s*/, uint32 /*q*/, const char */*service*/); -/* --- @versioncmp@ --- * - * - * Arguments: @const char *va, *vb@ = two version strings - * - * Returns: Less than, equal to, or greater than zero, according to - * whether @va@ is less than, equal to, or greater than @vb@. - * - * Use: Compares version number strings. - * - * The algorithm is an extension of the Debian version - * comparison algorithm. A version number consists of three - * components: - * - * [EPOCH :] MAIN [- SUB] - * - * The MAIN part may contain colons or hyphens if there is an - * EPOCH or SUB, respectively. Version strings are compared - * componentwise: first epochs, then main parts, and finally - * subparts. - * - * The component comparison is done as follows. First, the - * initial subsequence of nondigit characters is extracted from - * each string, and these are compared lexicographically, using - * ASCII ordering, except that letters precede non-letters. If - * both are the same, an initial sequence of digits is extracted - * from the remaining parts of the version strings, and these - * are compared numerically (an empty sequence being considered - * to have the value zero). This process is repeated until we - * have a winner or until both strings are exhausted. - */ - -extern int versioncmp(const char */*va*/, const char */*vb*/); - /*----- That's all, folks -------------------------------------------------*/ #ifdef __cplusplus