Diff

Differences From Artifact [8ade4c2c41]:

To Artifact [46de560c6f]:


148
149
150
151
152
153
154






155
156

157
158
159
160
161
162
163
	biglen = len + pad;

	len -= 5;		       /* type and CRC */

	pktin.length = len;
	if (pktin.maxlen < biglen) {
	    pktin.maxlen = biglen;






	    pktin.data = (pktin.data == NULL ? malloc(biglen) :
			realloc(pktin.data, biglen));

	    if (!pktin.data)
		fatalbox("Out of memory");
	}

	p = pktin.data, to_read = biglen;
	while (to_read > 0) {
	    static int chunk;







>
>
>
>
>
>

|
>







148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
	biglen = len + pad;

	len -= 5;		       /* type and CRC */

	pktin.length = len;
	if (pktin.maxlen < biglen) {
	    pktin.maxlen = biglen;
#ifdef MSCRYPTOAPI
	    /* Allocate enough buffer space for extra block
	     * for MS CryptEncrypt() */
	    pktin.data = (pktin.data == NULL ? malloc(biglen+8) :
			  realloc(pktin.data, biglen+8));
#else
	    pktin.data = (pktin.data == NULL ? malloc(biglen) :
			  realloc(pktin.data, biglen));
#endif
	    if (!pktin.data)
		fatalbox("Out of memory");
	}

	p = pktin.data, to_read = biglen;
	while (to_read > 0) {
	    static int chunk;
195
196
197
198
199
200
201






202
203

204
205
206
207
208
209
210
    len += 5;			       /* type and CRC */
    pad = 8 - (len%8);
    biglen = len + pad;

    pktout.length = len-5;
    if (pktout.maxlen < biglen) {
	pktout.maxlen = biglen;






	pktout.data = (pktout.data == NULL ? malloc(biglen+4) :
		       realloc(pktout.data, biglen+4));

	if (!pktout.data)
	    fatalbox("Out of memory");
    }

    pktout.type = type;
    pktout.body = pktout.data+4+pad+1;
}







>
>
>
>
>
>


>







202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
    len += 5;			       /* type and CRC */
    pad = 8 - (len%8);
    biglen = len + pad;

    pktout.length = len-5;
    if (pktout.maxlen < biglen) {
	pktout.maxlen = biglen;
#ifdef MSCRYPTOAPI
	/* Allocate enough buffer space for extra block 
	 * for MS CryptEncrypt() */
	pktout.data = (pktout.data == NULL ? malloc(biglen+8) :
		       realloc(pktout.data, biglen+8));
#else
	pktout.data = (pktout.data == NULL ? malloc(biglen+4) :
		       realloc(pktout.data, biglen+4));
#endif
	if (!pktout.data)
	    fatalbox("Out of memory");
    }

    pktout.type = type;
    pktout.body = pktout.data+4+pad+1;
}
681
682
683
684
685
686
687





688
689
690
691
692
693
694
    SOCKADDR_IN addr;
    struct hostent *h;
    unsigned long a;
#ifdef FWHACK
    char *FWhost;
    int FWport;
#endif






    savedhost = malloc(1+strlen(host));
    if (!savedhost)
	fatalbox("Out of memory");
    strcpy(savedhost, host);

#ifdef FWHACK







>
>
>
>
>







695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
    SOCKADDR_IN addr;
    struct hostent *h;
    unsigned long a;
#ifdef FWHACK
    char *FWhost;
    int FWport;
#endif
	
#ifdef MSCRYPTOAPI
    if(crypto_startup() == 0)
	return "Microsoft high encryption pack not installed!";
#endif

    savedhost = malloc(1+strlen(host));
    if (!savedhost)
	fatalbox("Out of memory");
    strcpy(savedhost, host);

#ifdef FWHACK