FTP소스 수정에 대해 질문으 드리겠습니다.(YACC & LEX 에 대한 내용포함)

anaud2의 이미지

안녕하세요

공개용 FTP 소스를 가지고 조금 변형을 시키기 위해 애쓰고 있는 개발 초보자입니다.
일단 logdeamon 5.7을 사용하고 있구요 이파일은 5년 정도 전 모델입니다. 모델을 선정하게 된데는 사유가 있구요

본론으로 들어가면 조금 넋두리가 될지 모르겠는데요 답답해서 ㅠ
소스를 편집하다가 보니 기본 아이디와 비밀번호 를 입력을 받는단계는 괜찮은데 아이디를 한번더 입력을 받아야 해서요
아이디 비번 인증이 원래 방식인데
ex1)
Connected to 192.168.1.7.
220 RHL4 FTP server (Version 4.338 Fri Oct 24 15:47:48 KST 2008) ready.
Name (192.168.1.7:anaud2):
//아이디 입력
/ex2)
331 Password required for anaud2.
Password:
//비번입력

여기서 비밀번호를 한번더 입력을 받아야 하기에
scanf 라던지...getpass등등을 사용해봤지만 입력단계로 있는게 아니라 멈춰있다가 연결이 끊기네요
제가 이해가 안되는 점은 소스의 main문에서는

for(;;)
   yyparse();

위처럼 되어 있습니다. YACC & LEX를 사용하는거 같은데요 아이디를 입력을 하면 user()라는 함수가 호출이 되고 비번을 입력을 하면 pass()함수가
호출이 되어서 아이디와 비번을 판단을 하더라구요 main이 있는 소스파일에는 user나 pass를 호출하는 부분이 전혀 없습니다.
yycc&lex는 봤는데 일반 c와 같지 않고 복잡하더라구요...
2번째 비밀번호를 받는 부분을 전pass()에서 scanf나 getpass를 추가 시켜봤는데 이해가 되질 않게...입력단계로 있지않고 잠시 멈췄다가
접속이 끊기네요(확인은 다른 컴퓨터에서 ftp를 걸고 있습니다...자체 실행이 되질 않더라구요)

일이 안풀려서 넋두리처럼 해봤습니다. 이해도 되질않고..모든 입력을 yacc&lex를 사용하는거 같네요...

cppig1995의 이미지

그냥 입력은 전역 변수에 있고 그걸 해석하기만 하는 역할을 하는 함수라고 생각하시면 편할 것 같습니다.



한말글 프로그래밍 언어 "열정" http://me-lang.wo.tc

Real programmers /* don't */ comment their code.
If it was hard to write, it should be /* hard to */ read.

anaud2의 이미지

입력은 전역변수에 있다 그건 main문안에 변수에 입력 된걸 yacc가 해석한다...

yacc가 전역변수라고 생각하고 lex가 그걸 해석한다 라고 생각하면 될까요?

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.