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 }