chiark
/
gitweb
/
~mdw
/
tripe
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
New peer option `-mobile': follow rapid IP address and port changes.
[tripe]
/
server
/
tripe.h
diff --git
a/server/tripe.h
b/server/tripe.h
index d1093f7b774874659cde5cd04419dd5a48cc8560..8a0be5188f8026b3eeca9dcc064983125ddf9ae7 100644
(file)
--- a/
server/tripe.h
+++ b/
server/tripe.h
@@
-226,6
+226,8
@@
typedef struct keyset {
#define KSERR_REGEN -1 /* Regenerate keys */
#define KSERR_NOKEYS -2 /* No keys left */
#define KSERR_DECRYPT -3 /* Unable to decrypt message */
#define KSERR_REGEN -1 /* Regenerate keys */
#define KSERR_NOKEYS -2 /* No keys left */
#define KSERR_DECRYPT -3 /* Unable to decrypt message */
+#define KSERR_SEQ -4 /* Incorrect sequence number */
+#define KSERR_MALFORMED -5 /* Input ciphertext is broken */
/* --- Key exchange --- *
*
/* --- Key exchange --- *
*
@@
-338,7
+340,9
@@
typedef struct peerspec {
unsigned long t_ka; /* Keep alive interval */
addr sa; /* Socket address to speak to */
size_t sasz; /* Socket address size */
unsigned long t_ka; /* Keep alive interval */
addr sa; /* Socket address to speak to */
size_t sasz; /* Socket address size */
- unsigned kxf; /* Key exchange flags to set */
+ unsigned f; /* Flags for the peer */
+#define PSF_KXMASK 255u /* Key-exchange flags to set */
+#define PSF_MOBILE 256u /* Address may change rapidly */
} peerspec;
typedef struct peer_byname {
} peerspec;
typedef struct peer_byname {
@@
-933,13
+937,15
@@
extern void a_daemon(void);
* Arguments: @const char *sock@ = socket name to create
* @uid_t u@ = user to own the socket
* @gid_t g@ = group to own the socket
* Arguments: @const char *sock@ = socket name to create
* @uid_t u@ = user to own the socket
* @gid_t g@ = group to own the socket
+ * @mode_t m@ = permissions to set on the socket
*
* Returns: ---
*
* Use: Creates the admin listening socket.
*/
*
* Returns: ---
*
* Use: Creates the admin listening socket.
*/
-extern void a_init(const char */*sock*/, uid_t /*u*/, gid_t /*g*/);
+extern void a_init(const char */*sock*/,
+ uid_t /*u*/, gid_t /*g*/, mode_t /*m*/);
/*----- Mapping with addresses as keys ------------------------------------*/
/*----- Mapping with addresses as keys ------------------------------------*/
@@
-1306,7
+1312,7
@@
extern void p_destroy(peer */*p*/);
#define FOREACH_PEER(p, stuff) do { \
peer_iter i_; \
peer *p; \
#define FOREACH_PEER(p, stuff) do { \
peer_iter i_; \
peer *p; \
- for (p_mkiter(&i_); (p = p_next(&i_)) != 0; )
do stuff while (0);
\
+ for (p_mkiter(&i_); (p = p_next(&i_)) != 0; )
stuff
\
} while (0)
/* --- @p_mkiter@ --- *
} while (0)
/* --- @p_mkiter@ --- *