X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=rfc1006%2Frfct.c;h=3b2537ea4db4c3a26a7d24395436f279c67619a2;hb=1479cd42ce8537af61e2883d9567b0e13bd37197;hp=b857cd2fb29059c7a031048c38c5e77fb60913ed;hpb=031f86a3dea0a26278eb9efcce46c1b4d3835a79;p=yaz-moved-to-github.git diff --git a/rfc1006/rfct.c b/rfc1006/rfct.c index b857cd2..3b2537e 100644 --- a/rfc1006/rfct.c +++ b/rfc1006/rfct.c @@ -4,7 +4,16 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: rfct.c,v $ - * Revision 1.1 1995-03-30 14:03:17 quinn + * Revision 1.4 1995-05-18 13:02:07 quinn + * Smallish. + * + * Revision 1.3 1995/05/16 09:37:18 quinn + * Fixed bug + * + * Revision 1.2 1995/05/02 08:53:09 quinn + * Trying in vain to fix comm with ISODE + * + * Revision 1.1 1995/03/30 14:03:17 quinn * Added RFC1006 as separate library * * Revision 1.15 1995/03/30 10:54:43 quinn @@ -245,16 +254,16 @@ int t_open(char *name, int oflag, struct t_info *info) /* * RFC1006 sets a higher than standard default max TPDU size, but the * Isode seems to like to negotiate it down. We'll keep it here to be - * safe. Not that there's no harm in jumping it up. If it's higher + * safe. Note that there's no harm in jumping it up. If it's higher * than 2048, t_connect won't try to negotiate. */ - cnt->tsize = 128; + cnt->tsize = 2048; if (info) { info->addr = TSEL_MAXLEN + sizeof(struct sockaddr_in) + 1; info->options = 1024; - info->tsdu = -1; + info->tsdu = -1; /* is this right? */ info->etsdu = 0; info->connect = -2; info->discon = -2; @@ -771,6 +780,12 @@ static int t_look_wait(int fd, int wait) return T_LISTEN; /* the only possible type of event */ if ((res = read_n(fd, (char*) &head, 6)) < 0) return -1; + if (res == 0) + { + TRC(fprintf(stderr, "Network disconnect\n")); + return cnt->event = T_DISCONNECT; + } + TRC(fprintf(stderr, "t_look got %d bytes\n", res)); if (head.version != RFC_VERSION) { TRC(fprintf(stderr, "Got bad RFC1006 version in t_look: %d.\n", @@ -1356,7 +1371,7 @@ int t_accept(int fd, int resfd, struct t_call *call) for (i = 7; i <= 11 && (1 << i) < res->tsize; i++) ; /* encode TPDU size */ parm[2] = i; /* give our TSEL. ## Must we echo theirs, if given? check spec */ - /* I think it was ok to give an empty TSEL. Does it have semantic sig? */ + /* I thought it was ok to give an empty TSEL. Does it have semantic sig? */ parm[3] = TPDU_PARM_CLDID; parm[4] = res->ltsel_len; if (res->ltsel_len)