Mercurial > dropbear
comparison dbutil.c @ 773:a9f2a6ae4eb5
merge
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Sun, 14 Apr 2013 22:49:19 +0800 |
parents | d63ef1e211ea |
children | 7dcb46da72d9 a625f9e135a4 |
comparison
equal
deleted
inserted
replaced
772:7fc0aeada79c | 773:a9f2a6ae4eb5 |
---|---|
136 } | 136 } |
137 | 137 |
138 | 138 |
139 #ifdef DEBUG_TRACE | 139 #ifdef DEBUG_TRACE |
140 void dropbear_trace(const char* format, ...) { | 140 void dropbear_trace(const char* format, ...) { |
141 | |
142 va_list param; | 141 va_list param; |
142 struct timeval tv; | |
143 | 143 |
144 if (!debug_trace) { | 144 if (!debug_trace) { |
145 return; | 145 return; |
146 } | 146 } |
147 | 147 |
148 gettimeofday(&tv, NULL); | |
149 | |
148 va_start(param, format); | 150 va_start(param, format); |
149 fprintf(stderr, "TRACE (%d): ", getpid()); | 151 fprintf(stderr, "TRACE (%d) %d.%d: ", getpid(), tv.tv_sec, tv.tv_usec); |
152 vfprintf(stderr, format, param); | |
153 fprintf(stderr, "\n"); | |
154 va_end(param); | |
155 } | |
156 | |
157 void dropbear_trace2(const char* format, ...) { | |
158 static int trace_env = -1; | |
159 va_list param; | |
160 struct timeval tv; | |
161 | |
162 if (trace_env == -1) { | |
163 trace_env = getenv("DROPBEAR_TRACE2") ? 1 : 0; | |
164 } | |
165 | |
166 if (!(debug_trace && trace_env)) { | |
167 return; | |
168 } | |
169 | |
170 gettimeofday(&tv, NULL); | |
171 | |
172 va_start(param, format); | |
173 fprintf(stderr, "TRACE2 (%d) %d.%d: ", getpid(), tv.tv_sec, tv.tv_usec); | |
150 vfprintf(stderr, format, param); | 174 vfprintf(stderr, format, param); |
151 fprintf(stderr, "\n"); | 175 fprintf(stderr, "\n"); |
152 va_end(param); | 176 va_end(param); |
153 } | 177 } |
154 #endif /* DEBUG_TRACE */ | 178 #endif /* DEBUG_TRACE */ |
723 #if defined(DROPBEAR_CLIENT) || defined(ENABLE_SVR_PUBKEY_AUTH) | 747 #if defined(DROPBEAR_CLIENT) || defined(ENABLE_SVR_PUBKEY_AUTH) |
724 int buf_getline(buffer * line, FILE * authfile) { | 748 int buf_getline(buffer * line, FILE * authfile) { |
725 | 749 |
726 int c = EOF; | 750 int c = EOF; |
727 | 751 |
728 TRACE(("enter buf_getline")) | |
729 | |
730 buf_setpos(line, 0); | 752 buf_setpos(line, 0); |
731 buf_setlen(line, 0); | 753 buf_setlen(line, 0); |
732 | 754 |
733 while (line->pos < line->size) { | 755 while (line->pos < line->size) { |
734 | 756 |
748 out: | 770 out: |
749 | 771 |
750 | 772 |
751 /* if we didn't read anything before EOF or error, exit */ | 773 /* if we didn't read anything before EOF or error, exit */ |
752 if (c == EOF && line->pos == 0) { | 774 if (c == EOF && line->pos == 0) { |
753 TRACE(("leave buf_getline: failure")) | |
754 return DROPBEAR_FAILURE; | 775 return DROPBEAR_FAILURE; |
755 } else { | 776 } else { |
756 TRACE(("leave buf_getline: success")) | |
757 buf_setpos(line, 0); | 777 buf_setpos(line, 0); |
758 return DROPBEAR_SUCCESS; | 778 return DROPBEAR_SUCCESS; |
759 } | 779 } |
760 | 780 |
761 } | 781 } |