SRCS= ptutils.c utils.c ubik.c
CODE= $(SRCS) migrate.qc sync.dc
-AFSDIR = /mit/afsdev/bld/dest
+AFSDIR = /mit/afsuser
AFSLIBS=$(AFSDIR)/lib/afs/libprot.a $(AFSDIR)/lib/afs/libauth.a \
$(AFSDIR)/lib/libubik.a $(AFSDIR)/lib/afs/util.a \
$(AFSDIR)/lib/librxkad.a $(AFSDIR)/lib/afs/libsys.a \
+++ /dev/null
-# $Header$
-
-DBCFLAGS=
-DBLIBS= -L/usr/ingres/lib -lingres -lm
-
-AFSDIR = /mit/afsdev/bld/dest
-CFLAGS = -I$(AFSDIR)/include -I$(AFSDIR)/include/afs -I../include \
- -I/usr/athena/include -O ${DBCFLAGS}
-LDFLAGS= -L/usr/athena/lib
-
-OBJS= ptutils.o utils.o ubik.o
-LIBS= -L../lib $(LDFLAGS) -lmoira -lcom_err -lkrb -ldes ${DBLIBS}
-
-AFSLIBS=$(AFSDIR)/lib/afs/libprot.a $(AFSDIR)/lib/afs/libauth.a \
- $(AFSDIR)/lib/libubik.a $(AFSDIR)/lib/afs/util.a \
- $(AFSDIR)/lib/librxkad.a $(AFSDIR)/lib/afs/libsys.a \
- $(AFSDIR)/lib/librx.a $(AFSDIR)/lib/liblwp.a
-
-.SUFFIXES: .dc .sc
-
-.dc.sc:
- awk -f ../util/imake.includes/ingres.awk < $< > $*.sc
-.sc.c:
- /usr/ingres/bin/esqlc -p $*
-
-all: sync ptdump pt_util
-
-sync: sync.o $(OBJS)
- $(CC) -o sync sync.o $(OBJS) $(AFSLIBS) $(LIBS)
-
-ptdump: ptdump.o
- cc -o ptdump ptdump.o $(AFSLIBS) $(LDFLAGS) -ldes
-
-pt_util: pt_util.o $(OBJS)
- cc -o pt_util pt_util.o $(OBJS) $(AFSLIBS) $(LDFLAGS) -lcom_err -ldes
-
-migrate: migrate.o
- cc -o migrate migrate.o $(LIBS)
-
-migrate.c: migrate.qc
-
-clean:
- rm -f *.o sync.c sync migrate.c migrate pt_util ptdump
if (ntohl(uh->magic) != UBIK_MAGIC)
fprintf(stderr, "ptdump: %s: Bad UBIK_MAGIC. Is %x should be %x\n",
pfile, ntohl(uh->magic), UBIK_MAGIC);
- bcopy(&uh->version, &uv, sizeof(struct ubik_version));
+ memcpy(&uv, &uh->version, sizeof(struct ubik_version));
fprintf(stderr, "Ubik Version is: %d.%d\n",
uv.epoch, uv.counter);
if (read(dbase_fd, &prh, sizeof(struct prheader)) < 0) {
char file[512];
register struct ubik_hdr *uh;
int didit;
- setlinebuf(stdout);
+ setvbuf(stdout, NULL, _IOLBF, BUFSIZ);
strcpy(file, "/usr/afs/db/prdb.DB0");
while ((cc = getopt(argc, argv, "f:gnc")) != EOF) {
switch (cc) {
if (ntohl(uh->magic) != UBIK_MAGIC)
fprintf(stderr, "ptdump: %s: Bad UBIK_MAGIC. Is %x should be %x\n",
file, ntohl(uh->magic), UBIK_MAGIC);
- bcopy(&uh->version, &uv, sizeof(struct ubik_version));
+ memcpy(&uv, &uh->version, sizeof(struct ubik_version));
fprintf(stderr, "Ubik Version is: %D.%d\n",
uv.epoch, uv.counter);
if (read(fd, &prh, sizeof(struct prheader)) < 0) {
#include <mit-copyright.h>
#include <stdio.h>
#include <sys/file.h>
-#include <strings.h>
+#include <string.h>
#include <rx/xdr.h>
#include "ptint.h"
char db[33] = "moira";
EXEC SQL END DECLARE SECTION;
+#ifndef min
#define min(x,y) ((x) < (y) ? (x) : (y))
+#endif
char *whoami = "sync";
int dbase_fd;
int status;
long t;
+ setvbuf(stdout, NULL, _IOLBF, BUFSIZ);
+
if (argc > 2 && !strcmp(argv[1], "-db")) {
strncpy(db, argv[2], sizeof(db)-1);
argc -= 2;
initialize_sms_error_table();
initialize_pt_error_table();
Initdb(); /* Initialize prdb */
- setlinebuf(stdout);
users = create_hash(10000);
groups = create_hash(15000);
strings = create_hash(1000);
#endif
- EXEC SQL WHENEVER SQLERROR CALL sqlerr;
-#ifsql INGRES
- EXEC SQL CONNECT :db;
- EXEC SQL SET LOCKMODE SESSION WHERE LEVEL=TABLE, READLOCK=SHARED;
-#endsql
-#ifsql INFORMIX
- EXEC SQL DATABASE :db;
-#endsql
+ EXEC SQL WHENEVER SQLERROR DO sqlerr();
+ EXEC SQL CONNECT :db IDENTIFIED BY :db;
do_passwd();
do_groups();
fprintf(stderr, "Done (%d users, %d groups, %d kerberos, %d members): %s",
ucount, gcount, kcount, mcount, ctime(&t));
-#ifsql INGRES
- EXEC SQL DISCONNECT;
-#endsql
-#ifsql INFORMIX
- EXEC SQL CLOSE DATABASE;
-#endsql
+ EXEC SQL COMMIT;
exit(MR_SUCCESS);
}
t = time(0);
fprintf(stderr, "Doing users: %s", ctime(&t));
- /* get locks */
- EXEC SQL SELECT modtime INTO :name FROM users WHERE users_id = 0;
-
EXEC SQL DECLARE u_cursor CURSOR FOR
- SELECT u.login, u.uid, u.users_id
+ SELECT u.login, u.unix_uid, u.users_id
FROM users u
- WHERE u.uid > 0 AND (u.status = 1 OR u.status = 2)
- ORDER BY uid;
+ WHERE u.unix_uid > 0 AND (u.status = 1 OR u.status = 2)
+ ORDER BY unix_uid;
EXEC SQL OPEN u_cursor;
while (1) {
EXEC SQL FETCH u_cursor INTO :login, :uid, :id;
t = time(0);
fprintf(stderr, "Doing groups: %s", ctime(&t));
- /* get locks */
- EXEC SQL SELECT modtime INTO :name FROM list WHERE list_id = 0;
-
EXEC SQL DECLARE l_cursor CURSOR FOR
SELECT l.name, l.gid, l.list_id, l.hidden
FROM list l
if (aid == 0) {
EXEC SQL DECLARE k_cursor2 CURSOR FOR
- SELECT uid, status
+ SELECT unix_uid, status
FROM users
WHERE login = :name
- ORDER BY uid;
+ ORDER BY unix_uid;
EXEC SQL OPEN k_cursor2;
while (1) {
if (sqlca.sqlcode) break;
sqlerr()
{
- com_err(whoami, MR_INGRES_ERR, " code %d\n", sqlca.sqlcode);
- exit(MR_INGRES_ERR);
+ char buf[256];
+ int size=256, len=0;
+
+ sqlglm(buf, &size, &len);
+ buf[len]='\0';
+ com_err(whoami, MR_DBMS_ERR, " code %d\n%s", sqlca.sqlcode, buf);
+ exit(MR_DBMS_ERR);
}
#include <lock.h>
#define UBIK_INTERNALS
+#include <stds.h>
#include <ubik.h>
#include <rx/xdr.h>
#include "print.h"
int dummy;
struct ubik_version *ver;
{
- bzero(ver, sizeof(struct ubik_version));
+ memset(ver, 0, sizeof(struct ubik_version));
return(0);
}
return(1);
}
if (status < len)
- bzero(&buf[status], len - status);
+ memset(&buf[status], 0, len - status);
return(0);
}