118
118
code = ktc_SetToken(server, token, client, 0);
120
com_err(whoami, code, "using SetToken to set vice id");
120
afs_com_err(whoami, code, "using SetToken to set vice id");
123
123
sprintf(name_buf, "Unix UID %d", getuid());
128
128
fprintf(stderr, "GetToken returned bad client: '");
129
129
PrintPrincipal(stderr, &nclient);
130
130
fprintf(stderr, "'\n");
131
com_err(whoami, code, "should have gotten '%s'", name_buf);
131
afs_com_err(whoami, code, "should have gotten '%s'", name_buf);
135
135
(unsigned long)ntoken.endTime - (unsigned long)ntoken.startTime;
136
136
if ((lifetime & 1) == 1) {
137
com_err(whoami, code, "GetToken returned even lifetime (%d)",
137
afs_com_err(whoami, code, "GetToken returned even lifetime (%d)",
157
157
viceId = atoi((client->name) + 7);
158
158
code = ktc_SetToken(server, token, client, 0);
160
com_err(whoami, code, "using SetToken to set vice id to %d", viceId);
160
afs_com_err(whoami, code, "using SetToken to set vice id to %d", viceId);
163
163
code = ktc_GetToken(server, &ntoken, sizeof(ntoken), &nclient);
169
169
fprintf(stderr, "' should have gotten '");
170
170
PrintPrincipal(stderr, client);
171
171
fprintf(stderr, "'\n");
172
com_err(whoami, code, "didn't preserve AFS ID");
172
afs_com_err(whoami, code, "didn't preserve AFS ID");
176
176
(unsigned long)ntoken.endTime - (unsigned long)ntoken.startTime;
177
177
if ((lifetime & 1) == 0) {
178
com_err(whoami, code, "GetToken returned even lifetime (%d)",
178
afs_com_err(whoami, code, "GetToken returned even lifetime (%d)",
265
265
buffer.out_size = 0;
266
266
code = pioctl(0, _VICEIOCTL(3), &buffer, 1);
268
com_err(whoami, errno, "setting old-style token");
268
afs_com_err(whoami, errno, "setting old-style token");
322
322
if (errno == EDOM)
323
323
break; /* done with the list */
325
com_err(whoami, code, "getting cell list");
325
afs_com_err(whoami, code, "getting cell list");
494
494
blob.out = space;
495
495
code = pioctl(pathname, VIOCGETAL, &blob, 1);
497
com_err(whoami, errno, "getting acl for %s", pathname);
497
afs_com_err(whoami, errno, "getting acl for %s", pathname);
538
538
blob.in_size = 1 + strlen(blob.in);
539
539
code = pioctl(pathname, VIOCSETAL, &blob, 1);
541
com_err(whoami, errno, "setting acl on %s to %s", pathname, blob.in);
541
afs_com_err(whoami, errno, "setting acl on %s to %s", pathname, blob.in);
544
544
if (verbose > 1) {
566
566
token.endTime = 0;
567
567
code = ktc_SetToken(&server, &token, &client, 0);
569
com_err(whoami, code, "freeing cell");
569
afs_com_err(whoami, code, "freeing cell");
596
596
strcpy(server.cell, cell);
597
597
code = ktc_GetToken(&server, &token, sizeof(token), &client);
599
com_err(whoami, code, "so couldn't get %s's afs token in %s", name,
599
afs_com_err(whoami, code, "so couldn't get %s's afs token in %s", name,
648
648
strcpy(server.cell, ka_LocalCell());
649
649
code = ktc_GetToken(&server, &token, sizeof(token), &client);
651
com_err(whoami, code, "so couldn't get afs token");
651
afs_com_err(whoami, code, "so couldn't get afs token");
655
655
code = mkdir(tdpath, 0777);
656
656
if (code && (errno != EEXIST)) {
657
com_err(whoami, errno, "making test dir %s", tdpath);
657
afs_com_err(whoami, errno, "making test dir %s", tdpath);
660
660
fd = open(tfpath, O_WRONLY + O_CREAT + O_TRUNC, 0777);
662
com_err(whoami, errno, "making test file %s", tfpath);
662
afs_com_err(whoami, errno, "making test file %s", tfpath);
665
665
code = close(fd);
667
com_err(whoami, errno, "failed to close %s after create", tfpath);
667
afs_com_err(whoami, errno, "failed to close %s after create", tfpath);
679
679
code = ktc_GetToken(&server, &ntoken, sizeof(ntoken), &nclient);
681
com_err(whoami, code, "getting new local afs token");
681
afs_com_err(whoami, code, "getting new local afs token");
706
706
code = open(tfpath, O_RDONLY, 0); /* check for read access */
707
707
if (!((code == -1) && ((errno == ENOENT) || (errno == EACCES)))) {
708
com_err(whoami, errno, "didn't fail to open %s for read", tfpath);
708
afs_com_err(whoami, errno, "didn't fail to open %s for read", tfpath);
712
712
/* as tester we should have read but not write */
713
713
code = ktc_SetToken(&server, &ntoken, &nclient, 0);
715
com_err(whoami, code, "restoring new local afs token");
715
afs_com_err(whoami, code, "restoring new local afs token");
718
718
code = open(tfpath, O_RDWR + O_TRUNC, 0);
719
719
if ((code != -1) || (errno != EACCES)) {
720
com_err(whoami, errno, "didn't fail to open %s for write", tfpath);
720
afs_com_err(whoami, errno, "didn't fail to open %s for write", tfpath);
723
723
fd = open(tfpath, O_RDONLY, 0);
725
com_err(whoami, errno, "failed to open %s for read", tfpath);
725
afs_com_err(whoami, errno, "failed to open %s for read", tfpath);
728
728
code = close(fd);
730
com_err(whoami, errno, "failed to close %s after open", tfpath);
730
afs_com_err(whoami, errno, "failed to close %s after open", tfpath);
735
735
/* go back to original privileges */
736
736
code = ktc_SetToken(&server, &token, &client, 0);
738
com_err(whoami, code, "so couldn't set afs token in new pag");
738
afs_com_err(whoami, code, "so couldn't set afs token in new pag");
741
741
if (unlink(tfpath) || rmdir(tdpath)) {
742
com_err(whoami, errno, "removing test dir %s", tdpath);
742
afs_com_err(whoami, errno, "removing test dir %s", tdpath);
768
/* Initialize com_err error code hacking */
768
/* Initialize afs_com_err error code hacking */
769
769
initialize_U_error_table();
770
770
initialize_KA_error_table();
771
771
initialize_RXK_error_table();
824
824
/* expand requested cell name */
825
825
code = ka_CellConfig(AFSCONF_CLIENTNAME);
827
com_err(whoami, code, "calling cell config");
827
afs_com_err(whoami, code, "calling cell config");
828
828
code = ka_ExpandCell(cell, cell, 0);
830
com_err(whoami, code, "expanding cell %s", cell);
830
afs_com_err(whoami, code, "expanding cell %s", cell);
837
837
if (printToken) {
838
838
code = ktc_GetToken(&server, &token, sizeof(token), &client);
840
com_err(whoami, code, "so couldn't get afs token");
840
afs_com_err(whoami, code, "so couldn't get afs token");
843
843
PrintAuthentication(stdout, &server, &token, &client);
867
867
memcpy(&ntoken, &token, sizeof(ntoken));
868
868
code = ktc_SetToken(&server, &ntoken, &client, 0);
869
869
if (code != KTC_NOCELL) {
870
com_err(whoami, code,
870
afs_com_err(whoami, code,
871
871
"should have gotten bad pioctl error calling SetToken with bogus cell name");
876
876
ntoken.ticketLen = 0;
877
877
code = ktc_SetToken(&server, &ntoken, &client, 0);
878
878
if ((code != KTC_TOOBIG) && (code != KTC_PIOCTLFAIL)) {
879
com_err(whoami, code,
879
afs_com_err(whoami, code,
880
880
"should have gotten error calling SetToken with zero ticket length");
884
884
ntoken.endTime = 0;
885
885
code = ktc_SetToken(&server, &ntoken, &client, 0);
887
com_err(whoami, code, "calling SetToken with zero expiration time");
887
afs_com_err(whoami, code, "calling SetToken with zero expiration time");
890
890
strcpy(nclient.name, "foo");
892
892
strcpy(nclient.cell, "foo.bar.baz");
893
893
code = ktc_SetToken(&server, &ntoken, &nclient, 0);
895
com_err(whoami, code, "calling SetToken with bogus client cell");
895
afs_com_err(whoami, code, "calling SetToken with bogus client cell");
898
898
memcpy(&ntoken, &token, sizeof(ntoken));