View | Details | Raw Unified | Return to bug 25885
Collapse All | Expand All

(-)src/libexec/telnetd/state.c (-5 / +12 lines)
Lines 564-571 Link Here
564
564
565
#ifdef	AUTHENTICATION
565
#ifdef	AUTHENTICATION
566
		case TELOPT_AUTHENTICATION:
566
		case TELOPT_AUTHENTICATION:
567
			func = auth_request;
567
			if (auth_level >= 0) {
568
			changeok++;
568
				func = auth_request;
569
				changeok++;
570
			}
569
			break;
571
			break;
570
#endif
572
#endif
571
573
Lines 624-630 Link Here
624
626
625
#ifdef	AUTHENTICATION
627
#ifdef	AUTHENTICATION
626
		case TELOPT_AUTHENTICATION:
628
		case TELOPT_AUTHENTICATION:
627
			func = auth_request;
629
			if (auth_level >= 0)
630
				func = auth_request;
628
			break;
631
			break;
629
#endif
632
#endif
630
633
Lines 724-730 Link Here
724
727
725
#if	defined(AUTHENTICATION)
728
#if	defined(AUTHENTICATION)
726
		case TELOPT_AUTHENTICATION:
729
		case TELOPT_AUTHENTICATION:
727
			auth_finished(0, AUTH_REJECT);
730
			if (auth_level >= 0)
731
				auth_finished(0, AUTH_REJECT);
728
			break;
732
			break;
729
#endif
733
#endif
730
734
Lines 777-783 Link Here
777
781
778
#if	defined(AUTHENTICATION)
782
#if	defined(AUTHENTICATION)
779
		case TELOPT_AUTHENTICATION:
783
		case TELOPT_AUTHENTICATION:
780
			auth_finished(0, AUTH_REJECT);
784
			if (auth_level >= 0)
785
				auth_finished(0, AUTH_REJECT);
781
			break;
786
			break;
782
#endif
787
#endif
783
		default:
788
		default:
Lines 1418-1423 Link Here
1418
    }  /* end of case TELOPT_NEW_ENVIRON */
1423
    }  /* end of case TELOPT_NEW_ENVIRON */
1419
#if	defined(AUTHENTICATION)
1424
#if	defined(AUTHENTICATION)
1420
    case TELOPT_AUTHENTICATION:
1425
    case TELOPT_AUTHENTICATION:
1426
	if (auth_level < 0)
1427
		break;
1421
	if (SB_EOF())
1428
	if (SB_EOF())
1422
		break;
1429
		break;
