mirror of the now-defunct rocklinux.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

720 lines
14 KiB

  1. # --- ROCK-COPYRIGHT-NOTE-BEGIN ---
  2. #
  3. # This copyright note is auto-generated by ./scripts/Create-CopyPatch.
  4. # Please add additional copyright information _after_ the line containing
  5. # the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
  6. # the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
  7. #
  8. # ROCK Linux: rock-src/package/base/wu-ftpd/ftpcmd_y_fix.patch
  9. # ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf
  10. #
  11. # This program is free software; you can redistribute it and/or modify
  12. # it under the terms of the GNU General Public License as published by
  13. # the Free Software Foundation; either version 2 of the License, or
  14. # (at your option) any later version. A copy of the GNU General Public
  15. # License can be found at Documentation/COPYING.
  16. #
  17. # Many people helped and are helping developing ROCK Linux. Please
  18. # have a look at http://www.rocklinux.org/ and the Documentation/TEAM
  19. # file for details.
  20. #
  21. # --- ROCK-COPYRIGHT-NOTE-END ---
  22. --- ./src/ftpcmd.y.orig 2003-01-26 17:59:52.000000000 +0100
  23. +++ ./src/ftpcmd.y 2003-01-26 18:03:50.000000000 +0100
  24. @@ -194,7 +194,7 @@
  25. cmd_list: /* empty */
  26. | cmd_list cmd
  27. - = {
  28. + {
  29. fromname = (char *) NULL;
  30. restart_point = 0;
  31. }
  32. @@ -202,14 +202,14 @@
  33. ;
  34. cmd: USER SP username CRLF
  35. - = {
  36. + {
  37. user($3);
  38. if (log_commands)
  39. syslog(LOG_INFO, "USER %s", $3);
  40. free($3);
  41. }
  42. | PASS SP password CRLF
  43. - = {
  44. + {
  45. if (log_commands)
  46. if (anonymous)
  47. syslog(LOG_INFO, "PASS %s", $3);
  48. @@ -220,7 +220,7 @@
  49. free($3);
  50. }
  51. | PORT check_login SP host_port CRLF
  52. - = {
  53. + {
  54. if (log_commands)
  55. syslog(LOG_INFO, "PORT");
  56. /* H* port fix, part B: admonish the twit.
  57. @@ -252,7 +252,7 @@
  58. }
  59. }
  60. | PASV check_login CRLF
  61. - = {
  62. + {
  63. /* Require login for PASV, too. This actually fixes a bug -- telnet to an
  64. unfixed wu-ftpd and type PASV first off, and it crashes! */
  65. if (log_commands)
  66. @@ -265,7 +265,7 @@
  67. #endif
  68. }
  69. | TYPE check_login SP type_code CRLF
  70. - = {
  71. + {
  72. if (log_commands)
  73. syslog(LOG_INFO, "TYPE %s", typenames[cmd_type]);
  74. if ($2)
  75. @@ -305,7 +305,7 @@
  76. }
  77. }
  78. | STRU check_login SP struct_code CRLF
  79. - = {
  80. + {
  81. if (log_commands)
  82. syslog(LOG_INFO, "STRU %s", strunames[$4]);
  83. if ($2)
  84. @@ -320,7 +320,7 @@
  85. }
  86. }
  87. | MODE check_login SP mode_code CRLF
  88. - = {
  89. + {
  90. if (log_commands)
  91. syslog(LOG_INFO, "MODE %s", modenames[$4]);
  92. if ($2)
  93. @@ -335,21 +335,21 @@
  94. }
  95. }
  96. | ALLO check_login SP NUMBER CRLF
  97. - = {
  98. + {
  99. if (log_commands)
  100. syslog(LOG_INFO, "ALLO %d", $4);
  101. if ($2)
  102. reply(202, "ALLO command ignored.");
  103. }
  104. | ALLO check_login SP NUMBER SP R SP NUMBER CRLF
  105. - = {
  106. + {
  107. if (log_commands)
  108. syslog(LOG_INFO, "ALLO %d R %d", $4, $8);
  109. if ($2)
  110. reply(202, "ALLO command ignored.");
  111. }
  112. | RETR check_login SP pathname CRLF
  113. - = {
  114. + {
  115. if (log_commands)
  116. syslog(LOG_INFO, "RETR %s", CHECKNULL($4));
  117. if ($2 && $4 != NULL && !restrict_check($4)) {
  118. @@ -360,7 +360,7 @@
  119. free($4);
  120. }
  121. | STOR check_login SP pathname CRLF
  122. - = {
  123. + {
  124. if (log_commands)
  125. syslog(LOG_INFO, "STOR %s", CHECKNULL($4));
  126. if ($2 && $4 != NULL && !restrict_check($4))
  127. @@ -369,7 +369,7 @@
  128. free($4);
  129. }
  130. | APPE check_login SP pathname CRLF
  131. - = {
  132. + {
  133. if (log_commands)
  134. syslog(LOG_INFO, "APPE %s", CHECKNULL($4));
  135. if ($2 && $4 != NULL && !restrict_check($4))
  136. @@ -378,14 +378,14 @@
  137. free($4);
  138. }
  139. | NLST check_login CRLF
  140. - = {
  141. + {
  142. if (log_commands)
  143. syslog(LOG_INFO, "NLST");
  144. if ($2 && !restrict_check("."))
  145. send_file_list("");
  146. }
  147. | NLST check_login SP STRING CRLF
  148. - = {
  149. + {
  150. if (log_commands)
  151. syslog(LOG_INFO, "NLST %s", $4);
  152. if ($2 && $4 && !restrict_check($4))
  153. @@ -394,7 +394,7 @@
  154. free($4);
  155. }
  156. | LIST check_login CRLF
  157. - = {
  158. + {
  159. if (log_commands)
  160. syslog(LOG_INFO, "LIST");
  161. if ($2 && !restrict_check(".")) {
  162. @@ -410,7 +410,7 @@
  163. }
  164. }
  165. | LIST check_login SP pathname CRLF
  166. - = {
  167. + {
  168. if (log_commands)
  169. syslog(LOG_INFO, "LIST %s", CHECKNULL($4));
  170. if ($2 && $4 != NULL && !restrict_list_check($4)) {
  171. @@ -428,7 +428,7 @@
  172. free($4);
  173. }
  174. | STAT check_login SP pathname CRLF
  175. - = {
  176. + {
  177. if (log_commands)
  178. syslog(LOG_INFO, "STAT %s", CHECKNULL($4));
  179. if ($2 && $4 != NULL && !restrict_check($4))
  180. @@ -437,14 +437,14 @@
  181. free($4);
  182. }
  183. | STAT check_login CRLF
  184. - = {
  185. + {
  186. if (log_commands)
  187. syslog(LOG_INFO, "STAT");
  188. if ($2)
  189. statcmd();
  190. }
  191. | DELE check_login SP pathname CRLF
  192. - = {
  193. + {
  194. if (log_commands)
  195. syslog(LOG_INFO, "DELE %s", CHECKNULL($4));
  196. if ($2 && $4 != NULL && !restrict_check($4))
  197. @@ -453,7 +453,7 @@
  198. free($4);
  199. }
  200. | RNTO check_login SP pathname CRLF
  201. - = {
  202. + {
  203. if (log_commands)
  204. syslog(LOG_INFO, "RNTO %s", CHECKNULL($4));
  205. if ($2 && $4 && !restrict_check($4)) {
  206. @@ -470,21 +470,21 @@
  207. free($4);
  208. }
  209. | ABOR check_login CRLF
  210. - = {
  211. + {
  212. if (log_commands)
  213. syslog(LOG_INFO, "ABOR");
  214. if ($2)
  215. reply(225, "ABOR command successful.");
  216. }
  217. | CWD check_login CRLF
  218. - = {
  219. + {
  220. if (log_commands)
  221. syslog(LOG_INFO, "CWD");
  222. if ($2 && !restrict_check(home))
  223. cwd(home);
  224. }
  225. | CWD check_login SP pathname CRLF
  226. - = {
  227. + {
  228. if (log_commands)
  229. syslog(LOG_INFO, "CWD %s", CHECKNULL($4));
  230. if ($2 && $4 != NULL && !restrict_check($4))
  231. @@ -493,14 +493,14 @@
  232. free($4);
  233. }
  234. | HELP check_login CRLF
  235. - = {
  236. + {
  237. if (log_commands)
  238. syslog(LOG_INFO, "HELP");
  239. if ($2)
  240. help(cmdtab, (char *) NULL);
  241. }
  242. | HELP check_login SP STRING CRLF
  243. - = {
  244. + {
  245. register char *cp = (char *) $4;
  246. if (log_commands)
  247. @@ -521,14 +521,14 @@
  248. free($4);
  249. }
  250. | NOOP check_login CRLF
  251. - = {
  252. + {
  253. if (log_commands)
  254. syslog(LOG_INFO, "NOOP");
  255. if ($2)
  256. reply(200, "NOOP command successful.");
  257. }
  258. | MKD check_login SP pathname CRLF
  259. - = {
  260. + {
  261. if (log_commands)
  262. syslog(LOG_INFO, "MKD %s", CHECKNULL($4));
  263. if ($2 && $4 != NULL && !restrict_check($4))
  264. @@ -537,7 +537,7 @@
  265. free($4);
  266. }
  267. | RMD check_login SP pathname CRLF
  268. - = {
  269. + {
  270. if (log_commands)
  271. syslog(LOG_INFO, "RMD %s", CHECKNULL($4));
  272. if ($2 && $4 != NULL && !restrict_check($4))
  273. @@ -546,14 +546,14 @@
  274. free($4);
  275. }
  276. | PWD check_login CRLF
  277. - = {
  278. + {
  279. if (log_commands)
  280. syslog(LOG_INFO, "PWD");
  281. if ($2)
  282. pwd();
  283. }
  284. | CDUP check_login CRLF
  285. - = {
  286. + {
  287. if (log_commands)
  288. syslog(LOG_INFO, "CDUP");
  289. if ($2)
  290. @@ -564,14 +564,14 @@
  291. }
  292. | SITE check_login SP HELP CRLF
  293. - = {
  294. + {
  295. if (log_commands)
  296. syslog(LOG_INFO, "SITE HELP");
  297. if ($2)
  298. help(sitetab, (char *) NULL);
  299. }
  300. | SITE check_login SP HELP SP STRING CRLF
  301. - = {
  302. + {
  303. if (log_commands)
  304. syslog(LOG_INFO, "SITE HELP %s", $6);
  305. if ($2)
  306. @@ -580,7 +580,7 @@
  307. free($6);
  308. }
  309. | SITE check_login SP UMASK CRLF
  310. - = {
  311. + {
  312. mode_t oldmask;
  313. if (log_commands)
  314. @@ -592,7 +592,7 @@
  315. }
  316. }
  317. | SITE check_login SP UMASK SP octal_number CRLF
  318. - = {
  319. + {
  320. mode_t oldmask;
  321. struct aclmember *entry = NULL;
  322. int ok = 1;
  323. @@ -620,7 +620,7 @@
  324. }
  325. }
  326. | SITE check_login SP CHMOD SP octal_number SP pathname CRLF
  327. - = {
  328. + {
  329. struct aclmember *entry = NULL;
  330. int ok = (anonymous ? 0 : 1);
  331. @@ -670,7 +670,7 @@
  332. free($8);
  333. }
  334. | SITE check_login SP IDLE CRLF
  335. - = {
  336. + {
  337. if (log_commands)
  338. syslog(LOG_INFO, "SITE IDLE");
  339. if ($2)
  340. @@ -679,7 +679,7 @@
  341. timeout_idle, timeout_maxidle);
  342. }
  343. | SITE check_login SP IDLE SP NUMBER CRLF
  344. - = {
  345. + {
  346. if (log_commands)
  347. syslog(LOG_INFO, "SITE IDLE %d", $6);
  348. if ($2)
  349. @@ -694,7 +694,7 @@
  350. }
  351. }
  352. | SITE check_login SP GROUP SP username CRLF
  353. - = {
  354. + {
  355. #ifndef NO_PRIVATE
  356. if (log_commands)
  357. syslog(LOG_INFO, "SITE GROUP %s", $6);
  358. @@ -704,7 +704,7 @@
  359. #endif /* !NO_PRIVATE */
  360. }
  361. | SITE check_login SP GPASS SP password CRLF
  362. - = {
  363. + {
  364. #ifndef NO_PRIVATE
  365. if (log_commands)
  366. syslog(LOG_INFO, "SITE GPASS password");
  367. @@ -714,7 +714,7 @@
  368. #endif /* !NO_PRIVATE */
  369. }
  370. | SITE check_login SP GPASS CRLF
  371. - = {
  372. + {
  373. #ifndef NO_PRIVATE
  374. if (log_commands)
  375. syslog(LOG_INFO, "SITE GPASS");
  376. @@ -723,7 +723,7 @@
  377. #endif /* !NO_PRIVATE */
  378. }
  379. | SITE check_login SP NEWER SP STRING CRLF
  380. - = {
  381. + {
  382. if (log_commands)
  383. syslog(LOG_INFO, "SITE NEWER %s", $6);
  384. #ifdef SITE_NEWER
  385. @@ -735,7 +735,7 @@
  386. free($6);
  387. }
  388. | SITE check_login SP NEWER SP STRING SP pathname CRLF
  389. - = {
  390. + {
  391. if (log_commands)
  392. syslog(LOG_INFO, "SITE NEWER %s %s", $6,
  393. CHECKNULL($8));
  394. @@ -750,7 +750,7 @@
  395. free($8);
  396. }
  397. | SITE check_login SP MINFO SP STRING CRLF
  398. - = {
  399. + {
  400. if (log_commands)
  401. syslog(LOG_INFO, "SITE MINFO %s", $6);
  402. #ifdef SITE_NEWER
  403. @@ -762,7 +762,7 @@
  404. free($6);
  405. }
  406. | SITE check_login SP MINFO SP STRING SP pathname CRLF
  407. - = {
  408. + {
  409. if (log_commands)
  410. syslog(LOG_INFO, "SITE MINFO %s %s", $6,
  411. CHECKNULL($8));
  412. @@ -777,7 +777,7 @@
  413. free($8);
  414. }
  415. | SITE check_login SP INDEX SP STRING CRLF
  416. - = {
  417. + {
  418. /* this is just for backward compatibility since we
  419. * thought of INDEX before we thought of EXEC
  420. */
  421. @@ -792,7 +792,7 @@
  422. free($6);
  423. }
  424. | SITE check_login SP EXEC SP STRING CRLF
  425. - = {
  426. + {
  427. if (!restricted_user && $2 != 0 && $6 != NULL) {
  428. (void) site_exec((char *) $6);
  429. }
  430. @@ -801,7 +801,7 @@
  431. }
  432. | STOU check_login SP pathname CRLF
  433. - = {
  434. + {
  435. if (log_commands)
  436. syslog(LOG_INFO, "STOU %s", CHECKNULL($4));
  437. if ($2 && $4 && !restrict_check($4))
  438. @@ -810,7 +810,7 @@
  439. free($4);
  440. }
  441. | SYST check_login CRLF
  442. - = {
  443. + {
  444. if (log_commands)
  445. syslog(LOG_INFO, "SYST");
  446. if ($2)
  447. @@ -834,7 +834,7 @@
  448. * using with RESTART (we just count bytes).
  449. */
  450. | SIZE check_login SP pathname CRLF
  451. - = {
  452. + {
  453. if (log_commands)
  454. syslog(LOG_INFO, "SIZE %s", CHECKNULL($4));
  455. if ($2 && $4 && !restrict_check($4)) {
  456. @@ -854,7 +854,7 @@
  457. * not necessarily 3 digits)
  458. */
  459. | MDTM check_login SP pathname CRLF
  460. - = {
  461. + {
  462. if (log_commands)
  463. syslog(LOG_INFO, "MDTM %s", CHECKNULL($4));
  464. if ($2 && $4 && !restrict_check($4)) {
  465. @@ -879,7 +879,7 @@
  466. free($4);
  467. }
  468. | QUIT CRLF
  469. - = {
  470. + {
  471. if (log_commands)
  472. syslog(LOG_INFO, "QUIT");
  473. #ifdef TRANSFER_COUNT
  474. @@ -893,13 +893,13 @@
  475. dologout(0);
  476. }
  477. | error CRLF
  478. - = {
  479. + {
  480. yyerrok;
  481. }
  482. ;
  483. rcmd: RNFR check_login SP pathname CRLF
  484. - = {
  485. + {
  486. if (log_commands)
  487. syslog(LOG_INFO, "RNFR %s", CHECKNULL($4));
  488. @@ -912,7 +912,7 @@
  489. free($4);
  490. }
  491. | REST check_login SP byte_size CRLF
  492. - = {
  493. + {
  494. if (log_commands)
  495. syslog(LOG_INFO, "REST %d", (int) restart_point);
  496. if ($2) {
  497. @@ -924,14 +924,14 @@
  498. }
  499. | SITE check_login SP ALIAS CRLF
  500. - = {
  501. + {
  502. if (log_commands)
  503. syslog(LOG_INFO, "SITE ALIAS");
  504. if ($2)
  505. alias((char *) NULL);
  506. }
  507. | SITE check_login SP ALIAS SP STRING CRLF
  508. - = {
  509. + {
  510. if (log_commands)
  511. syslog(LOG_INFO, "SITE ALIAS %s", $6);
  512. if ($2)
  513. @@ -940,21 +940,21 @@
  514. free($6);
  515. }
  516. | SITE check_login SP GROUPS CRLF
  517. - = {
  518. + {
  519. if (log_commands)
  520. syslog(LOG_INFO, "SITE GROUPS");
  521. if ($2)
  522. print_groups();
  523. }
  524. | SITE check_login SP CDPATH CRLF
  525. - = {
  526. + {
  527. if (log_commands)
  528. syslog(LOG_INFO, "SITE CDPATH");
  529. if ($2)
  530. cdpath();
  531. }
  532. | SITE check_login SP CHECKMETHOD SP method CRLF
  533. - = {
  534. + {
  535. if (log_commands)
  536. syslog(LOG_INFO, "SITE CHECKMETHOD %s", CHECKNULL($6));
  537. if (($2) && ($6 != NULL))
  538. @@ -963,14 +963,14 @@
  539. free($6);
  540. }
  541. | SITE check_login SP CHECKMETHOD CRLF
  542. - = {
  543. + {
  544. if (log_commands)
  545. syslog(LOG_INFO, "SITE CHECKMETHOD");
  546. if ($2)
  547. ShowCheckMethod();
  548. }
  549. | SITE check_login SP CHECKSUM SP pathname CRLF
  550. - = {
  551. + {
  552. if (log_commands)
  553. syslog(LOG_INFO, "SITE CHECKSUM %s", CHECKNULL($6));
  554. if (($2) && ($6 != NULL) && (!restrict_check($6)))
  555. @@ -979,7 +979,7 @@
  556. free($6);
  557. }
  558. | SITE check_login SP CHECKSUM CRLF
  559. - = {
  560. + {
  561. if (log_commands)
  562. syslog(LOG_INFO, "SITE CHECKSUM");
  563. if ($2)
  564. @@ -991,7 +991,7 @@
  565. ;
  566. password: /* empty */
  567. - = {
  568. + {
  569. $$ = (char *) malloc(1);
  570. $$[0] = '\0';
  571. }
  572. @@ -1002,7 +1002,7 @@
  573. ;
  574. host_port: NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER
  575. - = {
  576. + {
  577. register char *a, *p;
  578. a = (char *) &cliaddr;
  579. @@ -1017,91 +1017,91 @@
  580. ;
  581. form_code: N
  582. - = {
  583. + {
  584. $$ = FORM_N;
  585. }
  586. | T
  587. - = {
  588. + {
  589. $$ = FORM_T;
  590. }
  591. | C
  592. - = {
  593. + {
  594. $$ = FORM_C;
  595. }
  596. ;
  597. type_code: A
  598. - = {
  599. + {
  600. cmd_type = TYPE_A;
  601. cmd_form = FORM_N;
  602. }
  603. | A SP form_code
  604. - = {
  605. + {
  606. cmd_type = TYPE_A;
  607. cmd_form = $3;
  608. }
  609. | E
  610. - = {
  611. + {
  612. cmd_type = TYPE_E;
  613. cmd_form = FORM_N;
  614. }
  615. | E SP form_code
  616. - = {
  617. + {
  618. cmd_type = TYPE_E;
  619. cmd_form = $3;
  620. }
  621. | I
  622. - = {
  623. + {
  624. cmd_type = TYPE_I;
  625. }
  626. | L
  627. - = {
  628. + {
  629. cmd_type = TYPE_L;
  630. cmd_bytesz = NBBY;
  631. }
  632. | L SP byte_size
  633. - = {
  634. + {
  635. cmd_type = TYPE_L;
  636. cmd_bytesz = $3;
  637. }
  638. /* this is for a bug in the BBN ftp */
  639. | L byte_size
  640. - = {
  641. + {
  642. cmd_type = TYPE_L;
  643. cmd_bytesz = $2;
  644. }
  645. ;
  646. struct_code: F
  647. - = {
  648. + {
  649. $$ = STRU_F;
  650. }
  651. | R
  652. - = {
  653. + {
  654. $$ = STRU_R;
  655. }
  656. | P
  657. - = {
  658. + {
  659. $$ = STRU_P;
  660. }
  661. ;
  662. mode_code: S
  663. - = {
  664. + {
  665. $$ = MODE_S;
  666. }
  667. | B
  668. - = {
  669. + {
  670. $$ = MODE_B;
  671. }
  672. | C
  673. - = {
  674. + {
  675. $$ = MODE_C;
  676. }
  677. ;
  678. pathname: pathstring
  679. - = {
  680. + {
  681. /*
  682. * Problem: this production is used for all pathname
  683. * processing, but only gives a 550 error reply.
  684. @@ -1193,7 +1193,7 @@
  685. ;
  686. octal_number: NUMBER
  687. - = {
  688. + {
  689. register int ret, dec, multby, digit;
  690. /*
  691. @@ -1218,7 +1218,7 @@
  692. ;
  693. check_login: /* empty */
  694. - = {
  695. + {
  696. if (logged_in)
  697. $$ = 1;
  698. else {