Check-in [373c05b772]

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Patches to prevent a couple of silly crashes
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 373c05b772c320287c2ef8ed6d5be274891384f0
User & Date: simon 2001-02-27 03:11:42.000
Context
2001-02-27
11:02
Timestamp every line of the Event Log. The primary reason for this (generating detail in bug reports when SSH2 repeat key exchange failed) is no longer an issue, but it might be useful for other things. It's a _log_ dammit, and logs should be timestamped. check-in: 28b331bc7c user: simon tags: trunk
03:11
Patches to prevent a couple of silly crashes check-in: 373c05b772 user: simon tags: trunk
2001-02-26
10:39
Moderately evil workaround to compensate for a variation in behaviour of FXP_REALPATH. (Specifically, BSD and GNU realpath(3) disagree over whether to return success when computing the realpath for a putative new file to be created in a valid directory. There's no way we can tell from (say) the OpenSSH version string because OpenSSH might have been compiled to use the local realpath _or_ its own nonbroken one.) check-in: 0ec311cd06 user: simon tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to psftp.c.
586
587
588
589
590
591
592

593
594
595
596
597
598
599
    /*
     * Do protocol initialisation. 
     */
    if (!fxp_init()) {
	fprintf(stderr,
		"Fatal: unable to initialise SFTP: %s\n",
		fxp_error());

    }

    /*
     * Find out where our home directory is.
     */
    homedir = fxp_realpath(".");
    if (!homedir) {







>







586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
    /*
     * Do protocol initialisation. 
     */
    if (!fxp_init()) {
	fprintf(stderr,
		"Fatal: unable to initialise SFTP: %s\n",
		fxp_error());
	return;
    }

    /*
     * Find out where our home directory is.
     */
    homedir = fxp_realpath(".");
    if (!homedir) {
Changes to sftp.c.
282
283
284
285
286
287
288




289
290
291
292
293
294
295
    int remotever;

    pktout = sftp_pkt_init(SSH_FXP_INIT);
    sftp_pkt_adduint32(pktout, SFTP_PROTO_VERSION);
    sftp_send(pktout);

    pktin = sftp_recv();




    if (pktin->type != SSH_FXP_VERSION) {
	fxp_internal_error("did not receive FXP_VERSION");
	return 0;
    }
    remotever = sftp_pkt_getuint32(pktin);
    if (remotever > SFTP_PROTO_VERSION) {
	fxp_internal_error("remote protocol is more advanced than we support");







>
>
>
>







282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
    int remotever;

    pktout = sftp_pkt_init(SSH_FXP_INIT);
    sftp_pkt_adduint32(pktout, SFTP_PROTO_VERSION);
    sftp_send(pktout);

    pktin = sftp_recv();
    if (!pktin) {
	fxp_internal_error("could not connect");
	return 0;
    }
    if (pktin->type != SSH_FXP_VERSION) {
	fxp_internal_error("did not receive FXP_VERSION");
	return 0;
    }
    remotever = sftp_pkt_getuint32(pktin);
    if (remotever > SFTP_PROTO_VERSION) {
	fxp_internal_error("remote protocol is more advanced than we support");