summaryrefslogtreecommitdiff
path: root/src/minidentd/mgetuid-linux.c
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2017-01-10 02:17:16 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2017-01-10 02:17:16 +0000
commit334d807b924427434b42d4fbae745d3d1b38a218 (patch)
tree6daf12c1e2fa07d2ac6255ef4439e2fb95a57f57 /src/minidentd/mgetuid-linux.c
parent43cb3ee4227de70e0225e9ac142b4d397f93cc41 (diff)
downloads6-networking-334d807b924427434b42d4fbae745d3d1b38a218.tar.xz
Types fix, first pass
XXX marks what must change when skalibs changes. Also started writing functions for client certificate support in sbearssl, but it's not working yet (need more high-level support from BearSSL before it can work)
Diffstat (limited to 'src/minidentd/mgetuid-linux.c')
-rw-r--r--src/minidentd/mgetuid-linux.c28
1 files changed, 16 insertions, 12 deletions
diff --git a/src/minidentd/mgetuid-linux.c b/src/minidentd/mgetuid-linux.c
index 209318b..18caba7 100644
--- a/src/minidentd/mgetuid-linux.c
+++ b/src/minidentd/mgetuid-linux.c
@@ -1,7 +1,10 @@
/* ISC license. */
+#include <sys/types.h>
+#include <stdint.h>
#include <skalibs/uint16.h>
#include <skalibs/uint32.h>
+#include <skalibs/uint64.h>
#include <skalibs/uint.h>
#include <skalibs/bytestr.h>
#include <skalibs/fmtscan.h>
@@ -28,9 +31,9 @@ static int skipspace (char **s)
return (int)**s ;
}
-static void reverse_address (char *s, unsigned int n)
+static void reverse_address (char *s, size_t n)
{
- register unsigned int i = n >> 1 ;
+ register size_t i = n >> 1 ;
while (i--)
{
register char tmp = s[i] ;
@@ -39,11 +42,12 @@ static void reverse_address (char *s, unsigned int n)
}
}
-static int parseline (char *s, unsigned int len, unsigned int *u, char *la, uint16 *lp, char *ra, uint16 *rp, int is6)
+static int parseline (char *s, size_t len, uid_t *u, char *la, uint16_t *lp, char *ra, uint16_t *rp, int is6)
{
char *cur = s ;
- unsigned int pos ;
- uint32 junk ;
+ size_t pos ;
+ uint64 uu ;
+ uint32_t junk ;
register unsigned int iplen = is6 ? 16 : 4 ;
if (!skipspace(&cur)) bug("initial whitespace") ;
@@ -102,15 +106,15 @@ static int parseline (char *s, unsigned int len, unsigned int *u, char *la, uint
cur += pos ;
if (!skipspace(&cur)) bug("retrnsmt SPACE") ;
- pos = uint_scan(cur, u) ; /* uid */
+ pos = uint64_scan(cur, &uu) ; /* uid */
if (!pos || (cur-s+1+pos) > len) bug("uid") ;
-
+ *u = uu ;
return 1 ;
}
#ifdef DEBUG
-static void debuglog (uint16 a, uint16 b, unsigned int c, char const *d, char const *e, int is6)
+static void debuglog (uint16_t a, uint16_t b, unsigned int c, char const *d, char const *e, int is6)
{
char sa[UINT16_FMT] ;
char sb[UINT16_FMT] ;
@@ -138,10 +142,10 @@ static void debuglog (uint16 a, uint16 b, unsigned int c, char const *d, char co
#endif
-int mgetuid (ip46_t const *localaddr, uint16 localport, ip46_t const *remoteaddr, uint16 remoteport)
+uid_t mgetuid (ip46_t const *localaddr, uint16_t localport, ip46_t const *remoteaddr, uint16_t remoteport)
{
int r ;
- int u = -2 ;
+ uid_t u = -2 ;
stralloc line = STRALLOC_ZERO ;
buffer b ;
char y[BUFFER_INSIZE] ;
@@ -158,8 +162,8 @@ int mgetuid (ip46_t const *localaddr, uint16 localport, ip46_t const *remoteaddr
{
char la[16] ;
char ra[16] ;
- unsigned int nu ;
- uint16 lp, rp ;
+ uid_t nu ;
+ uint16_t lp, rp ;
line.len = 0 ;
r = skagetln(&b, &line, '\n') ;
if (r <= 0) { u = -1 ; break ; }