1423
	switch(SB_GET()) {
1430
	switch(SB_GET()) {
(-)src/libexec/telnetd/telnetd.c (-8 / +10 lines)
Lines 616-629 Link Here
616
616
617
    settimer(baseline);
617
    settimer(baseline);
618
#if	defined(AUTHENTICATION)
618
#if	defined(AUTHENTICATION)
619
    /*
619
    if (auth_level >= 0) 
620
     * Handle the Authentication option before we do anything else.
620
	/*
621
     */
621
	 * Handle the Authentication option before we do anything else.
622
    send_do(TELOPT_AUTHENTICATION, 1);
622
	 */
623
    while (his_will_wont_is_changing(TELOPT_AUTHENTICATION))
623
	send_do(TELOPT_AUTHENTICATION, 1);
624
	ttloop();
624
	while (his_will_wont_is_changing(TELOPT_AUTHENTICATION))
625
    if (his_state_is_will(TELOPT_AUTHENTICATION)) {
625
	    ttloop();
626
	retval = auth_wait(name);
626
	if (his_state_is_will(TELOPT_AUTHENTICATION)) {
627
	    retval = auth_wait(name);
628
	}
627
    }
629
    }
628
#endif
630
#endif
629
631
(-)src/libexec/telnetd/utility.c (+2 lines)
Lines 971-976 Link Here
971
971
972
#if	defined(AUTHENTICATION)
972
#if	defined(AUTHENTICATION)
973
	case TELOPT_AUTHENTICATION:
973
	case TELOPT_AUTHENTICATION:
974
	    if (auth_level < 0)
975
		break;
974
	    sprintf(nfrontp, "AUTHENTICATION");
976
	    sprintf(nfrontp, "AUTHENTICATION");
975
	    nfrontp += strlen(nfrontp);
977
	    nfrontp += strlen(nfrontp);
976
978
(-)src/crypto/telnet/telnetd/state.c (-5 / +13 lines)
Lines 582-589 Link Here
582
582
583
#ifdef	AUTHENTICATION
583
#ifdef	AUTHENTICATION
584
		case TELOPT_AUTHENTICATION:
584
		case TELOPT_AUTHENTICATION:
585
			func = auth_request;
585
			if (auth_level >= 0) {
586
			changeok++;
586
				func = auth_request;
587
				changeok++;
588
			}
587
			break;
589
			break;
588
#endif
590
#endif
589
591
Lines 648-654 Link Here
648
650
649
#ifdef	AUTHENTICATION
651
#ifdef	AUTHENTICATION
650
		case TELOPT_AUTHENTICATION:
652
		case TELOPT_AUTHENTICATION:
651
			func = auth_request;
653
			if (auth_level >= 0)
654
				func = auth_request;
652
			break;
655
			break;
653
#endif
656
#endif
654
657
Lines 752-758 Link Here
752
755
753
#if	defined(AUTHENTICATION)
756
#if	defined(AUTHENTICATION)
754
		case TELOPT_AUTHENTICATION:
757
		case TELOPT_AUTHENTICATION:
755
			auth_finished(0, AUTH_REJECT);
758
			if (auth_level >= 0)
759
				auth_finished(0, AUTH_REJECT);
756
			break;
760
			break;
757
#endif
761
#endif
758
762
Lines 805-811 Link Here
805
809
806
#if	defined(AUTHENTICATION)
810
#if	defined(AUTHENTICATION)
807
		case TELOPT_AUTHENTICATION:
811
		case TELOPT_AUTHENTICATION:
808
			auth_finished(0, AUTH_REJECT);
812
			if (auth_level >= 0) {
813
				auth_finished(0, AUTH_REJECT);
814
			}
809
			break;
815
			break;
810
#endif
816
#endif
811
		default:
817
		default:
Lines 1451-1456 Link Here
1451
    }  /* end of case TELOPT_NEW_ENVIRON */
1457
    }  /* end of case TELOPT_NEW_ENVIRON */
1452
#if	defined(AUTHENTICATION)
1458
#if	defined(AUTHENTICATION)
1453
    case TELOPT_AUTHENTICATION:
1459
    case TELOPT_AUTHENTICATION:
1460
	if (auth_level < 0)
1461
		break;
1454
	if (SB_EOF())
1462
	if (SB_EOF())
1455
		break;
1463
		break;
1456
	switch(SB_GET()) {
1464
	switch(SB_GET()) {
(-)src/crypto/telnet/telnetd/telnetd.c (-8 / +10 lines)
Lines 640-653 Link Here
640
640
641
    settimer(baseline);
641
    settimer(baseline);
642
#if	defined(AUTHENTICATION)
642
#if	defined(AUTHENTICATION)
643
    /*
643
	if (auth_level >= 0)
644
     * Handle the Authentication option before we do anything else.
644
	/*
645
     */
645
	 * Handle the Authentication option before we do anything else.
646
    send_do(TELOPT_AUTHENTICATION, 1);
646
	 */
647
    while (his_will_wont_is_changing(TELOPT_AUTHENTICATION))
647
	send_do(TELOPT_AUTHENTICATION, 1);
648
	ttloop();
648
	while (his_will_wont_is_changing(TELOPT_AUTHENTICATION))
649
    if (his_state_is_will(TELOPT_AUTHENTICATION)) {
649
	    ttloop();
650
	retval = auth_wait(name);
650
	if (his_state_is_will(TELOPT_AUTHENTICATION)) {
651
	    retval = auth_wait(name);
652
	}
651
    }
653
    }
652
#endif
654
#endif
653
655
(-)src/crypto/telnet/telnetd/utility.c (+2 lines)
Lines 1012-1017 Link Here
1012
1012
1013
#if	defined(AUTHENTICATION)
1013
#if	defined(AUTHENTICATION)
1014
	case TELOPT_AUTHENTICATION:
1014
	case TELOPT_AUTHENTICATION:
1015
	    if (auth_level < 0)
1016
		break;
1015
	    sprintf(nfrontp, "AUTHENTICATION");
1017
	    sprintf(nfrontp, "AUTHENTICATION");
1016
	    nfrontp += strlen(nfrontp);
1018
	    nfrontp += strlen(nfrontp);

Return to bug 25885