Changeset 1100
- Timestamp:
- 06/06/06 15:01:09 (15 years ago)
- Location:
- TI05-delivery/trunk
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
TI05-delivery/trunk/src/bbftp-client-3.2.0/bbftpc/bbftp_private_user.c
r1078 r1100 129 129 int bbftp_private_auth(char *logmessage) 130 130 { 131 char msg[NDG_MESSAGE_LEN];131 char *msg; 132 132 char default_privatestr[] = "none"; 133 133 int len; 134 134 135 /* Send version verification message. */ 135 sprintf(msg, "%.*s", NDG_MESSAGE_LEN - 1, NDG_HANDSHAKE); 136 if (bbftp_private_send(msg, NDG_MESSAGE_LEN, logmessage) == -1) { 137 return -1; 138 } 139 136 if (ndg_message_send(NDG_HANDSHAKE, strlen(NDG_HANDSHAKE) + 1, logmessage) == -1) { 137 return -1; 138 } 139 140 140 /* Receive response */ 141 if ( bbftp_private_recv(msg, NDG_MESSAGE_LEN, logmessage) == -1) {142 return -1; 143 } 144 141 if (ndg_message_recv(&msg, &len, logmessage) == -1) { 142 return -1; 143 } 144 145 145 if (debug) { 146 146 printmessage(stdout,CASE_NORMAL,0,0,"Received Auth handshake: %s\n", msg) ; 147 147 } 148 free(msg); 148 149 149 150 /* Send the privatestr */ … … 212 213 } 213 214 214 if (bbftp_private_recv( buffer, *length, logmessage) == -1) {215 if (bbftp_private_recv(*buffer, *length, logmessage) == -1) { 215 216 free(*buffer); *buffer = NULL; 216 217 return -1; -
TI05-delivery/trunk/src/bbftp-server-3.2.0/bbftpd/bbftpd.c
r1079 r1100 952 952 #ifdef NDG_AUTH 953 953 sprintf(logmessage,"%s NDG private autentication/authorisation extensions \n", logmessage); 954 #endif NDG_AUTH954 #endif // NDG_AUTH 955 955 #endif 956 956 #ifdef NDG_PYTHON_EMBED … … 961 961 sprintf(logmessage,"%s data ports range = [%d-%d] \n", logmessage,pasvport_min, pasvport_max) ; 962 962 } 963 #endif // NDG_PYTHON_EMBED 963 964 #ifdef CERTIFICATE_AUTH 964 965 if (accept_pass_only) { -
TI05-delivery/trunk/src/bbftp-server-3.2.0/bbftpd/bbftpd_private_user.c
r1078 r1100 47 47 48 48 #endif 49 50 /* prototypes */51 static int ndg_message_recv(char **buffer, int *length, char *logmessage);52 static int ndg_message_send(char *buffer, int length, char *logmessage);53 49 54 50 … … 111 107 #ifdef NDG_PYTHON_EMBED 112 108 char *username; 113 109 114 110 if (bbftpd_private_auth_callback(logmessage) == -1) { 115 111 return -1; … … 118 114 return -1; 119 115 } 120 116 121 117 sprintf(currentusername, "%.*s", MAXLEN, username); 122 118 #else 123 119 char *privatestr; 124 120 int privatestr_len; 125 126 char msg[NDG_MESSAGE_LEN]; 121 122 char *msg; 123 int len; 124 127 125 /* Receive version verification message. */ 128 if (bbftpd_private_recv(msg, NDG_MESSAGE_LEN, logmessage) == -1) { 129 return -1; 130 } 131 else { 132 syslog(LOG_DEBUG, "Received auth message: %s", msg); 133 } 126 if (ndg_message_recv(&msg, &len, logmessage) == -1) { 127 return -1; 128 } 129 syslog(LOG_DEBUG, "Received auth message: %s", msg); 130 free(msg); 134 131 135 132 /* Send response */ 136 sprintf(msg, "%.*s", NDG_MESSAGE_LEN - 1, NDG_HANDSHAKE); 137 if (bbftpd_private_send(msg, NDG_MESSAGE_LEN, logmessage) == -1) { 133 if (ndg_message_send(NDG_HANDSHAKE, strlen(NDG_HANDSHAKE) + 1, logmessage) == -1) { 138 134 return -1; 139 135 } … … 145 141 146 142 syslog(LOG_INFO, "Private string: %s", privatestr); 143 free(privatestr); 147 144 148 145 #endif … … 263 260 * @return 0 if OK, -1 if error 264 261 */ 265 staticint ndg_message_send(char *buffer, int length, char *logmessage) {262 int ndg_message_send(char *buffer, int length, char *logmessage) { 266 263 char ctrl[NDG_MESSAGE_LEN]; 267 264 … … 286 283 * @return 0 if OK, -1 if error 287 284 */ 288 staticint ndg_message_recv(char **buffer, int *length, char *logmessage) {285 int ndg_message_recv(char **buffer, int *length, char *logmessage) { 289 286 char ctrl[NDG_MESSAGE_LEN]; 290 287 -
TI05-delivery/trunk/src/bbftp-server-3.2.0/includes/daemon_proto.h
r1064 r1100 71 71 int bbftpd_private_authz_retr(char *path, char *logmessage); 72 72 int bbftpd_private_authz_store(char *path, char *logmessage); 73 int ndg_message_send(char *buffer, int buffertosendlength, char *logmessage) ; 74 int ndg_message_recv(char **buffer, int *length, char *logmessage) ; 75 73 76 #endif // NDG_AUTH 77 74 78 /* 75 79 ** Prototype for retr routines -
TI05-delivery/trunk/src/python_ext/bbftpd.c
r1075 r1100 21 21 22 22 int bbftpd_main(int argc, char **argv, char **envp); 23 int bbftpd_private_send(char *buffertosend, int buffertosendlength, char *logmessage) ;24 int bbftpd_private_recv(char *buffertorecv, int lengthtorecv, char *logmessage) ;23 int ndg_message_send(char *buffer, int buffertosendlength, char *logmessage) ; 24 int ndg_message_recv(char **buffer, int *length, char *logmessage) ; 25 25 26 26 /* … … 117 117 } 118 118 119 if ( bbftpd_private_send(buffer, len, logmessage) == -1) {119 if (ndg_message_send(buffer, len, logmessage) == -1) { 120 120 PyErr_SetString(PyExc_IOError, logmessage); 121 121 return NULL; … … 129 129 char *buffer, logmessage[1024]; 130 130 int len; 131 132 if (!PyArg_ParseTuple(args, "i", &len)) { 131 PyObject *ret; 132 133 if (!PyArg_ParseTuple(args, "")) { 133 134 return NULL; 134 135 } … … 138 139 return NULL; 139 140 } 140 if ((buffer = (char*)malloc(len*sizeof(char))) == NULL) { 141 PyErr_NoMemory(); 142 return NULL; 143 } 144 145 if (bbftpd_private_recv(buffer, len, logmessage) == -1) { 141 142 if (ndg_message_recv(&buffer, &len, logmessage) == -1) { 146 143 PyErr_SetString(PyExc_IOError, logmessage); 147 144 free(buffer); … … 149 146 } 150 147 151 return Py_BuildValue("s#", buffer, len); 152 } 148 ret = Py_BuildValue("s#", buffer, len); 149 free(buffer); 150 return ret; 151 } 152 153 153 154 154 -
TI05-delivery/trunk/test/test_embedded.py
r1077 r1100 32 32 def authorise(self): 33 33 # Read the auth version message 34 msg = bbftpd.recv( NDG_MESSAGE_LEN)34 msg = bbftpd.recv() 35 35 # Trim to first '\0' 36 36 x = msg.find('\0') … … 43 43 msg = NDG_HANDSHAKE + '\0' * (NDG_MESSAGE_LEN - len(NDG_HANDSHAKE)) 44 44 bbftpd.send(msg) 45 45 46 # Get privatestr 47 privatestr = bbftpd.recv() 48 # Trim to first '\0' 49 x = privatestr.find('\0') 50 if x: 51 privatestr = privatestr[:x] 52 syslog.syslog(syslog.LOG_DEBUG, "AuthContext received privatestr: %s" % privatestr) 53 46 54 return AuthzContext(msg, "TestCaseUser") 47 55 … … 64 72 def testStartup(self): 65 73 lines = self._readSyslog() 74 # Give syslog time to flush it's logs. 75 time.sleep(1) 66 76 self.assert_(self._findLines(['.*Starting bbftpd'], lines)) 67 77 … … 80 90 lines = self._readSyslog() 81 91 self.assert_(self._findLines(['.*Getting new bbftp connexion.*', 82 '.*AuthContext received Auth message: NDG-Delivery-client %s' % VERSION,83 92 r'.*Authz: MSG_LIST_V2 .*/test/data/\*.*', 84 93 r'.*User TestCaseUser disconnected.*'], lines)) 85 94 95 96 def testHandshake(self): 97 """Verify handshake messages are exchanged. 98 """ 99 100 fh = self._runClient("dir .", debug=True) 101 output = fh.read() 102 103 self.assert_(self._findLines(['Received Auth handshake: NDG-Delivery-server %s' % VERSION], output)) 104 105 lines = self._readSyslog() 106 self.assert_(self._findLines(['.*AuthContext received Auth message: NDG-Delivery-client %s' % VERSION], lines)) 107 108 def testPrivateStr(self): 109 """Verify the private string is sent to server. 110 """ 111 112 fh = self._runClient("dir .", privatestr="testPrivateStr") 113 output = fh.read() 114 115 lines = self._readSyslog() 116 self.assert_(self._findLines(['.*AuthContext received privatestr: testPrivateStr'], lines)) 86 117 87 118 def testRetr(self): … … 133 164 def _startServer(self): 134 165 # Start the server and store it's PID 135 self.pid = bbftpd.run(AuthContext(), ['-l', 'DEBUG']) 166 self.authContext = AuthContext() 167 self.pid = bbftpd.run(self.authContext, ['-l', 'DEBUG']) 136 168 137 169 def _stopServer(self): … … 142 174 143 175 144 def _runClient(self, cmd, debug=False, user="testcase" ):176 def _runClient(self, cmd, debug=False, user="testcase", privatestr=None): 145 177 """Run the client. 146 178 """ … … 150 182 else: 151 183 f = "-m" 152 153 fh = os.popen('%s %s -u %s -e %s localhost' % (BBFTP, f, user, repr(cmd))) 184 185 if privatestr == None: 186 p = "" 187 else: 188 p = "-P %s" % repr(privatestr) 189 190 fh = os.popen('%s %s %s -u %s -e %s localhost' % (BBFTP, f, p, user, repr(cmd))) 154 191 return fh 155 192
Note: See TracChangeset
for help on using the changeset viewer.