]> git.decadent.org.uk Git - nfs-utils.git/commitdiff
Remove svcgssd's private version of cacheio.c
authorKevin Coffman <kwc@citi.umich.edu>
Fri, 12 Oct 2007 20:35:10 +0000 (16:35 -0400)
committerNeil Brown <neilb@suse.de>
Sun, 14 Oct 2007 23:50:56 +0000 (09:50 +1000)
Now that svcgssd is using the qword_* functions in the
support library, remove the private version.

Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@suse.de>
utils/gssd/cacheio.c [deleted file]
utils/gssd/cacheio.h [deleted file]

diff --git a/utils/gssd/cacheio.c b/utils/gssd/cacheio.c
deleted file mode 100644 (file)
index f47f1fa..0000000
+++ /dev/null
@@ -1,297 +0,0 @@
-/*
-  Copyright (c) 2004 The Regents of the University of Michigan.
-  All rights reserved.
-
-  Redistribution and use in source and binary forms, with or without
-  modification, are permitted provided that the following conditions
-  are met:
-
-  1. Redistributions of source code must retain the above copyright
-     notice, this list of conditions and the following disclaimer.
-  2. Redistributions in binary form must reproduce the above copyright
-     notice, this list of conditions and the following disclaimer in the
-     documentation and/or other materials provided with the distribution.
-  3. Neither the name of the University nor the names of its
-     contributors may be used to endorse or promote products derived
-     from this software without specific prior written permission.
-
-  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
-  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-  DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/*
- * support/nfs/cacheio.c
- * support IO on the cache channel files in 2.5 and beyond.
- * These use 'qwords' which are like words, but with a little quoting.
- *
- */
-
-
-/*
- * Support routines for text-based upcalls.
- * Fields are separated by spaces.
- * Fields are either mangled to quote space tab newline slosh with slosh
- * or a hexified with a leading \x
- * Record is terminated with newline.
- *
- */
-
-#include "cacheio.h"
-#include <stdio.h>
-#include <ctype.h>
-#include <unistd.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <time.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-#include "err_util.h"
-
-void qword_add(char **bpp, int *lp, char *str)
-{
-       char *bp = *bpp;
-       int len = *lp;
-       char c;
-
-       if (len < 0) return;
-
-       while ((c=*str++) && len)
-               switch(c) {
-               case ' ':
-               case '\t':
-               case '\n':
-               case '\\':
-                       if (len >= 4) {
-                               *bp++ = '\\';
-                               *bp++ = '0' + ((c & 0300)>>6);
-                               *bp++ = '0' + ((c & 0070)>>3);
-                               *bp++ = '0' + ((c & 0007)>>0);
-                       }
-                       len -= 4;
-                       break;
-               default:
-                       *bp++ = c;
-                       len--;
-               }
-       if (c || len <1) len = -1;
-       else {
-               *bp++ = ' ';
-               len--;
-       }
-       *bpp = bp;
-       *lp = len;
-}
-
-void qword_addhex(char **bpp, int *lp, char *buf, int blen)
-{
-       char *bp = *bpp;
-       int len = *lp;
-
-       if (len < 0) return;
-
-       if (len > 2) {
-               *bp++ = '\\';
-               *bp++ = 'x';
-               len -= 2;
-               while (blen && len >= 2) {
-                       unsigned char c = *buf++;
-                       *bp++ = '0' + ((c&0xf0)>>4) + (c>=0xa0)*('a'-'9'-1);
-                       *bp++ = '0' + (c&0x0f) + ((c&0x0f)>=0x0a)*('a'-'9'-1);
-                       len -= 2;
-                       blen--;
-               }
-       }
-       if (blen || len<1) len = -1;
-       else {
-               *bp++ = ' ';
-               len--;
-       }
-       *bpp = bp;
-       *lp = len;
-}
-
-void qword_addint(char **bpp, int *lp, int n)
-{
-       int len;
-
-       len = snprintf(*bpp, *lp, "%d ", n);
-       if (len > *lp)
-               len = *lp;
-       *bpp += len;
-       *lp -= len;
-}
-
-void qword_adduint(char **bpp, int *lp, unsigned int n)
-{
-       int len;
-
-       len = snprintf(*bpp, *lp, "%u ", n);
-       if (len > *lp)
-               len = *lp;
-       *bpp += len;
-       *lp -= len;
-}
-
-void qword_addeol(char **bpp, int *lp)
-{
-       if (*lp <= 0)
-               return;
-       **bpp = '\n';
-       (*bpp)++;
-       (*lp)--;
-}
-
-static char qword_buf[8192];
-void qword_print(FILE *f, char *str)
-{
-       char *bp = qword_buf;
-       int len = sizeof(qword_buf);
-       qword_add(&bp, &len, str);
-       fwrite(qword_buf, bp-qword_buf, 1, f);
-}
-
-void qword_printhex(FILE *f, char *str, int slen)
-{
-       char *bp = qword_buf;
-       int len = sizeof(qword_buf);
-       qword_addhex(&bp, &len, str, slen);
-       fwrite(qword_buf, bp-qword_buf, 1, f);
-}
-
-void qword_printint(FILE *f, int num)
-{
-       fprintf(f, "%d ", num);
-}
-
-int qword_eol(FILE *f)
-{
-       int err;
-       fprintf(f,"\n");
-       err = fflush(f);
-       return err;
-}
-
-
-
-#define isodigit(c) (isdigit(c) && c <= '7')
-int qword_get(char **bpp, char *dest, int bufsize)
-{
-       /* return bytes copied, or -1 on error */
-       char *bp = *bpp;
-       int len = 0;
-
-       while (*bp == ' ') bp++;
-
-       if (bp[0] == '\\' && bp[1] == 'x') {
-               /* HEX STRING */
-               bp += 2;
-               while (isxdigit(bp[0]) && isxdigit(bp[1]) && len < bufsize) {
-                       int byte = isdigit(*bp) ? *bp-'0' : toupper(*bp)-'A'+10;
-                       bp++;
-                       byte <<= 4;
-                       byte |= isdigit(*bp) ? *bp-'0' : toupper(*bp)-'A'+10;
-                       *dest++ = byte;
-                       bp++;
-                       len++;
-               }
-       } else {
-               /* text with \nnn octal quoting */
-               while (*bp != ' ' && *bp != '\n' && *bp && len < bufsize-1) {
-                       if (*bp == '\\' &&
-                           isodigit(bp[1]) && (bp[1] <= '3') &&
-                           isodigit(bp[2]) &&
-                           isodigit(bp[3])) {
-                               int byte = (*++bp -'0');
-                               bp++;
-                               byte = (byte << 3) | (*bp++ - '0');
-                               byte = (byte << 3) | (*bp++ - '0');
-                               *dest++ = byte;
-                               len++;
-                       } else {
-                               *dest++ = *bp++;
-                               len++;
-                       }
-               }
-       }
-
-       if (*bp != ' ' && *bp != '\n' && *bp != '\0')
-               return -1;
-       while (*bp == ' ') bp++;
-       *bpp = bp;
-       *dest = '\0';
-       return len;
-}
-
-int qword_get_int(char **bpp, int *anint)
-{
-       char buf[50];
-       char *ep;
-       int rv;
-       int len = qword_get(bpp, buf, 50);
-       if (len < 0) return -1;
-       if (len ==0) return -1;
-       rv = strtol(buf, &ep, 0);
-       if (*ep) return -1;
-       *anint = rv;
-       return 0;
-}
-
-#define READLINE_BUFFER_INCREMENT 2048
-
-int readline(int fd, char **buf, int *lenp)
-{
-       /* read a line into *buf, which is malloced *len long
-        * realloc if needed until we find a \n
-        * nul out the \n and return
-        * 0 of eof, 1 of success
-        */
-       int len;
-
-       if (*lenp == 0) {
-               char *b = malloc(READLINE_BUFFER_INCREMENT);
-               if (b == NULL)
-                       return 0;
-               *buf = b;
-               *lenp = READLINE_BUFFER_INCREMENT;
-       }
-       len = read(fd, *buf, *lenp);
-       if (len <= 0) {
-               printerr(0, "readline: read error: len %d errno %d (%s)\n",
-                        len, errno, strerror(errno));
-               return 0;
-       }
-       while ((*buf)[len-1] != '\n') {
-       /* now the less common case.  There was no newline,
-        * so we have to keep reading after re-alloc
-        */
-               char *new;
-               int nl;
-               *lenp += READLINE_BUFFER_INCREMENT;
-               new = realloc(*buf, *lenp);
-               if (new == NULL)
-                       return 0;
-               *buf = new;
-               nl = read(fd, *buf +len, *lenp - len);
-               if (nl <= 0 ) {
-                       printerr(0, "readline: read error: len %d "
-                                "errno %d (%s)\n", nl, errno, strerror(errno));
-                       return 0;
-               }
-               len += nl;
-       }
-       (*buf)[len-1] = 0;
-       printerr(3, "readline: read %d chars into buffer of size %d:\n%s\n",
-                len, *lenp, *buf);
-       return 1;
-}
diff --git a/utils/gssd/cacheio.h b/utils/gssd/cacheio.h
deleted file mode 100644 (file)
index 6585fc7..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
-  Copyright (c) 2004 The Regents of the University of Michigan.
-  All rights reserved.
-
-  Redistribution and use in source and binary forms, with or without
-  modification, are permitted provided that the following conditions
-  are met:
-
-  1. Redistributions of source code must retain the above copyright
-     notice, this list of conditions and the following disclaimer.
-  2. Redistributions in binary form must reproduce the above copyright
-     notice, this list of conditions and the following disclaimer in the
-     documentation and/or other materials provided with the distribution.
-  3. Neither the name of the University nor the names of its
-     contributors may be used to endorse or promote products derived
-     from this software without specific prior written permission.
-
-  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
-  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-  DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#ifndef _CACHEIO_H_
-#define _CACHEIO_H_
-
-#include <stdio.h>
-
-void qword_add(char **bpp, int *lp, char *str);
-void qword_addhex(char **bpp, int *lp, char *buf, int blen);
-void qword_addint(char **bpp, int *lp, int n);
-void qword_adduint(char **bpp, int *lp, unsigned int n);
-void qword_addeol(char **bpp, int *lp);
-void qword_print(FILE *f, char *str);
-void qword_printhex(FILE *f, char *str, int slen);
-void qword_printint(FILE *f, int num);
-int qword_eol(FILE *f);
-int readline(int fd, char **buf, int *lenp);
-int qword_get(char **bpp, char *dest, int bufsize);
-int qword_get_int(char **bpp, int *anint);
-
-#endif /* _CACHEIO_H_ */