aboutsummaryrefslogtreecommitdiff
path: root/src/gpg.c
AgeCommit message (Collapse)AuthorFiles
2011-05-11Remove save-cwd.Sergey Poznyakoff1
* src/pushd.c: New file. * src/Makefile.am: Add pushd.c * src/wydawca.h (push_dir, pop_dir): New functions. * src/diskio.c: Use push_dir/pop_dir. * src/exec.c: Likewise. * src/gpg.c: Likewise. * gnulib.modules: Remove save-cwd. * tests/pushck.c: New file. * tests/pushdir.at: New file. * tests/testsuite.at: Add pushdir.at * tests/Makefile.am: Likewise. * tests/.gitignore: Add pushck.
2010-01-03Do not pass spool as a separate parameter, register it early in the triplet.Sergey Poznyakoff1
* src/directive.c (process_directives): Remove spool parameter. * src/gpg.c (verify_directive_signature) (verify_detached_signature): Remove spool parameter. * src/process.c (scan_spool_unlocked): Update call to register_file. * src/triplet.c (register_file): Take spool ptr as second argument. (triplet_processor): Ignore proc_data. (enumerate_triplets): Pass NULL as proc_data. * src/verify.c (verify_directive_file): Remove spool parameter. * src/wydawca.h (ASGN_SPOOL): New macro. (register_file, verify_directive_file) (verify_directive_signature, verify_detached_signature) (process_directives): Remove spool parameter. * src/getopt.m4 (print_help): Minor fix.
2010-01-02Implement distribution tarball checking.Sergey Poznyakoff1
* src/config.c (event_args): New event "check-failure" (event_types): New event type ev_check_fail. (spool_kw,wydawca_kw): New keyword check-script. * src/directive.c (save_script) (stderr_redirector,run_check_script): New functions. (external_check): New function. (process_directives): Call external_check before actually moving the files. * src/gpg.c (homedir): Rename to temp_homedir, now global. * src/net.c (trim_crlf): Remove static qualifier. * src/triplet.c (hash_triplet_free): Free check_diag. (expand_triplet_full,expand_triplet_upload) (expand_triplet_sig,expand_triplet_directive): Rename to expand_triplet_ls_full,expand_triplet_ls_upload, expand_triplet_ls_sig,expand_triplet_ls_directive, correspondigly. (expand_check_diagn,expand_check_result) (expand_triplet_dist,expand_triplet_sig) (expand_triplet_dir): New functions. (triplet_meta): Renames: triplet:full => triplet:ls:full triplet:upload => triplet:ls:upload triplet:dist => triplet:ls:dist triplet:sig => triplet:ls:sig triplet:dir => triplet:ls:dir New keywords: triplet:dist, triplet:sig, triplet:dir, check:result, check:diagn. * src/wydawca.c (default_check_script): New global. (stat_name): New statistics counter "check failures". * src/wydawca.h (struct file_triplet): New members check_result, check_diag. (struct spool): New member check_script. (wydawca_stat): New value STAT_CHECK_FAIL. (notification_event): New value ev_check_fail. (default_check_script, temp_homedir): New externs. (concat_dir, copy_file, trim_crlf): New protos. * doc/wydawca.texi: Update. * configure.ac, NEWS: Version 2.0.90
2010-01-01Happy new year!Sergey Poznyakoff1
Updated year in copyright statements.
2009-12-08Implement GPG signing of the outgoing notifications.Sergey Poznyakoff1
* src/config.c (mail_statistics_kw): New keyword gpg-sign. (notify_event_kw): Likewise. (wydawca_kw): New keyword gpg-homedir. * src/gpg.c (wydawca_gpg_homedir): Rename to create_gpg_homedir. Make static. All uses updated. * src/mail.c (admin_stat_sign_key): New global. (mu_stream_data_read_cb) (gpg_sign, sign_message): New functions. (mail_send_message): Take 3rd argument: ID of the PGP key to sign the message with. All callers updated. (do_notify): Rewrite. * src/wydawca.c (wydawca_gpg_homedir): New variable. * src/wydawca.h (struct notification): New member sign_keys. (admin_stat_sign_key): New extern. (wydawca_gpg_homedir): New extern.
2009-11-30Do not require uploaders to be present in the system passwd database.Sergey Poznyakoff1
* src/wydawca.h (access_method_id): Remove verify_method, gpg_key_method and user_data_method. Add project_uploader_method. (uploader_info): New structure. (struct file_triplet): Remove gid and user data fields. Add uploader_count, uploader_list and uploader. (TRIPLET_GID): Change definition. (verify_directive_signature): Change signature. (uploader_find_frp): New proto. * src/verify.c (extract_plaintext): New function. (fill_project_name): Rewrite. Parse directive file. (uploader_find_frp): New function. (check_access_rights): Remove. (verify_directive_file): Rewrite. * src/config.c (string_to_access_method_id): Reflect changes to the access method system. * src/builtin.c (default_ncol): Reflect changes to the access method system. * src/gpg.c (gpg_sig_ok_p): Remove. (gpg_verify_signature): New function, based on gpg_sig_ok_p. (verify_directive_signature): Remove `pubkey' argument. Register all public keys from the uploader list. Do not call directive_parse, as the directive file must already be parsed by the time the function is called. * src/mail.c (get_uploader_email): New function. (do_notify): Use get_uploader_email for notifying users. * src/triplet.c (hash_triplet_free): Reflect changes to the triplet structure. (format_file_data): Get user name from the system passwd database. (fill_user_data): Remove. (expand_user_real_name, expand_user_email): Reflect changes to struct file_triplet. * tests/etc/wydawca.rcin: Rewrite to reflect new access method system. * tests/mailstats.at, tests/notify-upl.at, tests/upload-dry.at, tests/upload.at: Update.
2009-02-24Initial implementation of daemon mode.Sergey Poznyakoff1
* gconf/gconf-gram.y (string_to_sockaddr_: Take struct gconf_sockaddr as the first argument. * gconf/gconf.h (struct gconf_sockaddr): New data type. * src/job.c, src/net.c, src/pidfile.c: New files. * src/Makefile.am (wydawca_SOURCES): Add job.c, net.c, pidfile.c * src/cmdline.opt: New options: --cron (change semantics), --force, --foreground, --single-process, --spool * src/wydawca.c: New daemon mode. * src/config.c: New statements: spool.alias, daemon, foreground, single-process, wakeup-interval, pidfile, listen * src/directive.c, src/diskio.c, src/gpg.c, src/mail.c, src/null.c, src/process.c, src/triplet.c, src/verify.c, src/vtab.c, src/wydawca.h: use static struct spool wherever feasible. * src/triplet.c: New meta-variable "spool" * tests/etc/wydawca.rcin: Update. * tests/upload-dry.at: Update.
2009-02-23Add missing i18n markersSergey Poznyakoff1
2009-02-22Rename directory_pair to spoolSergey Poznyakoff1
2009-02-21Remove trailing whitespaceSergey Poznyakoff1
2009-02-21Implement per-directory notificationsSergey Poznyakoff1
* src/config.c (default_notification): New static. (cb_notify_event): Explicitly link new notification to the chain. (directory_kw): New keyword "notify-event". (cb_directory): Use previously defined global notifications. * src/mail.c (register_notification): Remove. (notify): Tak a list of notifications to run as an argument. * src/directive.c, src/gpg.c, src/verify.c: Update calls to notify. * src/wydawca.h (struct directory_pair.notification): New member. * tests/notify-upl.at: Define notifications before the directory pair in the configuration file.
2007-09-07UpdateSergey Poznyakoff1
git-svn-id: file:///svnroot/wydawca/trunk@319 6bb4bd81-ecc2-4fd4-a2d4-9571d19c0d33
2007-09-01Initial move from GSCSergey Poznyakoff1
git-svn-id: file:///svnroot/wydawca/trunk@305 6bb4bd81-ecc2-4fd4-a2d4-9571d19c0d33
2007-08-26Implement project owner notifications.Sergey Poznyakoff1
* wydawca/wydawca.c (syslog_printer): Reduce the number of memory reallocations (make_stat_expansion): Update * wydawca/method.c: Implement a new framework: methods may return 2-dimensional arrays of strings. * wydawca/sql.c, wydawca/sql.h: Implement the new method framework. * wydawca/verify.c (expand_param): kw_expansion may provide expansion functions. An additional argument supplies user-defined data for expansions. (escape_kwexp): Extern (free_kwexp): Improve (get_project_name): New function (make_default_kwexp): New function (check_access_rights): Call get_project_name. Use make_default_kwexp to initialize expansions (verify_directive_file): Use make_default_kwexp to initialize expansions * wydawca/wydawca.h (NITEMS): New macro (enum access_method_type): New members: ncol, nrow (struct directory_pair): New members url,project_owner_method, user_data_method (struct file_info): Replace mtime, uid with struct stat sb (struct file_triplet): New members project, dpair, user_data (TRIPLET_UID): Take into account the changes to struct file_info (enum notification_event): New data type (notify_project_owner, notify_admin, notify): New functions (struct kw_expansion): New members static_p, expand and data. (escape_kwexp,make_default_kwexp): New proto (expand_param): Change signature (triplet_expand_param): New function (method_result): Change prototype (method_num_rows,method_num_cols): New functions * wydawca/config.c: New statements project-owner, user-data, admin-address, mail-user, user-message directory can take an optional argument specifying base URL for notification messages * wydawca/gpg.c (verify_directive_signature): Expand directives even if the signature does not match. Useful for notifications. Add notifications. * wydawca/process.c: Add notifications. * wydawca/directive.c: Add notifications * wydawca/wydawca.rc: Update * wydawca/mail.c, wydawca/mail.h: Implement project owner notifications * wydawca/triplet.c (triplet_expand_param): New function * lib/cfg.c (read_cont_line): Fix counting of input lines. git-svn-id: file:///svnroot/wydawca/trunk@297 6bb4bd81-ecc2-4fd4-a2d4-9571d19c0d33
2007-08-25* configure.ac: Require mailutils for wydawcaSergey Poznyakoff1
* bootstrap: Require inttostr and strftime * wydawca/mail.h: New file * wydawca/mail.c: New file * wydawca/Makefile.am: Add mail.c and mail.h * wydawca/wydawca.c: Include mail.h (stat_mask_p, make_stat_expansion): New functions (logstats): Call mail_stats (main): Call initialize mailer subsystem * wydawca/sql.c, wydawca/sql.h: Keep usage reference count. Do not deinitialize unless it falls to 0. Do not initialize if it is > 0. * wydawca/verify.c (expand_param): Rewrite to allow long keywords All callers updated. * wydawca/wydawca.h (struct access_method): Keep reference count (struct directory_pair): verify_method and gpg_key_method are pointers to structs. (struct kw_expansion): kw is char* (count_collected_triplets): New function (method_new): New function * wydawca/config.c: reimplement verify-user and gpg-key New keywords mailer, admin-address, from-address, mail-admin-stat and admin-stat-message * wydawca/process.c: Close methods only when their reference count is 0. * wydawca/method.c: Likewise. (method_new): New function * wydawca/wydawca.rc: Update * wydawca/diskio.c: Minor changes * wydawca/triplet.c (count_collected_triplets): New function * jabberd/main.c: Minor change git-svn-id: file:///svnroot/wydawca/trunk@295 6bb4bd81-ecc2-4fd4-a2d4-9571d19c0d33
2007-08-25Check access rights. Improve statisticsSergey Poznyakoff1
git-svn-id: file:///svnroot/wydawca/trunk@294 6bb4bd81-ecc2-4fd4-a2d4-9571d19c0d33
2007-08-23Improve safety checks; implement symlink/rmsymlink/archive directives; Fix ↵Sergey Poznyakoff1
directive signature verification. git-svn-id: file:///svnroot/wydawca/trunk@286 6bb4bd81-ecc2-4fd4-a2d4-9571d19c0d33
2007-08-22UpdateSergey Poznyakoff1
git-svn-id: file:///svnroot/wydawca/trunk@285 6bb4bd81-ecc2-4fd4-a2d4-9571d19c0d33
2007-08-22Implement all directivesSergey Poznyakoff1
git-svn-id: file:///svnroot/wydawca/trunk@284 6bb4bd81-ecc2-4fd4-a2d4-9571d19c0d33
2007-08-21Implement archiving and backupsSergey Poznyakoff1
git-svn-id: file:///svnroot/wydawca/trunk@282 6bb4bd81-ecc2-4fd4-a2d4-9571d19c0d33
2007-08-20* jabberd/Makefile.am, cvs/Makefile.am, ckaliases/Makefile.am,Sergey Poznyakoff1
acinclude.m4, Makefile.am: Add copyright statements * wydawca/sql.c (trim_length): Move to verify.c * wydawca/verify.c (trim_length, trim) (check_access_rights): New functions (expand_param): Export (verify_triplet): Call verify_directive_format and check_access_rights * wydawca/wydawca.h (trim_length, trim, directive_parse) (directive_get_value, directive_pack_version) (directive_version_in_range_p, verify_directive_format) (directive_first, directive_next, process_directives) (create_directory, move_file): New functions (MIN_DIRECTIVE_VERSION,MAX_DIRECTIVE_VERSION) (MKDIR_PERMISSIONS,CREAT_PERMISSIONS): New defines * wydawca/gpg.c (wydawca_gpg_homedir): Return a meaningful value (verify_directive_signature): Call directive_parse * wydawca/process.c (parse_file_name): Return void * wydawca/directive.c: New file * wydawca/diskio.c: New file * wydawca/triplet.c (triplet_processor): Call process_directives (enumerate_triplets): Arg is not const * wydawca/Makefile.am: Add new sources * configure.ac: Check for sendfile git-svn-id: file:///svnroot/wydawca/trunk@281 6bb4bd81-ecc2-4fd4-a2d4-9571d19c0d33
2007-08-19* jabberd/jabberd.h (getmaxfd): moved to gsc.hSergey Poznyakoff1
* jabberd/main.c (stderr_printer): Minor fix * wydawca/triplet.c (triplet_processor): Minor fix * wydawca/verify.c (verify_triplet): Save owner gid in reg. Call verify_detached_signature * wydawca/wydawca.h (struct file_register): New member gid. (verify_detached_signature): New function * wydawca/gpg.c (verify_detached_signature): New function * lib/Makefile.am: Add userprivs.c * lib/userprivs.c: New file git-svn-id: file:///svnroot/wydawca/trunk@280 6bb4bd81-ecc2-4fd4-a2d4-9571d19c0d33
2007-08-19New module: wydawcaSergey Poznyakoff1
git-svn-id: file:///svnroot/wydawca/trunk@279 6bb4bd81-ecc2-4fd4-a2d4-9571d19c0d33

Return to:

Send suggestions and report system problems to the System administrator.