Blob Blame Raw
diff -urNp quota-tools-orig/edquota.c quota-tools/edquota.c
--- quota-tools-orig/edquota.c	2007-09-18 18:21:07.000000000 +0200
+++ quota-tools/edquota.c	2008-06-19 16:00:13.000000000 +0200
@@ -181,7 +181,7 @@ int parse_options(int argc, char **argv)
 	if (((flags & FL_EDIT_PERIOD) && argc != 0) || ((flags & FL_EDIT_TIMES) && argc < 1))
 		usage();
 	if ((flags & (FL_EDIT_PERIOD | FL_EDIT_TIMES)) && protoname) {
-		errstr(_("Prototype name does not make sence when editting grace period or times.\n"));
+		errstr(_("Prototype name does not make sence when editing grace period or times.\n"));
 		usage();
 	}
 	return optind;
@@ -196,8 +196,11 @@ void copy_prototype(int argc, char **arg
 	protoid = name2id(protoname, quotatype, !!(flags & FL_NUMNAMES), NULL);
 	protoprivs = getprivs(protoid, handles, 0);
 	while (argc-- > 0) {
-		id = name2id(*argv++, quotatype, !!(flags & FL_NUMNAMES), NULL);
+		id = name2id(*argv, quotatype, !!(flags & FL_NUMNAMES), NULL);
 		curprivs = getprivs(id, handles, 0);
+		if (!curprivs)
+			die(1, _("Cannot get quota information for user %s\n"), *argv);
+		argv++;
 
 		for (pprivs = protoprivs, cprivs = curprivs; pprivs && cprivs;
 		     pprivs = pprivs->dq_next, cprivs = cprivs->dq_next) {
@@ -276,7 +279,7 @@ int main(int argc, char **argv)
 			ret = -1;
 		}
 		if (editprivs(tmpfil) < 0) {
-			errstr(_("Error while editting grace times.\n"));
+			errstr(_("Error while editing grace times.\n"));
 			ret = -1;
 		}
 		if (readtimes(handles, tmpfd) < 0) {
@@ -288,13 +291,15 @@ int main(int argc, char **argv)
 		for (; argc > 0; argc--, argv++) {
 			id = name2id(*argv, quotatype, !!(flags & FL_NUMNAMES), NULL);
 			curprivs = getprivs(id, handles, 0);
+			if (!curprivs)
+				die(1, _("Cannot get quota information for user %s\n"), *argv);
 			if (writeindividualtimes(curprivs, tmpfd, *argv, quotatype) < 0) {
 				errstr(_("Cannot write individual grace times to file.\n"));
 				ret = -1;
 				continue;
 			}
 			if (editprivs(tmpfil) < 0) {
-				errstr(_("Error while editting individual grace times.\n"));
+				errstr(_("Error while editing individual grace times.\n"));
 				ret = -1;
 				continue;
 			}
@@ -312,13 +317,15 @@ int main(int argc, char **argv)
 		for (; argc > 0; argc--, argv++) {
 			id = name2id(*argv, quotatype, !!(flags & FL_NUMNAMES), NULL);
 			curprivs = getprivs(id, handles, 0);
+			if (!curprivs)
+      	die(1, _("Cannot get quota information for user %s.\n"), *argv);
 			if (writeprivs(curprivs, tmpfd, *argv, quotatype) < 0) {
 				errstr(_("Cannot write quotas to file.\n"));
 				ret = -1;
 				continue;
 			}
 			if (editprivs(tmpfil) < 0) {
-				errstr(_("Error while editting quotas.\n"));
+				errstr(_("Error while editing quotas.\n"));
 				ret = -1;
 				continue;
 			}
diff -urNp quota-tools-orig/Makefile.in quota-tools/Makefile.in
--- quota-tools-orig/Makefile.in	2008-06-19 15:31:35.000000000 +0200
+++ quota-tools/Makefile.in	2008-06-19 15:35:05.000000000 +0200
@@ -105,6 +105,9 @@ install: all @INSTMO@
 	-$(INSTALL) -m 644 rquota.h rquota.x $(ROOTDIR)$(includedir)/rpcsvc
 	-$(INSTALL) -m $(DEF_SBIN_MODE) quota $(ROOTDIR)$(bindir)
 	-$(INSTALL) -m $(DEF_SBIN_MODE) rpc.rquotad $(ROOTDIR)$(sbindir)
+ifneq ($(NETLINKLIBS),)
+  -$(INSTALL) -m $(DEF_SBIN_MODE) quota_nld $(ROOTDIR)$(sbindir)
+endif
 	-$(INSTALL) -m $(DEF_MAN_MODE) *.1 $(ROOTDIR)$(mandir)/man1
 	-$(INSTALL) -m $(DEF_MAN_MODE) *.2 $(ROOTDIR)$(mandir)/man2
 	-$(INSTALL) -m $(DEF_MAN_MODE) *.3 $(ROOTDIR)$(mandir)/man3
diff -urNp quota-tools-orig/quota.c quota-tools/quota.c
--- quota-tools-orig/quota.c	2007-09-18 18:21:07.000000000 +0200
+++ quota-tools/quota.c	2008-06-19 15:42:12.000000000 +0200
@@ -204,7 +204,7 @@ int showquotas(int type, qid_t id, int m
 			}
 			else {
 				if (bover)
-					sprintf(timebuf, "%Lu", (long long unsigned int)q->dq_dqb.dqb_btime);
+					sprintf(timebuf, "%llu", (long long unsigned int)q->dq_dqb.dqb_btime);
 				else
 					strcpy(timebuf, "0");
 			}
@@ -222,7 +222,7 @@ int showquotas(int type, qid_t id, int m
 			}
 			else {
 				if (iover)
-					sprintf(timebuf, "%Lu", (long long unsigned int)q->dq_dqb.dqb_itime);
+					sprintf(timebuf, "%llu", (long long unsigned int)q->dq_dqb.dqb_itime);
 				else
 					strcpy(timebuf, "0");
 			}
diff -urNp quota-tools-orig/quotacheck.c quota-tools/quotacheck.c
--- quota-tools-orig/quotacheck.c	2008-03-13 15:49:33.000000000 +0100
+++ quota-tools/quotacheck.c	2008-06-19 15:51:40.000000000 +0200
@@ -554,7 +554,7 @@ static int scan_dir(char *pathname)
 			if (gcheck)
 				add_to_quota(GRPQUOTA, st.st_ino, st.st_uid, st.st_gid, st.st_mode,
 					     st.st_nlink, qspace, 1);
-			debug(FL_DEBUG, _("\tAdding %s size %Ld ino %d links %d uid %u gid %u\n"), de->d_name,
+			debug(FL_DEBUG, _("\tAdding %s size %lld ino %d links %d uid %u gid %u\n"), de->d_name,
 			      (long long)st.st_size, (int)st.st_ino, (int)st.st_nlink, (int)st.st_uid, (int)st.st_gid);
 			files_done++;
 		}
diff -urNp quota-tools-orig/quotacheck_v2.c quota-tools/quotacheck_v2.c
--- quota-tools-orig/quotacheck_v2.c	2007-02-20 12:51:59.000000000 +0100
+++ quota-tools/quotacheck_v2.c	2008-06-19 15:43:53.000000000 +0200
@@ -158,7 +158,7 @@ static int buffer_entry(dqbuf_t buf, uin
 			if (flags & FL_GUESSDQ) {
 				if (!(flags & (FL_DEBUG | FL_VERBOSE)))
 					fputc('\n', stderr);
-				errstr(_("Found more structures for ID %u. Using values: BHARD: %Ld BSOFT: %Ld IHARD: %Ld ISOFT: %Ld\n"),
+				errstr(_("Found more structures for ID %u. Using values: BHARD: %lld BSOFT: %lld IHARD: %lld ISOFT: %lld\n"),
 					(uint) id, (long long)fdq->dqb_bhardlimit, (long long)fdq->dqb_bsoftlimit,
 					(long long)fdq->dqb_ihardlimit, (long long)fdq->dqb_isoftlimit);
 				return 0;
@@ -166,7 +166,7 @@ static int buffer_entry(dqbuf_t buf, uin
 			else if (flags & FL_INTERACTIVE) {
 				if (!(flags & (FL_DEBUG | FL_VERBOSE)))
 					fputc('\n', stderr);
-				errstr(_("Found more structures for ID %u. Values: BHARD: %Ld/%Ld BSOFT: %Ld/%Ld IHARD: %Ld/%Ld ISOFT: %Ld/%Ld\n"),
+				errstr(_("Found more structures for ID %u. Values: BHARD: %lld/%lld BSOFT: %lld/%lld IHARD: %lld/%lld ISOFT: %lld/%lld\n"),
 					(uint) id, (long long)fdq->dqb_bhardlimit, (long long)mdq.dqb_bhardlimit,
 					(long long)fdq->dqb_bsoftlimit, (long long)mdq.dqb_bsoftlimit,
 					(long long)fdq->dqb_ihardlimit, (long long)mdq.dqb_ihardlimit,
diff -urNp quota-tools-orig/quotaio_xfs.c quota-tools/quotaio_xfs.c
--- quota-tools-orig/quotaio_xfs.c	2001-09-27 23:34:58.000000000 +0200
+++ quota-tools/quotaio_xfs.c	2008-06-19 15:49:35.000000000 +0200
@@ -274,7 +274,7 @@ static int xfs_report(struct quota_handl
 		if (info->qs_uquota.qfs_ino == -1 || info->qs_uquota.qfs_ino == 0)
 			printf(_("Inode: none\n"));
 		else
-			printf(_("Inode: #%Lu (%Lu blocks, %u extents)\n"),
+			printf(_("Inode: #%llu (%llu blocks, %u extents)\n"),
 			       (unsigned long long)info->qs_uquota.qfs_ino,
 			       (unsigned long long)info->qs_uquota.qfs_nblks,
 			       info->qs_uquota.qfs_nextents);
@@ -283,7 +283,7 @@ static int xfs_report(struct quota_handl
 		if (info->qs_gquota.qfs_ino == -1)
 			printf(_("Inode: none\n"));
 		else
-			printf(_("Inode: #%Lu (%Lu blocks, %u extents)\n"),
+			printf(_("Inode: #%llu (%llu blocks, %u extents)\n"),
 			       (unsigned long long)info->qs_gquota.qfs_ino,
 			       (unsigned long long)info->qs_gquota.qfs_nblks,
 			       info->qs_gquota.qfs_nextents);
diff -urNp quota-tools-orig/quota_nld.c quota-tools/quota_nld.c
--- quota-tools-orig/quota_nld.c	2008-01-17 20:06:22.000000000 +0100
+++ quota-tools/quota_nld.c	2008-06-19 15:51:05.000000000 +0200
@@ -22,6 +22,7 @@
 #include <errno.h>
 #include <string.h>
 #include <fcntl.h>
+#include <limits.h>
 
 #include <netlink/genl/genl.h>
 #include <netlink/genl/ctrl.h>
@@ -250,12 +251,12 @@ static void write_console_warning(struct
 		}
 	}
 	if (!max_atime) {
-		errstr(_("Failed to find tty of user %Lu to report warning to.\n"), (unsigned long long)warn->caused_id);
+		errstr(_("Failed to find tty of user %llu to report warning to.\n"), (unsigned long long)warn->caused_id);
 		return;
 	}
 	fd = open(max_dev, O_WRONLY);
 	if (fd < 0) {
-		errstr(_("Failed to open tty %s of user %Lu to report warning.\n"), dev, (unsigned long long)warn->caused_id);
+		errstr(_("Failed to open tty %s of user %llu to report warning.\n"), dev, (unsigned long long)warn->caused_id);
 		return;
 	}
 	id2name(warn->excess_id, warn->qtype, user);
@@ -287,7 +288,7 @@ static void write_console_warning(struct
 	}
 	sprintf(warnbuf, "%s: %s %s %s.\r\n", level, type2name(warn->qtype), user, msg);
 	if (write_all(fd, warnbuf, strlen(warnbuf)) < 0)
-		errstr(_("Failed to write quota message for user %Lu to %s: %s\n"), (unsigned long long)warn->caused_id, dev, strerror(errno));
+		errstr(_("Failed to write quota message for user %llu to %s: %s\n"), (unsigned long long)warn->caused_id, dev, strerror(errno));
 	close(fd);
 }
 
diff -urNp quota-tools-orig/quotaops.c quota-tools/quotaops.c
--- quota-tools-orig/quotaops.c	2006-07-21 17:14:01.000000000 +0200
+++ quota-tools/quotaops.c	2008-06-19 15:46:21.000000000 +0200
@@ -266,7 +266,7 @@ int writeprivs(struct dquot *qlist, int 
 		_("  Filesystem                   blocks       soft       hard     inodes     soft     hard\n"));
 
 	for (q = qlist; q; q = q->dq_next) {
-		fprintf(fd, "  %-24s %10Lu %10Lu %10Lu %10Lu %8Lu %8Lu\n",
+		fprintf(fd, "  %-24s %10llu %10llu %10llu %10llu %8llu %8llu\n",
 			q->dq_h->qh_quotadev,
 			(long long)toqb(q->dq_dqb.dqb_curspace),
 			(long long)q->dq_dqb.dqb_bsoftlimit,
@@ -344,7 +344,7 @@ int readprivs(struct dquot *qlist, int i
 	fgets(line, sizeof(line), fd);
 
 	while (fgets(line, sizeof(line), fd)) {
-		cnt = sscanf(line, "%s %Lu %Lu %Lu %Lu %Lu %Lu",
+		cnt = sscanf(line, "%s %llu %llu %llu %llu %llu %llu",
 			     fsp, &blocks, &bsoft, &bhard, &inodes, &isoft, &ihard);
 
 		if (cnt != 7) {
@@ -370,7 +370,7 @@ int readprivs(struct dquot *qlist, int i
 			return -1;
 		}
 
-		cnt = sscanf(cp, _(" blocks in use: %Lu, limits (soft = %Lu, hard = %Lu)"),
+		cnt = sscanf(cp, _(" blocks in use: %llu, limits (soft = %llu, hard = %llu)"),
 			     &blocks, &bsoft, &bhard);
 		if (cnt != 3) {
 			errstr(_("%s - %s -- bad format\n"),
@@ -384,7 +384,7 @@ int readprivs(struct dquot *qlist, int i
 			return -1;
 		}
 
-		cnt = sscanf(cp, _("\tinodes in use: %Lu, limits (soft = %Lu, hard = %Lu)"),
+		cnt = sscanf(cp, _("\tinodes in use: %llu, limits (soft = %llu, hard = %llu)"),
 			     &inodes, &isoft, &ihard);
 		if (cnt != 3) {
 			errstr(_("%s - %s -- bad format\n"),
diff -urNp quota-tools-orig/quotasys.c quota-tools/quotasys.c
--- quota-tools-orig/quotasys.c	2007-08-22 13:27:56.000000000 +0200
+++ quota-tools/quotasys.c	2008-06-19 15:48:45.000000000 +0200
@@ -369,10 +369,10 @@ void space2str(qsize_t space, char *buf,
 	if (format)
 		for (i = 3; i > 0; i--)
 			if (space >= (1LL << (QUOTABLOCK_BITS*i))*100) {
-				sprintf(buf, "%Lu%c", (unsigned long long)(space+(1 << (QUOTABLOCK_BITS*i))-1) >> (QUOTABLOCK_BITS*i), suffix[i]);
+				sprintf(buf, "%llu%c", (unsigned long long)(space+(1 << (QUOTABLOCK_BITS*i))-1) >> (QUOTABLOCK_BITS*i), suffix[i]);
 				return;
 			}
-	sprintf(buf, "%Lu", (unsigned long long)space);
+	sprintf(buf, "%llu", (unsigned long long)space);
 }
 
 /*
@@ -387,10 +387,10 @@ void number2str(unsigned long long num, 
 	if (format)
 		for (i = 4, div = 1000000000000LL; i > 0; i--, div /= 1000)
 			if (num >= 100*div) {
-				sprintf(buf, "%Lu%c", (num+div-1) / div, suffix[i]);
+				sprintf(buf, "%llu%c", (num+div-1) / div, suffix[i]);
 				return;
 			}
-	sprintf(buf, "%Lu", num);
+	sprintf(buf, "%llu", num);
 }
 
 /*
diff -urNp quota-tools-orig/repquota.c quota-tools/repquota.c
--- quota-tools-orig/repquota.c	2007-02-20 12:54:25.000000000 +0100
+++ quota-tools/repquota.c	2008-06-19 16:03:24.000000000 +0200
@@ -158,7 +158,7 @@ static void parse_options(int argcnt, ch
 }
 
 /* Are we over soft or hard limit? */
-static char overlim(uint usage, uint softlim, uint hardlim)
+static char overlim(qsize_t usage, qsize_t softlim, qsize_t hardlim)
 {
 	if ((usage > softlim && softlim) || (usage > hardlim && hardlim))
 		return '+';
@@ -181,7 +181,7 @@ static void print(struct dquot *dquot, c
 		pname[PRINTNAMELEN] = 0;
 	if (entry->dqb_bsoftlimit && toqb(entry->dqb_curspace) >= entry->dqb_bsoftlimit)
 		if (flags & FL_RAWGRACE)
-			sprintf(time, "%Lu", (unsigned long long)entry->dqb_btime);
+			sprintf(time, "%llu", (unsigned long long)entry->dqb_btime);
 		else
 			difftime2str(entry->dqb_btime, time);
 	else
@@ -198,7 +198,7 @@ static void print(struct dquot *dquot, c
 	       numbuf[0], numbuf[1], numbuf[2], time);
 	if (entry->dqb_isoftlimit && entry->dqb_curinodes >= entry->dqb_isoftlimit)
 		if (flags & FL_RAWGRACE)
-			sprintf(time, "%Lu", (unsigned long long)entry->dqb_itime);
+			sprintf(time, "%llu", (unsigned long long)entry->dqb_itime);
 		else
 			difftime2str(entry->dqb_itime, time);
 	else
diff -urNp quota-tools-orig/setquota.c quota-tools/setquota.c
--- quota-tools-orig/setquota.c	2007-11-13 11:44:43.000000000 +0100
+++ quota-tools/setquota.c	2008-06-19 15:38:36.000000000 +0200
@@ -184,7 +184,7 @@ static void parse_options(int argcnt, ch
 		usage();
 	}
 	if (flags & FL_PROTO && flags & FL_GRACE) {
-		errstr(_("Prototype user has no sense when editting grace times.\n"));
+		errstr(_("Prototype user has no sense when editing grace times.\n"));
 		usage();
 	}
 	if (flags & FL_INDIVIDUAL_GRACE && flags & FL_GRACE) {